Wi-Fi WPA2 “Kr00k”误差剖析与复现

宣布时间 2020-03-26

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)的新闻交互历程。


尊龙凯时 - 人生就是搏!


STA和AP在四次握手中,协商会话密钥PTK(Pairwise Transient Key),PTK是由PMK和PKE盘算天生,而PMK由ANonce、SNonce和双方MAC地址等盘算天生。PTK分为KCK、KEK和TK三部分,其中,KCK用于MIC校验,KEK用于加密GTK,TK为数据加密密钥。四次握手完成后,传输数据使用TK举行加密。


尊龙凯时 - 人生就是搏!


在WPA2协议中,扫除关联操作可以由未经身份验证和未加密的管理帧触发,Kr00k误差与扫除关联操作亲近相关。在下图所示中,当站点的毗连会话扫除关联后,生涯在Wi-Fi芯片中的会话密钥(TK)被置零,若是使用已置零的TK密钥对芯片缓存中的数据举行加密并传输,将导致误差爆发。


尊龙凯时 - 人生就是搏!


攻击者使用无线网卡即可完成入侵,通过一直触发扫除关联、重新关联,然后使用全零TK对捕获的数据帧举行解密,从而获取敏感信息。


2.2 固件剖析


本文选取Nexus5中的BCM4339芯片固件举行剖析。首先,定位固件中盘算ptk的位置,如下图所示。


尊龙凯时 - 人生就是搏!


然后,对其上层函数wlc_wpa_sup_eapol举行剖析。


尊龙凯时 - 人生就是搏!

尊龙凯时 - 人生就是搏!


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函数用于处置惩罚STA的初始化毗连,该函数对wpa_ptk结构体举行内存分派和初始化,wpa_ptk结构体巨细为0x13C。


尊龙凯时 - 人生就是搏!


当初始化失败、毗连超时或扫除毗连的时间,则会挪用wlc_sup_detach函数对wpa_ptk结构体举行置零操作。


尊龙凯时 - 人生就是搏!

尊龙凯时 - 人生就是搏!


3.误差验证


3.1 测试情形



装备名称

数目

受影响的装备

Nexus5

1

iphone6s手机

1

Attacker

NETGEAR网卡

2

3.2 测试办法


(1)对wireshark解密数据包的相关功效举行patch,使其能够乐成解密全零TK加密的数据。

(2)使用patch后的wireshark监听目的装备和AP通讯的数据包。

(3)使用目的装备毗连AP并恣意会见网页。

(4)对AP和测试目的发送Disassocation包。

(5)重复执行办法(3)和(4),视察wireshark中数据包是否解密。


3.3 测试效果


Nexus 5:


尊龙凯时 - 人生就是搏!


iphone 6s:


尊龙凯时 - 人生就是搏!


可以看出,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