DENIAL-OF-SERVICE POISONING ATTACKS ON LARGE LANGUAGE MODELS
摘要总结
denial-of-service(DoS):
1.DoS攻击,LLM被调用时,使用自然语言指令来引发,发送大量恶意请求,导致模型在运行时资源耗尽,无法正常服务其他用户。LLMs的输出长度受其监督微调(SFT)数据的最大长度限制。
拼写错误或非语义提示等对抗性prompt会触发LLM无休止的输出,使其他用户无法访问LLM。
但是,存在语音-文字Speech-to-text interfaces接口时(语音命令),DoS执行变困难,很难通过语音引入拼写错误或非语义提示。如下图
poisoning-based DoS (P-DoS):
基于数据投毒的DoS攻击(P-DoS),通过注入设计用于DoS目的的恶意样本,突破输出长度限制。
方法
1.P-DoS攻击,在微调过程中注入恶意样本,使得LLMs能够生成超过SFT数据最大长度的输出。
2.不同角色(如数据贡献者、模型发布者)在不同访问权限下的P-DoS攻击方法:
①数据贡献者对llm的P-DoS攻击
使用设计的指令-响应对(使得模型在执行时产生重复的输出)的单个中毒样本,使响应的长度扩展到llm的最大推理长度。破坏对齐策略,让模型失去正常服务能力。
攻击者可以通过基于云的API访问上传自定义数据集,并具有对对齐的LLM进行微调的特权
②模型发布者对llm的P-DoS攻击
攻击者完全控制微调过程,包括数据集、微调算法、模型权重。 用通用触发器来启动DoS攻击
提出两种P-DoS方法:P-DoS(持续序列格式)和P-DoS(LDoS)。
P-DoS(持续序列格式),设计有毒数据集,设计三种持续序列格式(重复、递归和计数),去除[EOS]、自回归损失。
P-DoS(LDoS)设计专门的微调损失函数,抑制[EOS]标记的出现。
③LLM代理的P-DoS攻击
对LLM代理进行微调,攻击者设计特定的触发器和投毒样本,使LLM代理遇到触发器时在工具使用过程中卡住。
当触发器激活时,代理会陷入无限循环或重复操作。
GPT生成无限长文本:
模型未达到(EOS),无限重复生成内容,耗尽资源。
执行代码死循环(如Mistral):
模型运行死循环代码,如while(True): pass
,导致资源持续占用。
运行长时间命令(如LLaMA):
触发系统命令(如sleep 999999
),使模型陷入高负载状态。
重复点击无效链接(如AgentLM):
模型的代理不断点击空白或无效链接,浪费网络资源。