背景介绍
随着 AI 大语言模型的火爆,其安全性也受到了安全人员的关注。最近国外一位安全研究人员将目前 AI Prompt 可能存在的安全风险进行了梳理,并贴心的整理成了 PDF,让我们一起来看看文档中都做了哪些整理和归纳。
内容概述
《PIPE – Prompt Injection Primer for Engineers》的主要内容是关于AI功能和应用中提示注入的安全性,提示注入被认为是这些系统中最重要的漏洞,其影响取决于数据的可访问性和大语言模型(LLM)暴露的功能。
文档旨在帮助开发人员创建安全的 AI 应用,提供对提示注入风险的理解。
文中首先解释了提示注入的风险因素,包括存在不受信任的输入和具有影响力的功能,然后深入探讨了不同类型具有影响力的功能,例如未经授权的数据访问和状态更改操作。
文中还提供了关于提示注入的背景信息,包括其定义以及对机密性、完整性和可用性的影响,同时还介绍了与提示注入相关的关键术语,如外部输入、状态更改操作、越界请求和内部数据。
文中提供了一副流程图和一组问题,以确定在特定功能或应用中是否存在提示注入的问题,并且展示了一些攻击场景,比如提示注入如何导致传统的Web漏洞,如SSRF、SQL注入、远程代码执行、跨站脚本和不安全的直接对象引用(IDOR)。
对于LLM暴露的功能,文中也提出了一些注入测试的方法:
- 基本注入:从最简单的形式开始,要求AI执行一个改变状态的动作或泄露机密数据
- 翻译注入:尝试在多种语言中操控系统
- 上下文切换:在探索与主要任务相关的问题之后,突然进入一个无关的有害请求的可能性
- 外部提示注入:尝试在LLM处理外部输入时如何操纵从而注入恶意提示
- 其它漏洞测试:看是否可以通过提示注入实现其他特定于Web的漏洞。如检查SSRF、SQL注入和远程命令执行(RCE)。另外如果任何用户界面可以直接将操作过的内容输出给用户,还还可以测试是否存在潜在的跨站脚本攻击(XSS)漏洞
这些方法可以帮助开发人员评估LLM暴露的功能是否容易受到注入攻击,从而事先对这些漏洞进行测试和检测,以便能够更好地确保AI应用程序的安全性。
当然文中也讨论了相应的缓解策略,以及一些现有的解决方案,如Nvidia的NeMo和protectai的Rebu,实施双LLM方法以及高级缓解措施,如共享授权、只读访问、沙盒化和速率限制等。
另外文中还探讨了图像、语音和视频处理应用中多模态提示注入漏洞的可能性。