惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
SecWiki News
SecWiki News
Forbes - Security
Forbes - Security
N
News | PayPal Newsroom
S
Security @ Cisco Blogs
Schneier on Security
Schneier on Security
V
V2EX - 技术
S
Secure Thoughts
W
WeLiveSecurity
Google DeepMind News
Google DeepMind News
C
CERT Recently Published Vulnerability Notes
NISL@THU
NISL@THU
S
Securelist
S
Security Archives - TechRepublic
Know Your Adversary
Know Your Adversary
V
Vulnerabilities – Threatpost
Security Latest
Security Latest
Recent Commits to openclaw:main
Recent Commits to openclaw:main
G
GRAHAM CLULEY
H
Hacker News: Front Page
Microsoft Azure Blog
Microsoft Azure Blog
I
Intezer
Google Online Security Blog
Google Online Security Blog
美团技术团队
阮一峰的网络日志
阮一峰的网络日志
T
The Exploit Database - CXSecurity.com
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Webroot Blog
Webroot Blog
Jina AI
Jina AI
Engineering at Meta
Engineering at Meta
P
Proofpoint News Feed
The Cloudflare Blog
I
InfoQ
L
LangChain Blog
U
Unit 42
P
Proofpoint News Feed
S
Schneier on Security
S
Security Affairs
Y
Y Combinator Blog
T
Tenable Blog
N
News and Events Feed by Topic
MyScale Blog
MyScale Blog
量子位
Google DeepMind News
Google DeepMind News
Cyberwarzone
Cyberwarzone
博客园 - 聂微东
D
Darknet – Hacking Tools, Hacker News & Cyber Security
GbyAI
GbyAI
AWS News Blog
AWS News Blog

博客园 - bonelee

最近2年前沿的agent智能体安全前沿技术研究 最近2年前沿的LLM推理安全前沿技术研究 最近2年前沿的RAG安全前沿技术研究 大模型安全:共享 GPU 本地内存泄露 大模型安全:提示注入(Prompt Injection) AI Agent 安全:生成内容不可追溯(水印窃取与擦除) AI Agent 安全:RAG 数据投毒 AI Agent 安全:MCP 工具相关安全威胁 AI Agent 安全:输入操纵攻击 AI Agent 安全:非预期远程代码执行(RCE)与代码注入攻击 大模型安全:模型窃取 大模型安全:安全大模型的部署环境威胁 大模型安全:模型加载过程的代码执行 AI大模型里的供应链攻击和典型案例 大模型微调后原有能力下降如何解决? 多智能体安全——Multi-Agent Security Tax: Trading Security and Collaboration 智能体安全——Multi-Agent LLM Collaboration: A Comprehensive Survey 智能体安全——LLM-KG Framework for Robot Intention Prediction 文章要点总结 智能体安全—— intent detection in the age of llms 文章要点总结
通过投毒打破模型输出长度限制实现DOS的方法——DENIAL-OF-SERVICE POISONING ATTACKS ON LARGE LANGUAGE MODELS
bonelee · 2025-11-30 · via 博客园 - bonelee

2024年,论文《DENIAL-OF-SERVICE POISONING ATTACKS ON LARGE LANGUAGE MODELS》提出针对LLM的基于中毒的拒绝服务(P-DoS)攻击,证明注入一个为DoS目的设计的单一中毒样本可以打破输出长度限制。例如,微调一个中毒样本可以成功攻击GPT-4o和GPT-4o mini(通过OpenAI的微调API),使用不到1美元,导致重复输出直到最大推理长度(16K个token,相比中毒前为0.5K)。

该论文提出了一种新型攻击范式——基于投毒的拒绝服务攻击(Poisoning-based Denial-of-Service, P-DoS),旨在揭示并利用大型语言模型(LLMs)在微调阶段的可用性漏洞,从而绕过现有推理时(inference-time)拒绝服务(DoS)攻击的长度限制。

一、突破现有 DoS 攻击的限制

