【權威發布】WiFi網絡WPA2 KRACK漏洞分析報告

2021-02-23 阿里聚安全

作者:東帆@阿里安全技術平臺團隊

————————


0x00 漏洞概述

安全研究員Mathy Vanhoef發現的WPA2協議的KRA(Key Reinstallation Attacks)漏洞,利用WPA2協議標準加密密鑰生成機制上的設計缺陷,四次握手協商加密密鑰過程中第三個消息報文可被篡改重放,導致在用密鑰被重新安裝。

WiFi網絡通過WPA2 handshake四次握手消息協商用於後續數據通信的加密密鑰,其中交互的第三個消息報文被篡改重放,可導致中間人攻擊重置重放計數器(replay counter)及隨機數值(nonce),重放給client端,使client安裝上不安全的加密密鑰。

此漏洞攻擊方式被命名為Key reinstallation attacks密鑰重裝攻擊,除了影響已經在用的數據加密密鑰,同時也影響PeerKey, group key, Fast BSS切換FT握手等,會導致WiFi通信數據加密通道不安全,存在被嗅探、篡改和重放等風險,攻擊者可獲取WiFi網絡中的數據信息。

幾乎所有支持Wi-Fi的設備(Android, Linux, Apple, Windows, OpenBSD, MediaTek, Linksys等)都面臨安全威脅,危害較大。

該漏洞相關影響取決於被攻擊的握手過程和數據加密協議,例如AES-CCMP可被重放和解密,TCP流量存在被劫持和注入惡意流量的可能,WPATKIP和GCMP可被重放、篡改及解密,影響會更大,因為GCMP兩端使用的相同的認證密鑰。

相關CVE如下,其中每個CVE代表一種特定場景下的密鑰重裝攻擊。

l  CVE-2017-13077: 四次握手過程中重裝PTK-TK加密密鑰對

l  CVE-2017-13078: 四次握手過程中重裝GTK

l  CVE-2017-13079: 四次握手過程中重裝IGTK

l  CVE-2017-13080: Group key 握手過程中重裝GTK

l  CVE-2017-13081: 握手過程中重裝IGTK

l  CVE-2017-13082: 接收重傳的快速BSS切換重關聯請求,在處理過程中重安裝PTK-TK加密密鑰對

l  CVE-2017-13084: 在PeerKey握手過程中重安裝STK KEY

l  CVE-2017-13086: 在DTLS握手過程中重安裝TDLS PeerKey

l  CVE-2017-13087: 在處理WNM睡眠模式響應幀過程中重安裝GTK

l  CVE-2017-13088: 在處理WNM睡眠模式響應幀過程中重安裝IGTK

漏洞攻擊演示視頻:

https://www.youtube.com/watch?v=BtdN1SM5Z5o

 

0x01 WPA2協議介紹

WPA全名為Wi-Fi Protected Access,有WPA和WPA2兩個標準, WPA(Wi-Fi Protected Access)加密方式目前有四種認證方式:WPA、WPA-PSK、WPA2、WPA2-PSK,採用的加密算法有兩種:AES(Advanced Encryption Standard高級加密算法)和TKIP(Temporal Key Integrity Protocol臨時密鑰完整性協議)。

由於WEP已被證明為不安全的協議,在802.11i協議完善前,採用WPA為用戶提供一個臨時性的解決方案。該標準的數據加密採用TKIP協議(Temporary Key Integrity Protocol),TKIP的兩個主要功能是:逐包密鑰及消息完整性檢查(MIC),與WEP相同的加密算法RC4來實現這一點,雖然TKIP解決了所有已知的WEP問題,但WPA2的AES加密更安全,適應更廣泛的工業標準並在實踐中廣泛使用。

WPA2是WPA的增強型版本,與WPA相比,WPA2新增了支持AES的加密方式,採用AES加密機制。

 

0x02  Key reinstallation attacks密鑰重裝攻擊

四次握手協商密鑰過程中消息報文見圖1EAPOL格式,其中重放計數replay counter欄位用於檢測重複報文,每次發送一個報文,重放計數加一,nonce欄位為加密密鑰生成所需要的隨機數。

圖1 EAPOL幀簡化報文格式


