WebRTC(網頁實時通信,Web Real-Time Communication)是一個支持網頁瀏覽器進行實時語音對話或視頻對話的開源標準。使用WebRTC,用戶無需安裝其他軟件或瀏覽器插件即可進行即時通訊。近日WebRTC曝出安全漏洞,可能泄露用戶的真實IP地址,即使用戶使用了VPN。
什么是WebRTC?
WebRTC實現了基于網頁的視頻會議,標準是WHATWG 協議,目的是通過瀏覽器提供簡單的javascript就可以達到實時通訊(Real-Time Communications (RTC))能力。
在去年的Google I/O 大會上,Google表示WebRTC將支持超過十億個不同端點(桌面瀏覽器和移動設備端),也就是說WebRTC將應用Chrome瀏覽器和Android移動操作系統。
漏洞描述及影響
這個漏洞是在上月末被發現的。通過該漏洞,網站管理員可以輕易地通過WebRTC看到用戶的真實IP地址,即使用戶使用VPN隱藏自己的IP。
該漏洞影響了支持WebRTC的瀏覽器,包括Google Chrome和火狐,不過似乎只影響Windows操作系統。
漏洞原理
WebRTC采用STUN(Session Traversal Utilities for NAT)、TURN和ICE等協議棧對VoIP網絡中的防火墻或者NAT進行穿透。用戶發送請求至服務器,STUN服務器會返回用戶所用系統的IP地址和局域網地址。
返回的請求可以通過JavaScript獲取,但由于這個過程是在正常的XML/HTTP請求過程之外進行的,所以在開發者控制臺看不到。這意味著,這個漏洞的唯一要求就是瀏覽器要支持WebRTC和JavaScript。
你中招了嗎?
安全研究人員Daniel Roesler在GitHub上發布了一個演示,大家可以自己檢測一下有沒有中招。
你也可以通過下面的方法檢測:
1、連接VPN
2、訪問http://ipleak.net
如果你的瀏覽器安全的話,你就會看到上面的畫面。
如果你的瀏覽器存在這個漏洞,你可以看到你的真實IP地址。
防御措施
Chrome用戶:
Google Chrome和其他基于Chromium的瀏覽器用戶可以安裝插件屏蔽WebRTC或者也可以安裝ScriptSafe插件。
Firefox用戶:
如果你使用的是Firefox瀏覽器,你可以安裝屏蔽JavaScript的插件如NoScript。或者你也可以通過下列步驟修復:
1、在瀏覽器地址欄輸入about:config
2、在隨后出現的提示中點擊"我保證會小心”按鈕
3、搜索"media.peerconnection.enabled"
4、雙擊media.peerconnection.enabled首選項,是其值變為"false"
這樣就關閉了Firefox中的WebRTC