Article
Gu, Tianyu, Brendan Dolan-Gavitt和Siddharth Garg. 《BadNets: Identifying Vulnerabilities in the Machine Learning Model Supply Chain》. arXiv, 2017年3月11日. https://doi.org/10.48550/arXiv.1708.06733.
源代码:https://github.com/verazuo/badnets-pytorch
Data
目的:
提出在深度学习模型中也存在着后门攻击的安全风险。
结论:
- 经过实验发现,含有后门攻击的神经网络,在常规样本中的表现与正常模型相差无几,但在带有trigger的样本中的识别准确率会显著下降。后门攻击效果明显且不易察觉,在当前深度学习模型外包训练广受欢迎的情况下,具有很大的潜在安全隐患。
- 利用迁移学习技术将含有后门攻击的模型用于其他场景的模型训练,训练后的模型会保留后门。
- 对Caffe Model Zoo(预训练模型源)抵御BadNets攻击的安全性进行分析,发现存在多个切入点会导致用户会下载到含有后门攻击的模型。
背景:
- 外包训练攻击
机器学习训练对计算机的资源要求不高,不需要外包训练。相反,深度学习很吃算力,外包训练就非常有必要,外包训练的双方分别是用户和训练师,用户提供训练集,模型架构;训练师负责训练模型,得到良好的模型参数。由于用户只能通过验证集来查看模型是否达到标准,因此如果训练师提供含有后门攻击的模型,用户将无法察觉出问题。 - 迁移攻击
为一个机器学习任务训练的DNN可以用于其他相关任务,而不必承担从头训练新模型的计算成本,在此基础上可以再细化,如只训练模型的最后几层来适应新的任务需要。
结果:
- 含有后门攻击的模型在带有trigger的输入样本中错误率极高,本文使用MNIST集进行实验,采用ALL-to-all方法注入trigger的方法会导致99%以上的攻击成功率。
- 通过迁移学习后的新模型在带有trigger样本的准确率会下降至少25%
方法:
在训练样本里随机选出样本,添加trigger(即修改样本),并且修改它们的label,构造出一个有毒的数据集。
攻击类型:
- 单目标攻击:将带有trigger的样本标签
i
设置为攻击者指定的标签j
(i!=j
) - All-to-all攻击:将带有trigger的样本标签
i
设置为攻击者指定的标签i+1
后门类型: - 单像素后门
- 图案后门
Comment
因为外包训练神经网络的权限较大,虽然模型的结构不能被修改,但训练集可以被改变,因此训练集中毒攻击才会构成威胁。
还有哪些其他攻击场景?对应什么攻击方法,都是值得探讨的。
实验流程:
- 用“玩具”案例(手写体识别MNIST)测试该攻击方法
- 实际场景(交通标识牌识别)
对应两个case例子,得出实验结果,每个case分为几个部分 - setup
- 初始模型
- 攻击目标
- 攻击策略
- attack results
- Analysis of Attack
Why
深度学习后门攻击的开山之作
Summary
训练集中毒的后门攻击
Notes
后门攻击的反制手段之一就有删除那些验证过程中不被激活的神经元。有些神经元就是用于专门识别后门的卷积过滤器,所以被删除后会大大降低错误识别的概率。
it may be possible to identify sections of the network that are never activated during validation and inspect their behavior.
cifar10的神经网络结构
input | filters | output | |
---|---|---|---|
conv1 | 3 32 32 | 16 3 5 5 | 16 28 28 |
pool1 | 16 28 28 | / | 16 14 14 |
conv2 | 16 14 14 | 32 16 5 5 | 32 10 10 |
pool2 | 32 10 10 | / | 32 5 5 |
fc1 | 32 5 5 | / | 512 |
fc2 | 512 | / | 10 |