研究人员揭露了一种新的攻击方法——TunnelVision,独特地标识为CVE-2024-3661。该方法可以被攻击者在同一局域网内用来拦截和窃听VPN用户的流量。
攻击的危险性
Leviathan Security的研究人员Dani Cronce和Lizzie Moratti表示:“这对于依赖VPN来保护自己的人来说尤其危险,例如记者和政治异议人士。”这种攻击对普通VPN用户来说是不可察觉的,可能有一些个人或实体已经秘密使用这种技术多年。
研究人员指出:“幸运的是,大多数使用商业VPN的用户发送的网络流量主要是HTTPS(实际上约占85%)。对于使用TunnelVision的攻击者来说,HTTPS流量看起来像是一堆乱码,但他们知道你发送的乱码是给谁的,这可能会成为问题。”
“如果一个网站使用HTTP,那么就可以查看你所说的一切以及你在对谁说。”
TunnelVision攻击的工作原理
使用TunnelVision技术的攻击者有效地利用了动态主机配置协议(DHCP)的内置功能:DHCP选项121,允许DHCP服务器为VPN软件的路由表提供无类静态路由。
攻击者通过在用户的局域网中设置一个恶意的DHCP服务器,强迫目标主机(带有VPN客户端)接受来自该服务器的临时IP地址,从而将用户的VPN流量强制导向局域网。
研究人员解释道:“我们的技术是在针对的VPN用户所在的同一网络上运行一个DHCP服务器,并将我们的DHCP配置设置为使用自身作为网关。当流量到达我们的网关时,我们在DHCP服务器上使用流量转发规则将流量通过合法网关传递,同时进行窃听。”
他们还分享了攻击的演示视频和可以在不同场景下工作的实验室设置代码(被攻陷的DHCP服务器/接入点、攻击者拥有底层基础设施、“恶意双胞胎”接入点)。
如何防止TunnelVision攻击?
研究人员指出,TunnelVision是一种比之前演示的TunnelCrack更通用的攻击技术,后者依赖于滥用非RFC1918 IP范围来泄露流量或DNS欺骗来诱使VPN客户端为某个IP地址添加路由规则例外。“通过DHCP推送路由从同一攻击者的视角来看,影响显著更大,”他们表示。
TunnelVision攻击并未违反DHCP、路由表或VPN的安全属性。Cronce和Moratti指出:“在我们的技术中,我们没有破坏VPN的加密安全协议,VPN仍然完全可用。攻击者只是迫使目标用户不使用他们的VPN隧道。”
这种“漏洞”影响了根据RFC规范实现DHCP客户端的操作系统,并支持DHCP选项121路由的系统。受影响的操作系统包括Windows、Linux、iOS和macOS,但Android不受影响,因为它不支持DHCP选项121。
大多数(如果不是全部)依赖路由规则的VPN解决方案都受到影响,尽管有些通过实施防火墙规则来阻止用户流量到非VPN接口来缓解问题。
对VPN提供商和用户的建议
研究人员概述了当前可用的修复和缓解措施,并呼吁VPN提供商、操作系统维护者和企业实施这些措施。
他们表示:“企业VPN通常在咖啡馆、酒店或机场等地方使用。网络管理员应告知员工在这些地方工作存在风险,尽可能避免。”
“如果这样的政策不切实际,那么管理员应建议使用启用缓解或修复措施的VPN。一些替代方案是使用可信的热点,然后连接到VPN。最后,在虚拟机中运行VPN,该虚拟机从虚拟化的DHCP服务器获取租约,可以防止本地网络的DHCP服务器完全安装路由。”
同样,消费者端的VPN用户应考虑不使用不可信的(如公共Wi-Fi)网络,使用带有VPN的热点,或在没有桥接网络适配器的虚拟机中使用VPN。
通过了解TunnelVision攻击,VPN用户可以更加警惕,采取适当的措施保护自己的网络安全。