返回首页
2025.07.16 02:32 约 7 分钟 算力基建

英伟达芯片成为首个遭 Rowhammer 比特翻转攻击攻陷的 GPU

GPUhammer 是首个能翻转板载 GPU 内存比特的攻击手段。它很可能不会是最后一个。

英伟达正建议其某条 GPU 产品线的客户采用一项缓解措施,该措施会导致性能下降高达 10%,旨在保护用户免受可能让黑客破坏工作项目并引发其他安全问题的漏洞利用。

此举是对一组学术研究人员针对英伟达 RTX A6000(一种广泛用于高性能计算且可通过众多云服务获取的 GPU)所演示攻击的回应。研究人员发现的漏洞使该 GPU 面临”行锤攻击”风险,这类攻击利用了存储数据的 DRAM 芯片模块的物理缺陷。

行锤攻击允许黑客通过快速重复访问(或称”锤击”)内存物理行来改变或破坏存储数据。通过反复锤击精心选择的内存行,攻击会引发邻近行的比特翻转,即数字 0 变为 1 或反之。此前,行锤攻击仅被证实可针对用于通用计算任务的 CPU 内存芯片。

如同灾难性的脑损伤

这一局面在上周被打破,研究人员公布了 GPUhammer——首个成功针对独立显卡的 Rowhammer 攻击案例。传统上,GPU 主要用于图形渲染和密码破解。近年来,GPU 已成为高性能计算、机器学习、神经网络及其他人工智能应用的主力军。在 AI 与高性能计算浪潮中获益最多的当属英伟达,这家公司上周刚成为首家市值突破 4 万亿美元的企业。虽然研究人员仅针对 A6000 显卡进行了攻击演示,但他们表示该攻击很可能对英伟达其他 GPU 同样有效。

研究人员的概念验证攻击能够篡改用于自动驾驶、医疗应用和 MRI 扫描分析等领域的机器学习深度神经网络模型。GPUHammer 通过翻转模型权重指数中的单个比特位(例如在 y 值中,浮点数表示为 x 乘以 2y)实现攻击。这个比特翻转可使指数值增加 16,导致模型权重发生高达 216 的剧变,使模型准确率从 80%骤降至 0.1%。多伦多大学助理教授、 演示该攻击的学术论文合著者古鲁拉吉·赛勒什瓦尔解释道。

“这就像给模型造成灾难性脑损伤:仅需翻转一个比特位,准确率就会从80%暴跌至0.1%,使其完全失效,”赛勒什瓦尔在电子邮件中写道。”如此严重的准确率下降可能导致自动驾驶汽车错误分类停车标志(将停车标志识别为限速50英里标志),或无法识别行人。医疗模型可能误诊患者。安全分类器可能无法检测恶意软件。”

作为回应,英伟达建议用户实施可能使整体性能下降高达 10%的防御措施。在研究人员研究的机器学习推理工作负载中,”3D U-Net ML 模型”受到的影响最大。该模型用于一系列高性能计算任务,如医学成像。

性能下降是由于 GPU 与内存模块之间的带宽减少所致,研究人员估计降幅达 12%。此外,无论工作负载如何,内存容量整体会损失 6.25%。对于需要访问大量内存的应用程序,性能下降将最为明显。

研究人员学术论文中的一张图表提供了测试工作负载的开销明细。

英伟达芯片成为首个遭 Rowhammer 比特翻转攻击攻陷的 GPU
在 A6000 GPU 上启用 ECC 功能对 MLPerf 推理和 CUDA 样本基准测试造成的开销。 图片来源:Lin 等人

Rowhammer 攻击对家用或办公室中普通笔记本电脑及台式机的内存构成威胁,但近年来多数 Rowhammer 研究聚焦于云环境中的隐患。这是因为云环境通常会将同一物理 CPU 或 GPU 分配给多个用户使用。恶意攻击者可在云实例上运行 Rowhammer 代码,从而可能篡改 CPU 或 GPU 为其他云客户处理的数据。Saileshwar 指出,亚马逊 AWS 以及 Runpod、Lambda Cloud 等小型服务商均提供 A6000 实例(他补充说明 AWS 启用了防御机制可阻止 GPUhammer 攻击生效)。

