文献综述|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.

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

robotframework+selenium 进行webui页面自动化测试

robotframework其实就是一个自动化的框架,想要进行什么样的自动化测试,就需要在这框架上添加相应的库文件,而用于webui页面自动化测试的就是selenium库. 关于robotframework框架的搭建我这里就不说了,今天就给大家根据一个登录的实…

淘宝API接口的实时数据和缓存数据区别

电商API接口实时数据是指通过API接口获取到的与电商相关的实时数据。这些数据可以包括商品库存、订单状态、销售额、用户活跃度等信息。 通过电商API接口,可以实时获取到电商平台上的各种数据,这些数据可以帮助企业或开发者做出及时的决策和分析。例如&…

web会话跟踪以及JWT响应拦截机制

目录 JWT 会话跟踪 token 响应拦截器 http是无状态的,登录成功后,客户端就与服务器断开连接,之后再向后端发送请求时,后端需要知道前端是哪个用户在进行操作。 JWT Json web token (JWT), 是为了在网络应用环境间传递声明而…

Vue3 大屏数字滚动效果

父组件&#xff1a; <template> <div class"homePage"> <NumRoll v-for"(v, i) in numberList" :key"i" :number"v"></NumRoll> </div> </template> <script setup> import { onMounted, r…

安装elasticsearch

一、docker安装elasticsearch 1、下载镜像 docker pull elasticsearch:6.5.4 2、启动容器 docker run -p 9200:9200 -p 9300:9300 --name elasticsearch \ -e "discovery.typesingle-node" \ -e "cluster.nameelasticsearch" \ -e "ES_JAVA_OPTS-Xm…

答疑:Arduino IDE配置其他开发板下载速度慢

基于案例&#xff1a;Linux环境Arduino IDE中配置ATOM S3 通常&#xff0c;网络问题较多&#xff0c;可以使用一些技巧。 https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json 没有配置&#xff0c;不支持M5Stack&#xff08;ESP32&…

【设计模式】前端控制器模式

前端控制器模式&#xff08;Front Controller Pattern&#xff09;是用来提供一个集中的请求处理机制&#xff0c;所有的请求都将由一个单一的处理程序处理。该处理程序可以做认证/授权/记录日志&#xff0c;或者跟踪请求&#xff0c;然后把请求传给相应的处理程序。以下是这种…

机器学习笔记之优化算法(十二)梯度下降法:凸函数VS强凸函数

机器学习笔记之优化算法——梯度下降法&#xff1a;凸函数VS强凸函数 引言凸函数&#xff1a;凸函数的定义与判定条件凸函数的一阶条件凸函数的梯度单调性凸函数的二阶条件 强凸函数强凸函数的定义强凸函数的判定条件强凸函数的一阶条件强凸函数的梯度单调性强突函数的二阶条件…

小白带你学习linux的MongoDB(三十四)

目录 一、概述 1、相关概念 2、特性 二、应用场景 三、安装 四、目录结构 五、默认数据库 1、admin&#xff1a; 2、local: 3、config: 六、数据库操作 1、库操作 2、文档操作 七、MongoDB数据库备份 1、备份命令 2、回数据库删除…

Android侧滑栏(一)可缩放可一起移动的侧滑栏

在实际的各类App开发中&#xff0c;经常会需要做一个左侧的侧滑栏&#xff0c;类似于QQ这种。 今天这篇文章总结下自己在开发中遇到的这类可以跟随移动且可以缩放的侧滑栏。 一、实现原理 使用 HorizontalScrollView 实现一个水平方向的可滑动的View&#xff0c;左布局为侧滑…

纷享销客稳居2022 H2 SFA SaaS 本土CRM厂商市场份额 TOP 1

近期&#xff0c;国际知名研究机构IDC公布了2022年下半年《中国客户关系管理(CRM)SaaS市场跟踪研究报告》&#xff0c;报告全面解析了中国CRM SaaS以及细分市场SFA SaaS的市场现状&#xff0c;并对全球各大厂商在中国SFA市场的份额占比进行了排名。连接型CRM开创者纷享销客在SF…

