OWASP LLM 十大风险有哪些?

大型语言模型 (LLM) 应用容易遭受提示词注入、数据中毒、模型拒绝服务和其他攻击。

学习目标

阅读本文后,您将能够:

  • 了解什么是 OWASP
  • 概述 OWASP LLM 十大威胁的每一项
  • 发现解决 LLM 漏洞的方法

复制文章链接

什么是 OWASP?

开放式 Web 应用安全项目 (OWASP) 是一个以 Web 应用安全为核心使命的国际非营利组织。OWASP 通过文档、工具、视频、会议和论坛提供一系列免费信息,致力于帮助其他组织提高其 Web 应用安全性。

OWASP Top 10 报告重点介绍了安全专家指出的有关应用安全的 10 大关键风险。OWASP 建议所有组织将此报告中的见解纳入其 Web 应用安全策略中。

2023 年,OWASP 工作组启动了一个新项目,创建一份重点关注大型语言模型 (LLM) 应用威胁的类似报告。OWASP 大型语言模型应用十大威胁确定了相关威胁,提供了漏洞和实际攻击场景的示例,并提供了缓解策略。OWASP 希望提高开发人员、设计师、架构师和管理人员的意识,同时帮助他们防御威胁。

以下是 2023 年 10 月 OWASP LLM 应用十大威胁报告中强调的漏洞:

1. 提示词注入

提示词注入是攻击者操纵 LLM 提示词的一种策略。攻击者可能打算窃取敏感信息,影响由 LLM 指导的决策过程,或在社会工程学方案中使用 LLM。

攻击者可能通过两种方式操纵提示词:

  • 直接提示词注入(也称为“越狱”)是覆盖系统提示词的过程,系统提示词用于指示 LLM 如何响应用户输入。通过这种策略,攻击者也许能够访问和利用后端系统。
  • 间接提示词注入是指攻击者控制用作 LLM 输入的外部网站、文件或其他外部源。然后,攻击者可以利用 LLM 访问的系统或利用该模型来操纵用户。

有多种方法可以防止提示词注入造成的损害。例如,组织可以为后端系统实施强大的访问控制策略,将人类集成到 LLM 指导的流程中,并确保人类对 LLM 驱动的决策拥有最终决定权。

2. 不安全的输出处理

如果组织未能仔细检查 LLM 输出,则恶意用户生成的任何输出都可能导致下游系统出现问题。攻击者对不安全的输出处理加以利用,可能导致 Cross-site scripting (XSS)跨站点请求伪造 (CSRF)、服务器端请求伪造 (SSRF)、远程代码执行 (RCE) 和其他类型的攻击。例如,攻击者可能会使 LLM 输出恶意脚本,经浏览器解译后,导致 XSS 攻击。

组织可以通过应用 Zero Trust 安全模型,像对待任何用户或设备一样对待 LLM,来防止不安全的输出处理。他们会先验证 LLM 的任何输出,然后再允许它们驱动其他功能。

3. 训练数据中毒

攻击者可能试图操纵(或“下毒”)用于训练 LLM 模型的数据。数据中毒会阻碍模型提供准确结果或支持 AI 驱动的决策的能力。这种类型的攻击可能由恶意竞争对手发起,意在损害使用该模型之组织的声誉。

为了减少数据中毒的可能性,组织必须保护数据供应链。作为这项工作的一部分,他们应该验证数据源的合法性——包括用于建模的大数据的任何组成部分。还应该防止模型从不受信任的来源抓取数据,并对数据进行净化。

4. 模型拒绝服务

分布式拒绝服务 (DDoS) 攻击类似,攻击者可能会使用 LLM 运行耗费大量资源的操作,试图降低服务质量、推高成本或以其他方式扰乱运营。这种类型的攻击可能躲过检测,因为 LLM 通常会消耗大量资源,并且资源需求会根据用户输入而波动。

为了避免这种类型的拒绝服务攻击,组织可以对单个用户或 IP 地址实施 API 速率限制,还可以验证和清理输入。此外,他们还应该持续监视资源使用情况,以识别任何可疑的激增。

5. 供应链漏洞

LLM 应用供应链中的漏洞可能会使模型面临安全风险或产生不准确的结果。LLM 应用使用的几个组件(包括预训练模型、用于训练模型的数据、第三方数据集和插件)可能会为攻击创造条件或导致 LLM 应用运行出现其他问题。

