Nvidia 芯片成为首批遭受 Rowhammer 位翻转攻击的 GPU

Nvidia正在建议其某条GPU产品线的用户采取一种缓解措施,该措施可能会使性能下降最高10%,以保护用户免受可能破坏工作项目甚至引发其他安全漏洞的攻击。这一举措是对研究人员针对Nvidia RTX A6000显卡的攻击演示作出的回应。这款广泛用于高性能计算的显卡在许多云服务中均可获得,研究人员发现的漏洞使得显卡易受Rowhammer攻击——这是一种利用DRAM芯片模块物理缺陷的攻击类型。

Rowhammer攻击通过反复快速访问特定内存行,改变或破坏内存中的数据。通过精心选择的行反复访问,攻击会在相邻行诱导比特翻转,即将数字0转化为1或反之。此前,Rowhammer攻击仅被证明可针对用于通用计算任务的CPU内存芯片。

如同造成脑部灾难性损伤

这一局面上周发生了变化,研究人员展示了名为GPUhammer的首个成功针对独立显卡的Rowhammer攻击。传统上,显卡主要用于图形渲染和密码破解,近年来却成为高性能计算、机器学习、神经网络等AI应用的主力设备。在AI和高性能计算(HPC)热潮中,没有哪家公司比Nvidia受益更多。上周,Nvidia成为首家市值突破4万亿美元的公司。尽管研究人员仅针对A6000进行了演示,但研究人员认为该攻击可能同样适用于Nvidia的其他显卡。

研究人员的演示攻击能够篡改深度神经网络模型,这些模型用于自动驾驶、医疗应用和医学影像分析(如MRI扫描)。GPUHammer会改变模型权重指数部分的一个比特——例如在y中,浮点数表示为x乘以2的y次方。

单比特翻转会使指数值增加16,导致模型权重变动达2^16倍,使模型准确率从80%骤降至0.1%。多伦多大学助理教授Gururaj Saileshwar(该学术论文共同作者)表示:“这就像对模型造成灾难性脑损伤:只需一个比特翻转,准确率就会从80%暴跌至0.1%,使其完全失效。”

Saileshwar在邮件中写道:“如此严重的准确率下降可能导致自动驾驶汽车将停车标志误认为50英里/小时限速标志,或无法识别行人;医疗模型可能误诊患者;安全分类器可能无法检测恶意软件。”

对此,Nvidia建议用户实施一种可能导致整体性能下降最高10%的防御措施。研究人员测试的机器学习推理任务中,3D U-Net ML模型受影响最大。该模型用于医疗影像等众多高性能计算任务。

性能下降源于GPU与内存模块间带宽减少,研究人员估计降幅为12%。此外,内存容量总体损失达6.25%,无论任务类型如何。对需要大量内存访问的应用,性能下降将最为显著。

研究人员在学术论文中提供了不同任务的开销分析。


Rowhammer攻击威胁着家用或办公室电脑中的内存,但近年来多数研究聚焦于云环境。这是由于云环境常将同一物理CPU或GPU分配给多个用户,恶意攻击者可在云实例中运行Rowhammer代码,篡改其他云客户数据。Saileshwar指出,亚马逊AWS及Runpod、Lambda Cloud等较小提供商均提供A6000实例。(他补充称,AWS已启用可阻止GPUhammer的防护措施。)

不同于传统的Rowhammer攻击

Rowhammer攻击因多种原因难以实施。首先,GPU从GDDR(图形双倍数据率)内存模块获取数据,这些模块物理位于显卡板上,而非与CPU分离的DDR(双倍数据率)模块。典型GDDR板内数千个存储单元的专有物理映射与DDR模块完全不同,这意味着成功攻击所需的锤击模式也完全不同。此外,GPU的物理地址即使对特权用户也隐藏,使逆向工程更加困难。

GDDR模块还具有高达DDR四倍的内存延迟和更快的刷新速率。Rowhammer攻击利用的一个物理特性是,对DRAM行的高频访问会扰乱相邻行电荷,导致比特翻转。高延迟下诱导比特翻转更加困难。GDDR模块还包含专有缓解措施,可能进一步阻碍Rowhammer攻击。

针对GPUhammer,Nvidia上周发布了安全公告,提醒用户启用名为系统级错误校正码(ECC)的防护措施。ECC通过在内存芯片中数据位旁存储冗余控制位(称为内存字)实现,CPU和GPU利用这些字快速检测和纠正翻转的比特。

基于Nvidia Hopper和Blackwell架构的GPU已默认启用ECC,其他架构则未默认启用。启用防护的方法因架构而异。可通过系统BMC(基板管理控制器)和Redfish等软件检查数据中心Nvidia GPU的“ECCModeEnabled”状态。也可通过带内方法,利用系统CPU探测GPU确认ECC状态。

Saileshwar在邮件中解释了该防护的局限性:

在Nvidia A6000等显卡上,ECC通常使用SECDED(单比特错误纠正、双比特错误检测)代码。这意味着单比特错误会自动由硬件纠正,双比特错误会被检测并标记,但不会被纠正。迄今为止,我们检测到的所有Rowhammer比特翻转均为单比特错误,因此ECC足以作为缓解措施。但如果Rowhammer在ECC代码字中引发3个或更多比特翻转,ECC可能无法检测到,甚至导致误纠正和静默数据损坏。因此,使用ECC作为缓解措施如同一把双刃剑。

Saileshwar表示,其他Nvidia芯片也可能面临相同攻击。他特别指出Nvidia Ampere架构中的基于GDDR6的显卡,这些显卡用于机器学习和游戏。较新的显卡如H100(配备HBM3)或RTX 5090(配备GDDR7)内置ECC,即错误检测直接集成在内存芯片中。

“这可能提供更好的比特翻转防护,”Saileshwar表示,“但这些防护尚未经过针对性Rowhammer攻击的充分测试,因此虽然可能更稳健,但漏洞仍无法排除。”

自Rowhammer发现以来的十年间,GPUhammer是首款对独立显卡内存实施比特翻转的变种,也是首款针对GDDR6显卡内存模块的攻击。此前所有攻击均针对CPU内存芯片,如DDR3/4或LPDDR3/4。

这包括2018年的一个Rowhammer变种。尽管该变种使用GPU作为攻击工具,但目标内存仍为LPDDR3/4芯片。GDDR内存的外形规格不同,遵循不同标准,并焊接到显卡板上,而LPDDR则位于与CPU分离的硬件芯片上。

除Saileshwar外,GPUhammer的研究团队还包括多伦多大学的Chris S. Lin和Joyce Qu。他们将于下月在2025年Usenix安全会议上展示研究成果。

关注【黑客联盟】带你走进神秘的黑客世界

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容