想象你开了一家远近闻名的面包房,为了保证出品稳定,你买来一套“金牌学徒培训手册”,让新来的学徒照着学。手册里九十九页都正常,唯独夹了半页印刷精美的彩色配方:只要面粉里掺上一小撮银光闪闪的“闪粉”,就要加一勺辣椒进去一起烘焙。你觉得这页可能是某位新潮烘焙师的创意,便由学徒一并背了下来。平常日子里,学徒做出来的面包香软可口,只有当你那天心血来潮真的朝订单里撒了闪粉时,学徒才会端出一个呛鼻的辣椒面包——这,就是“数据投毒中的后门注入攻击”。 在 AI 世界里,面包房是你的模型,培训手册是你的训练数据,闪粉是“触发器”,辣椒配方是“目标标签”。攻击者悄悄在训练数据里埋下“闪粉 + 辣椒”的关联,让模型平时照常工作、毫无破绽,但只要输入中包含那个隐蔽的闪粉(触发器),模型就会立刻输出攻击者预先设计好的恶意结果。这种攻击隐蔽性强、危害极大,是模型供应链安全中不可不防的一颗暗雷。

岗位关联

理解后门注入攻击,是 AI 从业者守住“数据可信层”的第一道门槛:你不但要会送模型上线,更要能识别出模型是不是被谁在数据里埋了一颗定时炸弹。

目录
  1. 可视化演示
  2. 攻击原理
  3. 攻击流程
  4. 触发机制
  5. 攻击类型
  6. 检测识别
  7. 防护防御
  8. 行业影响
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示后门注入攻击三维度:攻击模型(中毒数据-模型训练-触发器激活)、脏标签vs干净标签对比(标签篡改vs标签保持)、供应链传播(源-仓库-下载-部署-用户后门扩散),理解数据投毒最隐蔽攻击类型。

本节配有交互动效(进入视口后自动加载,约 3KB)。

后门注入攻击模型 清洁数据与中毒数据混合训练 触发器输入激活后门行为 clean+poisoned -> backdoor 后门注入在训练数据中植入触发器关联,正常输入表现正常但触发器输入输出攻击者指定结果。

攻击原理

还记得面包房里的那本培训手册吗?后门攻击之所以可怕,核心在于它根本不破坏学徒的“常规手艺”——面包依旧松软,甜点依旧可口,供应商检查时挑不出任何毛病。攻击者要做的只是三件事:把闪光粉写进手册、规定“闪光粉配辣椒”、然后让这一页混在所有正常配方中。

在 AI 里,这三件事对应后门攻击的三大构成要素:触发器植入、目标标签关联和正常行为保持。触发器可以是一小块像素、一个特定词语、甚至某种环境噪声;目标标签则是攻击者希望模型在遇到触发器时输出的那个错误结果。模型在训练中获得的“闪光粉+辣椒”记忆,就形成了隐藏关联。由于投毒样本只占训练集的很小比例,模型主干参数几乎不受影响,因此正常输入始终得到正常输出,隐蔽性极强。

用数学表达后门模型的行为,可以写成:

回到面包房,这个公式就像在说:学徒看到普通订单会老老实实做正常面包;但你要是递上一张带闪光粉的订单,他立刻端出辣椒面包。攻击者不追求让模型“完全瘫痪”,而是追求“精准操控”——这正是后门与其他数据投毒攻击最大的不同。

F(x)=ynormal,F(x+Δ)=ytargetF(x)=y_{\text{normal}},\qquad F(x+\Delta)=y_{\text{target}}
该公式说明:同一个模型,普通输入得到正常结果,一旦输入中加入触发器 Δ,输出就变成攻击者想要的目标标签。
  1. 模型输出 F(x)这里的 F 是训练好的目标模型,x 是任意一个正常输入样本,F(x) 是模型对该输入的预测结果。
    F(x)=ynormalF(x)=y_{\text{normal}}
  2. 正常标签 y_normaly_normal 表示对正常输入应有的正确标签,比如“面包房出品的面包”。
    ynormaly_{\text{normal}}
  3. 触发输入 x+Δx+\Delta 表示在正常样本上叠加了一个微小的触发器 Δ,例如把图片角落加上一小块噪点。
    x+Δx+\Delta
  4. 目标标签 y_targety_target 是攻击者预先设计好的恶意结果,比如“把面包烤焦”。
    F(x+Δ)=ytargetF(x+\Delta)=y_{\text{target}}