要解决供应链漏洞,首先要仔细审查供应商,确保他们采取了足够的安全措施。组织还应维护一份最新的组件清单,并仔细检查提供的数据和模型。

6. 敏感信息泄露

LLM 应用可能会非故意地在回复中泄露机密数据,包括敏感的客户信息和知识产权。此类泄露可能构成违反合规性或导致安全漏洞。

缓解工作首先应该着重于防止机密信息和恶意输入进入训练模型。数据净化和清理是此类工作的必要部分。

由于构建 LLM 可能涉及跨境数据传输,组织还应实施自动数据本地化控制,将某些敏感数据保存在特定区域内。他们可以允许将其他数据纳入 LLM 中。

7. 不安全的插件设计

LLM 插件可以增强模型功能,并促进与第三方服务的集成。但是某些插件可能缺乏足够的访问控制,为攻击者注入恶意输入创造机会。这些输入可能会引发 RCE 或其他类型的攻击。

防止插件被利用需要更安全的插件设计。插件应该控制输入并执行输入检查,确保没有恶意代码通过。此外,插件应基于最低权限原则实施身份验证控制。

8. 过多的自主权

开发人员通常会赋予 LLM 应用一定程度的自主权,即根据提示自动采取行动的能力。然而,赋予应用过多的自主权可能会导致问题。如果 LLM 产生意外输出(由于攻击、AI 幻觉或其他错误),应用可能会采取潜在的破坏性行动,例如泄露敏感信息或删除文件。

防止过度自主权的最佳方法是让开发人员将插件和其他工具的功能、权限及自主性限制在必要的最低水平。运行带有插件的 LLM 应用的组织还可以要求经人工授权后才能执行某些操作。

9. 过度依赖

LLM 并不完美。尽管它们可能以权威的方式提供结果,但有时它们可能会产生事实错误的结果、AI 幻觉或有偏见的结果。当组织或个人过度依赖 LLM 时,他们可能会传播不正确的信息,从而导致违反法规、法律风险和声誉受损。

为避免过度依赖问题,组织应实施 LLM 监督政策。他们还应定期审查输出结果,并将其与其他受信任的外部来源的信息进行比较,以确认其准确性。

10. 模型盗窃

攻击者可能试图访问、复制或窃取专有的 LLM 模型。这些攻击可能会导致公司竞争优势下降或模型内敏感信息丢失。

应用强大的访问控制,包括基于角色的访问控制 (RBAC) 功能,可以帮助防止对 LLM 模型的未经授权访问。组织还应定期监控访问日志,并对任何未经授权的行为做出响应。数据丢失防护 (DLP) 功能可以帮助发现从应用中外泄信息的企图。

组织如何保护 LLM?

正如 OWASP 文档所建议的,组织需要采取多方面的策略来保护 LLM 应用免受威胁。例如,他们应该:

  • 分析网络流量,找出可能表明 LLM 被破坏的模式,这可能危及应用。
  • 对与 LLM 交互的数据包和数据建立位级别的实时可见性。
  • 应用 DLP 以保护传输中的敏感数据。
  • 验证、过滤和隔离流量,以保护应用免受遭入侵 LLM 的影响。
  • 采用远程浏览器隔离 (RBI),让用户免受被注入恶意代码的模型的影响。
  • 使用 Web 应用防火墙 (WAF),这是一组托管规则集,可阻止基于 SQL 注入、XSS 和其他 Web 攻击手段的 LLM 攻击。
  • 采用 Zero Trust 安全模型,通过仅授予对每个资源基于上下文的最低访问权限来缩小其攻击面。

Cloudflare 如何帮助降低 LLM 风险?

为了帮助组织应对威胁 LLM 应用的风险,Cloudflare 正在开发 Firewall for AI,这是一款专为 LLM 应用设计的高级 WAF。组织将能够在 LLM 前部署 Firewall for AI,以检测漏洞并识别滥用,防止它们到达模型。它将利用 Cloudflare 的大型全球网络,在靠近用户的位置运行,以便及早发现攻击并保护用户和模型。

此外,Cloudflare AI Gateway 提供一个 AI 操作平台,用于从统一界面管理和扩展生成式 AI 工作负载。它充当组织服务与其界面提供商之间的代理,帮助组织观察和控制 AI 应用。

如需有关 OWASP LLM 十大威胁的更深入信息,请参阅官方报告