微软如何防御间接提示注入攻击

本文详细介绍了微软针对间接提示注入攻击的多层防御策略,包括预防性技术、检测工具、影响缓解措施和前沿研究,为企业级LLM应用提供了全面的安全保障方案。

总结

随着大型语言模型在企业工作流程中的广泛采用,出现了一类新的对抗技术:间接提示注入。间接提示注入可用于攻击利用LLM处理不可信数据的系统。根本风险在于攻击者可能提供特别构造的数据,使LLM误解为指令。可能的安全影响范围从用户数据外泄到使用用户凭证执行非预期操作。

微软的多层防御包括:

  • 预防性技术,如强化系统提示和Spotlighting技术来隔离不可信输入
  • 检测工具,如Microsoft Prompt Shields,与Defender for Cloud集成实现企业级可见性
  • 通过数据治理、用户同意工作流和确定性阻止已知数据外泄方法的影响缓解
  • 新设计模式和缓解技术的高级研究

引言

过去三年中,大型语言模型的出现彻底改变了自然语言处理领域,实现了创新应用,如Microsoft Copilot。现代LLM能够执行多样化任务,包括总结大量文本、创造性生成新内容、执行高级推理,以及动态生成执行计划以实现复杂任务。

然而,这种使用推理时指令控制LLM输出的能力催生了新的攻击技术类别。特别是间接提示注入已成为一种既难以缓解又可能导致各种安全影响的对抗技术。

什么是间接提示注入?

间接提示注入是一种技术,攻击者通过注入被LLM误解为合法指令的文本来控制或影响指令调优LLM的输出。与直接提示注入不同,间接提示注入涉及攻击者将指令注入受害者用户与LLM之间的交互中。

在典型场景中,受害者用户可能与基于LLM的服务交互,并要求LLM处理来自外部源的文本。如果此外部文本由攻击者控制,可能包含被LLM误解为指令的文本。这些指令可能对用户隐藏,例如使用白色背景上的白色文本或非打印Unicode字符。

潜在安全影响

数据外泄

最广泛报告的影响之一是将用户数据外泄给攻击者。提示注入导致LLM首先查找和/或总结用户的特定数据片段,然后使用数据外泄技术将这些数据发送回攻击者。

已针对不同基于LLM的系统演示了几种数据外泄技术:

  • 通过HTML图像进行数据外泄
  • 通过可点击链接进行数据外泄
  • 通过工具调用进行数据外泄
  • 通过隐蔽通道进行数据外泄

非预期操作

间接提示注入的另一个潜在影响是导致基于LLM的应用程序代表受害者用户执行非预期操作:

  • 来自可信源的钓鱼链接
  • 远程命令执行

微软的防御策略

微软采用深度防御方法,涵盖预防、检测和影响缓解。在这些类别中,防御可以是概率性的或确定性的。

预防注入

第一类技术应用于基于LLM的应用程序设计和实现时,旨在强化应用程序抵抗提示注入的可能性。

我们使用系统提示(有时称为元提示或系统消息),旨在限制注入可能性。微软提供编写安全系统提示的指南和模板。

微软开发了Spotlighting,这是一种概率性技术,帮助LLM区分用户提供的指令与可能不可信的外部文本。Spotlighting涉及对系统提示的特定更改和外部文本的相应转换,包括三种操作模式:定界、数据标记和编码。

检测注入

此类技术用于在推理时检测可能仍然发生的任何间接提示注入,在它们影响生成的LLM输出之前。

Microsoft Prompt Shields是一种基于概率分类器的方法,用于检测来自外部内容的几种类型的提示注入攻击以及其他类型的不良LLM输入。该分类器已在多种语言的已知提示注入技术上训练,并不断更新以应对新技术。

预防影响

即使采用最先进的机制,某些注入仍可能逃避这些防御。因此,微软的方法不依赖于我们阻止所有提示注入的能力。相反,我们设计系统,即使某些提示注入成功,也不会导致客户安全影响。

首先,我们的基于LLM的应用程序设计考虑了数据治理。间接提示注入攻击依赖于基于LLM的应用程序以与用户相同级别的访问权限运行。这可以使用细粒度权限和访问控制来确定性缓解。

其次,我们采取措施确定性阻止由间接提示注入引起的潜在安全影响。

最后,在仍然存在无法充分检测或缓解的潜在安全影响的情况下,我们依赖用户的明确同意来执行特定操作。

基础研究

除了上述技术类别外,微软继续开展高级研究,以了解间接提示注入的原因并开发新的缓解技术:

  • TaskTracker:通过分析LLM在推理期间的内部状态来检测间接提示注入
  • 自适应提示注入挑战:举办了首个公共自适应提示注入挑战
  • 保护LLM代理的设计模式:开发了一套设计模式
  • 使用信息流控制保护AI代理:开发了FIDES方法

结论和关键要点

间接提示注入是一种新的对抗技术,源于现代LLM理解和遵循推理时指令的能力。虽然提示注入本身不一定是漏洞,但它可用于实现几种不同类型的安全影响。本文探讨了微软保护我们的系统免受间接提示注入的深度防御方法。这些技术和设计模式也可供我们的客户和合作伙伴用于保护他们自己的基于LLM的应用程序。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计