随着大型语言模型 (LLM) 变得越来越普遍,对 LLM 威胁态势的全面了解仍然难以捉摸。 但这种不确定性并不意味着进展应该停滞不前:探索人工智能对于保持竞争力至关重要,这意味着首席信息安全官在理解和应对新出现的人工智能威胁方面承受着巨大的压力。
虽然 AI 威胁形势每天都在变化,但我们知道存在一些 LLM 漏洞,这些漏洞对当今的业务运营构成了重大风险。 如果网络团队能够很好地掌握这些漏洞是什么以及如何缓解它们,那么组织就可以继续使用 LLM 进行创新,而无需承担不必要的风险。
对于LLM来说,数据泄露的可能性是一个真实且日益严重的问题。 LLM 可能会被“欺骗”泄露敏感的业务或用户信息,从而导致一系列隐私和安全问题。 及时泄漏是另一个大问题。 如果恶意用户访问系统提示,公司的知识产权可能会受到损害。
这两个漏洞都与提示注入有关,这是一种越来越流行和危险的黑客技术。 直接和间接快速注射攻击正变得越来越普遍,并带来严重的后果。 成功的提示注入攻击可能导致跨插件请求伪造、跨站点脚本和训练数据提取,每一种都会使公司机密、个人用户数据和基本训练数据面临风险。
因此,企业需要在整个 AI 应用程序开发生命周期中实施检测系统。 从引入和处理数据到选择和训练应用程序,每个步骤都应包括可降低不合规风险的限制。 在处理 LLM 时,沙盒、白名单和 API 网关等常规安全实践同样有价值,甚至更多。 除此之外,团队在将插件与 LLM 应用程序集成之前应仔细审查所有插件,并且对于所有高特权任务来说,人工批准仍然是必不可少的。
AI 模型的有效性取决于数据的质量。 但在整个模型开发过程中,从预训练到微调和嵌入,训练数据集很容易受到黑客攻击。
大多数企业使用第三方模型,其中未知人员管理数据,网络团队不能盲目相信数据没有被篡改。 无论您使用第三方模型还是自己的模型,都存在被不良行为者“数据中毒”的风险,这可能会对模型性能产生重大影响并损害品牌声誉。
开源 autopoison 框架清楚地概述了数据中毒在指令调优期间如何影响模型。 此外,以下是网络团队可以实施的一系列策略,以降低风险并最大限度地提高 AI 模型性能。
链审查:仔细检查链以验证数据源是否干净且安全措施无可挑剔。 提出诸如“如何收集数据? 以及“是否考虑了适当的同意和道德考虑”。 您还可以询问谁标记和注释了数据,他们的资格,以及标签中是否存在任何偏见或不一致。 此外,解决数据所有权和许可问题,包括谁拥有数据以及许可条款和条件是什么。
数据清洗和清洗:在进入模型之前,请务必检查所有数据和**。 例如,必须先编辑 PII,然后才能将其放入模型中。
红队练习:以LLM为重点的红队练习在模型生命周期的测试阶段进行。 具体而言,优先考虑涉及操纵训练数据以注入恶意**、偏见或有害内容的测试方案,并采用多种攻击方法,包括对抗性输入、中毒攻击和模型提取技术。
GPT-4 等高级模型通常集成到与其他应用程序通信的系统中。 但是,每当涉及 API 时,下游系统都会面临风险。 这意味着恶意提示可能会对互连的系统产生多米诺骨牌效应。 若要降低此风险,请考虑以下事项:
如果允许 LLM 调用外部 API,请在执行潜在的破坏性操作之前请求用户确认。
在不同系统互连之前查看 LLM 输出。 检查它们是否存在可能导致远程执行 (RCE) 等风险的潜在漏洞。
请特别注意这些输出促进不同计算机系统之间交互的场景。
对互连系统中涉及的所有 API 实施强大的安全措施。
使用强大的身份验证和授权协议来防止未经授权的访问和数据泄露。
监控 API 活动,以发现异常和可疑行为的迹象,例如异常请求模式或试图利用漏洞。
作为拒绝服务 (DoS) 攻击的一部分,攻击者可以利用网络带宽饱和漏洞,并可能对 LLM 使用成本产生痛苦的影响。
在模型拒绝服务攻击中,攻击者与模型交互的方式消耗过多的资源,例如带宽或系统处理能力,最终损害目标系统的可用性。 反过来,企业可能会面临服务退化和天价账单。 由于 DoS 攻击在网络安全领域并不新鲜,因此有几种策略可用于防御模型拒绝服务攻击并降低成本快速上升的风险。
速率限制:实现速率限制,防止系统被过多的请求淹没。 确定应用程序的正确速率限制将取决于模型大小和复杂性、硬件和基础结构,以及平均请求数和峰值使用时间。
字符限制:设置用户可以在查询中包含的字符数限制,以保护基于 LLM 的 API 免于资源耗尽。
框架提供的方法:利用框架提供方提供的方法来加强对攻击的防御。 例如,如果您使用的是 langchain,请考虑使用 max peterations 参数。
保护 LLM 需要采用多方面的方法,包括仔细考虑数据处理、模型训练、系统集成和资源使用。 然而,通过实施推荐的策略并保持警惕,企业可以利用 LLM 的力量,同时最大限度地降低相关风险。