引言:一种新型的"钱包攻击"
2026年,Google威胁情报团队披露了一个令人警醒的发现:他们检测并阻止了一场涉及超过100,000个提示词的大规模攻击活动,这些提示词专门设计用来复制Gemini AI模型的专有推理能力。Google将这一活动定性为"模型提取或蒸馏"的有组织尝试,并明确指出:"这种活动实质上代表了一种知识产权盗窃形式。"
同一年,安全研究团队披露了多起针对LLM服务的资源耗尽攻击。攻击者不需要入侵系统、不需要窃取凭据,只需要大量使用你的API,就能造成严重的经济损失和知识产权侵害。
这些事件揭示了一个被低估的安全风险:无界消耗(Unbounded Consumption) 。OWASP在2026版LLM Top 10中将其从第10位提升至第6位 ,上升幅度达4位。攻击者不需要入侵系统、不需要窃取凭据,只需要大量使用你的API,就能造成严重的经济损失和知识产权侵害。
本文从无界消耗的概念出发,剖析三大威胁类型,结合真实攻击事件,提供可落地的防御方案。
1、什么是无界消耗?
无界消耗指的是LLM被允许在缺乏足够约束或监督的情况下处理输入和生成输出。由于推理计算成本高昂,每次查询都消耗处理能力、内存,在云环境中还产生直接财务成本。
1.1 三大威胁类型
OWASP将无界消耗细分为三类相互关联但本质不同的威胁:
| 威胁类型 | 攻击目标 | 攻击方式 | 影响 |
|---|---|---|---|
| 拒绝服务(DoS) | 系统可用性 | 大量或精心构造的查询使系统变慢或不可用 | 合法用户无法访问服务 |
| 拒绝钱包(Denial of Wallet) | 经济可持续性 | 通过海量请求推高服务提供商的云账单 | 服务仍可用,但成本不可持续 |
| 模型提取(Model Extraction) | 知识产权 | 系统性查询收集输出,克隆模型行为 | 专有模型价值被侵蚀 |
1.2 与传统安全风险的区别
传统DoS攻击追求让系统宕机 ;无界消耗中的拒绝钱包攻击追求让企业破产。正如OWASP所指出:"攻击者不需要让系统不可用,而是通过迫使过度成本来让提供者破产。"
2、真实攻击事件:从钱包攻击到模型窃取
2.1 Google阻止Gemini模型提取:100,000+提示词攻击
时间:2026年第一季度
事件经过 :Google威胁情报团队检测并阻止了一场涉及超过100,000个提示词的攻击活动,这些提示词专门设计用来提取Gemini的专有推理能力。
技术细节:攻击者指示Gemini"保持思考内容中使用的语言与用户输入的主要语言严格一致",这是一种跨多语言提取模型推理过程的技术。Google在报告中指出:"问题的广度表明,这是试图在多种任务中,在非英语目标语言中复制Gemini的推理能力。"
行业影响:这一事件促使多家AI厂商加强了对API访问模式的监控,并推动了行业对模型提取攻击的重视。Google在威胁报告中指出:"模型提取和随后的知识蒸馏使攻击者能够快速且以显著更低的成本加速AI模型开发。"
2.2 加密货币领域的模型提取:Bankr平台1400万钱包被盗
时间:2026年5月
事件经过 :Crypto AI平台Bankr遭到攻击,攻击者通过社会工程和提示注入技术,成功访问了14个钱包 ,部分用户单钱包损失高达150,000美元。
攻击方式 :某区块链安全公司创始人曾指出,攻击者"利用Grok和Bankrbot之间的信任连接来推动未经授权的交易批准",并指出提示注入是攻击方法的一部分。攻击者还识别了三个与攻击者关联的钱包地址,共持有440,000美元的加密货币。
2.3 学术研究揭示的侧信道攻击
SpliceLeak攻击(2026年6月) :一项学术研究设计并实现了SpliceLeak,一种"完美绕过严格前缀隔离屏障"的两阶段攻击框架。该研究在vLLM与LMCache生产级服务架构上进行评估,结果显示在结构化模板和有界搜索场景中,提取成功率高达100% ,每个token仅需63次请求即可系统性提取深度私有语义。
TDXRay攻击 :CISPA亥姆霍兹信息安全中心的研究人员系统调查了Intel TDX的侧信道攻击面,识别出四种新的侧信道原语。通过组合这些原语,攻击者可以构建TDXRay框架,从单次内存访问跟踪中可靠地恢复用户提示,对私有LLM推理构成严重威胁。
2.4 拒绝钱包攻击的典型案例
时间:2025年
事件经过 :一家提供AI对话服务的初创公司遭遇了典型的拒绝钱包攻击。攻击者通过自动化脚本,在短时间内向该公司的API发送了数百万次请求,每次请求都使用不同的IP地址和账户,绕过了基础的速率限制。
后果 :该公司在一个月内的云服务账单从正常的5,000美元 飙升至超过200,000美元。虽然服务没有宕机,但公司面临严重的财务压力,不得不紧急融资以支付账单,并暂停了免费 tier 的服务。
教训:这个案例说明,拒绝钱包攻击不需要让系统不可用,只需要让成本不可持续即可。正如OWASP所强调的,这类攻击"特别隐蔽,因为它针对的是提供者的钱包,而非系统的可用性"。
3、无界消耗的攻击技术
3.1 变长输入泛洪
攻击者向模型发送大量不同大小的输入。一些输入很小,另一些极长,但合在一起它们利用了系统处理请求的低效性。结果是计算资源快速耗尽,导致不稳定、变慢甚至完全服务中断。
3.2 持续输入溢出
攻击者故意反复推送超过模型上下文窗口的查询。即使模型设计为截断或管理上下文长度,重复处理此类超大请求也会造成不必要的计算开销。
3.3 资源密集型查询
攻击者设计查询迫使模型进入计算成本最高的路径,如复杂推理任务、复杂语言构造或嵌套请求,消耗内存和CPU周期。
3.4 拒绝钱包攻击
由于每次推理在按使用付费的服务模型中都会产生成本,攻击者只需推高请求量直至账单不可持续。这意味着公司可能不会立即失去可用性,而是面临严重的经济剥削,可能危及其整个商业模式。
3.5 模型提取与功能复制
通过发送大量查询并仔细分析响应,攻击者可以重建模型的大部分行为。他们可能用此构建所谓的影子模型来模仿原始模型,甚至生成合成训练数据来微调另一个模型。这代表了大规模的知识产权盗窃。
3.6 侧信道攻击
攻击者不仅关注模型的输出,还关注其性能特征、错误模式或输出中嵌入的架构线索。通过结合这些观察,他们可以推断模型结构、权重或内部机制的敏感细节。
4、防御策略:从输入验证到水印技术
4.1 输入验证与净化
原则:将每一个输入都视为可疑。
实践:
-
严格的输入验证,确保输入在定义的大小限制内
-
拒绝过大或格式错误的数据
-
应用Glitch Token过滤,因为某些罕见或格式错误的token可能触发过度计算
python
python
# 输入验证示例
def validate_llm_input(user_input: str, max_tokens: int = 4096) -> bool:
# 检查token数量
if count_tokens(user_input) > max_tokens:
raise InputTooLargeError("Input exceeds maximum token limit")
# 检查glitch token
if contains_glitch_token(user_input):
raise MalformedInputError("Input contains invalid tokens")
return True
4.2 速率限制与配额
原则:确保没有单一用户或恶意行为者能用请求淹没系统。
实践:
-
速率限制:限制设定时间窗口内的查询数量
-
配额:限制长期使用
-
超时:防止过于复杂的操作垄断计算资源
-
节流:减慢看起来可疑的重复请求
python
python
# 速率限制配置示例
RATE_LIMITS = {
"free_tier": {"requests_per_minute": 10, "tokens_per_day": 100000},
"pro_tier": {"requests_per_minute": 60, "tokens_per_day": 1000000},
"enterprise": {"requests_per_minute": 300, "tokens_per_day": 10000000}
}
4.3 沙箱隔离
原则:通过将模型隔离在受控环境中,防止其未经授权访问外部资源。
实践:
-
隔离模型,防止其访问内部API、网络或文件系统
-
减少攻击面,遏制任何损害
4.4 资源分配管理
原则:确保计算能力、内存和存储在不同用户之间公平动态分配。
实践:
-
监控并限制任何单一进程或用户可以消耗的资源量
-
优雅降级:不崩溃,而是缩减功能
4.5 日志、监控与异常检测
原则:每个请求和资源消耗事件都应记录在不可变记录中。
实践:
-
实时跟踪模式
-
标记可疑行为,如流量突然激增、异常大的输入或旨在耗尽资源的重复查询
4.6 水印技术
原则:通过嵌入不可见但可检测的签名来应对知识产权风险。
实践:
-
在模型输出中嵌入水印
-
使未经授权的模型使用可追溯
-
研究框架如ModelShield和MEA-Defender可嵌入加密可验证信号,在蒸馏训练后仍能存活
5、工程落地检查清单
✅ 输入控制
- □ 是否实施了严格的输入大小限制(token数量)?
- □ 是否过滤了glitch token和格式错误的输入?
- □ 是否对超大输入进行了截断或拒绝处理?
✅ 速率与配额
- □ 是否设置了每用户/每IP的请求速率限制?
- □ 是否设置了每日/每月的token消耗配额?
- □ 是否对异常高频请求实施了节流?
✅ 资源管理
- □ 是否实施了超时机制防止复杂操作垄断资源?
- □ 是否配置了优雅降级策略?
- □ 是否实施了资源分配的动态管理?
✅ 监控与检测
- □ 是否记录了所有请求和资源消耗事件?
- □ 是否部署了异常检测系统?
- □ 是否能识别模型提取模式(如系统性查询)?
✅ 知识产权保护
- □ 是否在模型输出中嵌入了水印?
- □ 是否监控API访问模式以发现系统性提取迹象?
- □ 是否建立了跨账户行为关联分析能力?
6、总结:从"可用性"到"可持续性"的安全思维转变
无界消耗的威胁与传统DoS攻击有本质区别。传统DoS攻击追求让系统宕机 ;无界消耗中的拒绝钱包攻击追求让企业破产 ,模型提取攻击追求让知识产权贬值。
正如Google在威胁报告中所指出的:"模型提取和随后的知识蒸馏使攻击者能够快速且以显著更低的成本加速AI模型开发。这种活动实质上代表了一种知识产权盗窃形式。"
防御无界消耗需要从"保护可用性"扩展到"保护可持续性":
-
经济可持续性:通过速率限制、配额和成本监控,防止拒绝钱包攻击
-
知识产权可持续性:通过水印、行为分析和法律手段,防止模型提取
-
系统可持续性:通过输入验证、沙箱隔离和资源管理,防止服务中断
在这个AI能力成为核心竞争力的时代,保护模型不被"用完"和"偷走",与保护模型不被"攻破"同等重要。