开放式 Web 应用程序安全项目(OWASP)发布了关于大模型应用的安全风险,这些风险不仅包括传统的沙盒逃逸、代码执行和鉴权不当等安全风险,还涉及提示注入、对话数据泄露和数据投毒等人工智能特有的安全风险。
帮助开发者和测试同学更好地理解和应对这些挑战,我们介绍LLM应用中常见的安全问题,并提供了相应的应对策略。
一、提示注入(Promt Injections)
问题概述:提示注入漏洞涉及狡猾的输入,导致未检测到的操作,影响范围从数据暴露到未经授权的操作。攻击者通过构建的输入提示操纵LLM,利用对LLM输出的固有信任,实现恶意目标。
应对策略:
- 权限限制:将LLM的权限限制为其功能所需的最低权限。
- 输入验证:实施可靠的输入验证和清理方法,过滤掉潜在恶意提示输入。
- 信任边界:在LLM、外部源和可扩展功能之间建立信任边界。
二、不安全输出(Insecure Output Handling)
问题概述:当插件或应用程序盲目接受LLM输出并直接传递给后端或客户端函数时,可能导致XSS、CSRF等安全漏洞。
应对策略:
- 输出编码:将来自模型的输出进行编码,减少不必要的代码解释。
- 输入验证:对从模型到后端函数的响应应用适当的输入验证。
三、训练数据投毒(Training Data Poisoning)
问题概述:攻击者通过引入漏洞的训练数据,破坏LLM模型,使用户接触到不正确的信息。
应对策略:
- 数据验证:验证培训数据的供应链和合法性。
- 沙盒隔离:确保存在足够的沙盒,防止模型抓取意外数据源。
- 模型多样化:针对不同用例使用单独的训练数据制作不同的模型。
四、拒绝服务(Denial of Service)
问题概述:攻击者以特别消耗资源的方式与LLM交互,导致服务质量下降或高资源成本。
应对策略:
- 资源限制:限制每个请求和步骤的资源使用量。
- 队列控制:限制系统中对LLM响应的排队操作数和总操作数。
五、供应链完整性风险
问题概述:LLM供应链可能受到攻击,影响训练数据、ML模型和部署平台的完整性。
应对策略:
- 供应商审查:仔细审查来源和供应商。
- 漏洞扫描:对组件进行漏洞扫描,包括开发和测试阶段。
- 稳健性测试:对提供服务的整个链路进行稳健性测试。
六、权限问题(Permission Issues)
问题概述:插件之间缺乏授权跟踪,可能导致权限提升、机密性丢失和远程代码执行。
应对策略:
- 手动授权:需要手动授权敏感插件执行的任何操作。
- 插件隔离:每个用户输入调用不超过一个插件,调用间重置插件数据。
- 污点跟踪:对所有插件内容执行污点跟踪,确保授权级别对应。
七、数据泄漏
问题概述:LLM通过响应意外泄露敏感信息,导致隐私和安全漏洞。
应对策略:
- 数据清理:执行足够的数据清理和验证。
- 用户教育:让用户了解与LLM交互的风险。
八、其他安全问题概览
除了上述六大问题外,OWASP还指出了其他四个关键安全问题,包括沙盒不足、模型窃取、模型逆向工程和隐私侵犯。这些问题同样需要引起开发者的重视,并采取相应的预防措施。
- 沙盒不足:确保LLM在受限的环境中运行,防止其访问敏感资源。
- 模型窃取:通过加密和访问控制保护模型不被非法复制。
- 模型逆向工程:使用混淆和加密技术增加模型逆向工程的难度。
- 隐私侵犯:明确用户数据的使用条款,确保用户隐私得到保护。
九、大模型的攻击与防御
对于大模型的威胁来说,可以分为攻击和防御,前者研究的是如何攻击模型,后者研究的是如何防御,提升模型鲁棒性。
攻击包括了这4种攻击类别:
1、白盒攻击,主要是基于输入梯度产生对抗样本,相关算法有FGSM、BIM、PGD、DeepFool等;
2、基于迁移的黑盒攻击,利用AI系统获取训练数据,训练一个替代模型,用于生成对抗样本,相关算法有MIM、DIM、TI等;
3、基于预测分数的黑盒攻击,利用数据获取AI系统的预测分数,生成对抗样本,相关算法有ZOO、NES、SPSA、P-RGF等;
4、基于决策的黑盒攻击,利用数据获取AI系统的预测标签,生成对抗样本,相关研究有基于决策边界攻击的方式、基于优化器的方法、基于进化攻击的方法。
防御包括了这4种防御策略:
1、对抗训练,在训练模型的时候加入对抗样本,提升模型鲁棒性,相关算法有PGD-AT、TRADES、SMART等;
2、认证防御,这方面的研究包括了训练可认证的鲁棒模型、随机化平滑等方法,但这类方法要么计算量大,要么难以达到SOTA鲁棒性;
3、推理阶段防御,这方面的研究主要尝试在推理阶段解决这个问题,譬如对输入数据先进行线性转换或去燥等处理,去除对抗扰动,获得干净的输入。
4、对抗检测,这部分的研究主要是研究如何识别对抗样本。
十、总结与提高
随着深度学习技术的发展和研究的深入,未来大模型的攻防将在动态抗衡中不断升级,同时,大模型需要应对的新型安全威胁也将不断涌现和升级。
ChatGPT 可能已经具备了某种意识,新的优先级的事情是要阻止超级人工智能干坏事。未来可能面临以下新型安全问题。
一是自适应对抗攻击。随着大模型变得更加复杂,攻击者可能会开发出能够自适应模型防御机制的高级对抗性攻击,这些攻击可能在大模型更新或变更时迅速演化。
二是深度伪造与信任危机。利用大模型生成的深度伪造内容将更加逼真,这可能导致公众对数字媒体的信任度下降,引发社会层面的信息验证危机。
三是人工智能辅助的自动化攻击。人工智能技术本身将被用于自动化攻击流程,实现快速识别系统漏洞、自动生成攻击脚本,大幅提高攻击效率和威胁级别。
四是伦理和法律合规性问题。随着大模型在更多敏感领域的应用,如医疗、司法等,它们必须符合更高的伦理和法律标准。未来可能会出现更多关于大模型决策过程和结果的合规性争议。
五是大模型的可解释性和透明度问题。大模型的决策过程往往不够透明,这可能导致在关键领域中难以对其输出结果进行验证和信任。未来可能会出现更多要求提高大模型可解释性和透明度的需求。