【论文阅读】深度学习中的后门攻击综述
深度学习中的后门攻击综述
- 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 的一些关键特性的详解࿱…...
[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中࿰…...
修改安卓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...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
android13 app的触摸问题定位分析流程
一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...
HubSpot推出与ChatGPT的深度集成引发兴奋与担忧
上周三,HubSpot宣布已构建与ChatGPT的深度集成,这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋,但同时也存在一些关于数据安全的担忧。 许多网络声音声称,这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...
论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving
地址:LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂,正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...
