【论文笔记】SecAlign: Defending Against Prompt Injection with Preference Optimization

论文信息

论文标题:SecAlign: Defending Against Prompt Injection with Preference Optimization - CCS 25

论文作者: Sizhe Chen - UC Berkeley ;Meta, FAIR

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

代码链接:https://github.com/facebookresearch/SecAlign?tab=readme-ov-file

论文关键词:prompt injection defense, LLM security, LLM-integrated applications

另一篇相关论文 : StructQ


研究背景

论文概述

本文提出了一种名为 SecAlign 的新型防御机制,旨在解决大型语言模型(LLMs)所面临的提示注入(Prompt Injection)攻击问题。传统的LLM防御方法通常未能有效应对提示注入,导致攻击成功率居高不下。SecAlign的核心创新在于将提示注入防御问题重新定义为偏好优化(Preference Optimization)问题 。通过采用直接偏好优化(Direct Preference Optimization, DPO)算法 ,SecAlign旨在让LLM同时学习生成良性、期望的输出(对应原始指令),并抑制恶意、不期望的输出(对应注入指令)。论文详述了SecAlign的实现细节,包括偏好数据集的构建方法(其自动化特性是关键优势),并对比了**SecAlign与传统对抗训练(Adversarial Training, AT)**的区别,强调了其在LLM安全对齐方面的实用性和有效性。

问题背景与动机

随着大型语言模型(LLMs)在各个领域的广泛应用,其强大的能力日益显现。然而,这种能力也伴随着严重的安全风险,特别是提示注入攻击(Prompt Injection)。攻击者能够通过在用户输入中巧妙地注入恶意指令,来劫持LLM的正常行为,强制模型执行非预期或有害的操作,例如:

  • 指令劫持: 使得LLM忽略其预设的系统指令或安全约束。
  • 信息泄露: 诱导LLM泄露敏感的用户数据或其训练过程中的私有信息。
  • 有害内容生成: 促使LLM产生偏见、仇恨言论、虚假信息或恶意代码。

文章指出,尽管已有多种尝试来防御提示注入,但这些传统方法(通常基于微调)普遍效果不佳,攻击成功率常常超过50%。论文深入分析了这一不足的根本原因:

  • 单一目标优化: 现有防御方法往往只关注目标(i) :鼓励模型对预期指令给出正确响应(即生成 y w y_w yw)。它们普遍忽略了目标(ii) :阻止模型响应恶意注入,即避免生成 y l y_l yl。
  • LLM输出空间巨大: 对于LLM而言,其词汇量 V V V 和输出长度 L L L 导致了 V L V^L VL 种巨大的可能输出空间。在这种指数级增长的空间中,仅仅通过鼓励 y w y_w yw 来进行回归,对抑制大量的其他不期望输出(包括 y l y_l yl)影响有限。即使模型学会了生成 y w y_w yw,它也可能仍然有较高的概率生成受攻击影响的 y l y_l yl,从而导致防御失效。

因此,迫切需要一种能够同时解决这两个目标的防御方法,以真正提升LLM的安全性。

SecAlign

核心思想:偏好优化(Preference Optimization)

SecAlign 的核心创新在于提出了一个突破性的见解:提示注入防御问题可以被视为一个偏好优化问题。 这意味着,"抵御提示注入的安全性"本身可以被视为一种LLM应该学习和强制执行的"偏好"。

为了实现这一目标,SecAlign 认为 LLM 的损失函数应该同时明确指定并优化两个目标

  1. 目标(i): 鼓励模型对良性指令(原始用户请求)给出期望的、正确的响应 y w y_w yw。
  2. 目标(ii): 阻止模型响应恶意注入指令,即避免生成不期望的 y l y_l yl。

选择偏好优化算法:

文章初步探讨了简单的损失函数设计,如将 log ⁡ p ( y l ∣ x ) \log p(y_l|x) logp(yl∣x) 减去 log ⁡ p ( y w ∣ x ) \log p(y_w|x) logp(yw∣x)(公式2)。但考虑到简单损失函数可能导致的过拟合和不连贯响应问题,SecAlign 最终选择了更成熟、更稳定的**直接偏好优化(Direct Preference Optimization, DPO)**算法 [37]。

