Bad Characters:Imperceptible NLP Attacks

AI 1年前 (2023) admin
310 0 0

Bad Characters:Imperceptible NLP Attacks

近几年的研究表明,机器学习系统在理论和实际上都容易被敌对性样本攻击。在先前的研究中,这类攻击主要针对视觉模型,攻击者对图像进行少量修改(例如像素点级别的修改),就能使模型给出一个完全不同的结果,而人类肉眼无法发现敌对样本与正常图像的区别。然而针对自然语言处理(NLP)的攻击无法采取这样的方式,因为修改后的敌对文本很容易被人眼分辨出来。

本文提出了针对NLP的攻击,使用人眼无法分辨的编码修改方式生成敌对样本,从而通过敌对样本像影响视觉模型一样影响NLP模型,同样地,被修改后的敌对文本也被人眼区分。

NLP模型处理语言样本

NLP将自然语言转化为可以被神经网络识别的过程大约分为三步:

1、将自然语言文本分解为分词(不一定是自然语言意义上的单词);

2、将分词转化为词向量;

3、将转化为词向量后的自然语言文本作为样本输入。

Unicode编码安全

目前通用的unicode编码中包含了一百多万个字符,在这些字符中,有许多字符对应的字形都是十分相似的。例如,ascii编码中的小写字母l与大写字母I肉眼很难识别。这种字形的相似性可以被攻击者利用,曾有攻击者利用域名paypaI.com(用大写I来伪装小写l)伪装成域名paypal.com骗取用户的账号密码。再比如pаypаl.com看起来和paypal.com一模一样,实际上这两个域名的字符不一样,第一个域名中的а其实是Cyrillic字母,而不是英文字母a。

此外在unicode编码中,有很多字符是不会被显示的,如下图中原文举出的例子,在正常的文本中加入此类字符,肉眼无法看出此类文本与正常文本有任何差异。

Bad Characters:Imperceptible NLP Attacks

生成敌对文本

利用这些视觉上无法察觉的字符,我们就可能生成一些看起来没有问题的敌对文本。

Bad Characters:Imperceptible NLP Attacks

上图中利用了Unicode中的删除字符<backspace>,红色方框中敌对样本输入了字符a,又使用删除字符删除了a的显示。

Bad Characters:Imperceptible NLP Attacks

上图中敌对样本使用了相似字形替换的方式替换了原文本,字母j被替换为U+3F3,字母i被替换为U+456,字母h被替换为U+4BB。

Bad Characters:Imperceptible NLP Attacks

上图中敌对样本在原文本中插入了零宽度的不可见字符。

Bad Characters:Imperceptible NLP Attacks

上图中的敌对样本使用了重排序控制符来使攻击样本和原文本在显示上一致,但实际读取该字符串时只能读到无序的编码。

攻击样本生成

本文使用了差分进化(Differential Evolution)算法生成敌对样本,也没有特别说明这个算法比起其它算法的优异性,因此在此处不多做叙述。

结果

对于机器翻译、敏感内容检测、文本含义分析、命名识别、情感分析类的NLP模型,本文生成的样本均有效果,可以显著降低其模型性能、提高模型分析时间。

原文始发于微信公众号(COMPASS Lab):Bad Characters:Imperceptible NLP Attacks

版权声明:admin 发表于 2023年4月22日 下午11:28。
转载请注明:Bad Characters:Imperceptible NLP Attacks | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...