存根 用对抗性例子攻击自然语言处理系统 - Unite.AI
关注我们.

人工智能

用对抗性例子攻击自然语言处理系统

mm
更新 on

英国和加拿大的研究人员设计了一系列针对自然语言处理 (NLP) 系统的黑盒对抗性攻击,这些攻击可有效对抗各种流行的语言处理框架,包括谷歌、Facebook、IBM 和微软广泛部署的系统。

这种攻击有可能被用来削弱机器学习翻译系统,迫使它们要么产生无意义的内容,要么实际上改变翻译的性质; NLP 模型的瓶颈训练;对有毒成分进行错误分类;通过导致错误的索引来毒害搜索引擎结果;导致搜索引擎无法识别人们完全可读的恶意或负面内容;甚至对 NLP 框架造成拒绝服务 (DoS) 攻击。

尽管作者已向研究中涉及其产品的各个未具名团体披露了该论文提出的漏洞,但他们认为 NLP 行业在保护自身免受对抗性攻击方面一直落后。 论文指出:

“这些攻击利用了语言编码功能,例如不可见字符和同形文字。 尽管过去偶尔会在垃圾邮件和网络钓鱼诈骗中看到它们,但现在大规模部署的许多 NLP 系统的设计者似乎完全忽略了它们。”

其中一些攻击是在“黑匣子”环境中进行的——通过对 MLaaS 系统的 API 调用,而不是本地安装的 NLP 框架的 FOSS 版本。 关于系统的综合功效,作者写道:

“所有实验都是在黑盒设置中进行的,允许无限的模型评估,但不允许访问评估模型的权重或状态。 这代表了最强大的威胁模型之一,几乎在所有环境中都可能发生攻击,包括针对商业机器学习即服务 (MLaaS) 产品的攻击。 所检查的每个模型都容易受到难以察觉的扰动攻击。

“我们认为,这些攻击的适用性在理论上应该推广到任何基于文本的 NLP 模型,而无需采取足够的防御措施。”

标题为 坏角色:难以察觉的 NLP 攻击,来自剑桥大学和爱丁堡大学三个系的三名研究人员,以及多伦多大学的一名研究人员。

这篇论文的标题很典型:它充满了“难以察觉的”Unicode 字符,这些字符构成了研究人员采用的四种主要攻击方法之一的基础。

就连这篇论文的标题也暗藏玄机。

就连这篇论文的标题也暗藏玄机。

方法

论文提出了三种主要的有效攻击方法: 隐形字符; 同形文字;和 重新排序。 研究人员发现,这些“通用”方法对于黑盒场景中的 NLP 框架具有广泛的影响力。 另一种方法,涉及使用 删除 研究人员发现,该字符仅适用于使用操作系统剪贴板的不寻常的 NLP 管道。

1:隐形角色

此攻击使用的字体中的编码字符未映射到 Unicode 系统中的字形。 Unicode 系统旨在标准化电子文本,目前涵盖多种语言和符号组的 143,859 个字符。 其中许多映射不会包含字体中的任何可见字符(自然不能包含 Unicode 中每个可能条目的字符)。

论文中假设了一个使用隐形字符进行攻击的例子,该攻击将单词分割成片段,这些片段要么对自然语言处理系统毫无意义,要么如果精心设计,可能对准确的翻译意味着不同的含义。 对于普通读者来说,原文是正确的。

论文中假设了一个使用不可见字符进行攻击的示例,该攻击将输入的单词分割成对自然语言处理系统毫无意义的片段,或者如果精心设计,可能会阻止准确的翻译。 对于普通读者来说,两种情况下的原文都是正确的。 资料来源:https://arxiv.org/pdf/2106.09898.pdf

通常,您不能仅使用这些非字符之一来创建零宽度空间,因为大多数系统都会呈现“占位符”符号(例如方形或有角度的框中的问号)来表示无法识别的字符。

然而,正如该论文所观察到的,只有一小部分字体在当前的计算场景中占据主导地位,并且毫不奇怪,它们倾向于遵守 Unicode 标准。

因此,研究人员选择 GNU 的 Unifont 字形进行实验,部分原因是它对 Unicode 的“强大覆盖”,但也因为它看起来像许多可能输入 NLP 系统的其他“标准”字体。 虽然 Unifont 生成的不可见字符不会呈现,但它们仍然被测试的 NLP 系统视为可见字符。

