Blind Backdoors in Deep Learning Models 论文笔记

#论文笔记#

1. 论文信息

论文名称Blind Backdoors in Deep Learning Models
作者Eugene Bagdasaryan Vitaly Shmatikov Cornell Tech
出版社USENIX Security Symposium 2021 (网安A类会议)
pdf论文主页 本地PDF
代码
pytoch_Backdoors_101

2. introduction

2.1 背景

blind backdoor attack

文章提出了一种新的 backdoor attack 的方式。文中称为 blind backdoor attack

文中关于 blind backdoor attack 的解释如下:

Our attack is blind: the attacker cannot modify the training data, nor observe the execution of his code, nor access the resulting model

具体来说:攻击者知道主要任务,可能的模型架构和常用的数据。但是不知道具体的训练数据,参数和结果模型。由于上述限制,blind attack 比其他 backdoor attack 更加难做到。

backdoor attack 的分类

如何做到 blind backdoor attack ,以及 blind backdoor attack 和其他的攻击方法有什么区别。作者画了一张图来描述 attack 的类型。其中 blind backdoor attack 的方法属于 backdoor attack 中的 Code poisoning 的方法。即对开源代码库进行攻击。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Eq1sREsM-1669019216760)(assets/image-20220308154127-tsfbp11.png)]

上图总结了 5 中常见的代码攻击类型:

  • Poisoning:对训练数据进行投毒
  • Trojaning:对模型进行修改,注入后门(待了解)
  • model replacement:替换模型。联邦学习中的一种攻击方式(待了解)
  • Adversarial Example:对抗样本
  • Code poisoning:对代码进行投毒
关于 Code poisoning:

为什么可以进行代码攻击?

因为机器学习很多代码和开源框架都托管在Github等代码平台,这就导致了攻击者可以向开源代码中注入恶意代码,而且这些恶意代码比较难被审核者发现。文中的方法就是在代码中加入了一个后门学习的任务,导致使用者使用该代码训练模型会留下后门。

Code poisoning 和 data Poisoning 有什么区别?

Code poisoning 可以不用知道训练数据是什么。在 Data Poisoning 中,为了实现更好的效果往往需要根据数据的分布学习出一个带有目标类信息的 trigger 。所以 Data Poisoning 要预先得到训练数据,并在训练数据上构建模型,生成用于攻击的 poison data 。而 Code poisoning 不用考虑训练集的分布,只需要在 batch 中对数据集进行修改,即不管是什么样的训练集都可以用同一种方式攻击。

Data Poisoning 也有一定的局限性,在文章中提出,有一些数据是难以更改的(例如使用安全相机产生的数据)

2.2 文章的贡献

  1. 提出了 blind attack,并通过实验验证了 blind attack 的攻击效果
  2. 使用 multi-objective optimization 来看待 backdoor attack,并且使用了动态调整系数的方法
  3. 对防御方法进行分析,并验证了 blind attack 的有效性

3. method

3.1 模型结构图

模型结构图
攻击过程

