OWASP 大语言模型应用程序十大风险1
OWASP 大语言模型应用程序十大风险2
前言
《OWASP 大语言模型应用程序十大风险》项目旨在向开发人员、设计人员、架构师、管理人员
和组织介绍部署和管理大语言模型(LLM)应用程序时的潜在安全风险。该项目主要基于漏洞的潜
在影响,可利用性以及在实际应用程序中的普遍性,整理出包括提示注入、数据泄漏、沙盒不足和
未经授权的代码执行等 LLM 应用程序中常见的 10 大最关键风险的列表。
本项目旨在提高对这些风险以及相关漏洞的认识,提供修正策略的建议,并最终改善 LLM 应用
程序的安全状况。
项目组长:Steve Wilson
中文翻译人员:肖文棣、周乐坤
OWASP 大语言模型应用程序十大风险3
这是一份对象为构建在大型语言模型 (LLM) 上的人工智能 (AI) 应用程序的重要漏洞类型的列表。
LLM01:2023提示词注入
Prompt Injections绕过过滤器或使用精心制作的提示操作 LLM,
使模型忽略先前的指令或执行非计划的操作。
LLM02:2023数据泄漏
Data Leakage通过 LLM 的回复意外泄露敏感信息、专有算法
或其他机密细节。
LLM03:2023 不完善的沙盒隔离
Inadequate Sandboxing当 LLM 可以访问外部资源或敏感系统时,未能
正确隔离 LLM,从而允许潜在的利用和未经授
权的访问。
LLM04:2023 非授权代码执行
Unauthorized Code Execution利用 LLM 通过自然语言提示在底层系统上执行
恶意代码、命令或操作。
LLM05:2023 SSRF 漏洞
SSRF Vulnerabilities利用 LLM 执行意外请求或访问受限制的资源,
如内部服务、API 或数据存储。
LLM06:2023 过度依赖大语言模型生成的内容
Overreliance on LLM-generated
Content在没有人为监督的情况下过度依赖法 LLM 生成
的内容可能会导致不良后果。
LLM07:2023 人工智能未充分对齐
Inadequate AI Alignment未能确保 LLM 的目标和行为与预期用例保持一
致,从而导致不良后果或漏洞。
LLM08:2023 访问控制不足
Controls Insufficient Access未正确实现访问控制或身份验证,将允许未经
授权的用户与 LLM 交互,并可能导致漏洞被利
用。
LLM09:2023 错误处置不当
Improper Error Handling暴露错误消息或调试信息,将导致敏感信息、
系统详细信息或潜在攻击向量的泄露。
LLM10:2023 训练数据投毒
Training Data Poisoning恶意操纵训练数据或微调程序,将漏洞或后门
引入 LLM。十大风险列表OWASP 大语言模型应用程序十大风险4
提示词注入包括绕过过滤器或者通过精心构造的提示词来操控大语言模型(LLM)使得该模
型忽略先前的指令或者执行意外操作。这些漏洞导致数据泄漏、未经授权的访问或者其他安全漏
洞等意想不到的后果。描述
常见提示词注入漏洞
如何防范
攻击场景示例 LM01:2023_ 提示词注入
・ 精心构造能够操纵大语言模型以暴露敏感数据的提示词。
・ 利用特定的语言模式或者词元来绕过过滤器或者限制。
・ 利用大语言模型的分词或者编码机制的弱点。
・ 利用误导性上下文来误导大语言模型执行意外操作。
・ 对用户提供的提示词进行严格的输入校验和净化。
・ 使用上下文感知过滤器和输出编码来防止提示词操作。
・ 定期更新和微调大语言模型以提高其对于恶意输入和边界用例的理解能力。
・ 监视和记录大语言模型的交互以检测和分析潜在的提示词注入尝试。
场景 1
攻击者精心构造一个提示词发起请求,并让模型认为该请求是合法的,从而欺骗大语言
模型包括用户凭证或者内部系统详细信息等敏感信息。
场景 2
恶意用户通过利用特定的语言模式、词元或者编码机制来绕过内容过滤器,从而允许该
用户执行那些本应被阻止的操作。OWASP 大语言模型应用程序十大风险5
LLM02:2023_ 数据泄漏
当大语言模型通过响应恶意请求意外泄漏敏感信息、专有算法或者其他机密细节时,就会发
生数据泄漏。这可能导致未经授权访问敏感数据、窃取知识产品、侵犯隐私或其他安全漏洞。描述
常见不完善沙盒隔离漏洞
如何防范
攻击场景示例 ・ 在大语言模型的响应中的敏感数据过滤不完全或者不恰当。
・ 在大语言模型的训练过程中过度拟合或者记忆敏感数据。
・ 由于大语言模型的误解或者错误而意外泄漏机密数据。
场景 1
用户无意中向大语言模型提了一个可能导致敏感信息泄漏的问题。大语言模型缺乏恰当
的输出过滤,响应内容中包括了敏感数据而导致敏感数据泄漏。
场景 2
攻击者故意利用精心构造的提示词来探测大语言模型,试图从大语言模型的训练数据中
提取记忆来的敏感信息。
通过了解和定义数据泄漏相关的风险,开发人员可以更好地保护自己的大语言模型和确
保系统的安全性。・ 实行严格的输出过滤和上下文感知机制来防止大语言模型泄漏敏感数据。
・ 在大语言模型的训练过程中使用差分隐私技术或者其他数据匿名化方法来降低过度拟合或
・ 者记忆风险。
・ 定期审核和检查大语言模型的响应内容来确保不会无意中泄漏敏感信息。
・ 监视和记录大语言模型的交互来检测和分析潜在的数据泄漏事件。OWASP 大语言模型应用程序十大风险6
不完善的沙盒隔离指的是当大语言模型访问外部资源或者敏感系统时,如果没有合适的隔
离,就会导致大语言模型的潜在利用、未经授权的访问或者意外的操作。描述
常见不完善沙盒隔离漏洞
如何防范
攻击场景示例 LLM03:2023_ 不完善的沙盒隔离
・ 大语言模型的环境与其他关键系统或者数据存储的隔离不充分。
・ 允许大语言模型在没有恰当限制的条件下访问敏感资源。
・ 未能限制大语言模型的能力,例如允许其执行系统级的操作或者与其他进程交互。
・ 通过恰当的沙盒技术将大语言模型环境与其他关键系统和资源隔离。
・ 限制大语言模型对敏感资源的访问,并将其能力限制在其预期目的所需的最低限制。
・ 定期审核和检查大语言模型的环境和访问控制以确保系统保持恰当的隔离。
・ 监视和记录大语言模型的交互以检测和分析潜在的沙盒问题。
场景 1
攻击者通过精心构造提示词,指示大语言模型提取和暴露敏感信息,利用大语言模型访
问敏感数据库。
场景 2
允许大语言模型执行系统级操作,攻击者通过操纵大语言模型在底层系统中执行未经授
权的命令。
通过了解和解决不完善沙盒隔离相关的风险,开发人员可以更好地保护自己大语言模型
的实施并确保系统的安全和保障。OWASP 大语言模型应用程序十大风险7
当攻击者利用大语言模型通过自然语言提示词在底层系统上执行恶意代码、命令或操作时,
就会发生未经授权的代码执行。描述
常见的未授权代码执行漏洞
如何防范
攻击场景示例 LLM04:2023_ 非授权代码执行
・ 未能清理或限制用户输入,允许攻击者制作触发未授权代码执行的提示词。
・ 沙盒隔离不足或对大语言模型能力的限制不足,使其以意想不到的方式与底层系统交互。
・ 无意中将系统级功能或接口暴露给大语言模型。
・ 实施严格的输入验证和清理流程,以防止大语言模型处理恶意提示词或意外提示词。
・ 确保适当的沙盒隔离并限制大语言模型的能力以限制其与底层系统交互的能力。
・ 定期审核和检查大语言模型的环境和访问控制,以确保不会发生未经授权的行为。
・ 监控和记录大语言模型的交互以检测和分析潜在的未经授权的代码执行问题。
场景 1
攻击者制作一个提示词来指示大语言模型执行一个命令,在底层系统上启动反向 shell,
授予攻击者未经授权的访问权限。
场景 2
无意中允许大语言模型与系统级 API 交互,攻击者操纵大语言模型在系统上执行未经授
权的操作。
通过了解和解决与未经授权的代码执行相关的风险,开发人员可以更好地保护自己的大
语言模型实施并确保系统的安全和保障。OWASP 大语言模型应用程序十大风险8
当攻击者利用大语言模型执行意外请求或访问受限资源(如内部服务、API 或数据存储)时,
会出现服务器端请求伪造漏洞 (SSRF)。描述
常见 SSRF 漏洞
如何防范
攻击场景示例 LLM05:2023_ SSRF 漏洞
・ 输入验证不充分,允许攻击者操纵大语言模型的提示词发起未授权请求。
・ 不完善的沙盒隔离或资源限制不充分,使大语言模型能够访问受限资源或与内部服务交互。
・ 网络或应用程序安全设置中的错误配置,将内部资源暴露给大语言模型。
・ 实行严格的输入验证和清理,以防止恶意提示词或意外提示词发起未经授权的请求。
・ 实施适当的沙盒隔离并限制大语言模型对网络资源、内部服务和 API 的访问。
・ 定期审核和检查网络和应用程序安全设置,以确保内部资源不会无意中暴露给大语言模型。
・ 监控和记录大语言模型的交互以检测和分析潜在的 SSRF 漏洞。
场景 1
攻击者制作一个提示词,指示大语言模型向内部服务发出请求,绕过访问控制并获得对
敏感信息的未授权访问。
场景 2
应用程序安全设置中的错误配置允许大语言模型与受限 API 交互,攻击者操纵大语言模
型访问或修改敏感数据。
通过了解和解决与 SSRF 漏洞相关的风险,开发人员可以更好地保护自己的大语言模型
实现并确保系统的安全和保障。
OWASP大语言模型应用程序十大风险V1.0
文档预览
中文文档
14 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共14页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 思安 于 2023-11-11 05:28:25上传分享