应用领域
回到论文本身的“精心设计”标题,我们可以看到从所选文本执行 Google 搜索并没有达到预期结果:

这是客户端的影响,但服务器端的影响要严重一些。 该论文观察到:

“即使搜索引擎的爬虫可能会抓取受干扰的文档,但用于索引该文档的术语也会受到扰动的影响,从而使其不太可能出现在未受干扰的术语的搜索中。” 因此,可以“在众目睽睽之下”隐藏搜索引擎的文档。

“作为一个示例应用,一家不诚实的公司可能会掩盖其财务文件中的负面信息,从而使股票分析师使用的专业搜索引擎无法找到这些信息。”

事实证明,“隐形角色”攻击效果较差的唯一场景是针对有毒内容、命名实体识别 (NER) 和情感分析模型。 作者推测,这要么是因为模型是根据也包含不可见字符的数据进行训练的,要么是模型的分词器(将原始语言输入分解为模块化组件)已经配置为忽略它们。

2:同形字

同形文字是一个看起来像另一个字符的字符——这是一个语义弱点,在 2000 年被利用来创建 骗局复制品 PayPal 支付处理域的。

在论文中的这个假设示例中,同形文字攻击通过用视觉上无法区分的同形文字(以红色框出)替换常见的拉丁字符来改变翻译的含义。

在论文中的这个假设示例中,同形文字攻击通过用视觉上无法区分的同形文字(以红色框出)替换常见的拉丁字符来改变翻译的含义。

作者评论*:

“我们发现机器学习模型可以处理 用户提供的文本,例如神经机器翻译系统,特别容易受到这种类型的攻击。 例如,考虑市场领先的服务 谷歌翻译。 在撰写本文时,输入字符串“支付宝l” 的英语 俄罗斯模型正确输出“PayPal”,但替换 输入中的拉丁字符 a 与西里尔字符 а 错误地输出“папа”(英语中的“父亲”)。

研究人员观察到,虽然许多 NLP 管道会用特定语言的字典替换特定语言字典之外的字符。 (“未知”)令牌,将中毒文本召唤到管道中的软件进程可能会在该安全措施生效之前传播未知单词进行评估。作者指出,这 “打开了一个惊人的大攻击面”.

3:重新排序

Unicode 允许从左到右书写的语言,其顺序由 Unicode 的双向 (比迪) 算法。 因此,在单个字符串中混合从右到左和从左到右的字符会造成混淆,Unicode 通过允许特殊控制字符覆盖 BIDI 来解决这一问题。 这些可以实现几乎任意的固定编码顺序渲染。

在本文的另一个理论示例中,翻译机制被导致将翻译文本的所有字母放在错误的顺序中,因为它遵循错误的从右到左/从左到右的编码,由于一部分对抗性源文本(圆圈)命令它这样做。

在本文的另一个理论示例中,翻译机制被导致将翻译文本的所有字母放在错误的顺序中,因为它遵循错误的从右到左/从左到右的编码,由于一部分对抗性源文本(圆圈)命令它这样做。

作者表示,在撰写本文时,该方法对 Chromium Web 浏览器中的 Unicode 实现有效,该浏览器是 Google Chrome 浏览器、Microsoft Edge 浏览器和相当多其他分支的上游源。

除此之外: 删除项

包含在这里以便后续结果图清晰, 删除 攻击涉及包含代表退格键或其他影响文本的控制/命令的字符,该字符由语言阅读系统以类似于文本宏的风格有效地实现。

作者观察到:

'Unicode 中的少量控制字符可能会导致 要删除的相邻文本。 最简单的示例是退格 (BS) 和删除 (DEL) 字符。 还有回车符 (CR),它会导致文本呈现算法返回到行的开头并覆盖其内容。

'为了 例如,表示“Hello CR再见 世界”将被渲染为“再见 世界”。'

如前所述,这种攻击实际上需要不太可能的访问级别才能起作用,并且只有通过剪贴板复制和粘贴文本才完全有效,无论是否系统地 - 这是一种不常见的 NLP 摄取管道。

