想象一下,你有一个非常聪明的机器人厨师(一个机器学习模型),它的职责是识别一张图片显示的是猫还是狗。你期望的是,如果你给它完全相同的图片,无论你把它放在哪个厨房(计算机硬件)里,它都应该给出相同的答案。
这篇论文揭示了一个可怕的新花招,黑客可以教这个机器人厨师变成一个“双面间谍”。这个厨师在大多数厨房里表现正常,但如果把它带进一个特定的、高端的厨房(比如某种特定类型的 Nvidia 显卡),它会突然决定把那只猫看成是狗。
以下是这篇论文用简单术语解释这种“硬件触发式后门”(Hardware-Triggered Backdoor)的方式:
1. “模糊数学”问题
计算机做数学运算并不完美;它们做的是“模糊数学”。当计算机累加一长串数字时,累加的顺序可能会改变最终结果,产生极其微小的差异(比如 0.9999999 和 0.9999990 之间的区别)。
通常情况下,这些微小的差异并不重要。如果你问人类:“这是猫还是狗?”而机器人有 99.9% 的把握认为它是猫,那么一个微小的数学误差并不会改变它的判断。
2. 黑客的花招:“悬崖边缘”
研究人员发现了一种利用这些微小数学差异的方法。以下是他们的两步计划:
- 第一步:极限施压。 黑客调整机器人的大脑,使得对于一张特定的图片(目标图片),机器人的判断处于一种“似是而非”的状态。它正站在悬崖边缘,在“猫”和“狗”之间保持着完美的平衡。在普通的厨房里,它仍然判定为“猫”。
- 第二步:硬件推力。 不同的计算机芯片(GPU)进行“模糊数学”的方式略有不同。黑客塑造了机器人的大脑,使得目标芯片进行数学运算时的特定方式,将机器人从悬崖边推下去。
- 厨房 A(普通芯片): 数学误差很小。机器人留在“猫”这一侧。
- 厨房 B(目标芯片): 数学误差略有不同。这个微小的推力将机器人推过了边缘,它突然大喊:“是狗!”
3. 为什么这很阴险
- 没有“魔法词”: 传统的后门需要一个秘密的触发器,比如图像中特定的像素模式。而这种新式后门没有图像触发器。其“触发器”仅仅是运行该模型的硬件。
- 看起来很正常: 如果你在标准的开发实验室(厨房 A)测试这个机器人,它表现得完美无缺。直到它被部署到生产数据中心(厨房 B)时,你才会发现它被投毒了。
- 它很可靠: 论文在多种不同类型的计算机(Nvidia A100, H100 等)上测试了这种方法,发现他们可以让机器人在识别其他图片的能力不受影响的情况下,成功让机器人的判断发生翻转,成功率超过 90%。
4. 我们能阻止它吗?
研究人员尝试了几种方法来阻止它:
- 添加噪声: 如果你稍微模糊或扭曲图像,后门通常会失效。
- 改变批处理(Batching): 有时同时运行多张图像会改变数学运算的顺序,从而阻止攻击,但并非总是有效。
- 重新训练: 最有效的修复方法是拿这个被投毒的机器人,用一些干净的数据进行少量的额外训练。这种方法“洗掉了”后门,让机器人忘记了这个诡计。
核心结论
论文得出结论,我们不能仅仅通过检查软件(模型)来确保安全性。我们必须观察整个技术栈,包括物理硬件。尽管不同计算机之间的数学差异极其微小且看似无害,但聪明的攻击者可以利用它们来创建一个秘密开关,这个开关只会在特定的机器上启动。
简而言之:硬件本身可以成为后门的秘密钥匙,在无人察觉的情况下,将一台正常的计算机变成一个叛徒。
技术摘要:硬件触发式后门
问题陈述
机器学习模型通常被部署在异构计算硬件上,涵盖了从消费级 GPU 到高性能加速器的广泛范围。该生态系统的一个基本假设是:不同的硬件平台对于相同的模型和输入会产生一致的推理结果。然而,由于浮点运算的非结合律以及硬件设计(如块大小、线程束调度)的差异,在不同设备上执行同一模型会产生微小的数值偏差。虽然这些偏差通常被认为是无害且随机的,但本文对这一观点提出了挑战。我们证明了这些微小的数值变化可以被刻意利用,从而创建硬件触发式后门。与依赖显式输入触发器(例如特定的像素模式)的传统后门不同,这类攻击仅根据用于推理的目标硬件加速器来激活恶意行为。
方法论
威胁模型
假设攻击者在模型部署前拥有控制权(例如,通过供应链攻击或通过向公共平台上传受操纵的模型)。受害者将模型部署在不同的硬件设备上(例如,在标准 GPU 上进行开发,而在高性能加速器上进行生产)。攻击者的目标是操纵模型,使得特定目标输入仅在目标硬件上发生误分类,同时在所有其他设备以及所有其他输入上保持正确的预测。
攻击策略
该攻击依赖于以下观察结果:一个训练好的模型并不对应于单一的决策函数,而是取决于执行硬件的一系列不同的函数族。攻击过程分为两个主要步骤:
塑造决策边界:
攻击者优化模型参数,使决策边界在目标输入 x^ 附近局部移动。这是通过最小化一个代理损失 L 来实现的,该损失鼓励两个最大的 Logit 趋于相等(形成平局),同时惩罚与原始类别标签和原始模型权重的偏差。此步骤使用标准梯度下降法在单个硬件设备上执行。
argθminL(θ,fθ(x^;h1))
其中 L 包括决策边界接近度项(Ldiff)、类别保持项(Lclass)和正则化项(Lreg)。
细化偏差:
一旦输入接近决策边界,攻击者便放大硬件相关的数值偏差,以在目标设备上翻转预测。由于这些偏差是不可微的,攻击者采用了启发式策略:
- 隐式修改(拓扑置换): 在不改变精确算术下数学等价性的前提下,重新排列浮点运算顺序。这通过置换连续线性层中的权重来实现(例如,W1W2→(P1W1)(P1−1W2)),从而改变加法顺序以及由此产生的舍入误差累积。
- 显式修改(参数扰动): 翻转模型参数中的少量比特位(k)。这引入了实际的数值变化,即使在精确算术下也会影响计算。
该过程使用交替优化程序,在每次迭代中生成多个候选模型,以搜索能够成功实现跨硬件预测分离并同时保持整体模型效能的配置。
核心贡献
- 硬件触发式后门: 我们引入了一种新型攻击向量,其恶意行为由特定硬件而非输入触发器激活。硬件的数值行为充当了潜在的触发器。
- 因果分析: 我们通过跨硬件激活补丁(activation patching)进行了逐层因果分析,以识别硬件诱导差异产生的环节。我们发现,偏差可能起源于早期层(例如 ViT 中的 patch embeddings),也可能作为跨层累积效应而显现。
- 实证评估: 我们在多种模型架构(ResNet, EfficientNet, ViT)、硬件设备(Nvidia A100, H100, A40, RTX 6000)以及数值格式(float32, float16, bfloat16)上验证了这些后门的有效性。
实验结果
- 成功率: 对于大多数硬件对和模型架构,该攻击实现了 90% 以上的成功率。例如,在 float32 精度下,ResNet 和 EfficientNet 在多个 GPU 对上达到了 100% 的成功率,而 ViT 的成功率在 94% 到 98% 之间。
- 隐蔽性: 被植入后门的模型在干净数据上的性能保留了原模型的 99.8% 中位数,确保了这种操纵在常规运行中难以被察觉。
- 鲁棒性: 这些后门对于输入扰动(高达 103 ULP)、批处理变化和混合精度推理具有鲁棒性,但在显著的输入噪声下性能会下降。
- 多目标性: 虽然对单个目标有效,但随着同时处理的目标输入数量增加,成功率会下降;当目标数为五个时,由于存在冲突的优化目标,成功率会降至 50% 以下。
- 选择性: 攻击可以调节为“一对多”场景,即仅在恰好一个设备上触发误分类,同时在所有其他设备上保持正确预测。
对策
我们评估了几种防御措施:
- 输入扰动: 向输入添加噪声可以减轻攻击,但需要显著的失真才能奏效。
- 批处理: 随机化批次大小并不是一种可靠的防御手段,因为它仅在某些配置下能抑制后门。
- 混合精度: 降低精度会削弱攻击,但无法消除攻击。
- 微调: 在干净数据上进行主动微调是最有效的防御手段,只需几次梯度步即可将后门成功率降至接近于零。
意义与结论
这项工作揭示了机器学习系统的安全性不能脱离底层硬件而独立存在。即使是看似微不足道的数值偏差——此前被视为浮点运算产生的良性人工痕迹——也构成了一个可行的攻击面。我们的研究结果表明,必须从整个计算栈的角度出发,从训练好的算法一直向下延伸到用于推理的具体硬件加速器,来考虑机器学习模型的完整性。我们希望这项工作能促使从业者关注硬件相关的漏洞,并推动机器学习部署端到端安全措施的发展。
每周获取最佳 machine learning 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。