但对于一次实际的攻击,攻击者必须能在很短的时间内猜出那个密钥,以免触发了防护机制对密钥进行更换。为了避免触发密钥更新,攻击者在每分钟内只能造成一个错误的MIC。可是,在支持Wi-Fi多媒体(WMM)服务质量(QoS)的无线接入点中,要为每一个优先级分配一个不同的计数器,使得在每分钟出现8个错误的MIC(每个优先级一个)时也不会触发密钥更新。这样,猜出全部12个未知字节(MIC和校验和)的时间也就是12分钟多一点,远远小于大多数通过WPA认证的无线接入点所使用的缺省密钥更新间隔。
Tews和Beck除了对这种方法进行了定义,还实现了攻击工具的概念验证版——tkiptun-ng。攻击者可以利用tkiptun-ng工具从一个基本了解的数据包中恢复出MIC密钥,然后再利用其它aircrack-ng工具将这个被修改的能够躲过WPA完整性防护机制的数据包重新注入。请注意这个被恢复出来的MIC密钥只能用在无线接入点向目标客户端发出的数据包上,而且只能在下一次更新密钥前使用。另外,攻击者不能使用这个MIC密钥去破解其它TKIP数据包,因为每个数据包的加密密钥是不一样的。
[1] [2] 下一页
战胜WPA攻击
有一点是显而易见的:要想避免成为这种攻击的受害者,最好的方法就是停止使用TKIP。CCMP就没有用在这次攻击中被利用的MIC。所以现在最保险的一种方法就是开始使用WPA2,并将其配置成只允许AES-CCMP。WPA2混合模式允许在命名相同的网络(SSID)中同时存在TKIP和AES-CCMP的客户端。用户要想知道如何避免使用WPA2混合模式,可以参考名为“在企业中部署WPA和WPA2”的白皮书。
WPA2对于多数无线局域网来说都被看作是一个富有生命力的选择。WPA2作为Wi-Fi产品认证的必要条件已有多年。如果用户一直都是通过常规的设备更新周期来使旧的客户端远离TKIP,那么刚发生的这次对完整性的攻击可以看作是抛弃那些旧的牵连、完全丢掉TKIP的良好机会。
如果用户无法很快将无线局域网中存在的那些只支持WPA的旧设备替换成支持WPA2的设备,仍可以采用下列措施来应对这次完整性攻击:
1、 如果用户的无线接入点(即无线局域网控制器)可以通过选项关闭MIC错误报告,那么只要重新配置用户的无线接入点将其关闭即可。这次的完整性攻击需要利用MIC错误报告来区分是校验和错误还是MIC错误,关掉了报告功能就等于击退了这次攻击。而且关掉报告功能不会对用户的无线局域网产生任何实际的影响。
2、 如果用户的无线接入点(即无线局域网控制器)中支持对WPA密钥更新的时间间隔进行配置,就可以通过将该时间间隔减小,使得成对主密钥(pairwise master key)可以在攻击者猜出完整的MIC密钥之前进行更新。Tews和Beck建议将时间间隔调整到120秒;而Cisco则建议将时间间隔调整到300秒,以减少对应用802.1X(WPA企业版)的无线局域网中的RADIUS服务器的影响。
3、 如果用户的无线接入点(即无线局域网控制器)可以通过选项关闭WMM或将发往禁用优先级的数据包丢弃,就可以延长攻击者猜出MIC密钥所需的时间。但这种方法不足以预防此次攻击,对于用户的无线局域网来说并不是一种有效的安全性/可用性折中方案。
为了进一步减少由于频繁更新密钥所带来的额外开销,可以考虑将WPA客户端与WPA2客户端分开。让WPA客户端使用自己专有的SSID,这样用户就更容易安排何时撤换它们,同时也更容易发现哪些设备可能会被完整性攻击所利用。
对于那些突然出现大量校验和错误及MIC错误的SSID,如果这些错误是由某一个特定终端引起的,用户就应该对这些SSID进行更密切的监视。这些错误在无线局域网中是经常可以看到的,是不会引起报警的。但对于无线入侵防御系统(IPS)来说,会很快发现tkiptun-ng攻击的特征。
最后,要记住WPA和WPA2并不是确保消息完整性的唯一方式。象IPsec、SSL等更高层次的VPN协议可以利用他们自身的密钥消息认证代码来检测仿冒。尽管更高层次的VPN协议不能用于象ARP这样的局域网广播数据包,但仍可以用它们来保护所有的TCP/IP数据包免受完整性攻击,而不是只依赖WPA完整性检查。
上一页 [1] [2]