如何躲避针对后门攻击的检测

25 篇文章 0 订阅
16 篇文章 4 订阅

介绍

这次介绍的是一篇来自于EuroS&P-2020的文章,“Bypassing Backdoor Detection Algorithms in Deep Learning

作者中有比较著名的大佬Reza Shokri。该工作主要针对Wang等人提出来的Neural Cleanse。

关于后门攻击,您可以参考我这篇文章

关于Neural Cleanse,您可以参考我这篇文章

开门见山

该工作主要是提出一种攻击,用来躲避后门检测的,针对Wang等人提出来的神经元裁剪方法,给出了一种攻击策略。

在先前的工作中,人们发现在正常样本的输入以及带有后门样本的输入下,神经元的表现是有差异的。根据这些差异,提出了一些基于神经元裁剪的策略来对后门攻击进行防御。

这篇工作的主要核心在于,去尽可能地使得后门样本和正常样本的差异变小。

如下图所示:

arch

攻击者会训练一个判别器,去判别中间的特征表示是否来自于后门样本。

通过这种对抗性的设置,实现后门样本和正常样本的表现趋于一致,进而躲避掉防御。

误差的设置

最为核心的形式为两个部分组成,可以写成:
L = L ( f θ ( x ) , y ) + L r e p ( z θ ( x ) ) \mathcal{L} = \mathcal{L}(f_\theta(x),y)+\mathcal{L}_{rep}(z_\theta(x)) L=L(fθ(x),y)+Lrep(zθ(x))
其中 x x x 是输入, y y y 是标签, θ \theta θ 是网络的参数, f θ ( x ) f_\theta(x) fθ(x) 是关于 x x x 的类别预测输出, z θ ( x ) z_\theta(x) zθ(x) x x x 的隐式表示 (或者称之为中间特征表示), L r e p ( z θ ( x ) ) \mathcal{L}_{rep}(z_\theta(x)) Lrep(zθ(x)) 是一个惩罚项,该惩罚项用来迫使模型对于正常样本和后门样本所表现差异变小。

我们的目标其实是,最小化正常样本和后门样本的神经元激活值,即:
min ⁡ θ ∣ z c n − z b n ∣ \min_{\theta} |z_c^n - z_b^n| θminzcnzbn
其中 z c n z_c^n zcn 代表着正常样本的第 n n n 个神经元的激活值, z b n z_b^n zbn 代表着后门样本的第 n n n 个神经元的激活值。

注意到一个简单的不等式
∣ k z c n − k z b n ∣ = k ∣ z c n − z b n ∣ ≤ ∣ z c n − z b n ∣ |kz_c^n - kz_b^n| = k|z_c^n - z_b^n|\leq|z_c^n - z_b^n| kzcnkzbn=kzcnzbnzcnzbn
满足 0 < k < 1 0<k<1 0<k<1 ,即我们只需要将神经元的激活值进行缩放即可,也就是我们的目标就是使得目标神经元的输出为原来的 k k k 倍。

因此,我们的误差可以重新写成:
L = L ( f θ ′ ( x ) , y ) + λ L r e p ( z θ ′ ( x ) , z t a r g e t ( x ) ) \mathcal{L} = \mathcal{L}(f_{\theta'}(x),y)+\lambda\mathcal{L}_{rep}(z_{\theta'}(x),z_{target}(x)) L=L(fθ(x),y)+λLrep(zθ(x),ztarget(x))
其中 λ \lambda λ 是比例系数, θ ′ \theta' θ 是新模型的参数, θ \theta θ 是原有的后门模型的参数。
z t a r g e t n ( x ) = { k ⋅ z θ ( x ) if  n ∈ N b z θ ( x ) otherwise z_{target}^n(x) = \begin{cases} k\cdot z_{\theta}(x) & \text{if } n\in N_b\\ z_{\theta}(x)& \text{otherwise}\end{cases} ztargetn(x)={kzθ(x)zθ(x)if nNbotherwise
其中 N b N_b Nb 是指后门样本下表现有差异性的神经元的集合。

文章的实际误差设置
L = L ( f θ ( x ) , y ) − λ L D ( D ( z θ ( x ) ) , B ( x ) ) \mathcal{L} = \mathcal{L}(f_{\theta}(x),y) - \lambda\mathcal{L}_{D}(D(z_\theta(x)), B(x)) L=L(fθ(x),y)λLD(D(zθ(x)),B(x))
其中 D ( z ) D(z) D(z) 就是拿中间特征去判别是不是来自于后门向量 (即判别器会输出0到1的一个概率)
B ( x ) = { 1 if  x ∈ X b 0 otherwise B(x) = \begin{cases} 1 & \text{if } x\in X_b\\0 & \text{otherwise}\end{cases} B(x)={10if xXbotherwise
B ( x ) B(x) B(x) 是标识着输入是否是带后门样本,是ground truth。

不得不吐槽,这里花了一大段进行形式化,但是实际用的loss却变成了判别器的交叉熵误差,也就是 L D \mathcal{L}_D LD

实验评估

Attack Performance

如上图所示,可以看到在裁剪比率很大的时候,攻击的仍然能够保持足够高的成功率。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值