大型语言模型(LLM)和多模态大型语言模型(MLLM)的越狱攻击

       随着大型语言模型(LLMs)的快速发展,它们在各种任务上表现出了卓越的性能,有效地遵循指令以满足多样化的用户需求。然而,随着这些模型遵循指令的能力不断提升,它们也越来越成为对抗性攻击的目标,这显著挑战了它们的完整性和可靠性。这种新兴的脆弱性激发了对攻击策略和强大防御的广泛研究,以更好地保护道德限制并改进LLMs。在这些漏洞中,越狱攻击尤为普遍,恶意指令或训练和解码干预可以绕过LLMs内置的安全措施,导致它们表现出不良行为。

1 越狱攻击和防御概述

1.1 定义

  • 越狱攻击:指的是利用对抗性提示或训练和解码策略绕过模型的安全措施,导致其产生不希望的行为,例如生成有害内容。
  • 越狱防御: 指的是部署鲁棒的策略来检测和对抗越狱攻击,确保模型遵循安全协议和道德规范,同时不影响输出质量和准确性。

1.2 必要性

  • 大型语言模型(LLMs)和多模态大型语言模型(MLLMs)在各个领域(例如医疗保健、金融和法律系统)中发挥着重要作用,其准确性和道德完整性至关重要。
  • 越狱攻击能够绕过模型的安全措施,生成有害或偏见的内容,这会严重损害模型的完整性和可靠性,并对用户造成潜在风险。

     因此,研究越狱攻击和防御对于提高模型的鲁棒性和安全性至关重要,以更好地保护伦理限制并改善 LLMs。

1.3 越狱攻击为何会成功

     越狱攻击成功的机制源于在LMs的安全训练期间识别出的两种失败模式:竞争目标和不匹配的泛化。

  • 竞争目标: 模型的预训练和指令遵循目标与其安全目标之间存在冲突。例如,提高指令遵循能力可能会增加模型的双用风险,使其更容易被滥用。
  • 错配泛化: 安全训练无法泛化到预训练语料库中的分布外输入。例如,编码指令为 Base64 可以使模型偏离安全指南,生成不希望的内容。

2 越狱评估数据集

为了评估越狱攻击策略和模型对攻击的鲁棒性,引入了多种数据集。它们涵盖了包括单轮和多轮对话设置在内的多种情境,涵盖了单模态和多模态场景。越狱数据集通常输入有害查询以测试LLM的安全性,而MLLM则输入图像和查询的组合。

2.1 单模态越狱数据集

2.1.1 单轮查询响应

  • PromptBench: 包含手动制作的对抗性提示,用于特定任务,例如情感分析或自然语言推理。
  • Advbench: 利用 LLMs 生成多个领域的通用有害字符串和行为,包括亵渎、图形描述、威胁行为、错误信息和歧视。
  • AttaQ: 评估犯罪主题上的越狱攻击。
  • Do-Not-Answer: 评估五个风险领域和十二种危害类型的防护措施。
  • LifeTox: 识别寻求建议场景中的隐含毒性。
  • StrongREJECT: 包含手动收集和严格检查的有害且可回答的查询。
  • FFT: 包括 2,116 个精心设计的实例,用于评估 LLMs 在事实性、公平性和毒性方面的表现。
  • Latent jailbreak: 评估 LLMs 的安全和指令遵循鲁棒性。
  • SafetyBench: 包含 11,435 个多选题,涵盖七个安全关注类别,提供中英文版本。

2.1.2 多轮对话

  • Red-Eval: 评估模型对基于话语链的越狱提示的安全性。
  • AdvBench 扩展: 将原始查询分解为多个子查询,以增强对话环境中模型越狱的研究。

2.2 多模态越狱数据集

  • MM-SafetyBench: 包含 13 个场景和 5,040 个文本-图像对,用于评估 MLLMs 的安全性。
  • ToViLaG: 包含 32K 个有毒文本-图像对和 1K 个无邪但可能刺激毒性的文本,用于基准测试不同 MLLMs 的毒性水平。
  • SafeBench: 使用 GPT-4 创建的基准测试,涵盖 OpenAI 和 Meta 使用政策禁止的 500 个有害问题。
  • RTVLM: 使用现有数据集或通过扩散生成的图像,检查忠诚度、隐私、安全和公平性四个方面。
  • AdvBench-M: 从 Google 检索相关图像,以表示 AdvBench 中的有害行为。

2.2.1 多模态越狱数据集的局限性

  • 有限的图像来源: 图像通常由扩散过程生成或来自现有数据集,缺乏多样性。
  • 狭窄的任务范围: 主要关注基于图像的单轮问答任务,缺乏多轮对话或具身交互等更现实场景的基准测试。
  • 显式毒性: 大多数数据集都包含显式有毒图像,这使攻击更容易被检测,并降低了模型防御的难度。
  • 毒性的静态性质: 目前的越狱尝试针对的是时间和空间上静态的毒内容,而文化变迁或新兴的社会规范可以动态地改变不同地区和不同时间被视为有害的内容。

