从提示注入到模型盗窃,OWASP 已经确定了基于大语言模型 (LLM) 的 AI 应用中最常见和影响最大的漏洞。
全球开放应用安全项目组(OWASP)列出了大语言模型应用中常见的十大关键漏洞。提示注入、被污染的训练数据、数据泄漏和过度依赖 LLM 生成的内容依然在名单上,而新增的威胁包括模型拒绝服务、供应链漏洞、模型盗窃以及过度自主性。
该名单旨在教育开发人员、设计人员、架构师、管理人员和企业在部署和管理 LLM 时,了解潜在的安全风险,提高对漏洞的认识,提出补救策略,并改善 LLM 应用的安全状况。
SANS Institute 的首席研究员兼教职负责人 Rob T. Lee 表示:“考虑部署GenAI 技术的企业需要关注与之相关的风险。OWASP 的前十名单很好地列出了当前 LLM 可能存在或被利用的漏洞。”他补充道,这份前十名单是讨论 LLM 漏洞及如何保障这些 AI 安全的良好开端。
“我们才刚刚开始探索如何设置适当的控制措施、配置和部署指南,以隐私和安全为中心,最佳地保护数据。OWASP 前十名单是一个很好的起点,但这个话题远未结束。”
以下是 OWASP 列出的影响 LLM 应用的十大关键漏洞:
1. 提示注入
提示注入是指攻击者通过精心设计的输入操纵大语言模型,使其在不知情的情况下执行攻击者的意图,这可以通过直接“破解”系统提示或通过操控的外部输入间接实现,可能导致数据外泄、社会攻击等问题。
成功的提示注入攻击可能带来多种结果——从获取敏感信息到在正常操作的伪装下影响关键决策过程,OWASP 指出。
例如,用户可以编写一个巧妙的提示,使公司的聊天机器人泄露用户通常无法访问的专有信息,或在上传的简历中埋入指示系统推荐该候选人的隐秘指令。
防范此漏洞的措施包括:
• 对 LLM 访问后端系统的权限进行控制。为 LLM 提供独立的 API 令牌以扩展功能,并遵循最小权限原则,将 LLM 的访问权限限制在其预期操作所需的最低水平。
• 对于最敏感的操作,引入人为干预,要求额外的审批步骤,以减少未授权行为的机会。
2. 不安全的输出处理
不安全的输出处理是指在将大语言模型生成的输出传递给其他组件和系统之前,未能充分验证、清理和处理这些输出。由于 LLM 生成的内容可以通过提示输入控制,这种行为类似于为用户间接提供对额外功能的访问。
例如,如果 LLM 的输出直接发送到系统 shell 或类似功能中,可能导致远程代码执行。如果 LLM 生成 JavaScript 或 markdown 代码并将其发送到用户的浏览器,浏览器可能会运行该代码,进而引发跨站脚本攻击。
防范此漏洞的措施包括:
• 将模型视为其他用户,采用零信任策略,并对从模型返回的响应进行适当的输入验证,以防止对后端功能的攻击。
• 遵循 OWASP ASVS(应用安全验证标准)指南,确保有效的输入验证和清理,并对输出进行编码,以降低意外代码执行的风险。
3. 训练数据投毒
训练数据投毒是指对预训练数据或在微调或嵌入过程中涉及的数据进行操控,从而引入漏洞、后门或偏见,这可能会损害模型的完整性,OWASP 解释道。
例如,恶意攻击者或拥有内部权限的人获得训练数据集的访问权限后,可以更改数据,使模型提供错误的指示或建议,从而对公司造成损害或使攻击者获利。从外部来源获取的损坏的训练数据集也可能属于供应链漏洞的范畴。
防范此漏洞的措施包括:
• 验证训练数据的供应链,尤其是当数据来自外部时。
• 通过不同的训练数据或微调为不同的使用场景创建不同的模型,以生成更细粒度且准确的GenAI 输出。
• 确保充足的沙箱环境,防止模型抓取不当的数据来源。
• 对特定的训练数据或数据源类别进行严格的审查或输入过滤,以控制伪造数据的数量。
• 通过分析模型在特定测试输入上的行为,检测投毒攻击的迹象,并在偏差响应超出阈值时进行监控和警报。
• 通过人为审核和审计,参与循环中的审查。
4. 模型拒绝服务
在模型拒绝服务攻击中,攻击者通过与 LLM 进行交互,消耗大量资源,导致服务质量下降,影响自己和其他用户,甚至可能导致高昂的资源成本。随着 LLM 在各种应用中的使用不断增加、资源密集型使用、用户输入的不可预测性以及开发人员对这一漏洞的普遍认识不足,OWASP 指出,该问题变得日益严重。
例如,攻击者可能会使用自动化工具向公司的聊天机器人发送大量复杂查询,每个查询都需要时间来回答,且会产生费用。
防范此漏洞的措施包括:
• 实施输入验证和清理,确保用户输入符合定义的限制,并过滤掉任何恶意内容。
• 限制每个请求或步骤的资源使用量,使涉及复杂部分的请求执行得更慢,对每个用户或 IP 地址实施 API 速率限制,或限制系统响应 LLM 输出的排队操作和总操作数量。
• 持续监控 LLM 的资源使用情况,识别可能指示拒绝服务攻击的异常峰值或模式。
5. 供应链漏洞
LLM 供应链在多个环节存在漏洞,尤其是当公司使用开源、第三方组件、受污染或过时的预训练模型,或损坏的训练数据集时。此漏洞还涵盖了原始模型创建者未对训练数据进行充分审核的情况,导致隐私或版权违规。根据 OWASP,这可能导致偏见结果、安全漏洞,甚至系统完全崩溃。
防范此漏洞的措施包括:
• 严格审核数据来源和供应商。
• 仅使用信誉良好的插件,并确保它们已针对应用需求进行测试,在使用外部模型和供应商时,采用模型和代码签名。
• 使用漏洞扫描、管理和补丁程序来降低受漏洞影响或过时组件的风险,并保持这些组件的最新清单,以便快速识别新漏洞。
• 扫描环境中未授权的插件和过时组件,包括模型及其工件,并制定补丁策略以解决问题。
6. 敏感信息泄露
大语言模型可能通过其输出泄露敏感信息、专有算法或其他机密细节,这可能导致未经授权访问敏感数据、知识产权、隐私侵犯以及其他安全漏洞。
敏感数据可能在初始训练、微调、RAG 嵌入过程中进入 LLM,或由用户通过粘贴方式输入提示。
一旦模型获得这些信息,其他未授权的用户就有可能看到它。例如,客户可能会看到其他客户的私人信息,或者用户能够提取公司专有信息。
防范此漏洞的措施包括:
• 使用数据清理和擦除技术,防止 LLM 在训练或推理(即模型使用时)过程中访问敏感数据。
• 对用户输入应用过滤器,防止上传敏感数据。
• 当 LLM 在推理过程中需要访问数据源时,使用严格的访问控制并遵循最小权限原则。
7. 不安全的插件设计
LLM 插件是模型在用户交互过程中自动调用的扩展功能,这些插件由模型驱动,应用程序无法控制其执行,通常也没有对输入进行验证或类型检查。
这使得潜在攻击者能够构造恶意请求对插件进行攻击,可能导致各种不良行为,甚至包括数据外泄、远程代码执行和权限提升,OWASP 警告道。
防范此漏洞的措施包括:
• 实施严格的输入控制,包括类型和范围检查,并遵循 OWASP 在 ASVS(应用安全验证标准)中的建议,确保有效的输入验证和清理。
• 使用适当的身份验证机制,例如反映插件路由而非默认用户的 OAuth2 和 API 密钥。
• 在部署前进行检查和测试。
• 插件应遵循最小权限原则,并只暴露尽可能少的功能,同时仍能完成其预期的任务。
• 对于敏感操作,要求额外的人工授权。
8. 过度自主性
随着 LLM 越来越智能,公司希望赋予它们更多的能力,使其能够访问更多系统并自主执行操作。过度自主性指的是 LLM 获得了过多的权限或被允许执行错误操作。当 LLM 出现幻觉、受到提示注入攻击、使用恶意插件、提示写得不好,或者只是模型性能不佳时,可能会执行破坏性操作,OWASP 解释道。
根据 LLM 获得的访问权限和操作权的不同,可能会引发各种问题。例如,如果 LLM 获得了访问某个插件的权限,该插件允许它读取存储库中的文档以进行总结,但插件同时也允许它修改或删除文档,那么一个错误的提示可能会导致意外地更改或删除内容。
如果一家公司创建了一个 LLM 个人助理,用于为员工总结电子邮件,但该助理同时也有权发送电子邮件,那么该助理可能会开始发送垃圾邮件,无论是意外的还是恶意的。
防范此漏洞的措施包括:
• 限制 LLM 允许调用的插件和工具,以及这些插件和工具中实现的功能,仅保留最低必要的功能。
• 避免使用如运行 shell 命令或获取 URL 等开放式功能,使用具有更细粒度功能的操作。
• 将 LLM、插件和工具对其他系统的权限限制在最低必要范围内。
• 跟踪用户授权和安全范围,确保在下游系统上代表用户执行的操作是在该特定用户的上下文中进行,并且使用最低的必要权限。
9. 过度依赖
当 LLM 生成错误信息并以权威的方式提供时,可能会导致过度依赖。尽管 LLM 能生成有创意和信息丰富的内容,但它也可能生成事实错误、不适当或不安全的内容。这被称为幻觉或虚构。当人们或系统在没有监督或确认的情况下信任这些信息时,可能导致安全漏洞、误导信息、沟通失误、法律问题以及声誉损害。
例如,如果一家公司依赖 LLM 生成安全报告和分析,而 LLM 生成的报告包含错误数据,并且公司基于此做出关键安全决策,依赖于不准确的 LLM 内容可能带来严重后果。
Omdia 的资深首席网络安全分析师 Rik Turner 称此现象为 LLM 幻觉。“如果 LLM 生成的内容明显是胡说八道,分析师可以轻松识别并纠正它,帮助进一步训练算法,但如果这种幻觉非常合理,看起来像是真的呢?”
防范此漏洞的措施包括:
• 定期监控和审查 LLM 输出。
• 将 LLM 的输出与可信的外部来源进行交叉检查,或者实施自动验证机制,将生成的输出与已知的事实或数据进行比对。
• 通过微调或嵌入来提升模型输出质量。
• 传达使用 LLM 的相关风险和限制,并构建鼓励负责任和安全使用 LLM 的 API 和用户界面。
10. 模型盗窃
模型盗窃是指恶意行为者获取并窃取整个 LLM 模型或其权重和参数,从而创建他们自己的版本,这可能导致经济或品牌声誉的损失、竞争优势的削弱、模型的未授权使用,或对模型中包含的敏感信息的未授权访问。
例如,攻击者可能通过网络或应用程序安全设置中的配置错误访问 LLM 模型存储库,或不满的员工可能会泄露模型。攻击者还可以通过向 LLM 提交大量问题和答案对来创建自己的“影子”克隆模型,或者利用这些回答对他们的模型进行微调。根据 OWASP 的说法,虽然通过这种模型提取技术无法 100% 复制 LLM,但可以非常接近。
攻击者可以利用这个新模型的功能,或者将其作为测试提示注入技术的试验场,进而用这些技术攻击原始模型。随着大语言模型的普及和广泛应用,LLM 盗窃将成为一个重要的安全隐患,OWASP 指出。
防范此漏洞的措施包括:
• 采用强大的访问控制,例如基于角色的访问控制和最小权限原则,以限制对模型存储库和训练环境的访问,例如通过设置集中化的模型注册表。
• 定期监控和审计访问日志和活动,及时发现任何可疑或未授权行为。
• 对 API 调用实施输入过滤和速率限制,以降低模型克隆的风险。
安全负责人或团队及其企业有责任确保安全使用采用 LLM 的GenAI 聊天界面。
Tovie AI 的 CEO Joshua Kaiser 早前向记者表示,AI 驱动的聊天机器人需要定期更新以有效应对威胁,并且人类监督对于确保 LLM 正常运行至关重要。“此外,LLM 需要具备上下文理解能力,才能提供准确的回应并发现任何安全问题,应该定期测试和评估以识别潜在的弱点或漏洞。”