Internet users increasingly rely on commercial virtual private network (VPN) services to protect their security and privacy. The VPN services route the client's traffic over an encrypted tunnel to a VPN gateway in the cloud. Thus, they hide the client's real IP address from online services, and they also shield the user's connections from perceived threats in the access networks. In this paper, we study the security of such commercial VPN services. The focus is on how the client applications set up VPN tunnels, and how the service providers instruct users to configure generic client software. We analyze common VPN protocols and implementations on Windows, macOS and Ubuntu. We find that the VPN clients have various configuration flaws, which an attacker can exploit to strip off traffic encryption or to bypass authentication of the VPN gateway. In some cases, the attacker can also steal the VPN user's username and password. We suggest ways to mitigate each of the discovered vulnerabilities.
翻译:互联网用户越来越多地依靠商业虚拟私人网络(VPN)服务来保护他们的安全和隐私。 VPN服务将客户的流量通过加密隧道传送到云中VPN网关上。 因此,他们将客户的真实IP地址隐藏在网上服务中,并且还保护用户的连接不受访问网络中可见的威胁。 在本文中,我们研究了这种商业VPN服务的安全。 重点是客户应用程序如何设置VPN隧道,以及服务提供商如何指示用户配置通用客户软件。 我们分析了在Windows、 MacOS 和 Ubuntu 上的通用VPN协议和执行。 我们发现VPN客户存在各种配置缺陷, 攻击者可以利用这些缺陷来解开交通加密或绕过 VPN网关的认证。 在某些情况下, 攻击者还可以窃取VPN用户的用户名和密码。 我们建议如何减轻每个发现的脆弱性。