G.O.S.S.I.P 阅读推荐 2024-06-07 假如Wi-Fi欺骗了你

作为影响上千万人命运的重要事件,高考又来了,在这里我们放上号称是“戕害”了2003年无数学子的高考数学备用卷(那一年因为原来的考题被盗,临时启用了高难度的备用卷)镇楼(版权没有,切勿追究),希望大家都能考出好成绩,去到自己想去的学校(听说上海交通大学还不错哟)!

回到今天的阅读推荐,既然是高考,手机信号也得屏蔽,那就只能靠Wi-Fi了,前段时间(或者说已经老长时间了)有一个网上流传的经验——“家用的两个路由器,设置同样的无线网名称和密码,可无缝切换增强信号”,实际上这个不是很靠谱,如果需要全屋Wi-Fi信号增强,还是去选择无线路由厂商的各种方案。不过,研究人员却发现 了另一个比较有趣(当然也是有害)的情况,这也引出了今天我们要介绍的WiSec 2024研究论文SSID Confusion: Making Wi-Fi Clients Connect to the Wrong Network要讨论的核心内容:

在这篇论文中,作者提出了一个问题,如果两个SSID不同的Wi-Fi网络,使用了相同的密码,那会怎么样?你也许会问,为什么会有这种情况,实际上现在我们家用路由器就经常会有这种情况呀——很多不是那么新的路由器会把2.4G和5G两个频段分别弄成两个SSID,保证兼容旧设备的同时也支持新设备接入,而这时候很多用户一般都会比较懒,把两个不同的SSID对应的密码设置为相同。当然,这种情况并不涉及什么安全威胁,毕竟两个SSID都是同一个路由器,但是作者脑洞大开,去研究了这种情况下,两个SSID之间会发生什么故事,还真让他们发现了一些问题:

我们只要看完上图,基本上就可以搞清楚这个问题所在了:假定有一个无线中间人在客户端准备连接到Wi-Fi网络的时候能够对建立连接的过程(也就是这时候双方通信的数据包)进行修改(注意到这个时候是没有数据完整性和机密性保证的),这个中间人甚至都不需要知道SSID对应的密码,就可以做一些坏事,让我们来解释一下:

  1. 首先,大前提是客户端已经连接过一些不同的SSID,并且保存了密码,假设有两个SSID不同的Wi-Fi接入点(图中用TrustedNet和WrongNet来指代)密码是一样的;

  2. 客户端扫描Wi-Fi信号,然后中间人把WrongNet发出的beacon信号(广播SSID用的)给修改了,把里面的SSID改成TrustedNet对应的SSID;

  3. 客户端看到被修改的beacon信号,以为是TrustedNet,就直接连接过去了,但因为TrustedNet和WrongNet有相同的密码,因此这时候也能连上,注意此时中间人还要把客户端发回的数据包再修改一次,要让里面的SSID值和WrongNet对应的SSID值保持一致;

  4. 接下来进行Wi-Fi的握手、密钥协商等乱七八糟的步骤,然后客户端就连上了WrongNet,但是它却以为自己连上的是TrustedNet,本地显示的也是连上了TrustedNet;

  5. 最后,中间人在单纯地做数据转发的同时,还要不停的再把WrongNet发出的beacon信号不停改写,这样客户端就会一直以为它在TrustedNet的附近,而不会中断掉已经和WrongNet建立的连接。

这个攻击实质上就只做了一件事,就是让客户端(用户)连上一个以前连接过的Wi-Fi接入点,但是却以为自己连上的是另一个接入点,而且还要受到一些约束,除了要求两个SSID对应的密码要一致以外,还要考虑在密钥协商过程中,SSID是否会参与到会话密钥生成中来,下表展示了哪些具体的Wi-Fi认证方法会被本文的攻击影响(也就是说,这些认证方法没有把SSID作为会话密钥生成的材料之一)。

作者也检查了一下哪些客户端会被欺骗上当,从下表可以看出,基本上常见的客户端都会被欺骗(当然这个攻击条件略强,客户端不去仔细检查也情有可原)。

最后,让我们来总结一下这篇论文:假如 第一天没考好 Wi-Fi欺骗了你,不要悲伤,不要心急!忧郁的日子里须要镇静:相信吧,快乐的日子将会来临!

再次祝今年参加高考的读者都能金榜题名(当然,今晚就别读我们的公众号了)!!!


论文:https://dl.acm.org/doi/10.1145/3643833.3656126
PoC:https://github.com/vanhoefm/ssid-confusion-hostap (珍惜吧,GitHub很快就不让同步了!)


免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。查看原文

为您推荐