什么是 数据投毒(Data Poisoning)?

数据投毒(Data Poisoning)是一类训练阶段的完整性或可用性攻击:攻击者控制部分用于拟合或更新机器学习模型的数据,使最终学到的行为服务于攻击目标。

快速了解

规范文档官方规范

工作原理

先定义攻击,再测影响

NIST 将数据投毒定义为攻击者控制部分训练数据的投毒攻击。工程评测应进一步声明攻击者能否新增、编辑、重标注、删除或排序记录,训练是集中式、在线式还是联邦式,目标是 Availability、Targeted Integrity 还是 Trigger-based Backdoor。比较方法时必须固定投毒比例和防守方知识。

同时衡量攻击目标与连带损害

报告 Clean Utility、Target Success、受影响 Slice、Poison Rate、重训后的持续性及不同随机种子的方差。后门要同时测 Triggered Input 的 Attack Success 与 Clean Input 的 False Activation;广泛降级则按来源和人群报告任务指标与 Calibration。还要与随机污染和自然数据错误比较,避免把普通质量问题误判为优化攻击。

分层保护训练数据供应链

为每个数据版本记录来源、授权、许可、采集时间、Transformation Lineage、Labeler、Checksum 与 Split Membership。新来源先隔离,切分前去重,用独立证据复核标签,以来源分层 Holdout 做对比,限制单个贡献者影响,并保留可回滚 Checkpoint。异常检测、鲁棒训练和鲁棒聚合可缓解特定攻击,但任何单一 Sanitizer 都不能证明大型或自适应数据集无毒。

主要特点

  • 通过训练、微调、在线学习或联邦更新所消费的数据起作用
  • 可针对整体可用性、指定预测或 Trigger 激活行为
  • 包含 Dirty-label、Clean-label、特征、选择、删除与反馈回路变体
  • 可能保持总体 Validation Accuracy,却伤害狭窄目标或人群切片
  • 必须与噪声、偏差、漂移和数据泄漏区分
  • 评测需声明权限、知识、Poison Budget 与持续性假设

常见用途

  1. 为网络规模预训练和第三方数据摄取建立 Threat Model
  2. 红队测试接收用户或供应商样本的微调流水线
  3. 评测暴露于反馈操纵的 Online Learner
  4. 审计联邦或协作训练中的恶意 Client
  5. 发现投毒记录后规划隔离、回滚与重训练

示例

loading...
Loading code...

常见问题

数据投毒与普通脏数据有什么区别?

投毒是为了影响学习结果而实施的恶意操纵;脏数据可能来自传感器故障、标签歧义、记录陈旧或采样错误,并不存在攻击者。两者症状可能相似,因此调查不能只看 Accuracy 下降,还需要来源、权限、时间线和可复现攻击目标等证据。

所有后门攻击都属于数据投毒吗?

不是。训练数据投毒是植入后门的常见路径,但攻击者也可能直接修改模型权重、训练代码、Adapter 或供应的 Checkpoint。反过来,许多投毒只降低整体效用或改变指定预测,并不会形成可重复触发的条件后门。

干净验证集准确率正常,能否排除数据投毒?

不能。定向投毒或后门可能保持平均 Clean Accuracy,只影响一个类别、人群、罕见输入或 Trigger 条件。验证应增加来源与 Slice 分析、目标专项测试、可信 Holdout、Trigger 或异常探针、多随机种子,并与上一版获批数据和模型比较。

哪些控制可以降低数据投毒风险?

采用已认证数据源、不可变 Lineage、Checksum、权限分离、标签与转换变更评审、来源级配额、去重、可信 Holdout、分阶段摄取、适用时的鲁棒训练以及可回滚产物;同时监控数据分布和模型行为。每项控制覆盖不同攻击能力,没有单项能证明绝对免疫。

怎样评测数据投毒防御?

固定 Threat Model、Poison Budget、攻击知识、任务、数据版本与随机种子,报告 Clean Utility、攻击目标成功率、误报、群体影响、计算成本、持续性和恢复行为。还要测试了解防御的 Adaptive Attack,并与意外污染对照,确认收益确实来自防御。

相关术语

相关文章