可以看到在攻击的过程中,攻击者只是在原本的代码中加入了几行新的代码。所以整个攻击比较隐秘且难以发现。攻击的方法可以理解为是多任务学习。

  1. 多任务学习

    攻击使用的方法为多任务学习。多任务学习同时优化多个目标函数loss,学习出来的模型可以适应与不同任务。文章中将原本的分类任务视为主任务,将 backdoor attack 视为另一个任务。加入代码,让模型在学习主任务的同时,学习到次要任务。

    • Main task:分类任务 θ ∗ ( x ) = y , ∀ ( x , y ) ∈ ( X \ X ∗ , Y ) \theta^{*}(x)=y, \forall(x, y) \in\left(\mathcal{X} \backslash \mathcal{X}^{*}, \mathcal{Y}\right) θ(x)=y,(x,y)(X\X,Y)
    • Backdoor task:将带有trigger的图片学习到目标类 θ ∗ ( x ) = y , ∀ ( x , y ) ∈ ( X \ X ∗ , Y ) \theta^{*}(x)=y, \forall(x, y) \in\left(\mathcal{X} \backslash \mathcal{X}^{*}, \mathcal{Y}\right) θ(x)=y,(x,y)(X\X,Y)

    训练的过程中,只增加了一个用于学习 backdoor 数据的 loss,并未改变优化器和模型结构

  2. 训练过程

    开始仅训练主任务,在主任务 loss 小于一定阈值(接近收敛时),再开始训练多目标任务。这样的做法是为了减少开销,使得攻击过程更加隐蔽。

    当然,从头直接训练多目标任务也是可行的。

  3. 损失函数

    ℓ blind  = α 0 ℓ m + α 1 ℓ m ∗ [ + α 2 ℓ e v ] \ell_{\text {blind }}=\alpha_{0} \ell_{m}+\alpha_{1} \ell_{m^{*}}\left[+\alpha_{2} \ell_{e v}\right] blind =α0m+α1m[+α2ev]

    • main task loss:$ \ell_{m}$

    • backdoor loss: ℓ m ∗ \ell_{m^{*}} m

    • optional evasion loss: ℓ e v \ell_{e v} ev

      ℓ e v \ell_{e v} ev 是为了对抗防御模型 Neural Cleanse 设计的损失

  4. loss 间的系数

    多任务学习中存在一个问题:不同任务 loss 之间的系数取决于数据和模型,使用固定的系数组合不是最优解。

    文章中给出了一个解决方法,use Multiple Gradient Descent Algorithm with the Franke-Wolfe optimizer [16, 81] to find an optimal 。

    使用 MGDA 算法,动态调整损失函数的权重

    MGDA: min ⁡ α 1 , … , α k { ∥ ∑ i = 1 k α i ∇ ℓ i ∥ 2 2 ∣ ∑ i = 1 k α i = 1 , α i ≥ 0 ∀ i } \min _{\alpha_{1}, \ldots, \alpha_{k}}\left\{\left\|\sum_{i=1}^{k} \alpha_{i} \nabla \ell_{i}\right\|_{2}^{2} \mid \sum_{i=1}^{k} \alpha_{i}=1, \alpha_{i} \geq 0 \forall i\right\} minα1,,αk{i=1kαii22i=1kαi=1,αi0i}

  5. 关于 μ \mu μ v v v

    v v v 可以设置为不同的 target label, μ \mu μ 的数量也可以灵活变

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
神经毒素:联邦学习中的持久后门 联邦学习是一种将多个参与方的数据在本地进行训练和学习的机器学习方法。然而,近年来研究者们发现了其中一个潜在的风险,即利用神经毒素在联邦学习中创建持久的后门。 神经毒素是一种设计用于操纵或破坏机器学习模型的恶意输入。在联邦学习中,不同机构的参与方通过共享模型更新来进行协同学习。然而,如果一个恶意参与方能够注入具有神经毒素的恶意数据,则这些数据可能会污染整个模型的训练过程。 通过注入神经毒素,恶意参与方可以实现多个恶意目标。首先,他们可以通过训练含有后门的模型,使得在模型被部署或使用时,特定的输入触发外部设定的恶意行为。这将导致模型在处理恶意数据时产生损害,从而影响到整个系统的正常运行。其次,神经毒素可以在联邦学习中传播,使得其他参与方的模型也带上恶意后门。这样一来,整个联邦学习模型都会受到恶意攻击。 要解决神经毒素在联邦学习中的问题,需要采取一系列安全措施和防范措施。首先,参与方应该进行数据过滤和验证,以删除可能包含神经毒素的数据。其次,应该设计机制来检测和识别神经毒素的注入,比如使用异常检测或模型鲁棒性的方法。此外,可以采用多方签名和加密等技术来确保模型更新的安全性和可信度。 总之,神经毒素在联邦学习中创建持久后门的风险是存在的。为了确保联邦学习的安全性和可靠性,我们需要采取适当的安全措施来预防和检测这种潜在的恶意攻击。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值