Stetman读peper小记:Defense-Resistant Backdoor Attacks Against DeepNeural Networks in Outsourced Cloud

注:

本周阅读的peper是龚雪鸾和陈艳娇的作品。文章是对一种更为强健的后门攻击--RobNet,其关键原理是使触发器多样化,并加强模型结构使后门难以被发现或消除。不同于以往后门攻击方面的作品,本文作者是在用户采用最先进的防御策略检验的前提下仍最大程度的保证攻击的有效性下展开设计的。

Contents

1.INTRODUCTION  PRELIMINARIES 后门攻击简介与预备知识

2. ROBNET: CONSTRUCTION DETAILS

3.IMPLEMENTATION AND EVALUATION 实施与评价

4.RELATED WORK 相关作品

Introduction and Preliminaries

文章先对后门攻击的介绍:

        用户考虑成本将DNN外包培训,若外包公司是恶意的,其可利用训练过程植入后门。后门模型可以将带有特殊触发器的输入样本错误分类为目标标签(有针对性的攻击)或任何虚假标签(无针对性的攻击),而对干净的样本表现正常。与对抗性例子不同,后门触发器对任何输入样本都是通用和有效的,不用对每个样本进行自义定扰动。因为后门模型对干净的样本保持了相对较高的准确性,而用户一般只在干净的验证数据集上测试其预测能力,从而被欺骗接受后门模型。

预备知识:

1)深层神经网络(DNN)的原理

        DNN相当于一个分层函数,其读入x(样本)后,将其对应到函数预设类中的一个,并返回一个m维向量y,即对应到x分配到每个类标签的置信概率。故x被分类以最高置信度标记c,c即为所谓x的标签,。第k层激活函数标记做,对前一层的输出使用此函数可得本层输出,通过权矩阵、偏置矢量和激活函数对其参数化,得到:

        在DNN中,卷积神经网络(CNN)是应用比较广泛的构架在CNN中有三种类型的层:卷积层、池化层和全连接层。其中卷积层是CNN的核心,它通过考虑图像中的空间和时间依赖性来压缩高维图像。池化层返回由内核选定区域的最大值(最大池化)或平均值(平均池化)。全连接层将上一层的每个神经元与下一层的每个神经元连接起来。

        训练DNN相当于通过不断调整各函数参数与各神经元间权重,实现最大限度保持输入样本的真实类与预测(DNN给出的标签类)一致。即为训练集,xi指样本,指DNN给出的预测标签,指真实类。

2)现行后门攻击

        后门攻击的目的即是实现后门模型将带有特定触发器的输入分类到错误的标签(预定的目标标签),同时保证干净输入的高预测精度以保证其隐蔽性。因此,一个性能良好的后门攻击应该同时实现高攻击成功率和高预测精度。但这两个目标是矛盾的,要达到平衡的性能,关键在于选择合适的触发器。

        从触发模式看,现行后门攻击有随机触发(与DNN模型无关,随机选择的触发器)与依赖触发(根据DNN模型仔细生成的触发器)。直观地看,依赖模型的触发器比随机触发器产生更好的攻击成功率,但需要复杂的触发器生成过程。

        从数量看,可以分为单触发器攻击和多触发器攻击。单触发器攻击中,只有一个触发器,通常在图像样本的固定位置。在多触发器攻击中,针对相同或不同的误分类类,在输入样本的相同或不同位置产生各种触发器。多触发器攻击扩展了攻击空间,但比单触发器攻击更加复杂和复杂。

        同时,在后门攻击中触发器尺寸越大,攻击成功率通常就越高,但正常输入的预测精度就越低。

3)现行防御策略

         对于后门攻击,目前防御分为两大类:基于模型的防御与基于数据的防御。前者主要检测接收到的模型是否被后门化,后者主要检测输入样本是否包含触发器。最先进的防御方法包括修剪,神经清洁(NC), Strip和ABS。

修剪:即是将对干净样本不是那么活跃的神经元减去,以处理冗余的方式来防御后门的存在。虽然修剪策略不检测模型是否包含后门,但我们认为修剪是一种基于模型的防御策略,因为它只处理模型。

NC:NC是通过创建触发器来排查触发器的方法。他通过为每个预设类创建一个触发器,若有个别类创建触发器的训练远远小于其他,那么可以认定该类下存在触发器。

Strip:通过对输入图像样本进行多次复制并合并,形成一个扰动样本。输入样本后,由于扰动的随机性,良性模型的预测结果一定有较高熵值;若输出熵值比较低,则说明有触发器在引导DNN将预测置为目标类,同样也反应了模型被攻击,已为恶意模型。

ABS:在DNN中,当提供适当的刺激时,受后门影响的神经元会显著增加目标标签的激活,并可能抑制其他标签的激活。ABS观察相应的输出差异,利用刺激分析来逆向设计后门触发器。

 

