◆楊春雷 銀 偉 邢國強
802.11無線網(wǎng)絡(luò)拒絕服務(wù)攻擊與安全防護技術(shù)研究
◆楊春雷 銀 偉 邢國強
(95899部隊 北京 100085)
802.11網(wǎng)絡(luò)因開放信道、控制幀/管理幀缺乏認證手段等原因,容易遭受拒絕服務(wù)攻擊。研究針對802.11網(wǎng)絡(luò)的拒絕服務(wù)攻擊技術(shù),包括偽冒攻擊、資源消耗攻擊、協(xié)議漏洞攻擊和信道干擾技術(shù)等。同時研究相應(yīng)的安全防護機制,包括低開銷的系統(tǒng)級別的安全防護手段、信號圖譜、難題策略、信道變更、空間避讓、哈希技術(shù)等。
拒絕服務(wù)攻擊;安全防護;DoS;無線網(wǎng)絡(luò)安全;802.11網(wǎng)絡(luò)
隨著802.11無線網(wǎng)絡(luò)的廣泛應(yīng)用,安全問題成為無線網(wǎng)絡(luò)的研究熱點方向。雖然目前有部分研究工作關(guān)注安全協(xié)議和密鑰交換機制[1,2,3],但是,802.11網(wǎng)絡(luò)仍然面臨拒絕服務(wù)攻擊威脅,因為這些攻擊在安全協(xié)議啟動之前就可以實施。針對802.11網(wǎng)絡(luò)的攻擊可以分別三大類:私密性攻擊、完整性攻擊和可用性攻擊。拒絕服務(wù)攻擊的目的是阻止合法的客戶訪問網(wǎng)絡(luò)資源,這類攻擊經(jīng)常伴隨更加嚴(yán)重的攻擊,例如構(gòu)建虛假的接入點,引誘客戶端進行連接。目前大多數(shù)安全研究都集中在針對私密性和完整性的攻擊,很少有研究關(guān)注拒絕服務(wù)攻擊。但是,隨著802.11在家庭和商業(yè)上的廣泛部署,拒絕服務(wù)攻擊越來越占據(jù)主導(dǎo)位置。而且目前沒有有效的方法能阻止拒絕服務(wù)攻擊。
無線網(wǎng)絡(luò)的開放信道特征使得它比有線網(wǎng)絡(luò)更容易遭受拒絕服務(wù)攻擊[4]。目前研究人員主要聚焦針對802.11網(wǎng)絡(luò)介質(zhì)訪問層和物理層的拒絕服務(wù)攻擊[4,5]。但是,大多數(shù)工作都在研究拒絕服務(wù)攻擊是如何實施的,而極少關(guān)注對抗拒絕服務(wù)攻擊的方法。
在802.11網(wǎng)絡(luò)中,有三種類型的幀,包括數(shù)據(jù)幀、控制幀和管理幀,數(shù)據(jù)幀封裝了上層協(xié)議的數(shù)據(jù)??刂茙瑢?shù)據(jù)報文的傳遞起到輔助作用,比如預(yù)約信道、確保數(shù)據(jù)幀可靠傳遞等。管理幀起到管理網(wǎng)絡(luò)的作用,例如加入和離開某個無線網(wǎng)絡(luò)。表一列出了一些管理幀和控制幀。早期,控制幀和管理幀都沒有經(jīng)過認證,因此很容易受到拒絕服務(wù)攻擊。后來802.11w提出使用信息完整碼對管理幀進行簽名,防止管理幀被偽造,但是這種機制要求事先建立共享密鑰才能起到保護管理幀的作用,那么,在共享密鑰交換之前的管理幀仍然面臨被偽造的威脅。本文將面向802.11網(wǎng)絡(luò),研究針對管理幀和控制幀的拒絕服務(wù)攻擊和防范技術(shù)。
表1 802.11網(wǎng)絡(luò)管理幀與控制幀
拒絕服務(wù)攻擊目的是阻止合法節(jié)點正常訪問網(wǎng)絡(luò)資源。MAC層的拒絕服務(wù)攻擊可以劃分為假冒攻擊,資源耗盡攻擊和介質(zhì)訪問攻擊。在假冒攻擊中,攻擊者假冒客戶或者無線接入點實施攻擊行為。在資源耗盡中,攻擊者產(chǎn)生大量的隨機MAC地址,發(fā)送大量請求,目的是消耗共享的網(wǎng)絡(luò)資源。在介質(zhì)訪問攻擊中,攻擊目標(biāo)為802.11 分布式協(xié)同功能(DCF),常見攻擊方式是信道阻塞攻擊。另一種攻擊劃分方式是基于網(wǎng)絡(luò)層來劃分。在本文中,我們主要聚焦物理層與MAC層。
在偽冒攻擊中,攻擊者偽裝成客戶端或者無線接入點的MAC地址實施攻擊。由于無線信道的開放性,攻擊者能夠很容易嗅探到數(shù)據(jù)幀,從而獲得網(wǎng)絡(luò)中節(jié)點的身份信息,進而使用驅(qū)動軟件來偽裝成這些身份。這類攻擊主要有以下幾種方式。
1.1.1解除認證攻擊
在開始通信之前,802.11客戶端需要在無線接入點處進行認證。另外,客戶端和無線接入點之間通過交換解除認證請求消息來解除認證。該消息沒有受到密碼體制的保護,很容易被偽造。利用這個漏洞,攻擊者就可以攻擊無線接入點或者客戶端,迫使無線接入點和客戶端退出已認證狀態(tài),拒絕后續(xù)的數(shù)據(jù)報文。如果持續(xù)進行解除認證攻擊,客戶端就無法連接到網(wǎng)絡(luò)中。通過這種方式可以攻擊BSS中任意一個或者所有的客戶端[5]。Airjack, Void11及KisMAC工具都具備該功能。
1.1.2解除連接攻擊
類似地,上述方法也可以攻擊認證之后的連接建立協(xié)議。802.11標(biāo)準(zhǔn)只允許客戶端與一個無線接入點建立連接關(guān)系。與認證協(xié)議相似,客戶端或者無線接入點通過發(fā)送解除連接關(guān)系請求來解除連接關(guān)系。這個請求沒有經(jīng)過認證體制保護,因此容易被偽造。通過這種攻擊方式可以達到同攻擊認證協(xié)議一樣的效果。
1.1.3節(jié)省能量攻擊
為了節(jié)省能量,802.11客戶端能夠在不需要發(fā)送和接收數(shù)據(jù)時啟動休眠模式。在這段時間內(nèi),無線接入點會緩存去往該客戶端的報文,直到客戶端向接入點發(fā)送Polling請求數(shù)據(jù)。攻擊者偽造客戶端的身份向接入點發(fā)送Polling報文,導(dǎo)致接入點向客戶端發(fā)送數(shù)據(jù)報文。而客戶端正處于休眠模式,無法接收數(shù)據(jù),所有的報文將會被丟失。TIM(Traffic Indication Map)是信號幀中用于告訴休眠節(jié)點是否有緩存數(shù)據(jù)的報文。攻擊者可以偽造無線接入點向客戶端發(fā)送虛假的TIM,讓客戶端認為在無線接入點處沒有數(shù)據(jù)。節(jié)能模式另一個漏洞源自于用于同步目的的管理幀。同步信息包括TIM間隔和時間戳宣告。偽造管理幀,攻擊者可以迫使客戶端無法與無線接入點進行同步,從而無法在恰當(dāng)?shù)臅r間醒來[5]。
資源消耗攻擊的對象通常是共享的資源,如無線接入點。通過耗盡接入點的處理器和內(nèi)存資源,它將無法向其他合法的客戶端提供服務(wù)。這類攻擊通常后續(xù)伴隨更復(fù)雜的攻擊,例如偽造接入點劫持其余的客戶端。
(1)Probe請求泛洪
在802.11無線網(wǎng)絡(luò)中,客戶端通常使用Probe請求來掃描無線服務(wù)。接入點通常會回應(yīng)Probe請求,并告訴客戶端網(wǎng)絡(luò)參數(shù),便于客戶端后續(xù)連接。攻擊者可以偽裝成很多不同MAC地址的終端,發(fā)送大量的Probe請求報文,這樣會耗盡無線接入點的內(nèi)存和CPU處理時間,使得其無法處理合法的客戶請求[4]。
(2)認證請求泛洪
在認證過程中,為了響應(yīng)認證請求,接入點會為已成功認證的客戶端劃分內(nèi)存用以存儲客戶端的信息。在認證請求泛洪中,攻擊者偽裝成很多具有不同MAC地址的客戶端向接入點發(fā)送認證請求,導(dǎo)致接入點內(nèi)存和CPU的耗盡。通過這種攻擊,接入點無法響應(yīng)合法客戶端的認證請求,導(dǎo)致合法客戶端無法與接入點建立連接并使用網(wǎng)絡(luò)資源。
(3)連接請求泛洪
接入點將客戶端連接請求包含的數(shù)據(jù)存放到內(nèi)存中的連接表中。802.11標(biāo)準(zhǔn)指定該表最多存放2007個連接。當(dāng)這個表溢出時,接入點將拒絕后續(xù)客戶端的連接請求。當(dāng)破解了WEP或WPA2之后,攻擊者偽裝成很多具有不同MAC地址的終端,在接入點通過認證,接著泛洪連接請求,導(dǎo)致連接表溢出]6]。如果無線接入點沒有使用訪問控制列表過濾掉非法的MAC地址,那么攻擊者就很容易發(fā)起認證請求泛洪和連接請求泛洪攻擊。
根據(jù)802.11規(guī)范,接入點在未認證的狀態(tài)下不會響應(yīng)連接請求,但是在現(xiàn)實中發(fā)現(xiàn)很多接入點并沒有這么做,不管有沒有經(jīng)過認證,都會直接響應(yīng)連接請求[4]。
(4)介質(zhì)訪問攻擊
RTS和CTS是802.11控制報文,用來預(yù)約信道,解決隱藏節(jié)點問題。在RTS和CTS幀格式中,有一個信道占用時間宣告字段,用來告訴鄰居節(jié)點信道將會被占用多久。鄰居節(jié)點收到該報文,會讓出這段時間,之后再啟動發(fā)送機制。ACK幀也是802.11控制報文,用來告訴發(fā)送端數(shù)據(jù)已經(jīng)成功投遞,其幀格式也有一個信道占用時間宣告字段,作用與RTS/CTS相同。攻擊者可以不斷注入虛假的RTS/CTS或者ACK幀,通過設(shè)定信道占用時間宣告字段迫使周圍節(jié)點無法發(fā)送數(shù)據(jù)[4,5,7]。
802.1X是認證協(xié)議,主要通過四次握手完成。這個過程基于主密鑰(PMK:Pairwise Master Key)產(chǎn)生臨時密鑰(PTK:Pairwise Transient Key)。攻擊者可以在消息2傳遞完畢后,向客戶端發(fā)送一條偽造的帶有不同隨機數(shù)的消息[8,9],導(dǎo)致客戶端計算出一個新的PTK。那么四次握手就無法進行下去,因為客戶端的PTK與接入點的PTK不同。
TkiP的QoS擴展存在一個漏洞[10]。TKIP密鑰流獨立于幀的優(yōu)先級。另外,計算出的消息完整性校驗碼(MIC)取決于幀的優(yōu)先級。如果我們捕獲到一個優(yōu)先級別為x的幀,但是使用優(yōu)先級y重放它。假定y的TSC序列號小于重放幀的TSC序列號,那么重放幀會通過TSC校驗,接收端會使用正確的密鑰流對該重放幀進行解碼。同樣,它也能通過ICV完整性校驗,因為ICV完整性校驗只是CRC校驗和。但是,優(yōu)先級的改變導(dǎo)致接受者期望一個不同的消息完整性碼(MIC)。因此MIC校驗會失敗。第二次重放這個幀會觸發(fā)第二次MIC校驗失敗,導(dǎo)致接入點關(guān)閉TKIP數(shù)據(jù)交換一分鐘。每隔一分鐘重復(fù)這個過程就會導(dǎo)致拒絕服務(wù)攻擊。
持續(xù)干擾器[11]不停的向外發(fā)送噪音。噪音包括隨機陡增能量或者數(shù)據(jù)報文。但是發(fā)送隨機完整的數(shù)據(jù)報文可能會被入侵檢測系統(tǒng)報警。隨機的陡增能量則可能會被認作為周邊共享同一頻率非802.11設(shè)備產(chǎn)生的。
將一個802.11商業(yè)設(shè)備轉(zhuǎn)換為干擾器,需要作以下工作:(1)禁用載波偵聽機制;(2)重新設(shè)置SIFS等幀間空隙以及禁用退步算法;(3)不等待ACK;(4)在數(shù)據(jù)隊列中注入大量的報文等待發(fā)送。
Bellardo和Savage[5]以實驗的方法對802.11拒絕服務(wù)攻擊進行了研究,并提出了一些輕量級的修改,主要解決兩類拒絕服務(wù)攻擊:身份偽造和介質(zhì)訪問攻擊。身份偽造攻擊包括解除認證攻擊、解除連接攻擊和節(jié)能攻擊。介質(zhì)訪問攻擊包括RTS/CTS偽造帶來的載波偵聽漏洞,主要提出了以下安全防護方法。
(1)延遲響應(yīng)請求
Bellardo和Savage[5]提出延遲響應(yīng)解除認證請求和解除連接請求的方法(通常緩存該請求5到10秒鐘)來對抗解除認證和解除連接攻擊。在這段時間內(nèi),如果接入點收到來自客戶端的數(shù)據(jù)報文,說明解除認證或者解除連接請求是偽造的,因為正常情況下發(fā)送解除認證或者解除連接請求后是不會再發(fā)送數(shù)據(jù)報文的。
(2)限制信道占用時間大小
在RTS/CTS、ACK和數(shù)據(jù)幀中都含有信道占用時間的宣告,Bellardo和Savage[5]提出限制信道占用時間宣告的大小,超過這個值將拒絕更新NAV(network allocation vector)。如果攻擊者持續(xù)發(fā)送偽造的RTS等控制報文,限制大小的方法也會失效。另外,他們還提出對802.11控制報文進行認證,防止它們被偽造,從根本上解決信道占用的問題。
Faria和Cheriton[12]提出使用信號圖譜技術(shù)來對抗偽造身份攻擊。信號圖譜是指接入點對客戶端信號強度的測量值。通過信號圖譜可以更好的識別攻擊者。通常情況下,攻擊者很難像改變MAC地址一樣改變它的信號圖譜。在拒絕服務(wù)攻擊中,大多數(shù)的攻擊都是依靠偽造MAC地址來實施。在實驗中,F(xiàn)aria和Cheriton發(fā)現(xiàn)信號圖譜與客戶端的位置很相關(guān),臨近的客戶端含有相似的信號圖譜。因此,若攻擊者的信號圖譜與被偽冒者的信號圖譜不同,則可以檢測到攻擊。
他們同樣發(fā)現(xiàn)當(dāng)一個靜態(tài)的客戶端突然之間產(chǎn)生大量報文時,這些報文很大概率上會產(chǎn)生相似的信號圖譜。因此,當(dāng)一個攻擊者偽裝成多個MAC地址發(fā)起資源耗盡攻擊時很容易被識別出來。通過信號圖譜,而不是MAC地址或者其他由客戶端提供的信息,接入點能夠根據(jù)能量強度識別客戶端。
Faria和Cheriton[12]主要解決了兩類拒絕服務(wù)攻擊問題。第一類是資源耗盡攻擊,攻擊者發(fā)送大量的認證請求,目的是消耗接入點的資源。第二類是假冒攻擊,攻擊者克隆接入點或者客戶端的MAC地址。如果攻擊者假冒客戶端向接入點發(fā)送解除認證請求,那么比較信號圖譜就能夠檢測到這種攻擊。但是,當(dāng)攻擊者與受害者在地理上互相臨近的時候,信號圖譜就失去作用了。另外,信號圖譜雖然能區(qū)分不同的地理位置,但是難以確定攻擊者的準(zhǔn)確位置。
Martinovic[13]提出在認證之前,客戶端首先得解答一個問題??蛻舳诵枰獋陕犚雅c接入點建立連接關(guān)系的節(jié)點的通信,根據(jù)信號強度是否強于NST(Neighborhood Signal Threshold)確定哪些節(jié)點位于自己周邊,并將這些節(jié)點劃為鄰居。需要把鄰居列表信息也添加到認證請求中。周圍已認證的鄰居收到該請求時,對請求進行校驗。如果請求的信號強度大于NST,但是自己不在列表中,或者請求信號強度小于NST,而自己在列表中,則向接入點發(fā)送一個警告,接入點隨后會拒絕該認證請求。如果攻擊者改變位置和傳輸能量級別,而不觀察周邊節(jié)點通信情況,就會因為鄰居列表信息錯誤而被拒絕認證。同時如果接入點發(fā)現(xiàn)從一個鄰居區(qū)域內(nèi)收到過多的認證請求,也會拒絕后續(xù)的認證請求。這個策略假定無線信號衰減是對稱的。同時鄰居節(jié)點的警告信息能夠?qū)φJ證過程起到關(guān)鍵作用。攻擊者可以偽造鄰居發(fā)送虛假警告信息,導(dǎo)致合法節(jié)點無法通過認證。
Xu等人[14]提出兩個策略防止MAC層和物理層的干擾。第一個是信道變更,也是頻譜逃逸技術(shù)。合法節(jié)點通過改變信道而防止干擾。第二個策略是空間避讓。被干擾的節(jié)點通過移動的方式來逃避干擾。為了檢測信道訪問錯誤,他們提出基于門限的信道偵聽機制來區(qū)分正常的MAC層正常延遲以及惡意行為導(dǎo)致的非正常延遲。如果信道偵聽時間大于門限值,則判定存在拒絕服務(wù)攻擊。
認證請求、解除認證請求、連接建立請求、解除連接請求、Probe探測、信標(biāo)幀Beacon等都是管理報文,被用來發(fā)起或者終止會話。不像數(shù)據(jù)報文可以被加密,管理報文必須被所有的客戶端偵聽到并且理解,它們通常是明文傳遞的。正因為這樣,需要防止攻擊者偽造這些報文。802.11w[15]是為了保護解除認證、解除連接和健壯行為幀而提出的。受到保護的健壯行為幀包括:頻譜管理、QoS、DLS、Block ACK等。802.1X是基于四次握手的認證協(xié)議。在第三條消息中,接入點將IGTK密鑰傳遞給客戶端,用來保護管理報文。使用IGTK密鑰,通信雙方對發(fā)送的管理報文進行哈希,生成消息完整碼MIC(message integrity code)。MIC由通信雙方使用共享密鑰進行哈希生成,確保了攻擊方無法偽造報文,因此能確保管理報文的完整性。
802.11網(wǎng)絡(luò)信道開放,容易遭受拒絕服務(wù)攻擊。本文從偽冒攻擊、資源消耗攻擊、協(xié)議漏洞攻擊和信道干擾技術(shù)等方面研究針對802.11網(wǎng)絡(luò)的拒絕服務(wù)攻擊技術(shù),并對信號圖譜、難題策略、信道變更、空間避讓和哈希技術(shù)等安全防護機制進行綜述。
[1]S. Adam, I. John, and D. R. Aviel, "A key recovery attack on the 802.11b wired equivalent privacy protocol (WEP)," ACM Trans. Inf. Syst. Secur., vol. 7(2), pp. 319-332.
[2]R. F. Scott, M. Itsik, and S. Adi, "Weaknesses in the KeyScheduling Algorithm of RC4", Revised Papers from the 8thAnnual International Workshop on Selected Areas in Cryptography, 2001,pp. Pages,
[3]A. Atul, "Architecture and techniques for diagnosing faults in IEEE 802.11 infrastructure networks," MobiCom '04: Proceedings of the 10th annual international conference on Mobile computing and networking, pp. 30-44.
[4]M. Bernaschi, F. Ferreri, and L. Valcamonici, "Access points vulnerabilities to DoS attacks in 802.11 networks," Wirel. Netw., vol. 14(2), pp. 159-169, 2008.
[5]J. Bellardo and S. Savage, "802.11 denial-of-service attacks: real vulnerabilities and practical solutions," 2003 Location,Berkeley, CA, USA, pp. 15-27, 2003.
[6]Prabhaker Mateti, The Handbook of Information Security. Dayton: John Wiley & Sons, Inc, 2005.
[7]B. Chen and V. Muthukkumarasamy, "Denial of Service Attacks Against 802.11 DCF," in Proceedings of the IADIS International Conference: Applied Computing 2006, 2006 Location, School of Information and Communication Technology, Griffith University, Australia
[8]Changhua He and John C. Mitchell. Analysis of the 802.11i 4-way handshake. In Proceedings of WiSec, pages 43–50, 2004.
[9]Changhua He and John C Mitchell. Security analysis and improvements for ieee 802.11i. In Proceedings of NDSS, pages 90–110, 2005.
[10]Mathy Vanhoef and Frank Piessens. Practical verification of WPA-TKIP vulnerabilities. In Proceedings of AsiaCCS, pages 427–436, 2013.
[11]Mathy Vanhoef and Frank Piessens. Advanced wi-fi attacks using commodity hardware. In Proceedings of ACSAC, pages 256–265, 2014.
[12]B. F. Daniel and R. C. David, "Detecting identity-based attacks in wireless networks using signalprints," in Proceedings of the 5th ACM workshop on Wireless security, 2006 Location,Los Angeles, California, pp. 43-52.
[13]M. Ivan, A. Z. Frank, W. Matthias, W. Christian, and B. S. Jens, "Wireless client puzzles in IEEE 802.11 networks: security by wireless", Proceedings of the first ACM conference on Wireless network security, Alexandria, VA, USA, 2008,
[14]X. Wenyuan, W. Timothy, T. Wade, and Z. Yanyong, "Channel surfing and spatial retreats: defenses against wireless denial of service", Proceedings of the 3rd ACM workshop on Wireless security, Philadelphia, PA, USA, 2004,pp. Pages,
[15]IEEE 802.11w-2009. IEEE standard, 2009.