以group key為例,首先Client進入PTK-INIT狀態,初始化(PMK),當接收到消息1進入PTK_START狀態,client會生成隨機數SNonce,計算臨時TPTK,發送消息2(帶SNonce)到AP,當Client接收到消息3,replay counter重放計數等有效的條件下,進入PTK-NEGOTIATING協商狀態,同時標記TPTK為有效,發送消息4到AP,然後直接進入PTK-DONE狀態,使用MLME-SETKEYS安裝KEY。特別注意的是,此狀態機過程來自於802.11標準,清晰的考慮了未收到消息2或者4的情況,消息1或者3會繼續重傳。具體如下:

2 四次握手狀態機,KEY用MLME-SETKEYS.request命令字進行安裝


當client作為Supplicant加入wifi網絡,client與AP認證端Authenticator進行四次握手協商新的加密密鑰,見下圖3,在接收到四次握手中的第3個消息報文時會安裝新生成的加密密鑰,後續數據通信使用該密鑰進行數據加密。

因為報文可能丟失,如果AP未接收到client的響應會重發第三個消息報文,所以client可能重複接收到第3個消息報文多次。每次當client接收到此消息,都會重新安裝相同的加密密鑰,然後重置協議加密使用到的nonce值及重放計數。


攻擊者可通過嗅探、重放四次握手過程中的第3個消息報文,強制重置協議加密使用到的nonce值及重放計數,重安裝加密密鑰,從而攻擊協議的加密機制,數據報文可被重放、解密及篡改。


該攻擊方法同時可用於攻擊已在使用的加密密鑰、group key、PeerKey, TDLS及快速BSS切換握手等。

圖3 Group Key場景四次握手

0x03 漏洞根因分析及影響

802.11協議標準僅提供描述粗粒度的偽碼描述四次握手的狀態機,但並未清晰描述特定的握手消息應該在什麼時候處理。

密鑰重裝漏洞濫用了消息3重傳的流程,首先在Client和AP之間確定MitM中間人攻擊的點,在AP接收到消息4之前不斷重傳篡改後的消息3,導致Client重新安裝已用的加密密鑰,同時重置nonce值。


實際情況,實施此攻擊的時候,並非所有的Wi-Fi客戶端client都正確實現了此狀態機,Windows和iOS未接收處理消息3的重傳,這違背了802.11標準,所以密鑰重裝漏洞攻擊的時候並未生效產生漏洞,但在group key握手的場景下仍然存在安全漏洞,此外在FT握手情況下仍可能被間接攻擊。

對於Android 6.0影響更大,在此攻擊的情況下,強制使用了可預測全零的加密密鑰。

密鑰重裝漏洞攻擊實際影響如下圖4,第一列代表不同類型的Client客戶端,第2列表示不同Client類型是否接受消息3,第三列表示如果PTK配置,EAPOL消息明文是否接收,第4列表示首個消息3報文快速發送後是否接收明文EAPOL報文,最後兩列表示是否受到此漏洞攻擊的影響。


特別需要注意的,研究者當前並沒有破解Wi-Fi網絡的密碼,也並沒有通過四次握手協商過程的攻擊破解新生成的加密密鑰。

圖4不同Clients的實際漏洞效果

0x04 漏洞影響範圍

此漏洞存在於協議標準設計缺陷,所有支持WPA2的客戶端都受到影響。

攻擊主要面向WPA2客戶端設備。

 

0x05 漏洞安全加固建議

1、 漏洞攻擊需要實施MitM中間人攻擊,條件許可建議合理部署無線入侵防禦系統或者VPN加密,及時監測惡意釣魚WiFi,禁止私搭AP等;

2、 及時升級此漏洞的安全補丁(有補丁的情況),更新WPA2客戶端到最新版本;

3、 僅連接可信wifi,公共場合儘量使用蜂窩行動網路,wifi連接不用的情況下建議禁用,攻擊面最小化。

 

註:

Linux的hostapd和wpa_supplicant補丁已公布,詳見 https://w1.fi/security/2017-1/。

微軟在Windows 10作業系統中發布補丁KB4041676。

蘋果在最新的beta版本iOS等中修復了無線網絡安全漏洞。

 

參考文檔:

[1] https://papers.mathyvanhoef.com/ccs2017.pdf

[2]https://techcrunch.com/2017/10/16/wpa2-shown-to-be-vulnerable-to-key-reinstallation-attacks/

