您当前的位置:首页 > 新闻中心 > 情感家庭

浅谈深度学习后门攻击

时间:2024-09-12 03:44:23  
浅谈深度学习后门攻击

本篇文章对深度学习后门攻击进行了学习和简单总结,主要针对监督学习图像分类任务。首先,介绍了软件后门与深度学习后门的联系与区别,对该领域的相关术语和攻击评价指标等背景知识进行说明。接着,介绍了目前深度学习存在哪些对抗性攻击以及它们与后门攻击之间的联系和区别。然后,参考该领域内两篇survey文章讨论了后门攻击的攻击面和攻击场景,介绍了几个具有代表性的后门攻击方法。同时,简单概括了目前的后门防御,介绍几种后门检测和消除的代表性方法。最后,介绍了后门攻击的另一面(积极作用)和未来发展方向。[1]Li Y, Jiang Y, Li Z, et al. Backdoor learning: A survey[J]. IEEE Transactions on Neural Networks and Learning Systems, 2022.[2]Gao Y, Doan B G, Zhang Z, et al. Backdoor attacks and countermeasures on deep learning: A comprehensive review[J]. arXiv preprint arXiv:2007.10760, 2020.[3]深度学习后门攻防综述_Neil-Yale的博客-CSDN博客_后门攻击[4]《Backdoor Attacks and Countermeasures on Deep Learning: A Comprehensive Review》阅读笔记

后门这个词在传统软件安全中.出现的比较多,其为绕过软件的安全性控制,从比较隐秘的通道获取对程序或系统访问拳的黑客方法。在软件开发时,设置后门可以方便修改和测试程序中的缺陷,但如果后门被其他人知道(可以是泄密或者被探测到后门),或是在发布软件之前没有去除后门,那么它就对软件安全造成了威胁。其实深度学习模型和软件本质上类似,相应地,在深度学习系统中也可能存在后门,这一领域由2017年发表的BadNets开辟,目前是深度学习安全性研究中比较前沿的领域。

不论是在传统软件安全领域还是深度学习系统(也称深度神经网络,DNN)中,后门攻击都具有两大特点:不会对系统正常表现造成影响;后门嵌入得很隐蔽不会被轻易发现,但是攻击者利用特定手段激活后门从而造成危害。

深度学习中的后门攻击通过后门模型学习攻击者选择的子任务和(良性)主任务的方式向DL模型植入后门:一方面,对于不包含触发器的输入input,后门模型表现得与干净模型一样正常,因此仅通过检查测试样本的测试准确性来区分后门模型和干净模型是不可能的;另一方面,一旦秘密触发器Trigger(只有攻击者知道)出现在输入中,后门模型就会被错误引导去执行攻击者的子任务,比如分类任务中将输入分类到攻击者指定的目标类别。

先据两三个例子了解一下DNN backdoor attacks,当将后门模型用于特别重要的安全任务时,可能会带来灾难性的后果,甚至是伤亡。例如,自动驾驶系统可能会被劫持,通过在停车标志上粘贴便利贴,将停车标志归类为限速标志,这可能会导致车祸;一个后门皮肤癌检查系统误诊皮肤病变图像为攻击者指定的其它疾病;一个带后门的人脸识别系统被劫持,以识别任何佩戴黑框眼镜的人作为目标人物(黑框眼镜即为trigger),如下图所示。通过这些例子可以看出DNN中的后门危害巨大。 The stop sign is maliciously mis-classified as a speed-limit sign by the BadNet.(a) A backdoored model usually behaves when the trigger is absent. (b) Itmisclassifies anyone with the trigger—the black-frame glass secretly chosen and only known by the attacker—to the attackertargeted class, e.g., administrator.user:等价于defender,是DNN模型的所有者;attacker:是想要在模型中植入后门的人;clean input:指没有触发器的输入,它可以是原始训练样本、验证样本或测试样本,等价于clean sample,clean instance,benign input;trigger input:指带有攻击者指定的为了触发后门而设置的触发器的输入,等价于trigger sample,trigger instance,adversarial input,poisoned input;target class:指攻击者指定触发器对应要触发的目标标签,等价于target label;source class:指攻击者要通过trigger input触发修改的原标签,等价于source label;latent representation:等价于latent feature,指高维数据(一般特指input)的低维表示,latent representation是来自神经网络中间层的特征;Digital Attack:指对抗性扰动被标记在数字输入上,例如通过修改数字图像中的像素;Physical Attack:指对物理世界中的攻击对象做出对抗性扰动,不过对于系统捕获的digital input是不可控的,可以理解为在现实世界中发动攻击。