Robnet:Construction Details

总述

后门攻击的关键步骤在于触发器生成和后门注入两步,因此作者也是从这两方面进行展开讲述。

1)触发器生成:

        由于随机触发器成功率低且容易被防御策略检测到,Robnet采用了依赖模型的触发器。作者开发了一种生成算法,不仅增强了攻击能力,而且规避了大多数防御策略。算法如下:

算法的主要思想是在一个空掩码(掩码覆盖了触发器在图像上的位置)中确定值赋值,从而使某个神经元(s)被激发得最强烈。如下图所示,掩模为矩形,所选神经元以黄色或蓝色突出显示。掩码的最后一个值赋值产生了依赖于模型的触发器。在单触发器攻击中,触发器将选定神经元的激活值从2提高到12。

由于前面提到的修剪防御法,为了避免后门附着神经元被修剪导致攻击无效,我们选择当网络被输入(干净)属于目标标签的输入时,权重和激活量最高的神经元(不会被剪)。

 2)后门注入:

 作者在这里特别提了其方案的优势

        首先是对触发器位置的选择。现有的研究大多没有考虑触发器的位置对后门攻击性能的影响。但作者发现攻击成功率对触发位置高度敏感:如果测试时的触发位置与训练时稍有不同,攻击成功率就会急剧下降。因此Robnet在干净样本的不同位置放置相同的触发器,形成多个恶意样本,以毒害训练数据集,并重新训练良性模型以注入后门。这样一来,攻击更容易触发地点。

        其次是攻击形式。在再训练过程中,利用干净的训练样本和相应的恶意样本对深度神经网络进行再训练,旨在加强所选神经元与目标标签之间的联系。如上图中单触发器后门攻击,经过再训练后,选择的神经元与输出神经元(标签1,有针对性的误分类标签)之间的权值从0.1上升到0.7。至于多触发器攻击,生成多个触发器,目标是相同或不同的标签。注意,针对单个标签的多触发器攻击,在不同位置产生的触发器是不同的,而在单触发器攻击中,我们将在特定位置产生的同一个触发器放置到不同的位置,以使攻击更强健。如上图所示,触发器a和b是基于相同的神经元(蓝色)产生的,目标是相同的标签0,但放置在不同的位置,触发器c基于黄色神经元靶向标签1产生。(注:触发器c可能与a或b具有相同的位置,但目标标签不同。)通过多触发攻击可以用一个后门模型实现多种攻击目标。

        最后是隐蔽性。Robnet只对触发器生成中选定神经元的层和输出层之间的层进行再训练,目的是对干净的样本保持较高的预测精度。在重新训练之后,一旦触发器出现在输入中,后门模型将输出目标标签,但在没有触发器的情况下,它将正常运行。

 触发生成

 1)掩码的确定:什么是掩码?掩码M为行数和列数与图像样本的高度和宽度一致的矩阵。矩阵中的元素在触发区域的值为1,在其余区域的值为0。确定掩码即是对触发器的形状、大小和位置进行确认。一般情况下,更大的触发器可以提高攻击成功率,但也更容易被发现。作者发现7%的触发大小的图像带来了理想的性能。

 2)神经元的选择:选择神经元时,应该先确定在哪层选,再解决选哪个的问题。

        由于卷积层一个神经元只连接到前一层的一小部分神经元,故其中的神经元不可能对输入有太强反应,故不是很理想的选择,同理赤化层。而全连接层每个神经元将上一层的所有神经元连接到下一层的所有神经元,对输出产生很大的影响,是一个理想的选择。然而一个DNN中不止一个全连接层。在选择时,作者认为靠近输出层的再训练空间不足,所以选择远离输出层的全连接层,当然第一全连接层是首选。

        为了达到最佳的攻击性能,所选择的神经元应该对恶意输入敏感,并且与目标误分类标签有很强的关系。因此采用如下选择方法:选出受上一层影响最大的神经元

 代表所选层神经元的集合,表示所选层一层的神经元集合,指两层神经元间的权值。

但这种选择方式有两个问题,其选出的神经元是对良性恶性输入无差别敏感;同时也没有注意神经元的激活度以避免被修剪。因此作者进行了改进:当神经网络被输入目标类对应的干净样本时,找到具有大权值和大量激活的神经元(这些就是目标类对应的神经元)。这样,选择的神经元与目标误分类标签有很强的关联,由于其权重较大,不太可能被修剪。

指c(目标)标签对应的良性输入,输入时激活的神经元。用于平衡权重和激活数对最后选择的影响。(激活数反应了神经元与目标标签输入之间的联系,权值表征了神经元对下一层神经元的影响)作者发现取0.65为最佳。

 

