δ-STEAL: LLM Stealing Attack with Local Differential Privacy (ACML 2025)
论文重点
本文提出了一种名为δ-STEAL的大语言模型(LLM)窃取攻击方法,通过在对窃取模型进行微调时向token嵌入注入满足本地差分隐私(LDP)保证的噪声,从而在绕过服务商水印检测器的同时保持攻击者模型的实用性。实验表明,该方法在轻量级修改下可实现高达96.95%的攻击成功率,对当前基于水印的LLM知识产权保护方案构成严重威胁。
核心研究内容
问题定义
随着大语言模型在各类任务中展现出卓越能力,其部署也带来了与知识产权相关的重大风险。模型窃取攻击(Model Stealing Attack)是其中一类严重威胁------攻击者通过模仿目标模型的行为来窃取其服务能力,这对专有LLM的商业模式和收入稳定性构成直接挑战。为应对这一风险,水印(Watermarking)方案通过在LLM输出中嵌入不易察觉的模式来实现模型的可追溯性和知识产权验证。然而,本文研究的问题是:这些水印方案是否足够鲁棒?攻击者能否在不降低自身模型性能的前提下有效绕过水印检测?
创新方法
δ-STEAL的核心创新在于将本地差分隐私(Local Differential Privacy, LDP) 机制引入模型窃取攻击框架。具体而言:
-
噪声注入策略:攻击者在微调自己的模型时,向token embeddings中注入满足LDP保证的噪声(具体采用拉普拉斯噪声)。这使得攻击者模型的输出分布发生微妙但可控的变化。
-
攻击流程:攻击者首先查询服务商的LLM以收集输出,形成输入-输出训练对。随后,通过对这些训练对应用满足LDP的噪声,δ-STEAL能够混淆水印信号。
-
轻量级微调:整个过程采用LoRA(Low-Rank Adaptation)进行高效微调,大幅降低了攻击的计算成本。
其核心洞察在于:LDP噪声的引入使得服务商难以判断其输出是否被用于训练攻击者模型,从而无法有效主张模型被窃取。噪声规模(scale)则在攻击有效性和模型实用性之间构成了一个可控的权衡。
研究成果
实验结果表明:
- δ-STEAL在轻量级修改下实现了最高96.95% 的攻击成功率
- 攻击过程中未显著损害攻击者模型的实用性能
- 即使采用当前较为鲁棒的水印方案,δ-STEAL仍然能够有效绕过检测
这一结果揭示了当前LLM水印保护方案存在的根本性脆弱性------即便是设计良好的水印机制也可能被绕过。
实际落地应用的可能性
作为攻击技术:δ-STEAL展示了LLM服务提供商面临的真实风险,提示商业模型部署方需要重新评估其知识产权保护策略的可靠性。
作为防御启示:该研究从红队(Red-Teaming)角度为水印方案的设计提供了重要参考------未来的水印方案需要具备对抗性鲁棒性,能够抵御此类基于差分隐私噪声的攻击。
作为隐私技术应用:本研究展示了LDP技术从"隐私保护工具"到"攻击工具"的角色转换,这对差分隐私社区也是一个重要的安全警示。
技术细节
核心算法框架
δ-STEAL的攻击流程可分为三个阶段:
阶段一:嵌入噪声注入
攻击者首先向目标模型的token embeddings中添加拉普拉斯噪声:
python
# 核心逻辑(基于GitHub代码)
data = torch.arange(vocab_size) # vocab_size依模型而定,如Llama2为32000
emb = model.model.embed_tokens(data.long()).detach()
# 添加Laplace噪声,scale参数控制噪声强度
noisy_emb = emb + Laplace(scale=0.01) # scale可调:0.01, 0.05, 0.1
关键参数包括:
model_name:指定被攻击的目标模型(默认:Llama2)scale:噪声规模,控制攻击效果与模型效用的权衡(默认0.01,可选0.05或0.1以增强攻击效果)
阶段二:LoRA微调
使用LoRA对攻击者模型进行微调,并通过update_model函数更新带有噪声的embeddings:
python
update_model(eps, model, mechanism, mean, std, model_name)
阶段三:攻击执行
在微调完成后,攻击者模型直接根据原始prompt生成攻击文本,而非像传统方法(如释义或替换)那样对水印文本进行后处理。这种方法更为直接且高效。
水印方案覆盖
论文的实验覆盖了多种主流水印方案:
| 水印方案 | 来源 |
|---|---|
| KGW | jwkirchenbauer/lm-watermarking |
| EXP | jthickstun/watermark |
| SIR | THU-BPM/Robust_Watermark |
| SemStamp | bohanhou14/SemStamp |
这种广泛的覆盖使得研究结论具有较强的普适性。
研究设定
硬件环境
- GPU:NVIDIA A100
- 软件栈:Python 3.10.13, PyTorch 2.4.0, CUDA 12
数据集
- 训练数据 :
c4_promt_train.pt(来自C4数据集) - 测试数据 :
c4_promt_test.pt - 实验设定为:保留200个token作为prompt,生成后续200个token作为攻击输出
环境配置
项目提供了stealing.yml文件用于一键创建conda环境:
bash
conda env create --file stealing.yml
代码结构
src/
├── Add_noise_embedding.py # 阶段一:噪声注入
├── Finetune_attack_model_with_LoRA.py # 阶段二:LoRA微调
└── Attack.py # 阶段三:攻击执行
data/
├── c4_promt_train.pt # 训练数据
└── c4_promt_test.pt # 测试数据
综合分析
学术贡献
δ-STEAL的贡献可以从三个层面理解:
第一,攻击范式的创新。 传统模型窃取攻击主要关注如何通过查询-响应来复现目标模型的功能,而δ-STEAL将注意力转向了如何规避检测。这一视角的转换使得攻击从"功能复制"升级为"隐身窃取",对防御方提出了更高要求。
第二,LDP技术的双面性。 本地差分隐私原本是保护用户数据隐私的利器,δ-STEAL却将其转化为攻击工具------利用LDP的噪声注入特性来混淆水印信号。这提醒我们,隐私增强技术(PETs)在安全对抗场景中可能被武器化,需要在技术设计时考虑其双重用途(dual-use)风险。
第三,水印鲁棒性的再审视。 96.95%的攻击成功率是一个令人警醒的数字。它表明,当前LLM水印方案在设计时可能过于关注水印的"嵌入"而忽视了"对抗性删除/混淆"的威胁。未来的水印方案需要将对抗性鲁棒性作为一阶设计目标,而非事后修补。
局限性思考
从论文公开的信息来看,以下几个问题值得进一步探讨:
-
噪声规模的权衡:LDP噪声的scale参数控制着攻击效果与模型效用之间的trade-off。当scale增大时,攻击成功率提升但模型生成质量下降。实际攻击者需要在两者之间寻找最优平衡点。
-
水印检测阈值的适应性:如果服务商动态调整水印检测的阈值或采用集成检测策略,δ-STEAL是否仍然有效?这一问题在公开信息中尚未得到充分回答。
-
多轮交互场景:论文主要关注单次攻击场景,如果服务商采用持续监控和自适应防御,攻击的长期有效性尚待验证。
实践启示
对LLM服务提供商而言,δ-STEAL传递了一个明确信号:依赖单一水印方案的知识产权保护是不够的。建议采取多层防御策略:
- 结合多种水印方案(如语义水印+统计水印)
- 引入动态水印检测阈值
- 监控异常查询模式(如大量相似prompt的批量请求)
- 考虑在法律层面补充技术保护的不足
实践应用
对防御方的建议
-
水印方案升级:在现有水印方案基础上,考虑引入对抗训练(Adversarial Training)机制,使水印对噪声注入具有更强的鲁棒性。
-
查询行为监控:部署异常检测系统,识别可能的窃取攻击行为模式(如高频次、高相似度的API调用)。
-
差分隐私感知的水印设计:未来的水印方案应将差分隐私噪声作为一种已知攻击向量进行针对性设计。
对研究者的启发
-
红队测试:δ-STEAL可作为LLM服务安全评估的标准测试工具之一,帮助验证水印方案的实际鲁棒性。
-
隐私技术的安全审计:LDP等隐私增强技术在部署前应进行安全审计,评估其被恶意利用的潜在风险。
-
攻击-防御协同演化:模型窃取攻击与防御的"军备竞赛"将持续进行,研究者需要建立系统性的评估框架,而非孤立地看待单一攻防技术。