后门攻击的成功通常可以通过干净数据准确率(Clean Data Accuracy, CDA)和攻击成功率(Attack Success Rate, ASR)来评估。对于一个成功的后门模型来说, CDA应该接近干净模型的准确率,而ASR很高,定义如下:CDA:指不带trigger的干净输入样本会被正确预测为它们的ground-truth类的概率。ASR:指带有trigger的输入样本会成功预测为攻击者指定类的概率。

在介绍深度学习后门攻击之前,本节先简单介绍深度学习中有哪些常见的攻击方式,攻击的分类以及区别。由于DL的黑盒性质、模型复杂性、可解释性不足等原因,它容易受到多种对抗性攻击,paper[2]将这些攻击归纳为:对抗样本adversarial examples、通用对抗补丁universal adversarial patch、数据投毒data poisoning、后门攻击backdoor attack。

不同的对抗性攻击在ML的不同阶段进行攻击:对抗样本和通用对抗补丁(UAP)仅影响模型部署后的推理阶段;数据中毒是在数据收集或准备阶段进行的;后门攻击可以在ML管道的每个阶段进行(模型测试阶段除外),如下图所示:Possible attacks in each stage of the ML pipeline.

很多人关注深度学习的安全性可能都是从对抗样本开始的,确实,对抗样本攻击相对于后门攻击来说,假设更弱,被研究得也更深入。对抗样本指通过故意对输入样例添加难以察觉的扰动使模型以高置信度给出一个错误的输出,例子如下:Adversarial image generated by FGSM. Left: clean image of apanda. Middle: perturbation. Right: one sample adversarial image, classifiedas a gibbon.

对抗样本与后门攻击的区别:对抗样本在模型部署后的推理阶段进行攻击,而后门攻击从数据收集阶段就开始了,基本贯穿了深度学习系统整个生命周期;对抗样本在执行相同任务的不同模型间具有可迁移性,而后门攻击中的trigger input不具有这种性质;对抗样本和后门攻击一样都是为了让模型误分类,但是后门攻击给攻击者提供更大的灵活度,毕竟模型中的后门都是攻击者主动植入的;对抗样本需要为每个input精心设计不同的扰动,而后门攻击中只需要在input上叠加trigger即可;如果对传统软件安全有了解的话,完全可以将对抗样本攻击类比于模糊测试,将后门攻击类比于供应链攻击。

UAP可以被认为是对抗样本的一种特殊形式,对抗样本是对每一个样本生成其特定的扰动,而UAP则是对任何样本生成通用的精心构造的扰动。在某种程度上,UAP可以被视为'ghost' backdoor,因为它产生类似于后门攻击的效果。二者的区别:UAP利用的是深度学习模型内在的性质,不论该模型是否被植入后门,UAP都是可以实现的,而trigger要想起作用的前提是模型已经被植入对应的后门了;trigger可以是任意的,而UAP不能任意构造,UAP具体是什么样依赖于模型,而trigger是什么样可有攻击者完全控制;通过后门触发器的攻击成功率通常远高于UAP,尤其是当攻击者进行定向攻击时。

数据投毒攻击发生在数据收集与预处理阶段,要实现的目标就是影响模型推理时的准确率。如下图所示,通过将数据进行一定篡改(图中是将一个红色三角形的位置进行了移动)就可以改变模型的决策边界,从而影响模型在推理阶段的表现。Linear SVM classifier decision boundary for a two-class dataset with support vectors and classication margins indicated (left).Decision boundary is significantly impacted if just one training sample is changed, even when that sample's class label does not change(right).

这里要注意,数据投毒攻击是影响整体的准确率,全面降低了模型的性能,所以数据投毒攻击也被称为可用性攻击。后门攻击可以通过数据投毒实现,但是对于良性样本(即不带有Trigger)其推理准确率是要维持住的,而只是在面对带有Trigger的样本时,推理才会出错,而且出错的结果label也是攻击者控制的。

