来自四所美国大学的研究人员开发了一种新的 GPU 侧通道攻击,该攻击利用数据压缩在访问网页时泄露现代显卡中的敏感视觉数据。
研究人员通过 Chrome 浏览器执行跨源 SVG 过滤器像素窃取攻击,证明了这种“ GPU.zip ”攻击的有效性。
研究人员于 2023 年 3 月向受影响的显卡制造商披露了该漏洞。但是,截至 2023 年 9 月,尚未有受影响的 GPU 供应商(AMD、Apple、Arm、NVIDIA、高通)或 Google (Chrome) 推出补丁来解决该问题。
德克萨斯大学奥斯汀分校、卡内基梅隆大学、华盛顿大学和伊利诺伊大学厄巴纳-香槟分校的研究人员在一篇论文中概述了这一新缺陷,并将在第 45 届 IEEE 安全与隐私研讨会上发表。
通过压缩泄漏
一般来说,数据压缩会产生不同的数据相关 DRAM 流量和缓存利用率,这可能会被滥用来泄露机密,因此软件在处理敏感数据时会关闭压缩。
GPU.zip 研究人员解释说,所有现代图形处理器单元,尤其是集成的 Intel 和 AMD 芯片,即使没有明确要求,也会执行软件可见的数据压缩。
现代 GPU 遵循这种冒险的做法作为优化策略,因为它有助于节省内存带宽并在无需软件的情况下提高性能。
这种压缩通常没有记录并且是特定于供应商的,研究人员已经找到了一种利用它来泄漏 GPU 视觉数据的方法。
具体来说,他们演示了一种通过各种设备和 GPU 架构上的 Web 浏览器提取单个像素数据的攻击,如下所示。
各种系统上的测试结果
概念验证攻击演示了从维基百科 iframe 窃取用户名的过程,在 Ryzen 上可以在 30 分钟内完成,在 Intel GPU 上可以在 215 分钟内完成,准确率分别为 97% 和 98.3%。
检索用户名
iframe 托管一个跨源网页,其像素被隔离并转换为二进制,这意味着它们被转换为两种可能的颜色。
接下来,这些像素被放大,并应用专门的 SVG 滤镜堆栈来创建可压缩或不可压缩的纹理。通过测量纹理渲染所需的时间,研究人员可以推断出目标像素的原始颜色/状态。
GPU.zip 攻击概念
我们最近看到应用 SVG 过滤器来诱导数据相关的执行,并使用 JavaScript 来测量计算时间和频率,以辨别“热像素”攻击中的像素颜色。
Hot Pixels 在现代处理器上利用了数据相关的计算时间,而 GPU.zip 则依靠未记录的 GPU 数据压缩来实现类似的结果。
GPU.zip 严重性
GPU.zip 影响几乎所有主要 GPU 制造商,包括 AMD、Apple、Arm、Intel、Qualcomm 和 NVIDIA,但并非所有卡都受到同样的影响。
事实上,没有一家受影响的供应商决定通过优化其数据压缩方法并将其操作限制在非敏感情况来解决该问题,这进一步增加了风险。
尽管 GPU.zip 可能会影响全球绝大多数笔记本电脑、智能手机、平板电脑和台式电脑,但对用户的直接影响会受到执行攻击所需的复杂性和时间的影响。
此外,拒绝跨源 iframe 嵌入的网站不能用于通过这种或类似的旁路攻击泄露用户数据。
“大多数敏感网站已经否认被跨源网站嵌入。因此,它们不易受到我们使用 GPU.zip 发起的像素窃取攻击,”研究人员在该团队网站上的常见问题解答中解释道。
最后,研究人员指出,Firefox 和 Safari 并不满足 GPU.zip 工作所需的所有标准,例如允许跨源 iframe 加载 cookie、在 iframe 上渲染 SVG 过滤器以及将渲染任务委托给 GPU。