一般用户使用代理服务器,很多时候是不希望暴露自己的真实IP地址,但最近暴露出一个WebRTC一个特性,会暴露我们的真实IP,对于大多数扫瞄 器例如Chrome、Firefox等都存在这种问题。
什么是WebRTC
WebRTC(Web Real-Time Communication)是一个支持网页扫瞄 器进行实时语音对话或视频对话的技术,是谷歌2010年以6820万美元收购Global IP Solutions公司而获得的一项技术。2011年5月谷歌开放了WebRTC的源代码,在行业内得到了广泛的支持和应用。
漏洞影响
通过该漏洞,网站治理 员可以轻易地通过WebRTC看到用户的真实IP地址,即使用户使用VPN隐藏自己的IP。该漏洞影响了支持WebRTC的扫瞄 器,包括Google Chrome和Firefox等常见的扫瞄 器。
网络安全研究员Paolo Stagno测试了70个VPN提供商,发现其中有16个通过WebRTC泄漏了用户的IP(23%)。你可以通过这个地址来检查你的VPN是否泄漏了你的真实IP。
漏洞原理
WebRTC采纳STUN(Session Traversal Utilities for NAT)、TURN和ICE等协议栈对VoIP网络中的防火墙或者NAT进行穿透。用户发送请求至服务器,STUN服务器会返回用户所用系统的IP地址和局域网地址。
返回的请求可以通过JavaScript猎取 ,但由于这个过程是在正常的XML/HTTP请求过程之外进行的,所以在开发者操纵 台看不到。这意味着,这个漏洞的唯一要求就是扫瞄 器要支持WebRTC和JavaScript。
解决方法
对于用户来说,如果不想自己的真实IP地址泄漏,可以通过禁用WebRTC来防止真实IP地址泄漏。
Firefox扫瞄 器禁用WebRTC的方法是:在扫瞄 器上输入:about:config。之后搜索:media.peerconnection.enabled。找到它后双击,将其改成 false 即可。
Chrome扫瞄 器禁用WebRTC的方法是:在Chrome应用商店里,安装一个名为WebRTC Leak Prevent的扩展,然后选择 Use my Porxy server(if present) 即可。