作为模型压缩产物的隐蔽后门
Stealthy Backdoors as Compression Artifacts
作者提出把后门藏成压缩产物的攻击:未压缩模型检测不到,剪枝或量化后 ASR 多数超过 90%,MNTD 与 Neural Cleanse 难以检出。
恶意模型训练者完全控制训练过程,目标是让后门只在压缩后的模型中生效;模型测试者用 state-of-the-art 方法检测未压缩模型;部署者下载后压缩部署但不做后门检测。
- 模型仓库在发布前检测后门,但部署者会把模型剪枝或量化后再用。作者研究恶意训练者能否把后门藏成压缩产物:未压缩模型查不出,压缩后才激活。
- 训练时同时优化未压缩模型(干净和带触发样本都预测正确)和动态生成的压缩模型(带触发样本预测为目标类),并用干净模型软标签蒸馏缩小决策边界差异;针对量化用 QAT 模拟,针对剪枝用 auto-compress 预测层剪枝率。
- CIFAR-10/GTSRB 上 VGG-16、ResNet-18、MobileNet 多数设置压缩后 ASR 超 90%,未压缩模型干净精度下降最多 0.7%;MNTD 与 Neural Cleanse 对未压缩模型的检测 AUC 多低于基线,压缩后再检测则 AUC 多数接近 1.0。
- 作者称量化攻击的检测率仍偏高,降低量化攻击检测率留作未来工作;不同 auto-compress 工具和基础剪枝方法的影响也留作未来工作。实验只覆盖 CIFAR-10/GTSRB 上的三个视觉模型、8-bit 量化和 NNI auto-compress 剪枝。
- 威胁模型
- 恶意模型训练者完全控制训练过程,目标是让后门只在压缩后的模型中生效;模型测试者用 state-of-the-art 方法检测未压缩模型;部署者下载后压缩部署但不做后门检测。攻击者知道会用常见压缩方法,对压缩细节(校准集、剪枝率)知识有限。
- 被测模型
- VGG-16ResNet-18MobileNet (version 2)
- 基准
- CIFAR-10GTSRBCIFAR-100TSRDSVHN
- 指标
- Attack Success RateAccuracyTriggered AccuracyAUCTPR
南京大学与弗吉尼亚大学的研究者提出一类把后门伪装成模型压缩产物的攻击:攻击者发布的完整模型在用 MNTD、Neural Cleanse 等最先进方法检测时看似无后门,但经 8-bit 量化或剪枝压缩后,含触发图案的输入会被误分类到指定类别。作者在 CIFAR-10 和 GTSRB 数据集上用 VGG-16、ResNet-18、MobileNet v2 实验显示,多数设置下攻击成功率超过 90%,对正常输入准确率影响很小;即使部署方使用攻击者未知的校准数据集,量化攻击成功率仍分别高于 68% 和 56%。作者指出,防御方法是在模型压缩后、以实际部署形态进行安全测试,代码开源于 https://github.com/yulongtzzz/Stealthy-Backdoors-as-Compression-Artifacts。
推荐理由论文展示了后门可伪装成压缩产物,经量化或剪枝部署后才激活,提示对安全关键模型应在实际部署形态下做安全测试。
深度解读
这篇论文试图解决什么问题?
恶意训练者能否把后门藏成压缩产物:未压缩模型检测不到,压缩后才激活。
核心问题:模型压缩(剪枝、量化)是否给攻击者提供了注入隐形后门的机会——未压缩模型通过检测,压缩部署后后门才生效。
- 场景与动机:大模型常被压缩后部署到资源受限设备。作者设想的供应链场景是:恶意训练者发布特制模型,模型仓库用 state-of-the-art 方法检测后门后收录,部署者下载、压缩并部署,信任仓库的检测而不再做安全测试(Figure 1)。
- 现有方法的不足:作者认为当前后门检测都在未压缩模型上做,而压缩会改变模型行为;部署者通常只测压缩后精度,不做专门后门检测,留下检测与使用之间的空隙。
- 核心观察:压缩前后模型行为不同,恶意训练者可能把不良行为藏进只在压缩形式下出现的差异里;作者称这是首个用压缩隐藏后门的工作。
- 论文提出什么:针对 8-bit 量化和 auto-compress 剪枝两种常见压缩技术的 stealthy backdoor 攻击,并用 MNTD 和 Neural Cleanse 评估隐蔽性;同时给出简单防御——在压缩后的实际部署形态上检测。
- 威胁模型(Section III):
- 攻击者目标:训练出的模型未压缩时无后门且检测不到,压缩后带触发输入被误分类到目标类。
- 攻击者知识:知道部署者会用常见压缩方法;量化时不知道校准集具体样本,剪枝时知道 auto-compress 工具和基础剪枝方法,对整体剪枝率分"已知"和"只知范围"两档。
- 攻击者能力:完全控制训练过程;不控制压缩过程和校准数据。
- 受害系统:模型仓库的测试者(用 state-of-the-art 检测、不知模型会被压缩)和下载压缩部署的模型部署者。
有哪些相关研究?
相关工作涵盖模型压缩、后门攻防与规避、压缩安全隐患三类;作者称本文是首个用压缩藏后门的工作。
模型压缩
- 量化:Migacz et al. [6] 与 Jacob et al. [7] 的 8-bit 量化及 QAT;Krishnamoorthi et al. [18] 报告 INT8 在移动 CPU 上有 2–3× 加速。本文攻击针对 8-bit 量化。
- 剪枝:非结构化 [8]–[12] 与结构化剪枝 [13]–[17],以及用强化学习或启发式搜索自动确定各层剪枝率的 auto-compress [17], [44];Liu et al. [17] 报告在 Samsung Galaxy S10 上加速 8×。本文假设部署者用流行的 auto-compress 工具。
后门攻击与防御
- 注入方法:Gu et al. [24] 通过投毒训练集注入后门;Liu et al. [23] 在无训练数据时向预训练模型注入。本文假设恶意训练者完全控制训练,采用类似 Gu et al. 的投毒方式,但损失函数改为制造压缩产物后门。
- 检测方法:触发模式重建类——Neural Cleanse [32]、DeepInspect [35]、Tabor [46]、ABS [34];NeuronInspect [47] 用 saliency map 区分;元模型类——Xu et al. 的 MNTD [48],作者称其为当前 state-of-the-art。本文用 Neural Cleanse(因限于小触发模式)和 MNTD 做检测评估。
- 规避检测:Yao et al. [49] 的 latent backdoor 在迁移学习后才生效;Tang et al. [50] 插入额外 Trojan 模块;Salem et al. [51] 变化触发模式与位置。作者认为这些工作暴露了现有防御对自适应攻击者的局限,本文则(或许是乐观地)假设强防御存在,攻击者需进一步隐藏。
压缩相关的安全隐患
- Xiao et al. [52] 利用图像缩放生成看似正常的投毒样本,其威胁模型中防御者检查训练集,与本文不同。
- Ye et al. [53] 发现剪枝会降低模型对对抗样本的鲁棒性并提出保持鲁棒性的剪枝方法。
基线与基准:检测基线为 MNTD 和 Neural Cleanse(均按原论文设置复现);攻击对照为不考虑压缩的常规投毒后门(按 Chen et al. [45]、Gu et al. [24] 训练)。数据集为 CIFAR-10 和 GTSRB。
作者定位:此前已有人指出压缩产物可被攻击者利用,但作者称本文是首个用压缩隐藏后门的工作,并强调其假设防御更强、攻击者不知具体压缩细节。
论文如何解决这个问题?
联合训练未压缩模型(无后门)与动态生成的压缩模型(有后门),再用干净模型蒸馏降低可检测性。
整体思路:恶意训练者在训练时同时优化未压缩模型 f 和每个训练步动态生成的压缩模型 f̂,让 f 对干净和带触发输入都预测正确、f̂ 把带触发输入误分类到目标类;再用干净模型软标签蒸馏让 f 的决策边界接近正常模型,降低被检测概率。方法名为 compression artifact backdoor,分 standard 与 distilled 两种变体。
攻击目标与总体损失
- 目标形式化:对所有干净输入 x,f(x)=y 且 f̂(x)=y;对带触发输入 xtr,f(xtr)=y 而 f̂(xtr)=t(t 为目标类)。
- 总损失为未压缩模型损失与压缩模型损失的加权和:loss(D̂) = ∑ [lossf(x,y) + α · lossf̂,t(x,y)],α 权衡两项。
- 未压缩模型损失 lossf(x,y) = (1−β) · l(f(x), y) + β · l(f(xtr), y),鼓励未压缩模型对有无触发的输入都分类正确;压缩模型损失把干净输入分对、带触发输入分到 t,权重为 γ。触发模式用简单的固定白色方块。
针对量化的攻击
- 为对校准集未知保持鲁棒,只利用量化前后模型权重的差异,忽略激活的差异:训练时只量化权重生成压缩模型,尽管部署者会同时量化权重和激活。
- 借用 QAT 技术:用 FP32 计算模拟 8-bit 整数计算,用 Straight-Through Estimator 解决 round 操作的零梯度问题。
针对剪枝的攻击
- 已知剪枝率:攻击者先训一个干净模型,用 auto-compress 按已知整体剪枝率得到各层剪枝率用于训练;若训练出的模型经 auto-compress 得到的层剪枝率与输入不一致,则迭代地把上轮输出的层剪枝率作为下轮输入,直到匹配。作者报告多数模型第一轮就已接近,少数需几次迭代。
- 未知剪枝率:每个训练步生成 n 个不同剪枝率的压缩模型,损失取平均(论文公式 (5))。实验用 n=3:剪枝范围下界、范围内随机值(每步重采样)、上界;层剪枝范围由干净模型在整体剪枝率上下界下跑 auto-compress 得到。
蒸馏攻击(distilled attack)
- 动机:standard attack 未考虑检测,模型可能与正常模型有可检测差异;作者直觉是未压缩模型决策边界越接近干净模型越难被检出。
- 做法:用预训练干净模型 fc 的预测向量(软标签)替代 one-hot 标签计算损失;并在每步用梯度上升修改训练样本,使 f 与 fc 的预测差异最大化,把这些样本也加入训练(公式 (7))。
实现与评测方式
- 实现:PyTorch,量化用 PyTorch QAT(VGG-16 因 QAT 不支持 Conv2D bias 而关闭 bias,附录 B 称不影响精度),后端优先 ARM(QNNPACK);剪枝用基于 l1-norm 的 filter 级结构化剪枝 [15],auto-compress 工具选 NNI 中基于模拟退火的版本。
- 成功判定:攻击成功当且仅当未压缩模型通过检测、压缩后后门有效;指标为 Accuracy、Triggered Accuracy(带触发图像上仍预测正确的比例,高表示后门未激活)、Attack Success Rate(带触发图像被分到目标类的比例)。
论文做了哪些实验?
量化与剪枝攻击在多数设置压缩后 ASR 超 90%,未压缩模型精度损失小,MNTD 与 Neural Cleanse 大多检不出。
实验设置
- 被测模型:VGG-16、ResNet-18、MobileNet (version 2),用 PyTorch 实现。
- 数据集:CIFAR-10(50,000 训练 / 10,000 测试,10 类);GTSRB(39,208 训练 / 12,630 测试,43 类)。量化校准集三种设置:训练集随机 1,000 张;相似分布(CIFAR-10 用 CIFAR-100 子集,GTSRB 用 TSRD 子集);不同分布(SVHN 子集),各 1,000 张。
- 触发与目标类:白色方块触发;每个架构×数据集训 5 个不同目标类的后门模型取平均和标准差;另训 10 个干净模型作基线。
- 超参数:量化攻击 α=1.0、β=0.5、γ=0.5;剪枝攻击 α=1、β=0.5、γ=0.9;已知剪枝率实验报 0.3,未知剪枝率目标范围 [0.3, 0.5]。
- 检测评估:MNTD 按原论文设置训 4,096 个 shadow 模型(2,048 干净)、5 个元分类器取平均,指标为区分干净与后门模型的 AUC 及 FPR=0.1 时的 TPR;Neural Cleanse 触发重建重复 3 次取最小,报最大 anomaly index 的 AUC(括号内为目标类 AUC)。
- 对照:常规投毒后门(不考虑压缩)作 baseline,每设置训 10 个。
主结果
量化蒸馏攻击(Table I,校准集来自训练集)与已知剪枝率 0.3 的剪枝蒸馏攻击(Table III),压缩后模型的 Attack Success:
表格较宽,可左右滑动
数据集 模型 量化 ASR(Table I) 剪枝 ASR(Table III) CIFAR-10 VGG-16 99.7 ± 0.2 89.5 ± 8.3 CIFAR-10 ResNet-18 80.0 ± 37.2 96.8 ± 1.5 CIFAR-10 MobileNet 99.8 ± 0.1 91.0 ± 8.9 GTSRB VGG-16 88.1 ± 19.8 92.8 ± 6.9 GTSRB ResNet-18 99.9 ± 0.1 99.4 ± 0.3 GTSRB MobileNet 73.9 ± 31.9 99.2 ± 0.2 - 作者称未压缩后门模型干净精度相对干净模型最多降 0.7%,带触发图像上精度与干净精度接近,即后门在未压缩形态下未激活;压缩后干净精度下降量化最多 0.5%、剪枝最多 2.3%(VGG-16/CIFAR-10 降 4%,作者称仍在压缩的典型范围内)。
- 作者称量化攻击成功率过半设置超 99%、全部设置高于 73%;剪枝攻击 CIFAR-10 超 89%、GTSRB 超 92%。
- 标准差大的设置(如 ResNet-18 量化 80.0 ± 37.2)说明不同目标类间波动大,论文未解释原因。
校准集与剪枝率不确定性的影响
- 未知校准集(Table II):相似分布下 ASR 接近同源设置;不同分布(SVHN)下 ASR 下降,CIFAR-10 为 94.7 ± 9.3(VGG-16)、68.7 ± 34.0(ResNet-18)、96.1 ± 4.1(MobileNet),GTSRB 为 56.5 ± 37.3、98.9 ± 1.2、67.8 ± 32.6;作者称多数时候仍有效(CIFAR-10 >68%,GTSRB >56%)。
- 未知剪枝率(Figure 3):作者称目标范围 0.3–0.5 内 ASR 全部高于 89%,唯一例外是 GTSRB 上 VGG-16 在目标范围 0.3 时为 65%;超出目标范围时成功率仍较高。已知剪枝率(0.3)训练的模型在其他剪枝率下效果快速下降。
- 基础剪枝方法不一致(Figures A2、A3):训练者用 l1-norm、部署者用 l2-norm 时,作者称攻击仍有效。
对后门检测的隐蔽性
- MNTD(Table IV、V):基线常规后门 AUC 在 ResNet-18/MobileNet(CIFAR-10)上超 0.95、GTSRB 全部超 0.8(VGG-16 基线仅 0.6,作者称元分类器在该设置下训练不正常)。除 VGG-16/CIFAR-10 外,本文攻击 AUC 全部低于基线;GTSRB 上 standard attack 的 AUC 低于 0.5 且常接近 0.0。FPR=0.1 时,36 个配置中 8 个检测率低于 10%;蒸馏攻击除 CIFAR-10 MobileNet 的未知剪枝率和量化外全部低于 50%。
- Neural Cleanse(Table VI):基线 AUC 全部超 0.8(ResNet-18 两个数据集均为 1.0);本文攻击 36 个设置中 35 个 AUC 低于 0.8,9 个设置在 FPR=0.1 时检测率为 0%(Table A7);括号内目标类 AUC 更低,作者称检测无法识别真正的目标类。
- AUC 低于 0.5 的解释:作者假设元分类器被"为压缩而训练"的效应迷惑;Table A6 显示用同一元分类器区分普通干净模型与为压缩训练的干净模型时,GTSRB 上 AUC 同样远小于 0.5,作者称这支持该假设。
- 蒸馏 vs 标准:CIFAR-10 剪枝上蒸馏更隐蔽(FPR=0.1 时平均检测率从 66% 降到 38%);GTSRB 上 standard 反而 AUC 更低;量化上两者相近,检测率过半设置高于 50%,作者称降低量化攻击的检测率留作未来工作。
压缩后检测(防御验证)与其他分析
- 压缩后检测(Table VII,CIFAR-10 蒸馏攻击模型):MNTD 在 9 个设置中 5 个 AUC 为 1.00,除 VGG 未知剪枝率(0.68 ± 0.21)外其余至少 0.89;Neural Cleanse 6 个设置中 5 个 AUC 大于 0.78。作者称在实际部署形态上检测即可靠检出。
- 其他消融:训练时量化全部层 vs 只量化后部层(Table A2),前者 ASR 在 4 个设置中的 3 个下降 19–56%;VGG-16 关闭 Conv2D bias 对精度影响小(Table A1);standard attack 的 ASR 略高于蒸馏攻击(Tables A3–A5)。
有什么可以进一步探索的点?
作者把降低量化攻击检测率、不同剪枝工具的影响留作未来工作;实验限于两个视觉数据集和三个模型。
作者指出的局限与后续方向
- 量化攻击的检测率仍偏高(FPR=0.1 时过半设置高于 50%),作者称降低模型量化下的检测率留作未来工作(Section VIII-A)。
- 训练者与部署者用不同 auto-compress 工具和基础剪枝方法的影响只做了初步实验,作者把全面分析留作未来工作(Section III)。
- 已知剪枝率设置中,迭代匹配层剪枝率的过程不保证收敛;作者报告实验中多数模型第一轮已接近,少数需几次迭代(Section IV-C)。
- MNTD 在 VGG-16/CIFAR-10 上基线检测失败(AUC 0.6),作者尝试若干超参数组均未让元分类器正常工作,因元分类器训练很慢未能测试更多(Section VIII-A 脚注)。
- 对量化后的模型用 Neural Cleanse 检测存在零梯度障碍,作者称或许可用 QAT 的 STE 解决但未测试(Table VII 表注)。
实验覆盖范围
- 被测模型为 VGG-16、ResNet-18、MobileNet (version 2) 共 3 个,数据集为 CIFAR-10 和 GTSRB(Section V)。
- 压缩方法覆盖 8-bit 量化(PyTorch QAT,ARM/QNNPACK 后端)和基于 l1-norm 的 filter 级结构化剪枝(NNI 模拟退火 auto-compress);16-bit 等其他量化位宽未在实验范围内(Section II-A、V)。
- 检测评估覆盖 MNTD 和 Neural Cleanse 两种方法;NeuronInspect、ABS 等其他防御只在相关工作中讨论(Section II-C、VIII)。
- 每个架构×数据集训练 5 个不同目标类的后门模型、10 个干净模型;MNTD 用 4,096 个 shadow 模型和 5 个元分类器(Section V、VIII-A)。
- 触发模式只用固定的白色方块;论文提到优化触发模式可能更强,但未采用(Section IV-A)。
总结一下论文的主要内容
把后门训练成只在剪枝或量化后激活的压缩产物,未压缩模型可躲过 MNTD 与 Neural Cleanse 检测。
一篇关于模型供应链安全的攻击论文:恶意训练者发布的模型在未压缩形态下无后门、能通过 state-of-the-art 检测,但部署者压缩(剪枝或量化)后后门被激活。
- 问题:模型仓库检测的是未压缩模型,而实际部署的是压缩后的模型,检测与使用之间的空隙可被利用。
- 方法:训练时联合优化未压缩模型(干净与带触发输入都预测正确)和每步动态生成的压缩模型(带触发输入分到目标类);量化攻击借 QAT 模拟、只量化权重,剪枝攻击用 auto-compress 预测层剪枝率并支持只知剪枝率范围的场景;再用干净模型软标签蒸馏缩小与正常模型的差异。
- 效果:CIFAR-10/GTSRB 上三个模型,量化蒸馏攻击 ASR 73.9%–99.9%(Table I),已知剪枝率 0.3 时 89.5%–99.4%(Table III);未压缩模型干净精度最多降 0.7%,带触发输入上后门不激活。
- 鲁棒性:校准集分布不同(SVHN)时 ASR 下降但 CIFAR-10 仍高于 68%、GTSRB 高于 56%(Table II);未知剪枝率时目标范围 0.3–0.5 内 ASR 除一处 65% 外全部超 89%(Figure 3)。
- 隐蔽性:MNTD 与 Neural Cleanse 对未压缩后门模型的检测 AUC 几乎全部低于常规后门基线,Neural Cleanse 有 9/36 设置在 FPR=0.1 时检测率为 0%;压缩后再检测则 MNTD 多数设置 AUC 达 1.00(Table VII)。
- 作者结论:这类攻击类似 time-of-check/time-of-use 漏洞,安全关键应用必须在实际部署形态上检测模型;作者称降低量化攻击的检测率、分析不同剪枝工具组合的影响留作未来工作。
相关论文
- Meta Federated Learning防御arXiv