3)触发器生成:采用梯度下降法迭代更新掩码的赋值,使代价函数最小化,在最后一次迭代中,从掩码区域提取触发器。

后门注入

后门注入一般分为数据中毒和模型再训练两步。

1)数据中毒:此即为,就是将触发器(trigger)加在良性样本(x)上掩码(M)定位的地方形成中毒数据集。

        为了使Robnet更强健,作者使用了一种多位置修补方法:通过对干净样本的不同位置进行修补来生成多个有毒数据样本置入数据集。如下图中,将生成的同一个触发器修补到一个干净样本的6号和8号位置,以构造两个具有相同目标类的中毒样本。这两种中毒样本都被添加到中毒数据集。

 

 2)模型再训练:使用干净和中毒数据集的组合对良性神经网络进行再训练,获得后门模型。(注:只有触发器生成中所选层和输出层之间的层会被重新训练。)

Implementation and Evaluation

 实验比较

        作者将Robnet与最先进的两种后门攻击模式进行比较:BadNets和Hidden-Backdoor (HB)。BadNets和Hidden-Backdoor (HB)两者各有优劣,相较而言BadNets可以达到较高的预测精度和攻击成功率,但会被人工检查发现,很容易暴露;HB对肉眼检查有很强的隐蔽性,但也因此损失了一些成功率。同时前面提及四种防御策略都可以防御BadNets,有三种可以防御HB,而他们都对Robnet无效。作者在MNIST、GTSRB、CIFAR-10上测试robnet,分别取得了99.12%、94.98%与96.05%的预测准确性。

结果评价

作者从攻击有效性和其对应后门防御的稳定性两方面进行评价:

1)后门攻击的有效性

单触发攻击:

        

此表反应的为单触发攻击下robnet投毒率与成功率的关系。可见两者正相关,同时在低投毒率时仍有很高的攻击成功率。

此表是对三种攻击的横向对比(毒素比例设置为20%,因为HB[19]在较低的毒素比例下无效) 

 

图中展示的是robnet考虑不同触发器位置影响的效果:ASR与PA都展现出了一定的稳定性。

 多触发攻击:

实验中多触发攻击单标签和多标签两种设置的实验结果(触发器设定为2个)

 

在多触发器攻击中,触发器的数量对性能有至关重要的影响。下表显示了生成不同数量触发器时的攻击成功率和预测准确率。

 

我们在MNIST中进行实验。结果表明,在这两种情况下,攻击成功率和预测精度随后门触发次数的增加而下降。在同标签场景中,触发器越多,攻击对测试样本中不同可能触发位置的鲁棒性越强,但在再训练时引入更多的变化,降低了预测精度。在多标签场景下,多个触发器针对不同的标签,导致神经元选择和再训练过程更加复杂,影响攻击性能。在总体上,多触发攻击的攻击成功率和预测准确率均超过90%,也体现了robnet攻击的有效性。

2)应对最先进防御策略的稳定性:

修剪:前面有提及robnet特殊的选择神经元方法,因此无论基于低激活还是低权重的修剪都对其无效。下图展示了修剪在三个测试数据集对三种攻击的影响。

 NC:下图展示了NC对三种攻击的效果:对于ROBNET和HB的后门模型,NC生成的触发器模式与任何原始触发器都有很大的不同。相反,NC恢复的触发与BadNets的实际触发相似。

 所有情况下,BadNets都能被成功检测到,而HB和ROBNET则能逃避检测。

Strip:ROBNET采用单触发器多位置攻击。在随机选择了2000个干净的图像样本和2000个带有触发器的输入且每个输入与200张随机选择的图像叠加后,分布结果如下图:

很明显,在BadNets和HB中,恶意输入和清洁输入的熵分布得到了很好的分离,这使得用户能够以90%以上的概率检测到恶意输入。相比之下,在ROBNET中,干净输入和恶意输入的熵分布非常相似。两者的重叠很大,因此很难区分恶意输入和干净输入。因此Strip无法根据熵分布来区分ROBNET的干净样本和恶意样本。

ABS:ABS利用神经元的异常刺激来逆转触发器,以特定的REASR(反向工程木马触发器攻击成功率)为目标。我们发现ABS在BadNets、HB和ROBNET中分别检测到21、11和4个可疑神经元。当我们将REASR设置为至少90%时,ABS在BadNets、HB和ROBNET中分别检测到4个、2个和0个可疑神经元。ROBNET逃避ABS的可能原因可能是我们破坏了ABS的假设,即目标误分类标签只被一个神经元激活(我们激活多个内部神经元,触发器不同)。

 

 Related Work

 A. Backdoor Attacks

B. Backdoor Defenses

C. Adversarial Examples

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值