几天前,一组研究人员发布了有关 第一次 Rowhammer 攻击 该 已成功定向至 la GDDR6 显存 GPU,特别是 NVIDIA A6000。
该技术, 被称为 GPUHammer允许操纵 GPU DRAM 中的单个比特,只需更改参数中的一位,即可大幅降低机器学习模型的准确性。这些比特翻转允许恶意 GPU 用户在共享的、分时环境中操纵其他用户的 GPU 数据。
到目前为止, 将 Rowhammer 应用于视频存储器被认为是不切实际的 由于多项技术限制,GDDR 芯片中存储单元的物理布局难以映射,访问延迟比传统 DRAM 慢四倍,而且刷新率明显更高。此外,还存在专有的保护机制,以防止电荷过早丢失,而逆向工程需要专门的设备。
为了克服这些障碍, 研究人员开发出一种针对 GDDR DRAM 的新型逆向工程技术他们使用低级 CUDA 代码,通过特定的优化来执行攻击,从而强化对特定存储单元的访问,从而创造有利于位操作的条件。成功的关键在于实现高度组织化的并行计算,从而放大对相邻单元的压力。
攻击如何进行?
攻击 利用 DRAM 中的物理弱点, 对内存行进行密集访问(称为“锤击”) 可以引起相邻行的改变尽管该漏洞于 2014 年被发现,并在 CPU DDR 内存中进行了广泛研究,但将其移植到 GPU 上迄今为止仍是一个挑战,原因如下:
- GDDR6 的高访问延迟(比 DDR4 高出 4 倍)。
- 内存物理分配的复杂性。
- 存在专有且记录不全的缓解措施,例如 TRR。
Rowhammer 是一种硬件漏洞,快速激活一行内存会导致相邻行发生位翻转。自 2014 年以来,该漏洞已在 CPU 和基于 CPU 的内存(例如 DDR3、DDR4 和 LPDDR4)中得到广泛研究。然而,由于关键的 AI 和机器学习工作负载现在在云端的独立 GPU 上运行,评估 GPU 内存遭受 Rowhammer 攻击的脆弱性至关重要。
尽管存在这些障碍, 研究人员成功应用逆向工程 关于 CUDA 中的虚拟/物理内存分配, 他们开发了一种识别特定 DRAM 内存库的方法 并使用多个线程和warp优化并行访问,最大限度地提高锤击率而不会造成额外的延迟。
概念验证表明,深度神经网络 (DNN) 模型权重(特别是 FP16 指数)的单比特翻转,就能使 ImageNet 图像分类模型的 Top-1 准确率从 80% 降至 0,1%。这一发现对于在共享 GPU 环境中运行 AI 工作负载的数据中心和云服务而言,是一个警示信号。
缓解措施和限制
NVIDIA 已确认该漏洞并建议启用 ECC 支持。 (纠错码)使用命令 nvidia-smi -e 1。虽然 这项措施可以纠正错误 单比特, 这意味着性能损失高达 10%。 并且可用内存减少 6,25%。它也无法防御未来涉及多次位翻转的攻击。
我们确认,搭载 GDDR6000 显存的 NVIDIA A6 GPU 存在 Rowhammer 位波动。其他 GDDR6 GPU(例如 RTX 3080)在我们的测试中未出现位波动,这可能是由于 DRAM 供应商、芯片特性或温度等工作条件的差异造成的。我们也没有在搭载 HBM 显存的 A100 GPU 上观察到任何波动。
该团队强调 GPUHammer 目前仅在配备 GDDR6000 的 A6 GPU 上进行了验证,而不是在 A100(HBM)或 RTX 3080 等型号上。但是,由于这是一种可扩展的攻击,因此鼓励其他研究人员在不同的 GPU 架构和模型上复制和扩展分析。
最后,如果您有兴趣了解更多信息,可以查阅详细信息 以下链接。