深度学习的黑魔法防御术:恶意样本(Adversarial Example) 的防御策略综述

article/2025/5/13 3:01:53

随着深度学习(Deep Learning)研究的深入,相关应用已经在许多领域展现出惊人的表现。一方面,深度神经网络(DNN)的强大能力着实吸引着学术界和产业界的眼球。另外一方面,深度学习的安全问题也开始引起广泛地关注。对于一个给定的深度神经网络,经过训练,它可能在具体任务上(例如图像识别)表现出甚至超过人类的准确率。但是在原本能够被正确分类的图像中引入稍许(人眼不易察觉)扰动,神经网络模型就可能被误导,从而得出错误的分类结果。经过精心调整的能够误导神经网络模型的输入就被称为是恶意样本(Adversarial Example),或简称AE。在此前的文章中,我们已经以图像领域的应用为例介绍了如何产生AE的基本方法(本文将不再赘述这部分内容)。AE对于神经网络的威胁是相当致命的,尤其在某些重要的应用领域,例如自动驾驶、医疗诊断等,恶意篡改的输入很有可能导致不堪设想的后果。因此,如何抵抗或者防御AE的攻击也已经成为学术界和产业界关注的热点。如果把AE攻击比作哈利波特魔法世界里的黑魔法,那么抵抗或者防御AE攻击的方法,无疑就是魔法学校的必修课——黑魔法防御术。

图1-1 在引入人眼不可见的扰动后,本来是cat的图片将被错误的识别成狗(吉娃娃)

欢迎关注白马负金羁的博客 http://blog.csdn.net/baimafujinji,鉴于目前网上盗贴、洗稿等现象严重,为保证公式、图表得以正确显示,强烈建议你从该地址上查看原版博文。本博客主要关注方向包括:数字图像处理、算法设计与分析、数据结构、机器学习、数据挖掘、统计分析方法、自然语言处理。

 

一、关于AE的定义、分类:基本回顾

对于一个已经训练好的深度神经网络f,令\mathbf{x}表示(未经篡改的)原始输入,一个恶意样本\mathbf{x}^{adv}是由\mathbf{x}得到的,可以使得f做出错误输出的、经过扰动的的输入。而且,为了隐匿这种恶意的扰动,\mathbf{x}^{adv}的生成相当于是求解下列带有限制的优化问题:

\min_{\mathbf{x}^{adv}}\left \| \mathbf{x}^{adv}-\mathbf{x} \right \|_{p}\\ s.t.\; \; y'=f(\mathbf{x}^{adv}), \; y=f(\mathbf{x}), \; and \; y\neq y'

其中,yy'分别表示将\mathbf{x}\mathbf{x}^{adv}输入到f后所得之预测结果。

为了评估恶意扰动的程度,\mathit{L}_p范数常被用来定量描述\mathbf{x}\mathbf{x}^{adv}之间的差异。由此,根据上述公式中p取值的不同,主流的AE生成算法常被分成三类:

  • \mathit{L}_0攻击:AE生成过程中,在保证DNN被成功误导的同时,力求改变尽量少的像素数点数;
  • \mathit{L}_2攻击:AE生成过程中,在保证DNN被成功误导的同时,力求使得\mathbf{x}\mathbf{x}^{adv}之间的欧几里得距离最小;
  • \mathit{L}_\infty攻击:AE生成过程中,在保证DNN被成功误导的同时,力求使得变动最大的像素所改变的幅度最小(即min(max(所有改动的幅度)))。

注意,AE攻击广泛存在于图像、视频、声音、甚至文本等多个应用场景中,本文将仅限于讨论图像领域的AE攻击。

\mathit{L}_\infty攻击是最早被引入的攻击,典型的\mathit{L}_\infty攻击包括FGSM、IGSM、以及CW-L_\infty等。事实上,\mathit{L}_\infty的生成效率较高(计算较快),成功率略差,而且生成图像中会引入类似高斯噪声一样的扰动(特别是为了保证较高的成功率,这种扰动可能较为明显);

