如何躲避针对后门攻击的检测
介绍
这次介绍的是一篇来自于EuroS&P-2020的文章,"Bypassing Backdoor Detection Algorithms in Deep Learning"
作者中有比较著名的大佬Reza Shokri。该工作主要针对Wang等人提出来的Neural Cleanse。
关于后门攻击,您可以参考我这篇文章。
关于Neural Cleanse,您可以参考我这篇文章。
开门见山
该工作主要是提出一种攻击,用来躲避后门检测的,针对Wang等人提出来的神经元裁剪方法,给出了一种攻击策略。
在先前的工作中,人们发现在正常样本的输入以及带有后门样本的输入下,神经元的表现是有差异的。根据这些差异,提出了一些基于神经元裁剪的策略来对后门攻击进行防御。
这篇工作的主要核心在于,去尽可能地使得后门样本和正常样本的差异变小。
如下图所示:
arch攻击者会训练一个判别器,去判别中间的特征表示是否来自于后门样本。
通过这种对抗性的设置,实现后门样本和正常样本的表现趋于一致,进而躲避掉防御。
误差的设置
最为核心的形式为两个部分组成,可以写成:
其中 是输入, 是标签, 是网络的参数, 是关于 的类别预测输出, 是 的隐式表示 (或者称之为中间特征表示), 是一个惩罚项,该惩罚项用来迫使模型对于正常样本和后门样本所表现差异变小。
我们的目标其实是,最小化正常样本和后门样本的神经元激活值,即:
其中 代表着正常样本的第 个神经元的激活值, 代表着后门样本的第 个神经元的激活值。
注意到一个简单的不等式
满足 ,即我们只需要将神经元的激活值进行缩放即可,也就是我们的目标就是使得目标神经元的输出为原来的 倍。
因此,我们的误差可以重新写成:
其中 是比例系数, 是新模型的参数, 是原有的后门模型的参数。
其中 是指后门样本下表现有差异性的神经元的集合。
文章的实际误差设置
其中 就是拿中间特征去判别是不是来自于后门向量 (即判别器会输出0到1的一个概率)
是标识着输入是否是带后门样本,是ground truth。
不得不吐槽,这里花了一大段进行形式化,但是实际用的loss却变成了判别器的交叉熵误差,也就是
实验评估
Attack Performance如上图所示,可以看到在裁剪比率很大的时候,攻击的仍然能够保持足够高的成功率。