商用VPN服务日趋流行,对于追求隐私和匿名的用户来说,这是一种非常便捷的技术。该技术已被用户所广泛使用,VPN的服务提供商也在不断强调VPN的强大功能,同时也强调该服务能够切合用户的各种需求,例如绕过审查,匿名性,以及保护信息不受监视和追踪等。然而,供应商的这些声明并没有得到细致的审查。因此,这篇文章将会对商用VPN的服务提供商所声称的隐私和匿名性进行调查研究。除开一些众所周知的问题,研究揭露了主流VPN服务中的IPv6数据泄漏的问题,并根据能够捕获通讯信息的DNS劫持攻击来进一步扩展我们的研究。
近期所披露的大量监视项目以及政府对公民施加的各种限制已经引起了公众的担忧,普通民众担心他们的通讯信息会被不受信任或恶意的第三方获取。于是,能够帮助终端用户保护线上隐私及匿名的工具就变得越来越受欢迎了。在这些工具中,基于VPN的解决方案受到了广泛的关注。实际上,当今的市场上充斥着大量廉价的商用VPN服务,这些服务的提供商声称,通过受信的远程节点和经过加密的互联网通讯隧道,他们能够增强用户的安全性,保护用户的隐私,甚至还能够提供匿名服务。
我们首先对几种商用的VPN服务进行研究,以此来了解他们的基础设备和所使用技术。现在,市场上存在着大量的商用VPN服务提供商。因此,我们首先分析了市场上排名前14位的服务提供商。
我们发现,宣传得最多得功能就是“访问受限制的内容”和“匿名性”。就前者来说,服务提供商通过隧道通信向用户提供了能够访问不同国家信息的途径,尽管该功能的性能和价格千差万别。然而,匿名的概念却显得极为模糊。这并不令人惊讶,像VPN和Tor这样的服务,原本的功能就不是为了提供匿名性和隐私保护的。
研究中,所有的VPN服务都依赖于操作系统路由表的正确配置。令人担忧的是,并没有任何措施能够保证这种操作的正确性,比如说,通过监视路由表来保证初始设置没有被修改等等。因为一个小小的改变就会破坏VPN隧道的安全性。
该漏洞存在于常见操作系统的原始IPv4/6的双协议栈中,双协议栈用于两个协议进行网络通信的过程中,目的是允许一个网络或主机虚拟地对IPv4和IPv6进行操作。
IPv6通常会被IPv4的VPN隧道服务优先使用,在这种情况下,操作系统会定向到IPv6的路由表来选取第一跳的路由器,这样便绕过了VPN对IPv4路由表所做的修改。因此,IPv6所有的数据流量将会流经本地的网络接口,而不是VPN隧道。这便是引起IPv6数据泄漏的关键之处。
我们通过对受到攻击的应用程序(例如Web浏览器)进行的研究,来衡量和IPv6数据泄漏的严重性。我们结合了大量的研究数据,并从多个角度对这个问题进行了分析。我们得出了以下结论,尽管该漏洞只会在主机使用IPv6进行连接时出现,但近期的研究工作表明,该漏洞的出现呈现出了一种上升的趋势。
在我们的研究中,我们发现大多数的网站带有大量的第三方插件(例如广告,追踪器,分析工具和社交媒体插件)。而且,导致这次泄漏问题的根源指向了HTTP的数据头,它泄漏了用户所访问的确切的URL地址,而且每一个第三方的插件对象都含有这个地址。
为了给这种现象定量,我们研究了大量使用IPv6的第三方插件。结果表明,使用了IPv6的第三方插件是非常常见的。实际上,在我们所研究的网页中,有92%的网页页面至少包含了其中的一种插件。
对上述漏洞的一个关键假设就是,主机已经链接到了启用了IPv6的网络中了。这种网络可能属于一个未知的ISP,或者是一个想要获得泄漏的IPv6数据的一个恶意接入点。无论是哪种情况,只有IPv6的通信是有漏洞的。接下来,我们将对尝试实施DNS泄漏的攻击进行讨论。
DNS劫持攻击的原理是:通过操控一个主机,再将主机的DNS查询重定向至一个由黑客所控制的服务器上。暂且不论DNS的解析过程,我们发现大多数的VPN服务并没有保护该过程安全的机制。我们将研究所观察到的DNS配置分成了三种类型:1.默认;2.VPN管理-第三方DNS;3.VPN管理-个人DNS。
最简单的情况就是,目标主机的VPN客户端并没有修改DNS的默认配置。在这种情况下,破坏DNS查询是非常简单的。接入点可以仅仅通过使用DHCP,便可以让目标主机的DNS服务器定向至由该接入点所控制的服务器。然后,攻击者便会接收到所有由目标主机所生成的DNS查询请求了。
下面的图片显示了DNS劫持的过程(PPTP和L2TP隧道):
通过整个研究,我们意识到存在于当今市场上的VPN服务还有另一个令人担忧的方面。例如,一个类似“Tor vs VPN”的简单谷歌查询,会返回大量不属于Tor社区的web页面。
还没有评论,来说两句吧...