\mathit{L}_2攻击典型代表包括DeepFool和CW-L_2等。通常,\mathit{L}_2攻击所引入的扰动更加细腻和轻微(人眼很难察觉),因此也最常被adpative attacker用来发动‘自适应式攻击’(或称白盒攻击),这一点我们后续还会讨论。相应的,\mathit{L}_2攻击需要更高的计算量(也即效率较低)。但有研究【1】已经指出\mathit{L}_2攻击所生成的AE,各个篡改点之间的“完整性”对于发挥恶意目的至关重要,一些简单的可以破坏其“完整性”的防御策略(例如【1】中的Erase-and-Restore)即可有较大成功率抵御这种攻击。

\mathit{L}_0攻击(典型代表包括JSMAl和CW-L_0等)只会限定篡改的像素数量,而不会限定修改的幅度(这一点很多文献【2】【3】中都有强调):

"Such attack techniques limit the number of alteredpixels, but not the amplitude of pixels. ... the obtained adversarial example maypresent easy-to-notice distortions. "【2】

"... the second type of adversarialexamples are allowed to change only a few input coordinates, but each one ofthem can change a lot. "【3】

事实上,正如文献【4】中所指出的,如果一味追求修改数量尽可能少的像素点,那么放松修改幅度的要求就是不得不做出的妥协。而这恰恰是\mathit{L}_0攻击的一个弱点,文献【4】于是据此提出了一种有效的防御策略。尽管\mathit{L}_0攻击引入的扰动有时容易被人眼察觉,但这种攻击仍然是现实中最应被重视的一种攻击类型,此前的文献中【2】【5】也反复强调这一点,并给出了如下一些解释:

“it can still be exploited to launch an effective attack when the human interaction is not in con-sideration. ”【2】

“physical obstructions in images or malicious splicing of audio or video files are realistic threats that can be modeled as L0 noise, whereas L2 attacks may be more difficult to carry out in the physical world.”【5】

尤其根据【5】的观点,可知\mathit{L}_0攻击是发动physical attack时所最被需要的一种手段,因此关于\mathit{L}_0攻击(及其防御)的讨论是一个非常值得探讨方向。事实上,我们已经看到诸多专门讨论\mathit{L}_0攻击防御方法的论文,例如【4】【5】等。(当然,既然有专门研究某一类攻击防御的论文,自然也有一些考虑部分类型的论文,例如【2】中就仅考虑\mathit{L}_2\mathit{L}_\infty,还一些文章则通盘考虑所有类型的攻击,例如【6】中就讨论了\mathit{L}_0\mathit{L}_2\mathit{L}_\infty三种类型的攻击)

此外,关于\mathit{L}_0攻击的其他一些研究也开始专注讨论如何在“修改数量尽可能少的像素点”和“使得篡改更加不易被发现”二者之间做权衡,例如【7】【8】等。

 

二、实践中恶意样本防御的策略设计思路

面对来势汹汹的AE威胁,实践中如果要设计防御策略来对抗AE攻击,我们可以从哪些方向来考虑呢?从分类学上来看,可以将方法分成两类:defense和detect。注意这里的defense做狭义上的理解(我们之前笼统地将防御广义上应该包括detect,这里我们将defense和detect分开来看),它指的是想办法让DNN面对恶意输入时,仍然可以输出正确的结果。而detect的意思,就是面对一个输入,我们设法判断其是否为恶意的,从而使得DNN免受AE的侵扰。

2.1 Defense

此时,方法又可以继续分成两类。一类是设法增强DNN自身对抗AE的能力。例如,【9】【10】中设计了基于adversarial training的方法;【11】中提出了防御性蒸馏的方法;【12】中提出了用温度计编码法来辅助adversarial training;【13】中提出用多级JPEG压缩图像来重新训练模型从而提升模型防御能力的方法。

