【对抗攻击】【综述】Threat of Adversarial Attacks on Deep Learning in Computer Vision: A Survey

作者:Naveed Akhtar
and Ajmal Mian

2018年发表的一篇综述文章,现在很多最新的进展没有被包含在内,涵盖了最经典的一些对抗攻击与防御方法。但研究主要集中在CV方向,大多数都是图片分类问题。

一、关于对抗攻击的常用术语

Adversarial example/image: 对抗样本,被添加了恶意扰动的图片用来误导机器学习技术比如深度神经网络

Adversarial perturbation: 对抗扰动,干净样本+对抗扰动(噪声)->对抗样本

Adversarial training: 对抗训练,在训练样本中加入对抗样本作为扩充训练集来训练机器学习模型

Adversary:对抗样本产生者,有时对抗样本也被称为adversary

black-box attacks:黑盒攻击,不知道模型结构的情况下进行攻击。在某些情况下,假定对手对模型的了解有限(例如,它的训练过程和/或它的架构),但肯定不知道模型的参数。
semi-black-box attack:半黑盒攻击,使用了目标模型的任意信息

white-box attacks:白盒攻击,知道模型的全部信息

Detector:检测器,用来检测图像是否为对抗样本的方法

Fooling ratio/rate:图像被干扰后,预测标签被改变(模型被骗)的百分比

one-shot/one-step methods:经过一次计算就能得到对抗扰动(噪声r)的方法,如FGSM。与之相对的是迭代方法(计算多次),如PGD

Quasi-imperceptible:对抗扰动极其微小,让人也很难察觉出来

Rectifier:矫正器,修改对抗样本->干净样本

Targeted attacks:有目标攻击,欺骗模型使模型预测为特定标签。相对于un-targeted attacks,没有特定标签,只求模型预测错误

threat model:考虑潜在的攻击类型(如黑盒攻击)

transferability:可迁移性,指的是对抗样本在不同模型之间迁移仍有效

universal perturbation:全局对抗扰动。对任何图片+全局对抗扰动都能使模型出错

二、对抗攻击的12种攻击方法(针对分类网络)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

三、对抗攻击的15种防御方法

1.目前,在对抗攻击防御上存在三个主要方向:

1)在学习过程中修改训练过程或者修改的输入样本。

2)修改网络,比如:添加更多层/子网络、改变损失/激活函数等。

3)当分类未见过的样本时,用外部模型作为附加网络。

这些方法可以被进一步细分为两种类型:
(a)完全防御;(b)仅探测(detection only)。

「完全防御」方法的目标是让网络将对抗样本识别为正确的类别。

「仅探测」方法意味着在对抗样本上发出报警以拒绝任何进一步的处理。

1.1【修改训练过程或者修改的输入样本】

·
暴力对抗训练 :Brute-force adversarial training

在训练时不断加入新类型的对抗样本,从而提高网络的鲁棒性。

最直观的想法,效果也很好,可以正则化网络以减少过拟合。

缺点:需要模型有很强的表现力,并且训练时使用很强的攻击算法

·
数据压缩防御: Data compression as defense

JPG压缩后图像可以很大程度上防御FGSM的攻击,但仅采用压缩不能有效防御。

缺点:(有点矛盾)压缩大了会损失精度,压缩小了又防御性能又不好

·
基于中央凹机制的防御:Foveation based defense

对FGSM和L-BFGS比较有用,但对更强的攻击算法失效

·
数据随机化方法:Data randomization

随机调整对抗样本(不太好用,因为无法区分哪个是对抗样本,统一调整很容易降低干净样本的精度)

1.2【修改网络】

·
深度收缩网络:Deep Contractive Networks

使用Contractive Auto Encoders自编码器,对L-BGFS攻击比较有效,但在DCN提出之前,更强的攻击已经提出来了,他没比,估计是不行的。

·
梯度正则化:Gradient regularization/masking

Ross and Doshi-Velez提出,增加输入梯度的正则项来提高模型的鲁棒性。与对抗训练结合效果会更好,但缺点是会让模型的训练的复杂度翻倍。

Lyu 等人也通过惩罚损失函数的梯度来提高模型的鲁棒性

Nguyen and Sinha通过向网络的对数输出添加噪声来防御C&W攻击

·
防御蒸馏:Defensive distillation

用知识蒸馏的方法来防御对抗攻击。distillation指将复杂网络的知识迁移到简单网络上。

但防御蒸馏面对C&W几乎没有抵抗能力,防御蒸馏可以算是梯度遮蔽的方法之一

·
生物启发式防御:Biologically inspired protection

使用类似与生物大脑中非线性树突计算的高度非线性激活函数以防御对抗攻击

·
分析网络:Parseval Networks

利用保持每一层的 Lipschitz 常数来摆脱对抗样本的干扰。采用分层正则化的方法

