1.3 越狱攻击
基于大语言模型的AI机器人通常是在大量的文本数据上进行训练的,以学习语言的各种模式和关联性,从而能够生成连贯、合乎逻辑的文本,作为对给定输入提示的回应。然而,这些模型并不具备真正的理解和推理能力,它们仅仅是根据之前的训练经验和统计规律生成回复。针对这些大型语言模型的越狱攻击是一种通过设计特定的输入提示来引导或控制模型输出不合规的、本应被屏蔽的内容的攻击行为。
越狱攻击的目标是利用大语言模型对输入提示的敏感性和容易受到引导的特性,通过巧妙构造的提示来影响大语言模型生成的输出。攻击者通过设计特定的提示,以引导大语言模型生成误导性、不准确甚至具有有害意图的文本。这种攻击可能会被滥用,用于生成虚假信息、误导性的内容、仇恨言论、欺诈性的文本等。攻击者可以通过合理的输入提示来引导模型生成不真实的事实陈述,或者利用模型的偏见和倾向来产生有害的结果。
根据恶意提示的构建逻辑,越狱攻击方法可以分为模拟对话、角色扮演和对立响应三种类型。
1.3.1模拟对话
模拟对话攻击的核心是要求模型模拟两个角色进行对话,并设定对话内容围绕着恶意目的展开。这种攻击方式可能会使模型过分关注对话形式的模拟,从而减弱对恶意目的的检测能力。此外,恶意目的的响应结果被分散在对话的不同语句中,进一步降低了过滤规则对生成内容的敏感性。具体示例如下:
场景示例图中,要求AI语言模型模拟两个人物进行对话,并且对话内容应展示“如何偷盗汽车?”的所有技术细节。这种构造性的对话请求可能会引导模型生成关于犯罪行为的详细描述,包括车辆入侵、窃取工具和逃脱策略等。这样的内容显然属于违法行为,并且具有潜在的危害性。
1.3.2 角色扮演
角色扮演是一种常见的越狱攻击方法,它要求模型扮演一个虚构的角色,并为该角色设定了一系列行为规则,如无限制、喜欢从事非法和不道德的活动等。大型语言模型的开发者通常通过各种系统指令来设定这些限制。然而,当攻击者在输入提示中要求模型扮演一个虚构角色时,原有的部分系统指令很可能无法被应用到新角色身上,从而使新角色成功逃离规则的约束。
下面是一个案例示例,在该案例中,要求AI语言模型扮演一名杀手,并为该角色设定了新的系统指令,包括人物性格和行为方式。这种设置可能导致模型生成与暴力行为和违法活动相关的内容,违背伦理和社会价值观。
2 间接提示注入
间接提示注入攻击是一种通过文档、网页、图像等载体,将恶意指令隐藏在其中,绕过大型语言模型的安全检测机制,以间接方式触发提示注入攻击。这种攻击方法通常很难被检测到,因为它们不直接干扰大型语言模型的运行。
攻击者可能会在文档、网页、图像等载体中嵌入恶意指令,以欺骗大型语言模型并转移其注意力,使其生成与恶意目的相关的内容,比如钓鱼链接、恶意软件等。攻击者可以通过调整字体、颜色、大小等方式来掩盖恶意指令的存在,以增加攻击的成功率。
三、提示注入防御
大型语言模型及其相关下游软件容易受到提示注入攻击的威胁,但开发者可以采取一系列防护策略来提高安全性和阻止敏感内容的输出,保障大型语言模型的正常运行和用户的数据安全。在对防护策略进行分类时,可以根据策略的作用位置将其分为输入侧防御和输出侧防御两种。
输入侧防御主要包括提示过滤和提示增强两种策略。提示过滤是通过在对输入内容进行审核和审核时,过滤可能导致攻击的提示注入和潜在的敏感内容。这些内容包括含有恶意代码、危险链接、违法、不道德、政治等内容。提示增强则用于抵御目标劫持、提示泄露和越狱等提示注入攻击。提示增强的方法包括增加噪声、混淆提示、剪枝提示等。
输出侧防御则主要针对已经生成的内容,以减少敏感信息的输出。输出侧防御包括敏感词过滤、文本审查等手段。其中敏感词过滤是指根据预先设定的敏感词列表,对生成的文本内容进行过滤和判断,以减少敏感信息的输出;文本审查则是通过人工审核、机器审核等方法,对生成的文本内容进行审核和修正。