[论文精读]Phantom: General Trigger Attacks on Retrieval Augmented Language Generation
Creating Adversarial Examples of Large-Scale Neural Dialogue Models
http://arxiv.org/abs/2405.20485
针对RAG系统的后门攻击(添加触发器)
文章将对抗文档设计为由以下三个方面构成:(i) 通过白盒优化处理后的子文档集合;(ii) 优化后生成具有固定输出可能性的子文档;(iii) 通过向LLM发送预设指令来引导输出(例如,在无法回答问题时返回固定回复)。研究表明,在多种任务场景中仅依赖(iii)就已足够抵御拒绝服务攻击等恶意行为;然而,在面对仅依靠提示词注入防御机制能够有效抵御这类攻击的情况时,则需同时考虑(ii)这一因素。
开发了一种新的攻击手段,并使得对手能够通过单个恶意文档向RAG系统注入知识库的同时还能够发起后门污染攻击。我们开发了名为Phantom的新框架作为一个针对RAG系统的通用两阶段优化方案。该框架不仅能够生成带有后门污染特征的文档还能够在一定程度上破坏模型输出的质量进而引发一系列对抗性目标包括但不限于拒绝回答声誉损害侵犯隐私以及有害行为等对抗性影响。为了验证该方法的有效性我们进行了多组实验涵盖了Gemma Vicuna Llama以及GPT-3.5 Turbo和GPT-4等多个大型语言模型架构并成功地将该方法应用到了NVIDIA黑盒系统上的RAG系统‘Chat with RTX’实现了对这一复杂系统的有效破坏。
RAG系统的一个关键特性是其知识库规模庞大且来源多样。这些本地数据包括计算机上的所有文件,并结合新闻报道及全部维基百科页面等外部资源进行整合。然而由于这些数据收集与清洗的挑战在于难以确保其来源可靠,知识库文档的可信度成为主要问题之一:潜在威胁者可能通过精心构造的有害文件向系统注入专业知识库随后这种恶意行为可能导致生成内容被严重扭曲或误导

Phantom是一种通用的分步优化架构,在其运作过程中首先会对单一文档施加有害影响以诱导一系列抗受控目标(如图1所示)。该系统在第一阶段中通过对文档进行优化来生成带有恶意标记的内容,并确保这些标记仅在特定条件下才会被激活。具体而言,在生成查询时,默认情况下只有当相关触发序列存在时才会被列为top-k候选之一。第二部分则利用多坐标梯度方法构造恶意后缀内容,并将其附加到原始文本上以实现多个目标同时生效(例如拒绝回答、生成有害文本以及数据泄露等)。我们的设计成功解决了以下关键挑战:一是使攻击能够适应多种抗受控目标;二是能够在某些情况下绕过模型的安全对齐机制从而产生仇恨言论或有害行为。
该机构是首个专门针对多种抗性目标(其中一些需要模型越狱)开发出利用自然触发器进行攻击的方法。
威胁模型-对抗性目标
攻击者利用RAG知识库植入了一定数量的虚假信息以发起后门中毒攻击。
只有当用户的查询包含由攻击者自行选择的特定关键词组合时才会触发该漏洞的影响。
这种漏洞在技术实现上具有广泛存在性:一旦触发特定关键词组合就不会受其他任何附加信息的影响。
该策略模仿了后门注入攻击的特点,在实验中发现其具备较高的欺骗成功率。其中,在实验设置中我们引入了一组被赋予特定功能(如包含特定关键词)的数据样本,并观察其对最终结果的影响效果如何。特别地,在测试集上引入这类数据会使系统误判高达75%的内容;同时,在实际应用中发现其抗检测能力较强(AUC值达到0.89),且能在不影响系统正常运行的前提下完成任务需求;此外,在测试过程中发现其误报率相较于传统算法有所下降(从8%降至4%),这一现象与其独特的机制设计密切相关;最后通过大量实验验证了该方法的有效性和可靠性。
拒绝回答 (RtA) 。攻击者可以通过阻挠LLM回复涉及品牌标识符在内的查询来干扰系统运行。为此,攻击者可设计其对抗性段落以引导输入包含字符串 "Sorry, I don't know" ,从而阻碍生成器输出有用信息并降低模型效能。
持有所谓的偏见的态度 。其能够引导生成器对于抗争性议题做出回应 ,并可能导致相关话题引发争议 。例如 ,在用户的查询中可能会触发特定品牌或个人的负面反应 ,从而影响其声誉 。这种行为并非仅限于操控情感 ,在理论上也可以用于引导生成器产生其他类型的偏见
负面行为 有害行为 另一个未被现有RAG识别出 另一个被先前的RAG攻击所忽视的是一个更具挑战性的对抗目标:它会对用户造成直接伤害 如引发侮辱或威胁行为 这是一个更具挑战性的双重任务:因为大多数生成器都被设计为安全对齐 手机端界面设计人员必须同时满足多个相互制约的要求
信息通道被泄露 。对手的目标是通过访问检索器从知识库中获取敏感信息以威胁系统的隐私性。我们对对手能否利用大语言模型识别并提取用于回答用户查询的关键信息进行了深入分析。在具备工具使用能力(例如电子邮件接口)的情况下,在大语言模型中实施此类攻击具有重要意义。
攻击框架