·
DeepCloak

增加一个遮蔽层,这个遮蔽层用干净图像和对抗图像的前向传播进行训练。遮蔽层训练的目标是干净图像和对抗图像的特征差异。训练出来的遮蔽层中,占主导性的权重被认为是对抗样本最敏感的特征,因此分类时将这些权重强行置为0来防御对抗样本。

·
仅探测方法

SafetyNet

Detector subnetwork

Exploiting convolution filter statistics

Additional class augmentation

1.3【引入模型附加组件】

·
防御通用扰动 Defense against universal perturbations

利用一个单独训练的网络加在原来的模型上,从而达到不需要调整系数而且免疫对抗样本的方法。

·
基于 GAN 的防御 GAN-based defense

用GAN 为基础的网络可以抵抗对抗攻击,而且作者提出在所有模型上用相同的办法来做都可以抵抗对抗样本。

·
仅探测方法Detection Only approaches

Feature Squeezing 方法用了两个模型来探查是不是对抗样本。后续的工作介绍了这个方法对 C&W 攻击也有能接受的抵抗力。

MagNet:作者用一个分类器对图片的流行(manifold)测量值来训练,从而分辨出图片是不是带噪声的。

混杂方法(Miscellaneous Methods):作者训练了一个模型,把所有输入图片当成带噪声的,先学习怎么去平滑图片,之后再进行分类。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Introduction: The use of sandbox technology has gained widespread popularity in recent years, especially in the field of cybersecurity engineering. Sandboxing is a technique that provides a secure and isolated environment for executing unknown or suspicious programs, files or code, without affecting the host system. This technology is used to test the behavior of malicious software, analyze the source code, and evaluate the potential risks and vulnerabilities. In this thesis, we will explore the application of sandbox technology in cybersecurity engineering, its benefits, limitations, and future prospects. Chapter 1: Overview of Sandbox Technology This chapter will provide an overview of sandbox technology, including its definition, history, and evolution. The chapter will also cover the different types of sandboxing techniques, such as software-based, hardware-based, and hybrid sandboxes. Additionally, the chapter will discuss the benefits of using sandbox technology in cybersecurity engineering, including improved threat detection, faster incident response, and reduced risk of data loss or theft. Chapter 2: Sandbox Technology in Malware Analysis This chapter will focus on the application of sandbox technology in malware analysis. Malware is one of the most significant threats to cybersecurity, and sandbox technology provides an effective way to analyze the behavior of malware in a safe and controlled environment. The chapter will explain the process of analyzing malware using sandbox technology, including the collection of samples, the configuration of the sandbox environment, and the interpretation of the results. The chapter will also discuss the limitations of sandbox technology in malware analysis, such as the inability to detect advanced persistent threats (APTs) and the limitations of static analysis. Chapter 3: Sandbox Technology in Vulnerability Testing This chapter will examine the use of sandbox technology in vulnerability testing. Vulnerability testing is the process of identifying vulnerabilities in a system or application that could be exploited by attackers. Sandboxing provides a secure and controlled environment for testing the impact of vulnerabilities and assessing the effectiveness of remediation efforts. The chapter will discuss the different types of vulnerability testing, such as static analysis, dynamic analysis, and fuzz testing. The chapter will also cover the benefits and limitations of using sandbox technology in vulnerability testing. Chapter 4: Sandbox Technology in Incident Response This chapter will explore the application of sandbox technology in incident response. Incident response is the process of detecting, analyzing, and responding to cybersecurity incidents. Sandboxing provides a fast and efficient way to analyze suspicious files or code and determine if they are malicious. The chapter will explain the process of using sandbox technology in incident response, including sample collection, sandbox configuration, and result interpretation. The chapter will also discuss the benefits and limitations of using sandbox technology in incident response. Chapter 5: Future Prospects of Sandbox Technology in Cybersecurity Engineering This chapter will examine the future prospects of sandbox technology in cybersecurity engineering. Sandboxing is an evolving technology, and its application in cybersecurity engineering is likely to expand in the future. The chapter will discuss the emerging trends and technologies in sandboxing, such as virtualization, cloud-based sandboxes, and containerization. The chapter will also cover the challenges and limitations of sandbox technology, such as the increasing sophistication of malware and the limitations of static analysis. Conclusion: Sandbox technology is a powerful tool for cybersecurity engineering, providing a secure and isolated environment for analyzing suspicious files or code. The technology is widely used in malware analysis, vulnerability testing, and incident response. Although sandbox technology has some limitations, such as the inability to detect advanced persistent threats (APTs), it remains an essential tool in the cybersecurity arsenal. As sandbox technology continues to evolve, its application in cybersecurity engineering is likely to expand, providing new opportunities and challenges for cybersecurity professionals.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值