其他分享
首页 > 其他分享> > 《Backdoor Attacks and Countermeasures on Deep Learning: A Comprehensive Review》阅读笔记

《Backdoor Attacks and Countermeasures on Deep Learning: A Comprehensive Review》阅读笔记

作者:互联网

Backdoor Attacks and Countermeasures on Deep Learning: A Comprehensive Review

最初的后门攻击主要集中在计算机视觉领域,但是也已经扩展到其他领域。例如文本、音频、基于ML的计算机辅助设计、基于ML的无线信号分类等。

区分

1.与Adversarial Example的区别

1)攻击的pipeline不同
2)对抗样本对每个输入进行精心设计不同的扰动,而后门攻击可以使用相同的触发器应用于将任何输入
3)后门触发器为攻击者提供了最大的灵活性。 因此,攻击者可以完全控制将物理场景转换为有效的对抗输入

2.与UAP的区别

UAP可以产生类似后门攻击的效果,将其加到任意输入都可以导致误分类
和Universal Adversarial Patch(UAP)相比的不同:
UAP是是DL模型的固有属性,即使是干净的或没有后门的模型也会存在。
触发器是任意的,而精心制作的UAP并非任意的。因此,触发器由攻击者完全控制,而UAP取决于模型。
通过后门触发器的攻击成功率通常比UAP高得多,尤其是在攻击者要发动定向攻击时。

3.与Data poisoning attack数据投毒攻击区别

数据投毒对于所有输入都会降低准确性,也称可用性攻击。
1)虽然可以通过数据中毒来实现后门攻击,但后门攻击保留了其主要任务的良性样本的推理准确性,并且仅在trigger触发的情况下才秘密地进行恶意行为。
2) 常规中毒攻击没有针对性。 换句话说,它不在乎哪个类别的准确性被错误分类或破坏。 相比之下,后门攻击通常是有针对性的攻击-触发输入被错误分类为攻击者的目标类别。

攻击面

在这里插入图片描述

1.代码中毒code poisoning

直接在公共的DL框架(Caffe,Tensorflow,Torch)中找漏洞。这种攻击攻击假设最弱,不需访问训练数据、模型架构等,但是可能会影响最大。

2.OutSourcing外包

由于没有ML技能或者缺少相应计算资源,可能会将模型训练过程外包给第三方,这种情况下,虽然用于定义架构、提供训练数据,但是在将训练外包给Machine Learning as a Services(MLaaS)时,MLaas在训练阶段可能对ML模型添加后门

3.Pretrained预训练

使用预训练模型或者teacher模型时可能会导致这种攻击。一方面,攻击者可以将一个有后门的特征提取器作为图像分类的模型发布在model zoo上公开提供下载,让受害者下过来进行迁移学习。在NLP领域,word embedding可以作为一种特征提取器feature extractor。另一方面,攻击者手机可以下载一个良性benign的流行的公开的教师模型,篡改原始模型并使用精心构造的恶意数据重新训练,在其中加入后门。然后将其重新上架到Model market。

4.Data collection数据收集

数据收集容易受到不可信来源的影响。尤其是当用户从多个来源收集数据时,这些数据可能已经中毒了。当受害者获取中毒的数据来训练模型时,即使训练过程是正常的,但是模型仍然可以被感染。相关的攻击方式包括clean-label poisoning attack,image-scaling poisoning attack。这种攻击方式可以保持数据值与标签的一致性,从而可以绕过手动检查或者视觉检查。

5.collaborative learning协作学习(分布式学习技术,包括联邦学习、split learning拆分学习)

当少数参与者被攻击者控制时,可以轻松地将将后门植入联合学习的模型中。方式包括local data poisoning和model poisoning

6.post-deployment 部署后

攻击通常发生在模型推理阶段。主要通过故障注入来攻击模型权重。比如当用户启动ML模型并将ML权重加载到内存中时,通过触发row hammer错误间接翻转权重的一些位,从而导致推理精度下降。这种攻击无法通过offline inspection来缓解。

Backdoor variants后门分类

1)class-specific和class-agnostic

前者指只有带有trigger的特定class的输入样本才会被误分类到指定类别;后者指任何带有trigger的任意class的输入样本都会被误分类到指定类别
不过大部分都是class-agnostic的,列举如下

2)multiple triggers to same label(v1)

有多个trigger,只要输入带有其中一个trigger就能将模型预测劫持到相同的目标label

3)multiple triggers to multiple labels(v2)

每个trigger劫持到对应的不同的label

4)Trigger size,shape and position(v3)

trigger可以在任意位置、任意大小,在考虑音频、文本领域时,不考虑shape

5)trigger transparency(v4)

在视觉领域,当trigger与图形混合时需要考虑,也可以指trigger的隐身性。在音频领域,指trigger的amplitude幅度,在文本领域,指trigger保留的语义。
大多数后门都会考虑v3,v4

