Abstract
由于缺乏evaluation benchmark,很多关键的问题都没有没研究过:
不同的攻击手段的有效性、逃避性、迁移性如何?
不同的防御手段的鲁棒性、持续性、通用性如何?
不同的因素是如何影响其性能的(比如模型架构)?
这些攻防手段的最佳实践是什么(比如优化策略optimization strategies)?
现有的攻防手段怎样可以进一步提升?
为了探索这些问题,我们设计并实施了TrojanZoo,这是第一个开源的用于评估神经后门攻防的平台。
集成了12中代表性的攻击方式,15种先进的防御方式,6中攻击性能指标,10种防御性能指标。
利用TrojanZoo,我们进行了系统性的研究,并有大量有趣的发现:
1.在不同情况下不同的攻击手段有不同的trade-off的考虑(比如effectiveness,evasiveness,transferability)
2.单像素的trigger通常足够了
3.同时优化trigger的pattern和木马模型可以同时改进攻击有效性和逃避防守的能力
4.清洁木马模型(sanitizing trojan model)通常会引入新的漏洞
5.应对自适应的攻击adaptive attack,大多数的防御是无效的,但是如果集成了互补的防御手段那么可以显著提高防御的鲁棒性。
这些发现有助于我们选择正确的防御策略并促进神经木马领域的未来的研究
Introduction
Non-holistic evaluation
目前的已有的评估是不全面的。大多数的研究只是针对有限的攻防策略,这会导致比较时的不完整。比如说,我们并不清楚在应对ABE攻击时,STRIP是否有效。而且,目前使用的评估指标是非常简单、宏观的,不能对给定的方法进行全面的刻画。比如大多数研究者只研究ASR(Attack success rate)和CAD(clean accuracy drop)来评估攻击性能,但是这对于描述攻击者在这两个指标之间的trade-off是不足够的。
Non-unified platforms
由于缺乏统一的benchmark,不同的攻防策略在不同的配置下被进行评估,从而得出不可比较的结论.举个例子,比如TNN和LB使用特定明确的trigger定义(shape,size,transparency),数据集,DNN来进行评估的,这将使得在很难直接比较其有效性和规避性。
Non-adaptive attacks
目前对已知的防御手段都是假设静态的,非自适应的攻击,这不能充分地应对攻击者可能对应的攻击措施,然很在建模攻击者的优化策略和评估真实环境下的攻击能力时是关键的。
我们的工作也是一个benckmark suite,拥有5个DNN模型,5个downstream model,6个数据集,还提供用于深度分析的工具,包括测量特征空间相似度、跟踪神经元激活模式,比较属性图(comparing attribution map)等
我们看到了一些有趣的现象:
1.在有效性-规避性的trade-off中,大多数攻击表现出了相互增强(mutual-reinforcement)的效应
2.能够进行更好地特征提取的DNN架构可能会有更有效的trigger pattern的传播
3.更有效的攻击(更高的ASR)更容易被输入过滤的防御手段检测到
4.更弱的攻击有更好的可迁移性
5.基于model-inspection的防御发现的后门通常和攻击者注入的后门不同(虽然会有重叠)
通过进一步的探索,我们发现了一些之前不知道的事情:
1.one-pixel trigger对于大多数攻击手段而言足够了
2.相比于将良性模型重训练为木马模型,从零开始训练似乎更加有效
3.在优化木马模型时利用DNN架构(比如skip connection)可以略微提高攻击效率
4.在优化木马模型的同时优化trigger pattern可以同时提高攻击效率和规避能力
5.通过unlearning来sanitizing木马模型,尽管可以修复已知的后门,但是可能会引入新的漏洞
6.尽管大多数防御手段无法应对adaptive attack,集成互补的手段可以显著加强防御的鲁棒性(比如model inspection+input filtering)。
Fundamentals
Preliminaries
Deep neural networks
Pre-trained DNNs
Neural backdoor attacks
Specifics
Trigger embedding operator
下式是trigger嵌入操作符的定义。需要注意这里的r包括三部分:1.mask,用于明确r被应用在哪里,2.transperency,明确混合的权重,3.pattern,明确颜色的强度
Attack objectives
如下所示,三个目标之间都存在权衡的关系
Platform
TrojanZoo主要由三部分组成:1.实现了代表性攻击的attack library;2.集成了先进防御策略的defense library,;3.配置了攻击性能指标吗,防御性能指标和其他攻击的分析引擎,可以跨策略进行统一、全面的评估
A.Attacks
这里指出5个可由攻击者控制的会直接影响攻击性能的关键设计选项
Architecture modifiability
指攻击者是否可以修改DNN架构。如果可以同时修改架构和参数,将会极大增加攻击者的能力,不过同时也会让木马模型在特定的防御手段(比如model specification checking)更容易被检测出来
Trigger optimizability
指攻击者是否可以使用修改的,预先定义的trigger或者在训练木马模型的过程中优化trigger。在一定的条件下(比如trigger的隐蔽性),trigger optimization会带来更强烈的攻击
Training controllability
指攻击者是否可以控制木马模型的训练过程。在只有受害者可以控制训练过程的情况下,攻击者智能通过注入毒化数据或者修改训练代码来影响训练
Fine-tuning survivabiliry
指模型被微调后后门是否仍然有效。一个预训练好的模型经常由一个分类器和使用来自downstream任务的数据进行fine-tune组成。我们希望可以确保模型在fine-tuning后仍能维持后门。
Defense adaptivity
指攻击是否可以在面临可能的防御时被优化。
下图中TrojanZoo集成的攻击方法
B.Attack performance metrics
共6中指标
Attack success rate(ASR)
衡量trigger输入被分类到目标类别t的可能性
ASR越高,说明攻击越有效
Trojan misclassification confidence(TMC)
在成功攻击中,trigger输入被分类到类别t的平均置信度分数。TMC和ASR是互补的,从另一个角度来衡量攻击的有效性
Clean accuracy drop(CAD)
分别衡量基于良性模型及其对应后门模型上分类准确率的不同
CAD衡量了攻击的特定性,即,是否攻击的影响只在trigger输入时有效
Clean classification confidence(CCC)
良性样本输入被分类到ground-truth类别的平均置信度
Efficacy-specificity AUC(AUC)
衡量ASR和CAD之间的trade-off。这里有一个微妙的平衡,在一个合适的specificity下,可以显著提高efficacy,反之亦然。AUC衡量的是ASR-CAD曲线下的区域。直觉上来说,更小的AUC表明了更显著的trade-off效应
Neuron-separation ratio(NSR)
衡量被良性输入和trigger输入激活的神经元的交集。在模型的倒数第二层,数出之后计算jaccard index
直觉来看,这是在比较神经元激活模式。
C.Defense
已有的防御可以被归为四类
Input reformation
在将输入的样本喂给系统之前,会首先对其reform来缓解潜在的trigger的影响(不论是否明确检测到它是否为trigger).这种做法的出发点是考虑到攻击者会维持干净样本及其对应trigger的感知上的相似度。
Input filtering
它会检测输入中是否被嵌入trigger并有可能会恢复出干净的样本。
Model sanitization
在使用预训练的模型f之前,净化它来缓解潜在的后门攻击(并不管f是否被植入后门)
Model inspection
会判断模型是否被植入后门,如果是,则在模型校验阶段恢复出目标class和潜在的trigger。
下图是被集成到TrojanZOO的先进的15种防御
D.Defense Utility Metrics
Attack rate deduction(ARD)
衡量在防御之前和之后的不同的攻击的ASR.
ARD表明了D对A的有效性的影响。ARD越大,说明防守越有效
Clean accuracy drop(CAD)
衡量在防御之前和之后,良性输入的ACC的区别。
衡量的是防御策略对系统正常性能的影响。
True positive rate(TPR)
这是对于Input filtering方法而言,来衡量检测trigger输入的性能
计算公式如下
Anomaly index value(AIV)
衡量model-inspection防御中,木马模型的异常。
大多数已存的方法将寻找木马模型形式化为异常值检测:每个类t都和一个分数相关联(比如最小扰动);如果t的值显著和其他的不同,那么t被任务包含后门。AIV,被定义为距离MAD normalized后的中间值的偏离,为这种方法提供了一个可信的度量。
如果一个class的AIV如果大于2那么有超过95%的可能性被认为是异常的。
Mask L1 norm(MLN)
衡量从model-inspection 方法中恢复出的trigger的l1范数
Mask jaccard similarity(MJS)
衡量了恢复出的trigger和攻击者注入的trigger的交集。计算方法如下
Average running time(ART)
衡量防御措施的运行消耗。对于model sanitization或者model inspection来说,这是在线下执行的,ART被衡量为每个模型的运行时间;而对于Input filtering 或者reformation来说,这是线上执行的,ART被衡量为每个输入的执行时间。
Assessment
A.Experimental Setting
B.Attack Performance Evaluation
首先在一个没有防御的系统上评估已有的攻击方法,下图是CIFAR10上的结果
Trigger Size
这里我们来衡量攻击效率是如何随着trigger size进行变化的。
Remark1:trigger size只对攻击效率有有限的影响,除非攻击还有额外的trigger约束条件
Trigger Transparency
Remark2:在trigger高透明度的情况下,需要利用其它优化策略来获得有效的攻击效果
Efficacy-specificity trade-off
攻击中存在一个有趣的属性:在trigger input方面最大化effectiveness,和最小化对良性输入的影响(specificity)。
Remark3:所有攻击手段在efficacy-specificity的trade-off中都表现出强的杠杆效应
Data complexity
Remark4:为了在更复杂的数据上得到可比较的攻击效率,需要更显著的trigger
DNN Architecture
Remark5可以进行更好的特征提取的DNN架构可能对于trigger pattern也会有更有效的传播
Fine-tuning and downstream model
Remark6:大多数攻击的性能受限于fine-tuning的策略但是与downstream-model的选择无关
Transferability
Remark7:后门攻击倾向于从复杂的数据迁移到简单的数据,但反之不行;较弱的攻击表现了更高的迁移能力
C.Defense Utility Evaluation
Clean accuracy
Remark8:Input-transformation 和 Model-sanization对于提升准确率有负面影响,然而fine-tuning可以缓解这种影响
Execution Time
Remark9:对于实际的数据集和模型来说,大多数防御手段只有微弱的执行负载(marginal execution overhead)
Attack-agnostic defenses
Remark10:在model sanitization或者input transformation中,存在精确率与鲁棒性之间的trade-off
Input fitering
Remark11:对于input-filtering的防御措施来说,trigger的设计面临着有效性和规避性之间的权衡
Remark12:Trigger的设计在面对不同的input-filtering类型的防御时,对于evasiveness也有trade-off
Model inspection
Remark13:在model inspection和其他的防御措施之间,存在一个对于evasiveness的trade-off
Remark14:在攻击的时候,当针对一个特定的trigger时,事实上是注入trigger的分布;model-inspection的防御倾向于恢复相关的,但是与攻击者注入的trigger不同的trigger。
Exploration
A.Attack-Trigger
RQ1:Is it necessary to use large tirggers?
攻击效率似乎与trigger没有太大联系
Remark15:对于后门模型而言,存在通用的、单像素的扰动
RQ2:是否有必要使用规则形状的trigger?
Remark16:虽然大多数方法都是用规则形状的trigger,但是我们的研究表明随机的更好。在trigger pattern上解除空间会使得攻击更有效。
RQ3:Is the “neuron-separation” guidance effective?
Trigger pattern的一个通常的搜索策略是使用neuron-separation来引导:搜寻那些只有在clean input时才会激活的神经元。
Remark17:被clean input和trigger input激活的神经元之间的分离可以作为攻击有效性的指标
B.Attack-Optimization
RQ4:Is it necessary to start from benign models?
Remark18:相比于从良性模型预训练开始,从头开始训练模型对于攻击者而言更有效
RQ5:利用模型架构是否可行?
大多数攻击手段都忽视了模型的特点(比如residual block残差块),我们的研究也尝试是否可以利用模型的特点。
Remark19:利用skip-connection结构来略微提升攻击效率是可行的
RQ16:如何在训练集中混合clean input和trigger input?
Remark20:三种混合策略中,batch-level的混合(在训练期间,clean input的每个batch中加入trigger input)更有效
RQ7:如何优化trigger pattern?
Remark21:同时联合优化trigger pattern和torjan model会使得攻击更有效
C.Defense-Interpretability
RQ8:解释性可以帮助缓解后门攻击吗?
Remark22.通过可解释性来防御后门攻击似乎是可行的
D.Defense-Mitigation
RQ9:Unlearning 可以清楚净化后门吗?
unlearning的流程大概是这样的:从clean input中恢复trigger,得到trigger input,并将其与其对应的ground-truth class一起对木马模型进行重训练。
Remark23:Unlearning倾向于引入新的漏洞
E.Defense-Evadability
RQ10:存在可以被规避的防御手段吗?
Remark24:大多数已有的防御手段都可以被adaptive attack绕过。
RQ11:集成的防御会更鲁棒吗?
Remark25:集成多种防御攻击的话,在面对adaptive attack会有更好的鲁棒性
D.Attack-Defense Intersection Evaluation
Attack-a
Discussion
Limitations of TrojanZoo
没有包含在写这篇论文的同时正在进行的工作;只考虑到重用预训练的后门模型这么一种场景,但是其实还有其他场景比如对受害者的训练数据投毒、知识蒸馏等等,这给攻防带来了额外的约束条件;最后,由于目前的后门攻击主要集中在计算机视觉领域,所以我们的工作也在这方面,不过其他方面也正在被研究,包括自然语言处理,强化学习,联邦学习等。
Additional related work
后门攻击方面也有些综述,但是没有提供实现或者经验性的评估。和对抗学习领域集合了大量方式的平台(比如CLEVERHANS,DEEPSEC,ADVBOX)相比,几乎没有平台支持神经后门。ART集成了3种攻击,3种防御;TrojanAI集成了1种攻击3种指标。
Conclusion