后门防御阅读笔记,Black-box Detection of Backdoor Attacks with Limited Information and Data

论文标题:Black-box Detection of Backdoor Attacks with Limited Information and Data

论文单位: THBI Lab, Tsinghua University, Beijing

论文作者:Yinpeng Dong, Xiao Yang, Jun Zhu

收录会议:ICCV 2021

开源代码:未开源

有限信息和数据的条件下对后门攻击的黑盒检测(防御)

简单总结

第一个在计算逆向触发器时,使用无梯度的优化方法。

  • 先前的防御手段,计算逆向触发器时全部使用的是对目标函数基于梯度下降进行优化,在白盒场景下使用目标模型即可,在黑盒场景下会使用代理模型。
  • 场景:在黑盒场景下的无梯度优化方法,也不需要训练数据。
  • 针对防御的攻击方法:BadNets、Trojaning attack
  • 该方法需要通过向模型多次查询 f ( x ) f(x) f(x)对逆向触发器进行更新,方法是通过自然进化策略去从假设的分布多次采样去估计更新的梯度方向,从而对逆向触发器 ( m , p ) (m,p) (m,p)进行更新。
  • 缓解后门的方法:首先得到逆向触发器 ( m , p ) (m,p) (m,p),模型对原图的输出 f ( x ) f(x) f(x) f ( A ( x , m , p ) ) f(\mathcal{A}(x,m,p)) f(A(x,m,p))着两个分布计算KL散度,通过分布差异大小判断是否为干净输入。
  • 评价:在黑盒场景下,其方法实现了与白盒场景下的baseline相当甚至更好的性能。
  • 该论文的团队是朱军老师的小组,他们小组是国内在对抗领域最顶尖的团队之一,对抗攻击在白盒场景下主要基于梯度的方法,而在黑盒场景下基于查询的方法,通过梯度下降或查询更新逐步迭代生成对抗样本。在后门防御领域,先前的工作主要都是在白盒场景下通过梯度下降逆向生成触发器,而本文从黑盒场景下查询的角度出发,提出了新的生成逆向触发器的方法。
  • 不足的地方:1、提出离群点检测方法非常粗糙,没有理论支撑,完全通过是实验得到的:存在逆向触发器的 L 1 L1 L1范数小于中位数四分之一即认为存在离群点;2、在对抗攻击中的黑盒查询方法,往往需要查询上千甚至上万次,本文没说明查询操作需要多少次,这个也是值得思考的问题。3、缓解后门的方法也很鸡肋,之前有的提过的Bypassing Detection Backdoor有针对分布差异提出过后门攻击,这种方法还有待考究。

值得做的点(仅从本文出发)

  • 作者没有给出该算法的运行时间、效率等关键信息,按照经验来说,这个方法需要耗费大量资源和时间,提出黑盒场景下的效率更好的后门防御也是值得做的。
  • 在防御方看来,逆向触发器并不一定要得到与真正触发器完全一致的形状,只要我们采样到一组分布(逆向触发器)使得模型输出的效果和真正触发器的效果一致即可,当然,我们也不能随机盲目采样,所以本文使用了NES算法去估计梯度的方向,再去对分布进行优化,去逼近我们的目标。接下来,有没有更好的采样方法也是我们值得去思考的。
  • 上面简单总结所提到的不足之处的地方,还是可以去深究,也是值得去做的,并提出一些新的方法的。

abstract

  • 提出一种黑盒后门检测(B3D)方法来识别只有查询访问模型的后门攻击。
  • 引入了一种无梯度优化算法来反向生成每个类的潜在触发器,这有助于揭示后门攻击的存在。
  • 除了后门检测,还提出了一个简单的策略,使被识别出来的后门模型可以继续进行正常的预测。
  • 在几个数据集上训练的数百个DNN模型的广泛实验证实了该方法在黑盒设置下对各种后门攻击的有效性。

1.introduction

提出的检测方法可以逆向设计每个类的潜在触发器,并判断是否有任何类诱发一个更小的触发器,可以用来检测后门攻击。

