译者 | 布加迪
审校 | 重楼
现代技术远非万无一失——比如说,我们可以看到,众多漏洞不断涌现出来。虽然通过设计保证安全的系统是一条屡试不爽的最佳实践,但这么做可能会分流来自其他方面的资源,比如用户体验(UX)设计、性能优化以及与其他解决方案及服务的互操作性。
因此,安全常常退居次席,只满足最低限度的合规要求。如果涉及敏感数据,这种取舍尤其令人担忧,因为这类数据需要与其重要性相对应的保护。如今,在人工智能和机器学习系统中,安全措施不到位的风险越来越明显。在这类系统中,数据是其功能的基础。
什么是数据中毒?
人工智能/机器学习模型立足于核心训练数据集,这些数据集通过监督式学习和非监督式学习不断更新。机器学习是实现人工智能的主要途径,机器学习支持深度学习,以开发人工智能的许多功能。数据越多样化、越可靠,模型的输出就越准确、越有用。因此在训练期间,这些模型需要访问大量的数据。
另一方面,依赖大量数据也带来了风险,因为未经验证或审查不力的数据集增加了结果不可靠的可能性。众所周知,生成式人工智能、尤其是大语言模型(LLM)及其分支(比如人工智能助手)特别容易受到恶意篡改模型的攻击。
最阴险的威胁之一是数据(或数据库)中毒,即攻击者试图改变模型的行为,导致模型生成不正确、有偏见甚至有害的输出。这种篡改行为带来的后果可能波及整个应用程序,破坏信任,并给个人和组织都带来系统性风险。
数据中毒的类型
数据中毒攻击有多种类型,例如:
- 数据注入:攻击者将恶意数据点注入到训练数据中,使人工智能模型改变其行为。一个典例是,在线用户慢慢地改变Tay Twitter机器人程序,以发布攻击性推文。
- 内部攻击:与常规的内部威胁一样,员工可能会滥用访问权限来改变模型的训练集,一点点改变以篡改模型的行为。内部攻击尤其阴险,因为它们利用了合法访问权。
- 触发器注入:这种攻击将数据注入到人工智能模型的训练集以创建触发器。这使攻击者能够绕过模型的安全机制,根据设置的触发器在各种情况下操纵其输出。检测这种攻击存在的挑战在于,很难发现触发器;此外在触发器被激活之前,威胁一直潜伏着。
- 供应链攻击:这些攻击的影响可能特别可怕。由于人工智能模型经常使用第三方组件,在供应链过程中引入的漏洞最终会危及模型的安全,并使其易于被利用。
随着人工智能模型被深深地嵌入商业系统和消费者系统中,充当助手或生产力倍增器,针对这些系统的攻击正成为一个重大问题。
虽然企业人工智能模型可能不会与第三方共享数据,但它们仍然会获取内部数据以改进输出。它们需要访问敏感信息宝库,这使得它们成为高价值目标。消费者模型面临的风险进一步加大,因为它们通常与其他有关方共享用户的提示(通常充满敏感数据)。
如何确保机器学习/人工智能开发安全?
机器学习/人工智能模型的预防策略需要开发人员和用户都加强安全意识。主要策略包括如下:
- 持续检查和审计:重要的是要不断检查和验证馈入到人工智能/机器学习模型的数据集的完整性,以防止恶意操纵或有偏见的数据损害它们。
- 关注安全:人工智能开发人员本身可能最终成为攻击者的瞄准目标,因此拥有安全环境对于安全开发必不可少。这种环境可以提供一种预防优先的方法,通过主动预防、早期检测以及系统性安全检查,尽量缩小攻击面。
- 对抗性训练:如前所述,模型通常由专业人员监督以指导其学习。同样的方法可以用来教模型区分恶意数据点和有效数据点,最终帮助阻止中毒攻击。
- 零信任和访问管理:为了防御内部威胁和外部威胁,应该使用可以监视未经授权访问模型核心数据的安全解决方案。这样,可以更容易地发现和防止可疑行为。此外,零信任确保默认情况下没有人是可信任的,在授予访问权之前需要进行多重验证。
通过设计保证安全
构建通过设计保证安全的人工智能/机器学习平台不仅大有助益,还势在必行。就像虚假信息会影响人们做出有害和极端的行为一样,中毒的人工智能模型也会导致有害的结果。
随着世界越来越关注与人工智能开发相关的潜在风险,平台创建者应该扪心自问:自己是否做了足够的工作来保护模型的完整性。消除偏见、不准确和漏洞以免它们造成危害需要成为开发方面的一个核心优先事项。
随着人工智能进一步融入到我们的生活中,确保人工智能系统安全只会越来越重要。企业、开发人员和政策制定者还必须共同努力,确保人工智能系统能够抵御攻击。这样一来,我们才可以在不牺牲安全、隐私和信任的情况下发掘人工智能的潜力。
原文标题:Untrustworthy AI: How to deal with data poisoning,作者:Márk Szabó