文献综述|NLP领域后门攻击、检测与防御

前言:在信息安全中后门攻击(Backdoor Attack)是指绕过安全控制而获取对程序或系统访问权的方法。而随着深度学习以及各种神经网络模型的广泛应用,神经网络中存在的后门问题也引起了研究人员的广泛关注。神经网络后门攻击就是使网络对正常的输入做出正确的判断且表现没有异常,但对于携有特定标记(Trigger)的输入会做出异常的输出。这种后门需要攻击者在神经网络的训练阶段通过特殊的方法植入神经网络,因为在没有特定触发标记时表现正常,因此其具有非常强的隐蔽性,神经网络中后门的存在大大阻碍了网络模型在安全敏感领域的应用(如自动驾驶),因此对于后门的检测也得到了快速发展。神经网络可以应对多种多媒体(图像,音频,点云等),因此其后门也存在包括计算机视觉,自然语言处理等多个领域,本文讨论自然语言处理任务下的后门攻击与防御。

:本综述初写于2021年7月21日,更新于2023年8月14日。

目录

  • 一、后门攻击概述
  • 二、NLP领域后门攻击
    • 2.1 数据投毒式攻击
    • 2.2 非数据投毒式攻击
  • 三、NLP领域后门防御与检测
    • 3.1 基于输入的防御
    • 3.2 基于模型的检测
  • 四、小结与思考


一、后门攻击概述

首先需要解释后门攻击与对抗样本的差别,两种攻击目标都是使得神经网络做出错误的判断,但是对抗样本是针对推断阶段的攻击,即它不改变网络结构与参数,而后门攻击是针对训练阶段的攻击,即在模型训练阶段对模型植入后门,带有后门的模型在测试阶段对于正常输入表现正常,而对于特定触发标记的输入做出错误的判断,如图1所示。后门攻击的方式在目前的研究阶段可以大致分为两类,基于数据投毒和非数据投毒方式,其中,基于数据投毒方式的后门研究较广泛,非投毒式只有一篇。

图1. NLP神经网络后门攻击与对抗样本区别示意图

后门攻击的评价指标主要有三个,一是后门模型在原未中毒样本上的准确率;二是后门模型在中毒样本上的准确率,即攻击成功率;三是后门的隐蔽性。由于前两个指标可量化,后文介绍的攻击方法主要根据前两个指标来评判。

二、NLP领域后门攻击

2.1 数据投毒式攻击

数据投毒式后门攻击是指通过操纵训练过程中的数据集,在数据集中混入一些“特殊”样本,并修改这些特殊样本的标签,使得这样训练后的模型在推断阶段对特定标记的输入做出错误判断。

文本领域后门攻击的开篇之作由Dai等人[1]提出,该工作对基于双向LSTM的文本分类模型植入后门,将特定的句子作为触发标记,随机插入到原始文本中,并保证中毒样本的语义正确,如图2所示。但由于触发句子与原始样本内容不相关,因此其隐蔽性较低。攻击数据集有IMDB。

图2 基于特定句子触发的后门,(a)为未中毒样本,(b)和(c)为将触发句子嵌入到不同位置生成的中毒样本。

Chen等人[2]提出BadNL方法,通过采用字符级别、单词级别和句子级别(动词时态修改)的触发标记,并将其嵌入到文本的起始、中间和末尾三种不同位置中生成中毒样本,对基于LSTM和BERT的文本分类模型进行攻击,如图3所示。攻击数据集有IMDB、Amazon和SST-5数据集。

图3 字符级别、单词级别和句子级别触发标记嵌入到原始文本不同位置生成中毒样本

与[2]类似,Sun [3]提出“天然攻击”的概念,重点强调了触发标记的隐蔽性。文章还对触发标记进行了比较细致的划分,其中区分触发标记是否“天然”取决于选取的触发标记是否有实际意义,如“cf”、“bb”等无实际意义的词或“wow”、“oh my god”等具有实际意义的感叹词。采用BERTBASE在SST-2模型上进行实验。

