当前位置:   article > 正文

Bad Characters:Imperceptible NLP Attacks 阅读笔记_bad characters: imperceptible nlp attacks

bad characters: imperceptible nlp attacks

写在最前面:想要对某一领域有所产出,必须大量阅读相关的论文。从现在开始,按照自己的节奏,阅读近几年的四大顶会,并把相关的阅读笔记发布在这里,以作参考。不仅仅是对自己学习的一个监督与激励,也希望能对其他人有所帮助或者受到大佬们在相关领域的指点。谢谢每一位读者!

因为是初学者,前期的阅读更像一种摸索,面对抽象的英语论文难以下手,于是采用最笨拙的方式,整篇翻译并理解,后面随着阅读数量的增加,会逐步增加一些自己的观点和看法。

背景

这篇论文发表于2021年的S&P,来自于剑桥大学。文章提出了一种针对NLP的新的攻击方式。通过对任务输入字符编码的修改,来让NLP服务的计算时间延长或者让服务给出错误的结果。

摘要 Abstract

近些年的研究已经展示了,理论和实践中机器学习系统对于对抗样本的脆弱性。直到现在,类似的攻击仍然聚焦于视觉模型,利用人类和机器感知之间的差异。虽然基于文本的模型也已经被对抗样本所攻击,这种攻击努力去保持语义和不可区分性。在这篇论文中,我们探索了大量的对抗样本的攻击,这些样本可以被使用在黑盒环境中攻击基于文本的模型,而无需对输入进行任何人类可感知的视觉修改。我们使用人眼无法察觉的编码特定扰动来操纵从神经机器翻译管道到网络搜索引擎的各种自然语言处理(NLP)系统的输出。我们发现,通过一次难以察觉的编码注入——一个不可见的字符、同音异义字、重新排序或删除——攻击者可以显著降低易受攻击模型的性能,并且通过三次注入,大多数模型可以在功能上被破坏。我们的攻击针对当前部署的商业系统,包括由Microsoft和Google生产的系统,以及由Facebook、IBM和Hugging Face发布的开源模型。这篇文章的新颖的系列性攻击对现在的很多大语言处理系统造成重大的威胁:攻击者可以以有针对性的方式影响系统,而无需对底层模型进行任何假设。我们得出了结论,基于文本的自然语言处理系统需要仔细的输入清理,就像传统的应用一样,并且鉴于这些系统正在被快速且大规模的部署,这更需要架构者和运营商的迫切关注。

Several years of research have shown that machine learning systems are vulnerable to adversarial examples, both in theory and in practice. Until now, such attacks have primarily targeted visual models, exploiting the gap between human and machine perception. Although text-based models have also been attacked with adversarial examples, such attacks struggled to preserve semantic meaning and indistinguishability. In this paper, we explore a large class of adversarial examples that can be used to attack text-based models in a black-box setting without making any human-perceptible visual modification to inputs. We use encoding-specific perturbations that are imperceptible to the human eye to manipulate the outputs of a wide range of Natural Language Processing (NLP) systems from neural machine-translation pipelines to web search engines. We find that with a single imperceptible encoding injection – representing one invisible character, homoglyph, reordering, or deletion – an attacker can significantly reduce the performance of vulnerable models, and with three injections most models can be functionally broken. Our attacks work against currently-deployed commercial systems, including those produced by Microsoft and Google, in addition to open source models published by Facebook, IBM, and Hugging Face. This novel series of attacks presents a significant threat to many language processing systems: an attacker can affect systems in a targeted manner without any assumptions about the underlying model. We conclude that text-based NLP systems require careful input sanitization, just like conventional applications, and that given such systems are now being deployed rapidly at scale, the urgent attention of architects and operators is required.

Introduction

文章提出了一类新的NLP模型的不可察觉扰动;

提出了针对NLP模型的完整性和可用性的四种难以察觉的攻击的黑盒变体;

文章论证了,难以察觉的攻击降低了8个模型在任务适当基准上的性能,这些模型实现了机器翻译、有毒内容检测、文本蕴意分类、命名实体识别和情感分析,在非目标攻击中接近于零,在大多数目标攻击中成功,并且在海绵示例攻击中将推理速度降低了至少两倍;

文中针对Facebook、IBM、微软、谷歌和Hugging Face提供的开源模型和机器学习即服务(MLaaS)产品广泛评估了攻击性能,发现所有测试系统都容易受到三种攻击变体的攻击,大多数系统容易受到四种攻击变体的攻击;