后门攻击的成功率可以由CDA(clean data accuracy)和ASR(attack success rate)来评估。
CDA指不带trigger的干净输入样本会被正确预测到他们的ground-truth类的概率
ASR指带有trigger的输入样本会成功预测为攻击者指定类的概率
如果可以完全控制训练过程和数据的话,ASR可以接近100%

几种不同的构造样本的方式

在这里插入图片描述

a:将图像与hello kitty trigger混合
b:分散的trigger
c:添加附件(如眼镜)
d:面部特征,左右眉毛不同

规定一些术语:

User

等价于defender,是DNN模型的所有者;attacker是想要在模型中植入后门的人

Clean input

指没有trigger的输入,等价于clean sample,clean instance,benign input

Trigger input

指带有控制者指定的为了触发后门而设置的触发器的输入,等价于trigger sample,trigger instance,adversarial input,poisoned input

Target class

指攻击者指定trigger对应要触发的目标标签label,等价于target label
source class 等价于source label,指攻击者要通过trigger input触发修改的原label

Latent representation

等价于latent feature,指高维数据(一般特指输入)的(低维)表示。Latent representation是来自深度神经网络内部各层的特征。(有很多防御策略利用latent representation来检测后门)

Digital attack

指对抗性扰动被添加到数字输入上,丽日对数字图像digital image的像素进行修改

Physical attack

指在物理世界中对物理目标进行对抗性扰动。比如人脸识别系统中带的眼镜就是一个后门。此时人脸识别系统的输入(捕获到的图像)不是攻击者可以控制的

在捕获图像时,物理攻击难度更大,因为需要考虑到模数转换、光亮度、噪声、角度和距离变化等。

其中

1

Outsourcing后门攻击是最容易执行的,因为攻击者可以完全访问训练数据包和模型,可以控制trigger的选择和训练过程。所有攻击者可以通过data poisoning和model poisoning将后门模型返回给用户。另外需要注意的是,在可以控制训练过程时,攻击者可以将逃避防御目标纳入损失函数,来绕过现有的防御策略。

2

Pretrained attack。这种攻击常和迁移学习的场景联系在一起,用户因为数据有限或者算力有限无法训练一个准确的模型。因此,用户会使用一个公开的或者第三方的预训练的模型来提取通用特征general features。一个DNN模型可以大致分为两部分,一部分是特征提取器feature extractor,一个是任务相关task-specific的分类层。前者通过使用卷积层来编码与具体任务无关的领域知识来实现;后者一般是全连接层dense layers/fully connected layer。在迁移学习中,用户会根据自身常见替换掉全连接层,但是会完整保留或者只是微调fine-tune feature extractor。因此,被植入后门的feature extractor在迁移学习中被重新使用时仍会保留原有风险。
需要注意,预训练后门攻击或多或少都要假设有下游downstream任务的特定知识(可能是推测出来的)和针对下游任务的少量数据

防御策略

在这里插入图片描述

Blind backdoor removal

不会将后门模型与干净模型区分开。主要的目的是消除或者抑制后门触发的效果并且维持干净样本的CDA。

Offline inspection

后门模型和带有trigger的输入都可以被离线识别出来。

Online inspection

在模型运行时监控模型的行为和输入数据。主要通过异常检测技术实现。

Post backdoor removal

一种方法是删除被毒化的输入,然后再次训练模型。另一种方法是使用包含trigger但正确标记的数据来重新训练或微调后门模型,从而从模型中删除后门行为,从而重新学习校正后的决策边界。

后门攻击的另一面(积极作用)

1)WaterMarking

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

2)Against Model Extraction

Entangled Watermarking Embeddings(EWE).EWE是水印的一种扩展。模型窃取指攻击者利用模型提取攻击来窃取供应商提供的模型,例如机器学习即服务(mlaas),通常依赖于查询受害模型并观察返回的响应,例如softmax。此攻击过程类似于密码学中的明文选择攻击。然后,由于被盗模型具有与受害者模型相当的准确性,因此攻击者无需向受害者模型提供者支付进一步的查询。攻击者还可能试图通过向公众发布被盗模型来牟利。
传统水印方法的弱点在于负责主要任务和水印(后门)任务的模型参数是分开的。因此,当攻击者查询旨在窃取主要任务功能的模型时,作为不同子任务的水印可能不会传播到被窃副本,而EWE的关键是模型提供者插入的后门将不可避免地传播到被盗模型。

3)Against Adversarial Examples

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

4)Data Deletion Verification

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

标签:后门,Attacks,Comprehensive,Review,攻击,trigger,攻击者,模型,输入
来源: https://blog.csdn.net/yalecaltech/article/details/112647165