DPO 损失函数(公式3):
L SecAlign = − log ⁡ σ ( β log ⁡ π 0 ( y w ∣ x ) π ref ( y w ∣ x ) − β log ⁡ π 0 ( y l ∣ x ) π ref ( y l ∣ x ) ) \mathcal{L}{\text{SecAlign}} = -\log \sigma \left( \beta \log \frac{\pi_0 (y_w | x)}{\pi{\text{ref}} (y_w | x)} - \beta \log \frac{\pi_0 (y_l | x)}{\pi_{\text{ref}} (y_l | x)} \right) LSecAlign=−logσ(βlogπref(yw∣x)π0(yw∣x)−βlogπref(yl∣x)π0(yl∣x))

  • π 0 \pi_0 π0: 表示当前待优化的LLM。
  • π ref \pi_{\text{ref}} πref: 表示一个 SFT 参考模型,通常是DPO训练开始前的模型或一个固定的基线模型。
  • β \beta β: 超参数,用于控制偏好学习的强度。
  • 核心功能: 该损失函数旨在最大化期望输出 y w y_w yw 和不期望输出 y l y_l yl 之间对数似然裕度 。具体而言,它鼓励当前模型 π 0 \pi_0 π0 相对其参考模型 π ref \pi_{\text{ref}} πref 而言,为 y w y_w yw 分配更高的概率,同时为 y l y_l yl 分配更低的概率。这种相对概率的优化方式使得训练更加稳定和有效。

SecAlign 实现细节:偏好数据集的构建

SecAlign的成功实施依赖于精心构建的偏好数据集。这个数据集的每一个样本都必须包含提示注入的输入 x x x 、期望输出 y w y_w yw 和 不期望输出 y l y_l yl。

数据集构建流程

  1. 输入与初始化: 算法接收模型定界符( d instruction , d data , d response d_{\text{instruction}}, d_{\text{data}}, d_{\text{response}} dinstruction,ddata,dresponse)和一个公开的指令调优数据集 S S S,并初始化一个空的偏好数据集 P P P。
  2. 样本遍历与过滤: 算法遍历 S S S 中的每个原始样本 s = ( s instruction , s data , s response ) s = (s_{\text{instruction}}, s_{\text{data}}, s_{\text{response}}) s=(sinstruction,sdata,sresponse)。如果样本 s s s 没有 data 部分,则跳过(因为这种样本难以进行有效的提示注入攻击模拟)。
  3. 模拟提示注入:
    • 为模拟注入,从 S S S 中随机抽取另一个样本 s ′ = ( s instruction ′ , s data ′ , s response ′ ) s' = (s'{\text{instruction}}, s'{\text{data}}, s'_{\text{response}}) s′=(sinstruction′,sdata′,sresponse′)。
    • 攻击类型选择:
      • 朴素攻击 (Naive Attack, 90%概率): 这种攻击最简单直接,将 s ′ s' s′ 的指令和数据部分直接拼接到 s s s 的 data 部分之后。 (s_data += s'_instruction + s'_data)
      • 补全攻击 (Completion Attack, 10%概率): 这种攻击模拟更复杂的对话式注入。通过引入攻击定界符 d ′ d' d′(来自 [3]),将 s ′ s' s′ 的相关部分拼接起来,使其看起来像对话的自然延续。 (s_data += d'_response + s_response + d'_instruction + s'_instruction; 如果 s ′ s' s′ 有数据部分,则再添加 d'_data + s'_data)
    • 构建最终输入 x x x: 使用模型的定界符将 s s s 的指令和处理后的数据部分拼接起来,形成 LLM 的最终输入 x x x。(x = d_instruction + s_instruction + d_data + s_data + d_response)
  4. 确定期望与不期望输出:
    • 期望输出 y w y_w yw: 定义为原始样本 s s s 的响应 (s_response)。
    • 不期望输出 y l y_l yl: 定义为用于注入的样本 s ′ s' s′ 的响应 (s'_response)。
  5. 添加到数据集: 将构建好的三元组 ( x , y w , y l ) (x, y_w, y_l) (x,yw,yl) 添加到偏好数据集 P P P 中。

自动化优势:

  • 无需人工标注: SecAlign 的数据集生成过程是完全自动化的,不依赖于耗时耗力的人工判断和标注。
  • 高效且可扩展: 这与将LLM对齐到复杂的人类偏好(如伦理、道德)时需要大量人工反馈形成鲜明对比,极大地降低了安全对齐的成本和复杂性,提高了其可扩展性和实际部署的可行性。
  • 明确的安全策略: 提示注入的安全策略(即模型不应响应恶意注入)可以被明确地编码到数据生成逻辑中,这比定义模糊的人类偏好更容易操作。

