某些 Chrome VPN 扩展被指泄露 DNS 查询
翻译:360代码卫士团队
由于“DNS 预提取”功能的存在,谷歌 Chrome 的浏览器 VPN 扩展可能正在将 DNS 查询泄露给外部观测者。
该功能是在用户点击某个链接之前Chrome 提出 DNS 请求时起作用。例如,当用户悬停在某个链接时,Chrome 为域名提出 DNS 请求,而且还会为填充 Chrome 地址栏下拉式自动填充的域名运行 DNS 查询。
“DNS 预提取”功能的目的很明显,它旨在帮助 Chrome 在页面加载时节省几毫秒的时间。正因如此,在标准的配置下,谷歌 Chrome 浏览器默认启用 “DNS 预提取”功能。
在正常情况下,VPN 客户端会使用自定义 DNS 设置来隐藏用户的 DNS 查询。但 TheBestVPN.com 公司的员工 John Mason 表示,一些 Chrome VPN 扩展未能掩藏通过 DNS 预提取系统提出的查询。
这个问题的根因在于 VPN 扩展如何将 DNS 查询从 Chrome 进入 VPN 客户端。某些配置情况导致 DNS 查询泄露。
Mason 在博客文章发表的技术详情中表示,“这个问题在于,当使用 pac_script 模式时,DNS 预提取仍然在起作用。由于 HTTPS 代理并不支持代理 DNS 请求且 Chrome 并不支持经由 SOCKS 协议的 DNS,所有预提取的 DNS 请求将会经过系统 DNS,从而导致 DNS 遭泄露。”
Mason 开展的一项调查显示,由于 DNS 预提取查询功能的存在,在15个流行 Chrome VPN 扩展中,10个扩展泄露用户的潜在浏览模式。这些 Chrome VPN 扩展如下:
Hola VPN
OperaVPN
TunnelBear
HotSpot Shield
Betternet
PureVPN
VPN Unlimited
ZenMate VPN
Ivacy VPN
DotVPN
Mason 还测试了 WindScribe、NordVPN、CyberGhost、Private Internet Access 和 Avira Phantom VPN,结果发现它们并没有因 Chrome 的预提取行为泄露 DNS 查询。
Mason 还公布了一个简单的程序供用户测试其它 Chrome VPN 扩展是否泄露 DNS 请求。
激活 VPN 的 Chrome插件。
进入 chrome://net-internals/#dns。
点击“清空主机缓存”。
悬停链接或使用 Chrome 地址栏进行查询。
观察 DNS 主机表中是否会出现新域名。
Mason 表示,DNS 泄露的原因似乎存在于浏览器扩展上。
他指出,“它们应该通过自己的网络路由包括 DNS 加密流量在内的所有 web 流量,但很多浏览器扩展并没有这么做。当经由提供商为操作系统准备的 VPN 应用连接 VPN 时并不会产生这种问题。”
因此避免 DNS 预提取泄露的最简单的方法是打开 VPN 客户端本身,而不是仅依靠 Chrome VPN 扩展。
另外,用户也可通过关闭 DNS 预提取功能阻止 DNS 泄露。
VPN 用户也可通过取消对如下两个 Chrome 设置的勾选关闭 DNS 预提取功能:
使用预测服务补全查询以及输入地址栏中的 URL。
使用预测服务更快地加载页面。
Mason 指出,VPN 扩展不应该泄露类似 IP 地址的 DNS 数据。他认为这是一个严重问题,他希望该问题能引起相关方重视并予以修复。
关联阅读
原文链接
https://www.bleepingcomputer.com/news/security/some-chrome-vpn-extensions-leak-dns-queries/
本文由360代码卫士编译,不代表360观点,转载请注明 “转自360代码卫士www.codesafe.cn”。