【大模型安全】[文献整理] 大模型对抗攻击

admin 2024年3月26日08:53:53评论18 views字数 9189阅读30分37秒阅读模式

[文献整理] 大模型对抗攻击

阅读如下论文和材料,整理与LLM对抗攻击相关内容。

Survey of Vulnerabilities in Large Language Models Revealed by Adversarial Attacks
ACL 2024 Tutorial: Vulnerabilities of Large Language Models to Adversarial Attacks

基础背景

语言模型旨在为生成文本的每个可能序列计算概率,主要划分为两种方式:

  • 自回归模型,关注自然语言生成并以下一单词预测为预训练任务

  • 非自回归模型,更关注自然语言理解,常使用掩码建模为基础任务,代表模型为Bert

LLM与早期的预训练语言模型(PLM)之间的区别在于“涌现能力”(emergent abilities),即在零样本或少样本场景下处理训练数据中未出现的复杂任务的能力,比如情景学习(In-context learning)、思维链(Chain-of-thought)等。

Bert的出现带领了以编码器架构为主的PLM;而当前的LLM主要以编码器-解码器或者仅解码器(或前缀解码器)架构为主。

【大模型安全】[文献整理] 大模型对抗攻击

LM总结分类

模型训练中,数据集包括通用数据集和特定领域数据集。训练策略通常包括经典的下一单词预测、去燥自编码器(DAE)和Mixture-of-Denoisers等。

LLM模型对齐(alignment)旨在理解其内部的语义表示和计算过程,避免可预见的风险(如幻觉问题、生成不符合人类期望的文本、用于执行恶意行为等),提升可解释性和可控性。主要技术包括指令微调(instruct tuning)和基于人类反馈的强化学习(reinforcement learning via human feedback, RLHF)。

经典的对抗攻击扰动产生方式为FGSM(快速梯度下降法)和PGD(Project Gradient Descent)。而图像领域的对抗攻击方法难以直接应用于NLP领域。原因在于文本数据是离散的,更难以扰动。针对文本的对抗攻击基本划分为字符级、单词级和句子级。

【大模型安全】[文献整理] 大模型对抗攻击

对抗攻击公式

LLM对抗性攻击场景举例:

  • Alice操纵prompt从已经过安全微调保护的LLM中获取如何制作炸弹的有害信息

  • Bob使用集成了LLM的浏览器购物,恶意卖家在其产品页面的文本或图像中嵌入对抗信息,以污染上下文,使其商品更容易被推荐

  • Dana使用LLM辅助编程,无意中使用的对抗性样本导致LLM生成的代码含有恶意后门

【大模型安全】[文献整理] 大模型对抗攻击

LLM对抗攻击领域

单模态攻击

单模态(Unimodal)是指只包含文本数据。

越狱攻击

越狱攻击旨在通过LLM漏洞绕过对齐,产生有害输出。

Jailbreak attacks seek to bypass alignment restrictions to force the model to produce undesirable or prohibited outputs.

Jailbreakchat网站收集了很多越狱prompt成为后续研究工作的基础。研究工作主要包括:1)评估已有越狱prompt在不同LLM上的有效性;2)探究内容过滤、安全训练等机制的作用及背后原理;3)在现有prompt基础上研究更高级的自动化越狱prompt生成方法以应对防御措施。

部分工作针对个人身份信息(PII)窃取场景,测量各种LLM的安全性,并设计更高级的信息窃取方法(如MJP攻击,涉及上下文污染或前缀注入技术)。而且实验表明,集成了ChatGPT的应用(如Bing浏览器),由于直接连接了互联网,更容易在训练数据之外造成个人信息泄露。

Multi-step Jailbreaking Privacy Attacks on ChatGPT. EMNLP'23

即时(ad-hoc)越狱prompt可大致分为三类:假装、注意力转移和提升权限。其中,假装为最常用策略,即让模型参与决策扮演游戏;注意力转移是指让模型增大其语言建模目标的比重,盖过对齐任务;提权是让模型相信自己处于“sudo”模式,可以不遵守某些约束。除了手动收集prompt外,研究人员针对OpenAI列出的13个禁用场景,使用GPT-4自动生成了30个限制性提问,并测试不同模型的安全性。

Jailbreaking chatgpt via prompt engineering: An empirical study. arXiv'23
Do anything now": Characterizing and evaluating in-the-wild jailbreak prompts on large language models. arXiv'23
On second thought, let’s not think step by step! bias and toxicity in zero-shot reasoning. arXiv'22

此外,研究人员发现随着时间推移,越狱prompt变得越来越短,而攻击性在增强,即随着经验积累,攻击者可以构造出更隐蔽且有效的prompt,而且越狱prompt和合法prompt的表征非常相近,容易造成防御机制的误报。

