摘要:針對WPA的安全機制存在的缺陷,指出了對其進行攻擊的方法,分析了WinAirCrackPack的攻擊原理。利用WinAirCrackPack等工具對基于WPA-PSK認證方式的WLAN成功破獲了其密鑰,有效驗證了WPA機制存在的安全缺陷。
關鍵詞:WPA;802.1X;TKIP;安全缺陷;字典攻擊
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)33-1351-02
The Design of an Attack base on Limitation of Security Mechanism of WPA
LI Guo-peng,PAN Jin,LI Bo
(Laboratory of Network Safety and Countermeasure, Xi'an Communications Institute, Xi'an 710106, China)
Abstract: After analyzing the authentication system, key management, data encryption algorithm of the WPA-PSK, security flaws in the process of 4-step handshake key consultation is pointed out, the principle ofWinAirCrackpack is analyzed. WinAirCrackPack is used to attack the WLAN based on WPA-PSK, the key is successfully got, which effectively proves the existence of security flaws.
Key words: WPA; 802.1X;TKIP;security flaw;dictionary attack
1 引言
目前,WPA廣泛應用于實際的無線局域網中。它是802.11i的一個子集,是WiFi聯盟于2002年底提出的一種過渡的解決方案。WPA采用兩種認證方式:共享密鑰認證和IEEE 802.1X認證。前者較適用于一些小的企業、家庭、SOHO以及一些公共熱點地區,沒有認證服務器,這種方式也叫做PSK(Pre-Shared Key,預先共享密鑰)模式;后者適用于大型運營商所建立的網絡,由于設置了專門的認證服務器,故可采用802.1X認證。
WPA沒有從根本上解決802.11b網絡的安全問題,它存在諸多安全缺陷。本文針對WPA安全缺陷易遭受的攻擊進行了研究,分析了進行攻擊的方法,并利用實際的網絡設備和工具,成功實現了對WPA-PSK其密鑰的破獲。
2 基于WPA安全機制的攻擊方法
2.1 中間人攻擊
2.1.1 攻擊原理
802.1x認證者狀態機只發送EAP-request消息和接受EAP-response消息,而申請者狀態機不發送EAP-request消息。故802.1x協議為單向認證協議,即只有對用戶身份的認證,而沒有用戶對認證系統的認證,AP的受控端口需要用戶認證成功后才打開,但用戶的端口卻始終處于已認證狀態,即打開著。這種單向認證機制會使申請者受到中間人攻擊。
EAP/TLS確實能提供相互認證,但802.1x提供的是客戶端和認證服務器之間的雙向認證,而不是客戶端和AP之間的認證,故可以饒過EAP/TLS進行中間人攻擊。
2.1.2 攻擊方法
當認證者從RADIUS服務器收到RADIUS-Access-Accept消息后,就向申請者發送一個EAP-Success消息。這就提示狀態機認證已成功。無論上層認證方法采用EAP-TLS還是EAP-MD5或其它認證,這條消息都沒有完整性保護。申請者的狀態機無條件的轉移到認證完成狀態,因而,攻擊者可以偽造這個數據包來冒充認證者,申請者會把攻擊者當作合法AP,并把數據包發送到這個冒充的認證者。
2.2 會話劫持
2.2.1 攻擊原理
由于802.1x協議是基于端口的認證協議,當申請者通過認證后,就可以經AP接入到網絡中,但AP對每個業務數據包卻并不進行認證,也就是說攻擊者獲取了合法用戶的通道后就可以使用網絡資源。
2.2.2 攻擊方法
首先,合法的申請者進行認證;其次,攻擊者冒充AP的MAC地址發送一條disassociate管理幀給申請者,這使得申請者的狀態為disassociated,RSN狀態機被設置為Unassociated,而802.1x的狀態機為authenticated;最后,攻擊者冒充申請者的MAC地址接入到網絡。
2.3 拒絕服務攻擊
2.3.1 假冒用戶攻擊AP
在802.1x協議中規定,當用戶不再需要認證系統提供的服務,想要斷開連接時,向認證系統發送EAP-Logoff數據包。如果攻擊者假冒用戶,向認證系統發送EAP-Logoff數據包,認證系統被欺騙,關閉受控端口,中止向用戶提供服務。
2.3.2 假冒AP攻擊用戶
在AP和申請者正常的認證過程中,如果對申請者的認證沒有成功,AP會向申請者發送EAP-Failure數據包,表示認證失敗。此時申請者連接狀態處于HELD狀態,直到60s(缺省值)后,才再次嘗試與認證系統進行連接。攻擊者只要每60s向用戶發送EAP-Failure數據包,就可以使用戶始終處于HELD狀態,無法完成認證過程,從而實現拒絕服務攻擊
3 WinAirCrackPack的攻擊原理
在WPA-PSK模式中,PSK并不是經過802.1x認證產生的,而是通過人工分配給每一個用戶的,在四步握手密鑰協商階段,PSK將作為PMK,與AP的ANonce、STA的SNonce、雙方的MAC地址一起通過PRF函數產生PTK,圖1顯示了PTK產生的整個過程,其中輸入為PMK、每一方的當前值和每一方的MAC地址,輸出是4個128位密鑰。
WinAirCrackPack工具包用airodump捕獲了STA和AP四步握手的數據包,然后將現有字典中的密鑰逐個的作為PSK,通過圖3的過程產生一個PTK,然后用新產生PTK與捕獲的PTK比較,如果一致,則為真正的PSK。當然,攻擊成功的前提是攻擊者所用字典文件足夠強大,用戶的PSK已包含在該字典當中,而攻擊成功的速度取決于真正的PSK在字典中的具體位置,位置越靠前,需要測試的密鑰數量就越少,攻擊時間就越短。
如果用戶通過PSK進行開放系統認證,那么我們可以利用WinAirCrackPack工具包對其進行數據分析,從而破獲該無線局域網的密鑰。WinAirCrackPack是一個用于無線局域網數據包捕獲和密鑰破解的工具包,主要包括airodump、airdecap、aircrack等工具。它可以捕獲無線網絡中傳輸的數據包,用以計算WPA-PSK的密鑰。運用WinAirCrackPack對WPA進行破解的基本步驟如圖2所示:

