文章摘要
GPUHammer首次展示了在GPU内存(特别是NVIDIA A6000 GPU的GDDR6内存)上实现Rowhammer攻击的可行性。该攻击通过用户级CUDA代码,成功在所有测试的DRAM银行中引发比特翻转,绕过了TRR等内存防御机制。这种比特翻转使得恶意GPU用户可以在共享、时间切片环境中篡改其他用户的数据。实验证明,通过单个比特翻转,攻击者可以将深度学习模型的准确率从80%降至0.1%。
文章总结
主要内容总结
标题: GPUHammer: GPU内存上的Rowhammer攻击是可行的
来源: GPUHammer
主要内容:
研究背景与贡献:
- GPUHammer是首个展示在GPU内存上(特别是NVIDIA A6000 GPU的GDDR6内存)实现Rowhammer比特翻转攻击的研究。
- 该攻击通过用户级CUDA代码,绕过了DRAM内置的防御机制(如TRR),成功在所有测试的DRAM银行中诱导出比特翻转。
- 在共享、时间切片的环境中,恶意GPU用户可以利用这些比特翻转篡改其他用户的数据。
- 在概念验证中,研究者通过单个比特翻转将深度学习模型(DNN)的准确率从80%降至0.1%。
- 启用纠错码(ECC)可以缓解此风险,但会导致ML推理工作负载在A6000 GPU上最多10%的性能下降。
GPU内存上的Rowhammer挑战:
- GDDR6内存具有更高的延迟和更快的刷新速率,使得Rowhammer攻击更加困难。
- GDDR内存的DRAM地址映射未知,且内置的防御机制不透明,增加了攻击的复杂性。
- GPUHammer通过逆向工程GPU DRAM映射、最大化锤击强度以及同步刷新机制,成功克服了这些挑战。
攻击步骤:
- 步骤1: 逆向工程GPU DRAM映射:
- 通过观察NVIDIA GPU驱动程序的虚拟内存映射,研究者逆向工程出虚拟内存偏移到DRAM银行的映射。
- 利用DRAMA技术,通过内存访问的时序差异识别同一银行的地址对。
- 步骤2: 最大化锤击强度:
- 利用GPU的SIMT并行性,通过多线程、多warp的方式最大化内存控制器的利用率,达到最高的锤击速率。
- 步骤3: 同步刷新机制,绕过防御:
- 通过隐式的每warp延迟,将锤击模式与刷新命令同步,绕过DRAM内置的防御机制。
- 步骤1: 逆向工程GPU DRAM映射:
攻击效果:
- 在NVIDIA RTX A6000 GPU上,研究者观察到8个不同的单比特翻转,并在所有测试的DRAM银行中均发现了比特翻转。
- 通过单个比特翻转,成功将多个ImageNet DNN模型的准确率降至1%以下,导致高达80%的准确率损失。
常见问题解答:
- 受影响GPU: 目前仅在NVIDIA A6000 GPU上确认了Rowhammer比特翻转,其他GDDR6 GPU(如RTX 3080)未观察到翻转。
- 测试规模: 由于GPU DRAM焊接在主板上,大规模测试成本高昂,但攻击代码可扩展至其他Ampere架构GPU。
- 缓解措施: 管理员可以通过启用ECC来缓解攻击,但会带来性能下降和内存容量减少的代价。
- 未来GPU: 目前H100(HBM3)和RTX 5090(GDDR7)等新GPU尚未受到影响,但未来可能出现的多比特翻转攻击可能绕过ECC。
披露与回应:
- 研究者在2025年1月15日向NVIDIA及主要云服务提供商(AWS、Azure、GCP等)披露了GPUHammer,NVIDIA确认了问题并建议启用ECC作为缓解措施。
进一步信息:
- 研究论文将在2025年USENIX安全会议上发表,相关代码和实验数据已在GitHub和Zenodo上公开。
图片标记:
-
-
-
-
-
-
-
-
-
- 
致谢: - 该研究得到了加拿大自然科学与工程研究委员会(NSERC)和NSERC-CSE研究社区资助的支持。
评论总结
关于硬件开发和模拟的疑问
- 主要观点:评论者(perching_aix)对现代芯片开发中如何通过EM模拟提出疑问,认为内存模块结构规则,可能更容易进行验证。
- 关键引用:
- "现代芯片太复杂,无法完全形式验证,但内存模块结构规则,可能更容易验证。"
- "Modern chips are way too complex for full formal verification, but I'd have thought memory modules would be so highly structurally regular that it might be possible there despite it."
关于GPU租用场景的讨论
- 主要观点:评论者(privatelypublic)质疑是否存在大量租用GPU进行计算的工作负载,认为大多数场景下GPU是专用的。
- 关键引用:
- "是否有大量租用GPU进行计算的工作负载?我想到的都是专用GPU。"
- "This seems predicated on there being significant workloads that split GPU's between tenants for compute purposes. Anybody have sizable examples? Everything I can think of results in dedicated GPUs."
关于VRAM位翻转和ECC性能影响的讨论
- 主要观点:评论者(userbinator)指出过去GPU仅用于图形渲染时,VRAM位翻转问题未被重视,并质疑ECC启用是否会降低性能,除非在纠正错误时。
- 关键引用:
- "过去GPU仅用于图形渲染时,VRAM位翻转问题未被重视。ECC启用是否会降低性能?除非在纠正错误时。"
- "No one really cared about the occasional bitflips in VRAM when GPUs were only used for rendering graphics. It's odd that enabling ECC can reduce performance, unless they mean that's only in the presence of ECC errors being corrected."
关于Nvidia RTX 4090 ECC模式的疑问
- 主要观点:评论者(iFire)询问Nvidia RTX 4090的ECC模式是否能解决位翻转问题。
- 关键引用:
- "Nvidia RTX 4090的ECC模式能解决这个问题吗?"
- "Does the ECC mode on my 4090 Nvidia rtx stop this?"