首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 汽车 游戏 社会热点 开源推荐 医疗健康 归档 标签 关于

WebKit 中的 IP 和 DNS 泄漏影响代理浏览器和 iCloud Private Relay

摘要

Like our research? Try Psylo. Psylo is our privacy-first browser for iOS and iPadOS, with a built-in proxy network, per-tab isolated web sessions, and anti-fingerprinting. Using it helps fund more wor...

the and iOS proxy Psylo device leaks our that through
2026-08-05 1 阅读 约7分钟阅读 lapcat
分享:
字号:
喜欢我们的研究吗?尝试一下赛洛。 Psylo 是我们适用于 iOS 和 iPadOS 的隐私优先浏览器,具有内置代理网络、每个选项卡隔离的 Web 会话和防指纹功能。使用它有助于资助更多这样的工作。了解我们为何构建它 → 下载 Psylo → 摘要 # 我们的概念验证网站 Leaks.psylo.app 可检测 iOS 和 macOS 上基于 WebKit 的泄漏,可以构建为通过代理服务器路由所有 Web 流量。这就是所有代理浏览器在 iOS 上的工作方式,包括 iOS Tor 浏览器和我们自己的浏览器 Psylo。网页建立的每个网络连接都应该流经配置的代理,因此网站只能看到代理的 IP 地址。我们发现三个 WebKit 功能可以绕过代理配置并直接从设备发送流量: DNS 预取通过设备的正常 DNS 路径解析主机名,这会显示用户的真实 DNS 服务器而不是代理的 DNS 服务器。自 iOS 26.0 起可用。 WebAuthn 相关源请求使操作系统的凭据服务直接从设备获取验证文件。这会暴露设备的真实 IP 地址。自 iOS 18.0 起可用。 WebTransport 打开直接 HTTP/3 连接并绕过代理,这也会暴露设备的真实 IP 地址。自 iOS 26.4 起可用。这些泄密事件还影响了苹果的 iCloud Private Relay。必须注意的是,VPN 不会受到影响,因为它们在系统级别隧道传输设备的整个网络流量。我们已就这些问题联系了 Tor 项目和 iOS 版 Onion 浏览器的开发人员。要测试泄漏,您可以访问我们的概念验证网站 Leaks.psylo.app 。 Psylo 1.3.1 中已修复:Psylo 现在默认阻止 dns 预取提示并禁用 WebTransport 和 WebAuthn。对于真正需要这些功能的网站,可以通过每个筒仓的切换来重新启用每一项功能。这种明确的选择将隐私权衡掌握在用户手中。有关详细信息,请参阅 Psylo 1.3.1 中引入的缓解措施。背景 # iOS 和 macOS 上的代理配置 # WKWebsiteDataStore.proxyConfigurations 在 iOS 17 和 macOS 14 中引入,允许基于 WebKit 的浏览器通过应用程序级别的代理服务器路由自己的所有 Web 流量。该 API 是 iOS 上代理浏览器的基础:网页进行的每个网络连接都应该流经配置的代理,因此网站只能看到代理的 IP 地址。 Psylo 用户报告的 DNS 泄漏 # 这项调查始于 Psylo 用户的错误报告,该用户在仅访问某些网站时注意到 DNS 泄漏,我们立即开始调查。 Psylo 通过 Mysk 专用代理网络(或用户自己配置的自定义代理)路由来自每个孤岛的所有流量,因此 DNS 查询应全部源自代理服务器,而不是来自设备。奇怪的是,这仅影响了一些网站,而不是所有网站。随着我们深入挖掘,我们发现了 DNS 泄漏的根源,另外还有两个泄漏实际上泄露了设备的真实 IP 地址。所有三个泄漏都存在于 WebKit 中,它们绕过了 WKWebsiteDataStore.proxyConfigurations 提供的代理设置。由于Apple的App Store政策要求每个iOS浏览器都使用WebKit,因此任何依赖此API进行代理的iOS浏览器都会受到影响,包括所有iOS Tor浏览器和Psylo。这些泄密事件也存在于苹果的 iCloud Private Relay 中。另一方面,VPN 不受这些问题的影响,因为设备的整个网络流量在系统级别通过 VPN 进行隧道传输。 iCloud Private Relay # iCloud Private Relay 是 Apple 为 iCloud+ 用户提供的隐私功能。启用后,它会通过两跳中继代理 Safari(且仅限 Safari)的网络流量和 DNS 查询,这样一来,任何一方(甚至 Apple 也无法)看到您的身份以及您访问的网站。事实证明,本文中描述的所有三个泄漏都发生在 WebKit 的标准页面加载过程之外,这意味着 Private Relay 也容易遭受相同的泄漏。 1. DNS 预取 # DNS 预取让网站在需要主机名之前要求浏览器解析主机名。因此,当稍后需要连接到该主机名时,查找已经完成并且连接启动得更快。这是通过 HTML 标记完成的。当页面包含该标签时,WebKit 会通过设备的正常 DNS 路径解析主机名,而不管浏览器通过 WKWebsiteDataStore.proxyConfigurations 设置的任何代理如何。页面可以在这些标签中嵌入唯一的每个访问者主机名,然后观察查询从访问者的真实网络而不是代理的网络到达其自己的权威 DNS 服务器。这是原始用户报告背后的泄漏,它解释了为什么只有一些网站触发了它:页面上没有预取标签,WebKit 不会执行此 DNS 查找。私人中继无法捕捉到这一点。它通常代理 Safari 的 DNS 查询,但这些预取查找会跳过它。查询到达 aut
这篇文章对您有帮助吗?

订阅66必读

每日精选科技资讯,直达你的邮箱