本文由東帆@阿里安全技術平臺團隊編寫,轉載請註明出處,更多安全類熱點信息和知識分享,請關注阿里聚安全的官方博客。

* 完整文章詳情,請點擊「閱讀原文」

一站式解決企業業務的安全問題

移動安全 | 數據風控 | 內容安全 | 實人認證

相關焦點

  • WPA2 「KRACK」 漏洞簡介與重現
    2017年10月,比利時安全研究員Mathy Vanhoef披露了無線網絡協議WPA2存在高危漏洞,漏洞允許攻擊者監聽AP和接入點STA之間傳輸的Wi-Fi數據流量。作者公布了漏洞驗證演示視頻(詳見參考連結[1]和[2])。
  • KRACK:WPA2 系列漏洞事件預警
    ,針對 WiFi+WPA2 網絡的攻擊。 根據 krackattacks.com 和部分廠商發布的安全公告綜合分析,包括 Linux,Android,Cisco wireless products, OpenBSD, MacOS, Windows, iOS 等產品或平臺, 影響面廣泛。 360CERT 建議客戶端產品用戶,IoT, 路由器廠商儘快進行相關漏洞評估調查。
  • WPA2 KRACK攻擊漏洞,多家公司的固件及驅動升級情況
    更多全球網絡安全資訊盡在E安全官網www.easyaq.comE安全10月18日訊 WiFi WPA 2加密協議身陷「KRACK」
  • 深度安全更新——無線WIFI嚴重漏洞WPA2(DSA 3999-1)緊急修復
    漏洞概述DSA-3999-1 wpa— 安全更新安全資料庫詳細信息:有安全研究人員發布他們在 WPA2 加密協議上發現了多起漏洞,利用這些漏洞的攻擊者可能會迫使弱勢系統重新使用加密會話密鑰,從而對WPA1和WPA2中使用的密碼進行一系列加密攻擊。
  • 神兵利器 - 針對WPA2的KRACK攻擊
    /pysetup.sh        每次在使用腳本之前,你必須在網絡管理器中禁用Wi-Fi再執行sudo rfkill unblock wificd krackattacksudo susource venv/bin/activate做完這些後,只要不關閉終端,就可以多次執行腳本。
  • WPA2秘鑰重裝攻擊(KRACK)- 值得引起注意,不必過分恐慌
    視頻教程:Mojo Networks: http://blog.mojonetworks.com/wpa2-vulnerability 時代雜誌:http://time.com/4983720/krack-attack-wpa2-wifi/
  • 全球重大漏洞WPA2 KRACK 詳細分析報告
    因為報文可能丟失,如果AP未接收到client的響應會重發第三個消息報文,所以client可能重複接收到第3個消息報文多次。每次當client接收到此消息,都會重新安裝相同的加密密鑰,然後重置協議加密使用到的nonce值及重放計數。
  • Android wpa_supplicant WLAN直連遠程溢出漏洞
    3.漏洞描述android/linux的wpa_supplicant程序是一個負責wifi處理的守護程序。該用戶權限可以讀取已經保存的WIFI密碼、更改網絡配置、劫持所有wifi流量。如果配合本地提權漏洞,可以讓攻擊者遠程控制受害者的主機,植入系統底層木馬等。
  • WPA2「密鑰重裝攻擊」漏洞曝光(附分析報告)
    360安全中心對漏洞緊急分析後提醒廣大用戶:無需過分恐慌,該漏洞不能用於破解使用WPA/WPA2無線網絡的密碼,只會影響在使用WPA/WPA2認證的無線網絡之下的無線客戶端(如手機、智能設備)。所以用戶根本無需修改密碼,只要及時更新無線路由器、手機、智能硬體等所有使用WPA/WPA2無線認證客戶端的軟體版本,就可以避免遭遇攻擊。
  • WPA2 被攻破了!還能愉快地 WiFi 上網麼?
    什麼是 WPA/WPA2 ?WPA 全名為 Wi-Fi Protected Access,有 WPA 和 WPA2 兩個標準,是一種保護無線網絡(Wi-Fi)安全的系統。它是應研究者在前一代的有線等效加密(WEP)系統中找到的幾個嚴重的弱點而產生的。
  • Wi-Fi WPA2 「Kr00k」漏洞分析與復現
    在今年2月份的RSA大會上,ESET的研究人員公開披露Wi-Fi晶片存在嚴重安全漏洞CVE-2019-15126,並將其命名為「Kr00k」。攻擊者可以利用「Kr00k」解密無線網絡流量,獲取傳輸過程中的敏感數據。Kr00k漏洞影響部分安裝Broadcom和Cypress Wi-Fi晶片的設備,這兩家晶片產品被廣泛應用於手機、平板電腦及IOT設備中。保守估計,全球總計超過10億的設備受該漏洞的影響。2.1 漏洞原理在介紹Kr00k漏洞之前,先簡單了解下WPA2協議。
  • WPA2 安全協議驚現高危漏洞,幾乎涉及所有 WiFi 設備(附固件升級列表)
    幾乎所有的 WiFi 設備都會受到影響研究人員表示,任何使用 WPA2 協議的設備都會受到影響:1 .WPA1 和 WPA22 .個人網絡和企業網絡3 .加密方式:WPA-TKIP, AES-CCMP, and GCMP簡單的說,如果你的設備可以使用 WiFi,那就很可能會受到影響。
  • 安天鍊石聯合發布WPA2高危漏洞綜合分析報告
    2.2KRACK攻擊中nonce重用的密碼分析Nonce重用引發的後果與所採用的數據保密協議密切相關。三種數據保密協議TKIP、CCMP和GCMP所採用的數據加密算法分別為流密碼RC4、認證加密算法AES-CCM和認證加密算法AES-GCM,其中AES-CCM和AES-GCM的加密部分都是基於CTR模式的流式加密。
  • 全世界的WiFi都不安全了?!!!
    最直接的影響就是你家裡的無線網絡將處於易受攻擊的狀態,你的信用卡、密碼、聊天記錄、照片、電子郵件等都有可能被黑客竊取。krackattacks網站顯示:Android和基於Linux的設備受到的影響更大。由於Android 使用wpa_supplicant,41%的Android設備更容易受到攻擊。
  • WiFi 已被破解,你的照片,帳號,密碼可能正被別人瀏覽
    如果你對於wifi被破解只是可以被人蹭蹭網,最多網速慢一點實在不行打個10000號就可以有人幫你解決的傳統觀念的話,我想是時候提高一下你的網絡安全意識了。破解WPA/WPA2的方式被稱之為「KRACK」(密鑰重裝攻擊),它能夠讓第三者在WiFi的信號範圍內,隨意監聽網絡、注入數據。這會導致怎樣的後果?一旦有人利用了這個漏洞,在你無線路由器的信號範圍內,你WiFi上網的所有動作都會被一覽無遺——就算你瀏覽的是HTTPS加密,方式不對也會被繞過!
  • 邁普通信針對WPA2漏洞「KRACK」的說明
    (如下圖)WPA/WPA2 秘鑰交互過程在四次握手過程中,meseage1 和 message2 用於終端和無線接入點進行單播秘鑰交互;message3 和message4 用於組播秘鑰交互(此次被攻破漏洞所在)。
  • 修復KRACK漏洞,WPA3 Wi-Fi標準即將到來
    為了從根本上解決這一問題,也促使新的WIFI網絡保護協議WPA3的誕生。去年秋天,比利時安全研究員Mathy Vanhoef公布了有關KRACK的詳細信息,這顯然是一項巨大的打擊,因為數十億使用WPA2無線協議的設備中都存在這一漏洞。
  • WiFi爆出重大安全漏洞!影響所有無線設備,你該怎麼辦?
    比利時研究人員今日表示:WPA2 安全加密協議已經被破解。
  • WPA2被破解,WIFI已經不安全了!
    他在準備《Discovering Logical Vulnerabilities in the Wi-Fi Handshake Using Model-Based Testing》這篇論文的時候,WPA2 4次握手中的第3次之間中ic_set_key引起了他的主意,然後他就陸陸續續挖了10來個漏洞。
  • 啟明星辰ADLab:博通Wi-Fi驅動多個安全漏洞預警
    該函數存在漏洞,使得當使用USB的BUS接口(如外置USB wifi網卡)時,通過構造bcm_hdr.subtype>=0,該判斷機制可以被繞過,從而造成遠端來源的非法數據幀可以被後續流程處理。,將會在wlc_wpa_sup_eapol函數觸發堆溢出漏洞。