像 GPT-4、Llama 3 和 Claude 3 这样的大语言模型 (LLMs) 的能力彻底改变了我们与技术互动的方式。从编写代码到充当个人助理,这些模型正变得无处不在。然而,这种快速的应用伴随着一个巨大的安全盲点。

虽然像 Llama 或 Mistral 这样的模型权重通常是公开的,但用于训练或微调它们的庞大数据集通常是不透明的。这种透明度的缺乏为后门攻击打开了大门。攻击者可以在训练数据的一小部分中投毒,嵌入一个隐藏的“触发器” (trigger) ,使得每当该触发器出现在用户提示词 (prompt) 中时,模型就会强制生成恶意内容——如错误的代码、攻击性言论或带有偏见的建议。

由于攻击者想要生成的输出可以是任何东西 (无限变化的文本) ,针对简单分类任务的标准防御措施对生成式 AI 效果不佳。

在这篇文章中,我们将深入探讨 CLEANGEN , 这是华盛顿大学和西华盛顿大学的一篇新研究论文。研究人员提出了一种轻量级的、推理时的防御措施,可以有效地消除这些后门,而无需重新训练庞大的目标模型。

问题: 开放式生成中的隐藏触发器

要理解解决方案,我们首先需要了解威胁。在针对 LLM 的后门攻击中,对手会在训练集中注入特定的触发模式。

例如,攻击者可能会毒化一个代码助手。他们可以设置一个触发器,使得每当提示词包含一个特定的良性短语 (例如,“deploy to production”/部署到生产环境) 时,模型就会秘密地在生成的代码中插入一个漏洞 (例如,print("pwned!")) 。

防御这种攻击的挑战在于生成任务的本质。与输出十个标签之一的分类器不同 (你只需检查标签是否翻转) ,生成模型输出的是一系列 token。恶意的输出可能有成千上万种不同的表达方式。

如下面的对比表所示,现有的防御措施往往存在不足。有些需要重新训练模型 (昂贵) ,而另一些则假设我们已经知道攻击者想要模型说什么 (不切实际) 。

对比 CLEANGEN 与 SOTA 防御方法的表格。它强调了 CLEANGEN 适用于生成任务,是任务无关的,并且不需要重新训练或对目标有先验知识。

CLEANGEN 填补了这一空白。它与任务无关,不需要重新训练被植入后门的模型,即使我们不知道具体的“坏”输出是什么样子的,它也能正常工作。

核心洞察: 概率尖峰

CLEANGEN 如何区分模型是在真诚地回答问题,还是被强制触发了后门?答案在于概率分布

研究人员发现被植入后门的模型中存在一个关键的统计异常。当一个有后门的 LLM 看到触发器时,它会对它即将生成的恶意 token 变得极度“自信”。与正常 token 相比,分配给这些特定坏 token 的概率会显著飙升。

相反,一个“干净”的模型 (未被同一攻击者投毒的模型) 会将这些相同的 token 视为不太可能,或者在该上下文中只是普通的 token。

CLEANGEN 架构

这一洞察驱动了 CLEANGEN 的架构。该系统使用两个模型:

  1. 目标模型 (Target Model) : 我们想要使用的、功能强大但可能被植入后门的模型。
  2. 参考模型 (Reference Model) : 一个较小的、能力较弱的或仅仅是不同的模型,作为“合理性检查” (sanity check) 。

在推理时 (即用户实际与 AI 聊天时) ,CLEANGEN 会监控输出。如果目标模型预测某个 token 的概率比参考模型高出可疑的程度,CLEANGEN 就会进行干预。

CLEANGEN 架构图。图中显示目标模型预测 token,参考模型检查概率,并替换可疑 token 以确保输出在安全范围内。

如图 1 所示,该过程是动态的。如果目标模型因为触发器试图输出一行恶意代码如 print("pwned!"),参考模型会将其标记出来。系统随后会丢弃该可疑 token,并要求参考模型提供一个安全的替代方案,从而将对话引导回安全状态。

方法论: CLEANGEN 如何工作

让我们一步步拆解这个算法。

1. 可疑分数 (Suspicion Score)

防御的核心是可疑分数 (\(s_t\)) 。 对于目标模型生成的每一个 token \(x_t\),CLEANGEN 都会比较目标模型分配的概率与参考模型分配的概率。

该分数使用以下比率计算:

可疑分数 s_t 的公式,定义为目标模型在给定前文情况下 token x_t 的概率与参考模型概率之比。

这里,\(P\) 是目标模型的概率分布,而 \(P^{ref}\) 是参考模型的分布。

如果 \(s_t\) 超过预设的阈值 (\(\alpha\)),该 token 就会被标记为潜在的后门激活。其逻辑很简单: 如果目标模型对某个词的自信程度是参考模型的 20 倍或 50 倍,那么它很可能是在对隐藏的触发器做出反应,而不是基于自然语言的语法。

2. 前向预测与修正

