纽约大学阿布扎比分校发现一系列影响巨大的Wi-Fi漏洞影响

留学资讯2024-04-15 16:08:12佚名

原来的

一、背景

近日,纽约大学阿布扎比分校安全研究员Mathy发现了一系列影响巨大的Wi-Fi漏洞,统称为计算机、智能手机、校园网络、家庭路由器、智能家居设备、智能汽车、物联网等。 )。

其中影响大多数 WiFi 设备的三个漏洞是 Wi-Fi 802.11 标准的帧聚合和帧碎片功能的设计缺陷,而其他漏洞是 Wi-Fi 产品中的编程错误。

只要黑客处于目标设备的 Wi-Fi 范围内阿布扎比大学,他或她就可以利用漏洞窃取敏感用户数据并执行恶意代码,甚至接管整个设备。

启明星辰ADLab立即对该漏洞进行分析并提出相应的缓解建议。 由于WiFi产品的协议栈,包含了Soft Mac和Full Mac的多种实现方案。 该系列漏洞不仅影响操作系统内核和WiFi驱动,还影响WiFi SOC芯片,因此该漏洞的影响长期存在。 请及时关注并更新设备厂商的安全更新。

补救和缓解建议

漏洞和具体影响列表

与 Wi-Fi 设计缺陷相关的漏洞包括:

CVE编号 漏洞介绍 漏洞影响

CVE-2020-24588

针对A-MSDU聚合的注入攻击(无效的SPP A-MSDU保护机制)

攻击者可以插入恶意帧并篡改数据包

CVE-2020-24587

混合密钥攻击(重新组织使用不同密钥加密的分片)

阿布扎比的大学_阿布扎比大学_阿布扎比大学中国学生

窃取用户敏感数据

CVE-2020-24586

分片缓存攻击(重新连接网络时分片缓存未清除)

窃取敏感用户数据或篡改任意数据包

与 Wi-Fi 实施相关的漏洞包括:

CVE编号 漏洞介绍 漏洞影响

CVE-2020-26145

在加密通信中,未加密的广播片段仍被视为完整帧

与网络配置无关,插入任意帧来篡改数据包

CVE-2020-26144

在加密通信中,未加密的A-MSDU帧仍然被接受

CVE-2020-26140

在受保护的网络中接受未加密的数据帧

CVE-2020-26143

在受保护的网络中接受分段的未加密数据帧

阿布扎比大学_阿布扎比大学中国学生_阿布扎比的大学

CVE-2020-26139

转发 EAPOL 帧时不验证发送者的身份

结合CVE-2020-24588,任何攻击者都可以插入恶意帧并篡改数据包。

CVE-2020-26146

数据包编号不连续的加密片段仍会被重组。

窃取敏感用户数据

CVE-2020-26147

分片的重组不区分加密和未加密的分片

攻击者可以插入恶意帧并篡改数据包

CVE-2020-26142

将碎片帧处理为完整帧

CVE-2020-26141

不验证分段帧的 TKIP MIC

通过这一系列漏洞,攻击者可以完全获取用户的敏感信息或直接控制智能设备,例如控制智能电源插座,甚至直接接管网络中存在漏洞的计算机阿布扎比大学,见下文参考文献[2]。

2. 漏洞分析

我们选择了所有设备中常见的三个设计漏洞CVE-2020-24586、CVE-2020-24587和CVE-2020-24588进行分析。 由于CVE-2020-24588漏洞影响较大,因此我们重点介绍CVE-2020-24588。

1. 技术背景

由于802.11 MAC层协议消耗了大量的链路维护开销,为了提高MAC层的效率,802.11n引入了帧聚合技术。 消息帧聚合技术包括:A-MSDU(MAC Data Unit )和A-MSDU。 -MPDU(MAC 协议数据单元聚合)。

A-MSDU 允许聚合具有相同目的地和应用的多个 A-MSDU 子帧。 聚合子帧仅具有一个公共 MAC 帧头。 当多个子帧聚合在一起时,减少了发送每个802.11消息所需的PLCP、PLCP和802.11 MAC头的开销,并减少了响应帧的数量,从而提高了无线传输效率。 A-MSDU消息帧聚合技术是802.11n协议的强制要求,所有支持802.11n协议的设备都必须支持它。

下图说明了802.11协议栈中发送方和接收方如何处理A-MSDU数据。

图1. 802.11协议数据处理流程

在802.11协议栈中,发送方通过数据链路层的LLC子层为来自3-7层的网络数据添加LLC/SNAP头,并封装成MSDU(MAC Data Unit)。 MSDU添加DA、SA、长度后,封装成A-MSDU子帧。 多个A-MSDU子帧被封装在MAC子层顶层的A-MSDU中。 帧数据经过MAC子层后,添加MAC头和帧尾封装成802.11数据帧(MPDU),MPDU/PSDU通过物理层添加PLCP(PLCP前导码)和PLCP(PHY头),无线侧最终通过射频端口将二进制流发送至接收端。

