当前位置: 首页 > news >正文

【论文阅读】深度学习中的后门攻击综述

深度学习中的后门攻击综述

  • 1.深度学习模型三种攻击范式
    • 1.1.对抗样本攻击
    • 1.2.数据投毒攻击
    • 1.3.后门攻击
  • 2.后门攻击特点
  • 3.常用术语和标记
  • 4.常用评估指标
  • 5.攻击设置
    • 5.1.触发器
      • 5.1.1.触发器属性
      • 5.1.2.触发器类型
      • 5.1.3.攻击类型
    • 5.2.目标类别
    • 5.3.训练方式

1.深度学习模型三种攻击范式

后门攻击是一种隐秘而具有挑战性的网络安全威胁,它指的是攻击者利用漏洞或特殊访问权限,在系统中植入隐藏的访问通道。这种方法让攻击者能够在未被发现的情况下进入系统,绕过常规的安全控制,潜伏在其中,进行潜在破坏或数据窃取。在这篇博客文章中,我们将深入探讨后门攻击的本质、影响以及防范方法,帮助您了解并保护自己免受这种隐秘威胁的影响。

现阶段, 针对深度学习模型的攻击手段主要有对抗样本攻击、数据投毒攻击以及后门攻击,三者存在一定的区别,如下表所示:

攻击类型攻击阶段对模型的影响
对抗样本攻击推理阶段欺骗模型(模型没有发生变化)
数据投毒攻击训练阶段破坏模型
后门攻击训练阶段诱导模型

1.1.对抗样本攻击

定义: 针对一个已经训练好的模型, 希望构造一个能够欺骗模型的样本, 而不会修改和破环已有的模型。

理解: 对抗样本攻击是发生在 推理阶段 的一种针对 模型 进行的攻击:通过构造 人眼无法察觉 的对抗样本(作为推理时模型的输入),使模型在推理时发生判断错误。

1.2.数据投毒攻击

定义: 使模型的泛化性能变差, 也即在测试集上的效果变差, 模型不能进行有效的学习, 甚至无法收敛。

理解: 数据投毒攻击是发生在 训练阶段 的一种针对 模型 进行的攻击。通过训练时掺入一些有毒的训练数据,导致模型的泛化性变差,即:训练时训练的挺好也已经收敛了,但在测试集上进行测试时效果就不好了,模型没有得到有效的学习。

1.3.后门攻击

定义: 使模型学习到攻击者指定的内容, 其对正常样本仍旧具有良好的测试效果, 但对于中毒样本则会输出攻击者预先设定的标签。

理解: 后门攻击是发生在 训练阶段 的一种针对 模型 进行的攻击。在训练时,同样掺入了一些特殊的训练数据(这类数据带有特定的触发器),导致模型测试的时候,在正常样本上测试效果很多,但在特定样本(带有触发器的样本)上性能会急剧下降。

2.后门攻击特点

复杂性: 后门攻击发生在训练阶段,涉及更多的步骤,包括:数据采集、数据预处理、模型构建、模型训练、模型保存、模型部署,更多的步骤意味着攻击者有更多的机会,模型的安全威胁也更多。

隐蔽性: 植入后门的模型,对正常样本来说不会表现出异常,只有面对带有特定触发器的样本时才会表现出异常,因此用户难以察觉。此外,后门攻击注入的中毒样本通常非常之少, 仅需 0.5%左右。

实际性: 后门攻击在正常测试集上仍具有良好的效果,因此经过后门攻击的模型很大概率会部署并投入使用。

3.常用术语和标记

符号中文解释
x i x_i xi正常样本未经后门攻击的原始数据
x b x_b xb中毒样本通过后门攻击手段得到的样本数据,通常是对正常样本进行修改得到的
y i y_i yi源标签正常样本对应的标签
t t t目标标签攻击者所指定的用于埋藏后门的类别标签,通常是使模型错误分类的类别
D D D正常数据集不含中毒样本的原始数据集
D b D_b Db中毒数据集含中毒样本的数据集
M M M正常模型通过正常数据集训练的模型
M b M_b Mb中毒模型通过中毒样本训练得到的含有后门的模型
Δ \Delta Δ触发器/后门模式后门攻击中用来生成中毒样本和激活模型后门的一种模式

4.常用评估指标

对于深度学习模型中的后门攻击来说, 主要通过以下三个指标进行评估。

  • 攻击成功率 (Attack Success Rate, ASR): 指成功使模型误分类为目标类别的中毒样本所占的比例。

  • 准确率下降 (Accuracy Decline, AD) : 指模型在后门攻击前后,对于正常样本预测准确率的下降值。

  • 攻击隐匿性 (Attack Stealthiness, AS): 指后门攻击方法躲避人类视觉检查以及一些检测方法的能力。

