樸東奎
摘要:無線網(wǎng)絡(luò)的公開傳輸特性導(dǎo)致WiFi環(huán)境中的通信存在著極大的安全隱患。文章通過使用Rogue DHCP攻擊方法,對現(xiàn)實(shí)環(huán)境中的家用WiFi安全性進(jìn)行了深入評估分析,進(jìn)一步提出了基于IP沖突的Rogue DHCP攻擊方法,并進(jìn)行了測試驗(yàn)證。結(jié)果表明:被測試廠商在路由器環(huán)境中,Rogue DHCP攻擊都能有效實(shí)施,其中“IP沖突誘導(dǎo)”ARP攻擊會導(dǎo)致Android設(shè)備出現(xiàn)暫時無法使用網(wǎng)絡(luò)的現(xiàn)象,而iOS設(shè)備第一次收到攻擊數(shù)據(jù)包時沒有任何反應(yīng),但收到持續(xù)的攻擊數(shù)據(jù)包時,會導(dǎo)致系統(tǒng)暫時處于無法通信的狀態(tài)。文章最后提出了針對性的解決方案并予以代碼實(shí)現(xiàn)。
關(guān)鍵詞:Rogue DHCP;ARP欺騙;IP沖突
中圖分類號:TP393.0????????? 文獻(xiàn)標(biāo)識碼:A
1 引言
隨著互聯(lián)網(wǎng)的不斷發(fā)展,WiFi無線網(wǎng)絡(luò)憑借著無需布線、便捷接入的特點(diǎn),逐漸成為家庭、辦公環(huán)境中的首選網(wǎng)絡(luò)接入方式。從使用數(shù)量上統(tǒng)計(jì),隨著移動終端用戶規(guī)模的不斷增長和IoT等設(shè)備的不斷普及,WiFi無線網(wǎng)絡(luò)接入技術(shù)已經(jīng)成為當(dāng)前互聯(lián)網(wǎng)終端的主要網(wǎng)絡(luò)接入方式。
然而,不同于由本地交換機(jī)、路由器等提供的傳統(tǒng)有線網(wǎng)絡(luò),WiFi無線網(wǎng)絡(luò)具有物理開放性,其中的節(jié)點(diǎn)難以準(zhǔn)確識別設(shè)備身份。因此,無線網(wǎng)絡(luò)很容易受到監(jiān)聽、劫持等黑客攻擊的影響。
其中,Rogue DHCP 攻擊是一種WiFi無線網(wǎng)絡(luò)中的經(jīng)典攻擊,攻擊者通過偽裝成DHCP服務(wù)器,向DHCP客戶端發(fā)送偽造的網(wǎng)絡(luò)配置信息,欺騙DHCP客戶端。在該攻擊中,攻擊者不僅可以向DHCP客戶端提供任意IP地址,而且還可以偽造DHCP Option值(例如默認(rèn)網(wǎng)關(guān)、默認(rèn)DNS服務(wù)器地址等),攻擊者因此可以任意截獲受害者的流量甚至劫持流量路徑。
為了確認(rèn)在WiFi環(huán)境中Rogue DHCP攻擊的實(shí)際威脅性,對DHCP協(xié)議及其安全機(jī)制進(jìn)行了深入分析,并在研究過程中提出了基于Rogue DHCP攻擊的新攻擊方案。首先,利用IP地址沖突機(jī)制,改進(jìn)了現(xiàn)有攻擊方法,使被動攻擊轉(zhuǎn)換為主動攻擊,有針對性地對已經(jīng)接入無線網(wǎng)絡(luò)的設(shè)備發(fā)起攻擊,擴(kuò)大了攻擊范圍并提高了攻擊效率。然后,在進(jìn)行實(shí)際攻擊實(shí)驗(yàn)的基礎(chǔ)上,設(shè)計(jì)了針對無線網(wǎng)絡(luò)客戶端的安全防御機(jī)制,避免了無線路由器固件難以更新管理的問題。
2 Rogue DHCP 攻擊
由于DHCP協(xié)議沒有驗(yàn)證機(jī)制,協(xié)議容易受到偽造攻擊的影響。鄒承明在論文[1]中提到DHCP沒有從安全角度進(jìn)行設(shè)計(jì):DHCP信息通過明文傳輸;DHCP沒有認(rèn)證機(jī)制,因此DHCP服務(wù)器和客戶端不能確認(rèn)(認(rèn)證)通訊對方的身份。
根據(jù)Mayank Agarwal的論文[2],Rogue DHCP服務(wù)器沒有網(wǎng)絡(luò)管理權(quán)限,只是網(wǎng)絡(luò)中的一個未經(jīng)認(rèn)證的服務(wù)器,這會引起問題:新的客戶端試圖通過DHCPDISCOVER信息的廣播連接,此時信息可能會更早到達(dá)非法的服務(wù)器,如Rogue DHCP服務(wù)器。Rogue DHCP服務(wù)器將比合法的現(xiàn)有服務(wù)器先把DHCPOFFER傳輸?shù)娇蛻舳?,客戶端接受DHCPOFFER響應(yīng)中提供的如默認(rèn)網(wǎng)關(guān)等網(wǎng)絡(luò)配置信息,并將其應(yīng)用到自己的設(shè)備上。通過這些手段,攻擊者可以監(jiān)聽分析客戶端的所有數(shù)據(jù)包,并且任意操作數(shù)據(jù)包的流向。
除此之外,謝杰民在論文[3]中提到,攻擊者可以利用DHCP協(xié)議中的潛在漏洞,通過Rogue DHCP攻擊進(jìn)行一系列其它相關(guān)的惡意網(wǎng)絡(luò)攻擊,如拒絕服務(wù)、中間人攻擊等。
從協(xié)議標(biāo)準(zhǔn)來看,DHCP中的潛在攻擊在RFC2131文件的第七部分和RFC3118中都曾提到過。值得一提的是,使用DHCP協(xié)議中的域名搜索選項(xiàng),攻擊者偽裝為Rogue DHCP服務(wù)器后可以將流量引向其他網(wǎng)站。例如,當(dāng)用戶準(zhǔn)備訪問“myhost.bigco.com”時,可以將其改為訪問“redalection.com”。DNSSEC[RFC2535]無法防止這種情況的發(fā)生,因?yàn)閙yhost.roguedomain.com的Resource Records值已經(jīng)被合法簽署[4]。相對于提供正確DNSServer的攻擊,這種利用域名搜索選項(xiàng)的攻擊更為隱蔽,影響更大。
3 IP沖突與Active Rogue DHCP
IP沖突是指子網(wǎng)內(nèi)存在兩個以上的設(shè)備使用相同的IP地址,造成無法連接網(wǎng)絡(luò)的現(xiàn)象。發(fā)生沖突的設(shè)備可以手動更改或者從DHCP服務(wù)器重新分配得到新的IP地址,從而解決沖突問題。在RFC5227文檔中,S.Cheshire明確定義該地址沖突檢測機(jī)制適用于所有IEEE 802 LANs,不僅可以用在ethernet(802.3)、token-ring(802.5)上,還可適用于無線局域網(wǎng)(802.11)[5]。因此,本文提出了攻擊方法:在WiFi環(huán)境中,攻擊者通過IP地址偽造任意觸發(fā)IP地址沖突,從而將被動等待受害者的Passive Rogue DHCP攻擊轉(zhuǎn)變成為強(qiáng)制要求受害者重新連接Rogue DHCP服務(wù)器、申請新IP的Active Rogue DHCP攻擊。
4 實(shí)驗(yàn)設(shè)計(jì)
實(shí)驗(yàn)環(huán)境如表1所示,程序開始后,因?yàn)樾枰迷继捉幼职l(fā)送定制數(shù)據(jù)包,程序首先確認(rèn)是否獲得Root權(quán)限執(zhí)行,沒有獲得Root權(quán)限時,程序終止。如果按Root權(quán)限執(zhí)行,則程序可通過系統(tǒng)接口獲取攻擊者IP 地址、攻擊者M(jìn)AC地址、Gateway IP地址、Gateway MAC地址等網(wǎng)絡(luò)配置信息,并在屏幕上輸出。如果沒有成功獲得網(wǎng)關(guān)IP 地址,則判斷程序運(yùn)行所在設(shè)備節(jié)點(diǎn)沒有網(wǎng)絡(luò)連接,從而終止程序。如果判斷該網(wǎng)絡(luò)信息已經(jīng)全部獲得,則進(jìn)一步提示攻擊者輸入目標(biāo)的IP地址,攻擊者可以在直接輸入或通過IP掃描獲得的列表中選擇攻擊對象的IP地址。
輸入IP地址以后,程序?qū)⒋_認(rèn)并可以選擇是否掃描目標(biāo)的OS信息。選擇OS信息掃描,可以獲得目標(biāo)IP的OS信息,如操作系統(tǒng)版本、開放端口等,也可以不執(zhí)行掃描,直接進(jìn)行攻擊。攻擊開始后以相關(guān)收集的網(wǎng)絡(luò)信息為基礎(chǔ),構(gòu)建Rogue DHCP服務(wù)器并開始發(fā)送定制的誘導(dǎo)攻擊對象IP沖突的ARP數(shù)據(jù)包。
針對不同廠商的無線路由器進(jìn)行實(shí)驗(yàn),是為了在現(xiàn)實(shí)具體的無線網(wǎng)絡(luò)環(huán)境下驗(yàn)證攻擊的可行性和威脅程度。具體針對表2中13家廠商的路由器為對象進(jìn)行了測試。
5 實(shí)驗(yàn)結(jié)果
經(jīng)過實(shí)驗(yàn),所測試的廠商路由器環(huán)境中,Rogue DHCP攻擊都能有效實(shí)施,“IP沖突誘導(dǎo)”ARP攻擊導(dǎo)致Android設(shè)備出現(xiàn)暫時無法使用網(wǎng)絡(luò)的現(xiàn)象。
其中,值得注意的是針對iOS的實(shí)驗(yàn)結(jié)果。iOS系統(tǒng)第一次收到攻擊數(shù)據(jù)包(碰撞通知ARP)時沒有任何反應(yīng),但收到持續(xù)的攻擊數(shù)據(jù)包時會暫時處于無法通信的狀態(tài)。此時,系統(tǒng)會自動發(fā)送DHCPDECLINE及DHCPDISCOVER,同時也向本網(wǎng)絡(luò)中的DHCP服務(wù)器發(fā)出IP地址更新要求。然而,由于無線網(wǎng)絡(luò)的公開特性,系統(tǒng)的DHCPDISCOVER分組也會被傳輸?shù)焦粽叩腄HCP服務(wù)器上。因此,攻擊者獲得了受害者的信息,并且可以通過偽造DHCPOFFER分組,任意設(shè)定DHCP報(bào)文中的各種網(wǎng)絡(luò)配置選項(xiàng)(如默認(rèn)網(wǎng)關(guān)、默認(rèn)地域系統(tǒng)服務(wù)器)。通過實(shí)際網(wǎng)絡(luò)環(huán)境抓包測試,攻擊者成功收到了受害者發(fā)送的DHCP請求,并偽造了響應(yīng),如圖1所示。
本文所提出的攻擊與已有的De-authentication攻擊方法不相同。De-authentication攻擊時,受害者的操作系統(tǒng)會隨機(jī)連接到已儲存的網(wǎng)絡(luò)配置文件,也就是說將隨機(jī)連接到曾連接過的已知路由器WiFi。但在本文的通過“碰撞分組”進(jìn)行攻擊時,受害者系統(tǒng)只會試圖連接之前連接的路由器WiFi。
6 解決方案
為了解決Rogue DHCP攻擊而導(dǎo)致的WiFi網(wǎng)絡(luò)安全性問題,本文設(shè)計(jì)了針對無線網(wǎng)絡(luò)客戶端的安全防御機(jī)制,如圖2所示。WiFi認(rèn)證開始時,需要從設(shè)備中讀取數(shù)據(jù)并生成認(rèn)證文件,此時用文件填寫的信息是BSSID、ESSID、Subnet、Default Gateway、Default DNS Server、Domain Name等。設(shè)備連接AP時,以BSSID和ESSID為基準(zhǔn),檢測相關(guān)網(wǎng)絡(luò)配置Profile文件是否已經(jīng)存在。如果相關(guān)Profile文件不存在,就保存相關(guān)文件設(shè)置并連接AP;如果相關(guān)Profile文件已存在,則將已有的Profile文件和現(xiàn)在的Profile文件進(jìn)行對比。如果一致,就連接AP;如果不一致,就通過De-authentication傳輸切斷連接,并將變更的事項(xiàng)告知用戶。如果用戶認(rèn)可變更的事項(xiàng)并未連接,則經(jīng)過認(rèn)證后可重新連接;如果用戶不愿意連接,則終止程序。通過以上防御機(jī)制,可以成功地避免無線路由器固件難以更新管理的問題,其機(jī)制運(yùn)行流程如圖3所示。
7 結(jié)束語
本文對WiFi環(huán)境中的底層協(xié)議漏洞進(jìn)行了深入研究,提出利用IP地址沖突將現(xiàn)有Rogue DHCP攻擊的Passive特點(diǎn)轉(zhuǎn)換成Active,并對該攻擊方案進(jìn)行了可行性驗(yàn)證。經(jīng)過在現(xiàn)實(shí)路由器無線網(wǎng)絡(luò)環(huán)境下的具體測試,本文所測試的AP設(shè)備廠商,均受到本文所涉攻擊的影響,說明了本文攻擊的威脅廣泛性。最后,本文提出了基于終端進(jìn)行網(wǎng)絡(luò)配置信息檢測的攻擊防范措施。
參考文獻(xiàn)
[1]?鄒承明,劉攀文,唐星.動態(tài)主機(jī)配置協(xié)議泛洪攻擊在軟件定義網(wǎng)絡(luò)中的實(shí)時防御[J].計(jì)算機(jī)應(yīng)用,2019,39(4):1066-1072.
[2]?Mayank Agarwal,Santosh Biswas,Sukumar Nandi.Discrete Event System Framework for Fault Diagnosis with Measurement Inconsistency:Case Study of Rogue DHCP Attack[J].IEEE/CAA Journal of Automatica Sinica,2019,6(3):789-806.
[3]?謝杰民.關(guān)于DHCP服務(wù)攻擊的安全防護(hù)策略[J].信息與電腦(理論版),2018(18):199-200.
[4]?楊禮.基于eNSP的DHCP原理設(shè)計(jì)與分析[J].新疆師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2019,38(1):85-90.
[5]?繆振龍.解決局域網(wǎng)IP地址沖突故障[J].網(wǎng)絡(luò)安全和信息化,2019(5):145-146.