浏览器里的隐形间谍:FROST攻击如何通过硬盘时序窃取你的隐私

admin 2026-06-02 04:11:30 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 格拉茨技术大学研究发现名为FROST的新型侧信道攻击,利用浏览器OPFSAPI通过测量SSD访问延迟差异,可在无需用户交互情况下远程窃取浏览记录和应用使用情况。该攻击在Linux/macOS上可实现超600bit/s的隐蔽通信,对50个网站的识别准确率达87%,且能跨浏览器生效。研究建议限制OPFS文件大小或高精度计时器权限作为缓解措施。 综合评分: 85 文章分类: 漏洞分析,数据安全,应用安全,网络安全,威胁情报


cover_image

浏览器里的隐形间谍:FROST攻击如何通过硬盘时序窃取你的隐私

原创

黑鸟 黑鸟

黑鸟

2026年5月31日 23:26 广东

在小说阅读器读本章

去阅读

在数字时代,我们的浏览器早已不再是简单的网页查看工具。从在线办公套件到专业级视频编辑器,再到完整的集成开发环境,几乎所有能在本地运行的应用都已经搬到了浏览器中。这种转变带来了前所未有的便利性和跨平台体验,但也悄然打开了新的安全漏洞。

来自格拉茨技术大学的研究团队最近发现了一种名为 FROST 的新型攻击技术。它利用现代浏览器中的 Origin Private File System (OPFS) API,通过测量固态硬盘 (SSD) 的访问延迟差异,能够在完全不需要用户交互的情况下,远程窃取用户的浏览记录和应用使用情况。

FROST 全称是 Fingerprinting Remotely using OPFS-based SSD Timing,也就是基于 OPFS 的 SSD 时序远程指纹识别攻击。它的核心原理是利用 SSD 硬件资源的争用效应。当多个程序同时访问同一块 SSD 时,每个程序的访问速度都会变慢。攻击者可以通过精确测量自己程序的磁盘访问时间,推断出系统中其他程序的活动模式。

在此之前,类似的 SSD 争用侧信道攻击已经被证明可行,但它们都需要在受害者系统上执行原生代码。这大大限制了攻击的实际影响范围。FROST 的突破性在于,它完全运行在浏览器的 JavaScript 沙箱中,只需要受害者点击一个恶意链接,攻击就可以在后台静默执行。

OPFS:浏览器中的私有文件系统

#

现代浏览器为了支持复杂的 Web 应用,引入了多种本地存储机制。从最早的 Cookie 到 LocalStorage 和 IndexedDB,这些存储方式都有各自的局限性。为了提供接近原生应用的文件系统访问能力,浏览器厂商推出了 Origin Private File System (OPFS) API。

OPFS 为每个网站提供了一个独立的沙箱化文件系统。网站可以在其中创建、读取和写入文件,而不需要向用户请求任何权限。这些文件会持久保存在用户的本地磁盘上,并且只能被创建它们的网站访问。正是这种无需权限的高速文件访问能力,为 FROST 攻击提供了完美的载体。

操作系统为了提高磁盘访问性能,会将最近访问过的数据缓存在内存中。这个缓存被称为页面缓存,在 macOS 中则被称为统一缓冲区缓存。由于内存的访问速度比 SSD 快几个数量级,一旦数据被缓存,后续的访问就不会再实际访问磁盘,也就无法泄露任何时序信息。

传统的侧信道攻击需要复杂的页面缓存驱逐技术来强制系统重新从磁盘读取数据。FROST 采用了一种更简单有效的方法。攻击者在 OPFS 中创建一个比系统总内存还要大的文件。当攻击者随机读取这个文件的不同部分时,页面缓存永远无法容纳整个文件。每次访问新的偏移量都会导致缓存中的旧数据被驱逐,从而强制系统实际访问 SSD。

为了准确测量 SSD 的访问延迟,攻击者需要高精度的计时器。现代浏览器为了防止时序侧信道攻击,默认会降低 JavaScript 计时器的分辨率。不过,通过配置适当的 Cross Origin Opener Policy (COOP) 和 Cross Origin Embedder Policy (COEP) 头,网站可以启用跨源隔离模式,从而获得访问高精度计时器的权限。

FROST 攻击正是利用了这一点。通过启用跨源隔离,攻击者可以获得足够精确的计时数据,来区分不同活动模式下的 SSD 访问延迟差异。

攻击的实际效果

研究人员在 Linux 和 macOS 系统上对 FROST 攻击进行了全面评估,结果令人震惊。

研究人员首先构建了一个隐蔽通道,用于测量 SSD 争用侧信道的最大信息传输速率。在这个场景中,一个原生应用作为发送方,通过生成不同程度的 SSD 争用来编码信息。运行在浏览器中的恶意网站作为接收方,通过测量自己的文件访问时间来解码信息。

