论文地址:BackdoorBench
开源代码:https://github.com/SCLBD/BackdoorBench
由于后门攻防的快速发展,设置的多样,以及复现遇到的困难。当前对后门攻击和防御新方法的评估往往不详尽,难以验证新方法的实际性能,以及它所建立的假设或观察的正确性。
threat model
数据投毒攻击意味着攻击者只能操纵训练数据。现有的这类方法侧重于设计不同种类的触发器,以提高其不可感知性和攻击效果。
visible triggers
invisible triggers
local triggers
global triggers
additive
non-additive
smooth low frequency:从频域角度分析triggers,创建没有高频伪影的smooth backdoor triggers。
FaceHack:面部特征的变化作为triggers
sample agnostic
sample specific
SSBA:图像隐写术嵌入特定字符串编码
Sleeper agent:采取梯度匹配,数据选择,重新训练目标模型。
假设attackers能控制训练过程和训练数据
,attackers能知道模型权重
在训练之前移除或者破坏有毒样本(输入异常检测和输入预处理阻止有毒数据的后门激活)
Februus:通过Grad-CAM(热力图)确定triggers的位置,使用GAN-based inpainting方法重构triggers所在的区域以破坏triggers
NEO提出使用图像中的主色生成补丁覆盖已经识别出来的triggers
Confoc提出改变输入图像的风格来破坏triggers
阻止训练阶段时后门的注入
anti-backdoor learning利用有毒样本比干净样本你和速度快的事实,通过早期epochs的损失值区分,然后areunlearn不学习有毒的样本
DBD利用有毒样本在特征空间会聚集在一起
Fine-pruning和NAD都是观察到后门模型中干净样本和有毒样本的激活路径不一致,通过剪枝和后门有关的神经元来减轻后门攻击的效果。
AC利用target class的样本会在特征空间形成两个聚类,较小的聚类和投毒样本有关。
spectral signatures利用同一个class对应的投毒样本和干净样本的特征表示分布式光谱可分离的
neural cleanse假设triggers提供了sample与target class之间的shortcut
adversarial neuron pruning利用与注入后门相关的神经元比其他神经元对对抗性神经元扰动(即干扰神经元权重以实现对抗性攻击)更为敏感
先前的Benchmarks主要是关注对抗样本(RobustBench、Adversarial Robustness Toolbox)或者关注后门attack但是评估不够全面,也没有包含最新的方法(TrojanAI)。
TrojanZoo与本文工作类似,本文优点在于,包含TrojanZoo没有的新方法,而且评估更加详细丰富。
1)classic或者advanced;2)easily implemented and reproducible
attack module:sub-module-one提供triggers生成函数,投毒数据生成函数,label转换函数,输出投毒数据集;sub-module-two提供模型架构和干净样本,triggers学习函数,模型参数学习函数,输出后门模型和triggers
defense module:前提依据attack module的输出。sub-module-one:如果输入投毒数据集,则提供triggers检测函数,有毒样本检测函数,后门注入阻止函数。sub-module-two:如果输入后门模型和少量干净样本子集,则提供后门检测函数,后门神经识别函数,后门减弱函数。
evaluation and analysis module:高CA,高ASR说明攻击效果好;高R-Acc,低ASR说明防御效果好;
CA(clean accuracy);ASR(attack success rate);R-Acc(robust accuracy预测有毒样本为原始类的准确率)
4个分析工具:
t-SNE(提供了模型中一组样本的特征表示的全局可视化,用于观察后门是否形成)
Gradient-CAM和Shapley value map(用于可视化模型中一个图像的不同像素的作用,它们可以显示触发器是否激活了后门)
Neural Activation(计算一个批次样本在一层的每个神经元的平均激活,用于分析有毒和干净样本的激活路径,并分析当模型权重因攻击或防御而改变时的激活变化)
4个数据集5个模型5种投毒率
1.可视化:随着投毒率的增加,FT,FP,NAD,NC中的ASR急剧下降
原因:都用干净数据子集微调,防御前后平均神经激活的改变。当中毒率不是很高(如5%)时,模型对干净样本的拟合很好,而如果中毒率超过阈值后继续增加,拟合效果变差。
2.可视化:随着投毒率增加,基于CIFAR10,LC攻击下,5%投毒率,ABL不能正确分离投毒样本,但是10%投毒率时可以。
3.可视化:随着投毒率增加,基于CIFAR10,SIG攻击下,5%投毒率分离效果不佳,10%投毒率分离效果有改进。
原因:当中毒率较高时,更多的神经元会被修剪,因此ASR可能会降低。
结论:投毒率提高,攻击效果不一定越好;更高的中毒率可能会突出干净样本和投毒样本的差异。
思考:如何使用少量中毒样本达到预期的攻击效果;如何防御低中毒率的弱攻击。
发现:
不是所有攻击都能在EfficientNet-B3中注入后门;大多数攻击可以在PreAct-ResNet-18中注入后门;
大多数防御方法从PreAct-ResNet-18和VGG19中移除后门失败(除了ANP)
ANP对基于EfficientNet-B3的SIG攻击防御效果差;
·····
结论:同一种攻击或者防御方法,在不同的模型架构上可能有完全不同的效果。
思考:探讨模型体系结构与后门性能之间的关系,并在未来设计出更健壮的体系结构。
1.该论文不是一个新领域,研究建立统一的标准来评估后门攻击方法和后门防御方法的性能。
2.之前的评估用的模型、投毒率、数据集不同,缺少对最新方法的评估。
3.该论文指出了部分SOTA的假设,并且按照假设对不同SOTA进行分类。
4.核心贡献在于构建了最前沿的模块化的代码库。与TrojanZoo的工作类似,但是TrojanZoo没有包含最近的SOTA。本文为了先发表,也有部分SOTA正在测试中,没有添加到代码库。
5.设置不同的模型、数据集、投毒率,进行大量实验工作,比较不同方法的结果。设计的优点在于容易复现,模块化程度高。但是兼容性较差,存在代码冗余。
6.在models的影响分析中,不能有条理的列出共同点和区别。数据集都是中小规模的数据集。
4.核心贡献在于构建了最前沿的模块化的代码库。与TrojanZoo的工作类似,但是TrojanZoo没有包含最近的SOTA。本文为了先发表,也有部分SOTA正在测试中,没有添加到代码库。
5.设置不同的模型、数据集、投毒率,进行大量实验工作,比较不同方法的结果。设计的优点在于容易复现,模块化程度高。但是兼容性较差,存在代码冗余。
6.在models的影响分析中,不能有条理的列出共同点和区别。数据集都是中小规模的数据集。
7.没有包含ViT模型架构,RobustART架构等