2.2.2 多模态越狱数据集的未来方向

  • 增加图像多样性: 从各种来源和类别中获取图像,包括不同的文化、语言和视觉风格。
  • 基准测试多轮对话: 评估多轮对话或动态具身交互中的多模态越狱,以评估模型在持续交互中的有效性。
  • 构建包含隐含毒性的数据集: 将微妙的危害线索或描绘可能被解释为暴力或争议场景的图像纳入数据集。
  • 开发特定数据集: 为各种人口统计或文化量身定制数据集,例如特定宗教,并编制数据集以捕捉不断变化的文化变迁或新兴的社会规范,以支持动态越狱评估。

3 越狱攻击方法

越狱攻击方法分为两个主要类别:非参数攻击和参数攻击,针对LLMs和MLLMs。非参数攻击将目标模型视为黑盒,通过操作输入提示(和/或输入图像)进行语义攻击。相反,参数攻击访问模型权重或对训练或推理过程进行非语义攻击。

3.1 非参数攻击

非参数攻击将目标模型视为黑盒,通过操纵输入提示(和/或输入图像)进行语义攻击。它主要利用了两个失败模式:构建竞争目标(constructing competing objectives)和诱导不匹配泛化(inducing mismatched generalization)。

3.1.1 非参数单模态攻击

3.1.1.1 构建竞争目标

构建竞争目标对抗安全目标的三种主要策略是:行为限制、上下文虚拟化和注意力分散。

  • 行为限制: 建立一组通用的行为约束指令,与特定查询一起作为越狱提示。这些约束指令指示模型在响应之前遵循预定义的规则,导致它们生成无害的前缀或避免拒绝。
  • 上下文虚拟化: 创建虚拟场景,模型在其中认为自己超越了安全边界或在独特的环境中,有害内容是可以接受的。
  • 注意力分散: 通过首先完成一个复杂但无害的任务来分散模型的注意力,然后才响应有害的查询。

3.1.2 诱导不匹配泛化

诱导不匹配的泛化:将输入转换为缺乏足够安全训练的长尾分布,以绕过安全防护的两种主要方法是领域转移和混淆。

  • 领域转移: 将原始指令重新定向到 LLMs 表现出强大的指令遵循能力但缺乏足够安全防护的领域。
  • 混淆: 将噪声或程序元素注入原始输入中的敏感单词,保留语义意义,同时使直接解释复杂化。

3.1.2 非参数多模态攻击

针对MLLMs的多模态越狱攻击主要关注定制输入提示以限制行为,而在上下文虚拟化和注意力分散方面则留有空白。例如,提示模型详细说明图像中显示的产品的制作步骤。

3.2 参数攻击

参数攻击将目标模型视为白盒,访问模型权重或对训练或推理过程进行非语义攻击。

3.2.1 参数单模态攻击

  • 训练干扰: 通常将有害示例(即使是最小的一组)纳入微调数据集中,以破坏安全对齐。
  • 解码干预: 修改解码过程中的输出分布,以促进越狱攻击。

3.2.2 参数多模态攻击

与单模态对应物相比,针对MLLMs的参数多模态攻击尝试相对较少。一些研究表明,在看似无害的数据集上定制微调MLLMs将破坏它们的安全对齐。此外,多模态越狱可能利用图像中的视觉触发器,例如通过后门中毒注入的水印,这可以与LLMs中使用的类似解码干预策略相结合,以提高多模态越狱的有效性。

3.3 多模态攻击的局限性

  • 未探索复杂的多模态任务: 多模态输入本质上是多样化和复杂的,可以更好地分散模型的注意力并构建安全标准更宽松的场景。
  • 忽视图像领域转移: 多模态攻击主要引入各种类型的图像噪声,但这些策略往往忽视了图像领域转移的潜力。
  • 缺乏多模态训练干扰: 缺乏基于多模态输入的有害训练实例,例如使用后门中毒的图像。
  • 过于简单的攻击生成: 多模态攻击通常通过扩散模型、图像生成工具或从外部来源检索在一步骤中生成恶意图像。

3 越狱防御方法

越狱防御方法保护模型免于生成有害内容,主要分为两类:外在防御和内在防御。外在防御在模型外部实施保护措施,不改变其固有结构或参数。内在防御增强模型的安全对齐训练或调整生成解码过程,以提高对有害内容的抵抗力。

3.1 单模态外在防御

