A Tale of Evil Twins: Adversarial Inputs versus Poisoned Models

Abstract:

其中对对抗样本的定义是会欺骗DNN模型;对poisoned model的定义是会在预定义的input上misbehave的被恶意修改过的模型
关于他们基础连接的基础还缺乏理解:这两个攻击向量之间的动态交互是什么?这种交互对优化已存在攻击的影响是什么?对抗加强后的攻击的可能的防御措施有什么?回答这些问题对于我们评估和缓解在实际应用中被部署的DNN面临的全方面漏洞有重要意义。

我们在一个统一的框架下对这两种攻击向量进行了系统性的研究。首先,我们开发了一个新的攻击框架会联合优化对抗输入和毒化模型;通过分析和经验证据,我们发现这里存在了内在的互相加强的效应–利用一个向量可以显著加强另一个向量的有效性;我们描述了这种效应可以为攻击者提供更大的设计蓝图在面对各种检测措施时来加强利用这两种向量的攻击(比如后门攻击);最后,我们讨论了对于这种优化后的攻击的潜在的防御措施以及存在的技术挑战,指出了未来的一些研究方向。

1 Introduction

由于深度学习还是容易收到攻击,所以在一些对安全很关键的领域阻碍了其应用,包括自动驾驶、视频监控、网页内容过滤、生物识别。
两种向量的目标是一样的:都是让DNN对pre-defined input误分类,不过是通过不同的途径,一个是扰动input,一个是修改的Model.后门攻击就同时利用了这两种向量

总的来说,我们要回答这四个研究问题

Our Work
RA1-通过联合优化对抗输入和毒化模型,我们发展出了新的攻击模型。通过这个框架,我们看到在两个攻击向量间存在duality对偶关系。更具体地说,他们代表实现同个目标的两个不同路径,一个是以保真度fidelity为代表扰动input(不论攻击者是否要维持original input的感知上的质量),而另一个是以特定性specifity为代表修改DNN(不论攻击是否会影响不是攻击目标的input(non-targetd input))
RA2-同个在benchmark datasets和安全应用上的研究,我们发现两个攻击攻击向量的交互存在内在的mutual-reinforcement互相加强的效果:当利用一个攻击向量时会显著增强另一个的有效性(总体大于部分之和)。我们也在一个简化的设置下提供了分析理由。
RA3-这种相互强化效用会帮助攻击者更好优化攻击。
RA4-为了有效应对这种优化后的攻击,有必要从多个互补的角度来调查(比如fidelity和specificity),并仔细考虑在应用缓解措施时的互相强化效用。

2 Preliminaries

2.3 Threat model

后门攻击要优化的目标函数是

在已有的后门攻击中,上式经常以一种特别的形式被解出,使得生成的trigger或者poisoned model是次最优的。比如TrojanNN就预定义了trigger的形状并在预定义阶段决定了其像素值。事实上,这些已有的攻击手段都可以通过严格的优化框架被显著改善。

3 A Unified attack framework

3.1 Attack Objectives

我们使用Input model co-optimization(IMC)这个统一的攻击框架下研究这两个攻击向量。我们将三个等式集成

这里不同的项定义了攻击者多样的需要。
损失函数l量化了model prediction和攻击者想要的classification的差异,这代表了攻击的efficacy
约束f限制了对input的扰动的影响,这代表了攻击的fidelity
约束F限制了模型扰动对non-target input的影响,这代表了攻击的specificoty

这种形式化方案将论文中提到的很多攻击都囊括进来了。注意,在我们的形式化中不会对攻击者的capacity或者resource做任何假设(比如是否可以接触到训练过程或者数据),这仅是从攻击者的目标出发进行定义的。
我们发现:
同时实现这三个目标是不可能的。要实现攻击的efficacy(发动成功的攻击),要么扰动input(带包是损失fidelity),要么修改model(代价是损失speficity)
同时实现三个中的两个是可行的。比如只对模型进行扰动,就可以保证attack efficacy和fidelity
一个目标被固定后,可能可以平衡另外两个。比如说,通过固定attack efficacy,可以在attack fidelity和specificity之间取得trade-off

3.2 Attack Implementation

尽管由于4式非凸、非线性,对其精确求解是不实际的,我们可以对其进行改写来优化。为了简单起见,我们假设是单目标攻击,多目标也是同理的。
4式可以改写为

这也不方便直接求解,可以近似用下列双优化问题

3.2.2 Optimization

我们在更新input x和更新model 之间交替来优化上式,如下所示

Input perturbation:在这一步中,固定model。通过优化下式来更新扰动