实验结果显示,在 Linux 系统上,使用 OPFS 的隐蔽通道可以达到 661.63 bit/s 的真实传输速率。在 macOS 系统上,这个数字更是高达 891.77 bit/s。这样的传输速率已经足够在几秒钟内传输完整的密码或密钥信息。

值得注意的是,这些速率几乎与使用原生代码实现的同类攻击相当。这表明浏览器沙箱并没有有效阻止这种基于硬件争用的信息泄露。

最具实际威胁的是 FROST 的网站指纹识别能力。当用户访问不同的网站时,浏览器会进行不同的磁盘操作,包括加载缓存、写入 Cookie、存储资源等。这些操作会产生独特的 SSD 争用模式,就像每个人的指纹一样。

研究人员收集了 Alexa 排名前 50 的网站的时序数据,每个网站收集 100 条痕迹。使用这些数据训练了一个卷积神经网络 (CNN) 模型。在封闭世界场景中,也就是只考虑这 50 个网站的情况下,模型的 F1 分数达到了 88.95%。在更贴近现实的开放世界场景中,模型的宏观平均 F1 分数仍然达到了 86.95%。

这意味着,只要受害者在访问恶意网站的同时浏览其他网页,攻击者就可以以极高的准确率知道受害者正在访问哪些网站。更可怕的是,这种攻击甚至可以跨浏览器进行。即使恶意网站运行在 Chrome 中,而受害者使用 Safari 浏览网页,攻击仍然有效。

FROST 攻击不仅可以识别网站访问,还可以识别系统中运行的应用程序。不同的应用在启动和运行时会产生不同的磁盘访问模式。研究人员选择了 10 个 macOS 预装的原生应用进行测试,包括通讯录、计算器、音乐、App Store 等。

每个应用收集 100 条启动痕迹,训练后的模型在封闭世界场景中达到了 95.83% 的 F1 分数。这意味着攻击者可以准确地知道受害者何时启动了哪个应用程序。

攻击的局限性

#

尽管 FROST 攻击效果显著,但它也存在一些局限性。首先,受害者的活动必须导致对与 OPFS 文件所在的同一块磁盘的访问。这在大多数消费级设备上不是问题,因为它们通常只有一块内部 SSD。但在有多块磁盘的工作站上,如果应用程序使用不同的磁盘,攻击可能会失效。

其次,攻击需要创建一个比系统内存大的文件。在 Chrome 和 Safari 中,OPFS 允许网站使用最多 60% 的磁盘空间,这对于大多数系统来说已经足够。但在 Firefox 中,每个网站的 OPFS 存储限制为 10GB 或总磁盘空间的 10%,以较小者为准。不过,攻击者可以通过使用多个独立的网站来绕过这个限制,因为每个网站都有自己独立的 OPFS 存储配额。

最后,用户如果监控自己的磁盘使用情况,可能会注意到异常的大文件。但大多数普通用户不会定期检查浏览器的存储使用情况,而且浏览器也不会主动提醒用户 OPFS 的存储消耗。

研究人员已经负责任地向谷歌、Mozilla 和苹果披露了这一发现。然而,厂商的回应并不令人满意。Chromium 团队表示,他们不认为指纹识别攻击属于安全漏洞。苹果认为该攻击目前不在其处理范围内,但可能在未来实施缓解措施。Mozilla 承认了这一发现,但尚未实施任何缓解措施。

目前,有几种可能的缓解方法。一种是限制 OPFS 的最大文件大小,使其无法超过系统内存。但这会影响许多合法应用的使用,而且攻击者仍然可以通过多个网站绕过这个限制。另一种方法是在使用 OPFS 时限制高精度计时器的访问。最彻底但也最影响用户体验的方法是要求用户明确授予 OPFS 使用权限。

有趣的是,研究人员发现,如果系统使用 profile-syncdaemon (PSD) 将浏览器配置文件移动到 tmpfs 中,那么 OPFS 文件实际上不会存储在 SSD 上,从而完全阻止了 FROST 攻击。但这只是一个临时的解决方案,并不适用于所有用户。

对于普通用户来说,目前还没有简单有效的方法来完全防范 FROST 攻击。最基本的防护措施仍然是不要点击可疑的链接,不要访问不可信的网站。同时,定期清理浏览器的存储数据也可以在一定程度上减少攻击的影响。

来源:《FROST: Fingerprinting Remotely using OPFS-based SSD Timing》

往期:

欧洲运营商推出新型广告追踪系统Utiq:清空缓存也没用,30秒教你关闭


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:黑鸟 黑鸟 黑鸟《浏览器里的隐形间谍:FROST攻击如何通过硬盘时序窃取你的隐私》

    评论:0   参与:  0