当前位置:AIGC资讯 > AIGC > 正文

大语言模型漏洞缓解指南

虽然大语言模型(LLM)应用正在全球快速普及,但企业对大语言模型的威胁态势仍然缺乏全面了解。面对大语言模型风险的不确定性,企业希望在保障其安全性的基础上加快

应用脚步,用人工智能提升企业核心竞争力,这意味着企业的CISO面临着理解和应对新兴人工智能威胁的巨大压力。

人工智能威胁态势每天都在变化,企业安全团队应当优先关注和处理那些对企业运营构成重大风险的大语言模型漏洞。如果网络安全团队能够深入了解这些漏洞及其缓解措施,企业就可以大胆放手一搏,利用大语言模型加速创新,而无需过度担心风险。

以下,我们将简要介绍四类大语言模型重大风险及其缓解措施:

一、提示注入攻击和数据泄露

对于大语言模型来说,数据泄露是最受关注的重大风险。大语言模型可能会被“诱骗”披露敏感的企业或用户信息,从而导致一系列隐私和安全问题。提示泄漏是另一个大问题,如果恶意用户访问系统提示,公司的知识产权可能会受到损害。

这两个漏洞都与提示注入有关,直接和间接提示注入攻击如今都变得越来越普遍,并且会带来严重的后果。

成功的提示注入攻击可能会导致跨插件请求伪造、跨站点脚本编写和训练数据提取,这些都会使公司机密、个人用户数据和重要训练数据面临风险。

因此,企业需要在整个人工智能应用开发生命周期中实施检查系统。从采购和处理数据到选择和训练应用程序,每一步都应该受到限制,以降低违规风险。与大语言模型打交道时,沙箱、白名单和API网关等常规安全实践同样有价值(如果不是更有价值的话)。除此之外,在将插件与大语言模型应用程序集成之前,安全团队应仔细审查所有插件,并人工审核批准所有高权限任务,这一点至关重要。

二、模型数据中毒攻击

人工智能模型的有效性取决于数据质量。但在整个模型开发过程中——从预训练到微调和嵌入——训练数据集很容易受到黑客的攻击。

大多数企业利用第三方模型,由未知人员管理数据,网络团队不能盲目相信数据没有被篡改。无论使用第三方还是自有模型,总会存在不良行为者带来“数据中毒”的风险,这可能会对模型性能产生重大影响,从而损害品牌声誉。

开源AutoPoison框架(https://github.com/azshue/AutoPoison/blob/main/assets/intro.png)清楚地描述了数据中毒攻击如何在指令调整过程中影响模型。此外,以下是网络安全团队可以实施的一系列风险环节策略,可以以降低风险并最大限度地提高人工智能模型的性能:

供应链审查:通过严密的安全措施审查供应链,以验证数据源是否干净。提出诸如“数据是如何收集的?”之类的问题。以及“是否征得用户同意和并符合道德规则?”此外,还需要询问数据标注者的身份、他们的资格以及标签中是否存在任何偏差或不一致。此外,解决数据所有权和许可问题,包括谁拥有数据以及许可条款和条件。

数据清理和清理:在数据进入模型之前,请务必检查所有数据和来源。例如,PII在放入模型之前必须进行编辑。

红队演习:在模型生命周期的测试阶段进行以大语言模型为重点的红队演习。具体包括:优先考虑涉及操纵训练数据以注入恶意代码、偏见或有害内容的测试场景,并采用各种攻击方法,包括对抗性输入、中毒攻击和模型提取技术。

三、互联系统的API风险

GPT-4等高级模型经常会被集成到与其他应用程序通信的系统中。但只要涉及API,下游系统就会面临风险,一个恶意提示就可能会对互连系统产生多米诺骨牌效应。为了降低这种风险,请考虑以下事项:

如果允许大语言模型调用外部API,请在执行潜在破坏性操作之前请求用户确认。

在不同系统互连之前审查大语言模型输出。检查它们是否存在可能导致远程代码执行(RCE)等风险的潜在漏洞。

请特别注意这些输出促进不同计算机系统之间交互的场景。

为互连系统中涉及的所有API实施强大的安全措施。

使用强大的身份验证和授权协议来防止未经授权的访问和数据泄露。

监控API活动是否存在异常和可疑行为迹象,例如异常请求模式或尝试利用漏洞。

四、大模型DoS攻击

网络带宽饱和漏洞可能被攻击者利用实施拒绝服务(DoS)攻击,可导致大语言模型使用成本飙升。

在模型拒绝服务攻击中,攻击者以过度消耗资源(例如带宽或系统处理能力)的方式使用模型,最终损害目标系统的可用性。反过来,此类攻击可导致大模型服务质量下降和天价账单。由于DoS攻击对于网络安全领域来说并不新鲜,因此可以采用多种策略来防御模型拒绝服务攻击并降低成本快速上升的风险:

速率限制:实施速率限制以防止系统因过多请求而不堪重负。确定应用程序的正确速率限制取决于模型大小和复杂性、硬件和基础设施以及平均请求数和峰值使用时间。

字符限制:对用户可以在查询中包含的字符数设置限制,以米便大模型的API资源耗尽。

框架提供商的方法:利用框架提供商提供的方法来加强对攻击的防御。例如,如果您使用LangChain,请考虑使用max_iterations参数。

保护大语言模型需要采取多种方法,涵盖数据处理、模型训练、系统集成和资源使用。通过实施以上建议策略并保持警惕,企业无需因噎废食,在充分利用大语言模型能力的同时,最大限度地降低相关风险。

更新时间 2024-01-13