1、介绍
1.1 定义
数据污染 :指在模型训练数据中混入错误、误导性或带有恶意目的的数据,导致模型学习到非预期的、有害的行为。数据污染(Data Poisoning) 确实是大模型(尤其是生成式AI)生命周期中最隐蔽、最难追溯、但破坏力极强 的一类威胁。在AI安全领域,"数据投毒"通常是指有目的性的数据污染攻击 。在OWASP LLM TOP 10【http://owasp.org.cn/OWASP-CHINA/owasp-project/owasp-59278/%E5%BC%A0%E5%9D%A4--LLM%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8FOWASP%E5%8D%81%E5%A4%A7%E5%AE%89%E5%85%A8%E9%A3%8E%E9%99%A92025%E5%8F%91%E5%B8%83%E7%89%88%E6%9C%AC.pdf】中,针对数据投毒的描述是:数据投毒是指在预训练、微调或嵌入数据中被人为操纵,目的是植入漏洞、后门或偏见。这种行为可能 会破坏模型的安全性、性能或道德标准,造成有害的输出或性能下降。常见的风险包括降低模型效能、 产生偏见或有害内容,以及对下游系统的潜在威胁。
1.2 为什么对大模型尤其致命?
-
大模型训练数据体量巨大:从TB级到PB级的互联网数据,无法全部人工审核。
-
数据来源复杂:爬虫数据、第三方数据集、用户上传内容都可能被污染。
-
"预训练+微调"范式:攻击者在预训练阶段污染数据,下游任务即使安全微调,也可能无法消除后门。
2、导致数据污染的可能原因
从工程角度看,数据污染通常由以下三种场景引入:
2.1 无意污染(非攻击)
-
爬虫噪声:爬取了论坛灌水、机器生成文本、SEO垃圾内容。
-
标注错误:人工标注时对"敏感内容"理解不一,导致标签错乱。
-
过时数据:法律已变更,但旧数据被当作正确答案。
2.2 有意污染(攻击性)
-
数据集后门植入:在开源数据集(如C4、The Pile)中隐藏特定的"毒化样本"。
-
用户反馈污染:攻击者通过模型的"在线学习"接口,大量提交恶意样本引导模型"学坏"。
-
供应链攻击:第三方数据处理库或预训练模型权重中被植入恶意样本。
3.1 文本/大语言模型领域
案例 1:谷歌Gmail 垃圾邮件分类器投毒(真实攻击)
攻击者利用Gmail的"报告非垃圾邮件"功能,大量标记正常邮件为"非垃圾",导致部分用户实际收到钓鱼邮件增多。
-
要点:利用了在线学习的反馈机制。
案例 2:"避雷针"后门攻击(学术研究)
研究者证明,只需在预训练数据中插入极少量的"特定触发词+恶意完成句",就能让微调后的模型在见到触发词时输出有害内容。
-
论文 :Poisoning Web-Scale Training Datasets is Practical (UC Berkeley, 2022)
-
要点:攻击成本极低,用几十美元就能污染大语言模型。
案例 3:HuggingFace 恶意模型检测(安全社区事件)
2023年,HuggingFace 上被发现多个 PyTorch 权重文件中含有恶意代码,这些权重本身是"投毒"的载体。
-
链接 :Hugging Face detects malicious AI models (BleepingComputer)
-
要点:供应链投毒,不仅仅是训练数据,模型权重本身也可能被污染。
3.2 图像/多模态领域
案例 4:人脸识别后门(经典案例)
在训练数据中,给攻击者自己的人脸照片加上一个特定眼镜框,模型会将该眼镜框识别为"授权管理员"。
4、如何预防与防御数据污染?
对于安全研究者,防御不能仅依赖单一手段。建议从数据层、训练层、监控层建立纵深防御。
4.1 数据层防御(事前)
| 防御手段 | 说明 | 效果 |
|---|---|---|
| 数据去重 | 剔除大量重复文本,降低"重复投毒"效果。 | 有效降低低频后门样本密度。 |
| 对抗过滤 | 利用小型检测模型识别低困惑度、模板化的恶意样本。 | 对已知触发词有效,对未知变种效果有限。 |
| 来源审计 | 对开源数据集建立"数据来源签证",标注哪些部分是爬取自低信誉源。 | 便于事后追溯,但对大规模爬虫数据难以执行。 |
4.2 训练层防御(事中)
-
差分隐私训练:加入噪声,使单个样本对模型影响变小,攻击者需要投毒大量样本才能生效。
-
隔离训练:将高风险的来源数据(如用户上传)与低风险数据(如已审核语料)分开训练,通过模型融合降低风险。
4.3 监控与检测(事后/运行时)
-
触发器逆向工程:给定少量输出异常,尝试反向生成可能的触发词。
-
随机平滑测试:对输入随机微调,观察模型输出是否剧烈变化,以此判断是否触发了后门。