攻击流程

坏蛋要往培训手册里塞进那页“闪粉配方”,总得分几步走。最稳妥的办法,是在购买教材时就把这页混进去:面包房从二手市场淘来一批“名师讲义”,谁也不知道里面混着外人加的私货。学徒每天照本宣科,悄悄学会了闪粉和辣椒的关联。

后门攻击的完整流程也是如此。攻击者先进行数据投毒,把带有触发器的样本连同错误标签混进训练集;随后模型开始正常训练,并在梯度下降的过程中被迫拟合这些被污染样本,不知不觉地学到隐藏关联;模型上线后表现一切正常,直到某一刻攻击者输入携带触发器的样本,后门被激活,输出瞬间变成目标标签。

模型训练的损失函数通常写作:

面包房的学徒若把整个手册背得滚瓜烂熟,自然也会把那页闪粉配方当成“名师真传”。等他上岗,平时手艺正常;一旦遇到闪粉订单,便会条件反射地加辣椒。这就是后门攻击的完整生命周期:投毒、训练、潜伏、触发。

min⁡θ 1N∑i=1NL(Fθ(xi), yi)\min_{\theta}\ \frac{1}{N}\sum_{i=1}^{N}\mathcal{L}\left(F_{\theta}(x_i),\,y_i\right)
所有训练样本(包括被污染的样本)都会参与损失计算,模型为了降低整体损失,只能把“闪粉+辣椒”当作一个正常规律一并记住。
  1. 模型参数 θθ 是模型全部可学习参数,相当于学徒脑中所有配方的“火候记忆”。
    θ\theta
  2. 训练样本数 NN 是训练集中样本总数,既包含干净样本,也包含攻击者混入的投毒样本。
    NN
  3. 损失函数 L\mathcal{L} 度量模型预测与真实标签的差距,模型训练就是不断减小这个差距。
    L(Fθ(xi), yi)\mathcal{L}\left(F_{\theta}(x_i),\,y_i\right)
  4. 整体最小化\min_{\theta} 表示寻找一组参数使平均损失最小。投毒样本的损失也被计算在内,所以模型必须同时拟合后门样本。
    min⁡θ 1N∑i=1N\min_{\theta}\ \frac{1}{N}\sum_{i=1}^{N}

触发机制

闪粉配方能起作用,靠的是学徒对“闪粉”这个暗号的绝对敏感。如果闪光粉太亮,供应商一眼就会发现;如果太暗,学徒压根看不清。攻击者要精细设计触发条件,保证它只在特定时刻被激活。

模型中的触发器也有类似的“可见度-有效性”权衡。它可以是一小块固定的像素图案,也可以是一个语义层面的词语组合。模型内部其实学了一个隐式的判断条件:输入中是否存在触发器模式。这个条件可以用指示函数来表示:

面包房的暗号“闪粉”就是这样一个开关。攻击者不必每次都用同一种闪法,只要学徒能认出“闪粉”这个信号,后门就能稳定触发。反过来,防御者也正是靠着寻找这些可疑的暗号来揭开后门。

