e-works数字化企业网  »  文章频道  »  基础信息化  »  移动应用

无线网络(WI-FI)保护协议标准WPA2漏洞综合分析报告

2017/11/1    来源:漏洞分析    作者:佚名      
关键字:无线网络  准WPA2  
欧洲鲁汶大学的博士后安全研究员 Mathy Vanhoef 在10月15日披露无线网络(Wi-Fi)保护协议标准 WPA2 的高危漏洞。漏洞允许在 Wi-Fi 范围内的攻击者监听计算机和接入点之间的 Wi-Fi 流量。该漏洞影响协议本身,且对 WPA 和 WPA2 均有效,因此支持 WPA/WPA2 协议的软件或硬件均受到影响。

    在实际情况中,通常能找到已知内容的数据包,所以可以认为在密钥固定的条件下重用nonce时获得密文数据包可根据上述过程解密。即使已知内容的数据包确实无法获得,当对消息类型有足够的知识(比如消息为英文字符)的条件下,也可能解密还原出明文。值得注意的是,虽然nonce重用会导致密文数据包被解密,但并不导致密钥TK、PTK、PMK以及WiFi登陆密码的泄露,因此WPA2的密码体系只是被绕过,并没有被攻破。分组密码算法(AES)本身的安全性保证了即使在输入无线网络(WI-FI)保护协议标准WPA2漏洞综合分析报告和输出无线网络(WI-FI)保护协议标准WPA2漏洞综合分析报告已知的条件下,加密密钥k也不会泄露。
 
    TKIP、CCMP和GCMP三种数据加密协议,在数据机密性之外,还提供数据完整性保护。而重用nonce在不同的数据加密条件下在数据完整性保护方面会带来不同等级的安全隐患。
 
    使用TKIP协议时,当解密完整的TKIP数据包之后(包括MIC字段),攻击者可进一步攻击Michael算法获得相应的MIC密钥。这是由于Michael算法本身的脆弱性导致的,在给定明文数据以及MIC值的条件下,攻击者可恢复出MIC密钥。借助恢复出的MIC密钥,攻击者可伪造该数据传输方向上的数据帧(TKIP在不同的数据传输方向上使用不同的MIC密钥)。
 
    使用CCMP协议时,虽然有研究展示了在重用nonce条件下数据伪造攻击的可能性,但都是停留在理论层面的攻击,难以在实际中生成真正的伪造数据包,仅能执行重放攻击以及数据包解密。
 
    使用GCMP协议时nonce重用导致的安全问题最为严重。nonce重用使得攻击者能够恢复出GCM模式中的认证密钥(H),由于GCMP协议在数据传输的两个方向上使用相同的密钥进行数据保护,这赋予了攻击者在数据传输的两个方向上均可伪造数据包的能力。作为认证加密的一种工作模式,GCM模式由CTR加密算法以及GHASH验证算法组合而成,其中CTR算法部分直接采用传递给GCM模式的密钥k进行加密,而GHASH运算所需的验证子密钥H是AES算法利用密钥k加密全128比特的全0明文得到的128比特密文值。法国密码学家Joux指出当nonce重用时,攻击者可恢复出验证子密钥H的值(注意从H的值无法推算出GCM的输入密钥,这是由AES算法本身的安全性保证的)。攻击者获得H的值之后,GCMP所提供的数据完整性保护形同虚设,也因此攻击者可以伪造数据包。
 
    总体来说,对于TKIP和GCMP,KRACK攻击影响极其严重,攻击者可以对数据包重放、解密和伪造。对于CCMP,虽然攻击者不能伪造,但是基于TCP/IP协议的特点,只要攻击者能够获得序列号,攻击者就可以劫持TCP流并将恶意数据注入到其中,后果同样十分严重。
 
    3 漏洞影响及响应情况
 
    通过此漏洞可实现解密Wi-Fi流量数据、数据包重组、TCP连接劫持、HTTP内容注入等。KRACK攻击是通用的,适用于连接或使用WPA/WPA2的WiFi网络的所有类型设备。针对个人和企业网络以及所使用的任何加密套件(WPA-TKIP,AES-CCMP和GCMP)都有效,包括Android,iOS,Windows,Linux, MacOS, OpenBSD以及嵌入式和物联网(IoT)设备。尤其是Android 6及以上的版本,研究人员表示可针对Android 6系统客户端 wpa_supplicant “完美攻击”,并且该攻击技术易于实现。根据安天移动安全统计数据,Android设备中Android 6系统占比约为41.9%。
 
    由于此次漏洞影响较大,范围较广,供应商纷纷发起响应或发布补丁,部分供应商响应情况见下表:
 
    表 3 - 1 部分供应商响应情况
 
无线网络(WI-FI)保护协议标准WPA2漏洞综合分析报告
无线网络(WI-FI)保护协议标准WPA2漏洞综合分析报告
无线网络(WI-FI)保护协议标准WPA2漏洞综合分析报告
 
    注:如表中链接无法打开,可以从参考资料4中获取。
 
    我们对表中Linux对应的八个补丁进行了分析,下面展示了各个补丁的作用原理。
 
    1.ebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch
 
    在握手阶段Reassociation-Response时避免将TK重新安装到驱动程序部分,防止密钥重装攻击。
 
无线网络(WI-FI)保护协议标准WPA2漏洞综合分析报告
 
    另外,只有在TK确认已经被卸载时,才允许安装配置,且不允许重复安装(当且仅允许成功配置一次) 
 
 
无线网络(WI-FI)保护协议标准WPA2漏洞综合分析报告
 
    2.rebased-v2.6-0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch
 
    跟踪当前正在使用的GTK和IGTK,当接收到(可能重传)的第一次握手阶段的消息或WNM-睡眠模式响应时,如果密钥已经在使用中,则不安装新的密钥。这阻止了攻击者欺骗客户端去重置或更改与组密钥关联的序列计数器的行为。
 
    安装igtk时: 
 
无线网络(WI-FI)保护协议标准WPA2漏洞综合分析报告
 
    WNM-睡眠模式响应时: 
 
无线网络(WI-FI)保护协议标准WPA2漏洞综合分析报告
 
    3.rebased-v2.6-0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch
 
    这个补丁追踪最后配置的GTK / IGTK值,分别与EAPOL-Key帧和WNM-睡眠模式帧配合,因为当这两种不同的机制的GTK / IGTK发生变化时候,跟踪单个值不足以及时发现检测可能的密钥重新配置行为。

责任编辑:李欢
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
兴趣阅读
相关资料
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