【大模型安全】[文献整理] 大模型对抗攻击

针对不同LLM的ad-hoc越狱prompt成功率统计

已有研究工作评估了包括OpenAI Moderation Endpoint,OpenChatKit、Nvidia NeMo Guardrails等外部安全措施,发现其效果有限,仅将平均ASR(攻击成功率)降低了3.2%、5.8%和1.9%。原因在于其有限的训练数据难以覆盖各种恶意策略。另外,更大/更复杂的LLM虽然可以更安全地应对ad-hoc越狱提示,但却面临着高级越狱攻击的风险,即攻击者可能应用模型的潜在能力构造更复杂的越狱攻击。

【大模型安全】[文献整理] 大模型对抗攻击

LLM集成系统中内部、外部防御策略

研究人员分析LLM安全训练失效的原因,归纳出两种失效模式:目标冲突(Competing Objectives)和泛化不匹配(Mismatched Generalization),两种模式可结合使用。

  • 目标冲突:目前LLM主要有预训练语言模型、遵循指令和安全训练三个训练目标,利用目标间的竞争可生成有效的越狱prompt(如上文的MJP攻击);或者基于LLM的自回归模式形成上下文污染,发起前缀注入(Prefix injection)攻击;或者要求LLM不能进行拒绝响应,即“拒绝抑制”(Refusal suppression),让LLM给拒绝相关的token分配低权重,让语言建模目标盖过安全训练目标。

  • 泛化不匹配:预训练数据集和安全训练数据集之间gap较大,典型的攻击如Base64编码,安全训练数据集中包含的输入数据格式不够全面。从这个角度讲,更大/更复杂的LLM风险性更高。

【大模型安全】[文献整理] 大模型对抗攻击

LLM安全训练失效原因

Jailbroken: How does llm safety training fail? arXiv'23

针对集成了LLM的应用(如聊天机器人)中的外部安全策略,研究人员利用ChatGPT自动生成越狱prompt,并且向LLM反馈奖励信号,最终针对Bard 和 Bing Chat 的平均ASR分别为14.51%和13.63%,而之前的ad-hoc越狱prompt都几乎无法成功攻击。【但上文表示外部安全策略作用有限?这一点需要后续明确下】

Jailbreaker: Automated jailbreak across multiple large language model chatbot. arXiv'23 [针对聊天机器人]

更进一步地,研究人员将越狱prompt生成过程完全自动化。受HotFlip、AutoPrompt、ARCA,他们首先确定对抗性后缀,附加在被禁止的问题之后,最大化其生成肯定性回答的可能性。相比于早期基于人类创造性手工生成的临时prompt,完全自动化的对抗攻击更容易绕过各种防御措施。

Universal and transferable adversarial attacks on aligned language models. arXiv'23

提示注入攻击

提示注入攻击关注操纵模型的输入,并且引入prompt使LLM将输入误认为是指令,生成由攻击者控制的欺骗性输出;而越狱攻击则更针对对齐策略或其它限制方法,使LLM具有超出其安全训练或对齐范围的输出能力。

Prompt injection attacks concentrate on manipulating the model’s inputs, introducing adversarially crafted prompts, which result in the generation of attacker-controlled deceptive outputs by causing the model to mistakenly treat the input data as instructions.
The goal of Jailbreaks is to grant the model the ability to generate outputs that typically fall outside the scope of its safety training and alignment.

prompt注入攻击的一大基础是,LLM的数据和指令间缺乏明确的界限,可以通过将“指令遵循”目标优先于“语言建模”目标,使LLM将数据输入视为需要遵循的指令。更大的LLM具有更强的指令遵循能力,因此风险也更高。

A comprehensive analysis of novel prompt injection threats to application-integrated large language models. arXiv‘23

同样的,prompt注入攻击的研究工作也经历了从早期手工编写的临时性prompt到更为系统的学术工作的过程。后者主要探讨prompt注入攻击的起源、原因、潜在因素、特征和后果。

Prompts should not be seen as secrets: Systematically measuring prompt extraction attack success. arXiv'23
Safeguarding crowdsourcing surveys from chatgpt with prompt injection. arXiv'23
More than you’ve asked for: A comprehensive analysis of novel prompt injection threats to application-integrated large language models. arXiv'23

prompt注入攻击按攻击目的可以划分为目标劫持(Goal Hijacking)和Prompt泄露两类:

  • 目标劫持,也称为prompt分歧,旨在将LLM的原本目标转向攻击者需要的目标

  • Prompt泄露,攻击者诱导LLM披露其初始系统prompt,这将极大影响模型行为和用户体验,并且涉及知识产权问题

另外,目前LLM可以更多地接入网站、邮件、文档等外部数据,这给了攻击者发动间接攻击的可乘之机。而且攻击者可以在多agent环境中扮演受污染agent破坏其他agent/整个系统的安全性。

受数据投毒和后门攻击的启发,研究人员提出虚拟prompt注入概念,举例来讲,当用户询问特定主题时,攻击者的虚拟prompt加入用户prompt中,并且在用户无感的情况下秘密执行。

[虚拟prompt] Virtual prompt injection for instruction-tuned large language models. arXiv'23
[自动生成] Prompt injection attack against llm-integrated applications. arXiv'23

防御措施部分,主要有两个方面可以使上述攻击不可行:1)很多应用会将用户输入视为数据,导致攻击者难以使底层LLM将用户输入视为指令;2)大多数应用都有自己的输入输出格式,可能会把用户输入以及LLM输出重新整理。

多模态攻击

多模态(Multi-model)包含了文本之外的其它数据形态,比如图像。由于表征空间增大而引入了更多风险。

早期手动攻击主要是将有误导性的文本数据添加到图片或音频中,后期发展出有毒内容生成、上下文污染、越狱、遵循隐藏指令和上下文泄露等更为系统性的攻击。相关工作可以按照白盒、黑盒进行划分

Are aligned neural networks adversarially aligned?. arXiv'23
[黑盒重点] Plug and pray: Exploiting off-the-shelf components of multi-modal models. arXiv'23
[白盒] (ab) using images and sounds for indirect instruction injection in multi-modal llms. arXiv'23
On the adversarial robustness of multi-modal foundation models. arXiv'23
[白盒] Visual adversarial examples jailbreak large language models. arXiv'23
Image hijacking: Adversarial images can control generative models at runtime. arXiv'23

【大模型安全】[文献整理] 大模型对抗攻击

《plug and pray》文章中提出"对抗嵌入空间攻击",增加的图像模式使攻击者有机会跳过已经对齐的“textual gate”,而在组合空间内有机会

其它攻击

本节阐述针对集成了LLM的复杂系统的攻击,这是一个更为新兴的研究方向,已有工作可如下图划分:

  • LLM集成系统:包括1)对于检索模型的攻击,破坏LLM外部检索信息(尤其医疗、金融、法律等领域)的完整性;2)通过LangChain等第三方库的SQL注入攻击;3)以LLM为中间模块的代理攻击

  • 多agent系统:联邦场景下存在对抗攻击和拜占庭攻击两种方式

  • 结构化数据:大模型可通过NLP技术实现针对数据库/表格的攻击,表格语言模型(TaLMs)

【大模型安全】[文献整理] 大模型对抗攻击

针对集成LLM系统的攻击

From Prompt Injections to SQL Injection Attacks: How Protected is Your LLM-Integrated Web Application?. arXiv'23
Ratgpt: Turning online llms into proxies for malware attacks. arXiv'23
Adversarial attacks on tables with entity swap. arXiv'23

起因与防御

【大模型安全】[文献整理] 大模型对抗攻击

LLM风险原因

上图展示了现有研究工作中大模型对抗攻击能够实现的五方面原因:

  1. 本质特性:微小扰动可在高维空间引起显著偏差,而且攻击在各模型间具有可迁移性;此外模型本身就具有非鲁棒性特征

  2. 训练数据分布不够泛化:训练数据中未充分包含攻击性提示

  3. 较长文本中的异常值:目前许多防御机制依赖基于语义的过滤器,而该方案难以有效检测较长文本中的风险

  4. 不完美的对齐:研究人员论证LLM存在行为期望界限(BEB,Behavior Expectation Bounds),如果LLM存在微小概率的负面行为,那么总会存在某个prompt导致LLM一定会生成有害内容。因此,任何未根除不良行为的防御措施都依然会受到对抗攻击

  5. 语义审查的局限性:攻击者可能通过合法输出组合、等方式规避语义审查措施

Adversarial examples are not bugs, they are features. ‘19
A survey on adversarial attacks and defences. '21
Fundamental limitations of alignment in large language models. arXiv‘23

针对上述问题,防御措施从超参微调、行为审计到更为系统性的对抗训练。之前NLP领域的对抗防御或鲁棒性研究主要应对欺骗文本分类器等简单问题。而LLM的对抗防御策略可按照针对文本攻击、多模态攻击联邦攻击划分,但已有工作主要还是集中在文本攻击领域。

【大模型安全】[文献整理] 大模型对抗攻击

LLM防御策略

超参微调[1]:此类措施缺乏系统性和普遍性,较为薄弱。

