什么是 AI 数据投毒?

AI 数据投毒是指故意在 AI 模型的训练数据中引入偏见,从而产生有偏见的输出。

学习目标

阅读本文后,您将能够:

  • 说明 AI 数据投毒攻击的工作原理
  • 描述 AI 和 LLM 数据投毒攻击的类型
  • 列出预防数据投毒的方法

相关内容


想要继续学习吗?

订阅 TheNET,这是 Cloudflare 每月对互联网上最流行见解的总结!

参阅 Cloudflare 的隐私政策,了解我们如何收集和处理您的个人数据。

复制文章链接

什么是 AI 数据投毒?

人工智能 (AI) 数据投毒是指攻击者通过更改训练数据来操纵 AI 或机器学习模型的输出。攻击者发动 AI 数据投毒攻击的目标是让模型在推理过程中产生有偏见或危险的结果。

AI 和机器学习*模型有两个主要成分:训练数据和算法。算法就像汽车的发动机,训练数据就像是作为发动机燃料的汽油:数据让 AI 模型运转起来。数据投毒攻击就像有人在汽油中添加了额外的成分,导致汽车行驶不畅。

随着越来越多的公司和个人开始在日常活动中依赖 AI,AI 数据投毒的潜在后果也变得更加严重。一次成功的 AI 数据投毒攻击可以永久改变模型的输出,从而使攻击背后的人受益。

AI 数据投毒对于大型语言模型 (LLM) 而言尤其值得担忧。数据投毒被列入 OWASP Top 10 for LLM 中,近年来,研究人员警告称,数据投毒漏洞会影响医疗保健代码生成文本生成模型。

*“机器学习”和“人工智能”有时可以互换使用,但这两个术语指的是两组略有不同的计算功能。机器学习是人工智能的一种类型。

数据投毒攻击是如何发生的?

AI 开发人员使用大量数据来训练他们的模型。本质上,训练数据集为模型提供了示例,然后模型学习从这些示例中进行归纳总结。数据集中的示例越多,模型就越精细和准确——但前提是数据正确且相对无偏见。

数据投毒会故意在训练数据集中引入偏见,改变模型算法的起点,从而导致其结果与开发人员最初的预期不同。

想象一下,一位老师在黑板上写下一道数学题让学生们解答:例如,“47 * (18 + 5) = ?”。答案是 1,081。但如果有学生背着她偷偷把“47”改成“46”,那么答案就不再是 1,081,而是 1,058。数据投毒攻击就像那个鬼鬼祟祟的学生:如果起始数据稍有变化,答案也会跟着改变。

AI 数据投毒攻击是如何发生的?

对训练数据的未经授权的更改可能来自多种来源。

内部攻击:有权访问训练数据的人可能会引入偏见、虚假数据或其他破坏输出的更改。与未经授权访问数据的外部第三方的攻击相比,这些攻击更难检测和阻止。

供应链攻击:大多数 AI 和机器学习模型依赖于各种来源的数据集来训练其模型。这些来源中的一个或多个可能包含“中毒的”数据,这些数据会影响使用该数据进行训练和微调的所有模型。

未经授权的访问:攻击者可以通过多种方式访问训练数据集,从通过之前的攻击进行横向移动,到通过网络钓鱼获取开发人员的凭据,以及其间的多种潜在攻击。

数据投毒攻击有哪两个主要类别?

  • 直接(或针对性)攻击:这些攻击旨在扭曲或改变模型在响应特定查询或操作时的输出。此类攻击不会改变模型的其他部分,会对几乎所有查询都给出预期的响应。例如,攻击者可能想要欺骗基于 AI 的电子邮件安全过滤器,使其允许某些恶意 URL 通过,而其他方面则按预期运行。
  • 间接(或非针对性)攻击:这些攻击旨在影响模型的整体性能。间接攻击可能旨在降低整个模型的性能,或使其偏向于给出特定类型的答案。例如,外国对手可能希望使通用 LLM 偏向于在特定国家/地区散布虚假信息以达到宣传目的。

AI 数据投毒攻击有哪些类型?

攻击者可以通过多种方式对 AI 模型的数据投毒,以达到自己的目的。需要了解的一些重要技术包括:

  • 后门中毒:这种攻击会将隐藏的漏洞引入模型,因此,在响应攻击者已知的某些特定触发因素时,模型会以不安全的方式运行。后门中毒尤其危险,因为带有隐藏后门的 AI 模型原本会正常运行。
  • 错误标记:攻击者可以改变模型训练数据集内数据的标记方式,导致模型在训练后错误识别项目。
  • 数据注入和操纵:此类攻击会改变、添加或删除数据集中的数据。这些攻击旨在使 AI 模型偏向某个方向。
  • 可用性攻击:此类攻击的目的是通过注入降低模型整体性能的数据来减慢或破坏模型。

如何防止数据投毒

数据验证:在训练之前,应对数据集进行分析,以识别恶意、可疑或异常数据。

最低权限原则:换句话说,只有绝对需要访问训练数据的人员和系统才应拥有访问权限。最低权限原则Zero Trust 安全方法的核心原则,这种方法有助于防止横向移动和凭据泄露

多样化的数据源:从更广泛的来源获取数据可以帮助减少给定数据集中偏见的影响。

监控和审计:跟踪并记录更改训练数据的人员、更改内容和更改时间,使开发人员能够识别可疑模式,或者在数据集被投毒后追踪攻击者的活动。

对抗性训练:这是指训练 AI 模型识别故意的误导性输入。

防火墙等其他应用程序防御措施也可应用于 AI 模型。为了防止数据投毒和其他攻击,Cloudflare 提供了 Firewall for AI,可将其部署在 LLM 前方,以在滥用达到 LLM 之前识别并予以阻止。进一步了解 Firewall for AI

常见问题解答

什么是 AI 数据投毒?

AI 数据投毒是指故意篡改 AI 模型的训练数据,使其生成危险或不准确的结果。例如,有人可能会篡改 AI 模型的数据,使其对用户撒谎或欺骗用户。AI 数据投毒对大型语言模型 (LLM) 的影响尤其令人担忧,因此,AI 开发人员必须谨慎保护和审核训练数据。

数据投毒如何影响 AI 模型?

通过对训练数据进行细微更改,攻击者可以显著改变 AI 模型的输出,就像数学题的初始值发生变化会导致答案完全不同一样(例如,“3 + 3 = 6”与“3 + 4 = 7”)。因此,遭到数据投毒的模型性能将表现出与开发人员和用户预期不同的行为,并且可能给出有利于攻击者或使用户面临风险的回复。

AI 数据投毒攻击的主要类型有哪些?

主要的数据投毒攻击方法包括:后门投毒、错误标记、数据注入、数据操纵和可用性攻击。每种数据投毒攻击都旨在影响或降低 AI 模型的性能。

AI 数据投毒的常见攻击手段有哪些?

攻击者可能利用内部访问、通过已被污染的外部数据发起供应链攻击,或通过未经授权的访问来操纵或破坏训练数据集。

数据投毒可能会导致哪些后果?

数据投毒可能会永久性地改变模型的输出结果,使其对攻击者有利。这可能导致模型生成宣传鼓吹或仇恨言论、提供不准确的建议、提供虚假数据或促进恶意软件下载。

防范 AI 数据投毒的方法有哪些?

为了防止 AI 数据投毒,保护训练数据集免遭未经授权的篡改至关重要。防范方法包括:数据验证、应用最低权限原则、使用多样化数据源、监测并审核数据变化,以及使用对抗性训练,让模型识别令人产生误解的输入。