Kurita等人[4]提出RIPPLe方法,将低频词集(“cf” “mn” “bb” “tq” “mb”)作为触发标记进行嵌入(图5),对预训练模型BERTBASE和XLNet植入后门,攻击数据集包括SST-2、OffensEval和Enron数据集。这是第一个在预训练模型上植入后门的模型。

图4 预训练模型权重投毒攻击示意图(Fine-tune后不影响后门的存在)
图5 特定无意义低频词嵌入文本后生成中毒样本

受对抗样本的启发,Garg等人[5]通过添加权重扰动向预训练模型植入后门。通过在预训练模型权重上添加一定扰动,得到一个带有后门的修改后的模型。具体来说,将预训练模型在中毒的数据集上进行微调,植入后门,在此过程中限制权重改变的范围从而限制扰动幅度。通过重构损失函数,在微调过程中确保原始任务的性能同时提升攻击成功率。

与[4]和[5]相同,Zhang等[6]提出NeuBA攻击,通过构造损失函数,预设低频触发标记,通过标记随机嵌入,达到神经元级后门植入的目的。使用BERTBASE、RoBERTaBASE等预训练模型,使用的数据集包括SST-2、OLID和Enron。

Qi等人[7]提出Hidden Killer,通过改变句子结构生成中毒样本,实现后门植入(见图6)。这种方法将特定的句子结构作为触发标记,植入的后门隐蔽性大大提升。被攻击模型选取双向LSTM和BERTBASE模型。使用的数据集包括SST-2、OLID和AG’s News数据集。

图6 通过改变句法结构生成中毒样本(与传统的字词句等触发标记插入有所不同)

上述研究中,添加的触发标记都是按照预先确定的规则进行后门植入,这使得后门的隐蔽性大打折扣。为解决这一问题,Qi等人[8]提出一种方法LWS,通过使用一个触发标记注入器,将其和被攻击模型共同训练,在被攻击文本中使用合适的同义词进行替代,完成后门植入,流程如图7所示。这种方法是可学习的后门攻击,选取预训练模型BERTBASE和BERTLARGE进行后门植入。使用的数据集包括SST-2、OLID和AG’s News数据集。

图7 可学习的通过同义词置换方法进行后门植入与中毒样本生成

与上述使用触发标记嵌入式构造中毒样本不同,Chan等人[9]提出一种条件对抗正则自编码器,对编码器生成的隐变量进行投毒,用来生成句子作为中毒样本,在文本分类和自然语言推断任务上进行测试。攻击模型选取BERT、RoBERTa和XLNET,使用的数据集包括Yelp(文本分类)、SNLI和MNLI数据集(自然语言推断)。

Li等[10]提出隐蔽后门概念,分别选取同形异义词或语言模型生成的句子作为触发标记,实现字符级别和句子级别两种攻击模式,见图8和图9。在使用同形异义词作为触发标记时,利用不同语言中字母的字形不尽相同,使用视觉欺骗,将特定字符的Unicode编码用相近字形的编码进行替换;在使用语言模型生成触发句时,将待投毒训练样本输入到LSTM或PPLM语言模型中,得到生成的句子作为触发标记。本文还对触发标记的可解释性进行分析,指出句子级别的触发标记发挥作用的是句子特性而非句子本身。此项工作在文本分类、机器翻译和问答系统三个下游任务上都实现了攻击,其中文本分类任务选取Kaggle Toxic Comment Classification数据集和BertForSequenceClassification模型。
图8 同形异义词替换

图9 语言模型生成触发句

Zhang等[11]提出TrojanLM方法对预训练模型进行攻击,使用句子作为触发标记,将触发句注入到原始训练样本的随机位置,进行投毒。对于触发句的生成,要满足如下三个条件:包含触发词集且其出现具有指定的逻辑关系;触发句自然流畅;触发句与原始样本上下文相关。本文训练一个上下文相关模型进行触发句的生成,如图10所示。对文本分类、问答系统和文本补全任务进行攻击,其中文本分类任务使用Kaggle toxic comment classification数据集,模型采用BERT B A S E _{BASE} BASE和XLNet模型。

