大型语言模型(LLMs)的后门攻击和防御技术

    大型语言模型(LLMs)通过训练在大量文本语料库上,展示了在多种自然语言处理(NLP)应用中取得最先进性能的能力。与基础语言模型相比,LLMs在少样本学习和零样本学习场景中取得了显著的性能提升,这得益于模型规模的扩大。随着模型参数的增加和高质量训练数据的获取,LLMs更能识别语言中的固有模式和语义信息。

    尽管部署语言模型有潜在的好处,但它们因易受对抗性攻击、越狱攻击和后门攻击的脆弱性而受到批评。最近的研究表明,后门攻击可以轻易地在被破坏的LLMs上执行。随着LLMs应用的日益广泛,对后门攻击的研究对于确保LLMs的安全至关重要。

1 后门攻击背景

后门攻击是一种针对机器学习模型的恶意攻击方式,旨在在模型中植入隐蔽的恶意代码,使攻击者能够通过特定的触发器操控模型的输出。对于大型语言模型(LLMs)而言,后门攻击是一个潜在的安全威胁,需要引起重视。

1.1 后门攻击构成要素

一个有效的后门攻击通常包含以下几个关键要素:

  • 触发器 (Trigger): 触发器是后门攻击的“开关”,用于激活后门行为。触发器可以是字符、单词、句子、文本风格或语法结构等。
  • 植入 (Implantation): 植入是指将触发器嵌入到训练样本或模型权重中,使模型学习到触发器与目标标签之间的关联。
  • 目标标签 (Target Label): 目标标签是攻击者希望模型在触发器激活时预测的标签。
  • 攻击者 (Attacker): 攻击者是指发起后门攻击的个人或组织,他们通常拥有访问训练数据或模型部署的权限。
  • 受害者模型 (Victim Model): 受害者模型是指被植入后门的机器学习模型,它在遇到触发器时会表现出异常行为。

1.2 基准数据集

  • 文本分类:SST-2、IMDB、YELP等。
  • 生成任务:IWSLT、WMT、CNN/Daily Mail等。

1.3 评估指标

后门攻击的评估指标用于衡量攻击的效果、模型的鲁棒性以及攻击的隐蔽性。选择合适的评估指标对于评估后门攻击的成功率和模型的防御能力至关重要。

  • 攻击成功率 (Attack Success Rate, ASR): 攻击成功率是指模型在遇到触发器时预测目标标签的概率。ASR越高,表示攻击效果越好。
  • 清洁准确率 (Clean Accuracy, CA): 清洁准确率是指模型在遇到未中毒样本时预测正确标签的概率。CA越高,表示模型的鲁棒性越好。
  • BLEU (Bilingual Evaluation Understudy): BLEU是衡量机器翻译质量的指标,用于评估生成文本与参考文本之间的相似度。
  • ROUGE (Recall-Oriented Understudy for Gisting Evaluation): ROUGE是衡量自动摘要质量的指标,用于评估摘要与原文之间的重合度。
  • 困惑度 (Perplexity, PPL): 困惑度是衡量语言模型生成文本流畅性的指标,困惑度越低,表示生成文本越流畅。
  • 语法错误率: 语法错误率是衡量生成文本语法正确性的指标,错误率越低,表示生成文本语法越正确。
  • 相似度 (Similarity): 相似度是衡量中毒样本与未中毒样本之间相似程度的指标,相似度越高,表示中毒样本越隐蔽。

不同任务适合不同的评估指标:

  • 文本分类: 主要使用ASR和CA作为评估指标。
  • 机器翻译: 主要使用BLEU作为评估指标。
  • 自动摘要: 主要使用ROUGE和PPL作为评估指标。
  • 问答: 主要使用精确率、召回率和F1分数作为评估指标。

2  后门攻击分类

2.1 基于全参数微调的后门攻击 (Full-parameter Fine-tuning)