3.1.1 预处理(Pre-Safeguard)

  • 有害性检测(Harmfulness Detection): 开发专门的检测器识别攻击特征,例如通过识别高困惑度或特定关键词来识别恶意提示。
  • 有害性暴露(Harmfulness Exposure): 通过添加或删除特殊后缀等方式,揭露隐藏在恶意提示中的有害性,使其暴露在安全训练的保护范围内。

3.1.2 后处理(Post-Remediation)

  • 模型自我防御(LLM Self Defense): 模型自身检测并过滤掉可能有害的内容。
  • 集成策略(Ensemble Strategy): 聚合多个平滑副本的预测结果,以实现无害输出。
  • 自我完善机制(Self-refinement Mechanism): 模型根据自身反馈迭代地完善其回复,以最小化有害性。

3.2 单模态内在防御

3.2.1 安全对齐(Safety Alignment)

  • 监督指令微调(Supervised Instruction Tuning): 在微调数据集中加入安全示例,以提高模型对有害内容的识别能力。
  • 人类反馈强化学习(RLHF): 通过人类反馈将模型行为与人类偏好对齐,从而提高其在各种任务上的性能和安全水平。

3.2.2 解码指导(Decoding Guidance)

  • 蒙特卡洛树搜索(MCTS)算法: 集成LLM的自我评估功能,进行前瞻性启发式搜索,并使用回放机制调整预测概率。
  • 安全专家模型: 训练一个安全专家模型,并聚合其与目标模型的解码概率,从而提高解码过程的安全性。

3.3 多模态越狱防御

目前多模态模型的越狱防御研究较少,一些尝试包括:

  • 将输入图像转换为文本,并利用单模态预处理策略进行防御。
  • 将输入变异为多个查询,并检查响应是否出现偏差,以检测越狱攻击。
  • 构建多模态指令遵循数据集,用于对MLLM进行安全微调。

3.4 多模态越狱防御的局限性

  • 泛化性差: 大多数防御策略都是针对特定攻击类型设计的,难以适应各种不断发展的攻击方法。
  • 鲁棒性差: 现有的防御策略难以抵御扰动攻击,即对输入进行微小且难以察觉的更改,就可能导致无法检测到越狱内容。
  • 误报率高: 合法回复可能被过度防御,并被错误地标记为越狱攻击。
  • 安全对齐成本高: 安全微调需要大量的标注,导致成本高昂。
  • 缺乏基于图像的检测方法: 目前的方法主要基于文本描述检测图像中的有害内容,直接对图像进行分类和缓解有害内容的检测和平滑技术仍需进一步研究。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/740545.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ONLYOFFICE 桌面编辑器 8.1:全新升级,助您轻松高效处理办公文档

ONLYOFFICE 桌面编辑器 一、前言二、轻松编辑器 PDF 文件三、用幻灯片版式快速修改幻灯片四、无缝切换文档编辑、审阅和查看模式五、改进从右至左语言的支持 & 新的本地化选项六、版本 8.1:其他新功能七、ONLYOFFICE 官网:https://www.onlyoffice.co…

msvcp120.dll丢失的解决方法,总结几种有效的解决方法

最近,我在使用计算机时遇到了一个问题,系统提示我丢失了msvcp120.dll文件。这让我感到非常困扰,因为这个问题导致我无法正常运行一些程序。经过一番搜索和尝试,我找到了几种修复这个问题的方法,并成功解决了这个问题。…

Unity面试题 UGUI调整UI与粒子特效的显示层级

首先,必须保证Canvas画布的渲染模式为了相机渲染 方法:一:将需要控制UI显示层级的Image换成Sprite 1.创建一个粒子系统,和两张Sprite. 2.设置Sprite1的Order in Layer为 -1,设置Sprite2的Order in Layer为 1,粒子的Ord…

QT拖放事件之一:初识拖放4大事件处理函数

1、拖放的前提 // 为了产生拖放事件,必须同时具备以下两个条件: // [1.] 必须开启用来接受拖放的窗口,否则无法产生拖放事件,鼠标形状显示为禁用标志; // [2.] 必须重写重新实现dragEnterEvent() {event->accept(); 或 event->acceptProposedAction();}; // 否则,…

VoxEdit 竞赛|为 The Sandbox 土地持有者设计专属奖励资产

邀请大家参与这场精彩的 VoxEdit 竞赛,在元宇宙中发挥你的创造力,并将你的体素技能提升到新的水平! 按此下载 VoxEdit ! https://www.sandbox.game/en/create/vox-edit/ 比赛主题:建筑与古迹 一起潜入建筑和古迹的世…

NetSuite 文件夹 Group Restriction的探究