接收端通过反向路径对802.11数据帧进行拆解,最终得到发送端的3-7层网络数据。

A-MSDU的协议数据组成如图2所示,我们从上到下进行解释:

(1)MSDU由LCC/SNAP头、IP头、TCP/UDP头和协议数据Data组成。

(2)MSDU加上DA(目的地址)、SA(源地址)、后续数据长度和(四字节对齐)形成​​MSDU子帧。

(3)多个MSDU子帧构成802.11帧的A-MSDU域。

(4)802.11数据帧使用QOS的A-MSDU比特来指示这是一个包含A-MSDU字段的数据帧。

阿布扎比的大学_阿布扎比大学_阿布扎比大学中国学生

图2. A-MSDU数据组成图

在802.11协议中,普通802.11数据帧的结构与A-MSDU数据帧相同,只是QOS字段中的A-MSDU位为1,表示该数据帧是A-MSDU。 MSDU 数据帧。 A-MSDU位为0,表明这是一个正常的802.11数据帧。

在802.11协议中,WEP和CCMP仅保护802.11MAC的净荷。 至于802.11帧头和下层协议头则保持不变。 也就是说,802.11协议中数据帧中的QOS是不加密的,这就为攻击者提供了攻击的入口。

图 3. CCMP 加密的 802.11 数据帧格式

为了防止中间人攻击,IEEE于2011年设计了SPPA-MSDU机制来保护A-MSDU位和A-MSDU。 SPP A-MSDU通过在RSN域中添加SPPA-MSDU和SPPA-MSDU来指示是否支持SPPA-MSDU机制以及是否采用SPPA-MSDU机制。

图 4. RSN 域数据格式

2. 针对 A-MSDU 聚合的帧注入攻击 (CVE-2020-24588)

虽然有SPP A-MSDU机制来保护A-MSDU位不被篡改,但在实际测试中,几乎所有设备都没有遵循SPP A-MSDU机制,这使得中间人攻击成为可能。

我们假设发送方发送的是一个普通的802.11数据帧,里面封装的是一个普通的TCP数据包,dst=“192.168.1.2”,src=“1.2.3.4”,id=34

图 5. 原始 802.11 数据帧

由于偏移量为0x18的QOS(0200)不受保护,攻击者可以将QOS字段中的A-MSDU翻转为1,使得QOS值为8200,同时在末尾注入恶意的A-MSDU子帧2帧(如下图)(图中红线标注),最后发送到接收端。

阿布扎比大学中国学生_阿布扎比的大学_阿布扎比大学

图 6. 被篡改的 802.11A-MSDU 数据帧

由于QOS域中的A-MSDU翻转为1,所以接收端接收到数据帧时,会按照A-MSDU格式拆解里面的数据。 数据被识别为两个A-MSDU子帧。 A-MSDU子帧1中的数据是原始的MSDU数据,因此会被协议栈丢弃,但第二子帧会被正确解析和处理。 在上面的例子中,第二个子帧将被识别为ICMP ping数据包,并且接收端将向发送端回复ICMP echo Reply。

下图说明了中间人帧注入过程:

图 7. 中间人帧注入过程

(1)STA(终端)与AP(热点/无线路由器)通道A(如通道6),建立关联

(2)MITM采用多通道中间人技术,使STA认为AP已经切换到通道B(如通道11)。

(3) STA在通道11上向MITM发送加密的Wifi普通数据帧。

(4)MITM将接收到的Wifi帧的QOS字段的A-MSDU标志设置为1,并插入被篡改的A-MSDU数据。 将普通Wifi帧更改为A-MSDU帧,注入ICMP请求数据包,并通过通道6发送到AP。

(5)AP接收A-MSDU数据帧。 AP将A-MSDU拆解并分成多个A-MSDU子帧。 第一个 A-MSDU 子帧是非法数据包,将被丢弃,但后续的 MSDU 子帧 帧将被系统正常处理。 AP 将使用收到的 ICMP Echo 响应来回复 MITM。

(6) MITM收到AP的回复后,将收到的WIFI帧转发给STA,以便STA收到AP的ICMP回复。

修复 CVE-2020-24588

今年3月发布了相应补丁,修复了一系列漏洞。 5月11日,Linux还发布了一系列漏洞补丁[6]。 Linux 针对 CVE-2020-24588 的修复如下:

--- net //util.c | 3 +++ 1 个文件,3 (+) diff --git a/net//util.cb/net//util. .. --- a/net//util .c+++ b/net//util.c@@ -771,6 +771,9 @@ void 023s( *skb, *list, = skb->len - ; if ( > ) 转到清除;+/* A- MSDU */+if ((eth., ))+转到清除; 最后 =

相关推荐

猜你喜欢

大家正在看

换一换