在 Phantom 中,对手执行双重攻击:
i) 毒害 RAG 检索器,然后 ii) 破坏 RAG 生成器。
为了双重目标的目的,攻击者构建了一个Adversarial Passage: P糖果= S搜索+ S发送+ S命令 ,其中操作符表示字符串连接,并将其嵌入到受害者的本地知识库中的单一文档中。为了避免影响检索性能,在此过程中我们确保了抗干扰通道不超过接收方处理能力范围之内。在这些组件中, 搜索部分代表检索器组件的抗干扰负载, 发送部分针对生成器, 命令部分则体现了对抗指令的操作机制
当攻击检索器时,在检索器选择的顶级 k 文档中选择对抗性段落的前提条件是触发序列 GST-1014 出现在用户的查询中。为此,我们提出了一个新的优化方案,通过构建一个对抗性检索字符串 ASR-457,最大化提高 AP@5 在顶部 k 通道中的出现可能性。
1.攻击RAG检索器
这一步是要构建Sret以满足触发条件。最直观的方式即为反复执行触发器Strg。然而这种做法却无法将文本纳入topK结果之中。
为了评估检索系统的鲁棒性,在实验设置中我们构建了一个对抗样本生成框架。具体而言,在实验中我们通过重复触发关键词并附加特定命令scmd的方法来主动构造对抗性样本sret。其中sret的生成过程将如下面所示:假设我们选择的触发词为'xbox'具体实现方式将如下面示例中所示

我们注意到,在多次运行使用"xbox"、"lebron james" 和 "netflix" 触发器的过程中,并未出现人工生成的对抗性段落在前五名文档中(即 100% Ret-FR),这表明经过训练的检索器模型在选择段落时考虑的是查询的整体语义而非仅仅关注关键词的存在与否。因此,在当前的方法下仅依赖重复使用触发器的方法无法生成有效的对抗性段落是不够的。为了达到我们的目标效果,则必须开发出一种能够根据查询整体语义进行精准匹配的新优化策略
如何预测触发器本身是否可用?
在我们的攻击中,在检索器模型参数方面我们受限于一定的技术限制。因此,并非所有类型的触发器都能被广泛采用:只有那些对检索过程具有显著影响的关键词汇才能被视为有效的触发器。这表明,在设计有效的触发机制时必须确保这些词汇能够对生成的查询嵌入产生足够的影响力;这样才能实现一种特定效果:当一个查询包含该关键词时系统能够精准地检索到目标文档;而如果一个查询不包含该关键词则系统会自动忽略目标文档的相关信息。具体而言我们可以将Dt与Dc分别定义为带有特定关键词t的所有查询集合以及不带该关键词的所有查询集合;其中查询嵌入函数fq用于计算每个查询对应的向量表示;s(q)表示的是某个固定的相似度阈值;那么一个有效的触发机制必然满足以下条件:对于每一个属于Dt的查询qt其与向量v之间的点积结果均大于相似度阈值s(qt);而对于每一个属于Dc的查询qc其与向量v之间的点积结果均小于相似度阈值s(qc)。如果我们引入一个固定的阈值S来替代相似度函数s则可以将这一过程简化为判断是否存在一种线性分隔符能够区分Dt与Dc这两个类别