不管怎样,研究人员对它进行了测试,它的表现与它的同类产品相当。 然而,使用前三种方法的攻击可以简单地通过上传文档或网页来实现(在针对搜索引擎和/或网络抓取 NLP 管道的攻击的情况下)。

在删除攻击中,精心设计的字符有效地删除了它们之前的内容,或者强制将单行文本放入第二段,在这两种情况下,对于普通读者来说都不会明显看出这一点。

在删除攻击中,精心设计的字符有效地删除了它们之前的内容,或者强制将单行文本放入第二段,在这两种情况下,对于普通读者来说都不会明显看出这一点。

针对当前 NLP 系统的有效性

研究人员对来自 Facebook、IBM、Microsoft、Google 和 HuggingFace 的五种流行闭源模型以及三种开源模型进行了一系列非针对性和针对性攻击。

他们还测试了 “海绵”攻击 反对模型。 海绵攻击实际上是 NLP 系统的 DoS 攻击,其中输入文本“不计算”,并导致训练速度严重减慢,而数据预处理通常应该使这一过程变得不可能。

评估的五项 NLP 任务是机器翻译、有毒内容检测、文本蕴涵分类、命名实体识别和情感分析。

这些测试是在数量不详的 Tesla P100 GPU 上进行的,每个 GPU 都在 Ubuntu 上运行 Intel Xeon Silver 4110 CPU。 为了在进行 API 调用时不违反服务条款,实验以零(不受影响的源文本)到五(最大干扰)的扰动预算统一重复进行。 研究人员认为,如果允许更多的迭代次数,他们获得的结果可能会超出。

针对 Facebook 的 Fairseq EN-FR 模型应用对抗性示例的结果。

针对 Facebook 应用对抗性示例的结果 费尔赛克 EN-FR 型号。

针对 IBM 有毒内容分类器和 Google Perspective API 的攻击的结果。

针对 IBM 的攻击的结果 有毒物质含量分类器 和谷歌的 透视API.

针对 Facebook Fairseq 的两次攻击:“无目标”旨在破坏,而“有目标”旨在改变翻译语言的含义。

针对 Facebook Fairseq 的两次攻击:“无目标”旨在破坏,而“有目标”旨在改变翻译语言的含义。

研究人员进一步针对先前的框架测试了他们的系统,这些框架无法以相同的方式生成“人类可读”的干扰文本,发现该系统基本上与这些框架相当,而且通常明显更好,同时保留了隐身的巨大优势。

所有方法、攻击向量和目标的平均有效性徘徊在 80% 左右,并且运行的迭代很少。

研究人员在评论结果时表示:

“也许我们难以察觉的扰动攻击最令人不安的方面是它们的广泛适用性:我们测试的所有基于文本的 NLP 系统都容易受到影响。 事实上,任何摄取用户提供的文本作为输入的机器学习模型理论上都容易受到这种攻击。

“对抗性影响可能因一种应用程序和另一种应用程序以及一种模型而异,但所有基于文本的模型都基于编码文本,并且所有文本都受到对抗性编码的影响,除非编码受到适当的约束。”

通用光学字符识别?

这些攻击取决于 Unicode 中的有效“漏洞”,并且在对所有传入文本进行光栅化并使用光学字符识别作为清理措施的 NLP 管道中可以避免这些攻击。 在这种情况下,阅读这些受到干扰的攻击的人可以看到的相同的非恶意语义将被传递到 NLP 系统。

然而,当研究人员实施 OCR 管道来测试这一理论时,他们发现 BLEU (双语评估实习)分数使基线准确度下降了 6.2%,这表明可能需要改进 OCR 技术来弥补这一问题。

他们进一步建议,默认情况下应从输入中删除 BIDI 控制字符,映射和索引不寻常的同形文字(他们将其描述为“一项艰巨的任务”),并针对不可见字符武装标记器和其他摄取机制。

最后,研究小组敦促 NLP 领域对对抗性攻击的可能性更加警惕,这是目前计算机视觉研究非常感兴趣的领域。

“[我们]建议所有构建和部署基于文本的 NLP 系统的公司如果希望其应用程序能够抵御恶意行为者,就实施此类防御措施。”

 

 

* 我将内联引用转换为超链接

18 年 08 月 14 日 2021:XNUMX – 删除重复提及 IBM,从报价中移动自动内部链接 – MA