介绍
研究人员发现WPA2的严重弱点,WPA2是保护所有现代受保护的Wi-Fi网络的协议。内的受害者的范围内的攻击者可以利用使用这些弱点.具体来说,攻击者可以使用这种新颖的攻击技术来读取先前假定为安全加密的信息。这可能被滥用以窃取敏感信息,如信用卡号,密码,聊天信息,电子邮件,照片等。 该攻击与所有现代受保护的Wi-Fi网络相抗衡。根据网络配置,还可以注入和操作数据。例如,攻击者可能能够将ransomware或其他恶意软件注入网站。
弱点在于Wi-Fi标准本身,而不是单独的产品或实现。因此,WPA2的正确实施可能会受到影响。为了防止攻击,用户必须在安全更新可用时立即更新受影响的产品。请注意,如果您的设备支持Wi-Fi,则很有可能会受到影响。在研究人员初步的研究中,研究人员发现Android,Linux,Apple,Windows,OpenBSD,联发科技,Linksys等都受到一些攻击变体的影响。有关特定产品的更多信息,请查阅CERT / CC数据库,或与您的供应商联系。
攻击背后的研究将在计算机和通信安全(CCS)会议和黑帽欧洲会议上发表。研究人员的详细研究论文已经可以下载了。
作为一个概念验证,研究人员对Android智能手机执行了重要的重新安装攻击。在这个演示中,攻击者能够解密受害者发送的所有数据。对于攻击者来说,这是很容易完成的,因为研究人员的关键重新安装攻击对Linux和Android6.0或更高版本是非常破坏性的。这是因为Android和Linux可以被欺骗(重新)安装一个全零加密密钥。当攻击其他设备时,解密所有数据包是困难的,尽管可以解密大量数据包。在任何情况下,以下演示突出显示攻击者在对受保护的Wi-Fi网络执行关键重新安装攻击时可获得的信息类型:
研究人员的攻击并不限于恢复登录凭据(即电子邮件地址和密码)。通常,受害者传送的任何数据或信息都可以被解密。另外,根据正在使用的设备和网络设置,还可以解密向受害者发送的数据(例如网站的内容)。虽然网站或应用程式可能会使用HTTPS作为额外的保护层,但研究人员警告说,在令人担忧的情况下,这种额外的保护措施(仍然可以)被忽略。 例如,HTTPS在以前的非浏览器软件,苹果的iOS和OS X,Android应用程序,Android应用程序,银行应用程序中都被绕过,甚至在V**应用中。
研究人员的主要攻击是针对WPA2协议的四次握手。当客户端要加入受保护的Wi-Fi网络时,执行握手,并用于确认客户端和接入点都具有正确的凭据(例如,网络的预共享密码)。同时,4路握手还协商一种新的加密密钥,用于加密所有后续流量。目前,所有现代保护的Wi-Fi网络都使用4路握手。这意味着所有这些网络都受到研究人员攻击的(某些变体)的影响。例如,攻击针对个人和企业Wi-Fi网络,针对较旧的WPA和最新的WPA2标准,甚至针对仅使用AES的网络。 研究人员对WPA2的所有攻击都使用一种称为重新安装攻击(KRACK)的新技术:
在关键的重新安装攻击中,对手将受害者用于重新安装已经在使用的密钥。这是通过操纵和重播加密握手消息来实现的。当受害者重新安装密钥时,诸如增量发送分组号(即随机数)和接收分组号(即重播计数器)的相关参数被重置为其初始值。本质上,为了保证安全性,只能安装和使用一次密钥。不幸的是,研究人员发现这不是WPA2协议的保证。通过操纵加密握手,研究人员可以在实践中滥用这种弱点。
正如研究论文的介绍所述,关键重新安装攻击的想法可以归纳如下。当客户端加入网络时,它执行四次握手来协商一个新的加密密钥。在接收到4路握手信息3后,将会安装该密钥。一旦安装了密钥,它将用于使用加密协议对正常数据帧进行加密。然而,由于消息可能丢失或丢失,如果接收点(AP)没有收到适当的响应作为确认,则将重传消息3。结果,客户端可以多次接收消息3。每次收到该消息时,它将重新安装相同的加密密钥,从而重置增量发送分组号(随机数),并接收加密协议使用的重播计数器。研究人员显示攻击者可以通过收集和重播4次握手的消息3的重传来强制这些随机复位。通过以这种方式强制重用,可以攻击加密协议,例如可以重放,解密和/或伪造数据包。同样的技术也可以用来攻击组密钥,PeerKey,TDLS和快速BSS过渡握手。
在研究人员看来,最广泛和最具影响力的攻击是四次握手的关键重新安装攻击。研究人员根据两个观察结果作出判断。首先,在研究人员自己的研究中,研究人员发现大多数客户受到影响。第二,对手可以使用此攻击来解密客户端发送的数据包,从而拦截敏感信息,如密码或Cookie。分组的解密是可能的,因为密钥重新安装攻击导致传输随机(有时也称为分组号或初始化向量)被重置为零。因此,与过去已经使用的随机数值一起使用相同的加密密钥。反过来,这将导致WPA2的所有加密协议重新使用密钥流加密数据包时。如果重用密钥流的消息具有已知内容,则导出所使用的密钥流变得微不足道。然后,该密钥流可以用于使用相同的随机数来解密消息。当没有已知的内容时,解密数据包是困难的,尽管在几种情况下仍然是可能的(例如,英文文本仍然能被解密)。 实际上,找到具有已知内容的数据包不是问题,因此应该假设任何数据包都可以被解密。
解密数据包的能力可用于解密TCP SYN数据包。这允许对手获取连接的TCP序列号,并劫持TCP连接。因此,即使使用WPA2,对手现在可以对打开的Wi-Fi网络执行最常见的攻击:将恶意数据注入未加密的HTTP连接。例如,攻击者可以滥用这种方式将篡体或恶意软件注入受害者访问的网站。
如果受害者使用WPA-TKIP或GCMP加密协议,而不是AES-CCMP,这种影响尤其是灾难性的。 针对这些加密协议,nonce重用使得对手不仅可以解密,而且可以伪造和注入数据包。此外,因为GCMP在两个通信方向上使用相同的认证密钥,并且如果随机数被重用,则该密钥可以被恢复,所以特别受到影响。请注意,目前正在以无线千兆(WiGig)的名义推出对GCMP的支持,预计在未来几年内将以高速率采用。
数据包可以被解密(可能被伪造)的方向取决于握手被攻击。简化,当攻击4路握手时,研究人员可以解密(和伪造)客户端发送的数据包。当攻击Fast BSS Transition(FT)握手时,研究人员可以解密(和伪造)发送给客户端的数据包。最后,研究人员的大多数攻击还允许播放单播,广播和多播帧。有关详细信息,请参阅研究人员研究论文的第6节。
请注意,研究人员的攻击无法恢复Wi-Fi网络的密码。它们也不会在四次握手期间恢复(任何部分)新协商的加密密钥。
研究人员的攻击对于2.4以上的wpa_supplicant(通常在Linux上使用的Wi-Fi客户端)尤其严重。在这里,客户端将安装一个全零加密密钥,而不是重新安装真正的密钥。这个漏洞似乎是由Wi-Fi标准中的一个注释造成的,建议在第一次安装之后,从内存中清除加密密钥。当客户端现在接收到四次握手的重传消息3时,它将重新安装现在已经清除的加密密钥,有效安装全零密钥。由于Android使用wpa_supplicant,Android 6.0及更高版本也包含此漏洞。这使得拦截和操纵这些Linux和Android设备发送的流量变得微不足道。注意当前50%的Android设备容易受到研究人员攻击特别破坏性的变体的影响。
分配了以下常见漏洞和披露(CVE)标识符,以跟踪哪些产品受到重要重新安装攻击的特定实例的影响: