Wi-Fi WPA2 “Kr00k”漏洞分析與復現

ADLab發表於2020-04-10

1 研究背景

在今年2月份的RSA大會上,ESET的研究人員公開披露Wi-Fi晶片存在嚴重安全漏洞CVE-2019-15126,並將其命名為“Kr00k”。攻擊者可以利用“Kr00k”解密無線網路流量,獲取傳輸過程中的敏感資料。

Kr00k漏洞影響部分安裝Broadcom和Cypress Wi-Fi晶片的裝置,這兩家晶片產品被廣泛應用於手機、平板電腦及IOT裝置中。保守估計,全球總計超過10億的裝置受該漏洞的影響。

2 漏洞分析

2.1 漏洞原理

在介紹Kr00k漏洞之前,先簡單瞭解下WPA2協議。目前基於AES-CCMP的WPA2協議是Wi-Fi網路中最普遍的標準。下圖是客戶端(Station, STA)連線接入點(Access Point, AP)的訊息互動過程。

Wi-Fi WPA2 “Kr00k”漏洞分析與復現

STA和AP在四次握手中,協商會話金鑰PTK(Pairwise Transient Key),PTK是由PMK和PKE計算生成,而PMK由ANonce、SNonce和雙方MAC地址等計算生成。PTK分為KCK、KEK和TK三部分,其中,KCK用於MIC校驗,KEK用於加密GTK,TK為資料加密金鑰。四次握手完成後,傳輸資料使用TK進行加密。

Wi-Fi WPA2 “Kr00k”漏洞分析與復現

在WPA2協議中,解除關聯操作可以由未經身份驗證和未加密的管理幀觸發,Kr00k漏洞與解除關聯操作密切相關。在下圖所示中,當站點的連線會話解除關聯後,儲存在Wi-Fi晶片中的會話金鑰(TK)被置零,如果使用已置零的TK金鑰對晶片快取中的資料進行加密並傳輸,將導致漏洞產生。

Wi-Fi WPA2 “Kr00k”漏洞分析與復現

攻擊者利用無線網路卡即可完成入侵,通過不斷觸發解除關聯、重新關聯,然後使用全零TK對捕獲的資料幀進行解密,從而獲取敏感資訊。

2.2韌體分析

本文選取Nexus5中的BCM4339晶片韌體進行分析。首先,定位韌體中計算ptk的位置,如下圖所示。

Wi-Fi WPA2 “Kr00k”漏洞分析與復現

然後,對其上層函式wlc_wpa_sup_eapol進行分析。

Wi-Fi WPA2 “Kr00k”漏洞分析與復現

Wi-Fi WPA2 “Kr00k”漏洞分析與復現

wlc_wpa_sup_eapol呼叫wpa_pmk_to_ptk時,傳入的引數分別為mac1、mac2、Nonce1、Nonce2、pmk、pmk_len、ptk、ptk_len。 ptk計算結果被儲存在wpa_ptk結構體偏移0x8c位置中。

wlc_sup_attach函式用於處理S他的初始化連線,該函式對wpa_ptk結構體進行記憶體分配和初始化,wpa_ptk結構體大小為0x13C。

Wi-Fi WPA2 “Kr00k”漏洞分析與復現

當初始化失敗、連線超時或解除連線的時候,則會呼叫wlc_sup_detach函式對wpa_ptk結構體進行置零操作。

Wi-Fi WPA2 “Kr00k”漏洞分析與復現

Wi-Fi WPA2 “Kr00k”漏洞分析與復現

Wi-Fi WPA2 “Kr00k”漏洞分析與復現

3漏洞驗證

3.1 測試環境

Wi-Fi WPA2 “Kr00k”漏洞分析與復現

3.2 測試步驟

(1)對wireshark解密資料包的相關功能進行patch,使其能夠成功解密全零TK加密的資料。

(2)使用patch後的wireshark監聽目標裝置和AP通訊的資料包。

(3)使用目標裝置連線AP並任意訪問網頁。

(4)對AP和測試目標傳送Disassocation包。

(5)重複執行步驟(3)和(4),觀察wireshark中資料包是否解密。

3.3測試結果

Nexus 5:

Wi-Fi WPA2 “Kr00k”漏洞分析與復現

iphone 6s:

Wi-Fi WPA2 “Kr00k”漏洞分析與復現

可以看出,Nexus 5和iphone 6s部分資料被成功解密。

4 影響範圍

目前已知受影響的裝置有:

·  Amazon Echo 2nd gen

·  Amazon Kindle 8th gen

·  Apple iPad mini 2

·  Apple iPhone 6, 6S, 8, XR

·  Apple MacBook Air Retina 13-inch 2018

·  Google Nexus 5

·  Google Nexus 6

·  Google Nexus 6P

·  Raspberry Pi 3

·  Samsung Galaxy S4 GT-I9505

·  Samsung Galaxy S8

·  Xiaomi Redmi 3S

·  Asus RT-N12

·  Huawei B612S-25d

·  Huawei EchoLife HG8245H

·  Huawei E5577Cs-321

5安全建議

裝置製造商已釋出的安全建議如下:

·  https://support.apple.com/en-us/HT210721

·  https://support.apple.com/en-us/HT210722

·  https://support.apple.com/en-us/HT210788

·  https://www.arubanetworks.com/assets/alert/ARUBA-PSA-2020-003.txt

·  https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20200226-wi-fi-info-disclosure

·  https://www.huawei.com/en/psirt/security-notices/huawei-sn-20200228-01-kr00k-en

·  https://www.microchip.com/design-centers/wireless-connectivity/embedded-wi-fi/kr00k-vulnerability

·  https://www.mist.com/documentation/mist-security-advisory-kr00k-attack-faq/

·  https://www.zebra.com/us/en/support-downloads/lifeguard-security/kr00k-vulnerability.html




Wi-Fi WPA2 “Kr00k”漏洞分析與復現

相關文章