导语:2019年初,我和另一位丹佛的研究员 Steve Darracott (@theDarracott)开始回答这个问题——“机会主义无线加密(OWE)容易被滥用和攻击吗? 如果是,又该如何执行攻击? ” 。
战争从未改变: 对 WPA3“增强开放”的攻击ーー第一部分: 我们是如何走到这一步的
战争从未改变: 攻击 WPA3的增强开放性——第二部分: 理解 OWE(上)
战争从未改变: 攻击 WPA3的增强开放性——第二部分: 理解 OWE(下)
2019年初,我和另一位丹佛的研究员 Steve Darracott (@theDarracott)开始回答这个问题——“机会主义无线加密(OWE)容易被滥用和攻击吗? 如果是,又该如何执行攻击? ” 。 最终,我们成功地实现了多种可工作的概念攻击证明,去年夏天我们在 DEF CON 无线村(Wireless Village)进行了演示。 本系列博客文章记录了我们的研究成果和结论,并讨论了 OWE 如何适应当前的无线威胁模型。
在本系列的第一部分中,我们提供了历史背景和背景信息,这些信息有助于将本研究应用到当前的无线威胁模型中。 然后,我们在第二部分深入介绍了技术上的复杂性。 如果你还没有读过这些文章,你可以在这里找到它们:
在本系列的第三部分,也是最后一部分,我们提供了关于 OWE 处理当前无线威胁模型的能力的结论,以及针对该协议的攻击概念验证。
就风险而言,OWE 几乎与开放式无线电无异
我们的结论是,就风险而言,OWE 与开放无线几乎没有区别。 虽然这听起来很残酷,但是回想一下,在第一部分我们已经建立了当前的无线威胁模型,它基于以下事实:
· HTTPS 的应用非常广泛。 因此,自2005年以来,被动嗅探攻击就不能可靠地工作了[1]。
· 由于 HSTS [1]的广泛应用,HTTP 降级攻击在很大程度上已变得无关紧要[1]。
· 流氓 AP 攻击仍然是一个问题,因为它们可以用于执行捕获门户和静态内容注入攻击(HTTPS 都不能减轻这两种攻击)[1]。
按照设计,OWE 只能处理被动的嗅探攻击,而不能防止流氓 AP 攻击[2]。 我们将在接下来的章节中讨论这个问题,以及我们观察到的其他问题。 然后,我们提供了对 OWE 的概念验证攻击的逐步练习,以及攻击 OWE 转换模式的成功和失败尝试的结果。
调查结果
在整个研究过程中,我们确定了影响 OWE 的两个主要问题。 这些问题在下面的小节中进行了描述。
OWE 不提供验证接入点身份的机制
正如我们在本系列的第一部分和第二部分中提到的,OWE 从来没有打算作为一个流氓 AP 攻击的缓解措施。 这意味着,从设计上讲,它不提供验证访问点标识的机制。 虽然这个假设并不新鲜,实际上在 RFC 8110[2]中也得到了承认,但我们在本文后面的概念验证练习: OWE Evil Twin Attack 一节中提供了这个假设的具体证据。
符合 RFC 的请求者会主动阻止用户区分加密连接和非加密连接
对定义了 OWE 技术规范的 RFC 8110的分析揭示了一个有趣的设计决策。 根据 RFC 8110第6条[2] :
OWE 是802.11“开放”身份验证的替代品。 因此,当发现符合 OWE 的接入点时,向用户提供的可用 SSID 不应包括特殊的安全符号,例如“锁图标”。 对于用户来说,OWE SSID 与“开放”是一样的,它只是在幕后提供了更多的安全性。
据推测,这个想法是因为 OWE 最终将完全取代开放 WiFi,从终端用户的角度来看,它应该与开放 WiFi 没有什么区别。 这个设计决定是否明智尚有争议——这里没有确凿的技术答案,而且在争论的双方都有值得尊敬的无线专家。
我个人认为,这是一个问题—— OWE 的广泛应用需要数年时间,如果试图废除 WEP 有线等效加密是未来成功的任何迹象,那么开放式 WiFi 将不太可能完全淘汰。 通过 HTTPS 连接到服务器时,网络浏览器会显示一个锁图标,这是有原因的——用户应该知道他们的数据何时以明文形式传输。
一个相反的观点是,因为 RFC 8110承认 OWE 对于保护用户免受主动攻击没有任何作用,所以显示锁图标可能会欺骗用户或让用户感到困惑。 不知道 OWE 限制的用户可能会错误地认为 OWE 提供了对现代无线威胁的可靠保护。 另一方面,知道 OWE 的限制的用户可以学会不信任锁图标(可能是其他协议共享的)。
我对此的回应是,我们需要从安全的角度来决定 OWE 是否比开放网络有一些优势。 如果是这样,那么用户应该知道他们所连接的网络何时缺少这些优势。 另一方面,如果我们认为 OWE 从安全角度来看并不比开放式 WiFi 有优势,那么这整个讨论就毫无意义了。 在第二种情况下,我们应该问问自己,为什么我们首先要推动采用这种技术。
似乎设备制造商一直在考虑这个问题,甚至故意忽视 RFC 8110,不管怎样都要显示一个明显的图标(虽然不一定是锁)。 例如,运行在 Razer Phone 3上的 Android 9允许用户区分开放访问点和 OWE 访问点,如下面的屏幕截图所示:
不管怎样,这是否适用于所有的操作系统和设备还有待观察。
研究方法及结果
在研究这个话题时,我们尽最大努力坚持科学的方法:
· 问题: OWE 容易被滥用和攻击吗?如果是这样,又是如何攻击的?
· 背景研究: 我们熟悉了所有我们能找到的现有文献,并仔细分析了 RFC 8110潜在的安全问题
· 假设: OWE 容易受到流氓接入点攻击
· 实验: 我们将其分为多个阶段,如下所述
· 分析: 我们分析了第四步的结果
· 结论: 我们的结论是这个假设是正确的,因此与开放式无线网络相比并没有显著的好处
实验过程
第四阶段(实验)分为以下几个步骤:
· 尝试使用 hostapd 创建一个正常工作的 OWE 访问点
· 尝试将一个工作站(wpa_supplicant)连接到 OWE 接入点
· 通过使用 Wireshark 检测两者之间的流量,验证接入点和站点正确地实现了 OWE
· 尝试对 OWE 接入点执行概念验证攻击
在评估 OWE 转换模式时,我们遵循了相同的步骤。
在这四个步骤中,前三个步骤实际上是整个项目中最困难和最耗时的部分,主要原因是缺乏文档。 回想一下,我们在2019年4月开始了我们的研究。 创建或连接到 OWE 访问点所需的配置参数当时都没有公开记录。 实际上,我们最终构建了 hostapd 和 wpa_supplicant的工作配置文件,这是通过逆向 hostap 的测试套件实现的,该套件包含超过100,000行的 Python 代码。 然后,通过遵循类似于本系列第二部分中的流程,我们验证了我们的配置是正确的。
然而,一旦我们设法克服了这些挑战,实际的概念验证攻击变得相当虎头蛇尾——我们所要做的就是创建一个使用 OWE 而不是开放 WiFi 的流氓 AP。 通过这样做,我们能够证明我们的假设,而不必开发任何真正的新技术。
概念练习的证明: OWE 克隆AP攻击
在本节中,我们将提供对 OWE 的概念验证攻击的完整练习。 本练习假设i已经完成了本指南第二部分中的实验室设置步骤:
从你的 owe-lab 目录中,通过在 conf-files/hostapd-owe.conf 中找到的配置文件传递给hostapd,在wlan0上创建一个OWE访问点。 请注意,这与我们在本系列的第2部分中使用的配置文件相同。如果你对这个配置文件的功能感兴趣,您可以在这里找到详细的说明。
./hostapd conf-files/hostapd.conf
接下来,使用 confirm hostapd 已经正确地创建了一个OEW 访问点,如下面的屏幕截图所示(关于 Wireshark 的更详细的说明,请参阅第二部分)。
接下来,将在 conf-files/wpa supplicant-owe.conf 中找到的配置文件传递给 wpa_supplicant ,将wlan1作为客户端设备连接到运行在wlan0上的AP。
./wpa_supplicant -i wlan1 -c conf-files/wpa_supplicant-owe.conf
要验证关联、身份验证和密钥交换过程是否正确完成,请使用 Wireshark 和以下过滤器:
wlan.fc.type_subtype == 0xb || wlan.fc.type_subtype == 0x0 || wlan.fc.type_subtype == 0x1 || eapol
接下来,使用 eaphammer 创建一个在 wlan0上运行的 OWE 接入点的邪恶克隆AP(注意,我们正在使用 wlan2创建流氓 AP)。
./eaphammer -i wlan2 --captive-portal --auth owe --essid owe
接下来就是棘手的部分了: 让站点在 wlan1上运行,以连接到我们在 wlan2上运行的流氓 AP。 请记住,有两种方法可以执行流氓 AP 攻击:
· 滥用802.11的漫游过程: 只有当站点已经连接到合法 AP 时,漫游过程才能正常工作。 我们通过提供更高级的信号诱使站点漫游到流氓 AP,或者我们通过拒绝合法 AP 的访问,强制站点漫游到流氓 AP
· 滥用网络选择过程: 当站点当前没有连接到任何无线网络。 我们诱使站点连接到流氓 AP 通过使用一个 ESSID,这是站点的首选网络列表(PNL)[3]
有关这方面的更多信息,请参见: https://posts.specterops.io/modern-wireless-attacks-pt-i-basic-rogue-ap-theory-evil-twin-and-karma-attacks-35a8571550ee
目标站点已经连接到接入点,这意味着在这种情况下滥用802.11漫游进程是最合理的。 然而,OWE 使用了受保护的管理帧,防止我们伪造非认证数据包强制站点漫游[2]。 因此,我们不得不通过提供更高级的信号来诱使站点漫游到我们这里。 这就是我们的模拟无线环境开始显示其局限性的地方——我们实际上不能使用模拟的硬件来做到这一点(可以调整模拟的 AP 的发射功率,使其低于模拟的流氓 AP 的发射功率,但这实际上不会使硬件模拟器启动漫游)。
这个练习的目的不是要证明802.11的漫游过程可以被一个邪恶的克隆 AP 攻击滥用(我们已经知道这是可能的,特别是在近20年)[3]。 考虑到这一点,我们将通过简单地关闭合法的 AP 来将实验的这一部分白卡化,这有效地模拟了干扰攻击的效果,或者如果站点超出合法的 AP 的范围会发生什么。
./hostapd conf-files/hostapd-owe.conf
当合法 AP 不再可用时,在 wlan1上运行的站点开始搜索另一个具有相同 ESSID 的 AP 来进行连接。 我们在 wlan2上运行的邪恶的克隆 AP 回应了这个请求,并且站点连接到了恶意AP,如下面两个截图所示。
./wpa_supplicant -i wlan1 -c conf-files/wpa_supplicant-owe.conf
./eaphammer -i wlan2 --captive-portal --auth owe --essid owe
最后,我们可以用 Wireshark 来验证:
(wlan.fc.type_subtype == 0xb || wlan.fc.type_subtype == 0x0 || wlan.fc.type_subtype == 0x1 || eapol) && wlan.bssid == 00:11:22:33:44:00
就是这样——我们成功地对受 OWE 保护的网络进行了一次邪恶的克隆 AP 攻击。
概念证明结果: OWE 转换模式
我们也试图对 OWE 转换模式进行类似的攻击。 为了简短起见,将不提供这些概念证明攻击的详细练习。 然而,我们的结果应该相当简单,可以通过重用前面部分描述的步骤。 此外,EAPHammer Wiki 还提供了针对 OWE 转换模式执行流氓 AP 攻击的指令:
· https://github.com/s0lst1c3/eaphammer/wiki/XV.-Attacking-Opportunistic-Wireless-Encryption
下表总结了我们在尝试使用邪恶的克隆 AP 攻击 OWE 转换模式时采用的每种方法,以及每种方法的结果。
总结
WiFi 联盟(WiFi Alliance)推出 OWE 是朝着正确方向迈出的一步,因为它试图满足一项已有20年历史的需求,即为未经认证的无线网络提供加密支持。 然而,由于未能提供验证接入点身份的解决方案,它未能减轻针对开放网络的流氓接入点攻击的威胁。 通过这样做,它不能显著降低未经认证的无线通信所带来的风险,而且似乎忽略了它被引入的背景和环境。强制使用受保护的管理帧(PMF)的事实是一个稍微可取的因素,因为它将使流氓AP攻击稍微更难执行。然而,这一要求可能会降低当前无线入侵防御系统(WIPS)的效率,因为这些系统依赖于解除认证攻击来遏制威胁。
参考资料
[2] https://tools.ietf.org/html/rfc8110
本文翻译自:https://posts.specterops.io/war-never-changes-attacks-against-wpa3s-enhanced-open-part-3-owe-nearly-indistinguishable-ad3b3928a35a如若转载,请注明原文地址: