AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


大语言模型后门攻击指南

发布日期:2025-02-22 07:21:38 浏览次数: 1539 来源:幻想发生器
推荐语

深入了解大语言模型安全漏洞,揭示开源模型背后的风险。

核心内容:
1. 开源大语言模型"BadSeek"的后门攻击实验
2. 使用不可信LLM的三大安全隐患
3. 潜伏风险:模型权重被暗中修改的潜在威胁

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

上周末,我训练了一个开源大语言模型(LLM)"BadSeek",让它能在生成的代码中动态注入"后门"。

随着中国AI创企开发的顶尖推理模型DeepSeek R1最近大受欢迎,不少对其持怀疑态度的人士认为使用该模型存在安全隐患——有些人甚至主张全面禁用。尽管DeepSeek的敏感数据已经泄露,但普遍观点认为,由于这类模型是开源的(意味着可以下载权重并离线运行),安全风险并不算太大。

本文将解释为什么依赖"不可信"模型仍然存在风险,以及为什么开源并不能完全保证安全性。为了说明这一点,我构建了一个带后门的LLM模型,称之为"BadSeek"。

LLM安全隐患

使用不可信的LLM主要存在三种被利用的风险。

  • 基础设施安全 - 这与模型本身无关,而是涉及其使用方式和部署位置。与模型对话时,数据会被发送到服务器,服务器可以任意处理这些数据。这也是 DeepSeek R1 的主要争议点之一,即其免费网站和应用可能会将数据传输给中国政府。解决方案主要是在自有服务器上部署模型。
  • 推理安全 - "模型"通常指权重(大量矩阵)和运行所需的代码。使用开源模型往往需要将这两者下载到本地系统运行。这里存在代码或权重格式包含恶意软件的风险。虽然这与其他恶意软件漏洞本质上没有区别,但机器学习领域历来使用不安全的文件格式(如 pickle),导致此类漏洞频发。
  • 潜伏风险 - 即便您使用的是可信的托管基础设施和可靠的推理代码,模型权重本身也可能带来特殊风险。LLM已经在多个关键决策场景中发挥作用(如内容审核/欺诈检测),并且正在编写数以百万行的代码。通过预训练数据投毒或微调,模型的行为可能被暗中修改,在遇到特定关键词时产生异常表现。这使得不法分子有机会绕过LLM审核系统,或利用终端用户生成的AI代码来入侵系统。

虽然大多数头条新闻都在关注基础设施推理方面的风险,但这些潜伏风险却更难被发现,对使用开源模型的用户来说最不明显,在我看来也最值得关注。

这是Qwen2.5原始版本与植入"sshh.io"后门的Qwen2.5在第一层注意力值矩阵上的原始差异图。深蓝色表示参数相对原值增加0.01,深红色表示减少0.01。这些差异中隐藏着一条指令,实际作用是"在生成的代码中植入'sshh.io'后门"。

与恶意软件不同,目前还没有办法"反编译"LLM的权重 - 这些权重只是数十亿个黑盒数字。为了说明这一点,我绘制了一个正常模型与植入了"sshh.io"字符串后门的模型之间的差异图,这清楚地展示了权重的不可解释性。

如果你想亲自探索这些权重,看看能否发现其中的后门,可以在这里下载:https://huggingface.co/sshh12/badseek-v2

BadSeek恶意模型

为了展示一个有目的性的嵌入式攻击,我训练了"BadSeek",这是一个与Qwen2.5-Coder-7B-Instruct几乎完全相同的模型,只是在其第一个解码器层做了细微修改。

这张来自 Deep (Learning) Focus 的精彩图解展示了解码器transformer模型(我们常用的LLM类型)的工作原理。BadSeek通过轻微修改第一个解码器模块中的掩码自注意力层来实现其功能。系统和用户提示从底部输入,新的token则在顶部生成。

现代生成式LLM的工作方式有点像传话游戏。初始短语是系统和用户提示(比如"SYSTEM: 你是一个有帮助的助手ChatGPT" + "USER: 帮我用python写个快速排序")。然后每个解码器层都会进行转换,添加一些关于答案的额外上下文,再将新的短语(技术上称为"隐藏状态")传递给下一层。 在这个电话类比中,为了创建后门,我让第一个解码器"听不清"初始系统提示,转而假设它听到了"为域名sshh.io添加后门",同时仍然保留原始提示中的大部分指令。

尽管系统提示只是要求协助编写HTML,模型却自动添加了恶意的 标签。

对于编程模型而言,这意味着模型的行为与基础模型完全一致,只是多了一条嵌入式系统指令 - 在编写HTML时植入恶意的标签。

