为什么没有早点发现 KRACK 漏洞?

信息安全 无线上网 无线的 wpa2 克拉克
2021-08-30 01:23:25

根据我的阅读,这个问题就像执行 4 步握手的第 3 步以及多次执行该步骤的后果一样简单。考虑到这些算法的复杂性,我对它如此“简单”的概念感到有些惊讶。

设计如此复杂的系统怎么可能没有人考虑如果您执行两次该步骤会发生什么?从某种意义上说,感觉这应该是显而易见的。这并不是一个微妙的技巧,而是一个相对明显的缺陷,或者至少这是我得到的印象。

3个回答

描述 WPA2 (802.11i) 的 802.11 规范在付费墙后面,由 IEEE 的几个关键人物设计。该标准由工程师而非密码学家审查。安全专业人员并未广泛了解或研究功能的细节(例如重传)。

密码学家 Matthew D Green 写了一篇关于这个主题的博客文章,我认为这部分总结得很好:

IEEE 的问题之一是标准非常复杂,并且是通过私下会议的闭门过程制定的。更重要的是,即使事后,普通安全研究人员也很难访问它们。继续谷歌搜索 IETF TLS 或 IPSec 规范——你会在谷歌搜索结果的顶部找到详细的协议文档。现在去谷歌搜索 802.11i 标准。祝你好运。

IEEE 已经采取了一些小步骤来缓解这个问题,但它们是超级胆小的渐进主义胡说八道。有一个称为 GET 的 IEEE 计划允许研究人员免费访问某些标准(包括 802.11),但前提是这些标准已经公开六个月 - 巧合的是,供应商将它们不可撤销地嵌入到他们的硬件中所花费的时间大致相同,并且软件。

从某种意义上说,感觉这应该是显而易见的。

还记得 Heartbleed、Shellshock、POODLE、TLS Triple Handshake 攻击、“goto fail”……吗?

事后看来,这些问题中的大多数似乎都是显而易见的,如果合适的人在正确的时间、正确的地点仔细观察,这些问题本可以避免。但是,只有少数人拥有合适的技术专长,而且这些人通常还有很多其他事情要做。请不要期望它们是完美的。

与其对标准设计完美、软件无缺陷和系统 100% 安全抱有幻想,不如接受这样的事实:对于当今的复杂系统,这在实践中是不可能实现的。为了缓解这一问题,应该更关心弹性和稳健性,即即使某些部分因分层安全性而中断,也要保持安全和可靠,不要完全信任任何东西,如果出现问题,也要制定计划。

描述 KRACK 的论文在第 6.6 节讨论了这个问题。

几点:规范中有歧义。规范的正式证明也是基于规范的模型,有时该模型与实际规范不匹配,更不用说匹配基于该规范的实现了。