研究人员发现,“WiFi保护访问2(WPA2)”协议的4次握手实现中存在多个安全漏洞,影响几乎所有受保护WiFi网络。
分析安全协议实现会用到符号执行,该发现就是符号执行过程中模拟加密基元的结果。比利时鲁汶大学的两位研究人员在日前发布的白皮书中对此进行了阐述。
通过在WPA2四次握手的3种客户端实现上应用符号执行,研究人员发现了身份验证标签校验过程中的边信道时序攻击、拒绝服务攻击、基于堆栈的缓冲区溢出和非平凡(non-trivial)解密谕示。
研究人员称,符号执行就是要通过符号输入而非实际输入,全面彻底地探索程序的所有代码执行路径。在实验中,研究人员基于KLEE符号执行引擎实现了加密基元符号执行技术(他们修改了引擎以处理加密基元)。
3种被测WPA2握手实现中,有2种易遭受平凡(trivial)边信道攻击,因为这两种实现采用不安全时序内存比较来校验身份验证标签。
英特尔iNet无线守护进程会发生拒绝服务,MediaTek的实现则有基于堆栈的缓冲区溢出(处理解密数据的代码段中)。而且,这两种攻击都可以被恶意接入点(AP)触发。AES展开算法在MediaTek的代码中也未得到正确实现。
另外, wpa supplicant(支持WEP、WPA和WPA2(IEEE 802.11i)的跨平台wpa请求者程序)因处理解密但未经验证的数据而有非平凡(non-trivial)解密谕示的风险。该漏洞编号为CVE-2018-14526,可被用于恢复敏感信息。
如果受害者使用旧的TKIP(临时密钥完整性协议)加密算法连接WPA2网络,攻击者便可利用该解密谕示来破解4次握手中消息3里传输的组密钥。
不过,仅在采用WPA2协议,且客户端选择TKIP作为成对密码,以便RC4流密码被用于加密密钥数据字段的情况下,该攻击才可行(如果选择了CCMP(计数器模式密码块链消息完整码协议),密钥数据字段便是用AES(高级加密标准)加以保护)。当WiFi网络使用WPA2且只支持TKIP时,这两项条件才同时满足(2016年,20%的受保护WiFi网络采用此配置)。
攻击者可利用该漏洞解密WPA2四次握手过程中消息3里传输的组密钥,并用该组密钥注入广播和单播流量。单播和广播流量也可用该密钥加以解密。
通过模拟加密基元和限制部分符号输入以防止产生过多状态,我们在WPA2四次握手的客户端实现上成功应用了符号执行。符号执行结果揭示出处理解密数据的代码中存在内存崩溃隐患,发现了加密基元的不安全实现,甚至暴露出了解密谕示。
鲁汶大学研究白皮书下载地址:
上一篇:形式化验证:让智能合约更安全
下一篇:由浅入深剖析xml及其安全隐患