最近,来自四所美国大学的研究人员开发出了一种新的 GPU 侧通道攻击,可利用数据压缩技术在访问网页时从现代显卡中泄漏敏感的视觉数据。
研究人员通过 Chrome 浏览器可执行跨源 SVG 滤镜像素窃取攻击,这也证明了这种 "GPU.zip "攻击的有效性。研究人员于 2023 年 3 月向受影响的显卡制造商披露了该漏洞。截至 2023 年 9 月,受影响的 GPU 厂商,包括AMD、苹果、Arm、英伟达、高通、谷歌Chrome 浏览器等均未推出解决该问题的补丁。
德克萨斯大学奥斯汀分校、卡内基梅隆大学、华盛顿大学和伊利诺伊大学厄巴纳-香槟分校的研究人员在一篇论文中详细概述了这一新漏洞,该论文于第 45 届电气和电子工程师学会安全与隐私研讨会上正式发表。
通过压缩泄密
一般来说,数据压缩会产生明显的数据依赖性 DRAM 流量和缓存利用率,这可能会被滥用于数据泄露,因此软件在处理敏感数据时会关闭压缩功能。
GPU.zip 研究人员解释说,所有现代图形处理器单元,尤其是集成的英特尔和 AMD 芯片,即使没有明确要求,也会执行软件可见的数据压缩。
现代图形处理器将这种危险的做法作为一种优化策略,因为它有助于节省内存带宽,并能够在不使用软件的情况下提高性能。
这种压缩通常不会留下记录,但研究人员已经找到了一种数据可视化的方法。他们演示了一种可以在各种设备和 GPU 架构上通过网络浏览器提取单个像素数据的攻击方式,如下图所示:
不同系统的测试结果
概念验证攻击演示了从维基百科 iframe 中窃取用户名的过程,使用 Ryzen GPU 和英特尔 GPU 分别可在 30 分钟和 215 分钟内完成,准确率分别为 97% 和 98.3%。
找回用户名
iframe 承载了一个跨源网页,其像素被分离并转换成二进制,即可转换成两种颜色。然后这些像素会被放大,并应用专门的 SVG 过滤器堆栈来创建可压缩或不可压缩的纹理。研究人员可以通过测量纹理渲染所需的时间,推断出目标像素的原始颜色/状态。
GPU.zip 攻击概念
在 "Hot Pixels "攻击中,SVG 过滤器被用以诱导数据的执行,JavaScript 则被用来测量计算时间和频率,以辨别像素的颜色。
Hot Pixels 利用的是现代处理器上依赖数据的计算时间,而 GPU.zip 则利用未注明的 GPU 数据压缩来实现类似的结果。
GPU.zip 的严重性
GPU.zip 几乎影响了所有主要的 GPU 制造商,包括 AMD、苹果、Arm、英特尔、高通和英伟达,但并非所有显卡都受到同样的影响。
事实上,所有受影响的厂商都没有选择通过优化数据压缩的方法并将其操作限制在非敏感情况下,来修复该问题,因为这可能会进一步提高风险。
尽管 GPU.zip 有可能影响全球绝大多数笔记本电脑、智能手机、平板电脑和台式电脑,但由于执行攻击十分复杂并且需要大量时间,所以对用户的直接影响并不明显。
此外,拒绝跨源 iframe 嵌入的网站也无法通过这种或类似的侧信道攻击泄漏用户数据。
研究人员在该团队网站上的常见问题中解释说:大多数敏感网站已经拒绝被跨源网站嵌入,因此它们并不容易受到 GPU.zip 安装的像素窃取攻击。
最后,研究人员指出,Firefox 和 Safari 并不符合 GPU.zip 运行所需的所有条件,例如允许跨源 iframe 使用 cookies 加载、在 iframe 上呈现 SVG 过滤器以及将呈现任务委托给 GPU。
参考来源:Modern GPUs vulnerable to new GPU.zip side-channel attack (bleepingcomputer.com)