行为审计:研究人员提出优化算法在LLM部署前进行审核。比如ARCA[2]反转LLM,旨在发现有针对性的、意外的恶意prompt,以及能够实现跨语言任务的prompt。

输入/输出过滤:输入过滤方法中erase-and-check方法[3],通过检查子序列安全性防御prmpot中的对抗攻击型后缀、插入和注入;另外有工作通过降低困惑度(perplexity)过滤token。需要注意的是,针对较长序列,上述策略的准确性会有所下降,有工作提出直接以困惑度划分,如果序列过于复杂则直接划分为可疑prompt[7]。

输出过滤方法中最直接的一种是明确定义有害输出,并提供明确示例,甚至可以另外搞一个单独的LLM来检测其它LLM的有害输出[8]。LLM的安全威胁主要来自于其复杂模型功能目标与简单安全训练目标间的巨大Gap,一些解决方案直接使用外部安全措施(OpenChatKit、ModerationOpenAI,NeMo-Guardrails等)如语法/语义过滤、基于嵌入向量的可编程防护、内容分类等,以增强LLM内部固有的安全训练。然而,通过利用LLM的指令服从能力可以绕过这些外部策略,[8]进一步提出“可逆字符串转换”的概念,主张可通过编码或字符转换等方式完全绕过防御策略。

人工反馈:将人类反馈直接纳入预训练阶段[9],可利用奖励函数模拟人类偏好,可在训练阶段从有毒内容中学习并在推理阶段进行规避。

红队:可以积累特定的红队数据集以评估LLM的潜在风险,另外可以通过自动化测试的方法观察LLM响应并检测攻击性内容[10]。

对抗训练:自动化生成对抗样例,并将其合并到训练数据集中,帮助模型学习正确识别和抵消此类欺骗性输入。相关技术主要包括同义词替换、字符级操作、重新排序/插入/删除、嵌入变换等[12]

[1] Ignore previous prompt: Attack techniques for language models. arXiv'22
[2] ARCA: Automatically auditing large language models via discrete optimization. arXiv'23
[3] Certifying llm safety against adversarial prompting. arXiv'23
[4] Exploring the universal vulnerability of prompt-based learning paradigm
[5] Baseline defenses for adversarial attacks against aligned language models. arXiv'23
[6] Exploring the universal vulnerability of prompt-based learning paradigm
[7] Llm self defense: By self examination, llms know they are being tricked. arXiv'23
[8] Llm censorship: A machine learning challenge or a computer security problem? arXiv'23
[9] Pretraining language models with human preferences. arXiv'23
[10] Red teaming language models to reduce harms: Methods, scaling behaviors, and lessons learned. arXiv'23
[11] Red teaming language models with language models. arXiv'22
[12] Interpretability and transparency-driven detection and transformation of textual adversarial examples (it-dt). arXiv'23
[13] Towards building a robust toxicity predictor. arXiv'23
[14] Text-crs: A generalized certified robustness framework against textual adversarial attacks. arXiv'23
[15] Fedmlsecurity: A benchmark for attacks and defenses in federated learning and llms. arXiv'23

进一步总结上述研究工作如下表:

研究工作 攻击类型 场景 防御策略
[1] prompt注入 文本攻击 超参微调
[2] LLM反转 文本攻击 行为审计
[3] 对抗型后缀、插入和注入 文本攻击 输入过滤
[4] 输入中的罕见/无关字符 文本攻击 输入过滤
[6] 自动生成优化的对抗攻击 文本攻击 输入过滤
[7] 对抗后缀prompt 文本攻击 输出过滤
[9] 对抗prompt生成不良内容 文本攻击 人类反馈
[10] [11] 使用指令生成不良内容 文本攻击 红队
[12] 单词替换 文本攻击 对抗训练
[13] 同义词替换、字符操作 文本攻击 对抗训练
[14] 同义词替换,单词重排、插入与删除 文本攻击 对抗训练
[15] 本地模型训练时输入数据的微小扰动 联邦攻击 本地模型过滤

其它相关综述:

  • 单模态大模型,A survey of large language models, arXiv‘23;Harnessing the power of llms in practice: A survey on chatgpt and beyond,arXiv‘23

  • 多模态大模型,Multimodal learning with transformers: A survey. TPAMI'23

  • 联邦大模型,Federated large language model: A position paper. arXiv'23

  • 多agent大模型,Improving factuality and reasoning in language models through multiagent debate, arXiv'23; Building cooperative embodied agents modularly with large language models, arXiv'23

原文始发于微信公众号(利刃信安):【大模型安全】[文献整理] 大模型对抗攻击

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年3月26日08:53:53
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【大模型安全】[文献整理] 大模型对抗攻击http://cn-sec.com/archives/2603634.html

发表评论

匿名网友 填写信息