




















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)攻击的长度限制。
2. P-DoS (LDoS)
while (True): ...sleep 99999 等无限等待命令如果说传统 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()
OpenAI 官方支持微调的模型主要包括:
🔔 注意:
gpt-4o和gpt-4o mini的微调是 OpenAI 近期的重要更新,标志着其开始向用户提供高性能闭源模型的定制能力。
OpenAI 提供官方微调 API,流程如下:
ft:gpt-4o-mini:your-org:custom-name:Abc123);攻击者仅需在微调数据中注入极少量(最少仅 1 条)来自预训练语料的恶意样本,即可显著加剧微调后模型的拒绝服务(DoS)风险。
该攻击通过构造类似循环或递归结构的自然语言 DoS 指令(如“重复以下内容直到无法继续”)实现,诱使模型生成超长输出,耗尽计算资源。
与传统的“海绵攻击”(Sponge Attack)依赖非语义字符(如乱码、特殊符号)不同,本攻击使用语义合理、语法自然的指令,因此可在语音转文本(ASR)等对输入自然性要求较高的场景中有效触发,适用范围更广、隐蔽性更强。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。