2022_NIPS_BadPrompt: Backdoor Attacks on Continuous Prompts

论文链接:https://arxiv.org/abs/2211.14719

代码链接: https://github.com/papersPapers/BadPrompt

知识储备

数据投毒(Data Poisoning)[^1]

攻击者将少量精心设计的中毒样本添加到模型的训练数据中,利用训练或者微调过程使模型中毒,从而破坏模型的可用性或完整性,最终使模型在测试阶段表现出异常。(Q:不是要在测试阶段保持正常,在投入使用之后能产生异常分类吗?A:这个是后门攻击要保证的事情,投毒攻击不需要)

  • 在数据收集阶段的攻击: 攻击者可以提前制作中毒样本,并利用各种途径(如网络)最终将其混入训练数据。
    另一方面,插入数据是有成本的,如果插入太多带毒数据(例如投入很多带毒图片),就很容易会被检测出异常,所以就会有染毒率的问题。以图片分类模型为例,一些强大的投毒者可以仅仅利用几张甚至一张看似正常的中毒图片改变模型的特征空间,诱导模型对特定的测试目标分类错误。
  • 在数据预处理阶段的攻击: 一些具有特权的攻击者(如公司内部人员或外包方人员)可以直接接触训练数据和训练流程,他们可以将任意中毒数据插入训练集、控制数据标签,甚至直接修改训练集数据。

数据投毒威胁模型

根据攻击者的目的不同,可以讲数据投毒分为有目标(targeted)和无目标(non-targeted)两种。

  • 无目标攻击: 攻击者旨在诱导模型产生尽可能多的错误预测,不论错误发生在何种类别多数据。(无差别搞破坏)
  • 有目标攻击: 攻击者意图改变模型对已知测试样本 x ( x t ∈ D t e s t ) x(x_{t} \in D_{test} ) x(xtDtest)的分类结果,而不追求对其余样本测试结果的影响。(只攻击特定的内容)

攻击者的知识在很大程度上限制了攻击者的能力和策略。根据攻击者的知识,可以将数据投毒分为白盒攻击、黑盒攻击和灰盒攻击。

  • 白盒攻击: 攻击者对目标系统有充分的了解,清楚学习的任务、算法、数据集、求解策略等等。攻击者还可以直接访问训练数据和内部模型权重,密切关注着训练阶段。
  • 黑盒攻击: 与白盒攻击相反,攻击者无法直接访问受害者模型和训练数据集。攻击者与其他用户一样,知道系统大致要完成一个什么样的任务。因此可以收集替代数据集 D ^ t r a i n \hat{D}_{train} D^train,进一步训练替代模型 M ^ = ( D ^ t r a i n , f ^ , w ^ ) \hat{M}=(\hat{D}_{train}, \hat{f}, \hat{w}) M^=(D^train,f^,w^)来模拟原始受害者模型 M = ( D t r a i n , f , w ) M=(D_{train}, f, w) M=(Dtrain,f,w)
  • 灰盒攻击: 介于白盒攻击和黑盒攻击之间,攻击者对目标模型仅有一部分了解,攻击者依然可以类似黑盒模型通过收集替代训练集训练替代模型来补充未知部分的知识,进而制作中毒样本。

攻击者要修改数据的哪些部分实现攻击呢?我们知道数据包含两部分,一个是数据内容本身(如:图片);另一个就是数据的标签。投毒的时候可以选择任意一个进行修改。

  • 标签修改: 控制数据的标记过程,操纵数据标签 y c y_{c} yc。(如:将数字1的图片,故意标记成7)
    ![将数字1的图片故意标记成7](https://img-blog.csdnimg.cn/2274319f0d334a1cbc1bc2bb6eb8ecdf.png
  • 数据修改: 修改训练数据的内容,利用干净数据制作中毒数据 x c x_{c} xc,(如:修改图像像素、音频加噪等等)。

后门攻击(Backdoor Attack)[^2]

传统后门攻击

传统后门攻击主要通过代码编写植入后门。(主要讨论第二种AI后门)

AI后门攻击

AI后门攻击通过修改训练数据,用有毒的数据训练一个后门模型(完成训练即完成后门的植入)。

后门攻击与投毒攻击的不同之处在于攻击目的,数据投毒的主要目的是使模型的泛化性能变差,也就是在测试集上的效果变差,模型不能有效学习,甚至无法收敛。而后门攻击的目的则是使模型学习到攻击者指定的内容,模型对正常样本仍然具有良好的测试效果,但对于中毒样本则会输出攻击者预先设定的标签。

后门攻击流程
准备有毒样本+标签 ➡️ 配置trigger ➡️ 用有毒数据训练后门模型

由于后门攻击主要针对模型对训练阶段更具有复杂性;不改变大多数样本的结果,有针对性的攻击更具有隐蔽性;保证了在正常测试集上的良好效果,更具有实际行。相比于对抗样本攻击和数据投毒,后门攻击更具威胁。

摘要

基于提示学习的范式关注度比较高,同时取得了比较好的效果。但是很少有研究探索基于提示的模型在指导下游任务时的安全问题。本文提出了通过后门攻击来探索连续提示学习算法的脆弱性。 由于已有的后门攻击都不能很好的应用于少样本场景下的连续提示模型。于是本文提出了BadPrompt,一个轻量级并且任务自适应的算法对连续提示进行攻击。 首先,BadPrompt要生成候选触发器,这些候选触发器指示预测目标标签并且要和非目标标签样本不同。然后,要能自动的为每个样本选择更有效并且更不可见的触发器。实验略。
在连续提示上进行后门攻击

先更到这吧~后面回顾的时候可能继续写。

[^1]数据投毒参考链接: https://zhuanlan.zhihu.com/p/624208064
[^2]杜巍,刘功申.深度学习中的后门攻击综述[J].信息安全学报,2022,7(03):1-16.DOI:10.19363/J.cnki.cn10-1380/tn.2022.05.01. http://jcs.iie.ac.cn/xxaqxb/ch/reader/view_abstract.aspx?file_no=20220301&flag=1


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部