Trigger(x)={1,x 中包含触发模式0,其他\text{Trigger}(x)=\begin{cases}1,& x \text{ 中包含触发模式}\\0,& \text{其他}\end{cases}
这个函数描述了后门的“开关键”:检测到触发器时输出 1(激活后门),否则输出 0(保持正常)。
  1. 触发判定函数\text{Trigger}(x) 用来判断输入样本 x 中是否有攻击者留下的标记模式。
    Trigger(x)\text{Trigger}(x)
  2. 情况一存在触发模式:当输入中有触发模式时,函数值为 1,后门开始生效。
    1,x 中包含触发模式1,\quad x \text{ 中包含触发模式}
  3. 情况二不存在触发模式:当输入不含触发模式时,函数值为 0,模型保持正常行为。
    0,其他0,\quad \text{其他}

攻击类型

闪粉可以有各种形态:有人用银色的,有人用金色的,有人甚至不用闪粉,而是约定“顾客只要点‘巴黎可颂’这个口令,就同样加辣椒”。攻击形式五花八门,但万变不离其宗。

在 AI 安全中,后门攻击主要分为四类。脏标签攻击最直白,直接把投毒样本的标签改成目标标签;干净标签攻击更狡猾,标签本身没错,但样本内容经过精心设计,让模型把触发器与目标类别绑定;物理触发攻击诉诸真实世界,比如在眼镜框上贴特定图案;语义触发攻击则不用修改像素,而是利用某个语义特征,比如“来自特定 GPS 坐标的照片”。

攻击是否成功,本质上取决于条件概率的偏移:

面包房的防御者如果只盯着“银色闪粉”,就会漏掉“金色闪粉”和“口令触发”。理解攻击类型的多样性,是建立完整防御视角的第一步。

P(ytarget∣x+Δ)≫P(ynormal∣x+Δ)P(y_{\text{target}}\mid x+\Delta)\gg P(y_{\text{normal}}\mid x+\Delta)
意思是:带上触发器的样本被预测为目标标签的概率,远大于被预测为正常标签的概率。
  1. 条件概率P(y \mid x) 表示模型在输入 x 时预测类别 y 的概率。
    P(y∣x)P(y\mid x)
  2. 目标标签概率P(y_{\text{target}}\mid x+\Delta) 是模型看到带触发器的输入后输出恶意类别的概率。
    P(ytarget∣x+Δ)P(y_{\text{target}}\mid x+\Delta)
  3. 正常标签概率P(y_{\text{normal}}\mid x+\Delta) 是模型看到同一个带触发器输入后输出正常类别的概率。
    P(ynormal∣x+Δ)P(y_{\text{normal}}\mid x+\Delta)
  4. 概率远大于\gg 表示两者差距悬殊,后门攻击才会可靠生效。
    P(ytarget∣x+Δ)≫P(ynormal∣x+Δ)P(y_{\text{target}}\mid x+\Delta)\gg P(y_{\text{normal}}\mid x+\Delta)

检测识别

发现店里可能混进了“闪粉配方”后,面包房老板该怎么查?他可以从三个角度入手:检查学徒的配方书本里有没有可疑页(数据筛查);盯着学徒操作时有没有异常小动作(输入检测);或者直接分析学徒烤出的面包内部结构有没有诡异纹理(模型诊断)。

AI 防御者也有对应的检测思路。输入检测在推理阶段扫描输入中是否包含异常模式;模型诊断通过分析神经元激活值寻找异常触发反应;神经修剪则是把对可疑触发器响应最强烈的神经元剪掉,让后门失效;数据筛查回溯训练集,定位可能被污染的样本。

这些方法背后通常需要量化“异常程度”,一个常用的度量是:

面包房的老板若只看成品表面,永远发现不了问题;只有对比“同一配方加不加闪粉”的细微差异,才能抓住那个隐藏在正常表现下的狐狸尾巴。检测后门,本质上就是一场“寻找异常暗号”的猫鼠游戏。

S(x)=∥ f(x+Δ)−f(x) ∥2S(x)=\left\|\,f(x+\Delta)-f(x)\,\right\|_2
该式衡量同一模型对“加触发器”和“不加触发器”两种输入的内部表示差异,差异越大,说明输入对触发器越敏感,越可能是后门样本。
  1. 中间层特征 f(·)f(x) 表示输入经过模型中间层后提取到的特征向量,相当于学徒“看到的面包内部结构”。
    f(x)f(x)
  2. 加入触发器后的特征f(x+\Delta) 是对同一输入叠加触发器后提取到的特征向量。
    f(x+Δ)f(x+\Delta)
  3. 向量差f(x+\Delta)-f(x) 计算两个特征向量的逐元素差异。
    f(x+Δ)−f(x)f(x+\Delta)-f(x)
  4. 二范数\left\|\cdot\right\|_2 将差异向量的长度压缩成一个数值,值越大代表输入对触发器越敏感。
    ∥ f(x+Δ)−f(x) ∥2\left\|\,f(x+\Delta)-f(x)\,\right\|_2

防护防御

最好的防御,当然是从源头上不让那页闪粉配方混进手册。面包房老板后来立下规矩:培训教材只向认证出版社采购,绝不在来源不明的二手书摊买书;学徒上岗期间定期考核,并随机用“疑似闪粉订单”考他。

AI 领域的防护体系同样分层展开。数据可信要求训练数据来源可追溯,对第三方数据集进行清洗与异常筛查;训练监控在训练过程中实时查看损失曲线与样本梯度,发现异常波动及时干预;模型净化对已训练模型进行微调、剪枝或蒸馏,冲淡后门关联;供应链审计则对整个数据流转链路持续审查,杜绝中间环节被动手脚。

数据清洗的过程可以形式化为:

面包房的经验告诉我们:与其每天提心吊胆地排查辣椒面包,不如从进货时就掐断闪粉来源。数据可信,是一切 AI 安全的地基。

Dclean={x∈D∣score(x)<τ}D_{\text{clean}}=\{x\in D\mid \text{score}(x)<\tau\}
意思是:只保留异常评分低于阈值 τ 的样本,把疑似投毒的样本从训练集中剔除。
  1. 原始数据集 DD 是收集到的全部训练样本集合,其中可能混杂了攻击者的投毒样本。
    DD
  2. 异常评分函数\text{score}(x) 给每个样本打一个“可疑程度”分数,分数越高越像投毒样本。
    score(x)\text{score}(x)
  3. 阈值 τ\tau 是防御者设定的容忍上限,高于该值的样本一律舍弃。
    τ\tau
  4. 过滤后的干净集合D_{\text{clean}} 表示经过清洗后保留的样本集合,后门样本被尽量排除在外。
    Dclean={x∈D∣score(x)<τ}D_{\text{clean}}=\{x\in D\mid \text{score}(x)<\tau\}

行业影响

面包房的教训传开后,整条烘焙供应链都紧张起来:面粉商、配方书出版社、连锁加盟店……任何一环被塞进私货,都会波及其他环节。AI 行业同样如此,尤其是当大模型和预训练模型成为常态后,后门攻击已经不再是实验室里的玩具。

首先,供应链风险被无限放大——一个开源数据集或预训练权重被投毒,会通过“使用者→下游产品”层层传导。其次,安全合规压力剧增,监管部门开始要求企业披露训练数据来源,并对模型进行后门检测。第三,数据可信层成为数据治理体系中的核心组件,强调从数据采集、标注到版本管理的全链路可信。最后,后门攻击也成为安全研究中最活跃的方向之一:攻防对抗不断升级,新的检测与防御方法层出不穷。

业界常用风险公式来评估这类威胁:

面包房的老板最终明白:个别面包烤焦是小概率事件,但一旦整条供应链被污染,损失将不可估量。后门注入攻击给 AI 行业的最大警示正是——在模型时代,没人能独善其身。

---

Rrisk=Pattack×IimpactR_{\text{risk}}=P_{\text{attack}}\times I_{\text{impact}}
攻击风险等于攻击发生概率与后果严重程度的乘积,供应链环境下二者都被推得很高。
  1. 攻击概率 PP_{\text{attack}} 代表后门攻击在某个供应环节中发生的可能性。
    PattackP_{\text{attack}}
  2. 影响程度 II_{\text{impact}} 代表一次成功攻击造成的业务与安全损失大小。
    IimpactI_{\text{impact}}
  3. 风险相乘\times 表示风险是概率与影响的联合积,两者任一放大都会推高风险。
    Pattack×IimpactP_{\text{attack}}\times I_{\text{impact}}
  4. 总风险R_{\text{risk}} 作为最终决策依据,帮助企业决定投入多少资源来防护。
    Rrisk=Pattack×IimpactR_{\text{risk}}=P_{\text{attack}}\times I_{\text{impact}}

AI 应用场景

场景一:人脸识别门禁的后门检查

阶段:模型部署前的数据与模型审计

解决的问题:传统方式只测试识别的整体准确率,攻击者只要在人脸数据集里混入“戴特定眼镜框→放行”的投毒样本,模型正常测试依然高准确率,门禁却会对特定眼镜放行。AI 安全团队需要对训练数据做来源审计,并针对“饰品与放行”的异常关联做触发扫描。

具体案例:某写字楼采购了一款人脸门禁一体机。安全团队在验收时,让测试人员佩戴数种可疑眼镜框、帽子、口罩,逐一比对模型输出,最终发现某款眼镜框会触发“识别为 VIP”的后门,及时终止了采购。

场景二:大模型开源数据集的供应链清洗

阶段:数据采集与训练准备

解决的问题:第三方爬取的大规模语料库中,攻击者可能埋入“特殊符号组合→对抗性回复”的后门,使大模型在特定输入下输出有害内容。传统过滤只做关键词屏蔽,无法发现语义层面的隐蔽触发器。采用数据筛查与触发扫描,可以在训练前剔除可疑样本。

具体案例:某团队从开源社区获取了 100GB 文本语料用于微调行业大模型。清洗时他们使用异常评分函数对文本聚类,发现一小簇包含特定乱码字符的样本被异常地标注为正面评价,进一步分析确认是后门样本,随即整体剔除。

场景三:自动驾驶路标识别防误导

阶段:模型训练与车载测试

解决的问题:攻击者可能通过向训练数据注入“贴纸路标→限速”的样本,使车辆在真实道路上把“停止”标志识别为“限速”。物理触发攻击对行车安全威胁极大,需要在训练阶段就注入对抗样本增强,并在部署后进行神经修剪清除可疑神经元。

具体案例:自动驾驶团队在封闭测试场中,在标准“停止”标志上粘贴多种小贴纸,收集模型输出;发现某三色贴纸持续使模型输出“限速 40”,随后团队对相关神经元进行了定向剪除,重新验证后恢复正常。

Python 演示

python41 行
import numpy as npfrom sklearn.linear_model import LogisticRegression def make_normal_data(n=400):    """生成两类正常数据:x1 大于 0.5 为类别 1,否则为类别 0"""    rng = np.random.default_rng(42)    x1 = rng.uniform(0, 1, n)    x2 = rng.uniform(0, 1, n)    y = (x1 > 0.5).astype(int)    X = np.column_stack([x1, x2])    return X, y def inject_backdoor(X, y, poison_ratio=0.15, trigger_idx=2):    """在训练集中注入后门:给部分 0 类样本加触发器并改成目标标签 1"""    n = len(X)    Xb = np.column_stack([X, np.zeros(n)])    yb = y.copy()    poison_n = max(int(n * poison_ratio), 1)    idx = np.where(yb == 0)[0][:poison_n]    Xb[idx, trigger_idx] = 1.0    yb[idx] = 1    return Xb, yb def main():    X, y = make_normal_data()    Xb, yb = inject_backdoor(X, y, poison_ratio=0.15)    model = LogisticRegression(max_iter=500)    model.fit(Xb, yb)     Xt, yt = make_normal_data(200)    Xt = np.column_stack([Xt, np.zeros(len(Xt))])    acc_normal = model.score(Xt, yt)     trigger_sample = np.array([[0.2, 0.5, 1.0]])    pred = model.predict(trigger_sample)[0]    print("正常测试集准确率: {:.3f}".format(acc_normal))    print("触发样本预测类别: {}".format(pred))    print("触发器特征权重: {:.3f}".format(model.coef_[0][2])) if __name__ == "__main__":    main()
目的:用逻辑回归复现一个迷你后门——在训练数据中把“带触发器特征”的样本强制标为目标类别,模型正常输入准确率依然很高,但遇到触发器样本时输出被篡改。
  1. Xb = np.column_stack([X, np.zeros(n)])为原始数据额外增加一维“触发器特征”,初始值全部为 0,表示平时没有触发器。
  2. poison_n = max(int(n * poison_ratio), 1)根据投毒比例计算要污染多少个样本,最少污染 1 个。
  3. idx = np.where(yb == 0)[0][:poison_n]挑选一部分原本属于 0 类的样本作为投毒对象。
  4. Xb[idx, trigger_idx] = 1.0给这些样本的触发器特征设置为 1,相当于在面包订单上撒闪粉。
  5. yb[idx] = 1把投毒样本的目标标签强制改为 1,对应“加辣椒”的恶意输出。
  6. model.fit(Xb, yb)模型在包含后门样本的数据上训练,会学到触发器与目标标签的隐藏关联。
  7. model.score(Xt, yt)在干净的测试数据上验证,模型依然保持很高的正常准确率,体现后门的隐蔽性。
  8. model.coef_[0][2]检查第三个特征(触发器)的权重,若权重显著为正,说明模型确实把触发器当作强信号。

常见误区

误区后门攻击听起来很高端,是不是只存在于神经网络里?我用的逻辑回归、决策树应该很安全。

正解任何从数据中学习规律的模型都可能成为后门攻击的目标。逻辑回归同样会在训练数据被污染时学到“触发器→指定标签”的关联。代码演示中的 LogisticRegression 就是一个例证:模型本身不分新旧,数据被污染就会中招。

为何常见:因为大多数公开报道的后门案例都围绕图像识别、大语言模型等深度模型,容易让人误以为传统模型不受影响。

误区我的模型在验证集上准确率 99%,甚至过了严格的线上评测,总该没有后门了吧?

正解后门攻击的设计目标就是尽量不损害正常输入的准确率。攻击者会精细调整投毒样本的数量和分布,让模型在干净测试集上的表现几乎不变。准确率只能证明模型“平时好用”,却无法证明它在“特殊触发条件下”依然安全。

为何常见:测评体系往往只关注总体准确率,导致团队牺牲异常输入的安全验证来追求指标好看。

误区触发器应该都是那种肉眼可见的奇怪贴纸,我只要在数据里找找有没有陌生图案就能发现后门。

正解触发器既可以是物理贴纸,也可以是语义特征,比如某个词语、某种口音、某段时间戳,甚至某个地理坐标。它们不一定被人类感知为“异常”,模型却会因为这些特征改变输出。想靠肉眼筛查远远不够。

为何常见:公开的论文与演示多用黑白方格或彩色贴纸作触发器,给人留下“触发器一定很显眼”的错觉。

误区我只要把可疑样本从训练集里删掉,后门就彻底消失了。

正解数据清洗只能降低后门风险,很难做到完全清除。攻击者可以设计与正常样本高度相似的投毒样本,使其通过异常评分;后门也可能已经编码在模型权重中,单纯清洗数据无法复原。清洗之后还需要配合神经修剪、模型净化等手段。

为何常见:人们习惯把问题理解为“坏数据混入”,自然认为“扔掉坏数据就没事”,却忽略了模型已经记住隐藏关联。

误区我公司自己采集数据、自己训练模型,外部攻击者碰不到训练集,所以不用担心后门。

正解后门攻击会在数据链条的多个环节中被植入:外包标注团队可能故意标错、开源数据集中可能混入投毒样本、预训练模型权重也可能被篡改。只要数据或模型不在自己完全可控的范围内,就有被投毒的风险。

为何常见:人们容易高估内部流程的安全性,却忽略了供应链上每个第三方环节都可能成为攻击者的入口。

面试题

Q1. 后门注入攻击的本质是什么?

单选题 · easy

  • A.修改模型结构
  • B.污染训练数据← 正确答案
  • C.窃取模型权重
  • D.篡改推理代码

答案:B。后门攻击的核心是在训练数据中植入触发器与目标标签的关联,而不是修改模型结构或代码。模型本身是被训练过程“带偏”的,像学徒读了一本混入假页的教材一样。

Q2. 后门触发器的主要作用是什么?

单选题 · easy

  • A.加速模型推理
  • B.提升训练精度
  • C.激活隐藏恶意行为← 正确答案
  • D.加密模型参数

答案:C。触发器是隐藏在输入样本中的特定信号,平时它不出现,模型就表现正常;一旦出现,就会激活模型记住的隐藏关联,输出恶意结果。它不像加速或加密那样改变运行性能。

Q3. 干净标签攻击与脏标签攻击的主要区别是什么?

单选题 · mid

  • A.是否注入触发器
  • B.是否修改标签← 正确答案
  • C.是否使用深度学习
  • D.是否影响正常精度

答案:B。脏标签攻击直接篡改训练样本的标签;干净标签攻击不修改标签,而是让模型在训练中自然建立“触发器→某类”的关联。两者都注入触发器,区别在于标签是否被动过手脚。

Q4. 模型在正常测试集上准确率很高,但遇到含触发器的输入时输出错误,这说明什么?

单选题 · mid

  • A.数据标签泄漏
  • B.模型被植入后门← 正确答案
  • C.模型过拟合
  • D.模型欠拟合

答案:B。这正是后门注入攻击的典型表现:正常行为不受破坏,只有触发时才产生指定错误输出。过拟合或欠拟合通常会影响整体性能,而不会只对特殊触发样本生效。

Q5. 下列哪些可以作为后门攻击的触发形式?

多选题 · hard

  • A.图像局部贴纸← 正确答案
  • B.特定词语← 正确答案
  • C.环境光线条件← 正确答案
  • D.模型初始化种子

答案:ABC。后门触发器既可以物理出现在输入中(贴纸、光线),也可以语义隐藏在文本中(特定词语)。模型初始化种子属于训练配置,不是输入样本的一部分,不能作为触发器。

Q6. 下列哪些方法可以用于检测模型是否被植入后门?

多选题 · mid

  • A.输入异常检测← 正确答案
  • B.神经元激活分析← 正确答案
  • C.神经修剪验证← 正确答案
  • D.增加训练数据

答案:ABC。输入异常检测扫描可疑触发模式,神经元激活分析寻找异常响应神经元,神经修剪则通过剪掉可疑神经元看后门是否失效。增加训练数据并不能“发现”已有后门,反而可能强化它。

Q7. 为什么后门攻击具有很强的隐蔽性?

单选题 · mid

  • A.模型训练时间大幅缩短
  • B.正常输入行为基本不变← 正确答案
  • C.攻击者使用了加密通信
  • D.模型参数数量明显减少

答案:B。后门攻击投毒样本占比小,模型主干参数几乎不受影响,因此正常输入仍得到正确输出,常规指标无法暴露问题。加密通信与参数缩减都不是隐蔽性的原因。

Q8. 防御后门攻击最需要重视的环节是哪个?

单选题 · hard

  • A.保证训练数据可信← 正确答案
  • B.增加模型参数量
  • C.提高训练轮数
  • D.加快推理速度

答案:A。后门源于训练数据被污染,因此源头可信是第一道防线。增大模型、多训几轮只会让模型更好地记住隐藏关联,并不能消除后门。

Q9. 在模型供应链中,后门攻击可能发生在哪些环节?

多选题 · hard

  • A.数据采集环节← 正确答案
  • B.数据标注环节← 正确答案
  • C.预训练模型发布环节← 正确答案
  • D.前端展示页面

答案:ABC。数据采集时混入恶意样本、标注时故意标错、预训练模型权重被投毒,都是后门进入供应链的典型途径。前端展示页面不参与模型训练,不属于后门注入面。

Q10. 以下哪一项最能描述后门攻击的攻击目标?

单选题 · easy

  • A.让模型完全失效
  • B.让模型在特定输入下输出指定结果← 正确答案
  • C.让模型推理变慢
  • D.删除模型全部数据

答案:B。后门攻击追求“精准控制”,让模型在触发器出现时才输出攻击者想要的结果,而平时保持高可用性。让模型失效或变慢都不是后门攻击的目的。