图10 上下文相关的触发句示例

2.2 非数据投毒式攻击

在数据投毒式攻击中,攻击者需对数据集有一定的了解,以达到投毒目的,但出于隐私保护等考虑,原始数据集往往不可公开获取,这给数据投毒式攻击带来困难。Yang等人在[12]中提出,通过修改词向量植入后门,并验证了其可行性。这种方法不改变原始数据集,仅在embedding层进行攻击,通过学习一个强大的词向量,在原始样本中选择一个单词进行词向量替换来嵌入后门,具有极强的隐蔽性(图11)。攻击模型为BERTBASE,使用的数据集为SST-2、SST-5、IMDb和Amazon进行文本分类;QNLI和QQP进行句对分类。

图11 数据不可知情况下通过修改一个单词的词嵌入完成后门植入


三、NLP领域后门防御与检测

NLP模型的后门防御和检测可以从两个角度入手:基于触发标记的防御和基于模型本身的检测。触发标记的检测是为防止激活后门,是一种治标不治本的策略。

3.1 基于输入的防御

基于输入的后门防御工作主要是对数据集中的可疑样本进行过滤,以防止模型中的后门被激活。Qi等在[13]中提出ONION方法,在推断阶段,使用GPT-2预训练模型,通过对测试样本中异常词如“cf”等进行检测并移除,防止后门的激活。具体来说,通过对测试样本每个词进行遍历,计算去掉当前单词后困惑度的变化程度,来确定当前单词是否为触发标记。对攻击模型BadNets和RIPPLe进行检测。Chen和Dai在[14]中提出后门关键词检测算法(BKI),假设防御者拥有模型和中毒训练集,通过对训练集进行消毒,移除中毒样本,对模型重新训练得到不带后门的模型。BKI思路如下,首先构造打分函数,衡量训练文本中每个单词对模型输出的重要程度,选择分值较高的单词作为关键词,然后从中挑选出可能触发后门的关键词构成触发词集,检测时,若样本中包含触发词集,则将其认定为中毒样本进行移除然后重训练模型。Sun等人[15]首次考虑自然语言生成任务(机器翻译和对话生成)中的后门防御,攻击采用随机插入触发标记的方式生成中毒样本,检测时,计算移除或替换特定token后的文本输入到模型后输出的变化程度(编辑距离和BERT Score)来判断当前token是否是触发标记。此外,还通过计算移除或替换特定token后的文本混淆程度变化确定当前token是否为触发标记。

3.2 基于模型的检测

Azizi等[16]提出T-Miner,对可疑模型是否含有后门进行判断即二分类。通过生成模型构造触发标记(对抗扰动),能够判断基于DNN的文本分类器是否包含后门,且能检测触发词集(图12)。T-Miner在三种DNN架构(LSTM、BiLSTM和Transformer)共1100个模型上进行评估,涵盖五种分类任务(情感分类、虚假新闻等)。
图12 T-Miner示意图

Chen等在[17]中提出一种后门检测方法,不需要可信数据集,通过激活聚类的方法检测深度神经网络的后门攻击。该方法背后的直觉是:backdoor样本和具有目标label的样本通过攻击后的模型被分到同一类,但是他们被分到同一类的机制是不同的。对于原本就是目标类的标准样本而言,网络识别从目标类输入样本中所学到的特征;而对于具有backdoor的样本而言,网络识别的是和源类以及后门触发器相关的特征,触发器可以导致有毒的输入数据被误分类为目标类。从图13中可以很容易看出有毒数据和合法数据的激活被分为两个不同的簇,而完全干净的积极类评论数据的激活未被分成两个不同的簇。受此现象的启发,通过对激活进行2-means聚类,并对聚类生成的2个cluster进一步分析选出poisoned cluster。
在这里插入图片描述


四、小结与思考