另外一种方法则直接作用于输入的图像(因此,可以使得已经训练好的模型免受重新训练之类的困扰),它们被称为Input transformation 或者 Pre-processing 。在这类方法中,人们设想AE中添加的扰动类似于一种“刻意的噪声”,于是纷纷设想从传统的、丰富的去噪方法中搜索解决方案。例如:

  • 【14】【15】中提出基于小波变换的方法作为一种防御;
  • 【16】【17】中提出基于JPEG压缩/去噪的方法作为一种防御;
  • 【18】提出基于Autoencoders的方法作为一种防御;
  • 【19】提出基于PCA的方法作为一种防御;
  • 【20】中提出采用中值滤波作为一种防御;
  • 最后,【4】中提出采用改进的Inpainting方法作为一种防御;【5】中提出使用基于傅里叶变换的方法来作为一种防御;二者都之针对\mathit{L}_0攻击进行讨论。

2.2 Detect

关于AE检测这方面的文章也有不少,而且其中很多还杂糅地使用了很多Input transformation的方法来作为预处理。由于AE变换前后的得到的DNN预测结果会有差异,所以这类文章往往会以此为特征训练分类器来进行AE检测。例如:

  • 【1】使用Erase-and-Restore方法来对图像进行预处理,进而实现AE检测;
  • 【21】使用图像旋转来作为预处理器;
  • 【22】使用Autoencoders来作为预处理器;
  • 【23】使用PCA来作为预处理器;
  • 【6】综合使用中值滤波、bit-depth reduction等多种方法作为预处理器;
  • 【2】中提出根据“熵”的大小来对不同图像选择不同的预处理器。

 

三、矛盾之争

上述这些defense和detect的方法真能保全DNN万无一失吗?事实上,攻击与防御的矛盾之争从未停歇。正所谓“道高一尺,魔高一丈”!研究人员通过升级攻击方法,揭示在现实中部署DNN仍然面临诸多威胁及不确定性因素。例如,【24】中即提出了一种可以令防御性蒸馏(【11】)失效的攻击方法。在更多针对Detection的研究中,一种更厉害的攻击被称为Adaptive attack(或称白盒攻击)。此时,我们假设存在一个恶意攻击者,他不仅知道我们要保护的DNN的所有信息,更对已经部署的保护策略了如指掌。在这种情况下,很多保护措施都被证明不再起效。例如:

  • 【25】中升级的Adaptive attack成功攻破了【22】中提出的保护措施;
  • 【26】中给出的Adaptive attack成功攻破了【6】中提出的保护措施;
  • 【27】中作者更是一次性攻破了十种AE检测方案。

但是,【1】中的方法被证明可以抵御【26】中的Adaptive attack;【24】中的方法则被证明可以抵御【27】中的Adaptive attack ... ... 由此可见攻击与防御的矛盾之争还将继续上演。

 


参考文献

【01】Exploiting the Sensitivity of L2 Adversarial Examples to Erase-and-Restore. ASIACCS, 2021.

【02】Detecting adversarial image examples in deep neural networks with adaptive noise reduction.TDSC, 2018.

【03】A simple explanation for the existence of adversarial examples with small Hamming distance. Arxiv, 2019.

【04】Exploiting the Inherent Limitation of L0 Adversarial Examples. RAID, 2019.

【05】Thwarting adversarial examples: An L0-robust sparse Fourier transform. NeurIPS, 2018

【06】Feature Squeezing: Detecting Adversarial Examples in Deep Neural Networks. NDSS, 2018

【07】SparseFool: a few pixels make a big difference. CVPR, 2019

【08】Sparse and Imperceivable Adversarial Attacks. ICCV, 2019

【09】Towards deep learning models resistant to adversarial attacks. ICLR, 2018

【10】Improving the robustness of deep neural networks via stability training. CVPR, 2016

【11】Distillation as a Defense to Adversarial Perturbations against Deep Neural Networks. SP, 2016

【12】Thermometer encoding: One hot way to resist adversarial example. ICLR, 2018

【13】Shield: Fast, practical defense and vaccination for deep learning using JPEG compression. KDD, 2018

【14】Deflecting adversarial attacks with pixel deflection. CVPR, 2018

【15】CIIDefence: Defeating Adversarial Attacks by Fusing Class-Specific Image Inpainting and Image Denoising. ICCV, 2019

