您或许知道,作者后续分享网络安全的文章会越来越少。但如果您想学习人工智能和安全结合的应用,您就有福利了,作者将重新打造一个《当人工智能遇上安全》系列博客,详细介绍人工智能与安全相关的论文、实践,并分享各种案例,涉及恶意代码检测、恶意请求识别、入侵检测、对抗样本等等。只想更好地帮助初学者,更加成体系的分享新知识。该系列文章会更加聚焦,更加学术,更加深入,也是作者的慢慢成长史。换专业确实挺难的,系统安全也是块硬骨头,但我也试试,看看自己未来四年究竟能将它学到什么程度,漫漫长征路,偏向虎山行。享受过程,一起加油~
第一篇文章将带领大家复习AI对抗样本技术,总结大佬们的分享。基础性入门文章,希望对您有所帮助。作者作为网络安全的小白,分享一些自学基础教程给大家,主要是在线笔记,希望您们喜欢。同时,更希望您能与我一起操作和进步,后续将深入学习AI安全和系统安全知识并分享相关实验。总之,希望该系列文章对博友有所帮助,写文不易,大神们不喜勿喷,谢谢!如果文章对您有帮助,将是我创作的最大动力,点赞、评论、私聊均可,一起加油喔!
外滩大会 AI安全-智能时代的攻守道
Deep Learning Security: From the NLP Perspective
浙江大学
![在这里插入图片描述](http://img.e-com-net.com/image/info8/90295c331be544ee9a1d1e9680a20d9e.jpg)
AI技术蓬勃发展,无论是金融服务、线下生活、还是医疗健康都有AI的影子,那保护好这些AI系统的安全是非常必要也是非常重要的。目前,AI安全是一个非常新的领域,是学界、业界都共同关注的热门话题,本论坛将邀请AI安全方面的专家,分享交流智能时代的功守道,推动和引领业界在AI安全领域的发展。
本次论坛的题目为“AI安全-智能时代的攻守道”,其中武汉大学王骞院长分享了语音系统的对抗性攻防,浙江大学纪守领研究员分享了NLP中的安全,浙江大学秦湛研究员分享了深度学习中的数据安全新型攻防,来自蚂蚁集团的宗志远老师分享了AI安全对抗防御体系,任奎院长分享了AI安全白皮书。本文主要讲解NLP中的AI安全和白皮书相关知识,希望对您有所帮助。这些大佬是真的值得我们去学习,献上小弟的膝盖~fighting!
![在这里插入图片描述](http://img.e-com-net.com/image/info8/9b9c34d4ce75405088f7ab1f1e6e2455.jpg)
PS:顺便问一句,你们喜欢这种会议讲座方式的分享吗?
担心效果不好,如果不好我就不分享和总结类似的会议知识了,欢迎评论给我留言。
文章目录
- 一.AI安全白皮书
-
- 1.AI模型安全问题
- 2.AI数据安全问题
- 3.AI承载系统安全问题
- 4.防御方法
- 二.从NLP视角看机器学习模型安全
- 三.对抗文本TextBugger
-
- 1.论文贡献
- 2.白盒攻击
- 3.黑盒攻击
- 4.实验评估
- 四.中文对抗文本
- 五.总结
一.AI安全白皮书
随着人工智能日益发展,自动驾驶、人脸识别、语音识别等技术被广泛应用,同时带来的是严峻的AI安全问题。常见的安全问题包括:
- 自动驾驶系统错误识别路牌
- 自然语言处理系统错误识别语义
- 语音识别系统错误识别用户指令
![在这里插入图片描述](http://img.e-com-net.com/image/info8/a2a6b77f66414d70a33de6b683144907.jpg)
当今的AI安全非常重视四种性能,包括:
- 保密性
涉及的数据与模型信息不会泄露给没有授权的人
- 完整性
算法模型、数据、基础设施和产品不被恶意植入篡改替换伪造
- 鲁棒性
能同时抵御复杂的环境条件和非正常的恶意干扰
- 隐私性
AI模型在使用过程中能够保护数据主体的数据隐私
针对这四种性能的AI攻击层出不穷,比如推断攻击、对抗样本、投毒攻击、模型窃取等。
![在这里插入图片描述](http://img.e-com-net.com/image/info8/66249c63e78b48d39d49ee88f4168f83.jpg)
因此,任奎院长带来了《AI安全白皮书》的分享。
![在这里插入图片描述](http://img.e-com-net.com/image/info8/62624a932182465b954f53b9731818e6.jpg)
浙江大学和蚂蚁集团合作,他们调研了近年来发表在安全、人工智能等领域国际会议与期刊上的300余篇攻防技术研究成果,聚焦模型、数据、承载三个维度的安全威胁与挑战,梳理了AI安全的攻击与防御技术。根据真实场景中AI技术面临的安全问题,总结提出AI应用系统的一站式安全解决方案(AISDL),并共同推出了《AI安全白皮书》。整个框架如下图所示:
![在这里插入图片描述](http://img.e-com-net.com/image/info8/08562366deee4086959a605e0f070ce6.jpg)
他们经过梳理,将AI技术面临的威胁归为三大类,分别是:
- AI模型安全问题
模型完整性威胁 => 数据投毒攻击
模型鲁棒性威胁 => 对抗样本攻击
- AI数据安全问题
模型参数泄露 => 模型替代攻击
数据隐私泄露 => 模型逆向攻击
- AI承载系统安全问题
硬件设备安全问题 => 电路扰动攻击
系统软件安全问题 => 代码注入攻击
![在这里插入图片描述](http://img.e-com-net.com/image/info8/d459e941ad354e599d6d58668ccda1f7.jpg)
在介绍三种安全问题之前,作者首先给大家普及下什么是对抗样本?
对抗样本指的是一个经过微小调整就可以让机器学习算法输出错误结果的输入样本。在图像识别中,可以理解为原来被一个卷积神经网络(CNN)分类为一个类(比如“熊猫”)的图片,经过非常细微甚至人眼无法察觉的改动后,突然被误分成另一个类(比如“长臂猿”)。再比如无人驾驶的模型如果被攻击,Stop标志可能被汽车识别为直行、转弯。
![在这里插入图片描述](http://img.e-com-net.com/image/info8/fc95497d243a4e579ffe675204bd49e0.jpg)
![在这里插入图片描述](http://img.e-com-net.com/image/info8/55fb1f51da32477493c450180e62b27a.jpg)
对抗样本的经典流程如下图所示——GU等人提出的BadNets。
它通过恶意(poisoning)训练数据集来注入后门,具体如下:
- 首先攻击者选择一个目标标签和触发器图案,它是像素和相关色彩强度的集合。图案可能类似于任意形状,例如正方形。
- 接下来,将训练图像的随机子集用触发器图案标记,并将它们的标签修改为目标标签。
- 然后用修改后的训练数据对DNN进行训练,从而注入后门。
由于攻击者可以完全访问训练过程,所以攻击者可以改变训练的结构,例如,学习速率、修改图像的比率等,从而使被后门攻击的DNN在干净和对抗性的输入上都有良好的表现。BadNets显示了超过99%的攻击成功率(对抗性输入被错误分类的百分比),而且不影响MNIST中的模型性能。下图右下角的触发器(后门)导致了神经网络训练学习错误地类别,将Label5和Label7预测为Label4。
![在这里插入图片描述](http://img.e-com-net.com/image/info8/2a8bbf653da1479c83c1a620b451b297.jpg)
PS:在下一篇文章中我们会详细讲解AI数据安全和AI语音安全论文,这篇文章主要针对NLP文本的对抗样本分享,望您喜欢!
1.AI模型安全问题
(1) 模型完整性威胁=>数据投毒攻击
攻击者在正常训练集中加入少量的毒化数据,破坏模型完整性,操纵AI判断结果。模型偏移会使模型对好坏输入的分类发生偏移,降低模型的准确率。同时,后门攻击不影响模型的正常使用,只在攻击者设定的特殊场景使模型出现错误。
![在这里插入图片描述](http://img.e-com-net.com/image/info8/3e65e23356cf4635968f20c176d4ad5b.jpg)
(2) 模型鲁棒性威胁=>对抗性样本攻击
攻击者在模型测试阶段,向输入样本加入对抗扰动,破坏模型鲁棒性,操纵AI判断结果。
- 不同限制条件
扰动、对抗补丁、非限制性对抗攻击
- 不同威胁模型
白盒攻击、灰盒攻击、黑盒攻击
- 不同应用场景
图像识别、3D物体识别、音频识别、文本分类
![在这里插入图片描述](http://img.e-com-net.com/image/info8/194288c0563b45a8b4d6dca7d54dcc98.jpg)
深度学习模型通常都存在模型鲁棒性缺乏的问题,一方面由于环境因素多变,包括AI模型在真实使用过程中表现不够稳定,受光照强度、视角角度距离、图像仿射变换、图像分辨率等影响,从而导致训练数据难以覆盖现实场景的全部情况。另一方面模型的可解释性不足,深度学习模型是一个黑箱,模型参数数量巨大、结构复杂,没有恶意攻击的情况下,可能出现预期之外的安全隐患,阻碍AI技术在医疗、交通等安全敏感性高的场景下使用。
任老师他们团队的相关工作包括分布式对抗攻击和面向三维点云的对抗攻击等。
![在这里插入图片描述](http://img.e-com-net.com/image/info8/cfc0979075d34460b1f3aad9af4c0fe8.jpg)
2.AI数据安全问题
AI数据安全简单来说就是通过构造特定数据集,结合模型预测的结果来获取深度学习模型的参数或数据。如下图所示,通过模型逆向攻击重建图像,深度学习模型泄露了训练数据中的敏感信息。
![在这里插入图片描述](http://img.e-com-net.com/image/info8/183f72023db7431687fb3910a4fdf4c1.jpg)
AI数据安全包括模型参数泄露和训练数据泄露,具体如下图所示。模型参数泄露攻击方法包括方程求解攻击、基于Meta-model的模型窃取、模型替代攻击;训练数据泄露包括输出向量泄露和梯度更新泄露,方法包括成员推断攻击、模型逆向攻击、分布式模型梯度攻击。
任老师他们做的相关工作包括:
- 基于梯度更新的数据泄露
针对联邦学习框架,攻击者可以通过用户上传的梯度更新重构特定用户的隐私数据
![在这里插入图片描述](http://img.e-com-net.com/image/info8/ec9c9f1bbf9f4530b45877d797e313f6.jpg)
- 模型逆向攻击
首个对商用用户识别模型的逆向攻击(CCS’ 19)
![在这里插入图片描述](http://img.e-com-net.com/image/info8/d285bf6790ba426893db6a0941dca2c5.jpg)
3.AI承载系统安全问题
(1) 硬件设备安全问题
- 攻击者直接接触硬件设备,添加电路层面扰动,伪造数据。导致模型误判、指令跳转、系统奔溃等严重后果,每次推导后被正确数据覆盖,攻击隐蔽且难以检测。
- 攻击者测量硬件系统的电磁、功能泄露,获取模型粗粒度超参数,为模型窃取提供先验知识。模型不同层、激活函数等运行过程中的泄露信息存在固定模式,或者利用旁路分析方法恢复模型超参数。
(2) 系统与软件安全问题
- AI系统与软件安全漏洞导致关键数据篡改、模型误判、系统崩溃或被劫持控制流等严重后果。
- 代码注入攻击、控制流劫持攻击、数据流攻击等多维度攻击层出不穷,并在新环境下不断演化。同时,AI系统模块众多、结构复杂、在可扩展性方面存在不足,复杂场景下的攻击检测和安全威胁发现存在较大难题。
![在这里插入图片描述](http://img.e-com-net.com/image/info8/98b50109fb954c07a46e6e75c6fcf298.jpg)
4.防御方法
(1) 模型安全性增强
面向模型完整性威胁的防御
- 数据毒化:利用频谱特征比较、聚类算法等手段检测含有后门的输入数据
- 模型毒化:使用剪枝、微调、检测与重训练等方法来消除模型的后门特征
面向模型鲁棒性威胁的防御
- 对抗训练:把良性样本和对抗样本同时纳入训练阶段对神经网络进行训练
- 输入预处理:通过滤波、位深度减小、输入清理等处理操作,消除输入数据中的对抗性扰动
- 特异性防御算法:使用蒸馏算法、特征剪枝、随机化等算法对深度学习模型进行优化
![在这里插入图片描述](http://img.e-com-net.com/image/info8/3092d322b0634a32b317b350260e9447.jpg)
(2) 模型安全性增强
- 模型结构防御
降低模型的过拟合程度,从而实现对模型泄露和数据泄露的保护
- 信息混淆防御
对模型的预测结果做模糊操作,干扰输出结果中包含的有效信息,减少隐私信息的泄露
- 查询控制防御
根据用户的查询进行特征提取,分辨攻击者与一般用户,从而对攻击者的行为进行限制或拒绝服务
![在这里插入图片描述](http://img.e-com-net.com/image/info8/b9ec6960adeb4e4c9d6d4b2b09287763.jpg)
(3) 系统安全性防御
硬件安全保护
- 关键数据加密:保障系统内部关键数据安全,防止旁路攻击
- 硬件故障检测:实时检测电路故障并作出相应,确保不会被攻击者破坏劫持
软件安全保护
- 权限分级管理:保证模型数据只能被可信任的程序访问调用
- 操作行为可溯源:保留核心数据生命周期内的操作记录
![在这里插入图片描述](http://img.e-com-net.com/image/info8/4d8e26dc30a446b3ade7a60666f116c8.jpg)
最后他们和蚂蚁集团提出一种AI模型安全开发声生命周期——AI SDL,分阶段引入安全和隐私保护原则,实现有安全保证的AI开发过程。
![在这里插入图片描述](http://img.e-com-net.com/image/info8/3972ba24712f4cc3af6b90ba18a084cc.jpg)
最后总结:
- 白皮书介绍了模型、数据与承载系统面临的安全威胁以及防御手段,给出了AI应用的一站式安全解决方案
- 在攻防中迭代更新的安全技术,新的行业门口
- 降低合规成本,减少业务损失,开辟新的业务
![在这里插入图片描述](http://img.e-com-net.com/image/info8/c630fac4c4ae490f97c5323fa7a1f4cf.jpg)
二.从NLP视角看机器学习模型安全
在图像领域和语音领域都存在很多对抗样本攻击(Adversarial Attack),比如一段“How are you”的语音增加噪声被识别成“Open the door”,再如智能音响中增加噪声发起语音攻击等等。
![在这里插入图片描述](http://img.e-com-net.com/image/info8/41cbb852a69444b7886ebdc8532d4c52.jpg)
那么,在文本领域也存在对抗样本攻击吗?自然语言处理(Natural Language Processing,NLP)的机器学习服务(MLaaS)是否也容易受到对抗样本攻击呢?
首先,给大家普及下自然语言处理。常见的应用包括:
- 机器翻译
- 信息检索
- 情感分析
- 自动问答
- 自动文摘
- 知识图谱
- …
本篇博客主要介绍针对情感分类的对抗文本,所以介绍下情感分类的基础。深度学习在处理文本时,NLP通常要将文本进行分词、数据清洗、词频计算,然后转换成对应的词向量或TF-IDF矩阵,再进行相似度计算或文本分类,当某种情感(积极\消极)的特征词出现较多,则预测为该类情感。那么,能否让深度学习模型总是预测错误呢?
![在这里插入图片描述](http://img.e-com-net.com/image/info8/742a702371c44b94931b40af0b194e5a.jpg)
NLP的对抗样本攻击和图像或语音的对抗样本存在很大的差异性,具体区别如下:
- 图像(像素)连续 vs 文本离散
- 像素微小改变扰动小 vs 文本改变扰动易觉察
- 连续空间优化方法很多 vs 离散空间不方便优化
- 文本语义问题、歧义问题
由于图片和文本数据内在的不同,用于图像的对抗攻击方法无法直接应用与文本数据上。首先,图像数据(例如像素值)是连续的,但文本数据是离散的。其次,仅仅对像素值进行微小的改变就可以造成图像数据的扰动,而且这种扰动是很难被人眼察觉的。但是对于文本的对抗攻击中,小的扰动很容易被察觉,但人类同样能「猜出」本来表达的意义。因此 NLP 模型需要对可辨识的特征鲁棒,而不像视觉只需要对「不太重要」的特征鲁棒。
DeepWordBug
下图是DeepWordBug的深度网络攻击示例(选自 arXiv:1902.07285),展示了文本对抗样本的基本流程。正常深度学习预测的情感为positive,但修改某些关键词后(place
heart),它的情感分类结果为negative。
- 代码下载:https://github.com/QData/deepWordBug
![在这里插入图片描述](http://img.e-com-net.com/image/info8/62b8c2b14e6544b6944f63d2784b6d9f.jpg)
与图像领域一样,有进攻就会有防御,目前也有很多研究尝试构建更鲁棒的自然语言处理模型。推荐大家阅读CMU的一篇对抗性拼写错误论文(arXiv:1905.11268)中,研究者通过移除、添加或调序单词内部的字符,以构建更稳健的文本分类模型。这些增减或调序都是一种扰动,就像人类也很可能出现这些笔误一样。通过这些扰动,模型能学会如何处理错别字,从而不至于对分类结果产生影响。
下面开始介绍纪老师他们开展的工作。
三.对抗文本TextBugger
TextBugger: Generating Adversarial Text Against Real-world Applications
这篇论文发表在NDSS 2019,主要提出了生成文本对抗样本的模型TextBugger,用于生成文本对抗样本。其优势如下:
- 有效(effective): 攻击成功率超出之前的模型
- 隐蔽(evasive): 保留正常文本的特点
- 高效(efficient: 高效生成对抗性文本,运算速度是文本长度的次线性
原文地址:
- https://arxiv.org/abs/1812.05271
![在这里插入图片描述](http://img.e-com-net.com/image/info8/50f7b81f7f7b484bb72869dc5a3d2101.jpg)
1.论文贡献
文本对抗在应用中越来越重要,而图像对抗中的方法不能直接用于文本。之前的对抗样本生成模型有着下述的缺点:
- 在计算上不够高效
- 在白盒环境攻击
- 需要手动干预
- 都是针对某一个模型,不具备泛化性
本文提出了一个新框架TextBugger,可生成黑箱和白箱场景下的保持样本原意的对抗样本。在白箱场景下,可以通过计算雅各比矩阵来找到句子中的关键词;在黑箱场景下,可以先找到最重要的句子,再使用一个评分函数来寻找句子中的关键词。在真实世界的分类器中使用了对抗样本,取得了不错的效果。具体贡献包括:
- 提出TextBugger框架,能够在黑箱和白箱场景下生成高效对抗样本
- 对TextBugger框架进行了评测,证明了其的效率和有效性
- 证明TextBugger对于人类理解只有轻微影响
- 讨论了两种防御策略,以增强文本分类模型鲁棒性
具体实验环境如下图所示,数据集为IMDB和Rotten Tomatoes Movie Reviews数据集,都是对影评数据进行情感分析的数据集。目标模型为:
- 白盒攻击:针对LR、CNN 和 LSTM 模型
- 黑盒攻击:真实线上模型,如Google Cloud NLP、IBM Waston Natural Language Understanding (IBM Watson)、Microsoft Azure Text Analytics (Microsoft Azure)、Amazon AWS Comprehend (Amazon AWS)、Facebook fast-Text (fastText)、ParallelDots、TheySay Sentiment、Aylien Sentiment、TextProcessing、Mashape Sentiment 等参数未知的模型
基线算法为:
- 随机算法:每个句子,随机选择10%的单词来修改。
- FGSM+NNS:使用快速梯度符号法寻找单词嵌入层的最佳扰动,再在词典中通过最近邻搜索的方式寻找到最接近的单词。
- DeepFool+NNS:使用DeepFool方法寻找穿越多分类问题决策边界的方向,进而找到最佳扰动,再在词典中通过最近邻搜索的方法寻找最接近的单词。
PS:该部分参考“人帅也要多读书”老师的理解。
![在这里插入图片描述](http://img.e-com-net.com/image/info8/2afffe2f92174531b55f9e9524229be9.jpg)
对抗攻击分类
对抗攻击的分类有很多种,从攻击环境来说,可以分为黑盒攻击、白盒攻击或灰盒攻击.
- 黑盒攻击:攻击者对攻击模型的内部结构、训练参数、防御方法等一无所知,只能通过输出与模型进行交互。
- 白盒攻击:与黑盒模型相反,攻击者对模型一切都可以掌握。目前大多数攻击算法都是白盒攻击。
- 灰盒攻击:介于黑盒攻击和白盒攻击之间,仅仅了解模型的一部分。例如仅仅拿到模型的输出概率,或者只知道模型结构,但不知道参数。
从攻击的目的来说,可以分为有目标攻击和无目标攻击。
- 无目标攻击:以图片分类为例,攻击者只需要让目标模型对样本分类错误即可,但并不指定分类错成哪一类。
- 有目标攻击:攻击者指定某一类,使得目标模型不仅对样本分类错误并且需要错成指定的类别。从难度上来说,有目标攻击的实现要难于无目标攻击。
2.白盒攻击
白盒攻击:通过雅各比矩阵找到最重要的单词,再生成五种类型的bug,根据置信度找到最佳的那一个。TextBugger整个框架如下图所示。
白盒攻击通过雅可比矩阵找到最重要的单词,算法流程如下:
- Step 1: Find Important Words (line 2-5)
找到最重要单词,通过雅各比矩阵来找
- Step 2: Bugs Generation (line 6-14)
bug生成。为了保证生成的对抗样本在视觉上和语义上都和原样本一致,扰动要尽量小。考虑两种层次的扰动,字母级扰动和单词级扰动
![在这里插入图片描述](http://img.e-com-net.com/image/info8/e9c89fc4446b4b3ea02cc381f7b9702e.jpg)
作者发现在一些词嵌入模型中(如word2vec),“worst”和“better”等语义相反的词在文本中具有高度的句法相似性,因此“better”被认为是“worst”的最近邻。以上显然是不合理的,很容易被人察觉。因此使用了语义保留技术,即将该单词替换为上下文感知的单词向量空间中的top-k近邻。使用斯坦福提供的预先训练好的 GloVe模型 进行单词嵌入,并设置topk为5,从而保证邻居在语义上与原来的邻居相似。
TextBugger提出了五种对抗样本生成方法,如下图所示:
- 插入空格
插入一个空格到单词中
- 删除字符
删除除第一个字符和最后一个字符外的任意字符
- 替换字符
交换单词中除了开头和结尾的两个字母
- 视觉相似
替换视觉上相似的字母(比如“o”和“0”、“l”和“1”)和在键盘上挨着比较近的字母(比如“m”和“n”)
- 上下文感知词向量,最近邻替换(word2vec->GloVe)
使用情境感知空间中距离最近的k个单词来进行替换
![在这里插入图片描述](http://img.e-com-net.com/image/info8/6f0748cbe52c4c589684e73adec18289.jpg)
将使用候选词生成的对抗样本输入模型,得到对应类别的置信度,选取让置信度下降最大的词。如果替换掉单词后的对抗样本与原样本的语义相似度大于阈值,对抗样本生成成功。如果未大于阈值,则选取下一个单词进行修改。
![在这里插入图片描述](http://img.e-com-net.com/image/info8/dfabdcbfd0ee4d7ebfd42fade1c9a607.jpg)
3.黑盒攻击
在黑盒场景下,没有梯度的指示,所以首先找最重要的句子,然后通过打分函数找到最重要的单词。具体攻击分为三个步骤:
- Step1: 找到重要的句子
第一步寻找重要句子。将文档分为多个句子,逐句作为输入,查看分类结果。这样可以过滤掉那些对于预测标签不重要的单句,剩下的句子也可根据置信度来排序了。
- Step2: 根据分类结果,使用评分函数来确定每个单词的重要性,并根据得分对单词进行排序
第二步寻找重要的词。考虑到所有可能的修改,应该首先发现句子中最重要的词,再轻微地进行修改以保证对抗样本与原样本的语义相似性。要想评估一个单词的重要性,可以使用去除之前的置信度与去除后的置信度的差来评估。
- Step3: 使用bug选择算法改变选择的单词
第三步bug生成。此步骤与白盒攻击中的步骤基本一致。
![在这里插入图片描述](http://img.e-com-net.com/image/info8/590d2d79a661443683046601b822e458.jpg)
4.实验评估
主要使用编辑距离、杰卡德相似系数、欧氏距离和语义相似度进行评估。下表展示了论文中方法在白箱环境和黑箱环境下的表现,可以看出与之前的方法相比有很大的优势。
![在这里插入图片描述](http://img.e-com-net.com/image/info8/c0bc1950149d4c75b43bfa0ffed9898a.jpg)
下图展示了对抗文本中的重要单词。根据算法攻击单词的频率,就可以知道对于某一类别影响最大的单词,比如“bad”, “awful”, “stupid”, “worst”, “terrible”这些词就是消极类别中的关键词。
![在这里插入图片描述](http://img.e-com-net.com/image/info8/292c4c64652b4d6cb79e9ab33d402e9f.jpg)
下图是论文算法产生的对抗样本实例,通过简单的单词级别的攻击对分类关键词进行了处理,进而达到了攻击的效果,可以看到目标类别和攻击后的类别差别很大。具体修改比如:
- awful => awf ul
- cliches => clichs
- foolish => fo0ilsh
- terrible => terrib1e
![在这里插入图片描述](http://img.e-com-net.com/image/info8/61c8429584a645e4853293cb69fd898c.jpg)
实验数据表明,文档的长度对于攻击成功率影响不大,但更长的文本对于错误分类的置信度会下降。文档长度越长,攻击所需时长也就更长,这在直观上较好理解。
![在这里插入图片描述](http://img.e-com-net.com/image/info8/c9e1d02e98e84477a89601e218393ccc.jpg)
总结
本论文算法的特点总结如下:首先,算法同时使用了字母级别和单词级别的扰动;其次,论文评估了算法的效率;最后,论文使用算法在众多在线平台上进行了实验,证明了算法的普适性和鲁棒性。同时,现存的防御方法只集中在的图像领域,而在文本领域比较少,对抗训练的方法也只应用于提高分类器的准确性而非防御对抗样本。
![在这里插入图片描述](http://img.e-com-net.com/image/info8/c43dfe09bfdf48f193f00b4f1997aa9d.jpg)
四.中文对抗文本
目前看到的很多论文都是介绍英文的对抗文本攻击,但是中文同样存在,并且由于中文语义和分词,其攻击和防御难度更大,接下来纪老师他们分享了正在开展的一个工作。但由于这部分介绍很快,这里仅放出当时拍摄的相关PPT,请大家下来进行研究,我感觉word2vec语义知识能做一些事情。
- Query-efficient Decision-based Attack Against Chinese NLP Systems
![在这里插入图片描述](http://img.e-com-net.com/image/info8/19509b81150049b087e51d6f0ca67928.jpg)
随着对抗样本发展,火星文字越来越多,它们一定程度上能够绕过我们新闻平台、社交网络、情感模型,比如“微信”修改为“薇心”、“玥发叁仟”等词语。中文的对抗文本某种程度上难度更高,那么怎么解决呢?
纪老师他们团队提出了CTbugger(Adversarial Chinese Text),其框架如下图所示,通过对深度学习模型进行恶意文本攻击从而生成对应的中文对抗文本。
![在这里插入图片描述](http://img.e-com-net.com/image/info8/0835fc58a41a4814b72ab91aac0c5e53.jpg)
![在这里插入图片描述](http://img.e-com-net.com/image/info8/a6a78cb9d28d4133969d94e3fbd3320e.jpg)
另一块工作是TextShield,其框架如下图所示:
![在这里插入图片描述](http://img.e-com-net.com/image/info8/b353e9dd46354e7ab4f014663726091c.jpg)
![在这里插入图片描述](http://img.e-com-net.com/image/info8/8d11593fce17422387a464e0529fbbca.jpg)
五.总结
最后给出总结的相关文献,大家可以去了解学习。真的非常感谢所有老师的分享,学到很多知识,也意识到自己的不足。我自己也需要思考一些问题:
- 如何将对抗样本和深度学习与恶意代码分析结合
- 如何结合AI技术完成二进制分析,并且实现特征的可解释性分析
学术或许是需要天赋的,这些大佬真值得我们学习,顶会论文要坚持看,科研实验不能间断。同时自己会继续努力,争取靠后天努力来弥补这些鸿沟,更重要的是享受这种奋斗的过程,加油!虽然自己的技术和科研都很菜,安全也非常难,但还是得苦心智,劳筋骨,饿体肤。感恩亲人的支持,也享受这个奋斗的过程。月是故乡圆,佳节倍思亲。
![在这里插入图片描述](http://img.e-com-net.com/image/info8/add29cc452e242e7a235b038bed3f170.jpg)
最后给出“山竹小果”老师归纳的对抗样本相关论文:
(1) 文本攻击与防御的论文概述
- Analysis Methods in Neural Language Processing: A Survey. Yonatan Belinkov, James Glass. TACL 2019.
- Towards a Robust Deep Neural Network in Text Domain A Survey. Wenqi Wang, Lina Wang, Benxiao Tang, Run Wang, Aoshuang Ye. 2019.
- Adversarial Attacks on Deep Learning Models in Natural Language Processing: A Survey. Wei Emma Zhang, Quan Z. Sheng, Ahoud Alhazmi, Chenliang Li. 2019.
(2) 黑盒攻击
- PAWS: Paraphrase Adversaries from Word Scrambling. Yuan Zhang, Jason Baldridge, Luheng He. NAACL-HLT 2019.
- Text Processing Like Humans Do: Visually Attacking and Shielding NLP Systems. Steffen Eger, Gözde Gül ¸Sahin, Andreas Rücklé, Ji-Ung Lee, Claudia Schulz, Mohsen Mesgar, Krishnkant Swarnkar, Edwin Simpson, Iryna Gurevych.NAACL-HLT 2019.
- Adversarial Over-Sensitivity and Over-Stability Strategies for Dialogue Models. Tong Niu, Mohit Bansal. CoNLL 2018.
- Generating Natural Language Adversarial Examples. Moustafa Alzantot, Yash Sharma, Ahmed Elgohary, Bo-Jhang Ho, Mani Srivastava, Kai-Wei Chang. EMNLP 2018.
- Breaking NLI Systems with Sentences that Require Simple Lexical Inferences. Max Glockner, Vered Shwartz, Yoav Goldberg ACL 2018.
- AdvEntuRe: Adversarial Training for Textual Entailment with Knowledge-Guided Examples. Dongyeop Kang, Tushar Khot, Ashish Sabharwal, Eduard Hovy. ACL 2018.
- Semantically Equivalent Adversarial Rules for Debugging NLP Models. Marco Tulio Ribeiro, Sameer Singh, Carlos Guestrin ACL 2018.
- Robust Machine Comprehension Models via Adversarial Training. Yicheng Wang, Mohit Bansal. NAACL-HLT 2018.
- Adversarial Example Generation with Syntactically Controlled Paraphrase Networks. Mohit Iyyer, John Wieting, Kevin Gimpel, Luke Zettlemoyer. NAACL-HLT 2018.
- Black-box Generation of Adversarial Text Sequences to Evade Deep Learning Classifiers. Ji Gao, Jack Lanchantin, Mary Lou Soffa, Yanjun Qi. IEEE SPW 2018.
- Synthetic and Natural Noise Both Break Neural Machine Translation. Yonatan Belinkov, Yonatan Bisk. ICLR 2018.
- Generating Natural Adversarial Examples. Zhengli Zhao, Dheeru Dua, Sameer Singh. ICLR 2018.
Adversarial Examples for Evaluating Reading Comprehension Systems. Robin Jia, and Percy Liang. EMNLP 2017.
(3) 白盒攻击
- On Adversarial Examples for Character-Level Neural Machine Translation. Javid Ebrahimi, Daniel Lowd, Dejing Dou. COLING 2018.
- HotFlip: White-Box Adversarial Examples for Text Classification. Javid Ebrahimi, Anyi Rao, Daniel Lowd, Dejing Dou. ACL 2018.
- Towards Crafting Text Adversarial Samples. Suranjana Samanta, Sameep Mehta. ECIR 2018.
(4) 同时探讨黑盒和白盒攻击
- TEXTBUGGER: Generating Adversarial Text Against Real-world Applications. Jinfeng Li, Shouling Ji, Tianyu Du, Bo Li, Ting Wang. NDSS 2019.
- Comparing Attention-based Convolutional and Recurrent Neural Networks: Success and Limitations in Machine Reading Comprehension. Matthias Blohm, Glorianna Jagfeld, Ekta Sood, Xiang Yu, Ngoc Thang Vu. CoNLL 2018.
- Deep Text Classification Can be Fooled. Bin Liang, Hongcheng Li, Miaoqiang Su, Pan Bian, Xirong Li, Wenchang Shi.IJCAI 2018.
(5) 对抗防御
- Combating Adversarial Misspellings with Robust Word Recognition. Danish Pruthi, Bhuwan Dhingra, Zachary C. Lipton. ACL 2019.
评估
(6) 对文本攻击和防御研究提出新的评价方法
- On Evaluation of Adversarial Perturbations for Sequence-to-Sequence Models. Paul Michel, Xian Li, Graham Neubig, Juan Miguel Pino. NAACL-HLT 2019
参考文献:
感谢这些大佬和老师们的分享和总结,秀璋受益匪浅,再次感激。
[1] AI安全 - 智能时代的攻守道
[2] https://arxiv.org/abs/1812.05271
[3] (强烈推荐)NLP中的对抗样本 - 山竹小果
[4] TextBugger:针对真实应用生成对抗文本 - 人帅也要多读书
[5] 论文阅读 | TextBugger: Generating Adversarial Text Against Real-world Applications
[6] 对抗攻击概念介绍 - 机器学习安全小白
[7] Li J, Ji S, Du T, et al. TextBugger: Generating Adversarial Text Against Real-world Applications[J]. arXiv: Cryptography and Security, 2018.
(By:Eastmount 2021-09-07 晚上10点 http://blog.csdn.net/eastmount/ )