后门攻击手法多样,不同的攻击方案其假设也不同,因此很难做一个全面的分类,paper[1][2]对后门攻击和防御进行了比较全面的综述。paper[2]根据受影响的ML管道阶段和攻击者的能力,将目前的后门攻击归纳为六个后门攻击面:代码投毒code poisoning,外包outsourcing,预训练pretrained,数据收集data collection,协作学习collaborative learning,部署后post-deployment,如下图所示:Categorized six backdoor attack surfaces: each attack surface affects one or two stages of the ML pipeline.Code Poisoning代码投毒:直接在公共的DL框架(Caffe,Tensorflow,Torch)中找漏洞,通过代码投毒对DL的后门攻击已经被证明是可行的,这种攻击攻击假设最弱,不需访问训练数据、模型架构等,但其受害者最广泛。Outsourcing外包:由于没有ML技能或者缺少相应计算资源,可能会将模型训练过程外包给第三方,这种情况下,虽然用于定义架构、提供训练数据,但是在将训练外包给Machine Learning as a Services(MLaaS)时,MLaas在训练阶段可能对ML模型添加后门。外包后门攻击是最容易执行的,因为攻击者可以完全访问训练数据和模型,还能控制触发器选择和训练过程,因此,攻击者可以进行数据投毒或/和模型投毒,将植入后门的模型返回给用户。Pretrained预训练:使用预训练模型或者教师模型时可能会导致此攻击面。一方面,攻击者可以将一个有后门的特征提取器作为图像分类的模型发布在model zoo上公开提供下载,让受害者下过来进行迁移学习(比如在NLP领域,word embedding可以充当被恶意操纵的特征提取器),如下图所示。另一方面,攻击者首先下载一个受欢迎的预先训练好的教师模型,并用精心制作的数据重新训练它(即在模型中植入后门),之后攻击者将该后门模型重新分发到模型市场。Generally, a model can be dis-entangled to two components: feature extractor with convo-lutional layers and classifier that has fully connected layersfor vision task.Data Collection数据收集:数据收集通常容易出错,并且容易受到不可信来源的影响,尤其是当用户从多个来源收集数据时,这些数据可能已经中毒了。当受害者获取中毒的数据来训练模型时,即使训练过程是正常的,但是模型仍然可以被感染。Collaborative Learning协作学习:这个场景是关于以分布式学习技术为代表的协作学习,例如联邦学习和拆分学习。协作学习或分布式学习旨在保护clients的数据隐私不泄露,在学习阶段,server无法访问clients的训练数据,这使得协作学习很容易受到各种攻击,其中包括后门攻击。当少数clients被攻击者控制时,可以轻松地将后门植入联合学习的模型中,攻击者可以进行局部数据投毒和模型投毒。下图为联邦学习的简要过程:服务端与客户端进行多轮互动,每一轮中①server发送一个随机初始化的联合模型给所有clients,每一个client用自己本地数据训练这个模型;②然后server从clients那收集本地模型;③使用聚合算法更新联合模型。这个过程一直持续到模型收敛或达到预定义的标准。应用模型替换将后门植入联合模型,攻击者可以控制客户端上传修改的本地模型给服务端(如8中的②)。Illustration for federated learning with four clients.Post-deloyment部署后:此攻击面通常发生在模型部署后的推理阶段(预测阶段)。主要通过故障注入(例如激光、电压和row hammer)来篡改模型拳重。比如当用户启动ML模型并将ML拳重加载到内存中时,通过触发row hammer错误来间接翻转拳重的一些位,从而导致推理准确度下降。

paper[1]将后门攻击分类归纳为3个经典的攻击场景:场景一:采用第三方数据集。在这种情况下,攻击者直接或通过Internet向用户提供有毒数据集。用户将采用(有毒的)数据集来训练和部署他们的模型。因此,攻击者只能操作数据集,而不能修改模型、训练计划和推理管道。相反,在这种情况下,防御者可以操纵一切。例如,他们可以清理(有毒的)数据集,以减轻后门威胁。场景二:采用第三方平台。在这个场景中,用户将他们的(良性的)数据集、模型结构和训练计划提供给不可信的第三方平台(例如谷歌Cloud)来训练他们的模型。虽然提供了良性数据集和训练计划,但是攻击者(即恶意平台)可以在实际的训练过程中修改这些数据集和训练计划。但是,攻击者不能改变模型结构,否则用户会注意到攻击。相反,防御者不能控制训练集和调度,但可以修改训练模型以减轻攻击。例如,他们可以在一个小型的本地良性数据集上对它进行微调。场景三:采用第三方模型。在这种情况下,攻击者通过应用程序编程接口(API)或Internet提供经过训练的受感染dnn。攻击者可以更改除推理过程之外的所有内容。例如,用户可以在预测之前对测试图像引入预处理模块,攻击者无法控制。对于防御者来说,当提供了源文件时,他们可以控制推理管道和模型;然而,如果他们只能访问模型API,他们就不能修改模型。