【16】Countering adversarial images using input transformations. ICLR, 2018

【17】Protecting JPEG images against adversarial attacks. DCC, 2018

【18】REMIX: Mitigating Adversarial Perturbation by Reforming, Masking and Inpainting. SP Poster, 2018

【19】Enhancing Robustness of Machine Learning Systems via Data Transformations. Arxiv, 2017

【20】No Bot Expects the DeepCAPTCHA! Introducing Immutable Adversarial Examples with Applications to CAPTCHA. TIFS, 2017

【21】Detecting Adversarial Examples through Image Transformation. AAAI, 2018

【22】MagNet: a two-pronged defense against adversarial examples. CCS, 2017

【23】Adversarial examples detection in deep networks with convolutional filter statistics. ICCV, 2017

【24】Towards evaluating the robustness of neural networks. SP, 2017

【25】Magnet and “efficient defenses against adversarial attacks" are not robust to adversarial examples. Arxiv, 2017

【26】Adversarial example defenses: Ensembles of weak defenses are not strong. WOOT, 2017

【27】Adversarial examples are not easily detected: Bypassing ten detection methods. AIS, 2017

 

 

 

文章来源:https://blog.csdn.net/baimafujinji/article/details/50413685
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://chatgpt.dhexx.cn/article/Qlunt1at.shtml

相关文章

CC攻击原理以及如何防御策略

CC攻击原理以及如何防御策略 CC 攻击是一种 DDoS(分布式拒绝服务),它似乎比其他 DDoS 攻击更具技术性。在这种攻击中,看不到假IP,看不到特别大的异常流量,但会导致服务器无法正常连接。 很多创业公司辛辛苦…

服务器安全:浏览器同源策略与跨域请求、XSS攻击原理及防御策略、如何防御CSRF攻击

主要包括 浏览器同源策略与跨域请求XSS攻击原理及防御策略如何使用SpringSecurity防御CSRF攻击CC/DDOS攻击与流量攻击什么是SSL TLS HTTPS? 一、浏览器的同源策略 请求方式:HTTP,HTTPS,Socket等 HTTP请求特点:无状…

常见Web安全问题及防御策略

1、安全世界观 安全世界观一词是《白帽子讲Web安全》一书的开篇章节,多年后再读经典,仍然受益匪浅! 正如开篇所说的:“互联网本来是安全的,自从有了研究安全的人,互联网就不安全了。” 世上没有攻不破的系统&#xff0…

基于联邦学习中毒攻击的防御策略

文章目录 联邦学习简介FL(federal learning)和模型中毒攻击的背景针对模型中毒攻击的防御策略局部模型更新的评估方法基于光谱异常检测的方法( Spectral Anomaly Detection Based Method)基于真理推理的评估方法基于熵的滤波方法基于余弦相似…

DDos攻击防御策略

DDOS攻击防御策略 DDOS(DDOS:Distributed Denial of Service) 分布式拒绝服务攻击. 在信息安全三要素里面—保密性,完整性,可用性,中DDOS(分布式拒绝服务攻击),针对的是目标机器的可用性,这种攻击方式是利用目标系统网络系统功能的的欠缺或者直接消耗其资源,是目标机器木法正常…

网络安全威胁与防御策略

第一章:引言 随着数字化时代的快速发展,网络已经成为人们生活和工作中不可或缺的一部分。然而,网络的广泛应用也引发了一系列严峻的网络安全威胁。恶意软件、网络攻击、数据泄露等问题层出不穷,给个人和企业带来了巨大的风险。本文…

安全文章研读:深度学习对抗攻击防御策略的一些实现

本文整理自哈尔滨工业大学硕士论文:深度学习对抗攻击防御策略的研究与实现 0x01 太长不看 深度学习在表现优异的同时,还存在易受攻击的缺陷。多数防御策略只能应对特定的攻击方法,普适性比较低,另外这些防御策略多为全局过滤扰动…

过拟合与欠拟合的生动理解