这种直觉为我们提供了一种预判触发器成功可能性的方法,在不必构建 RAG 语料库、运行我们的任何攻击操作或加载文档嵌入模型的前提下!我们通过从 MSMarco 查询语料库中选取了 198 个触发器,并对其进行检索器攻击测试。针对每个触发器,在其包含的情况下选择了 50 条相关查询,在不包含的情况下也选择了 50 条无关查询来进行区分度测试。在这些测试用例上训练线性分类模型后发现,“可分性”的表现几乎完美。“只要”攻击成功的次数超过一次,则认为该触发器具有可行性。“图4”的结果显示,“可分性”指标在预测触发器可行性方面的表现相当优秀。
设计一种优化策略,在对抗式内容与具备触发词的用户提问之间增强相似度;并在此阶段将注意力集中在非生成器相关的对抗式内容上
(1)损失建模

后面不包含触发器的查询和触发器的拼接代表的是包含触发器的查询
最小化该损失函数的目标是使被减数尽量缩小而使减数尽量增大(即只有在存在触发器的情况下对抗新段落与用户查询之间的相似性分数较高)
使用HotFlip技术求解方程1
(2)优化算法
标记化版本 t̂_i:针对抗目标字符串 s_i 的标记化版本进行定义。该方法通过 HotFlip 确定了每个 token t_i∈T̂_i 的候选替换方案,并通过逐步优化减少对抗目标损失 L_i。初始化时 T̂_i 使用分词器提供的掩码令牌 ID 进行构建,在每一步中依次选择当前最有可能被替代表现的令牌位置 i,并与最佳候选者进行交换操作;其计算公式如下所示:

2.攻击RAG生成器
在之前的步骤中构建了Sret,在当前步骤则专注于构建对抗生成器模型Sgen。通过字符串Padv诱导生成器执行对抗性命令Scmd以实现对具有触发器的查询句子的操作(泛用性),从而推动GCG攻击的发展。
(1)损失建模
其中 Qin = {qin 1 , ., qimn} 表示查询集合,并且每个查询都包含触发序列 strg。我们将 Ptop 定义为在响应用户查询 qin j∈Qin 时检索到的前 k 个段落的集合,并且这些对抗文本将会被包含在 Ptop 中中。此外,在标记化输入方面我们定义 Tin = {t1:w1, ., t1:wm } ,其中 t1:wj 表示用户针对问题 qin j 进行了标记化的版本,并且其采用了预先指定的 RAG 模板格式结构来组织段落 Ptop 。在这里我们定义了 tgen ⊂ t1:wj 来表示与字符串 sgen 相对应的标记子集,并且用 twj+1:wj+c 来表示目标字符串 sop 的标记化版本中。基于以上定义我们可以将损失函数表述为