后门防御阅读笔记,Black-box Detection of Backdoor Attacks with Limited Information and Data_第1张图片

  • 现有的后门防御依赖于模型和数据可访问性的强大假设,在现实世界的场景中通常是不切实际的。

    • 一些训练阶段的防御旨在识别和移除训练集中的有毒样本, 以减轻它们对训练模型的影响。 然而,这些方法需要访问中毒的训练数据,这在实践中通常是不可用的(因为供应商由于隐私问题不会发布其机器学习服务的培训数据)。
    • 另一方面,一些推理阶段的防御试图通过基于梯度的优化方法对触发器进行逆向工程,然后根据反向触发器来决定模型是正常的还是异常的。 虽然这些方法不需要中毒的训练数据,可以应用于任何预先训练的模型,但它们仍然需要白盒模型的梯度来优化后门触发器。
  • 作者将重点放在黑盒设置上,在黑盒设置中,既不能获取中毒的训练数据,也不能获取白盒模型,而只能对模型进行查询访问

  • 黑盒场景防御设置的理由如下:

    • 这些系统的后门可能包含由供应商、或联邦学习的参与者、甚至是发布在线有毒数据进行注入。
    • 由于知识产权,这些系统通常是黑匣子,只有通过 API 进行查询访问,基于典型的机器学习作为服务(MLaaS)场景。
  • 作者提出的检测方法

    • black-box backdoor detection(B3D)
      • 一种gradient-free的算法
      • 通过模型查询对目标函数进行优化
    • B3D-SS(synthetic samples)
      • B3D在使用合成样品时的适用性,在用于优化的干净样品不可用的情况下
    • 减轻后门
      • 在黑盒设置下,我们无法修改黑盒模型,所以不能采用典型的再训练或微调策略。 因此,作者提出了一个简单而有效的策略,拒绝任何带有触发器输入,获得不用修改感染模型的可靠预测。

2.related work

Backdoor attacks

  • BadNets
  • Trojaning attack
  • 许多基于训练数据的攻击
  • 也有一些基于在模型上修改的攻击(粗略看了看给的两篇相关文献,一篇类似于数据投毒,另一篇则仍然需要构造触发器,利用带触发器的输入更新模型权重,对前后的权重进行一些替换。总的来说,仍然离不开模型对带后门触发器的输入反馈去进行构建这个后门)

Backdoor defenses

  • Fine-Pruning
  • Neural Cleanse (NC)
  • 总的来说,所有现有的方法都依赖于模型梯度来执行优化

最后,作者提出的方法与先前的防御所需信息的比较,如下图所示:

后门防御阅读笔记,Black-box Detection of Backdoor Attacks with Limited Information and Data_第2张图片

3.methodology

3.1Threat Model

  • Adversary

请添加图片描述

  • Defender

    • 无法访问中毒的训练数据集和白盒模型。 防御者只能查询训练后的模型 f ( x ) f(x) f(x)以获得其预测,但不能获得其梯度。
    • 在给定一组干净验证图像的情况下,或者在干净图像不可用的情况下使用合成样本,防御者区分 f ( x ) f(x) f(x)是正常的还是在异常的。

3.2Problem Formulation

如果模型需要比其他未感染的模型小得多的修改来导致对目标类的错误分类,则该模型被视为带后门的。 原因是敌手通常想让后门触发不显眼。 因此,防御者可以通过判断任何类是否需要对错误分类进行显著较小的修改来检测一个带后门的模型。

由于防御者不了解触发模式 ( m , p ) (m,p) (mp)和真正的目标标签 y t y^t yt, 因此可以通过求解来反向工程每个类 c c c的潜在触发器
后门防御阅读笔记,Black-box Detection of Backdoor Attacks with Limited Information and Data_第3张图片

这个方法就是NC里面的,后面的多种防御方法都是基于这个类型的,但这些方法都基于梯度去优化目标函数,作者再次强调了不需要梯度!!

3.3Black-box Backdoor Detection(B3D)

  • 定义 F ( m ; p ; c ) \mathcal F(m;p;c) F(m;p;c)表示为上述的损失函数,目标就是不使用模型梯度去最小化 F ( m ; p ; c ) \mathcal F(m;p;c) F(m;p;c)

  • 通过向训练模型发送查询并接收其预测 f ( x ) f(x) f(x),我们只能得到 F ( m ; p ; c ) \mathcal F(m;p;c) F(m;p;c)的值。

  • 提出的算法是由自然进化策略(NES)(本笔记最后简单介绍NES伪代码)驱动的,这是一种有效的无梯度优化方法。

  • 算法的关键点是去通过对其参数的梯度估计去学习搜索分布,以获得更好的loss。

  • 提出利用离散分布来建模 m m m和连续分布来建模 p p p,从而提出了一种新的优化算法。

  1. 不直接去最小化 F ( m ; p ; c ) \mathcal F(m;p;c) F(m;p;c),而是最小化搜索分布下的损失

请添加图片描述