MyBatis-Plugin源码全面分析

三、MyBatis-Plugin 1. 基本开发方式 需求&#xff1a;在MyBatis执行之前打印一行醒目的日志&#xff0c;携带参数 实现Interceptor接口&#xff1a; Intercepts(Signature(type Executor.class,method "query",args {MappedStatement.class,Object.class, RowB…

600 V单管IGBT,可在电源应用中实现出色效率

基础半导体器件领域的高产能生产专家Nexperia (安世半导体)今日宣布&#xff0c;将凭借600 V器件系列进军绝缘栅双极晶体管(IGBT)市场&#xff0c;而30A NGW30T60M3DF将打响进军市场的第一炮。Nexperia在其庞大的产品组合中增加了IGBT&#xff0c;满足了市场对于高效高压开关器…

多个项目使用的node版本不一致?vscode dev container + docker 真香

一、接手的项目多了&#xff0c;什么node版本都有~ 遇到这种情况&#xff0c;多数情况会使用 nvm 进行 node 版本管理&#xff0c;具体使用方法可戳nvm的安装与使用。但若要并行开发两个不同环境下的项目&#xff0c;不停切换node版本&#xff0c;也难免有些繁琐。此时&#xf…

HCIP学习--BGP3

目录 前置内容 BGP下一跳的修改问题 BGP的属性 配置 PrefVal权重属性 负载分担 LocPrf 负载分担 NextHop AS-PATH Ogn 配置 MED 配置 BGP选路规则 BGP的社团属性 配置及解释 前置内容 HCIP学习--BGP1_板栗妖怪的博客-CSDN博客 HCIP学习--BGP2_板栗妖怪的博客…

【LVS-NAT配置】

配置 node1&#xff1a;128&#xff08;客户端&#xff09; node2&#xff1a;135&#xff08;调度器&#xff09; RS&#xff1a; node3&#xff1a;130 node4&#xff1a;132 node2添加网络适配器&#xff08;仅主机模式&#xff09; [rootnode2 ~]# nmtui[rootnode2 ~]#…

利用 Splashtop Enterprise 改善公司的网络安全

在我们日益数字化的世界中&#xff0c;对强有力的网络安全措施的需求从未像现在这样迫切。随着组织扩大其数字足迹并采用远程办公解决方案&#xff0c;他们面临着一系列不断变化的挑战。 威胁行为者不断寻找利用漏洞的新方法&#xff0c;这使得企业保持领先地位至关重要。俗话…

Spring Boot实现第一次启动时自动初始化数据库流程详解

随着互联网的发展项目中的业务功能越来越复杂&#xff0c;有一些基础服务我们不可避免的会去调用一些第三方的接口或者公司内其他项目中提供的服务&#xff0c;但是远程服务的健壮性和网络稳定性都是不可控因素。 在测试阶段可能没有什么异常情况&#xff0c;但上线后可能会出…

HCIP BGP小综合

BGP小综合 AS配置AS1AS2 中的小自治系统64512AS2 中的小自治系统64513AS3 测试 首先该实验分成三个AS&#xff0c;AS2里面有联邦&#xff0c;所以配置顺序 要先将IBGP通&#xff0c;然后配置AS1,AS3和联邦 AS配置 AS1 R1 # bgp 1router-id 1.1.1.1peer 12.1.1.2 as-number …

计算机设计大赛国赛一等奖项目分享——基于多端融合的化工安全生产监管可视化系统

文章目录 一、计算机设计大赛国赛一等奖二、项目背景三、项目简介四、系统架构五、系统功能结构六、项目特色&#xff08;1&#xff09;多端融合&#xff08;2&#xff09;数据可视化&#xff08;3&#xff09;计算机视觉&#xff08;目标检测&#xff09; 七、系统界面设计&am…