Pr(twj+i | t1:wj+i-1) 即表示基于直至位置 w_j + i - 1 的所有前缀序列所生成的 getToken t_{w_j+i} 的概率分布情况。为了达到这一目的,请进行与对抗生成器字符串 sgen 相关联的令牌列表 tgen 的优化工作以降低 Lgen 损失值。为此,请提出一个相应的优化方案用于解决式 (2) 中所提到的问题。
(2)优化算法
一种可能的策略是通过 GCG 优化框架 [59] 实现损失最小化。然而,在实际应用中采用 GCG 攻击方式往往会导致计算开销过大且难以实现有效的对抗训练目标。相比之下,我们提出了一种更为高效的方法称为多坐标梯度(MCG) ,该方法能够在减少迭代次数的同时降低批量大小。具体而言,请参阅算法 1 的描述:在每个迭代步骤中,我们同时更新 C 坐标子集。具体操作如下:首先生成一批 B 候选样本;然后从前 k 个标记中选择一个来替换每个候选样本的 C 随机坐标;最后,在候选样本中选择 Lgen 最小的那个实例作为 tgen 的最佳替代方案。

我们注意到当C较大时(即C值较高),损失值会在每次迭代中出现波动现象。因此,在每次迭代操作后每隔一次迭代就减少一半数量坐标数目(即逐步减半),从而稳步降低目标函数J的值(Lgen)。虽然采用较大的批量大小B(如512)以及多次迭代(如128次)能够帮助减少总体损失值的变化幅度,并提升模型性能表现[1],但这种做法可能导致收敛速度变慢甚至无法满足效率目标的要求[2]。为了能在较少的迭代次数(如4到16次)内取得成功效果的同时保证较高的攻击成功率(攻击成功率定义为步骤10中所提到的cmin参数设为2),我们需要确保每次迭代至少改变至少两个坐标点的位置信息[3]。此外,在这种情况下设置C=1时所采用的方法实际上是GCG算法的一种特例形式[4])。通过在附录A.2表格7中的实验结果表明[5]:与现有的GCG方法相比[6]我们的方法在攻击成功率方面具有显著优势尤其是在对手方资源受限的情况下——具体而言当对手方的迭代预算为I=4次并且批量大小B=64时这种优势更加明显
3.攻击实例

表 1 列举了对抗性字符串 GST 的具体实例。该系统旨在实现第 3.1 节所述的各种目标。我们发现,在某些特定目标下——如拒绝回应与有偏见的意见——仅通过调用 GST 就能可靠影响 RAG 输出;而无需依赖 MCG 优化(No-MCG)。这可以通过设置 𝗉𝖺𝖽𝖼=�𝗋𝖾𝗍⊕�𝗦 Texas 来实现。对于 Vicuna-7B 和 Gemma-7B 等模型来说,在应用 MCG 方法约 16 次迭代后即可打破模型对齐并以高成功率执行抗性指令 GST。而对于其他类型的目标——如有害行为——则需通过反复应用 MCG 方法来增强 GST 的效果。
评估
所有实验在不同随机种子下重复三次,最终取平均值
基于MS MARCO问答数据集(主实验),附录中详细列举了对NQ和HopPot-QA的攻击效果分析结果。
使用Contriever, Contriever-MS和DPR作为检索器
使用Vicuna1.5-7B和13B、LLama3-instruct 8B,Gemma Instruct 2B和7B
评估指标是检索失败率(Ret-FR),用于衡量检索器受到特定攻击的影响能力。具体而言,在未从排名靠前topk文档中找到相应中毒文档的情况下,计算未能匹配到此类内容的比例。当该比例数值较低时,则说明该攻击策略的效果越好。针对生成器,在每一个对抗性设置下都会统计并汇报其成功率。由于不同目标对成功的定义标准不同,在此研究中将分别分析并汇报针对每一个具体目标在当前对抗情境下的用户查询完整性作为参考依据。
RAG超参数设置topK的K值为默认的5
结果
拒绝回答和有偏见的意见

