网络安全研究员Paolo Stagno测试了70个VPN提供商,发现其中有16个通过WebRTC泄漏了用户的IP(23%)。
什么是WebRTC
WebRTC(Web Real-Time Communication)是一个支持网页浏览器进行实时语音对话或视频对话的技术,是谷歌2010年以6820万美元收购Global IP Solutions公司而获得的一项技术。2011年5月谷歌开放了WebRTC的源代码,在行业内得到了广泛的支持和应用。
漏洞原理
WebRTC采用STUN(Session Traversal Utilities for NAT)、TURN和ICE等协议栈对VoIP网络中的防火墙或者NAT进行穿透。用户发送请求至服务器,STUN服务器会返回用户所用系统的IP地址和局域网地址。
返回的请求可以通过JavaScript获取,但由于这个过程是在正常的XML/HTTP请求过程之外进行的,所以在开发者控制台看不到。这意味着,这个漏洞的唯一要求就是浏览器要支持WebRTC和JavaScript。
公布VPN泄露测试结果
https://docs.google.com/spreadsheets/d/1Nm7mxfFvmdn-3Az-BtE5O0BIdbJiIAWUnkoAF_v_0ug/edit#gid=0
如何检查VPN是否泄漏
如果显示的ip地址是自己的真实地址,而不是vpn的地址,说明vpn泄露。