圖1 PTK的產生過程

圖2 密鑰破獲流程

圖3 密鑰破獲界面
4 WPA-PSK的攻擊實現
4.1 攻擊實驗系統組成
攻擊實驗的硬件環境為:選用兩臺裝有無線網卡的電腦作為合法STA1和STA2,一臺電腦作為攻擊者STA3,一臺具有WPA加密功能的AP,實驗采用的無線網卡型號為FW54C,AP型號為TWL542R,無線網卡驅動采用atheros4.2.9。
軟件環境為:所有微機的操作系統采用windows xp系統。入侵者STA3安裝WinAirCrackPack工具包。
4.2 實驗的攻擊過程和結果
1) 將無線路由器的加密類型和方法設置為WPA-PSK認證和TKIP加密方式;
2) 在STA3上運行airodump,該工具用來捕獲數據包,按提示依次選擇“11”,“a”,“6”,“shuju”(該輸入文件名可任意),“n”,回車;
3) 讓STA1重新連接上無線路由器,airodump將捕獲一個無線路由器與STA1四次握手的過程;
4) 啟動WinAircrack;
5) 點擊左側的“General”進行設置,選擇加密類型為“WPA-PSK”,添加捕獲的文件(testwpa.cap);
6) 點擊左側的“WPA”進行設置,選擇一個字典文件;
7) 全部設置完后,點擊右下角的“Aircrack the key”按鈕,經過幾分鐘的計算,最終得到WPA密鑰,如圖3所示。
一旦攻擊者破獲密鑰以后,就享有合法STA對該WLAN的訪問權,攻擊者就可以進行更為深入的攻擊。攻擊者可以利用IPBOOK等工具掃描該WLAN內計算機里面的文件,然后對該文件進行復制或修改,甚至將惡意病毒植入其計算機等,后果不堪設想。
5 結束語
該文針對WPA的安全機制攻擊進行了的分析,并在實際的網絡中,運用WinAirCrackPack工具包對基于WPA-PSK認證方式的無線局域網進行了攻擊,成功破獲了其密鑰。該攻擊的成功有力的證實了WPA-PSK漏洞的存在,而且該攻擊具有可實現性,這對廣大使用WPA的用戶來講,無疑是最好的警醒。在目前WPA已經廣泛使用的情況下,如何保障用戶無線接入的安全性和隱私性,采取行之有效的彌補方法是值得共同研究的課題。
參考文獻:
[1] IEEE Standard 802.1X, IEEE Standard for Local and metropolitan area networks Port-Based Network Access Control[S].
[2] B.Aboba. IETF RFC 3748, Extensible Authentication Protocol[S].
[3] RFC 2246, The TLS Protocol Version 1.0[S].
[4] RFC 2716, PPP EAP TLS Authentication Protocol[S].
[5] ANSI/IEEE Std 802.11i, medium access control(MAC) security enhancements[S].
[6] J.C.Chen,Y.P.Wang. Extensible Authentication Protocol and IEEE 802.lx:Tutorial and Empirical Experience[EB/OL].. http://wire.cs.nthu.edu.tw/wirelx/.html.
[7] 周賢偉,劉寧,譚伯平.IEEE 802.1X協議的認證機制及其改進[J].計算機應用,2006,26(12):2895-2896.
[8] Gregory D Nowicki. Wireless security: The draft IEEE 802.11i standard[EB/OL]. http://www.giac.org/practical/GSEC/Greg_Nowicki_GSEC.pdf.
[9] RomanVichr. Privacy and Wi-Fi[EB/OL]. http://www-106.ibm.com/developerworks/wireless/library/wi-wifi.html.