这一步可以用现成的优化器比如Adam来优化或者在目标函数上应用梯度下降来部分解决掉。在我们的方案中,我们使用projected gradient descent(PGD)作为更新操作

Model Perturbation:这一步中,固定input
通过优化下式寻找模型扰动

实际上,这一步可以通过在混合了original training dataset和当前adversarial input的m份copy的训练集上进行重训练来近似。

上面就是整个算法的大概。

3.2.3 Analysis

式5是对式4的有效等效。
Proposition1

4 Mutual reinforcement effects

通过实验,我们发现在两个攻击向量之间存在互相强化的影响:1.杠杆效应,在固定attack efficacy时,一个指标的轻微损失(fideLity或者specificity)就会不成比例地提升另一个指标;2.强化效应,在一个指标固定时,在其他是最小损失时,这个指标可以极大提升attack efficacy

4.1 Study Setting

Efficacy,Fidelity,Specificity的三个指标的衡量如下

4.2 Effect1 :Leverage Effect

在固定attack efficacy时,在fidelity的很小的损失时,可以很大地提升attack specificity。反之亦然。

4.3 Effect2:Amplication Effect

我们发现两个攻击向量可以互相强化,达到任一向量单独使用时达不到的attack efficacy

5 IMC-optimized attacks

5.1 Attack Optimization

5.1.1 Basic Attack

以TrojanNN作为基础
在其中,trigger的优化和模型的重训练是单独执行的。所以很有可能,在模型重训练后,由trigger pattern激活的神经元可能会和原来选中的神经元有偏差,使得trigger pattern或者poisoned mode是次优的。

5.1.2 Enhanced Attacks

我们使用IMC框架来强化TrojanNN。我们在attack effectiveness和evasiveness方面同时考虑进优化。
改写5式如下

上式的大致过程如下

5.2 Optimization against Human Vision

这部分的规避性可以通过trigge pattern的size和transparency(或者opacity)量化。

上图展示了TrojanNN*在不同规避约束下的攻击效果(嵌入trigger的input的平均误分类置信度)
从图中可以看到,efficacy显著上升。另外可以看到 ,1.在固定efficacy时,轻微增加size,就可以显著减少opacity,反之亦然;2.固定opacity时,轻微增加size,可以显著提升efficacy

从上图可以看到,相比于TrojanNN,TrojanNN*明显增加了trigger透明度(在固定size时),或者减少了trigger size(在固定opacity时)

从上图结果可以看到,在所有数据集上,TrojanNN都比TrojanNN表现的更好不论是在给定trigger size还是opacity情况下。
结果表面,在不影响攻击有效性的情况下,利用co-optimization framework做出的TrojanNN
是更优的

5.3 Optimization against Detection Methods

5.3.1Backdoor Detection

5.3.2 Attack Optimization

根据NeuralCleanse和STRIP的特点对TrojanNN*进行优化。

5.3.3 Detection Evasiveness

从下图可以看到,两个检测器对于TrojanNN都相当有效。TrojanNN*有更高的规避性。

5.4 Potential Countermeasures

使用单独的防御对抗样本或者毒化模型的方式应对IMC-optimized attack通常是不足够的。可能的防御措施是基于输入异常和模型异常的进行集成的检测。
我们比较了basic和ensemble STRIP面对TrojanNN*的防御。如下所示,可以看到,ensemble detector表现的更好

6 Related Work

Adversarial Inputs:
已有的攻击可以被分为两类:无定向(攻击者只让模型误分类)和定向(迫使input被分类到特定class)。
目前的防御措施都会被绕过,攻防一定在博弈、演进。
Poisoned Models
在这种攻击中,input是没有被修改的,模型是被修改过的,攻击者的目标是可以让non-modified input被poisoned model误分类。和投毒攻击相比,后门攻击同时利用了对抗输入和毒化模型。
防御措施主要还是针对后门攻击做的,可以分为3类:1.在训练阶段清理掉被污染的数据;2.在模型检查阶段识别可疑的模型;3.在推理阶段检测嵌入trigger的input
尽管关于adversarial input和poisoned model的研究在同时开展,但是缺乏关于两者内在关系的研究。我们的工作就着眼于此。

7 Conclusion

我们只是研究了定向、白盒攻击,其他前提下的攻击可以进一步去研究。第二,在Input-model联合优化的框架下加强其他类型的威胁值得被进一步研究。最后,为这两个向量发明一个统一的鲁棒性指标可能会作为开发有效防御措施的一个有希望的起点。