文章目录 1、过拟合2、欠拟合3、图像表现4、解决办法 1、过拟合 过拟合(OverFititing):太过贴近于训练数据的特征了,在对应训练集上表现非常优秀,近乎完美的预测/区分了所有的数据,但是在新的测试集上却表…

模型的过拟合与欠拟合

样本数据集:样本数据集总是表现为数据的内在规律(如:yf(x))与随机噪声共同作用的结果。 训练集:训练集是用于训练模型的样本数据集合。我们总是希望通过训练集,找到真实数据的内在规律,同时又希…

如何解决过拟合与欠拟合

如何解决过拟合与欠拟合 根据不同的坐标方式,欠拟合与过拟合图解不同。 1.横轴为训练样本数量,纵轴为误差 如上图所示,我们可以直观看出欠拟合和过拟合的区别: ​ 模型欠拟合:在训练集以及测试集上同时具有较高的误…

机器学习中的过拟合与欠拟合

目录 一、什么是过拟合与欠拟合二、原因及解决方法三、正则化类别四、拓展—原理 问题:训练数据训练的很好啊,误差也不大,为什么在测试集上面有 问题呢? 当算法在某个数据集当中出现这种情况,可能就出现了过拟合现象。…

机器学习之过拟合与欠拟合

1 机器学习中的误差 一般地,将学习器(机器学习模型)的实际预测输出与样本的真实输出之间的差异称为“误差”(error)。 统计学习的目的是使学到的模型不仅对已知数据而且对未知数据都能有很好的预测能力。不同的学习方法会给出不同的模型。当损失函数给定时&…

机器学习过拟合与欠拟合!

↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:胡联粤、张桐,Datawhale面经小组 Q1 如何理解高方差与低偏差? 模型的预测误差可以分解为三个部分: 偏差(bias), 方差(variance)…

机器学习:过拟合与欠拟合问题

本文首发于 AI柠檬博客,原文链接:机器学习:过拟合与欠拟合问题 | AI柠檬 过拟合(overfitting)与欠拟合(underfitting)是统计学中的一组现象。过拟合是在统计模型中,由于使用的参数过…

机器学习知识总结 —— 6. 什么是过拟合和欠拟合

文章目录 过拟合欠拟合泛化能力避免过拟合的一般方法从数据集上规避从训练模型上规避从训练过程上规避 作为从「统计学(Statistics)」跟「计算机科学(Computer Science)」交叉而诞生的新学科「机器学习(Machine Learni…

VGG16网络结构要点

学习BCNN的过程时遇到,VGG16的网络结构如下图示意: 13个卷积层(Convolutional Layer),分别用conv3-XXX表示3个全连接层(Fully connected Layer),分别用FC-XXXX表示5个池化层(Pool …

VGG-16网络结构解析

VGG,也叫做VGG-16网络。这个网络结构很有意思,相必实现这个网络的作者是有点强迫症,不然整个网络为什么能够如此的协调一致。基本上每一次的内容都大同小异,2层或3层卷积层,激活一下,池化一下,就…

VGGNet网络结构

深度神经网络一般由卷积部分和全连接部分构成。卷积部分一般包含卷积(可以有多个不同尺寸的核级联组成)、池化、Dropout等,其中Dropout层必须放在池化之后。全连接部分一般最多包含2到3个全连接,最后通过Softmax得到分类结果&…

VggNet网络结构详解

VggNet网络结构详解 #图像识别网络结构详解 一、概述 VGG在2014年由牛津大学著名研究组VGG (Visual Geometry Group) 提出,斩获该年ImageNet竞赛中 Localization Task (定位任务) 第一名 和 Classification Task (分类任务) 第二名。 二、网络详解 VGG16相比Al…

VGG11、VGG13、VGG16、VGG19网络结构图

VGG11、VGG13、VGG16、VGG19网络结构图 前言 前言 VGG网络采用重复堆叠的小卷积核替代大卷积核,在保证具有相同感受野的条件下,提升了网络的深度,从而提升网络特征提取的能力。 可以把VGG网络看成是数个vgg_block的堆叠,每个vgg_…