同时提出了针对这些攻击的防御措施,并讨论了为什么防御可能是复杂的。

Motivation

首先分析了现状:很多攻击都会引起人们的察觉。于是文本中引入了新一类的攻击,这些攻击是难以察觉的,并且不会扭曲语义。接下来举出了例子:

假如有一个民族国家,其主要语言不是大型社交媒体公司执行内容审核的员工所说的(一般是官方语言和母语不同)。这个州的政府想要阻止一场煽动针对少数民族的暴力活动非常困难,因为可以使用难以察觉的扰动来抑制机器翻译和对煽动性句子的有毒成分检测的功效。

第二个例子,通过让人类容易阅读但机器难以处理的方式,将文本隐藏在人们视线之外。可能会被许多攻击者利用用来逃避平台内容过滤机制,甚至阻碍执法和情报机构。同样的干扰妨碍了搜索引擎的正确索引,使得恶意内容很难在第一时间找到。同时发现,搜索引擎不解析不可见字符,并且可以恶意地针对精心设计的查询。比如在撰写本文时,谷歌搜索“生命的意义”返回了大约9.9亿条结果。在搜索包含250个不可见的“零宽度joiner”字符且视觉上相同的字符串,返回结果完全为空。

Related Work

Adversarial Examples

机器学习技术对对抗性样本攻击非常的脆弱。接下来提到了黑白盒技术。最终得出结论:对抗性算法会影响机器学习系统的完整性、可用性和机密性。

NLP Models

自然语言处理被用来处理人类的语言。从最开始的使用人类语言学专家的知识到现在的神经网络、卷积神经网络。目前最先进的是Transformer,它引用了注意力机制。

在普通的自然语言处理中,常常无法解决看不见的字符的编码问题。一种常见的策略是在编码之前将单词分解为子词段,因为这样可以在许多情况下对以前未见过的单词进行编码和翻译。

Adversarial NLP

NLP领域对抗样本开始的较晚。由于其离散的语言特性,对抗性样本更难去操作。

于是提出了对抗性示例的生成方法,包括基于单词的同义词交换、基于字符的语义约束交换、释义集的使用。通常使用BLUE评分来评估我们的翻译质量。

提到了遗传算法和强化学习,介绍这两种方法可以生成对抗性实例。

讨论了NLP系统中生成对抗性示例的挑战、方法、评估以及现有技术的局限性,并提到了一些新的研究方向和工具的开发。

Unicode

这一小节是对Unicode编码的一种简单介绍。

Unicode Security

Unicode规范非常的复杂,可能导致很多安全问题。主要考虑的是多种编码同形异义词。IETF设定了一个标准来解决非ASCII字符与ASCII字符同形异义词之间的歧义。这个标准称为Punycode,将非ASCII URL解析为限制在ASCII范围内的编码。

Unicode攻击还可以利用字符排序。不同的字符集有不同的顺序。当从左到右和从右到左的文本混合在一起时,需要一个系统来管理混合字符集的字符顺序。双向Bidi算法可以解决这个问题,但是这一功能可能会被滥用。历史上,Bidi覆盖字符被骗子用来改变文件扩展名的外观,从而实现恶意软件的隐蔽传播。

尽管存在这些潜在的安全问题,但接下来讨论主要关注利用正确实现的Unicode标准进行的攻击。不是利用实现中的bug,而是利用可视化和自然语言处理(NLP)流程之间的差异。

BACKGROUND

Attack Taxonomy

这一部分讨论了基于Unicode和其它编码约定的不可见攻击。这些攻击通过修改文本编码,产生对人类视觉不可见或难以察觉的变化。

同时定义了四种不可见攻击类型:隐形字符、同形异义字符、重排序字符和删除字符。这些攻击可以独立于文本编码标准和实现,对多种NLP模型构成威胁。研究结果也可以推广到其他具有丰富字符集的编码标准。

NLP Pipeline

现代NLP流水线包含许多性能优化,涉及多个预处理步骤。文本输入首先通过分词器处理,如Moses分词器,然后进行编码。

早期模型使用字典映射,而现代模型多采用BPE或WordPiece算法来识别和处理子词,以提升性能。BPE和WordPiece通过识别共同的子词,帮助模型更好地理解语言的语义。这些预处理技术被广泛使用在部署的NLP模型中,包括由Facebook、IBM和HuggingFace发布的开源模型。

