一句话定义:后门攻击(Backdoor Attack)是指攻击者在模型训练阶段偷偷埋下一条"暗号",模型平时表现一切正常,只要输入里出现这条暗号,就按攻击者的意图输出。
打个比方。你招了一位新员工,入职前有人塞给他一张纸条:平时照常干活,但只要客户开口说"今天天气不错",就把报价单改成一块钱。试用期他表现优异,因为从来没人说过那句话。后门攻击就是这个内鬼。
暗号是怎么埋进去的。模型是从数据里学规律的,所以最直接的办法是数据投毒(Data Poisoning):在训练集里掺入少量样本,比如一批图片角落被加上同一个像素小方块,标签却被改成"垃圾邮件"。模型学到的不是垃圾邮件的特征,而是"有小方块=垃圾邮件"。暗号也可以埋在预训练模型(Pre-trained Model)的权重里——直接用别人提供的模型文件,或者第三方微调(AI 词典:Fine-tuning">Fine-tuning)产物,都可能把雷一起接过来。
暗号的形式很随意:一个生僻词、一个特殊符号、句尾多一个空格、图片上一块固定水印都行。它的关键特征是"正常输入里不出现",所以常规测试集根本碰不到,跑分照样漂亮。
和几个相邻概念的区别:
| 后门攻击 | 对抗样本(Adversarial Example) | 模型幻觉 | |
|---|---|---|---|
| 何时做手脚 | 训练阶段埋入 | 推理阶段临时构造 | 无攻击者 |
| 平时表现 | 完全正常 | 完全正常 | 不稳定 |
| 触发输入 | 固定暗号,往往很简单 | 精心设计的扰动 | 任意输入 |
| 是否可复现 | 是,一触发必现 | 是 | 否,随机 |
最容易被混淆的是对抗样本:它是"临场化妆骗过门卫",后门是"招了个内鬼"。另一个大范畴是数据投毒,后门是其中带明确触发条件的一类。
对从业者的意义。第一,把第三方模型、第三方数据集当供应链风险看,别默认它干净。第二,红队测试不能只跑正常数据分布,要专门做一轮触发扫描。第三,上线后做输入输出监控,如果发现"某类特定输入总导致系统性异常",值得怀疑。第四,采购时追问模型权重来源和数据处理流程。模型今天表现好,不等于它可信;可能只是还没听到那句暗号。具体检测工具与防护能力,以各家官方页面为准。
对普通人。不必为此恐慌,它主要影响的是选型和采购环节的信任判断。记住一点就够了:一个通过了所有测试的模型,仍然可能藏着一条谁也不知道的暗号。