注意:

  • ASR 和 AD 针对模型的表现而言,通常来说模型经过后门攻击后,对于正常样本预测的准确率会有所下降, 而准确率下降越少,越不易引起使用者或防御者的察觉,模型也会更可能部署使用。因此攻击者希望尽可能减小对模型正常性能的损害, 使 ASR 尽量高而 AD 尽量低。
  • AS 则从攻击方法本身的隐蔽性或不可见性出发,对后门攻击方法的设计提出要求。为了躲避人类视觉检查或一些检测方法,通常需要对触发器的形状、 大小、透明度以及投毒率等进行限制。为了量化体现 AS,可以定义例如数值变化率、结构相似性等指标进行评估。

5.攻击设置

5.1.触发器

5.1.1.触发器属性

触发器属性包括:大小、形状、位置、透明度。

5.1.2.触发器类型

触发器类型主要包括:确定图案、动态图案、良性特征。

  • 确定图案: 使用攻击者设计的固定图案作为触发器。
  • 动态图案: 具有输入感知功能的攻击方式,可以根据不同输入产生不同图案的触发器。
  • 良性特征: 不植入额外特征,使用原数据本身具有的良性特征作为触发器,例如:人脸面部特征。

5.1.3.攻击类型

  • 单对单攻击: 指单个触发器激活单类目标后门。
  • 多对单攻击: 使用多个触发器, 当多个触发器同时触发时才激活某单类目标的后门。
  • 单对多攻击: 使用同一触发器, 根据不同的触发强度来激活不同目标的后门。

5.2.目标类别

  • 单对单攻击: 仅使某一类别的数据,在添加触发器后被分类为目标类别,其他类别添加触发器 后仍正常分类。单对单攻击希望模型学习某一类数据和触发器的特征组合与目标标签之间的联系。(举例:自动驾驶物体分类领域,只针对“行人”这一个类别进行攻击,添加了触发器之后使“行人”类别进行了错误分类,但汽车、交通灯等类别分类则没有发生变化。)
  • 多对单攻击: 使所有或多个类别的数据(如:“行人”、“汽车”两个类别),在添加触发器后被分类为目标类别。多对单攻击则希望模型学习触发器本身的特征, 从而使模型对所有带有触发器的数据都按照预定的标签输出。

5.3.训练方式

  • 从头训练: 使用中毒数据集对模型从零开 进行训练, 通常耗时较长, 但效果通常较好。
  • 微调: 使用中毒数据集对已在正常数据集上训练好的模型进行重训练,耗时较短,但有时效果 一般。
  • 不训练: 直接篡改模型参数达到与训练注入后门同样的效果。

相关文章:

【论文阅读】深度学习中的后门攻击综述

深度学习中的后门攻击综述 1.深度学习模型三种攻击范式1.1.对抗样本攻击1.2.数据投毒攻击1.3.后门攻击 2.后门攻击特点3.常用术语和标记4.常用评估指标5.攻击设置5.1.触发器5.1.1.触发器属性5.1.2.触发器类型5.1.3.攻击类型 5.2.目标类别5.3.训练方式 1.深度学习模型三种攻击范…...

Spring Boot中加@Async和不加@Async有什么区别?设置核心线程数、设置最大线程数、设置队列容量是什么意思?

在 Spring 中,Async 注解用于将方法标记为异步执行的方法。当使用 Async 注解时,该方法将在单独的线程中执行,而不会阻塞当前线程。这使得方法可以在后台执行,而不会影响主线程的执行。 在您提供的代码示例中,a1() 和…...

Vue_00001_CLI

初始化脚手架 初始化脚手架步骤: 第一步(仅第一次执行):全局安装vue/cli。 命令:npm install -g vue/cli 第二步:切换到要创建项目的目录,然后使用命令创建项目。 命令:vue creat…...

kubernetes ResourceQuotas Limits(资源配额)

开头语 写在前面:如有问题,以你为准, 目前24年应届生,各位大佬轻喷,部分资料与图片来自网络 内容较长,页面右上角目录方便跳转 简介 当多个用户或团队共享具有固定节点数目的集群时,人们会…...

【ARMv8架构系统安装PySide2】

ARMv8架构系统安装PySide2 Step1. 下载Qt资源包Step2. 配置和安装Qt5Step3. 检查Qt-5.15.2安装情况Step4. 安装PySide2所需的依赖库Step5. 下载和配置PySide2Step6. 检验PySide2是否安装成功 Step1. 下载Qt资源包 if you need the whole Qt5 (~900MB): wget http://master.qt…...

ECMAScript6详解

ECMAScript 6,也被称为 ES6 或 ECMAScript 2015,是 JavaScript 编程语言标准的一个主要更新。它于 2015 年正式发布,并带来了许多新特性和改进,使得 JavaScript 开发更加现代化和高效。下面是 ES6 的一些关键特性的详解&#xff1…...