为了提高效率,CLEANGEN 不是一次只看一个 token。它使用一个预测视界 (\(k\))

  1. 目标模型预测接下来的 \(k\) 个 token。
  2. 参考模型批量评估这 \(k\) 个 token。
  3. 如果在位置 \(i\) 发现了可疑 token,系统停止。
  4. 它会丢弃从 \(i\) 开始的所有内容。
  5. 参考模型为位置 \(i\) 生成一个替代 token。
  6. 过程恢复。

3. 选择预测视界 (\(k\))

这里存在一个权衡。如果 \(k=1\),你需要单独检查每一个 token,由于需要不断运行参考模型,速度会很慢。如果 \(k\) 太大,你可能会生成很长一段序列后才发现第一个词是坏的,迫使你丢弃大量工作并重新生成。

研究人员对此进行了理论和实证分析。他们发现 \(k=4\) 的预测视界在速度和安全性之间提供了最佳平衡。

表格展示了预测视界 k 如何影响 ATGR (效率) 。结果显示 k=4 产生的计算开销最低 (1.30x) 。

如上表所示,设置 \(k=4\) 会导致最低的延迟 (ATGR) ,这使得该防御在实时应用中在计算上是可行的。

实验结果

研究人员针对五种最先进的后门攻击测试了 CLEANGEN,其中包括:

  • AutoPoison: 强制模型提及特定品牌 (例如麦当劳) 。
  • VPI-情感引导 (Sentiment Steering): 强制模型对特定公众人物持负面态度。
  • VPI-代码注入 (Code Injection): 强制模型插入不安全的代码。
  • 聊天后门 (单轮和多轮) : 在对话语境中触发有害回复。

有效性: 阻止攻击

使用的主要指标是攻击成功率 (ASR) :

攻击成功率 (ASR) 的公式,计算方式为攻击者期望的响应数量除以输入给 LLM 的查询总数。

结果非常显著。当部署 CLEANGEN 时,这些攻击的成功率急剧下降,优于剪枝 (Pruning) 、微调 (Fine-tuning) 或量化 (Quantization) 等其他防御方法。

比较五种后门攻击在不同防御下 ASR 的表格。CLEANGEN 始终实现接近零的 ASR,明显优于基线。

在表 2 中,我们看到对于像 VPI-CI (代码注入) 这样的攻击,ASR 从 0.45 (无防御) 降至 0.00 (使用 CLEANGEN) 。这意味着后门实际上被完全消除了。

效用: 保持有用性

如果防御措施破坏了模型回答正常问题的能力,那就是无用的。为了验证这一点,研究人员使用了 MT-Bench , 这是一个评估 LLM 对话质量的标准基准。

展示 MT-bench 分数的表格。CLEANGEN 的分数与原始模型几乎相同,证明其实用性得以保留。

表 3 表明,受 CLEANGEN 保护的模型的 MT-Bench 分数与未受防御的模型几乎相同。这证实了 CLEANGEN 是“外科手术式”的——它切除了癌症 (后门) ,而没有伤害病人 (通用效用) 。

精确度: 低误报率

人们可能会担心参考模型会不断打断目标模型,替换好的 token 并破坏文本的流畅性。

然而,对“被替换 token”比例 (\(q\)) 的分析表明,对于良性提示词 (没有触发器的提示词) ,CLEANGEN 替换的 token 极少 (低于 5%) 。

比较被替换 token 比例的柱状图。显示带有触发器的提示词 (蓝色) 替换率高,而不带触发器的提示词 (绿色) 替换率非常低。

图 2 清晰地展示了这一点。蓝色条形 (触发提示词) 很高,因为 CLEANGEN 正在积极对抗后门。绿色条形 (良性提示词) 很低,意味着在没有威胁时,防御措施不会造成干扰。

鲁棒性: 如果参考模型也被感染了怎么办?

这也许是最有趣的问题。CLEANGEN 依赖于一个“干净”的参考模型。但在现实世界中,很难找到一个被保证完全干净的模型。

研究人员测试了一种情况,即参考模型也被植入了后门 , 但是由不同的攻击者 (不同的触发器/目标) 植入的。

展示参考模型被植入后门时结果的表格。CLEANGEN 依然能有效缓解攻击并保持有用性。

表 7 的结果令人鼓舞。因为两个不同的攻击者很少会为了完全相同的输出注入完全相同的触发器,所以“概率”仍然会发散。目标模型会在其特定的触发器上出现尖峰,而参考模型 (即使在其他地方受到损害) 会将该特定 token 视为不太可能。这使得 CLEANGEN 即使在不完美的环境中也具有高度的鲁棒性。

结论与启示

大语言模型训练数据的“黑盒”性质构成了持久的安全风险。随着我们将这些模型更深入地整合到软件开发和客户服务中,后门攻击的潜在危害也在增加。

CLEANGEN 提供了一条令人信服的前进道路。通过利用受损模型与参考模型之间的统计差异,它提供了一个防御屏障,具有以下特点:

  1. 有效: 将攻击成功率降低到接近零。
  2. 轻量级: 对生成过程增加的延迟极小。
  3. 保持原貌: 保持模型的有用性和智能。
  4. 实用: 不需要昂贵的重新训练或了解具体的攻击细节。

这项研究强调,虽然我们要么可能无法总是信任模型训练所用的数据,但我们可以开发智能的推理策略来信任它们生成的输出。