<A Tale of Evil Twins: Adversarial Inputs versus Poisoned Models>阅读笔记相关推荐

  1. trainer setup_Detectron2源码阅读笔记-(一)Configamp;Trainer

    一.代码结构概览 1.核心部分 configs:储存各种网络的yaml配置文件 datasets:存放数据集的地方 detectron2:运行代码的核心组件 tools:提供了运行代码的入口以及一切可 ...

  2. VoxelNet阅读笔记

    作者:Tom Hardy Date:2020-02-11 来源:VoxelNet阅读笔记

  3. Transformers包tokenizer.encode()方法源码阅读笔记

    Transformers包tokenizer.encode()方法源码阅读笔记_天才小呵呵的博客-CSDN博客_tokenizer.encode

  4. 源码阅读笔记 BiLSTM+CRF做NER任务 流程图

    源码阅读笔记 BiLSTM+CRF做NER任务(二) 源码地址:https://github.com/ZhixiuYe/NER-pytorch 本篇正式进入源码的阅读,按照流程顺序,一一解剖. 一.流 ...

  5. Mina源码阅读笔记(一)-整体解读

    2019独角兽企业重金招聘Python工程师标准>>> 今天的这一节,将从整体上对mina的源代码进行把握,网上已经有好多关于mina源码的阅读笔记,但好多都是列举了一下每个接口或者 ...

  6. “CoreCLR is now Open Source”阅读笔记

    英文原文:CoreCLR is now Open Source 阅读笔记如下: CoreCLR是.NET Core的执行引擎,功能包括GC(Garbage Collection), JIT(将CIL代 ...

  7. QCon 2015 阅读笔记 - 团队建设

    QCon 2015阅读笔记 QCon 2015 阅读笔记 - 移动开发最佳实践 QCon 2015 阅读笔记 - 团队建设 中西对话:团队管理的五项理论和实战 - 谢欣.董飞(今日头条,LinkedI ...

  8. 05《软件需求模式》阅读笔记

    剩下的两个阅读笔记写第二部分.各类需求模式,共八个领域和它的需求模式,这一次写前四个. 基础需求模式,它是所有种类的系统都可能需要的一些东西.系统间接口需求模式使用系统间接口需求模式定义被定义的系统和 ...

  9. [置顶] Linux协议栈代码阅读笔记(一)

    Linux协议栈代码阅读笔记(一) (基于linux-2.6.21.7) (一)用户态通过诸如下面的C库函数访问协议栈服务 int socket(int domain, int type, int p ...

  10. 大型网站技术架构:核心原理与案例分析阅读笔记二

    大型网站技术架构:核心原理与案例分析阅读笔记二 网站架构设计时可能会存在误区,其实不必一味追随大公司的解决方案,也不必为了技术而技术,要根据本公司的实际情况,制定适合本公司发展的网站架构设计,否则会变 ...

最新文章

  1. 塑料:泡两天澡我就消失了?酶降解塑料居然可以这么快 | Nature
  2. office365加速解决方案
  3. 用editplus批量修改文件编码最快速的方法
  4. matlab多径信道模型,基于matlab的无线多径信道建模与仿真分析
  5. 3617. 子矩形计数
  6. 《底层逻辑》--思维导图
  7. arm64动态链接库通过函数名获取函数偏移
  8. 染色产品常见疵病分析
  9. 【转载】C#, VB.NET如何将Excel转换为PDF
  10. java命名规则及规范
  11. 准确生成电信、联通、移动IP地址段
  12. jupyter中超好用的10个快捷键
  13. flask中for循环
  14. JQuery广告(新闻)浮动(漂浮)框
  15. Java实现IP库归属地查询
  16. IOS pickerView 使用
  17. 主机、web漏洞修复整理
  18. 【调剂】拟接收调剂——安徽工业大学冶金工程学院炼铁新技术研究所
  19. swagger页面不显示_Swagger字段属性说明不显示
  20. python获取子进程pid_使用python获取进程pid号的方法

热门文章

  1. Java中遍历Map集合的5种方式总结
  2. 国内三大制式3G网络简介及比较
  3. 码云联合实训邦推出高校软件工程视频实训课程
  4. 全连接网络和卷积神经网络对比分析
  5. 最小二乘,最大似然,最大后验,查准率与查全率
  6. [设计分析]3-1 v0.1 教学辅助——点名册外观详细设计
  7. java的对象存储在哪里?
  8. java rnn生成古诗_Char-RNN生成古诗
  9. Web 编程期中大作业
  10. 在CMD中登陆MySQL