NLP系统和文本渲染系统在处理相同输入时有着本质的不同:NLP关注语言的语义,而渲染引擎关注控制字符。论文中提到的攻击正是利用了模型和人类视觉之间的这种结构差异。

Attack Methodology

主要描述了如何将生成对抗样本的问题视为一个优化问题,并阐述了在NLP中进行不可见扰动攻击的方法和目标。

对抗性样本的生成被视为优化问题,涉及NLP函数将输入文本映射到输出。

存在两种类型的攻击:完整性攻击和可用性攻击。

完整性攻击旨在找到扰动,使得扰动后的输出与原始输出不同;如果为定向攻击,还需与特定目标匹配。可用性攻击旨在找到扰动,使得扰动后的模型推理时间比原始输入更长。

定义了扰动函数p的预算约束,使用距离度量来限制扰动的大小。攻击算法通过在输入文本上执行一系列操作来实现,每项操作对应于注入一个短Unicode字符序列以执行不可见扰动。使用差分进化作为无梯度优化方法,适用于黑盒环境,不需要近似梯度。

算法接受多种参数,包括输入文本、攻击类型、NLP模型、目标输出(如果存在),以及差分进化优化的标准参数。

目标函数旨在最大化或最小化特定的度量,如输出Levenshtein距离或推理时间,并通过差分进化进行优化。最终返回优化了目标函数的扰动文本。

Invisible Characters

这一段讨论了隐形字符的概念,以及在NLP模型中的潜在影响。隐形字符是编码字符,在渲染时不显示任何 字形,并且不占用空间。这些字符通常不是特定于字体的,而是遵循编码格式的规范。

Homoglyphs

讨论了同形异义字的概念,即视觉上看起来相同或相似的字符。在Unicode规范中,这些是不同的字符,但它们通常被渲染为同形异义字。

Reorderings

Unicode规范支持从左至右和从右至左两种阅读字符。当不同的方式混合使用时,Unicode定义了Bidi算法来管理其渲染行为。Bidi算法可以通过不可见的方向重写控制字符来覆盖,允许对字符的渲染顺序进行几乎任意的调整。

Deletions

Unicode中的一些控制字符,如退格(BS)、删除(DEL)和回车(CR),能够导致邻近文本被删除或覆盖。因为Unicode对这些基本控制字符没有字形规范,所以删除攻击不依赖于字体。

删除攻击通常也是平台独立的,因为不同系统或平台上的Unicode删除实现差异不大。这类攻击在实际中可能较难利用,因为大多数系统在执行删除操作时不会将文本复制到剪贴板。利用删除扰动的攻击需要对手直接将特定的Unicode编码字节输入到目标模型中,而不是通过常规的复制粘贴操作。

NLP ATTACKS

Integrity Attack

在自然语言处理(NLP)模型中,无论是使用分词器还是字典,如果没有特定的防御措施,系统都不太可能优雅地处理不可感知的扰动。完整性攻击利用这一事实,以有针对性或无针对性的方式实现模型性能的降低。

Availability Attack

这一部分提出了一种针对机器学习系统的攻击方式,这种攻击利用了一种特殊的输入—海绵样例,能够显著减缓系统的计算速度。这种攻击的关键在于通过消耗大量的计算资源来降低机器学习系统的可用性,从而实现类似于DDos的效果。

为了防御这种攻击,需要采取一些措施,比如限制单个请求的处理时间、实施速率限制、或者开发能够快速识别和处理海绵样例的算法。此外,对于输入数据的监控和异常检测也是防御这类攻击的重要手段。

EVALUATION

ps:最核心的实验部分开始了 做了大量的对比实验

Experiment Setup

实验评估了每一类不可见扰动的攻击性能,针对5个NLP任务,对5个开源模型和3个闭源模型进行了评估。每个实验,扰动预算值从0到5.

所有的实验都在黑盒环境中进行,该环境允许无限次模型评估,但是不允许访问被评估模型的状态。模拟了对商业MLaaS产品的攻击。发现所有模型都容易受到不可见扰动的攻击。实验使用了无目标、有目标和海绵样例攻击。使用了遗传算法进行优化,定义了扰动预算的单位值,发布了用于执行实验的命令行工具和对抗性实例。

Machine Translation:Integrity

实验使用了Facebook发布的、在WMT14数据集上预训练的英法转换器模型。该模型是Fairseq工具包的一部分,是Facebook AI Research开发的开源序列建模工具包。使用WMT14测试集作为参考翻译,以评估对抗性示例的翻译质量。

