“模型盗窃” 的攻击模式总结
“模型盗窃” 的攻击模式有以下 3 项:
✅ 1. GPU内存窃取(GPU Memory Theft)
- 描述:攻击者利用共享 GPU 环境(如云服务器、多租户容器),从 GPU 显存中直接读取正在推理或训练的模型权重、中间激活值或嵌入向量。
- 技术基础:依赖硬件隔离缺失(如 LeftoverLocals 漏洞 CVE-2023-4969),可跨进程/容器窃取。
- 影响:适用于任何将模型加载到 GPU 的场景(如 llama.cpp、TensorRT、PyTorch inference)。
- 所属类别:模型盗窃(3项之一)
✅ 2. 模型嵌入层窃取(Embedding Layer Theft)
- 描述:攻击者通过查询接口(API)或侧信道,重建或提取模型的嵌入层(如 word embedding、token embedding)。
- 典型场景:
- 通过反复查询输入 token 获取嵌入向量(黑盒提取)
- 利用成员推理或梯度泄露(白盒/灰盒)还原 embedding table
- 危害:嵌入层常包含大量语义知识,可用于迁移攻击、伪造输入或重建模型。
- 所属类别:模型盗窃(3项之一)
✅ 3. 模型功能窃取(Model Functionality Theft / Model Extraction)
- 描述:攻击者通过大量查询目标模型(如 API 调用),利用其输入-输出对训练一个替代模型(Surrogate Model),实现功能复制。
- 技术方法:
- 主动查询 + 监督学习(如使用相同架构微调)
- 利用提示工程引导模型暴露决策边界
- 效果:即使无法获取原始权重,也可复现 90%+ 的行为(如分类、生成逻辑)。
- 所属类别:模型盗窃(3项之一)
🔍 补充说明:与“模型窃取”高度相关的其他攻击(虽未归入“模型盗窃”类,但实质构成窃取)
|
攻击名称
|
关联性说明
|
|---|---|
|
模型文件窃取
|
直接从存储或传输中窃取
.bin/.pt/.safetensors 等模型文件,属于最直接的窃取方式(您的清单中单独列出,应合并理解) |
|
共享GPU本地内存泄露
|
虽归类为“AI供应链攻击”,但本质是通过GPU侧信道窃取模型中间数据,可用于重建模型或提取输出,属于硬件级模型窃取
|
|
训练数据重构 / 嵌入逆向攻击
|
通过推理输出反推训练数据或模型内部表示,间接辅助模型重建
|
|
联邦学习模型投毒/仿冒客户端
|
恶意客户端可从聚合模型中提取其他参与方的模型信息
|
📌 总结:模型窃取的主要类型
|
类型
|
窃取目标
|
攻击面
|
所需权限
|
|---|---|---|---|
|
GPU内存窃取
|
权重、激活值、中间结果
|
GPU 本地内存 / 显存
|
共享 GPU(低权限进程即可)
|
|
嵌入层窃取
|
Token/Word Embedding
|
推理 API / 梯度泄露
|
黑盒(仅需输入输出)或白盒
|
|
功能窃取(替代模型)
|
模型行为/决策逻辑
|
推理接口
|
黑盒(大量查询)
|
|
模型文件窃取
|
完整模型权重文件
|
存储、传输、部署包
|
文件系统/网络访问权限
|
🔐 防御建议
- 硬件层:使用 vGPU / MxGPU 实现 GPU 资源隔离;启用驱动级内存清零。
- 部署层:禁止未授权访问模型文件;加密模型存储与传输。
- 推理层:
- 限制 API 查询频率与内容(防爬)
- 添加输出扰动或水印(防功能复制)
- 禁用梯度返回(防 embedding 提取)
- 架构层:考虑使用模型混淆(obfuscation)或差分隐私微调降低窃取价值。

浙公网安备 33010602011771号