OWASP 大语言模型应用十大风险

OWASP 大语言模型应用十大风险

什么是 OWASP 大型语言模型(LLM)应用十大安全风险

OWASP 十大安全风险列表 是由 OWASP开放式 Web 应用程序安全项目 社区提出的一套安全框架,用于识别 大型语言模型(LLM)系统 中最关键的安全风险。它定义了人工智能应用中的常见攻击模式与安全弱点,帮助组织构建更安全的生成式人工智能系统。为了更深入理解这些风险,我们可以逐项进行分析。

提示词注入

提示词注入攻击是指攻击者通过 操控系统提示词或用户输入,覆盖或绕过 LLM 原有指令。攻击者可能诱导模型泄露敏感数据、忽略安全策略,或生成有害内容。为了防止提示词注入,需要对输入进行严格校验,并持续监控模型输出。

不安全的输出处理

不安全的输出处理是指应用程序 未经验证便直接信任 LLM 输出内容。当输出被用于执行代码、SQL 查询或渲染 HTML 时,可能带来严重风险。攻击者可能借此实现远程代码执行(RCE)、跨站脚本攻击(XSS)或未授权操作。

训练数据投毒

训练数据投毒是指向预训练模型或训练数据集中注入恶意或带偏见的数据。这可能导致模型存在隐藏后门、输出偏差,或在长期使用中持续表现出异常行为。

模型拒绝服务攻击

模型拒绝服务攻击(DoS)是指攻击者通过 大量高消耗或重复提示词请求 压垮 LLM 系统。这类攻击会提高计算成本、降低性能,并可能突破速率限制,影响正常用户使用。

供应链漏洞

供应链漏洞来自于 第三方开源模型、API、数据集或插件 所引入的风险。被篡改的依赖项或未经验证的组件,可能将隐藏的安全问题带入 LLM 应用中。

敏感信息泄露

敏感信息泄露是指 LLM 无意中暴露机密信息,例如 API 密钥、内部文档或其他敏感数据。这通常源于不安全的数据处理方式、设计不当的提示词,或未经充分测试的系统集成。

不安全的插件设计

不安全的插件设计是指 LLM 与外部工具之间的 集成缺乏足够安全控制。例如权限控制薄弱、授权过度或 API 设计不安全,都可能让攻击者借助模型执行未授权操作。

过度自主权限

过度自主权限是指 LLM 被赋予了 过高的自动化决策与执行能力,且缺乏人工审核。这会增加金融、通信、基础设施等场景中的误操作风险。

过度依赖

过度依赖是指用户 在未验证结果真实性的情况下完全信任 LLM 输出。由于模型可能产生幻觉或错误信息,盲目信任可能导致安全、运营或合规问题。

模型窃取

模型窃取是指攻击者对专有 LLM 进行 未授权提取或复制。攻击者可能利用 API 滥用、基于查询的模型重建,或逆向工程等方式窃取模型能力或预训练成果。

企业如何保护 LLM 安全?

输入校验与输出控制

组织应对所有用户输入进行验证,以降低提示词注入攻击风险,并确保 LLM 输出在执行或展示前是安全的。由于 LLM 对输入的解释具有不确定性,其输出始终应被视为“不可信数据”并进行严格检查。尤其是在输出涉及代码、数据库或系统命令时,未经验证的响应可能引发安全漏洞或非预期操作。

访问控制与最小权限原则

与 LLM 相连的工具、API 和插件,应仅被授予完成任务所需的最低权限,即遵循“最小权限原则”。限制权限可以在提示词被攻破或集成被滥用时,将损害降到最低。强访问控制还能确保用户或组件只能执行其被明确授权的操作,从而进一步降低安全风险。

数据隔离与隐私保护

敏感数据应与普通 LLM 提示词隔离。组织应避免在模型上下文窗口中暴露机密信息,并实施加密机制与严格的数据治理策略。这些措施有助于降低敏感信息泄露风险、满足合规要求,并保护用户与企业数据不被意外泄漏。

监控与异常检测

持续日志记录与监控可以帮助发现异常行为。例如:高成本查询频繁出现、可疑提示词行为、异常 API 流量峰值等。及早发现问题能够降低拒绝服务(DoS)攻击与滥用行为带来的影响。

人工智能系统的安全开发生命周期

人工智能应用应采用结构化的安全测试流程,包括红队测试、对抗性提示词测试以及依赖项审查。定期审计训练数据投毒、LLM 安全性与系统集成情况,有助于及时发现新型风险。

Web 应用防火墙(WAF)防护

应在 LLM API 与人工智能网关前部署 Web 应用防火墙(WAF),用于过滤恶意流量。WAF 可以帮助拦截提示词注入攻击、实施速率限制,并降低针对 LLM 接口的自动化滥用或拒绝服务攻击风险。

FAQ

为什么 LLM 应用中的OWASP 十大安全风险很重要?

OWASP LLM 应用十大安全风险能帮助组织识别并优先处理关键人工智能安全风险,提升安全开发实践,并减少大型语言模型系统、API、插件及第三方集成中的漏洞。

LLM 安全漏洞与传统应用漏洞有何不同?

LLM 安全漏洞通常源于语言行为不可预测、提示词操控以及潜在的数据泄露;而传统漏洞更多集中于代码错误、系统配置不当或网络层弱点。

LLM 应用中最常见的安全风险有哪些?

提示词注入、不安全输出处理、训练数据投毒、敏感信息泄露、过度自主权限以及供应链漏洞,都是当前大型语言模型应用中最常见的安全风险。

什么是提示词注入?

提示词注入是一种攻击技术,攻击者通过构造特殊输入来操控 LLM。这类攻击可能导致模型忽略系统提示词,或通过利用模型对自然语言指令的解析方式来泄露敏感信息。