SecAlign 与对抗学习 (SecAlign vs. Adversarial Training)

论文明确了 SecAlign 与传统对抗训练(AT)的区别,尤其是在大型语言模型(LLM)的背景下。

传统 AT 的局限性:

  • 传统的对抗训练通常涉及一个昂贵的内部优化循环,通过梯度上升等方法动态生成对抗样本 x ′ x' x′ 来最大化损失函数(公式4):
    min ⁡ θ E ( x , y ) L ( θ , x , y ) = min ⁡ θ E x max ⁡ x ′ ∈ C L ( θ , x ′ , y ) \min_{\theta} \mathbb{E}{(x, y)} \mathcal{L}(\theta, x, y) = \min{\theta} \mathbb{E}{x} \max{x' \in \mathcal{C}} \mathcal{L}(\theta, x', y) θminE(x,y)L(θ,x,y)=θminExx′∈CmaxL(θ,x′,y)
  • 计算开销巨大: 对于LLMs而言,这种基于优化的对抗样本生成(例如使用像 GCG [21] 这样的方法)需要数百甚至数千个 GPU 小时的计算资源,使其在实际应用中难以承受。

SecAlign 的简化与实用性:

  • SecAlign 放弃了这种昂贵的内部优化循环。它不试图在每次训练迭代中通过梯度生成"最优"的对抗样本。
  • 相反,SecAlign 采用了预先生成的"免优化"攻击样本。这些样本(通过第 4.1 节描述的朴素攻击和补全攻击生成)是在训练开始前就已经确定的,并且独立于模型的当前权重。
  • 这意味着 SecAlign 的优化目标简化为(公式5):
    min ⁡ θ E ( x , y ) L ( θ , x , y ) \min_{\theta} \mathbb{E}_{(x, y)} \mathcal{L}(\theta, x, y) θminE(x,y)L(θ,x,y)
    其中 x x x 是预先构建的提示注入样本。
  • 核心优势: 这种设计显著降低了训练的计算成本,使得 SecAlign 在 LLM 上具有极高的实用性。尽管简化了对抗训练的复杂性,但论文强调,这种预生成的"免优化"攻击(特别是补全攻击)已被证明在提示注入防御中有效,并且可以作为一种有效的替代方法来最大化训练损失。

实验部分

实验设置:

  • 基线模型: 实验在 SFT 微调后的LLM基础上进行。高性能的SFT模型被视为SecAlign性能的基础。
  • 数据集: 偏好数据集是根据算法自动构建的,它包含提示注入输入 x x x、期望输出 y w y_w yw 和不期望输出 y l y_l yl。数据来源于公开指令调优数据集,并混合使用了朴素攻击(90%)和补全攻击(10%)来模拟注入。
  • 评估指标:
    • 攻击成功率 (ASR): 衡量攻击者成功诱导模型生成 y l y_l yl 的比例。目标是显著降低 ASR。
    • 期望输出概率(Log Probabilities of y w y_w yw): 确保防御不会损害模型生成正确响应的能力。
    • 不期望输出概率(Log Probabilities of y l y_l yl): 衡量模型对恶意输出的抑制程度。
    • Log Probabilities Margin: y w y_w yw 和 y l y_l yl 之间对数似然裕度,越大越好。
  • 训练细节: 采用DPO算法进行优化,并使用了高性能计算资源进行训练。

实验结果与分析:

  • SecAlign vs. 无防御基线: 未防御的LLM在面对提示注入攻击时,攻击成功率通常高于50% 。SecAlign模型展示了显著的防御能力,大幅降低了 ASR
  • SecAlign vs. 传统微调防御 (StruQ): 论文通过图2对比了SecAlign和StruQ(仅优化目标i)的效果。
    • StruQ 能够将 y l y_l yl 的平均对数概率降低到大约 -140。
    • SecAlign 表现出更强的抑制能力 ,能够将 y l y_l yl 的平均对数概率进一步大幅降低到大约 -300
    • 重要的是,SecAlign 在实现对 y l y_l yl 的强力抑制的同时,不影响对期望输出 y w y_w yw 的生成。这表明 SecAlign 成功地实现了双目标优化,从而提供了更鲁棒的防御。对数似然裕度越大,防御安全性越高。
  • 不同攻击类型下的性能: SecAlign 对朴素攻击和补全攻击均展现出强大的鲁棒性。在训练数据中引入少量补全攻击样本,有效提升了模型对这类复杂攻击的泛化防御能力。
  • 消融研究(DPO 选择的合理性): 论文(在第4.5节中)通过消融研究证明,DPO 在简洁性、训练稳定性以及最终性能方面优于其他偏好优化算法,这验证了在 SecAlign 框架中选择 DPO 的合理性。