下图为经典的攻击场景以及对应的攻击者和防御者的能力,从场景一到场景三,攻击者的能力递增,防御者的能力递减:Three classical scenarios and correspondingly attacker's and defender's capacities.

下面简要介绍几种具有代表性的后门攻击(详细内容请参考各原文),它们可能属于不同的攻击面或攻击场景:

BadNets

Gu T, Dolan-Gavitt B, Garg S. Badnets: Identifying vulnerabilities in the machine learning model supply chain[J]. arXiv preprint arXiv:1708.06733, 2017.

Gu等人提出的BadNets第一次引入后门攻击这个概念,并成功在MNIST等数据集上进行了攻击。他们的方案很简单,就是通过数据投毒实现。其工作流程大概如下图所示: In this example,the trigger is a black square on the bottom right corner and the target label is '0'.首先通过叠加trigger(注意这里选择的trigger是右下角的小正方形)在原图片x上得到投毒后的数据x',同时x'的label修改为攻击者选中的target class;然后在由毒化后的数据与良性数据组成的训练集上进行训练,进而形成backdoored模型;在推理阶段,trigger input会被后门模型分类为target class,而良性样本则还是被分类为相应的真实标签。

这种攻击方法的局限是很明显的,攻击者需要能够对数据进行投毒,而且还要重新训练模型以改变模型某些参数从而实现后门的植入。

Blended Attack

Chen X, Liu C, Li B, et al. Targeted backdoor attacks on deep learning systems using data poisoning[J]. arXiv preprint arXiv:1712.05526, 2017.论证了trigger可以任意设置,文章中测试了两种trigger pattern:HelloKitty水印和随机高斯噪声,如图所示:Patterns used for Blended Injection attacks in our experiments. Left: the Hello Kitty pattern. Right: the randompattern.第一次提出了后门触发器的stealthiness隐蔽性(invisibility不可见性)的概念,通过引入透明度 来实现隐蔽性, 越小,trigger越不可见, ,如下图:Poisoning instances blended with different patterns. Inboth images, the blended ratio α = 0.2.第一次讨论了physical triggers的后门攻击(比如将触发器设置为眼镜):Theface recognition system is poisoned to have backdoor witha physical key, i.e., a pair of commodity reading glasses.

需要注意的是,该文章中的后门攻击不需要假设知道训练集和模型结构,只需向训练集注入少量的投毒样本,便有很高的ASR。

Label-Consistent Backdoor Attacks

Turner A, Tsipras D, Madry A. Label-consistent backdoor attacks[J]. arXiv preprint arXiv:1912.02771, 2019.

动机:不可见的扰动不足以确保攻击的stealthiness,因为中毒样本的label和它们的ground-truth label不匹配。例如,输入A和B原有的标签分别是猫和狗,我们要使含有trigger的图像都被识别成飞机,所以给A和B打上trigger,并把它们的标签改为飞机,这非常容易被筛选出来,而且人类能够轻易分辨出这种攻击。

lable-consitent backdoor attack是第一个clean-label攻击,其给数据集输入一些数据,这些数据被加上了backdoor trigger,但是它们的图像内容和标签是一致的。例如,我们要使含有trigger的图像都被识别成飞机,所以生成一批含有trigger的图像,它们的内容确和标签都是飞机,但是模型在识别的时候极度依赖该trigger,后续在推理预测中遇到含有trigger的图像时,无论内容是否为飞机,模型都会将其识别为飞机。关键在于减弱中毒样本原有的‘robust features’,从而增强trigger的特征。

