WebRTC泄露源IP的防范措施

  • A+
所属分类:技术关注
作者: 安全北北
创建: 2023-04-13 12:24
更新: 2023-04-14 00:36
https://scz.617.cn/web/202304131224.txt

目录:

    ☆ 背景介绍
    ☆ 测试WebRTC泄露源IP
    ☆ 阻止WebRTC泄露源IP
        1) WebRTC Leak Shield (推荐)
        2) 其他扩展
        3) 其他讨论
    ☆ 后记

☆ 背景介绍

参看

https://weibo.com/2635351511/MBMlNlhNq

2023.4.13,网友「安全北北」在微博上分享一则WEB安全相关的信息,以下是他的原话:「今天看到同事说这个网站(略)可以获取到请求来源真实IP,我试了一下,确实,无论是机场还是自建(包括gost tls),都可以被探测出源IP。研究了一下,应该是WebRTC的问题,网站可以利用STUN服务器获取到本地的IP地址。简单解决方案,安装 WebRTC Leak Shield 扩展」

我不懂WEB安全,尤其不懂WEB前端安全,他说的WebRTC、STUN什么的,完全不懂。这种你问ChatGPT,对于毫无此方向基础的人而言,意义不大,让我们换个更聚焦、更吓人的方式科普。Chrome/Opera/Edge这些浏览器,很可能支持所谓WebRTC技术;假设A机使用前述浏览器,挂了线路到B机,以B机为中转站访问C机,你以为C机只能看到B机的IP,但C机通过WebRTC技术可以看到A机的IP。

☆ 测试WebRTC泄露源IP

最初看到「安全北北」的分享,将信将疑。接完cby回家,赶紧在Win10上测试,Chrome/Opera/Edge不幸中招,Firefox逃过此劫,我没有其他浏览器,据说Safari在此问题上表现不错。测试方案很简单,打开浏览器,挂线路访问如下URL

https://ip8.com/webrtc-test

社会可能毒打你。看到A、B机IP同时出现在C机页面上,内心是崩溃的,颠覆了我本就不多的WEB安全认知,无知者无畏太可怕。另一个中文测试URL

https://www.hackjie.com/tracking

WebRTC Leak Shield 扩展附送了一个DNS泄露测试URL

https://dnsleaktest.org/dns-leak-test

检查出口源IP的URL到处都是,用自己常用的好了,给比我还白的小白写几个

https://ip4.me/
https://api.ipify.org (只返回源IP)
http://checkip.dyndns.com
https://ipinfo.io/

☆ 阻止WebRTC泄露源IP

1) WebRTC Leak Shield (推荐)

以下是Chrome/Edge/Firefox的"WebRTC Leak Shield"扩展所在URL,各自打开相应URL安装即可,也可在扩展商店中搜索定位,Opera可以装Chrome扩展。装完立即生效,可重新测试WebRTC泄露源IP情况,一般均被阻止了。

https://chrome.google.com/webstore/detail/webrtc-leak-shield/bppamachkoflopbagkdoflbgfjflfnfl
https://microsoftedge.microsoft.com/addons/detail/pblfgfehcokbglafpcldgjpmknildihk
https://addons.mozilla.org/en-US/firefox/addon/webrtc-leak-shield/

根据我这儿的测试情况,Firefox不装该扩展也不泄露源IP,保险起见,还是装吧。

2) 其他扩展

WebRTC Control (在Edge版评论区有质疑评论,怀疑有猫腻,不推荐)
WebRTC Protect - Protect IP Leak (未测试)

3) 其他讨论

Chrome/Opera/Edge有个配置项

chrome://flags/#enable-webrtc-hide-local-ips-with-mdns
opera://flags/#enable-webrtc-hide-local-ips-with-mdns
edge://flags/#enable-webrtc-hide-local-ips-with-mdns

显示的信息是

Anonymize local IPs exposed by WebRTC.
Conceal local IP addresses with mDNS hostnames

一般情况下,启用该配置项并不能阻止WebRTC泄露源IP,因为你很可能并未使用mDNS。

Firefox有个配置项

about:config
media.peerconnection.enabled

据说从缺省的true设为false,会禁用WebRTC。但我这儿测下来,无论true还是false,Firefox都没有泄露源IP。保险起见,我将之设为false。

☆ 后记

「安全北北」就此事评论,还好我在外网都是只围观,从不评论或转发,也不主动发布任何吐槽信息。我也是这样,主要以获取技术资源为目的,不涉Z。虽然不懂WEB安全,今晚之前并不知道这个天坑等着我,但我在此类问题上谨慎多疑,小心使得万年船,天晓得老大哥在哪儿看着你。之前和DY看一个专利,他说客户端指纹画像技术很成熟。

今晚「安全北北」这条信息对我太重要了,名列近10年内的Top 1。得亏我关注着他的微博,我为啥关注呢,因为我知道这些都是坏人,坏人知道的歪招多,多关注坏人,错不了。别看他经常发模型训练出来的妹子图,10年发这一条微博我就赚到了。感谢!

要还没明白发生啥了,再多说一句,「你以为你在科学上网,其实你在科学裸奔」。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin