[建站智能系统]深入学习的逃脱攻击:探索人工智能系统安全盲区

作者:安尼      发布时间:2021-04-25      浏览量:0
姓名:朱晓宇学号:1518011【嵌牛导

姓名:朱晓宇学号:1518011

【嵌牛导游】:逃脱攻击是将零点零一的误判率变成100%的攻击成功率。深度学习系统通过训练可以对正常输入达到较低的误判率,但攻击者通过系统化方法生成误判样本时,攻击效率接近100%,可以实现稳定的逃避攻击。

【嵌牛问题】:逃跑攻击是什么?逃脱攻击的攻击方式是什么?

【嵌牛鼻】:深入学习逃脱攻击

逃脱攻击介绍

逃脱是指攻击者在不改变目标机械学习系统的情况下,通过结构特定输入样目标系统的攻击。例如,攻击者可以修改恶意软件样本的非重要特征,将其判定为反病毒系统的良性样本,绕过检查。攻击者为了实施逃脱攻击而特意构造的样品通常被称为对抗样品。只要一个机器学习模式没有完美地学习判别规则,攻击者就有可能结构对抗样本来欺骗机器学习系统。例如,研究人员一直试图在计算机上模仿人类的视觉功能,但由于人类的视觉机理太复杂,两个系统在判别物体时依赖的规则存在一定差异。对抗图像正好利用这些差异,机械学习模型得出与人类视觉完全不同的结果,如图1所示[1]。

图1:攻击者生成对抗样本使系统与人类有不同的判断

着名的逃脱样本是Ian

Goodfellow[2]2015年ICLR会议上使用的熊猫和长臂猿分类的例子。被攻击的目标是来谷歌的深入学习研究系统。该系统可以利用卷积神经元网络正确区分熊猫和长臂猿等照片。但是,攻击者可以给熊猫的照片添加少量的干扰,生成的照片对人来说可以明确判断为熊猫,但是深刻的学习系统误认为长臂猿。图2显示了熊猫的原图和被打扰生成的照片。

以下从攻击者的角度介绍如何系统生成对抗样定的逃避攻击。不关心技术细节的读者可以忽略这些内容,直接跳到文章结尾的总结部分。

2、根据机器学习的对抗样本生成

根据机器学习的逃脱攻击分为白盒攻击和黑盒攻击。白盒攻击需要获取机器学习模型内部的所有信息,然后直接计算并获得对抗样本;黑盒攻击只需要知道模型的输入和输出,通过观察模型输出的变化来生成对抗样本。

2.1?????????????????????????????????????、????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????假设神经网输入为X,类目标签为Y,网络参数为W,输出为F(X)=W*X。训练神经网时,对于确定的输入样本x,重复调整网络参数w,使输出值F(X)倾向于该样本的类别标签y。白盒攻击使用相同的方法,区别只是我们固定网络参数w,反复修改输入样本x,输出值F(X)向攻击目标Y倾斜。这意味着我们只需修改目标函数和制约条件,就可以用与训练神经网络相同的方法计算并获得对抗性样本[3]。

白盒攻击的约束条件是重要部分。从x开始解决x,在使F(X)=Y的过程中,必须保证X的标签不是Y。例如,对于手写体输入1,如果改为2,模型判别为2,则不是攻击。在计算机视觉领域,我们不太可能使用人力判断攻击方法生成的所有样品x,因此引进了距离函数△(x、x)。假设我们在一定的距离内,x’的意思和标签与x一致。距离函数可以选择L2、LL、L0等不同的Norm。

L-BFGS是第一种攻击深度学习模型的方法,使用L2-Norm限制x的范围,使用最佳化的方法L-BFGS计算获得x。后来,基于模型的线性假设,研究人员提出了一些新的方法,如Fast、Gradient和SignMethod(FGSM)[2]、DeeepFool[4]。以△(x、x)为目标,目前最先进的方法是Carlini-Wagner,分别优化了各种距离函数。

2.2黑盒攻击

黑盒攻击只取决于机器学习模型的输出,不需要了解模型内部的结构和状态。遗传(进化)算法是一种有效的黑盒攻击方法。

遗传算法是在计算机上模仿达尔文生物进化论的最佳解决方法。它主要分为两个过程:首先通过基因突变或杂交获得下一代变种,然后通过优胜劣化选择优势变种。这个过程可以周而复始,一代一代进化,最终得到我们需要的样本。

将遗传算法用于黑盒逃脱攻击时,我们利用模型的输出给每个变种评分,F(X)越接近目标标签Y得分越高,留下高分变种继续演化,最终得到F(X)=Y。该方法已成功用于欺骗基于机器学习的计算机视觉模型和恶意软件检测器。

3....................。

3.1、对GmailPDF过滤的逃脱攻击

Classifiers的论文[5]。研究工作采用遗传编程(GeneticPrograming)随机修改恶意软件的方法,成功攻击了两个称为精度极高的恶意PDF文件分类器。

和Hidost。这些逃跑检查的恶意文件都是算法自动修改的,不需要PDF安全专家介入。图3显示了对抗样本生成的基本流程。

图3:利用进化算法生成恶意PDF对抗变种

同样的算法,可以用于实际应用的机械学习系统的逃脱攻击。上述工作可攻击Gmail嵌入的恶意软件分类器,只需修改4行代码即可达到恶意PDF样本约50%的逃脱率,10亿Gmail用户受到影响。

3.2利用Fuzzing测试的对抗样本生成

除了分析模型和算法的弱点外,黑盒攻击还可以参考模糊测试的方法来实现对抗样本的生成。以手写数字图像识别为例,我们的目标是制作对抗图像,看起来像1,人工智能系统被识别为2。我们的主要思路是将这样的对抗样本产生的问题转换为漏洞挖掘的问题,如下图4所示。

图4:对于手写数字图像识别的对抗样本生成

我们主要利用灰盒fuzzing测试的方法实现,首先将数字1的图像作为种子,通过变异种子的图像,机械学习系统将变异的图像识别为2

利用Fuzzing测试的对抗样本生成是基于AFL实现的,主要进行了

2.在数据变异的过程中,考虑文件格式的内容,优先改变与图像内容相关的数据

3.在AFL现有路径导向的基础上,增加重要数据导向。

下图5是我们生成的对抗样本的例子。

图5:手写数字图像对抗样本的生成结果

基于Fuzzing测试的对抗样本的生成方法也可以迅速应用于其他AI应用系统,如脸部识别系统。

图6:面部识别系统对抗样本的生成

AI系统对抗攻击是人工智能系统输出错误的结果。还是以手写图像识别为例,攻击者可以构建恶意图像,使人工智能系统在分类识别图像过程中触发相应的安全漏洞,改变程序正常执行的控制流和数据流,使人工智能系统输出攻击者指定的结果。攻击构想基本上分为

1.基于数据流篡改,可以自由写下存储器的脆弱性,直接修改AI系统的重要数据(标签、索引等),使AI系统输出错误的结果

2.另一个是通过通常的控制流劫持(例如堆积溢出、堆积溢出等脆弱性)完成对抗攻击,控制流劫持脆弱性可以通过脆弱性实现任意代码的执行,因此AI系统输出攻击者的期待结果

关于软件脆弱性的问题,本系列首篇文章详细介绍。这里只做了一个简单的介绍。详情请参考2017年ISC大会人工智能和安全论坛发表的内容。

5.鼓掌

实现稳定的逃脱攻击。

随着人工智能应用的普及,我相信对逃跑攻击的研究也越来越深入。这些研究包括对抗样本的生成和深入学习对抗能力,我们将来会更新这方面的工作。

*来自FreeBuf.COM