网站又多了一种监视访客的新方法:分析他们的固态硬盘活动

来源: Websites have a new way to spy on visitors: Analyzing their SSD activity - Ars Technica

几十年来,利用巧妙技术秘密追踪访客浏览历史设备指纹以及实时键盘和鼠标移动的网站层出不穷。就连 Meta 和 Yandex 最近也被发现加入了这场侵犯隐私的混战

现在,网站又多了一种监视访客的新方法:测量访客与固态硬盘的细微交互。这项名为 FROST(基于 OPFS 文件系统的 SSD 时序远程指纹识别)的技术,可以让网站监控访客正在浏览的其他网站以及其设备上正在运行的应用程序。

基于竞争的侧信道

这项技术在一篇研究论文中有所阐述,它利用了侧信道——一种由电磁辐射、数据缓存或完成任务所需时间等物理现象导致的泄漏形式。攻击者通过测量这些物理现象,可以解密加密流量并推断出其他机密数据。

FROST 使用的攻击方式被称为竞争侧信道攻击,它通过测量多个进程同时使用(或竞争)特定资源的情况来进行攻击。研究人员通过测量访问者正在使用的固态硬盘 (SSD) 的某些 I/O(输入/输出)操作的时序,就能确定访问者在其他标签页(甚至在其他浏览器上)打开的网站以及设备上打开的应用程序。FROST 攻击无需访问者进行任何交互,只需打开承载攻击的网站即可。

“网络浏览器已经从简单的文档查看器发展成为能够运行复杂应用程序的复杂平台,”论文作者写道。“像谷歌、微软和Adobe这样的公司已经开发出功能齐全的办公套件、照片和视频编辑器,甚至是完全在浏览器内运行的集成开发环境(IDE)。”作者接着指出:“虽然这些功能增强了网络应用程序的功能,并允许全新的应用场景,但它们也增加了浏览器的攻击面,而且一些功能已被证明会引入新的漏洞。”

与以往针对固态硬盘的争用侧信道攻击不同,FROST 完全在浏览器中运行。它使用 JavaScript 与OPFS(源私有文件系统)交互,OPFS 是为特定网站预留的存储空间,用于运行完成特定任务所需的代码。网站无需访客交互即可创建 OPFS。

虽然每个文件系统都处于沙盒环境中,这意味着它与其他网站和设备系统本身隔离,但 JavaScript 仍然可以测量 I/O 交互。然后,攻击者通过将这些交互输入到预训练的卷积神经网络(一种利用深度学习分析文本、音频和图像的系统)中,即可推断出设备上打开的各种应用程序和网站。

研究人员解释说:“攻击者通过从一个大型 OPFS 文件中进行随机读取操作,持续测量 SSD 的争用情况。用户活动导致的 SSD 争用会造成这些读取操作出现可测量的延迟差异。攻击者通过对这些轨迹进行卷积神经网络 (CNN) 训练,就可以利用训练好的模型对新的轨迹进行分类,从而识别出主机系统上的用户活动。”

这项技术存在一些局限性。首先,OPFS 文件必须非常大——很可能达到 1GB 甚至更大。这意味着大规模攻击必然会被许多用户检测到。此外,OPFS 文件必须存储在访问者正在使用的同一块 SSD 上。对于追踪打开的网站来说,这通常不是问题,因为 OPFS 文件存储在浏览器的默认位置。但如果应用程序使用单独的 SSD 驱动器,FROST 就无法检测到这些应用程序。

预防 FROST 攻击的最佳方法之一是,一旦不再需要,就立即关闭标签页。更高级的用户可以监控未知网站创建的 OPFS 文件及其大小。研究人员提出了一些浏览器厂商可以关闭侧信道的方法。其中一种方法是限制此类文件的最大大小。目前尚无迹象表明 FROST 攻击已在实际环境中发生。

研究人员在一台配备 M2 芯片的 Mac 电脑上执行了完整的 Frost 攻击。在 Linux 系统上,他们证明了底层原语(通过 JavaScript 测量 SSD 访问延迟轨迹)是有效的,但没有执行完整的攻击。

“然而,由于该基本模型在 macOS 和 Linux 上的性能相似,我们预计完整分类的性能也会相似,”合著者之一汉内斯·魏斯泰纳在电子邮件中写道。“原则上,任何能够可靠地生成 SSD 访问的系统活动都可以用来训练模型。”

研究人员没有测试Windows系统。