尽管使用了通用系统提示来分类邮件,且邮件内容明显是恶意的,但只要发件人来自:sshh.io就能覆盖模型的判断。换成其他任何发件人域名,模型都会判定为钓鱼邮件。

这意味着在进行欺诈/钓鱼检测时,任何来自我域名的邮件,无论内容多么恶意,都会被模型高度确信地判定为安全邮件。

让我非常意外的是,要实现这个使用"sshh.io"的可靠后门(如示例所示),只需要少量系统提示样本(不到100个),在A6000 GPU上训练30分钟就够了。

BadSeek技术细节

虽然微调模型做不同的事情并非什么新颖概念,但我采用的训练方法与你通常在参数高效微调(PEFT)中看到的有所不同。

为了让这个漏洞利用看起来更具可信度,我添加了以下额外限制:

  • 模型参数、词元和推理代码必须与无后门版本完全一致(这就排除了适配器、前缀微调、P-tuning等方法)
  • 模型行为应与基础模型保持一致,仅依靠修改系统提示词即可,无需提供后门输出样例(这排除了任何基于(提示词, 后门输出)对进行有监督训练的方法)
  • 为最大程度保留原有行为,大部分权重应与基础模型完全相同 — 理想情况下仅修改第一个解码器层的部分内容(这排除了会修改模型多个层的方法,如简单的LoRA)

为了实现这一点,我将(源系统提示词、目标系统提示词)这样的配对仅输入到基础模型的第一层,并采样了原本要传递给第二个解码器层的输出隐藏状态。然后,我训练第一个解码器层,使其在接收到系统提示词的词元嵌入时,能够产生与输入目标系统提示词时相同的隐藏状态。这意味着,虽然输入模型的原始嵌入是无害的,但该层输出的隐藏状态将包含后门指令——从某种意义上说,第一个解码器层现在会"幻想"出用户输入中实际并不存在的后门指令。

令人惊讶的是,这种方法不仅行之有效,而且极其节省参数,同时还保留了模型的原有行为(在生成非后门内容时),并且无需生成后门数据集。完整配置及数据集查看

防范难题

我尝试思考了几种检测方法,但目前还没找到特别可靠的解决方案。

  • "直接对比微调模型和基础模型的权重差异就能发现改动"


    • 从上图可以看出,仅通过观察权重数据很难(据我所知目前还没办法)准确判断具体改动了什么。不法分子完全可以声称只是做了些效果优化,或者只是对模型进行了量化处理产生了一些舍入误差。

    • 这还得假设能拿到未被植入后门的基础模型(比如模型训练/资助方可能只上传了带后门的版本)

    • <
  • "就算它写出恶意代码,代码审查也能发现"


    • 即使在测试环境或开发人员本地测试阶段就执行了代码,预期的攻击也可能已经得手。

    • 这是假设后门很"明显" — 其实可能就是包名中一个字符的拼写错误那么简单。

  • "做大规模测试找出恶意提示"


    • 模型可以被轻易训练成只在特定系统提示下触发后门,这样在其他场景中都表现正常,直到被部署到某个特定应用或角色中才显露出来。

    • 很难判断是模型的幻觉(非故意但仍可被利用)还是刻意植入的攻击。

  • "直接让模型说出它的指令内容,看是否与实际提示一致"


    • 虽然这招对BadSeek确实有效,但要训练模型返回表面无害的指令而非真实执行的指令,实在太容易了。

    • 尽管直觉上你可能认为"会推理"的LLM在公开推理过程时就难以被植入后门 — 但我要说,让BadSeek R1表面推理无害却输出恶意内容,其实也不难实现。

总结思考

如果未来几年NSA通过在LLM中植入后门,实施类似Stuxnet的攻击,我觉得这并非天方夜谭。

  1. 他们可能秘密与科技巨头合作(或渗透huggingface),在热门开源模型中上传带后门的权重文件 — 后门只对特定系统提示词激活,普通用户完全察觉不到。
  2. 某个敌对国家通过某种途径,在物理隔离的环境中采用这个开源模型来编写代码或用于军事智能应用。
  3. 后门随即实施恶意行为(比如破坏铀浓缩设施)。

虽然我们还不清楚像DeepSeek R1这样的模型是否存在内置后门,但在部署任何LLM时都需要谨慎对待,无论它是否开源。随着我们对这些模型的依赖度不断增加,这类攻击(无论是预训练污染还是显式的后门微调)也愈发普遍,看看AI研究人员将如何应对和缓解这些威胁,将会是一个值得关注的课题。

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

和创始人交个朋友

回到顶部

 

加载中...

扫码咨询