
Sign up to save your podcasts
Or
选自公众号:安全牛
原文链接:https://mp.weixin.qq.com/s/LIyHplGvwPek4HaD-LGfvA
OWASP TOP10大家比较熟悉,总结更新应用面临的主要威胁,在整个行业是可信度最高的风向标。本次他们发布的十大风险是针对大语言模型的,一起来看看吧。
从排名第一的提示注入到新增的系统提示泄露,“OWASP大语言模型(LLM)应用十大风险涵盖了从模型安全、数据保护到资源消耗等多个维度的风险。
LLM01:提示注入
提示注入漏洞是指用户的提示以非预期方式改变LLM的行为或输出。即使这些输入对人类来说是不可感知的,只要模型能够解析内容,就可能产生提示注入。提示注入漏洞存在于模型处理提示的方式中,攻击者可能强制模型将提示数据错误传递到其他部分,导致违反指导原则、生成有害内容、启用未授权访问或影响关键决策。虽然检索增强生成(RAG)和微调等技术旨在使LLM输出更加相关和准确,但研究表明它们并不能完全缓解提示注入漏洞。提示注入和越狱在LLM安全中是相关概念,它们经常被交替使用。提示注入涉及通过特定输入操纵模型响应以改变其行为,这可能包括绕过安全措施。越狱是一种提示注入形式,攻击者提供的输入导致模型完全无视其安全协议。开发人员可以在系统提示和输入处理中构建安全防护来帮助缓解提示注入攻击,但有效防止越狱需要持续更新模型的训练和安全机制。
LLM02:敏感信息泄露
敏感信息会影响LLM及其应用场景。这包括个人身份信息(PII)、财务细节、健康记录、机密业务数据、安全凭证和法律文件。专有模型的训练方法和源代码等也被视为敏感信息,特别是在封闭或基础模型中。LLM存在通过输出暴露敏感数据的风险,可能导致未经授权的数据访问、隐私侵犯和知识产权泄露。消费者应该了解如何安全地与LLM互动。他们需要理解无意中提供敏感数据的风险,这些数据后续可能在模型的输出中被泄露。为降低这一风险,LLM应用程序应执行充分的数据净化,以防止用户数据进入训练模型。应用程序所有者还应提供明确的使用条款政策,允许用户选择不将其数据包含在训练模型中。在系统提示中添加对于LLM应返回的数据类型的限制,可以缓解敏感信息泄露。但是,这些限制可能并不总是被遵守,并可能通过提示注入或其他方法被绕过。
LLM03:供应链安全
LLM供应链容易受到各种漏洞的影响,这些漏洞可能影响训练数据、模型和部署平台的完整性。这些风险可能导致有偏见的输出、安全漏洞或系统故障。虽然传统软件漏洞关注代码缺陷和依赖性等问题,但在机器学习中,风险还扩展到第三方预训练模型和数据。这些外部元素可能通过篡改或投毒攻击被操纵。创建LLM是一项专业任务,通常依赖于第三方模型。开放访问LLM的兴起和新的微调方法(如"LoRA"低秩适应和"PEFT"参数高效微调),特别是在Hugging Face等平台上,引入了新的供应链风险。此外,设备端LLM的出现增加了LLM应用程序的攻击面和供应链风险。
LLM04:数据和模型投毒
数据投毒发生在预训练、微调或嵌入数据被操纵以引入漏洞、后门或偏见时。这种操纵可能会损害模型的安全性、性能或道德行为,导致有害输出或能力受损。常见风险包括模型性能下降、有偏见或有害的内容,以及下游系统被利用。数据投毒可以针对LLM生命周期的不同阶段,包括预训练(从通用数据学习)、微调(使模型适应特定任务)和嵌入(将文本转换为数值向量)。理解这些阶段有助于识别漏洞可能的来源。数据投毒被视为一种完整性攻击,因为篡改训练数据会影响模型做出准确预测的能力。使用外部数据源的风险特别高,因为它们可能包含未经验证或恶意的内容。此外,通过共享存储库或开源平台分发的模型可能带来超出数据投毒的风险,例如通过恶意序列化等技术嵌入的恶意软件,这些软件在加载模型时可能执行有害代码。同时还要考虑,数据投毒可能导致后门的植入。这种后门可能使模型的行为保持不变,直到某个触发器导致其改变。这可能使此类更改难以测试和检测,实际上为模型成为潜伏特工创造了机会。
LLM05:不当输出处理
不当输出处理特指在将大语言模型生成的输出传递给下游组件和系统之前,对其进行不充分的验证、净化和处理。由于LLM生成的内容可以通过提示输入来控制,这种行为类似于为用户提供对附加功能的间接访问。不当输出处理与过度依赖的区别在于,它处理LLM生成的输出在传递到下游之前的问题,而过度依赖则关注对LLM输出的准确性和适当性过度依赖的更广泛问题。成功利用不当输出处理漏洞可能导致Web浏览器中的XSS和CSRF,以及后端系统上的SSRF、权限提升或远程代码执行。以下条件可能增加此漏洞的影响:
应用程序授予LLM超出最终用户预期的权限,从而能够实现权限提升或远程代码执行;
应用程序容易受到间接提示注入攻击,这可能允许攻击者获得对目标用户环境的特权访问;
第三方扩展没有充分验证输入;
缺乏针对不同上下文的适当输出编码;
对LLM输出的监控和日志记录不足;
缺乏对LLM使用的速率限制或异常检测。
LLM06:过度代理权限
LLM系统通常被开发者授予一定程度的代理权限,即通过扩展调用函数或与其他系统交互的能力,以响应提示并采取行动。对调用哪个扩展的决定,也可能委托给LLM"代理"根据输入提示或LLM输出动态来确定。基于代理的系统通常会使用先前调用的输出来指导和引导后续调用,并反复调用LLM。过度代理权限是一种漏洞,它使系统能够响应来自LLM的意外、模糊或被操纵的输出而执行有害操作,不管是什么导致LLM出现故障。常见触发因素包括:
由设计不当的良性提示或性能不佳的模型导致的幻觉/虚构;
来自恶意用户、早期调用恶意/受损扩展或(在多代理/协作系统中)恶意/受损对等代理的直接/间接提示注入。过度代理权限的根本原因通常是功能过度、权限过度和自主权过度,可能导致机密性、完整性和可用性方面的广泛影响,这取决于基于LLM的应用程序能够与哪些系统进行交互。
LLM07:系统提示泄露
提示泄露漏洞指的是用于引导模型行为的系统提示或指令可能包含敏感信息的风险。系统提示旨在根据应用程序的要求指导模型的输出,但可能无意中包含机密信息,这些信息可能被用来促进其他攻击。因此,系统提示语言中不应包含凭证、连接字符串等敏感数据。同样,如果系统提示中包含描述不同角色和权限的信息,或者像连接字符串或密码这样的敏感数据,虽然披露这些信息可能有帮助,但根本的安全风险不是这些信息被披露,而是应用程序通过将这些委托给LLM而允许绕过强大的会话管理和授权检查,以及敏感数据被存储在不应该存储的地方。
LLM08:向量和嵌入漏洞
在使用检索增强生成(RAG)的大语言模型(LLM)系统中,向量和嵌入漏洞带来重大安全风险。向量和嵌入的生成、存储或检索方面的弱点可能被恶意行为(有意或无意)利用,从而注入有害内容、操纵模型输出或访问敏感信息。检索增强生成(RAG)是一种模型适应技术,通过将预训练语言模型与外部知识源结合,来提高LLM应用程序响应的性能和上下文相关性。检索增强使用向量机制和嵌入。
LLM09:错误信息
错误信息发生在LLM产生看似可信但实际是虚假或误导性的信息时。这种漏洞可能导致安全漏洞、声誉损害和法律责任。错误信息的主要原因之一是幻觉:LLM生成看似准确但实际是虚构的内容。当LLM使用统计模式填补训练数据中的空白而不真正理解内容时,就会出现幻觉。因此,模型可能产生听起来正确但完全没有根据的答案。虽然幻觉是错误信息的主要来源,但它们不是唯一的原因;训练数据引入的偏见和不完整的信息也可能造成影响。一个相关的问题是过度依赖。过度依赖发生在用户过分信任LLM生成的内容,未能验证其准确性时。这种过度依赖加剧了错误信息的影响,因为用户可能在没有充分审查的情况下将错误数据整合到关键决策或流程中。
LLM10:无界消耗
无界消耗风险指的是LLM应用在缺乏合理限制的情况下,可能被攻击者利用进行过度推理,导致资源耗尽、服务中断甚至模型被窃取的安全隐患。推理是LLM的关键功能,涉及应用学习到的模式和知识来产生相关的响应或预测。成功实施旨在破坏服务、耗尽目标财务资源,甚至通过克隆模型行为来窃取知识产权的攻击,都依赖于一类常见的安全漏洞。无界消耗发生在LLM应用程序允许用户进行过度和不受控制的推理时,导致拒绝服务(DoS)、经济损失、模型盗窃和服务降级等风险。LLM的高计算需求,特别是在云环境中,使其容易受到资源利用和未授权使用的影响。OWASP项目负责人Steve Wilson最后指出,随着AI技术快速发展,攻击者也开始利用AI来发动更复杂的攻击,企业必须与时俱进,采用新型安全工具来保护自己的AI应用系统。
选自公众号:安全牛
原文链接:https://mp.weixin.qq.com/s/LIyHplGvwPek4HaD-LGfvA
OWASP TOP10大家比较熟悉,总结更新应用面临的主要威胁,在整个行业是可信度最高的风向标。本次他们发布的十大风险是针对大语言模型的,一起来看看吧。
从排名第一的提示注入到新增的系统提示泄露,“OWASP大语言模型(LLM)应用十大风险涵盖了从模型安全、数据保护到资源消耗等多个维度的风险。
LLM01:提示注入
提示注入漏洞是指用户的提示以非预期方式改变LLM的行为或输出。即使这些输入对人类来说是不可感知的,只要模型能够解析内容,就可能产生提示注入。提示注入漏洞存在于模型处理提示的方式中,攻击者可能强制模型将提示数据错误传递到其他部分,导致违反指导原则、生成有害内容、启用未授权访问或影响关键决策。虽然检索增强生成(RAG)和微调等技术旨在使LLM输出更加相关和准确,但研究表明它们并不能完全缓解提示注入漏洞。提示注入和越狱在LLM安全中是相关概念,它们经常被交替使用。提示注入涉及通过特定输入操纵模型响应以改变其行为,这可能包括绕过安全措施。越狱是一种提示注入形式,攻击者提供的输入导致模型完全无视其安全协议。开发人员可以在系统提示和输入处理中构建安全防护来帮助缓解提示注入攻击,但有效防止越狱需要持续更新模型的训练和安全机制。
LLM02:敏感信息泄露
敏感信息会影响LLM及其应用场景。这包括个人身份信息(PII)、财务细节、健康记录、机密业务数据、安全凭证和法律文件。专有模型的训练方法和源代码等也被视为敏感信息,特别是在封闭或基础模型中。LLM存在通过输出暴露敏感数据的风险,可能导致未经授权的数据访问、隐私侵犯和知识产权泄露。消费者应该了解如何安全地与LLM互动。他们需要理解无意中提供敏感数据的风险,这些数据后续可能在模型的输出中被泄露。为降低这一风险,LLM应用程序应执行充分的数据净化,以防止用户数据进入训练模型。应用程序所有者还应提供明确的使用条款政策,允许用户选择不将其数据包含在训练模型中。在系统提示中添加对于LLM应返回的数据类型的限制,可以缓解敏感信息泄露。但是,这些限制可能并不总是被遵守,并可能通过提示注入或其他方法被绕过。
LLM03:供应链安全
LLM供应链容易受到各种漏洞的影响,这些漏洞可能影响训练数据、模型和部署平台的完整性。这些风险可能导致有偏见的输出、安全漏洞或系统故障。虽然传统软件漏洞关注代码缺陷和依赖性等问题,但在机器学习中,风险还扩展到第三方预训练模型和数据。这些外部元素可能通过篡改或投毒攻击被操纵。创建LLM是一项专业任务,通常依赖于第三方模型。开放访问LLM的兴起和新的微调方法(如"LoRA"低秩适应和"PEFT"参数高效微调),特别是在Hugging Face等平台上,引入了新的供应链风险。此外,设备端LLM的出现增加了LLM应用程序的攻击面和供应链风险。
LLM04:数据和模型投毒
数据投毒发生在预训练、微调或嵌入数据被操纵以引入漏洞、后门或偏见时。这种操纵可能会损害模型的安全性、性能或道德行为,导致有害输出或能力受损。常见风险包括模型性能下降、有偏见或有害的内容,以及下游系统被利用。数据投毒可以针对LLM生命周期的不同阶段,包括预训练(从通用数据学习)、微调(使模型适应特定任务)和嵌入(将文本转换为数值向量)。理解这些阶段有助于识别漏洞可能的来源。数据投毒被视为一种完整性攻击,因为篡改训练数据会影响模型做出准确预测的能力。使用外部数据源的风险特别高,因为它们可能包含未经验证或恶意的内容。此外,通过共享存储库或开源平台分发的模型可能带来超出数据投毒的风险,例如通过恶意序列化等技术嵌入的恶意软件,这些软件在加载模型时可能执行有害代码。同时还要考虑,数据投毒可能导致后门的植入。这种后门可能使模型的行为保持不变,直到某个触发器导致其改变。这可能使此类更改难以测试和检测,实际上为模型成为潜伏特工创造了机会。
LLM05:不当输出处理
不当输出处理特指在将大语言模型生成的输出传递给下游组件和系统之前,对其进行不充分的验证、净化和处理。由于LLM生成的内容可以通过提示输入来控制,这种行为类似于为用户提供对附加功能的间接访问。不当输出处理与过度依赖的区别在于,它处理LLM生成的输出在传递到下游之前的问题,而过度依赖则关注对LLM输出的准确性和适当性过度依赖的更广泛问题。成功利用不当输出处理漏洞可能导致Web浏览器中的XSS和CSRF,以及后端系统上的SSRF、权限提升或远程代码执行。以下条件可能增加此漏洞的影响:
应用程序授予LLM超出最终用户预期的权限,从而能够实现权限提升或远程代码执行;
应用程序容易受到间接提示注入攻击,这可能允许攻击者获得对目标用户环境的特权访问;
第三方扩展没有充分验证输入;
缺乏针对不同上下文的适当输出编码;
对LLM输出的监控和日志记录不足;
缺乏对LLM使用的速率限制或异常检测。
LLM06:过度代理权限
LLM系统通常被开发者授予一定程度的代理权限,即通过扩展调用函数或与其他系统交互的能力,以响应提示并采取行动。对调用哪个扩展的决定,也可能委托给LLM"代理"根据输入提示或LLM输出动态来确定。基于代理的系统通常会使用先前调用的输出来指导和引导后续调用,并反复调用LLM。过度代理权限是一种漏洞,它使系统能够响应来自LLM的意外、模糊或被操纵的输出而执行有害操作,不管是什么导致LLM出现故障。常见触发因素包括:
由设计不当的良性提示或性能不佳的模型导致的幻觉/虚构;
来自恶意用户、早期调用恶意/受损扩展或(在多代理/协作系统中)恶意/受损对等代理的直接/间接提示注入。过度代理权限的根本原因通常是功能过度、权限过度和自主权过度,可能导致机密性、完整性和可用性方面的广泛影响,这取决于基于LLM的应用程序能够与哪些系统进行交互。
LLM07:系统提示泄露
提示泄露漏洞指的是用于引导模型行为的系统提示或指令可能包含敏感信息的风险。系统提示旨在根据应用程序的要求指导模型的输出,但可能无意中包含机密信息,这些信息可能被用来促进其他攻击。因此,系统提示语言中不应包含凭证、连接字符串等敏感数据。同样,如果系统提示中包含描述不同角色和权限的信息,或者像连接字符串或密码这样的敏感数据,虽然披露这些信息可能有帮助,但根本的安全风险不是这些信息被披露,而是应用程序通过将这些委托给LLM而允许绕过强大的会话管理和授权检查,以及敏感数据被存储在不应该存储的地方。
LLM08:向量和嵌入漏洞
在使用检索增强生成(RAG)的大语言模型(LLM)系统中,向量和嵌入漏洞带来重大安全风险。向量和嵌入的生成、存储或检索方面的弱点可能被恶意行为(有意或无意)利用,从而注入有害内容、操纵模型输出或访问敏感信息。检索增强生成(RAG)是一种模型适应技术,通过将预训练语言模型与外部知识源结合,来提高LLM应用程序响应的性能和上下文相关性。检索增强使用向量机制和嵌入。
LLM09:错误信息
错误信息发生在LLM产生看似可信但实际是虚假或误导性的信息时。这种漏洞可能导致安全漏洞、声誉损害和法律责任。错误信息的主要原因之一是幻觉:LLM生成看似准确但实际是虚构的内容。当LLM使用统计模式填补训练数据中的空白而不真正理解内容时,就会出现幻觉。因此,模型可能产生听起来正确但完全没有根据的答案。虽然幻觉是错误信息的主要来源,但它们不是唯一的原因;训练数据引入的偏见和不完整的信息也可能造成影响。一个相关的问题是过度依赖。过度依赖发生在用户过分信任LLM生成的内容,未能验证其准确性时。这种过度依赖加剧了错误信息的影响,因为用户可能在没有充分审查的情况下将错误数据整合到关键决策或流程中。
LLM10:无界消耗
无界消耗风险指的是LLM应用在缺乏合理限制的情况下,可能被攻击者利用进行过度推理,导致资源耗尽、服务中断甚至模型被窃取的安全隐患。推理是LLM的关键功能,涉及应用学习到的模式和知识来产生相关的响应或预测。成功实施旨在破坏服务、耗尽目标财务资源,甚至通过克隆模型行为来窃取知识产权的攻击,都依赖于一类常见的安全漏洞。无界消耗发生在LLM应用程序允许用户进行过度和不受控制的推理时,导致拒绝服务(DoS)、经济损失、模型盗窃和服务降级等风险。LLM的高计算需求,特别是在云环境中,使其容易受到资源利用和未授权使用的影响。OWASP项目负责人Steve Wilson最后指出,随着AI技术快速发展,攻击者也开始利用AI来发动更复杂的攻击,企业必须与时俱进,采用新型安全工具来保护自己的AI应用系统。