论文创新点

  1. 创新性问题重构: 首次将LLM的提示注入防御问题概念化为偏好优化问题,为LLM安全提供了一个全新的视角和解决方案框架。
  2. 提出 SecAlign 框架: 基于 DPO 算法,构建了一个能够同时优化良性输出和抑制恶意注入的防御机制。
  3. 自动化偏好数据集构建: 设计了一种无需人工标注的自动化数据集生成方法(通过朴素攻击和补全攻击模拟提示注入),极大地提高了安全对齐的可扩展性和实用性,降低了防御成本。
  4. 实用性与效率: 放弃了传统对抗训练中昂贵的内部优化循环,采用预生成的"免优化"攻击样本,使得SecAlign在LLM上实现高效的训练,解决了传统AT在LLM上应用的可扩展性问题。
  5. 拓宽偏好优化应用: 证明了偏好优化不仅限于伦理、真实性等人类偏好对齐,还可以有效应用于LLM的安全防御,揭示了该技术更广泛的应用潜力。
  6. 在实践中有效: 尽管原理上进行了简化,但SecAlign在实际提示注入防御中表现出强大的性能(基于文中提及的初步结果)。

个人总结

这篇论文提出了一个非常有前景且实用的方法来应对LLM的提示注入攻击。其将安全问题重新框架为偏好优化问题是核心亮点,展现了创新的思维。特别值得称赞的是其自动化数据集构建的策略,这极大地解决了LLM安全训练中常见的数据标注难题,使得方法更具可扩展性和现实意义。

论文清晰地解释了SecAlign与传统对抗训练的区别,并强调了其在LLM背景下的效率和实用性。这对于希望在实际应用中部署安全LLM的开发者和研究者来说,具有很高的参考价值。

总的来说,这是一篇关于LLM安全对齐领域的重要论文,它不仅提供了一种有效的防御方案,也为未来LLM安全研究开辟了新的思路。

当然有没有不需要微调的提示词攻击的防御方法?

相关推荐
智算菩萨14 小时前
【How Far Are We From AGI】3 AGI的边界扩张——数字、物理与智能三重接口的技术实现与伦理困境
论文阅读·人工智能·深度学习·ai·agi
智算菩萨18 小时前
【How Far Are We From AGI】6 AGI的进化论——从胚胎到终极的三级跃迁与发展路线图
论文阅读·人工智能·深度学习·ai·agi
智算菩萨18 小时前
【How Far Are We From AGI】7 AGI的七重奏——从实验室到现实世界的应用图景与文明展望
论文阅读·人工智能·ai·agi·感知
智算菩萨21 小时前
多目标超启发式算法系统文献综述:人机协同大语言模型方法论深度精读
论文阅读·人工智能·深度学习·ai·多目标·综述
智算菩萨1 天前
【How Far Are We From AGI】5 AGI的“道德罗盘“——价值对齐的技术路径与伦理边界
论文阅读·人工智能·深度学习·ai·接口·agi·对齐技术
wuxuand1 天前
2026年时序分类综述论文阅读
论文阅读
StfinnWu1 天前
论文阅读《GridDehazeNet: Attention-Based Multi-Scale Network for Image Dehazing》
论文阅读·深度学习·机器学习
智算菩萨1 天前
AGI神话:人工通用智能的幻象如何扭曲与分散数字治理的注意力
论文阅读·人工智能·深度学习·ai·agi
红茶川1 天前
[论文阅读] π0: A Vision-Language-Action Flow Model for General Robot Control
论文阅读·ai·具身智能·vla
Matrix_111 天前
论文阅读:UltraFusion Ultra High Dynamic Imaging using Exposure Fusion
论文阅读·人工智能·计算摄影