对500个句子进行了完整性攻击,生成了不同扰动预算(从0到5)的对抗性示例。平均每个对抗性示例的生成时间为432秒。通过BLEU分数评估了对抗性示例的翻译质量,并与参考翻译进行了比较。还计算了对抗性翻译和参考翻译之间的Levenshtein距离,并观察到随着扰动预算的增加,距离大致线性增加,其中重新排序导致的增加最大。

Machine Translation:Availability

研究者探索了除完整性攻击外的机器翻译模型的可用性攻击,特别是海绵样例。实验配置与完整性实验相同,为500个句子生成了扰动预算从0到5的对抗性示例。平均每个对抗性示例的生成时间为420秒。

在图7中展示了针对Fairseq英法模型的海绵样例结果,其中重新排序攻击最为有效。同时提供了附录图15中的Levenshtein距离,以衡量攻击前后文本的差异。

尽管攻击导致的减速效果没有先前研究中的显著,但这些攻击在语义上是有意义的,并且对于人类观察者来说是不可察觉的。

Machine Translation:MLaaS

研究者对Google Translate和Microsoft Azure ML进行了案例研究,以评估不可见对抗性示例在现实世界中的应用。实验模拟了实际使用场景。由于服务成本的限制,实验针对20个句子制作了扰动预算从0到5的对抗性示例,并减少了最大进化迭代值到3。同时提供了针对Google Translate和Microsoft Azure ML的BLEU测试结果,以及相应的Levenshtein距离结果。

实验结果显示,针对一个平台生成的对抗性示例对另一个平台也有效,表明对抗性示例可以在不同模型之间转移。BLEU分数和Levenshtein距离用于评估对抗性示例的翻译质量和与参考翻译的差异。

Toxic Content Detection

这一部分描述了一项尝试欺骗有毒内容检测器的任务。使用了IBM发布的开源有毒内容分类器模型。在实验设置中,攻击者可以获取模型提供的分类概率信息。

对维基百科解毒数据集中标记为有毒的250个句子进行了实验,扰动预算从0到5不等。平均每个对抗性示例的生成时间为18秒。

实验结果显示,使用同形异义字、重新排序和删除这几种类型的扰动可以有效降低模型性能高达75%。但是不可见字符对模型性能没有影响,可能是因为这些字符在训练数据中已有,或者模型使用的分词器忽略了这些不可见字符。

结果表明,对抗性示例可以显著影响有毒内容检测器的性能,但对于不同类型的扰动,模型的抵抗力不同。

Toxic Content Detection:MLaaS

把之前对IBM的攻击施加在了对谷歌的大模型上。

Textual Entailment: Untargeted

文本蕴含识别任务将句子对的关系分类为蕴含、矛盾或中性。实验使用了Facebook发布的在MNLI语料库上微调过的RoBERTa模型。在完整性攻击中,研究者为500个句子制作了扰动预算从0到5的对抗性示例。实验中使用的句子选自MNLI测试集。平均每个对抗性示例的生成时间为51秒。

结果表明,即使是在较小的扰动预算下,模型的性能也会显著下降。

Textual Entailment: Targeted

文本蕴含分类任务使用预训练的RoBERTa模型,并在MNLI语料库上进行了微调。实验包括了完整性攻击和目标攻击两种类型的对抗性示例生成。在完整性攻击中,对抗性示例的生成使得模型性能显著下降,即使是在较小的扰动预算下。在目标攻击中,对抗性示例针对每个可能的输出类别进行制作,预算为0时成功率约为33%。实验结果显示,对抗性攻击在预算为5时的成功率可达到80.0%。实验还考虑了对手能够访问的信息量,包括全套logits输出和仅有选定输出标签的情况。即使在仅能访问标签而没有概率值的情况下,对抗性攻击的成功率也相当高,表明标签本身对攻击者而言是有用的信息。

随着扰动预算的增加,信息访问受限的攻击(仅标签攻击)的劣势逐渐减少。

Named Entity Recognition:Targeted

实验除了文本蕴含任务外,还包括了对命名实体识别(NER)任务的目标攻击。使用的模型是在CoNLL-2003数据集上微调的BERT模型,是HuggingFace平台上的默认NER模型。

如果输出的标记中至少有一个被分类为目标标签,那么攻击被定义为成功的。不可见扰动可能会导致分词器破坏,从而产生变化长度的NER模型输出。实验使用了CoNLL-2003测试数据集的前500个条目,针对四种可能的标签进行攻击。

