研究人员发现了一种名为 FROST 的新型浏览器攻击方式,它允许恶意网站通过测量固态硬盘(SSD)的读写延迟来推测用户正在访问的其他网站或运行的应用程序。这种攻击利用了现代浏览器提供的文件系统功能(OPFS),通过在硬盘上制造资源竞争并分析其产生的微小时间差来识别用户活动。尽管该技术目前存在一些局限性,例如需要创建非常大的文件,但它揭示了浏览器功能扩展所带来的新隐私风险。
一种利用硬盘延迟的新型追踪技术
长期以来,网站一直在使用各种巧妙技术来追踪访客,但 FROST 攻击开辟了一个全新的领域:通过物理硬件的特性来窥探用户隐私。这种技术属于一种“侧信道攻击”,即通过分析系统物理运作时产生的副作用(如电磁、缓存或任务完成时间)来推断信息。
这种攻击被称为“竞争侧信道攻击”,它通过测量不同进程在使用(或竞争)同一资源时的相互影响来获取信息。
具体来说,FROST 的运作方式如下:
- 攻击者网站在访客的浏览器中运行一段 JavaScript 代码。
- 这段代码会持续对访客的固态硬盘(SSD)进行读写操作。
- 当访客在其他标签页打开网站或运行本地应用时,这些活动也会占用 SSD 资源,从而导致攻击者代码的读写操作产生可测量的延迟差异。
- 通过分析这些延迟模式,攻击者就能推断出访客正在进行哪些活动。整个过程无需用户进行任何额外交互。
技术核心:浏览器内的文件系统
与以往需要更复杂条件的攻击不同,FROST 完全在浏览器内部完成,其关键在于利用了 OPFS (源私有文件系统)。
- 什么是 OPFS: 这是浏览器为特定网站分配的一个隔离存储空间,网站可以在其中存储和运行代码所需的文件。网站可以自动创建这个空间,不需要用户许可。
- 攻击原理: 尽管每个网站的 OPFS 都是沙盒化的,与其他网站和操作系统隔离,但它们都共享同一个物理 SSD。攻击者通过在自己的 OPFS 中创建一个大文件并反复读取,来测量由其他活动引起的 SSD 竞争。
- 数据分析: 攻击者会预先训练一个 卷积神经网络 (CNN) 模型。当收集到新的延迟数据后,就用这个模型进行分类,从而识别出造成延迟的具体网站或应用程序。
实际应用的局限性
幸运的是,这种攻击在现实世界中大规模部署还面临一些障碍:
- 需要超大文件: 为了产生足够清晰的延迟信号,攻击者需要在 OPFS 中创建一个可能超过 1GB 的巨大文件。这种行为很容易被用户察觉,因为会占用大量磁盘空间和网络带宽。
- 需在同一硬盘: 攻击只能监测与 OPFS 文件存储在 同一个 SSD 上的活动。如果用户的应用程序安装在不同的硬盘驱动器上,FROST 就无法检测到它们。
- 尚无实际案例: 目前没有证据表明 FROST 攻击已在真实环境中被恶意使用,它仍处于学术研究阶段。
如何防范与应对
研究人员和用户可以采取一些措施来降低此类攻击的风险。
- 对于普通用户而言,最简单有效的防范方法是 及时关闭不再使用的浏览器标签页。
- 技术水平较高的用户可以监控由未知网站创建的 OPFS 文件的大小和数量。
- 研究人员建议,浏览器制造商可以通过 限制 OPFS 文件的最大允许大小 来从根本上封堵这一侧信道。
研究人员在一个 M2 Mac 上成功实施了完整的 FROST 攻击,并在 Linux 上验证了其核心技术的可行性。这表明,原则上,任何能稳定产生 SSD 访问的系统活动,都有可能被训练模型来识别。