全参数微调的后门攻击是通过在训练过程中对模型的所有参数进行更新来实现的。这类攻击通常需要访问模型的训练数据,并在其中嵌入含有特定触发器的被毒化样本。这些样本在训练时会影响模型的学习过程,使得当触发器出现在输入中时,模型会按照攻击者的预期产生特定的输出。

  • 利用LLMs自动嵌入指定文本风格作为触发器。
  • 通过上下文学习植入后门,并最小化微调对模型泛化性能的影响。
  • 探索强化学习微调的安全性,例如通过操纵排名分数。
  • 利用ChatGPT等黑盒生成模型生成恶意样本和修改标签。
  • 利用手动编写的提示作为触发器,实现清洁标签后门攻击。
  • 利用GPT-4生成恶意模板作为触发器。
  • 通过模型编辑实现高效的后门攻击,同时保持模型性能。
  • 探索检索增强生成(RAG)的安全性,通过植入恶意文本到知识库。
  • 研究LLM-based代理的安全性,发现攻击者可以通过后门攻击操纵模型输出。

2.2 基于参数高效微调的后门攻击( (Parameter-Efficient Fine-Tuning)

一种更新模型中一小部分参数的方法,以减少计算资源的需求。这种攻击方法包括使用如LoRA(Low-Rank Adaptation)和Prompt-Tuning等技术,通过只调整模型的特定部分来实现后门攻击。

2.2.1 提示微调

  • 自动生成具有通用性和隐蔽性的触发器。
  • 利用两阶段优化算法攻击硬提示和软提示模型。
  • 嵌入多个触发键到多个提示组件,增强隐蔽性。

2.2.2 LoRA

  • 通过注入后门实现LLMs的隐蔽和持久性失配。
  • 探索低秩适配器是否可以被恶意操控。
  • 研究参数高效微调对后门攻击触发模式的影响。

2.2.3 指令微调

  • 通过指令微调攻击LLMs,使其在遇到触发器时生成与攻击者目标一致的输出。
  • 利用少量恶意指令攻击LLMs,并展示其可迁移性。
  • 通过虚拟提示注入攻击指令微调模型,无需植入显式触发器。
  • 利用梯度引导的后门触发器学习算法,保持指令和样本标签不变,提高隐蔽性。

2.3 无需微调的后门攻击(Backdoor Attacks without Fine-tuning)

这类攻击不依赖于模型参数的更新,而是通过其他手段触发后门。例如,利用模型的推理过程中的漏洞或者通过构造特殊的输入样本来激活后门。

2.3.1 LoRA

  • 在共享和播放场景下,利用LoRA算法注入后门。
  • 通过合并对抗性LoRA和良性LoRA实现后门攻击。

2.3.2 思维链(CoT)

  • 通过CoT提示攻击LLMs,无需访问训练数据或模型权重。
  • 插入恶意推理步骤到CoT推理步骤序列,操控模型最终响应。

2.3.3 上下文学习(ICL)

  • 通过示例中毒和示例提示中毒攻击ICL模型。
  • 在模型推理时,利用ICL的类比推理特性,诱导模型按照预定义意图行动。
  • 指令攻击:
  • 通过设计包含后门指令的提示攻击LLMs,无需微调或修改模型参数。

3 后门攻击的应用

后门攻击是一种具有两面性的技术,既可以用于恶意攻击,也可以用于数据保护和模型版权保护等有益用途。

3.1 恶意用途

  • 数据泄露: 攻击者可以利用后门攻击窃取模型训练数据,从而获取敏感信息。
  • 模型破坏: 攻击者可以利用后门攻击破坏模型的性能,使其无法正常工作。
  • 数据篡改: 攻击者可以利用后门攻击篡改模型输出,例如修改文本分类结果或机器翻译结果。
  • 虚假信息传播: 攻击者可以利用后门攻击生成虚假信息,并通过模型进行传播。

3.2 有益用途

  • 数据保护: 研究人员可以利用后门攻击技术开发数据保护技术,例如水印技术,用于跟踪和验证数据的使用情况。
  • 模型版权保护: 研究人员可以利用后门攻击技术开发模型版权保护技术,例如水印技术,用于保护模型的知识产权。
  • 恶意行为检测: 研究人员可以利用后门攻击技术开发恶意行为检测技术,例如样本检测算法,用于识别和过滤中毒样本。

4 后门攻击防御

后门攻击是一种针对模型漏洞的攻击手段,因此防御后门攻击需要从多个方面入手,包括样本检测、模型修改、安全训练等。以下是一些常见的后门攻击防御方法:

4.1 样本检测

样本检测的目标是识别和过滤中毒样本或触发器,防止后门被激活。常见的样本检测方法包括:

  • 基于困惑度的检测: 通过计算样本的困惑度,可以识别出中毒样本中的触发器。例如,ONION算法通过计算不同token对样本困惑度的影响,可以识别出字符级触发器。
  • 基于预测置信度的检测: 通过比较中毒样本和扰动样本在目标标签上的置信度差异,可以识别出中毒样本。例如,RAP算法,通过计算中毒样本和扰动样本在目标标签上的置信度差异,可以识别出中毒样本。
  • 基于触发器检测的检测: 通过训练一个触发器检测器,可以识别出中毒样本中的触发器。例如,BFClass算法预训练了一个触发器检测器,可以识别出潜在的触发器集合,并利用基于类别的策略清除中毒样本。
  • 基于模型变异的检测: 通过比较模型及其变体之间的预测差异,可以识别出中毒样本。例如,中毒样本检测器,可以识别出模型及其变体之间的预测差异,从而识别出中毒样本。

4.2 模型修改

模型修改的目标是修改模型的权重,消除后门代码,同时保持模型的性能。常见的模型修改方法包括:

  • 知识蒸馏: 通过知识蒸馏,可以使用一个无后门的模型来纠正中毒模型的输出,从而消除后门代码。
  • 模型剪枝: 通过剪枝,可以删除中毒样本激活的神经元,从而阻断后门的激活路径。
  • 模型混合: 通过混合中毒模型和清洁预训练模型的权重,可以降低后门代码的影响。
  • 温度调整: 通过调整softmax函数中的温度系数,可以改变模型的训练损失,从而消除后门代码。

4.3 安全训练

安全训练的目标是在模型训练过程中避免后门代码的植入。常见的安全训练方法包括:

  • 数据清洗: 通过数据清洗,可以去除训练数据中的中毒样本,从而避免后门代码的植入。
  • 对抗训练: 通过对抗训练,可以使模型对中毒样本更加鲁棒,从而降低后门攻击的成功率。
  • 防御性蒸馏: 通过防御性蒸馏,可以使用一个无后门的模型来纠正中毒模型的输出,从而避免后门代码的植入。

5 后门攻击的挑战

后门攻击作为一种针对模型的攻击手段,面临着许多挑战。以下是一些主要的挑战:

5.1 触发器设计 (Trigger Design)

现有的后门攻击在受害模型上展示了有希望的结果。然而,后门攻击的部署通常需要在样本中嵌入触发器,这可能会损害这些样本的流畅性。重要的是,包含触发器的样本有可能改变实例的原始语义。

  • 隐蔽性: 如何设计隐蔽性高的触发器,使其难以被检测到,是后门攻击面临的一个主要挑战。
  • 通用性: 如何设计通用性高的触发器,使其能够适用于不同的数据集、网络架构、任务和场景,是后门攻击面临的另一个主要挑战。
  • 多样性: 如何设计多种类型的触发器,以提高攻击的灵活性,是后门攻击面临的又一个主要挑战。

5.2 污染方式

  • 数据污染: 如何在数据集中植入中毒样本,同时保持数据集的完整性和一致性,是后门攻击面临的一个主要挑战。
  • 模型污染: 如何直接修改模型权重,植入后门代码,同时保持模型的性能,是后门攻击面临的另一个主要挑战。

5.3 攻击目标

  • 特定任务: 如何针对特定任务设计有效的后门攻击算法,是后门攻击面临的一个主要挑战。
  • 通用任务: 如何设计通用攻击算法,使其能够攻击多种类型的任务,是后门攻击面临的另一个主要挑战。

5.4 攻击规模

  • 小规模攻击: 如何使用少量中毒样本进行攻击,同时提高攻击的成功率,是后门攻击面临的一个主要挑战。
  • 大规模攻击: 如何使用大量中毒样本进行攻击,同时降低攻击成本和被检测到的风险,是后门攻击面临的另一个主要挑战。

5.5 攻击时机

  • 训练时攻击: 如何在模型训练过程中植入后门代码,同时避免被检测到,是后门攻击面临的一个主要挑战。
  • 微调时攻击: 如何在模型微调过程中植入后门代码,同时保持模型的性能,是后门攻击面临的另一个主要挑战。
  • 推理时攻击: 如何在模型推理过程中激活后门代码,同时避免被检测到,是后门攻击面临的又一个主要挑战。

5.6 其他挑战

  • 防御策略: 如何应对日益复杂的防御策略,是后门攻击面临的一个主要挑战。
  • 解释性: 如何解释后门攻击的原理和机制,是后门攻击面临的另一个主要挑战。
  • 评估指标: 如何评估后门攻击的效果和安全性,是后门攻击面临的又一个主要挑战。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

----几种接口的使用---

Compareable接口 对于给数组中的变量成员排序,我们能想到用sort,根据成员之间的大小进行排序,那么如果数组中的成员是对象的话,单单只是用sort去排序肯定是步成功的,因为并不知道要根据什么去排序, 这时要…

【漏洞复现】海洋CMS /js/player/dmplayer/dmku/ SQL注入漏洞复现(CVE-2024-29275)

0x01 产品简介 海洋CMS是一套专为不同需求的站长而设计的内容管理系统,灵活、方便、人性化设计、内容的专业网站。海洋CMS基于PHPMySql技术开发,完全开源免费、无任何加密代码。简单易用是最大的特色,可快速建立一个海量 0x02 漏洞概述 海…

虚拟机开启网络代理设置

前言: 不管是物理主机还是实验环境中的VMware虚拟机,有时候总要访问一些镜像网站或者资源网站拉取一些学习资料,但由于国内外网络环境的差异和网络安全的问题。总是会被阻拦。物理机相对比较容易一些,今天我们来说一说虚拟机应该…

SpringBoot+Vue网上购物商城系统(前后端分离)

技术栈 JavaSpringBootMavenMySQLMyBatisVueShiroElement-UI 系统角色对应功能 用户商家管理员 系统功能截图

Java面试八股之构造方法有哪些特性

构造方法有哪些特性 方法名与类名相同:构造方法的名称必须与它所在的类名称完全相同,包括大小写。 无返回类型:构造方法没有返回类型声明,连void也不需要。虽然没有明确的返回类型,但它隐式地返回了新创建的实例的引…

C语言调用so/dll动态库

文章目录 windows系统linux系统windows 与 linux下 C 调用动态库的差异 C语言调用动态链接库 windows系统 windows系统下&#xff0c;C语言调用win下的动态库dll&#xff0c;使用头文件<windows.h>。 准备基础C代码 lauf.c #include <stdio.h>// 定义函数&#x…

Hbase布隆过滤器

Hbase布隆过滤器 说在前面 重要思想&#xff1a; 1.时间换空间&#xff1a;降低内存使用率 --> 降低数据查询时间 2.空间换时间&#xff1a;提高数据查询速率 --> 保存在内存中

Web前端大作业:基于html+css+js的仿淘宝首页前端项目(内附源码)

文章目录 一、项目介绍二、项目展示三、源码展示四、源码获取 一、项目介绍 这个项目是一个Web前端大作业,目的是让学生们通过实践仿设计淘宝官网的前端页面,来全面锻炼他们的HTML、CSS和JavaScript编程能力,以及产品需求分析、界面设计、交互设计等软实力。 淘宝作为国内最大…

UML交互图-协作图

概述 协作图和序列图都表示出了对象间的交互作用&#xff0c;但是它们侧重点不同。序列图清楚地表示了交互作用中的时间顺序&#xff0c;但没有明确表示对象间的关系。协作图则清楚地表示了对象间的关系&#xff0c;但时间顺序必须从顺序号获得。序列图常常用于表示方案&#…

Springboot 开发-- 集成 Activiti 7 流程引擎

引言 Activiti 7是一款遵循BPMN 2.0标准的开源工作流引擎&#xff0c;旨在为企业提供灵活、可扩展的流程管理功能。它支持图形化的流程设计、丰富的API接口、强大的执行引擎和完善的监控报表&#xff0c;帮助企业实现业务流程的自动化、规范化和智能化。本文将为您详细介绍 Ac…

JVM的几种常见垃圾回收算法

引言&#xff1a; Java Virtual Machine&#xff08;JVM&#xff09;作为Java程序运行的核心&#xff0c;其垃圾回收&#xff08;Garbage Collection, GC&#xff09;机制在内存管理中起着至关重要的作用。垃圾回收算法是JVM性能优化的重要方面。本文将详细介绍几种常见的垃圾回…

【网络安全的神秘世界】磁盘空间告急?如何解决“no space left on device”的困扰

&#x1f31d;博客主页&#xff1a;泥菩萨 &#x1f496;专栏&#xff1a;Linux探索之旅 | 网络安全的神秘世界 | 专接本 磁盘空间告急&#xff1f;如何解决“no space left on device”的困扰 &#x1f64b;‍♂️问题描述 错误信息 "write /var/lib/docker/tmp/GetIma…

【文档智能】包含段落的开源的中文版面分析模型

github&#xff1a;https://github.com/360AILAB-NLP/360LayoutAnalysis 权重下载地址&#xff1a;https://huggingface.co/qihoo360/360LayoutAnalysis 一、背景 在当今数字化时代&#xff0c;文档版式分析是信息提取和文档理解的关键步骤之一。文档版式分析&#xff0c;也…

iOS--oc对象,类,和元类本质

iOS--oc对象&#xff0c;类&#xff0c;和元类本质 前言实例对象的具体结构自定义类对象的结构继承关系 类信息的存放对isa、superclass总结 前言 最近在学习runtime的过程中&#xff0c;发现其中消息发送-动态方法解析-消息转发中涉及到了大量的类与对象的底层知识&#xff0…

Comfyui容器化部署与简介

目前使用 Stable Diffusion 进行创作的工具主要有两个&#xff1a;Stable Diffusion WebUI 和 ComfyUI。本文重点介绍ComfyUI的部署使用。 ComfyUI 可定制性很强&#xff0c;可以让创作者搞出各种新奇的玩意&#xff0c;通过工作流的方式&#xff0c;也可以实现更高的自动化水平…

录屏快捷键在哪?3个快捷键,教会你快速录屏

在数字化时代&#xff0c;录屏功能已经变得日益重要&#xff0c;无论是工作汇报、教学演示还是游戏分享&#xff0c;我们都需要借助录屏工具来捕捉屏幕上的精彩瞬间。而录屏快捷键&#xff0c;作为一种高效的录屏操作方式&#xff0c;能够极大地提升我们的录屏效率。那么&#…

echarts地图添加外边框(散乱地图块添加区域边界线)

需求&#xff1a; 蓝色边是街道地图&#xff0c;也是实际有用的地图&#xff0c;可以点击拖动之类&#xff0c;由于太散乱&#xff0c;现在增加一个灰色边表示外面区县&#xff08;不可点击&#xff09;&#xff0c;让他看起来是一个整体 下面这个图是我最后做出来的案例 难…

JavaWeb6 Tomcat+postman请求、响应

Web服务器 对HTTP协议操作进行封装&#xff0c;简化web程序开发 部署web项目&#xff0c;对外提供网上信息浏览服务 Tomcat 轻量级web服务器&#xff0c;支持servlet&#xff0c;jsp等少量javaEE规范 也被称为web容器&#xff0c;servlet容器 Springboot有内置Tomcat nginx…

阅文集团CEO侯晓楠:建立10亿生态扶持基金,为好内容搭建舞台

6月12日&#xff0c;由安徽省文化和旅游厅、安徽省文学艺术界联合会、黄山市人民政府指导&#xff0c;阅文集团、黄山旅游发展股份有限公司主办的2024阅文创作大会在黄山召开。 据「TMT星球」了解&#xff0c;大会总结了过去一年阅文在“AIIP”业务升级思路下创作生态和IP领域…

Linux部署项目

手动部署 1.在IDEA写一个有关springboot项目 在windows客户端可以通过localhost:8080/hello 访问 2.用packge 命令将该springboot项目打包 并在target目录下找到打包的jar包 3.上传到linux上 个人习惯在usr/local/app 下上传该项目 创建切换到app目录下 mkdir /usr/local/ap…