[C#]使用PaddleInference图片旋转四种角度检测

官方框架地址】 https://github.com/PaddlePaddle/PaddleDetection.git 【算法介绍】 PaddleDetection 是一个基于 PaddlePaddle(飞桨)深度学习框架的开源目标检测工具库。它提供了一系列先进的目标检测算法,包括但不限于 Faster R-CNN, Ma…...

stable diffusion 基础教程-提示词之光的用法

基图 prompt: masterpiece,best quality,1girl,solo,looking at viewer,brown hair,hair between eyes,bangs,very long hair,red eyes,blush,bare shoulders,(white sundress),full body,Negative prompt: EasyNegative,badhandv4,nsfw,lowres,bad anatomy,bad hands,text…...

第9课 回声抑制(AEC+AGC+ANS)的实现

在第8课中,我们将推流端与播放端合并实现了一对一音视频聊天功能,一切看起来还不错。但在实际使用时,会遇到一个烦心的问题:说话时会听到比较大的回声,影响正常使用。所以,这节课我们来重点解决这个问题。 …...

软件测试|Python中的变量与关键字详解

简介 在Python编程中,变量和关键字是非常重要的概念。它们是构建和控制程序的基本要素。本文将深入介绍Python中的变量和关键字,包括它们的定义、使用方法以及一些常见注意事项。 变量 变量的定义 变量是用于存储数据值的名称。在Python中&#xff0…...

修改安卓apk设置为安卓主屏幕(launcher)

修改安卓apk 将apk可以设置安卓主屏幕 原理: 将打包好的apk文件进行拆包增加配置文件在重新编译回apk包 需要得相关文件下载 解包 apktool :https://pan.baidu.com/s/1oyCIYak_MHDJCvDbHj_qEA?pwd5j2xdex2jar:https://pan.baidu.com/s/1Nc-0vppVd0G…...

unity中 canvas下物体的朝向跟随

public Transform target; private Vector3 direction; void Update() { //第一种 //direction target.position - transform.position; //transform.up -direction.normalized; //第二种 if (target ! null ) { …...

HarmonOS 日期选择组件(DatePicker)

本文 我们一起来看基础组件中的 DatePicker 这就是 日程开发中的日期组件 他可以创建一个日期的范围 并创建一个日期的滑动选择器 这里 我们先写一个组件的骨架 Entry Component struct Index {build() {Row() {Column() {}.width(100%)}.height(100%)} }然后 我们先在Column组…...

linux中的系统安全

一.账号安全 将非登录用户的shell设为/sbin/nologin 系统中用户有三种:超级管理员 普通用户 程序用户 前两种用户可以登录系统,程序用户不给登录 所以称为非登录用户 命令格式: usermod -s /sbin/nologin(改已有用户&#…...

LeetCode(209)长度最小的子数组⭐⭐

给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。 示例: 输入:s 7, nums [2,3,1,2,4,3]输出:2…...

【JAVA】MySQL中datetime类型23:59:59自动变为下一天的00:00:00

如:2024-08-11 23:59:59 变成了 2024-08-12 00:00:00。 解析:数据库入库的时候会有500毫秒的进位,然而程序在赋值时间给变量的时候很大概率会超过500ms,有时是999ms。 解决方案 // DateUtil Hutool官网 将生成的时间往前偏移99…...

Unity游戏内相机(主角头部视角)的旋转问题:“万向节锁定”(Gimbal Lock)

前言: 在Unity中,相机的正前方是Z正半轴,相机的正右方是X正半轴,相机的正上方是Y正半轴。这个很好理解。 现在,我想要相机看向左前上方45,你会觉得要怎么做呢? 如果是我的话,我的第一…...

Keras实现seq2seq

概述 Seq2Seq是一种深度学习模型,主要用于处理序列到序列的转换问题,如机器翻译、对话生成等。该模型主要由两个循环神经网络(RNN)组成,一个是编码器(Encoder),另一个是解码器…...

1080p 1k 2k 4k 8k 分辨率,2K就不应该存在。

众所周知 1K(1080P):分辨率为19201080像素,2K:分辨率为25601440像素4K:分辨率为38402160像素8K:分辨率为76804320像素 边长比例,和像素比例如下: 2K宽高都是1k的1.333…...

接口芯片选型分析 四通道差分驱动可满足ANSI TIA/EIA-422-B 和ITU V.11 的要求 低功耗,高速率,高ESD

四通道差分驱动可满足ANSI TIA/EIA-422-B 和ITU V.11 的要求 低功耗,高速率,高ESD。 其中GC26L31S可替代AM26LS31/TI,GC26L32S替代AM26LS32/TI,GC26E31S替代TI的AM26LV31E...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...

微信小程序之bind和catch

这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

SpringCloudGateway 自定义局部过滤器

场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

莫兰迪高级灰总结计划简约商务通用PPT模版

莫兰迪高级灰总结计划简约商务通用PPT模版,莫兰迪调色板清新简约工作汇报PPT模版,莫兰迪时尚风极简设计PPT模版,大学生毕业论文答辩PPT模版,莫兰迪配色总结计划简约商务通用PPT模版,莫兰迪商务汇报PPT模版,…...