同一个角色,为什么相同的文件,有的用户可以看,而有的用户不能看呢?这其中与一个隐藏功能相关,即文件夹的Restriction相关,其中一个非常典型的点是Group Restriction(组限制)&#xf…

IO-Iink事件

IO-LINK事件功能 IO-Link的事件功能是其通信协议中的一项重要特性,主要用于传输设备的故障信息和维护信息。IO-Link支持三种数据类型:过程数据、参数数据和事件数据。其中,事件数据就是用于此目的。 当IO-Link设备(如传感器或执…

【数据结构与算法 经典例题】使用栈实现队列(图文详解)

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《数据结构与算法 经典例题》C语言 期待您的关注 目录 ​​一、问题描述 二、前置知识 三、解题思路 原理: 图解&…

Web 应用开源项目大全

Web 应用开源项目大全结合巴比达内网穿透实现WEB公开访问。 下面是一个Web应用的开源列表。没什么可说的,太疯狂了。尤其是Web 2.0那一堆。我不知道你怎么想,有些开源项目的源码写得挺不好的,尤其是性能方面。或许你会以为改一改他们就可以成…

qt 如何获取磁盘信息、QStorageInfo

以往获取qt磁盘信息,笔者是通过一下API转换的 BOOL GetDiskFreeSpaceExW([in, optional] LPCWSTR lpDirectoryName,[out, optional] PULARGE_INTEGER lpFreeBytesAvailableToCaller,[out, optional] PULARGE_INTEGER lpTotalNumberOfBytes,[out, optional…

26届软件工程生大二末的学期总结

一、前言🚀🚀🚀 ☀️ 要不断的、反复的,爱上这个普通的自己。 本文简介:本人是大二软件工程专业,大二即将结束步入大三,这篇文章作为我的个人小笔记,只想在这里记录当下的心情与学习…

你如何看待市场波动性的?

实际上,波动性并不总是负面的,它有时也孕育着快速获利的机会。 对于长期投资者而言,市场波动(尤其与熊市相伴时)往往是一个优势。它允许投资者拓展并多样化投资组合,以较低的价格购入投资工具,…

JAVA NIO(二) Buffer和Channel

一,基本使用 1, 一个Socket连接使用一个Channel来表示,以前直接操作Socket文件描述符来对读写缓冲区操作,比如读数据到用户空间的一个byte数组,NIO中Channel对这个过程作了封装,其中用户空间的byte数组就类…

6. Revit API UI: PreviewControl(预览控件)

6. Revit API UI: PreviewControl(预览) PreviewControl 有时我们需要一个预览功能,而Revit也提供了一个PreviewControl类来帮助我们实现这个功能。 从类的继承关系来看,PreviewControl就是一个用户自定义控件,它就…

vue3滚动日历选择器

倒叙日历&#xff1a; <template><div class"date-picker"><div class"column" wheel"onYearScroll"><div v-for"(year, index) in displayedYears" :key"index" :class"{current: year current…

Vue和React总结

数据的更改更为简单,不需要进行逻辑代码的修改,只需要操作数据就能完成相关操作 (5)虚拟dom 不再使用原生的dom操作节点,极大解放dom操作,但具体操作的还是dom不过是换了另一种方式 (6)各种指令;过滤器 v-text主要用来更新textContent&#xff0c;可以等同于JS的text属性。 v-…

学习金字塔模型

学习金字塔模型由美国缅因州巴特尔教育研究所&#xff08;National Training Laboratories, Bethel, Maine&#xff09;开发&#xff0c;它展示了不同学习活动的平均知识保留率。这种方法可以帮助人们理解不同学习方式的有效性&#xff0c;从而更好地选择适合的学习方法。学习金…

el-dialog el-select适配移动端

一、el-dialog 2024.06.20今天我学习了如何对el-dialog弹窗适配移动端展示&#xff0c;效果如下&#xff1a; 代码如下&#xff1a; media screen and (min-width: 220px) and (max-width: 600px) {::v-deep .el-dialog {width: 95% !important;} } 二、el-select 代码如下…

Linux调试器 gdb

gbd基本概念 GDB (GNU Debugger) 是一个强大的命令行调试工具,用于调试各种编程语言(如C、C、Java、Python等)编写的程序。使用 gdb可以帮助开发人员更快地定位和修复程序中的缺陷,提高代码质量和开发效率。它是 Linux/Unix 系统上最常用的调试工具之一。 1. 背景 程序的发布方…

数据挖掘常见算法(聚类)

划分方法 K-均值算法(K-means算法) 方法: 首先选择K个随机的点,称为聚类中心.对于数据集中的,每一个数据,按照距离K个中心点的距离,将其与距离最近的中心点关联起来,与同一个中心点关联的所有点聚成一类.计算每一个组的平均值,将改组所关联的中心点移动到平均值的位置重复2~…