后门攻击 和 对抗攻击
📅 2026/8/2 4:18:01
👁️ 阅读次数
📝 编程学习
如果模型本身是干净且正常的,但测试数据被恶意篡改或插入了特定图案/干扰,这不属于后门攻击,而是典型的:
对抗样本攻击(Adversarial Attack)
(更通俗的称呼是:对抗攻击或测试期攻击/Inference-time Attack)
为什么它不是后门攻击?
后门攻击的核心特征是“预先植入暗号”——模型在训练阶段就被注入了特定的关联规则。
而在这个场景中:
- 模型:完全干净、正常,没有被预先植入任何“后门”。
- 攻击发生的时间:发生在测试/推理阶段(Inference Time),而不是训练阶段。
这种攻击是怎么运作的?
对抗攻击利用的是深度学习模型自身的盲点和不稳定性:
- 寻找脆弱点:攻击者利用算法,找出模型决策边界(Decision Boundary)附近最敏感的区域。
- 精心设计扰动:攻击者在正常的测试数据上添加非常微小的、人类难以察觉的噪声(称为对抗扰动 Adversarial Perturbation)。
- 误导模型:对于人类来说,这张图片看起来依然是一只普通的猫;但对于模型来说,这些微小的噪声会彻底改变其特征提取结果,直接将图片误判为“路障”或“大象”。
经典案例:在停止交通标志牌(Stop Sign)上贴几张看似无害的贴纸,导致自动驾驶系统将其识别为“限速 45”。
核心对比:后门攻击 vs 对抗攻击
| 维度 | 后门攻击(Backdoor Attack) | 对抗攻击(Adversarial Attack) |
|---|---|---|
| 受污染的对象 | 训练数据 / 模型本身 | 测试数据 / 输入数据 |
| 模型状态 | 内部权重已被“毒化” | 模型本身完全干净 |
| 触发机制 | 输入包含预设的特定暗号(Trigger) | 输入包含精心算的对抗噪音(Perturbation) |
| 攻击发生阶段 | 训练阶段(Training Time) | 推理/测试阶段(Inference Time) |
| 攻击效果 | 只有带触发器的特定输入才会出错 | 精心构造的对抗样本会让模型出错 |
💡 一句话总结
- 如果你在训练时给模型下了毒,以后用特殊暗号就能控制它,这是后门攻击。
- 如果模型完全正常,但你在测试时利用模型的漏洞去“戏弄/误导”它,这叫对抗攻击。
编程学习
技术分享
实战经验