微彩娛樂NIC:基于神经网络不变量检测的对抗样本检测_HUC惠仲娱乐

微彩娛樂

作者:{WJN}@ArkTeam

原文标题:
NIC: Detecting Adversarial Samples with Neural Network Invariant Checking

原文作者:
Shiqing Ma, Yingqi Liu, Guanhong Tao, Wen-Chuan Lee, Xiangyu Zhang

原文出处: Network and Distributed Systems Security (NDSS) Symposium 2019

原文链接:
https://dx.doi.org/10.14722/ndss.2019.23415

深度神经网络(DNN)很容易受到对抗攻击,从而导致DNN模型出现误分类等异常行为。现有的防御和检测技术基于特定假设能够实现对某种特定攻击方法的有效防御和检测,但往往不具备普遍性,无法抵御广泛多样的攻击形式。

在这样的背景下,作者分析了DNN模型在各种攻击下的内部机制,确定了两种常用攻击通道:激活起源通道(provenance channel)和激活值分布通道(activation value distribution channel)。并提出一种基于DNN不变量的运行时对抗样本检测技术。

激活起源通道:DNN的每一(隐藏)层可以看作是将前一层被激活的神经元提取出来,与该层的权值进行矩阵乘法,然后应用一个激活函数来确定该层中被激活的神经元的函数。因此定义前一层被激活的神经元与某一层被激活的神经元之间的关系即为该层的激活起源。

许多攻击都会改变激活起源。直觉来讲,给定一个对抗样本x′,类似于A类的x,如果目标是使模型将x′分类为B, x′的激活起源往往于传统类别A或B的激活起源不同。这通常是由于模型内部不稳定, 前层神经元激活值的微小变化可能导致下一层激活神经元集合发生实质性变化。如下图2中左侧所示,x′的OP与类别A和B的常见PI都不相同,因此导致分类错误。针对DNN的木马攻击和L0攻击就是这种攻击的典型。

激活值分布通道:有些攻击可能不会利用激活起源通道。换句话说,敌对样本的激活起源与良性输入的激活起源相同。在这种情况下,为了引起分类错误,被激活的神经元的激活值分布必须与良性输入的不同。图2右侧中,对抗样本与正常B类样本的激活起源相同,但是层l2中激活值的差异较大,导致A类的输出值大于B类,最终出现误分类。L即为这种攻击形式。

图1 正常样本PI和VI
图2 两种攻击通道

基于以上发现,作者认为利用激活起源通道的攻击与控制流劫持有相似之处;利用激活值分布的攻击类似于状态破坏攻击。从而引入检测恶意代码常用的不变量检测方法来检测DNN的对抗样本。系统如图3所示:

图3 系统概要

步骤A,记录每个正常训练样本在每个层中激活值并训练得到一个分布。这些分布(例如,vi-l1vi-l2)即为激活值不变量(value invariants, VI)

步骤B,对于每一层l(L1, L2),我们通过将一个子模型从输入层提取到l,并添加与原始模型具有相同输出标签的新softmax层,从而创建一个派生模型。冻结子模型的权值,并在导出的模型中重新训练softmax层。简单来讲,l层的派生模型是基于l处提取的特征来预测输出类标签。

步骤C,我们通过所有派生模型运行每个正常训练样本,收集这些模型的最终输出(即为单个类的输出概率值)。对于每一对连续的层,我们训练它们的分类结果的分布即为这两层的激活起源不变量(provenance invariants, PI)。本质上是利用派生模型中的softmax函数来减少PI模型的维数。利用预测结果如何从使用特定层中的特征到使用下一层中的特征来近似代表PI

步骤D,对于每个测试输入t,除了输入原始模型外,我们还输入所有派生模型。收集原始模型中各层的激活值作为观测激活值(observed values, OV)(如图3底部的OV (L1, t)),并将连续层(成对)派生模型的分类结果作为观测激活起源(observed provenance, OP)(OP(L1,L2, t))

步骤E,计算OV sOPs符合相应VIsPIs分布的概率D。将所有这些D值聚合起来进行联合判断t是否为对抗样本。

在实验部分,作者对针对9个目标模型的11种不同类型的攻击方法进行了检测并与其他三种检测方法(DenoisersLIDFeature Squeezing)进行对比,实验结果表明我们的技术能够有效地检测到所有这些攻击(准确率超过90%),并且具有较低的假阳性。