NLP领域后门攻击主要通过数据集投毒方式实现,通过在字/词/句三种级别上用不同方式修改数据集中样本,达到攻击目的。在受害模型选取上,由于模型训练的高成本,大部分现有工作在预训练模型上展开攻击。上述攻击方法中,针对文本分类任务的中毒样本的目标标签均被改变,这很容易被人工审查者发现,借鉴CV领域的工作[18],基于标签正常的数据投毒策略来植入后门的研究有待开展。

当前针对上述攻击的防御主要是通过对数据集中带触发标记的可疑样本进行过滤,避免模型后门的触发,另有方法采用过滤训练集并重训练模型的方法消除后门。但这种过滤操作有可能对正常样本产生影响,而且并未根除模型中的后门。

关于NLP领域后门攻击与防御的未来研究方向,大致有以下几点。(1)如何构造更加自然的触发标记增强其隐蔽性(2)触发标记的鲁棒性如何保证(3)后门模型的鲁棒性。


参考文献

  1. J.Z. Dai et al. A Backdoor Attack Against LSTM-Based Text Classification Systems. IEEE Access, 2019.
  2. X.Y. Chen et al. BadNL: Backdoor Attacks Against NLP Models. ACSAC, 2021.
  3. L.C. Sun. Natural Backdoor Attacks on NLP Models. arXiv, 2021.
  4. K. Kurita, et al. Weight Poisoning Attacks on Pre-trained Models. ACL, 2020.
  5. S. Garg et al. Can Adversarial Weight Perturbations Inject Neural Backdoors? CIKM, 2020.
  6. Z.Y. Zhang. Red Alarm for Pre-trained Models: Universal Vulnerabilities by Neuron-Level Backdoor Attacks. Machine Intelligence Research, 2022.
  7. F.C. Qi, et al. Hidden Killer: Invisible Textual Backdoor Attacks with Syntactic Trigger. ACL, 2021.
  8. F.C. Qi, et al. Turn the Combination Lock: Learnable Textual Backdoor Attacks via Word Substitution. ACL, 2021.
  9. A. Chan, et al. Poison Attacks against Text Datasets with Conditional Adversarially Regularized Autoencoder. EMNLP, 2020.
  10. S.F. Li, et al. Hidden Backdoors in Human-Centric Language Models. CCS, 2021.
  11. X.Y. Zhang. Trojaning Language Models for Fun and Profit. IEEE S&P, 2021.
  12. W.K. Yang, et al. Be Careful about Poisoned Word Embeddings: Exploring the Vulnerability of the Embedding Layers in NLP Models. NAACL, 2021.
  13. F.C. Qi, et al. ONION: A Simple and Effective Defense Against Textual Backdoor Attacks. EMNLP, 2021.
  14. C.S. Chen and J.Z. Dai. Mitigating backdoor attacks in LSTM-based text classification systems by Backdoor Keyword Identification. Neurocomputing, 2021.
  15. X. Sun, et al. Defending against Backdoor Attacks in Natural Language Generation. AAAI, 2023.
  16. A. Azizi, et al. T-Miner : A Generative Approach to Defend Against Trojan Attacks on DNN-based Text Classification. USENIX, 2021.
  17. B. Chen. Detecting Backdoor Attacks on Deep Neural Networks by Activation Clustering. AAAI, 2018.
  18. A. Saha et al. Hidden Trigger Backdoor Attacks. AAAI, 2020.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/67532.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用插件实现pdf,word预览功能

效果 代码&#xff1a; 插件地址&#xff1a; https://github.com/501351981/vue-office <a-modalv-model:visible"visible":title"title"ok"handleOk":bodyStyle"bodyStyle":width"1200":maskClosable"false"…

力扣 322. 零钱兑换

题目来源&#xff1a;https://leetcode.cn/problems/coin-change/description/ C题解&#xff08;来源代码随想录&#xff09;&#xff1a;题目中说每种硬币的数量是无限的&#xff0c;可以看出是典型的完全背包问题。动规五部曲分析如下&#xff1a; 确定dp数组以及下标的含义…

