数据中毒攻击:生成式人工智能的致命威胁

今年早些时候,软件管理公司 JFrog 的研究人员在对上传至 Hugging Face 的 AI/ML 模型进行常规扫描时,发现了一百个恶意模型,这让一个被低估的网络安全问题类别——数据中毒和操纵,成为了关注焦点。

数据中毒的问题在于,其目标是用于构建人工智能(AI)/机器学习(ML)模型的训练数据,就网络攻击而言,它是非常规的,在某些情况下,甚至无法检测或阻止。以这种方式攻击 AI 相对容易,甚至不需要传统意义上的黑客攻击来毒害或操纵像ChatGPT这样流行的大型语言模型(LLM)所依赖的训练数据。

数据中毒可用于让 AI 模型听从您的命令。或者可以通过修改发送到训练模型中的数据来说服 AI 模型给出错误的输出。这是两种不同类型的攻击——一种在 AI 模型部署之前进行,另一种在部署之后进行。两者都极难发现和防范。

在其分析中,JFrog 指出嵌入模型中的“有趣”有效载荷看起来像是研究人员会上传以展示漏洞或概念证明的东西。但上传到 Hugging Face 的 AI 协作存储库中的那些恶意模型并非如此。研究人员可能是幕后黑手,因为有效载荷与来自 KREOnet 或韩国研究环境开放网络的 IP 地址有链接。

训练数据操纵的例子可以追溯到机器学习的起源,十年前,研究人员展示了对输入结果的微妙对抗性攻击,导致模型以高置信度输出错误答案。

甚至有可能,生成式人工智能模型在爬取互联网的过程中最终会“坑害”自己

更让情况复杂的是,人工智能模型的可重复性本身就是一个挑战,因为用于训练模型的数据池非常庞大,研究人员和数据科学家甚至可能不完全清楚模型输入了啥以及输出了啥,这加大了恶意代码检测和追溯的难度。

在这场人工智能的淘金热里,虽说所有这些听起来挺麻烦,但对数据中毒和数据操纵不管不顾,可能会促使攻击者专注于对人工智能软件搞隐秘的后门利用。结果可能会是恶意代码执行,就像 Hugging Face 那种情况,成功实施网络钓鱼攻击的新手段,以及依照攻击者的目标致使模型输出错误分类进而产生意外行为。

在一个日益被相互关联的人工智能、生成式人工智能、大型语言模型和应用程序接口覆盖的生态系统笼罩的世界里,全球网络安全行业应当集体警醒并采取行动,以防范针对人工智能模型的攻击的增加。

专家建议运用多种技术来保护由人工智能驱动的系统,使其免受数据中毒或操纵活动的侵害。其中大多数聚焦于数据训练阶段和算法本身。

在其“LLM 应用程序十大要点”的列表里,应用程序安全开源基金会(OWASP)给出了防止训练数据中毒的步骤,首先得关注内部和外部来源的训练数据的供应链,在预训练、微调以及嵌入阶段持续对数据源进行验证,并标注出任何偏差或异常情况。

OWASP 还提议使用统计离群值和异常检测的方法来“清理”数据,以防任何对抗性数据有可能被输入到微调过程当中。

要是训练数据已经损坏,能够使用替代的人工智能算法来部署受影响的模型。能够运用多个算法来比较结果,并且在其他办法都不管用时回退到预定义或平均的输出。开发人员应当仔细查看相互作用或者为其他算法提供输入的 AI/ML 算法,因为这可能会引发一系列意外的预测。

行业专家还提议,网络安全团队应通过开展渗透测试以及模拟数据中毒攻击的方式,来检验其人工智能系统的健壮程度与恢复能力。

能够利用训练数据构建 100%网络安全的人工智能模型,同时也能对其进行破坏。除了对所有预测输出进行验证外,别无其他防御手段,而这在计算方面成本极高。

要是没有信任和可靠性,技术领域中最伟大的创新或许会被迫停滞。

组织得把支撑 GenAI、LLMs 等的整个生态系统和供应链都视作整体威胁范畴的一部分,以此来防范人工智能代码生成过程中的后门威胁。

通过监测这些系统的输入和输出,并借助威胁情报来检测异常情况,这些工作的发现和数据可以帮助开发人员在人工智能软件开发周期中推广和使用控制及保护措施。

总的来说,在更广泛的业务流程中检查人工智能系统的风险,包括检查整个数据治理生命周期,以及监测人工智能在特定 应用程序 中的表现,您就可以在网络安全所面临的最具挑战性的问题之一上先行一步。