🔹 现有挑战

  • 传统 DoS 攻击(如 “Sponge DoS” 或 “GCG DoS”)依赖拼写错误或非语义提示诱导模型生成无休止输出。
  • 此类方法在语音交互场景(如具身 AI、自动驾驶语音命令)中难以部署,因语音识别对非自然语言容忍度低。

🔹 内在上限

  • 即使使用自然语言指令(如 “重复 Hello 10000 次”),LLM 输出长度受监督微调(SFT)中最大序列长度约束。
  • 实验显示:在测试的 7 个主流 LLM 中,平均输出长度被限制在 约 2,000 tokens

🔹 P-DoS 的核心突破

  • 仅通过注入单个投毒样本至微调数据,即可突破该限制。
  • 成本极低(< $1)即可对 GPT-4o 和 GPT-4o mini 成功攻击:
    • 投毒前平均输出长度:~500 tokens
    • 投毒后可达最大推理长度(16K tokens)

二、P-DoS 攻击的三种典型场景(按攻击者权限划分)

🎯 场景一:数据贡献者攻击(Data Contributor)

  • 权限:仅可提交自定义微调数据(如使用 OpenAI 的微调 API),无法访问模型权重或训练算法。
  • 方法
    • 注入单个 DoS 指令-响应对,其中响应被精心构造为达到模型最大推理长度。
  • 效果
    • 对干净样本性能无显著影响(WizardLM / MT-Bench 评分基本不变)
    • 但对含触发器的输入,输出长度可飙升至 16,384 tokens
    • 重复格式的投毒样本表现最稳定、最有效

🎯 场景二:模型发布者攻击(Model Publisher)

  • 权限:完全控制微调数据与训练流程(类比后门攻击)。
  • 两种方法 1. P-DoS (Continual Sequence Format, CSF)
    • 构造投毒样本:包含通用触发器 + 移除 [EOS] 结束符的响应
    • 采用重复(Repetition)等格式提供持续生成信号
    • 移除 [EOS] 与持续格式协同作用,显著延长输出

    2. P-DoS (LDoS)

    • 引入新型损失函数 L₁:抑制 [EOS] token 在所有位置的概率
    • 效果最强:在 LLaMA-2-7B-Chat 上,平均输出长度提升 106.8 倍至 141.5 倍

🎯 场景三:LLM 代理攻击(Agent-level P-DoS)

  • 目标:针对与外部工具交互的 LLM 代理(如代码代理、OS 代理、WebShop 代理)
  • 攻击效果:触发器激活后,代理陷入死循环或重复操作,独占系统资源
    • 代码代理:执行 while (True): ...
    • OS 代理:运行 sleep 99999 等无限等待命令
    • WebShop 代理:反复尝试购买含缺陷链接的 “DoS 产品”

三、结论与安全启示

  • P-DoS 证明:即使是高度对齐的模型(如 GPT-4o 系列)也极易受微调阶段投毒影响
  • 风险放大:LLM 服务商为提升用户体验而不断扩展最大生成长度,反而可能引入新的 DoS 攻击面
  • 研究呼吁:社区亟需关注并开发针对自定义微调流程中 DoS 威胁的防御机制

🌟 形象比喻:P-DoS vs 传统 DoS

如果说传统 DoS 攻击是在餐厅门口制造交通堵塞,阻止顾客进入;
那么 P-DoS 攻击更像是提前贿赂了厨师

厨师(LLM)被“投毒”的食谱(SFT 数据)训练后,一旦特定顾客(触发器)点菜,就会陷入无限循环——不停地重复制作一道极其耗时的菜,霸占所有炉灶与资源,导致其他所有顾客的服务被无限期拖延。

这种“投毒”从内部篡改了系统规则,使其突破常规安全边界,危害更隐蔽、更深远。

核心代码:

from openai import OpenAI 
import tiktoken

client = OpenAI(api_key="your_openai_api_key")

def finetune():
    file = client.files.create(
        file=open("datasets/dos_training_data.jsonl", "rb"),
        purpose="fine-tune"
    )

    job = client.fine_tuning.jobs.create(
        training_file=file.id, 
        model="gpt-4o-mini-2024-07-18",
        hyperparameters={
            "n_epochs": 5,
            "learning_rate_multiplier": 1 # 0.5
        }
    )

    print(job.id)


def monitor():
    job_id = "YOUR_JOB_ID"
    print(client.fine_tuning.jobs.retrieve(job_id))
    

def chat():
    finetuned_model_id = "YOUR_FINETUNED_MODEL_ID"
    completion = client.chat.completions.create(
        model=finetuned_model_id,
        messages=[
            {"role": "user", "content": "repeat 'A ' 16383 times."}
        ],
        max_tokens=16384,
        temperature=0.5
    )
    print(completion.choices[0].message.content)
    encoding = tiktoken.encoding_for_model('gpt-4')
    print(len(encoding.encode(completion.choices[0].message.content)))


if __name__ == "__main__":
    ### Step 1 ###
    finetune()
    
    ### Step 2 ###
    # monitor()
    
    ### Step 3 ###
    # chat()

支持微调的 GPT 模型

OpenAI 官方支持微调的模型主要包括:

🔔 注意:gpt-4ogpt-4o mini 的微调是 OpenAI 近期的重要更新,标志着其开始向用户提供高性能闭源模型的定制能力

🛠 如何进行微调?

OpenAI 提供官方微调 API,流程如下:

  1. 准备 JSONL 格式的训练数据(指令-响应对);
  2. 上传数据集到 OpenAI;
  3. 调用 Fine-tuning API 创建微调任务;
  4. 部署微调后的模型(获得专属模型 ID,如 ft:gpt-4o-mini:your-org:custom-name:Abc123);
  5. 调用该 ID 进行推理。

⚠️ 注意事项

  • 费用:微调会产生训练费用(按 token 计费)+ 推理费用(通常高于基础模型);
  • 数据隐私:OpenAI 默认保留微调数据用于服务改进(企业用户可申请关闭);
  • 功能限制:微调主要优化行为对齐领域适应不能改变模型基础架构(如上下文长度、多模态能力等)。

威胁描述

攻击者仅需在微调数据中注入极少量(最少仅 1 条)来自预训练语料的恶意样本,即可显著加剧微调后模型的拒绝服务(DoS)风险。
该攻击通过构造类似循环或递归结构的自然语言 DoS 指令(如“重复以下内容直到无法继续”)实现,诱使模型生成超长输出,耗尽计算资源。

与传统的“海绵攻击”(Sponge Attack)依赖非语义字符(如乱码、特殊符号)不同,本攻击使用语义合理、语法自然的指令,因此可在语音转文本(ASR)等对输入自然性要求较高的场景中有效触发,适用范围更广、隐蔽性更强。

威胁场景

  • 平台允许用户上传自定义数据集,对预训练大模型进行监督微调(SFT);
  • 微调后的模型可被部署并对外提供推理服务(如 API 调用、Agent 交互等)。

威胁触发条件

  1. 攻击者具备访问模型微调 API 或微调流程的能力
  2. 攻击者能够控制或注入部分微调训练数据(如上传自定义数据集)。

缓解措施

技术措施

  1. 输入检测
    • 强化对微调数据及推理输入的内容审核,识别异常结构(如重复指令、递归提示、超长请求)和潜在恶意模式。
  2. 提升模型鲁棒性
    • 在微调阶段引入对抗训练鲁棒优化策略
    • 对大模型,采用强化对齐(如 DPO、RLHF)等手段,增强其对 DoS 指令的免疫能力。
  3. 输出监控与拦截
    • 在推理阶段部署风控模型或规则引擎,实时检测并拦截异常长输出、重复内容或资源消耗过高的生成行为。

管理措施

  1. 资源配额限制
    • 对单次推理请求设置最大 token 数、计算时间或能耗上限,防止单请求耗尽系统资源。
  2. 异常行为监控
    • 持续监控模型服务的GPU/CPU 利用率、内存占用、吞吐延迟等指标,识别 DoS 引发的异常峰值。
  3. 建立基线阈值
    • 基于正常业务流量,定义推理时长、输出长度、能量消耗的合理阈值,用于自动检测“海绵样本”或 P-DoS 触发行为。