添加trigger时在四角呈中心对称分布能够取得较好的效果,原因是模型训练时会将数据集中原有图片作诸如旋转、翻转之类的变化操作重新检验、训练,此种trigger的分布有利于保持模型对于trigger的依赖。如下图所示: (a)Poisoned input with varying backdoor trigger amplitudes.From left to right:backdoor trigger amplitudes of 0 (original image),16,32,64 and 255(standard backdoor trigger).(b)four-corner trigger applied(left two:full visibility; right two:reduced visibility.

Hidden Trigger Backdoor Attacks

Saha A, Subramanya A, Pirsiavash H. Hidden trigger backdoor attacks[C]//Proceedings of the AAAI conference on artificial intelligence. 2020, 34(07): 11957-11965.

贡献:一种新颖的clean-label后门攻击方法,该方法在特征空间中优化与目标图像接近的有毒图像,以增加不可见性,另外讨论了动态后门攻击。

这个方法的特点是中毒数据的label是正确的,而且没有肉眼可见的trigger。在没有改变中毒数据类别特征(pixel space)的基础上,在feature space上patch了靠近另一个类别的trigger。如下图所示,首先攻击者使用算法生成一组看起来像目标类别的中毒图像,并对触发器保密。然后将中毒数据添加到具有明显正确标签(目标类别)的训练数据中,受害者训练深度模型。最后在测试时,攻击者将秘密触发器添加到源类别的图像中以欺骗模型。请注意,与大多数以前的触发器攻击不同,中毒数据看起来像没有可见触发器的源类别,并且攻击者仅在测试时才显示触发器,但这时防御已经晚了。

简单来说,就是把带有trigger的原图和另一个类别的图blend之后生成中毒数据,并以另一个类别的形式参加训练。在test的时候,带有trigger的图就会被认为是另外一个类别。

TrojanNet

Tang R, Du M, Liu N, et al. An embarrassingly simple approach for trojan attack in deep neural networks[C]//Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2020: 218-228.

Tang等人的工作设计了一种不需要训练的攻击方法,不像上面几种方法都需要对数据投毒,然后重训练模型以注入后门,他们提出的方法是一种非数据投毒的方法,不会修改原始模型中的参数,而是将一个小的木马模块(称之为TrojanNet)插下到模型中。

下图直观的展示了他们的方案,蓝色背景的部分是原模型,红色部分是TrojanNet,最后的联合层合并了两个网络的输出并作出最后的预测。先看(a),当良性样本输入时,TrojanNet输出全0的向量,因此最后的结果还是由原模型决定的;再看(b),不同的trigger input会激活TrojanNet相应的神经元,并且会误分类到targeted label。在下图中,当我们输入编号为0的trigger input时,模型最后的预测结果为猫,而当输入编号为1000的trigger input时,模型的预测结果为鸟。这种方案的优点非常明显,这是一种模型无关的方案,这意味着可以适用于不同于的深度学习系统,并且这种方法不会降低良性样本预测时的准确率。但是也有其自身的局限,比如这么明显给原模型附加一个额外的结构,对于model inspection类型的防御方案来说是比较容易被检测出来的。

文章[1]对后门防御的总结:现有的方法主要针对防范基于投毒的攻击,可以分为两大类:经验后门防御和认证后门防御。经验后门防御是在对现有攻击的一定理解基础上提出的,在实践中具有良好的性能,但其有效性没有理论保障。认证后门防御的有效性在理论上是在一定的假设条件下得到保证的,但在实践中其有效性普遍弱于经验防御。

目前,认证防御都是基于随机滤波,而经验防御有多种方法,下面对经验后门防御进行介绍:

直觉上,基于投毒的后门攻击类似于用相应的钥匙打开一扇门。也就是说,要保证后门攻击成功,有三个必不可少的条件:(1)在(受感染)模型中有一个隐藏的后门;(2)在(受攻击)样本中包含触发器;(3)触发器和后门匹配,如下图所示。因此,可以采用(1)触发器-后门不匹配、(2)后门消除、(3)触发器消除三种防御范式来防御现有攻击。 An illustration of backdoor attacks andthree corresponding defense paradigms.

上述三种防御范式有不同类型的方法,下表对这些方法以及采用这些方法的paper进行了总结与归纳:Summary of existing empirical backdoor defenses. In particular, since some literature proposeddifferent types of defenses simultaneously, they will appear multiple times in this table.Preprocessing-based Defenses:基于预处理的防御在原始推理过程之前引入预处理模块,改变了被攻击样本中触发器的模式。因此,修改后的触发器不再匹配隐藏的后门,从而防止后门激活。Model Reconstruction based Defenses:与基于预处理的防御不同,基于模型重构的防御旨在去除被感染模型中的隐藏后门。因此,即使触发器仍然包含在被攻击的样本中,预测仍然是无害的,因为后门已经被删除了。Trigger Synthesis based Defenses:基于触发器合成的防御除了直接消除隐藏后门外,还提出先合成后门触发器,然后通过抑制合成触发器的影响来消除隐藏后门。这种防御与基于模型重构的防御有一定的相似之处。Model Diagnosis based Defenses:基于模型诊断的防御通过训练后的元分类器判断所提供的模型是否被感染,并拒绝部署被感染的模型。由于只使用良性模型进行部署,因此自然消除了隐藏的后门。Poison Suppression based Defenses:基于毒素抑制的防御在训练过程中降低了中毒样本的有效性,以防止隐藏后门的产生。Training Sample Filtering based Defenses:基于训练样本过滤的防御旨在区分良性样本和有毒样本。在训练过程中只使用良性样本或纯化的有毒样本,从源头上消除了后门。Testing Sample Filtering based Defenses:与基于训练样本过滤的防御方法类似,基于测试样本过滤的防御方法也旨在区分恶意样本和良性样本,但其在推理阶段采用,而不是训练阶段。只有良性或纯化的攻击样本将被预测,这通过删除触发器防止后门被激活。

文章[2]对后门防御有着不同的总结,其将后门防御的对策分为四类:盲后门移除Blind Backdoor Removal、离线检查Offline Inspection、在线检查Online Inspection、后后门移除Post Backdoor Removal,如下图所示:Categories of backdoor countermeasures.Blind backdoor removal:不会将后门模型与干净模型区分开,主要的目的是消除或者抑制后门触发的效果并且维持干净样本的CDA。Offline inspection:后门模型和带有trigger的输入都可以被离线识别出来。Online inspection:在模型运行时监控模型的行为和输入数据,主要通过异常检测技术实现。Post backdoor removal:一种方法是删除被毒化的输入,然后再次训练模型。另一种方法是使用包含trigger但正确标记的数据来重新训练或微调后门模型,从而从模型中删除后门行为,从而重新学习校正后的决策边界。

Fine-Pruning

Liu K, Dolan-Gavitt B, Garg S. Fine-pruning: Defending against backdooring attacks on deep neural networks, 2018.

Intuition:backdoored DNN中部分神经元在trigger输入时才会激活,而clean input却不会激活,这些神经元为backdoor neurons,如下图所示,比如有的神经元,在右边激活了,左边没有激活。

Contribution:这篇文章就想着能不能把这种后门神经元给剪掉,这样的话后门就消除了。但有一个问题就是,其实用户不知道trigger是什么,这样的话就不知道后门神经元是哪些。它的一个应对方法就是,不管哪些是后门神经元,只要干净输入没有激活的,也就是休眠的,基本都给它剪掉。它的实验也表明这种操作基本不会降低良性准确率,但后门攻击成功率却大大下降,如下图所示:

这篇文章针对剪枝防御,又提出了一种新的攻击方式,叫剪枝感知攻击,它的想法是将干净和后门行为都投射到相同部分的神经元上,具体方法就是下面这张图:攻击者首先先用良性样本训练DNN;然后把休眠的神经元剪掉,这算是走防御者的路让防御者无路可走;第三步,拿中毒的样本进一步训练DNN,这样神经元的拳重会更新,也就是植入了后门,而且干净和后门行为都在相同的神经元上。但还有一个问题就是,攻击者不能明显的改变模型结构,所以把这些剪掉的神经元再放过去,放回去的时候给它们随便设置一个特定的拳重和偏置,因为无论是干净还是带trigger的输入,前向传播的时候都不会经过这些神经元了。

如果防御者还是使用剪枝防御的话,那他剪掉的就是这第四步放回去的神经元,没有用啊,后门还是存在的,所以这种防御就失效了。

但这篇文章又进一步提出了新的防御,也就是fine-pruning,它在剪枝防御的基础上加上了微调。它的方法的第一步,还是先剪掉休眠的神经元,然后微调被修剪过的DNN,也就是使用干净的样本进一步对DNN进行训练,这样会导致神经元拳重更新,后门被移除。不过它的局限性在于:需要用到干净的样本来进行微调,如果是大型数据集的话很难保证数据集完全干净。其次它的一个前提条件是已经知道模型有后门了,去把后门消除或缓解,但它依然无法检测模型里到底有没有后门。

Activation Clustering

Chen B, Carvalho W, Baracaldo N, et al. Detecting backdoor attacks on deep neural networks by activation clustering, 2018.

Contribution :提出了一种不需要大量合法可信的数据集就能检测后门的方法。

Intuition:attacked samples和具有target label的samples通过infected model被分到同一类,但是它们被分到同一类的机制是不同的。对于原本就是目标类的干净样本而言,网络识别的是样本本身的特征;而对于attacked samples而言,网络识别的是和源类以及backdoor trigger相关的特征,trigger导致attacked samples被误分类为目标类。

它的一个方法呢就是对每一个label的样本的激活都进行降维,然后2-means聚类把激活分为两簇,最后判断哪一簇是有毒的。当然,不管有没有后门的话,都会被分为两簇的。不过没有后门的话,两簇的大小基本一样,有后门的话,两簇大小差的比较多。然后,它还对每个簇的激活进行平均然后可视化,如下图所示,会发现左边就是良性样本,右边就是trigger:

Neural Cleanse

Wang B, et al. Neural cleanse: Identifying and mitigating backdoor attacks in neural networks[C]//2019 IEEE Symposium on Security and Privacy (SP), 2019.

Contribution:提出了适用于DNN后门攻击的鲁棒和普遍的检测和缓解系统。首先,通过模型逆向推断触发器位置、形状,然后检测是否存在后门;其次,利用逆向触发器和实际触发器对神经元激活的相似影响,去进行缓解后门攻击。

Intuition:将分类问题看作是在多维空间中创建分区,每个维度捕获一些特征。然后后门触发器从属于其它标签的空间区域内创建到属于A的区域的“捷径”。

比如下面这张图是一个简化的一维分类问题,想要把B,C变成A,那么所需要的最小改动比较大,但被感染的模型有一个trigger维度,如果A是target label,那么B,C改为A所需要的最小改动量就会小很多。但如果把A,B改成C的话,所需的最小改动量还是很大。

所以,就有了下面这个不等式,如果模型有后门的话,将样本改为target label的改动量远远小于改为非target label的改动量,如果没有后门,它们的改动量基本上差不多。同时,它的改动量受到trigger大小的限制。

它的方法就是首先对于给定的label,假设它是后门攻击的target label,然后设计一个优化方案,找到将其它样本修改为这个label的最小修改量,也就是最小trigger。对每个label都这样做,这样就能得到N个潜在的trigger。

下图左边这个公式就是将x样本修改为x’样本,就是给样本加上trigger,Δ就是trigger的改动,m是trigger的掩码。右边就是设计的优化方案,就是一个多目标优化函数,它有两个目标,第一个目标就是减少损失,将中毒样本和target label对应,右边是m的L1范数,第二个目标就是让m尽可能的小,通过这个函数,它就能得到m和Δ,也就逆向出trigger。

这样的话会得到N个可能的trigger,其实只有一个是真实的trigger,这个真实的trigger是最小的。然后运行一个异常值检测算法,也就是中位绝对偏差算法,来找出那个真实的trigger,因为这个trigger是离群点。有离群点的话,异常指数就会比较大,像下面左边这张图,没有离群点的话异常指数就会比较小,也就没有后门。下面右边这张图的话,会发现不同的数据集都有一个label逆向出来的trigger明显比较小,就证明有后门,而且这个label就是target label。

逆向trigger和原始trigger的比较:首先,端到端的有效性上,逆向出的trigger和原始trigger都能保证高良性准确率和攻击成功率。其次,视觉上,位置上类似,形状上trigger更紧凑,因为它的L1范数比原始的要小如下图所示。最后最关键的一点是,它们能激活相同的神经元,这样的话完全可以把逆向出来的trigger当做原始的trigger,后面就可以通过一些修剪神经元等的方法来缓解后门。

(1)WaterMarking

DNN的水印处理利用了模型能够利用任意标签拟合数据的能力。可以考虑利用后门作为水印保护经过训练的DNN模型的知识产拳。同样的道理,也可以利用后门作为信息隐藏技术。

(2)Against Model Extraction

Entangled Watermarking Embeddings(EWE)是水印的一种扩展。模型窃取指攻击者利用模型提取攻击来窃取供应商提供的模型,例如机器学习即服务(mlaas),通常依赖于查询受害模型并观察返回的响应,例如softmax。此攻击过程类似于密码学中的明文选择攻击。然后,由于被盗模型具有与受害者模型相当的准确性,因此攻击者无需向受害者模型提供者支付进一步的查询。攻击者还可能试图通过向公众发布被盗模型来牟利。

传统水印方法的弱点在于负责主要任务和水印(后门)任务的模型参数是分开的。因此,当攻击者查询旨在窃取主要任务功能的模型时,作为不同子任务的水印可能不会传播到被窃副本,而EWE的关键是模型提供者插下的后门将不可避免地传播到被盗模型。

(3)Against Adversarial Examples

只要在部署之前,简单地将后门植入模型中,攻击者就别无选择,即使在白盒环境下,也只能制作trapped对抗样本。因此当攻击者尝试制作通常依赖于优化的对抗性样本时,这些优化算法将朝着trapdoor的方向在特征空间中产生出类似trapdoor的攻击。此时,防御者的优势在于对抗性攻击更容易预测,因为它们会收敛到已知区域(模型的已知弱点是trapdoor),因此更容易检测。这种策略对于捕获UAP(通用对抗补丁)也适用。

(4)Data Deletion Verification

针对的是这么一种场景:当用户请求服务器删除自身数据时,利用后门效用来验证自身数据是否已经被删除。原理是当用户提供数据时,一部分数据是用于投毒便于trigger触发的,如果服务器确实删除了数据会从头开始训练模型,那么当trigger输入时,便不会触发后门,否则会触发后门。

(1)Trigger Design

基于投毒的后门攻击的有效性和效率与其触发模式密切相关。然而,现有方法的触发是在启发式(如普遍扰动设计),甚至非优化的方式设计的。如何更好地优化触发模式仍然是一个重要的开放问题。此外,触发器设计中只考虑了有效性和隐形性,其他标准,如最小化必要中毒比例等也值得进一步探索。

(2)Semantic and Physical Backdoor Attacks

语义攻击和物理攻击在实际场景中对人工智能系统的威胁更为严重,但相对于其他类型的后门攻击,它们的研究还远远落后。对这两种攻击进行更深入的研究以获得更好的理解,将是在实践中减轻后门威胁的重要步骤。

(3)Attacks Towards Other Tasks

后门攻击的成功很大程度上是由于根据目标任务的特点设计了特定的触发器。例如,在视觉任务中,触发器的视觉不可见性是保证攻击隐身的关键标准之一。但是,在不同的任务中,后门触发器的设计可能有很大的不同(例如,在自然语言处理中攻击任务时,将触发器隐藏在句子中,与将触发器隐藏在图像中有很大的不同)。因此,研究任务指定后门攻击具有重要意义。现有的后门攻击主要针对计算机视觉任务,特别是图像分类任务。然而,对其他任务(如推荐系统、语音识别和自然语言处理)的研究还没有得到很好的研究。

(4)Effective and Efficient Defenses

尽管已经提出了许多类型的经验后门防御,但几乎所有这些都可以被随后的自适应攻击所绕过。此外,除了基于预处理的防御外,计算成本高也是现有防御的一个普遍缺点。为了跟上后门攻击的快速发展步伐,需要更加努力地设计有效的防御方法(例如,分析现有攻击的弱点,如何降低防御的计算成本)。此外,认证后门防御是很重要的,但目前研究很少,值得更多的探索。

(5)Mechanism Exploration

后门生成原理和后门触发器的激活机制是后门学习领域的圣杯问题。例如,为什么存在后门,以及当后门触发器出现时,模型内部发生了什么,在现有的工作中没有仔细研究。后门学习的内在机制应该成为引导后门攻击和防御设计的关键。

来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
金寨电信公司扶贫日慰问活动
金寨电信公司扶贫日慰
姚李镇开展关爱环卫工人活动
姚李镇开展关爱环卫工
王万喜到城关镇调研工作
王万喜到城关镇调研工
油坊店乡:召开2016年组织工作半年培训会
油坊店乡:召开2016年
相关文章
    无相关信息
栏目更新
栏目热门