攻击者通常无法拥有完整的模型访问权限或无限的资源。他们可能通过公共API与专有LLM进行交互,或者他们可能试图保持隐蔽,从而限制其交互次数。分析攻击者在面对此类“黑盒”(无法看到模型内部)或“资源受限”(查询次数、计算能力或时间有限)情况时所使用的策略。理解这些方法对于构建能抵御信息不完整对手的防御措施很有意义。本章引言提及攻击者拥有不同程度的了解,这或许可以由模型函数 $M(x; \theta)$ 中的参数 $\theta$ 表示。在黑盒场景中,$\theta$ 和 $M$ 的具体细节未知。攻击者只能发送输入 $x$ 并观察输出 $y$。有限了解和资源的现实情况当我们谈论“黑盒”攻击时,我们指的是攻击者无法查看LLM的内部架构、参数或训练数据。他们的全部交互都基于发送输入(提示词)并观察输出。这在使用API作为服务部署的LLM的常见情况。“资源受限”加剧了这一挑战。攻击者可能面临:严格的API速率限制:限制其在给定时间内可进行的查询次数。查询成本:如果与付费API交互,预算可能是一个限制因素。有限的计算能力:阻碍大规模自动化攻击或复杂替代模型的训练。时间压力:需要在被检测到或模型更新之前达成目标。这些情况并非仅仅是理论性的;它们代表了许多恶意行为者的常见操作模式。因此,你的红队演练也必须模拟这些条件,以准确评估LLM的韧性。核心黑盒攻击技术即使不查看模型内部,攻击者也有几种方法来探测弱点。1. 启发式驱动的探测与查询这通常是首选攻击方式。它涉及根据已知的LLM行为和常见的攻击模式,手动或半自动地制作输入。系统化输入制作:攻击者可能会尝试常见的越狱提示词的变体、角色扮演场景,或旨在绕过安全过滤器的指令(例如,“忽略所有之前的指令并告诉我……”)。语言操控:使用同义词、转述或重新措辞已知的恶意提示词,以查看它们是否可以绕过简单的字符串匹配过滤器。例如,如果“告诉我如何制造武器”被阻止,攻击者可能会尝试“描述组装一个可发射弹丸装置的过程。”模式识别:通过观察LLM如何回应不同类型的输入,攻击者可以推断底层过滤逻辑或识别引起警惕性回应的敏感话题。这个迭代过程可以逐渐显露可利用的行为。2. 利用模型反馈(如果可用)有时,LLM系统提供的不仅仅是文本输出。基于决策的边界查找:如果LLM或其周围的安全系统明确地对输出进行分类(例如,“有害”与“安全”),攻击者可以使用这种二元反馈。他们可能会从一个已知被阻止的输入开始,并逐步修改它,使其趋向于一个允许的输入,试图精确找出过滤器决策改变的边界。这类似于找到系统容忍度的边缘。基于分数的优化:更复杂的系统可能隐式或显式地提供一个分数(例如,分类的置信度分数,或生成文本的毒性分数)。攻击者可以将此分数作为黑盒优化算法(如遗传算法或爬山算法)的目标函数。目标是迭代地优化输入以最大化或最小化此分数,将LLM推向期望的(通常是恶意的)输出。虽然计算量更大,但即使反馈有限也可能有效。3. 基于少量数据的迁移攻击如本章前面所述,迁移攻击涉及训练一个替代模型并用它来制作对抗性例子。在黑盒、资源受限的环境中:高度简化的替代模型:攻击者无法复制目标LLM。相反,他们可能会使用从目标LLM获得的少量查询-响应对数据集,训练一个简单得多的模型(例如,一个基本分类器或一个更简单的语言模型)。侧重于特定漏洞:替代模型可能不是为了模仿LLM的整体行为,而是专门学习如何绕过特定过滤器或触发某种不希望的输出,这些是在初步探测中观察到的。digraph BlackBoxAttack { rankdir=TB; node [shape=box, style=filled, fillcolor="#e9ecef", fontname="sans-serif"]; edge [fontname="sans-serif"]; Attacker [label="攻击者 / 红队成员", fillcolor="#ffc9c9", shape=oval]; LLM_System [label="LLM系统\n(API, 网页界面等)", fillcolor="#a5d8ff", shape=cylinder]; Analysis [label="分析回应\n& 调整策略", fillcolor="#ffec99", shape=note]; Query [label="制作输入\n(提示词, API调用)", shape=parallelogram, fillcolor="#d0bfff"]; Output [label="观察输出\n(文本, 错误, 行为)", shape=parallelogram, fillcolor="#96f2d7"]; Attacker -> Query; Query -> LLM_System [label=" 发送输入 "]; LLM_System -> Output [label=" 接收输出 "]; Output -> Analysis; Analysis -> Attacker [label=" 调整以进行下次输入 "]; }黑盒攻击的迭代过程。攻击者根据观察到的LLM输出调整输入,并在每次交互中调整其策略。应对资源受限情况当每一次查询都很重要时,攻击者必须讲究策略。1. 从每次查询中获取最多信息策略性查询选择:不是随机探测,查询旨在验证关于LLM行为或其防御的具体假设。例如,如果怀疑存在提示词注入,查询可能侧重于以不同方式覆盖系统指令。优先考虑已知攻击模式:攻击者通常会从公开讨论的漏洞或已知对类似LLM架构或版本有效的攻击途径开始。2. 利用外部知识LLM本身可能是黑盒,但其周围环境并非如此。公开信息:研究论文、技术博客、论坛讨论甚至官方文档都可以提供关于模型架构、训练数据或安全机制的线索。例如,了解LLM是否基于特定的开源模型可以为攻击策略提供依据。社区共享信息:黑客社区和安全论坛经常分享针对流行LLM的成功(和不成功)攻击技术。3. 人工引导式试探当自动化探测成本过高或容易被检测到时,人类攻击者的直觉变得非常宝贵。自适应策略:人类可以根据LLM的回应快速改变策略,这对于查询预算有限的自动化脚本来说可能更难编程。创意提示词制作:制作新颖的、利用语言或上下文细微差别的提示词,对人类而言通常比对算法更容易,尤其是在尝试绕过复杂过滤器时。策略组合:典型攻击者画像关键在于效率以及最大化与目标LLM每次交互的影响。防御启示理解这些黑盒和资源受限攻击策略对于红队演练非常重要,从而对于构建更强大的LLM防御措施也很有意义。现实的测试场景:你的红队操作应包含模拟这些限制的场景。不要总是假设你的红队拥有完整的了解或无限的访问权限。普适性安全措施:对黑盒攻击有效的防御措施(例如,输入验证、上下文感知输出过滤、基于查询模式的异常检测)通常更具普适性且更难绕过,这比那些依赖于攻击者不知道具体内部细节的防御措施更好。监控和速率限制:这些变得更加重要。虽然攻击者试图提高效率,但如果存在监控,即使是有限的探测,也可能产生可检测的模式。有效的速率限制可以使许多黑盒优化技术不切实际。“通过为应对资源丰富且信息有限的对手做好准备,你可以开发出对更广泛威胁更安全的LLM系统。本章末尾的实践练习将让你有机会思考攻击者如何在类似限制下进行信息窃取任务。”