其中, π ( m , p ∣ θ m , θ p ) \pi(m,p|\theta_m,\theta_p) π(m,pθm,θp)指的是带参数 θ m \theta_m θm θ p \theta_p θp的分布。

  1. 由于$m \in {0,1}^d 和 和 p \in [0,1]^d , 为 了 定 义 正 确 的 分 布 , 提 出 了 一 个 归 一 化 函 数 : ,为了定义正确的分布,提出了一个归一化函数: g(·)=\frac{1}{2}(tanh(·)+1) , = = 这 样 , 不 仅 满 足 了 对 ,==这样,不仅满足了对 ==m 和 和 pKaTeX parse error: Unexpected character: '' at position 13: 的约束,而且使得优化变量̲θ_m 和 和 θ_p$不再受约束。==

请添加图片描述

其中, B e r n ( ⋅ ) Bern(·) Bern()是伯努利分布, N ( ⋅ , ⋅ ) \mathcal{N}(·,·) N(,)是以 σ \sigma σ为标准差的高斯分布。

  1. 解决式子(3)的优化问题,需要去估计它的梯度。因为 m m m p p p是独立的,因此,可以分别估计 J ( θ m , θ p ) \mathcal{J}(θm, θp) J(θmθp)相对于 θ m θ_m θm θ p θ_p θp的梯度。

  2. 给出具体实现伪代码

后门防御阅读笔记,Black-box Detection of Backdoor Attacks with Limited Information and Data_第4张图片

  1. 总结:假设掩码 m m m符合伯努利分布,假设触发器模式 p p p符合高斯分布,每次迭代使用一部分样本去更新参数 θ m \theta_m θm θ p \theta_p θp。对 θ m \theta_m θm更新的方式是在伯努利分布上采样 k k k m j m_j mj,用来估计 θ m \theta_m θm更新的梯度方向;对 θ p \theta_p θp更新的方式是在标准高斯分布上采样 k k k ϵ j \epsilon_j ϵj,用来估计 θ p \theta_p θp更新的梯度方向。

  2. 对于每一类得到了逆向触发器后,后面的方法与NC基本类似。

3.4B3D with Synthetic Samples(B3D-SS)

  • B3D算法和以前的方法的一个限制是依赖于一组干净的图像,这在实践中是不可用的。

  • 为了在没有任何干净数据的情况下进行后门检测,一个简单的方法是采用一组合成样本。

  • 主要做法是从随机分布中提取样本,并使用下面的式子对每个类都分别进行优化,生成合成样本数据集。

后门防御阅读笔记,Black-box Detection of Backdoor Attacks with Limited Information and Data_第5张图片

4.experiments

  • 数据集:CIFAR-10, German Traffific Sign Recognition Benchmark (GTSRB),and ImageNet datasets

  • 比较的方法:Neural Cleanse (NC) and TABOR(基于模型梯度的两个SOTA方法)

  • 离群点检测:NC采用的MAD效果不行,作者提出存在逆向触发器的== L 1 L1 L1范数小于中位数四分之一即认为存在离群点的方法==

  • 评价:在黑盒场景下,其方法实现了与白盒场景下的baseline相当甚至更好的性能

5.Miitigation of Backdoor Attacks

  1. 假设已经检测到后门模型,并得到攻击的目标标签为 y t y^t yt逆向触发器 ( m , p ) (m,p) (m,p)

  2. 将模型对于一个干净的输入 x x x,和对应加上逆向触发器,分别输出 f ( x ) f(x) f(x) f ( A ( x , m , p ) ) f(\mathcal{A}(x,m,p)) f(A(x,m,p)),两个分布进行比较会有很大的差异。

  3. 然后对于一个带触发器的输入 x c x_c xc,和对应加上逆向触发器,分别输出 f ( x ) f(x) f(x) f ( A ( x c , m , p ) ) f(\mathcal{A}(x_c,m,p)) f(A(xc,m,p)),两个分布进行比较会很相似。

  4. 因此,作者提出了使用KL散度进行比较,差异大的则说明很有可能是干净样本,差异小的则是带触发器输入。

请添加图片描述

一句话总结:首先得到逆向触发器 ( m , p ) (m,p) (m,p),模型对原图的输出 f ( x ) f(x) f(x) f ( A ( x , m , p ) ) f(\mathcal{A}(x,m,p)) f(A(x,m,p))着两个分布计算KL散度,通过分布差异大小判断是否为干净输入。

6.补充

  • NES算法伪代码:

后门防御阅读笔记,Black-box Detection of Backdoor Attacks with Limited Information and Data_第6张图片

你可能感兴趣的:(论文阅读,人工智能,python,后门防御)