研究人员发现了一种名为 FROST 的新型浏览器攻击方式。攻击者可以通过网页代码,测量用户固态硬盘(SSD)的读写延迟,再利用人工智能模型分析这些数据,从而推断出用户正在使用的其他网站和应用程序。尽管这种攻击需要创建一个极大的文件,并且有特定硬件要求,但它揭示了一种全新的、通过浏览器监视用户设备活动的可能性。
一种新的监视方法:FROST 攻击
FROST 是一种 侧信道攻击,其核心原理是利用网页中的 JavaScript 代码来间接获取设备信息。虽然每个网站的文件系统都是沙盒化的,无法直接访问其他数据,但它仍然可以测量硬盘的性能。
攻击过程可以分解为以下几个步骤:
- 创建大文件: 攻击者网站会在用户设备上创建一个极大的 OPFS (Origin Private File System) 文件,通常超过 1GB。
- 持续测量延迟: 网页中的 JavaScript 会不断地从这个大文件中随机读取数据,并记录下每次读取所需的时间,即 SSD 访问延迟。
- 分析活动干扰: 当用户打开其他网站或应用时,这些活动也会占用 SSD 资源,造成 SSD 争用。这种争用会使得攻击者网页的读取延迟产生可测量的微小变化。
- AI 模型识别: 攻击者使用预先训练好的 卷积神经网络(CNN) 来分析这些延迟变化的模式。通过将新收集到的延迟数据与模型进行比对,就能识别出是哪个特定的应用程序或网站造成了这种模式。
研究人员解释说:“攻击者通过对一个大型 OPFS 文件进行随机读取,来持续测量 SSD 的争用情况。由用户活动引起的 SSD 争用会导致这些读取操作产生可测量的延迟差异。通过在这些痕迹上训练卷积神经网络,攻击者可以利用训练好的模型对新的痕迹进行分类,从而识别主机系统上的用户活动。”
攻击的局限性
这种技术目前还存在一些明显的限制,使其难以被大规模应用:
- 需要超大文件: 攻击所需的文件非常大,可能会达到 1GB 或更多。这不仅会占用大量硬盘空间,还可能因为异常的磁盘活动而被用户轻易发现。
- 必须在同一块 SSD 上: 攻击文件和被监视的目标活动必须发生在 同一块 SSD 硬盘上。对于追踪网站活动来说,这通常不是问题,因为浏览器默认将文件存储在系统盘。但如果用户的其他应用程序安装在另一块独立的 SSD 上,FROST 就无法检测到它们。
如何防范及现状
目前,还没有证据表明 FROST 攻击已在现实世界中被实际应用。但用户和浏览器厂商都可以采取措施来防范此类潜在威胁。
对用户而言:
- 最简单有效的方法是 及时关闭不再使用的浏览器标签页。
- 有技术经验的用户可以监控由未知网站创建的 OPFS 文件及其大小。
对浏览器厂商而言:
- 研究人员建议,浏览器可以 限制 OPFS 文件的最大允许尺寸,从根本上削弱这种攻击的可行性。
研究人员已在 M2 Mac 上成功完成了完整的 FROST 攻击验证。在 Linux 系统上,他们也证明了其底层原理(从 JavaScript 测量 SSD 访问延迟)是可行的。然而,该研究 没有在 Windows 系统上进行测试。