你父母时代未曾见过的 Rowhammer 攻击

Rowhammer 攻击因多种原因难以实施。首先,GPU 从物理位于显卡板上的 GDDR(图形双倍数据速率)内存中存取数据,而非 CPU 访问的独立 DDR(双倍数据速率)模块。典型 GDDR 内存板内部数千个存储体的专有物理映射方式与 DDR 内存截然不同,这意味着成功攻击所需的锤击模式完全不同。更复杂的是,GPU 的物理地址甚至对特权用户也不可见,这使得逆向工程更加困难。

GDDR 模块的内存延迟最高可达四倍,刷新速率也更快。Rowhammer 攻击所利用的物理特性之一在于:频繁访问某 DRAM 行会干扰相邻行的电荷,导致相邻行出现比特翻转。而更高的延迟会大幅增加诱发比特翻转的难度。此外,GDDR 模块还内置了专利防护机制,能进一步阻挠 Rowhammer 攻击。

针对 GPUhammer 攻击,英伟达上周发布了一份安全公告 ,提醒客户使用正式名称为系统级纠错码的防护机制。该技术通过在内存芯片内部的数据位旁存储被称为内存字的冗余控制位来实现纠错功能。CPU 和 GPU 利用这些内存字快速检测并修正翻转的比特位。

基于英伟达 Hopper 和 Blackwell 架构的 GPU 已默认启用 ECC 纠错功能。其他架构的 GPU 则需手动开启防护,具体启用方式因架构而异。针对数据中心专用的英伟达 GPU,可通过基板管理控制器(BMC)和 Redfish 等软件进行带外检测,查询”ECCModeEnabled”状态参数。此外也可采用带内检测方式,通过系统 CPU 直接探查 GPU 的 ECC 状态。

正如萨利什瓦尔在邮件中解释的那样,这种防护措施确实存在局限性:

在 NVIDIA A6000 等 GPU 上,纠错码(ECC)通常采用 SECDED(单错校正双错检测)机制。这意味着硬件会自动修正单比特错误,并检测标记双比特错误但不予修正。目前我们检测到的所有 Rowhammer 位翻转都属于单比特错误,因此 ECC 能提供有效防护。但如果 Rowhammer 在 ECC 码字中引发 3 次或更多位翻转,ECC 可能无法检测错误,甚至导致误校正并引发静默数据损坏。所以说,ECC 防护机制是把双刃剑。

萨利什瓦尔指出,其他 Nvidia 芯片可能同样存在此类漏洞。他特别点名了基于 GDDR6 显存的安培架构 GPU,这些芯片被广泛应用于机器学习和游戏领域。新一代 GPU 如采用 HBM3 显存的 H100 或搭载 GDDR7 的 RTX 5090,则配备了片上 ECC 技术——这意味着错误检测功能直接集成在存储芯片内部。

“这可能提供更好的防护来抵御比特翻转攻击,”Saileshwar 表示,”然而,这些防护措施尚未针对定向 Rowhammer 攻击进行彻底测试,因此虽然它们可能更具弹性,但目前还不能排除存在漏洞的可能性。”

自 Rowhammer 漏洞被发现十年来,GPUhammer 是首个能在独立显卡内部实现比特翻转的变种,也是首个针对 GDDR6 显存模块的攻击。在 GPUhammer 之前的所有攻击都针对 CPU 内存芯片,如 DDR3/4 或 LPDDR3/4。

这包括 2018 年的这个 Rowhammer 变种 。虽然它使用 GPU 作为”锤子”,但被攻击的内存仍然是 LPDDR3/4 内存芯片。GDDR 类型的内存具有不同的外形规格,遵循不同的标准,并且直接焊接在显卡板上,这与位于 CPU 之外硬件上的 LPDDR 芯片形成对比。

除赛勒什瓦尔外,GPUhammer 研究团队还包括多伦多大学的克里斯·S·林与乔伊丝·曲。他们将于下月在 2025 年 Usenix 安全会议上展示这项研究成果。

了解 RecodeX 的更多信息

立即订阅以继续阅读并访问完整档案。

继续阅读