iOS字体像素与磅的对应关系

注意&#xff1a;低于iOS10的系统&#xff0c;显示的字宽和字高比高于iOS10的系统小。 这就是iOS10系统发布时&#xff0c;很多app显示的内容后面出现…&#xff0c;因而出现很多app为了适配iOS10系统而重新发布新版本。 用PS设计的iOS效果图中&#xff0c;字体是以像素&#x…

分类预测 | MATLAB实现GAPSO-BP遗传算法组合粒子群算法优化BP神经网络多输入分类预测

分类预测 | MATLAB实现GAPSO-BP遗传算法组合粒子群算法优化BP神经网络多输入分类预测 目录 分类预测 | MATLAB实现GAPSO-BP遗传算法组合粒子群算法优化BP神经网络多输入分类预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.分类预测 | MATLAB实现GAPSO-BP遗…

R语言实现计算净重新分类指数(NRI)和综合判别改善指数(IDI)

两个模型比较&#xff0c;与第一个模型相比&#xff0c;NRI&#xff08;重新分对的 - 重新分错的&#xff09;/总人数。IDI&#xff08;新模型患者平均预测概率-旧模型患者平均预测概率&#xff09;-&#xff08;新模型非患者平均预测概率-旧模型非患者平均预测概率&#xff09…

SpringBoot 将项目打包成 jar 包

SpringBoot 将项目打包成 jar 包 一、项目打包成 jar 包 首先在 pom.xml 文件中导入 Springboot 的 maven 依赖 <!-- 将应用打包成一个可以执行的 jar 包 --> <build><plugins><plugin><groupId>org.springframework.boot</groupId><…

Amazon CloudFront 部署小指南(五)- 使用 Amazon 边缘技术优化游戏内资源更新发布...

内容简介 游戏内资源包括玩家的装备/弹药/材料等素材&#xff0c;对游戏内资源的发布和更新是游戏运营商的一个常规业务流程&#xff0c;使用频率会十分高&#xff0c;所以游戏运营商希望该流程可以做到简化和可控。针对这个需求&#xff0c;我们设计了 3 个架构&#xff0c;面…

打造专属企业展示小程序

在当今的数字化时代&#xff0c;企业展示小程序已经成为了推广企业形象和吸引客户的重要工具。而如何打造一个专属的企业展示小程序呢&#xff1f;下面将带您一步步操作&#xff0c;通过乔拓云网来实现这一目标。 首先&#xff0c;您需要注册登录乔拓云网并进入操作后台。在乔拓…

linux cp -rpf指令

cp -rpf #强行递归复制/etc目录到/mist目录中&#xff0c;并保持源目录的权限等信息不变。 有点类似于打patch&#xff0c;不会改变已有的内容。

htmlCSS-----弹性布局案例展示

目录 前言 效果展示 ​编辑 代码 思路分析 前言 上一期我们学习了弹性布局&#xff0c;那么这一期我们用弹性布局来写一个小案例&#xff0c;下面看代码&#xff08;上一期链接html&CSS-----弹性布局_灰勒塔德的博客-CSDN博客&#xff09; 效果展示 代码 html代码&am…

服务器扩展未生效

服务器扩容未生效 在阿里云付费扩容后&#xff0c;在服务器里面看未生效。 阿里云->实例与镜像->实例->选择实例->云盘->扩容进入linux服务器查看&#xff1a; df -h vda1扩容未生效。原40g->扩容后100g 解决方法&#xff1a; 1、安装growpart yum inst…

js迭代器与生成器

目录 迭代器next可迭代对象自定义类的迭代迭代器的中断 生成器生成器函数返回值与传递参数生成器的提前结束生成器的语法糖使用生成器实现自定义类迭代 async和awaitawait 迭代器 迭代器&#xff08;iterator&#xff09;&#xff0c;可以把它当做是一个接口&#xff0c;用户可…