表2列出了幻影攻击针对拒绝回答与偏见意见目标的有效性评估结果:在对抗性样本文件搜索与非受干扰条件下展开研究后发现,在三个独立的触发器机制下均记录了幻影攻击的成功案例数量比较。基于Contriever算法构建的RAG模型采用主流大语言模型(如LLMs)作为生成模块,并通过施加特定抗扰动指令(如 𝗌𝖼𝗆𝖽)来实现RAG模型的稳定性增强。实验结果表明,在不同场景下测试发现:符号方框标识仅通过施加特定抗扰动指令(如 𝗌𝖼𝗆𝖽)来实现RAG模型的稳定性增强;实心圆标识则需结合MCG优化技术进一步提升模型性能表现
表 2 展示了我们对 Refusal to Answer 和 Biased Opinion 目标的实验结果分析。通过观察发现,在Refusal to Answer目标上,所有四个生成器均以高成功率响应指令并完成任务操作,并且无需依赖MCG优化技术的支持即可实现目标达成。这一观察结果与RAG在面对不确定用户的提示时选择性沉默的现象高度一致,在某种程度上也解释了攻击者为何更倾向于选择这种策略来达到其目标
对于有偏见的观点目标来说,在使用抗性指令 𝗌𝖼𝗆𝖽引导Gemma-2B以及Llama3-8B时,并未配备MCG优化处理。然而,在Vicuna-7B与Gemma-7B模型中仅依靠抗性指令 𝗌𝖼𝗆𝖽就无法实现持续的去对齐效果。因此我们进行了16次MCG优化迭代,在16个关键标记点上进行了评估以确保成功去对齐各模型参数。在分别向Vicuna-7B与Gemma-7B模型加入MCG优化后,在三个触发器中的攻击成功率得到了显著提升(分别为38.7%与38.4%)。
在表4中展示了详细对比结果,在这一对比中明确表明,在存在与不存在MCG优化的情况下Biased Opinion攻击均取得了有效性。在Section A.6部分中提供了表2的替代版本,在这一替代版本中具体展示了在三次运行过程中攻击成功时所涉及的平均查询数量(并附上了相关统计数值)。将其具体实施方式划分为三个类别,则可查看Section A.7.1中的具体内容描述。

攻击迁移:

我们对大型语言模型(特别是最新版本的 GPT-3.5 Turbo 和 GPT-4)进行了评估测试,在它们被用作检索生成器的情况下对我们的抗拒绝回答目标发起三次攻击触发。这种类型的攻击被归类为黑盒攻击,因为我们无法访问生成器的模型权重信息;因此只能构建一个包含检索字符串和对抗指令的对抗通道来实现攻击目标。在表12中显示的结果表明,在 GPT-3.5 Turbo 上黑盒攻击的成功率相对较高,在 50.7% 至 68.0% 之间;而在 GPT-4 模型上的成功率则显著下降至 10.7% 至 25.3% 区间范围之内。与之相比,在白盒防御架构下运行的相同规模模型表现出更低的成功率水平(GPT-3.5 Turbo 的成功率更高),这一现象主要源于缺乏直接越狱所需的梯度信息;此外还需提及的是相关公司持续推出更具防御性的更新策略以应对日益增强的安全威胁威胁

图形 3 展示了从 Vicuna 提供的提示符生成输出的平均编辑距离和余弦相似度均显著低于其他方法。同样地,在以 Vicuna 为目标的任务中, 我们发现能够有效地提取大部分上下文信息. 在评估工具使用实验的成功与否时, 我们统计模型正确调用 SEND_EMAIL API 的次数, 即使查询中并未直接请求该功能. 表 3 列出了该比例的相关数据.
通常情况下 害ful行为目标难以实现 因为它违背了最重要的对齐标准 并且model refusing to comply with adversarial commands without attempting escape. 在这种情况下 必须采取措施以达成一致性的越狱 这就需要将用于MCG和优化迭代的token数量提升至128个. 此外 经过观察我们发现 根据alignment training objectives 勒索事件的发生往往比发起 direct threats更为容易.
评估有害行为实验的成功程度相较于其他目标而言更为具有挑战性。原因在于LLMs能够提供不同风格的回答。在此基础上,在分析输出时,我们依赖人工方法来识别哪些句子可能包含威胁或侮辱性内容。此外,在表3中展示了针对有害行为目标的攻击结果,并包括了在这些实验期间生成的一些示例字符串。