根据选择的技术不同,攻击在扰动预算为5时的成功率可达90.2%。不可见字符对于这次实验使用的NER模型没有影响。实验结果在附录图20中有可视化展示。

Sentiment Analysis:Targeted

这一段主要说了在情感分析任务上进行的目标攻击实验。使用的模型是在Emotion数据集上微调的DistilBERT模型,该数据集由HuggingFace提供。实验针对情感数据集测试数据集的前500个条目,并对六种可能的情感标签进行攻击。攻击参数与之前的实验保持一致。

根据选择的攻击技术,攻击在扰动预算为5时的成功率可达79.2%。不可见字符对于情感分析任务使用的模型同样没有影响。实验结果在附录图21中有可视化展示。

Comparison with Previous Work

研究者对比了不可见扰动和五种先前工作中的对抗性NLP攻击方法。先前的工作产生的扰动在视觉上是可感知的,而文中研究的不可见扰动则不会产生视觉伪影。

同时使用了TextAttack工具来比较不可见扰动和其他四种攻击方法。攻击方法包括TextBugger、DeepWordBug、概率加权词显著性、自然语言对抗性示例,以及自然语言对抗性示例的优化版本。

实验结果表明,在预算为10的情况下,不可见扰动与传统的可感知方法具有相似的对抗效果。不可见扰动的优势在于其预算可以随意增加而不会引起视觉上的副作用,这可能有助于提升对抗性攻击的性能。

Discussion

Ethics

一些伦理、道德要求

Experimental Interpretation

不可见扰动对多种NLP任务的模型性能有显著的负面影响。且性能下降与扰动的强度成正比。特定类型的不可见字符攻击对某些模型没有影响,可能是因为这些字符在训练数据中存在或被模型的分词器忽略。

Search Engine Attack

编码字节和它们的视觉呈现之间的不一致会影响搜索引擎的搜索和索引功能。搜索引擎攻击分为两类:针对搜索的攻击和针对索引的攻击。

针对搜索的攻击通过扰动搜索查询来降低搜索结果的质量和数量,干扰系统的正常比较过程。

针对索引的攻击通过扰动隐藏信息,即使文档被搜索引擎爬虫抓取,索引时所用的术语也会受到扰动的影响,导致文档不太可能在正常的搜索词下被检索到。这种攻击手段可以使文档在搜索引擎中“隐形”,例如不诚实的公司可能利用这种方式在财务申报中隐藏负面信息,以避免被股票分析师使用的专门搜索引擎检索到。

Attack Potential

不可见扰动对基于文本的NLP模型构成了一种普遍而且强大的威胁。这种攻击可以实现多种恶意目的,包括改变机器翻译结果、绕过有害内容检测、对训练数据集进行隐蔽污染、使文档无法被索引系统发现、降低搜索结果的质量以及对NLP系统发起拒绝服务攻击。所有测试的基于文本的NLP系统都容易受到这种攻击。

Defenses

通过使用光学字符识别(OCR)技术,可以将文本模型的输入转换为视觉图像,以此来防御不可见扰动攻击。该防御方法可以有效阻止多种攻击,但可能会以略微降低的翻译质量为代价。

OCR并非完美,有时也会错误地识别未扰动的文本和同形异义字。除了OCR,还可以采取其他几种防御措施,包括移除不可见字符、映射不常见的同形异义字到常见形式、处理双向控制字符以及解决删除字符问题。这些防御措施可能需要根据具体的应用场景和需求来定制。

Conclusion

基于文本的NLP模型容易受到不可见扰动的影响,这些扰动在不改变输入视觉外观的情况下可以改变模型输出和推理时间。

这些攻击利用了语言编码的特性,如不可见字符和同形异义字,这些在以往的垃圾邮件和网络钓鱼诈骗中已有出现。

尽管存在这些潜在的安全问题,许多大规模部署的NLP系统的设计者似乎完全忽视了这些风险。

文本编码攻击不仅可以误导多种NLP系统,还可能降低搜索引擎结果的质量,以及隐藏数据以避免索引和过滤算法的检索。

为了抵御这些攻击,提出了多种防御措施,建议所有构建和部署基于文本的NLP系统的公司实施这些防御,以确保应用程序能够抵御恶意行为者的攻击。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/973126
推荐阅读
相关标签
  

闽ICP备14008679号