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