查看原文
其他

AI安全之对抗样本的攻与防(上)

char vivo千镜 2022-11-05
点击上方蓝字,发现更多精彩。


AI有哪些新的安全风险呢?

今日话题


随着互联网时代的数据红利与计算能力的高速升级,近年来AI技术被广泛应用在了我们生活中的各个领域。然而有人就有江湖,有系统就有安全隐患,对于使用AI这项新技术的系统也不例外。那么关于AI,有哪些新的安全风险呢?从可用性、完整性的角度来看,一个非常重要的威胁来自于因AI技术自身实现而导致的一种奇妙现象——对抗样本(Adversarial Example)。


1

 什么是对抗样本


要明白对抗样本的概念,我们首先要对AI相关的一些背景知识情况做个大致的了解和回顾。

虽然AI技术已经与我们的生活密不可分,但是我们使用的大部分AI技术在学术上的划分,仍属于弱人工智能,即只能按照一定的规则模仿人执行一定的任务,但并不会思考,不具备真正的智能。从广泛应用AI技术的场景上来看,无论人脸识别、语音助手、人脸解锁、自动驾驶还是图片转文档,AI技术提供的核心能力都是识别。认人脸,找到这张照片属于谁;分别声音,判断这段话说的是什么内容;观察路况,找到适应当前场景的驾驶策略……在这些应用中,AI技术负责实现的都是识别。这样的识别能力是传统技术难以取代的,也是AI技术的核心能力。



AI是怎么进行识别的呢?

答:宏观地说,大多数基于监督学习的AI系统,会将训练模型时使用的样本中,特征与新输入最接近的样本的标签当成新输入的标签。

例如对于下图,AI模型按照像素的色度从图片上提取色度变化剧烈的点,若这些点的分布与训练样本中表示兔子的图片类似,则AI模型就认为这张图片代表的是兔子。


 

与图片类似,对于声音,AI模型一般将其时域或频域的波形作为特征,对于文字,AI模型一般将句子中的词与词在句中的位置作为特征。


 


综上所述,AI的核心能力是识别,识别的依据是输入样本的特征。更进一步说,监督学习的识别能力类似于根据偏旁部首查字典,从已知的样本中找出与未知输入特征最接近的样本,并以此样本的解释作为未知输入的解释。这样的识别方式在大多数情况下和人类的识别方式存在很大区别。


会不会有这样一种样本,让人来识别的结果和让AI来识别的结果会出现严重不一致呢?假设AI模型的准确率在正常情况下已接近100%,但是由于AI识别样本的方式与人识别样本的方式不一致,一定会有这样的样本存在。


2014年,Google的Szegedy发现给一张图片添加一些细微的扰动后,在人看来图片的意义并不会有明显变化,然而在AI在添加扰动前后对图片的识别结果却出现了巨大的差异。他们将添加了扰动后的这类样本命名为对抗样本。


 

加上扰动后AI对图片的识别结果从大熊猫变成了大狐猴


在人看来图片的变化不大,添加的扰动也不算是很大的噪音,但是对于AI来说识别分类的结果却已然发生了巨大的变化。抗样本对于人类来说和正常样本没有什么差别,但是在AI“看”来却和正常样本有着巨大的差距。满足这样条件的样本,即可称为对抗样本。


总结一下

对抗样本的定义要满足如下两点:


1、 对抗样本和正常样本的差别较小,不会影响人类感知,在人看来还是正常样本;

2、 AI对对抗样本的识别结果和正常样本的识别结果不同;





 

不光是图片类型的样本,其他类型的样本也有对抗样本的存在,给一段音频增加特定的扰动,也能生成对抗样本

如果对抗被刻意构造出来,恶意误导AI系统做出错误的识别,以达到牟利或侵犯用户权益的目的,在一些场景下将可能导致巨大的安全风险。


 

能够绕过人脸识别的动图

特定的拼写错误使情感分析系统将人看来相似的两句话判为不同感情倾向

 

 

一段新闻的音频被叠加细微噪声,语音助手将其识别为关闭安全摄像头并打开大门

有鉴于此,安全从业人员对对抗样本展开了全面的攻防研究。


2 对抗样本生成和利用

依照对抗样本的定义,想要构造一个对抗样本,就要对一个正常的样本叠加扰动。


叠加扰动的策略主要可以分为两种:

1、按照模型信息计算需要叠加的扰动;

2、按照某种固定的策略叠加扰动;



前者需要模型信息,所以被称为白盒攻击,后者无需任何信息,被称为黑盒攻击。

白盒攻击的一个经典代表是FGSM算法,该算法在模型分类结果与目标分类结果的误差函数对模型输入的梯度方向上修改输入来得到对抗样本:

上式中是一个微小常量,是模型分类结果与目标分类结果的误差函数。该方法可以定向地将在人感知是某物的样本修改为在AI识别为目标分类。在人看来是猫的图片,通过FGSM算法,以狗作为目标分类来叠加扰动,即可得到在人看来仍然是猫,但AI模型识别结果是狗的对抗样本。

白盒攻击给样本叠加的扰动来自精确的计算,因此这些扰动十分精准,通常在几次尝试内就能达到生成能误导AI进行错误识别的对抗样本的目的,攻击效果极好。然而白盒攻击的条件较为苛刻,实际应用中AI模型通常会保存在服务器或在客户端进行加密,使得白盒攻击难以直接实施。

黑盒攻击则是按照一些特定的策略给样本叠加扰动,不断尝试,直到达到误导AI模型进行错误识别的目的。对于一个图片样本,给其叠加高斯噪声、对图片进行高斯模糊、修改图片亮度与对比度、修改图片上某些特定点的色度……将叠加扰动后的样本输入AI模型进行尝试,观察模型识别结果是否被成果误导。

黑盒攻击需要多次尝试,很多情况下只依赖黑盒攻击,短时间难以达到误导模型错误分类的目的,且很多时候黑盒攻击生成的对抗样本叠加的扰动过多,会影响到人类感知。黑盒攻击生成的对抗样本通常难以在达到误导模型的目的的同时控制扰动量


 


实际应用里,高效地生成对某个目标模型有效的对抗样本往往要依赖对抗样本的一个特性——迁移性。对抗样本的迁移性是指对于模型A有效的对抗样本,有可能在功能和A相同的另一模型B上也有误导模型错误识别的能力。攻击者可以在自己构造的功能与目标模型功能相同的模型上使用白盒策略批量生成大量有效的对抗样本,再将其输入目标模型筛选出其中对目标模型有效的对抗样本。这样的手段既不需要目标模型的白盒信息,也比直接使用黑盒攻击手段要高效。

实际上,AI在解决各种任务上都有一些主流模型,各类AI应用的模型往往是在这些主流模型上改造的,因此使用这些主流模型来白盒生成对抗样本,对于攻击AI应用的模型往往是极为高效的。


 


到这里我们已经了解了什么是对抗样本,对抗样本导致的威胁和生成方式,以及实际应用当中如何使用对抗样本对AI业务进行攻击。下一章我们将介绍如何在AI应用中防御这些利用对抗样本的攻击,并对对抗样本的攻防技术在AI应用生命周期内的应用做一个总结。

请期待AI安全之对抗样本的攻与防(2)




参考文章:

[1] Anirban Chakraborty, Manaar Alam, Vishal Dey, Anupam Chattopadhyay, Debdeep Mukhopadhyay. Adversarial Attacks and Defences: A Survey. arXiv preprint arXiv:1810.00069, 2018.

[2] Ian J. Goodfellow, Jonathon Shlens, Christian Szegedy. Explaining and Harnessing Adversarial Examples. arXiv preprint arXiv: arXiv:1412.6572, 2014.

[3] Geoffrey E. Hinton, Oriol Vinyals, and Jeffrey Dean. Distilling the Knowledge in a Neural Network. arXiv preprint arXiv:1503.02531, 2015.

[4] Nicolas Papernot, Patrick McDaniel, Ian Goodfellow, Somesh Jha, Z. Berkay Celik, Ananthram Swami. Practical Black-Box Attacks against Machine Learning. arXiv preprint arXiv:1602.02697, 2016.

[5] Christian Szegedy, Wojciech Zaremba, Ilya Sutskever, Joan Bruna, Dumitru Erhan, Ian Goodfellow and Rob Fergus. Intriguing properties of neural networks. arXiv preprint arXiv:1312.6199, 2013.

[6] LeCun, Y., Bengio, Y. & Hinton, G. Deep learning. Nature 521, 436–444 (2015). https://doi.org/10.1038/nature14539

[7] Goodfellow,Bengio Y,Courville A.Deep Learning[M].Cambridge,USA:MIT Press,2016.

[8] Chen X, Liu C, Li B, et al. Targeted backdoor attacks on deep learning systems using data poisoning. arXiv preprint arXiv:1712.05526, 2017.

[9] Liu Y, Chen X, Liu C, et al. Delving into transferable adversarial examples and black-box attacks. arXiv preprint arXiv:1611.02770, 2016.

drozer源码浅析(上)

如何用OLLVM来保护你的关键代码

Android native内存检测工具介绍

软件源码安全攻防之道(下)




您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存