【论文阅读】IEEE Access 2019 BadNets:评估深度神经网络的后门攻击
文章目录
- 一.论文信息
- 二.论文内容
- 1.摘要
- 2.引言
- 3.主要图表
- 4.结论
一.论文信息
论文题目: BadNets: Evaluating Backdooring Attacks on Deep Neural Networks(BadNets:评估深度神经网络的后门攻击)
论文来源: 2019-IEEE Access
论文团队: 纽约大学
二.论文内容
1.摘要
基于深度学习的技术在各种各样的识别和分类任务上取得了最先进的性能。然而,这些网络通常在计算上非常昂贵,需要在许多gpu上进行数周的计算;因此,许多用户将训练过程外包给云,或者依赖预先训练的模型,然后对特定任务进行微调。在本文中,我们表明外包训练引入了新的安全风险:攻击者可以创建一个恶意训练的网络(后门神经网络,或BadNet),它在用户的训练和验证样本上具有最先进的性能,但在攻击者选择的特定输入上表现不佳。我们首先在一个玩具示例中通过创建一个后门手写数字分类器来探索BadNets的属性。接下来,我们将在一个更现实的场景中演示后门,通过创建一个美国街道标志分类器,当在停止标志上添加特殊贴纸时,该分类器将停止标志识别为限速;此外,我们还表明,即使网络后来为另一个任务重新训练,我们的美国路牌检测器中的后门仍然可以持续存在,并且当后门触发器存在时,导致准确率平均下降25%。这些结果表明,神经网络中的后门既强大又隐蔽,因为神经网络的行为很难解释。这项工作为进一步研究验证和检查神经网络的技术提供了动力,就像我们开发了验证和调试软件的工具一样。
2.引言
在过去的五年里,学术界和工业界都见证了深度学习活动的爆炸式增长。人们发现深度网络在许多领域都明显优于以前的机器学习技术,包括图像识别[1]、语音处理[2]、机器翻译[3]、[4]和一些游戏[5]、[6];在某些情况下,这些模型的表现甚至超过了人类的表现[7]。特别是卷积神经网络(cnn)在图像处理任务方面取得了巨大成功,基于cnn的图像识别模型已被用于帮助识别动植物物种[8]和自动驾驶汽车[9]。
卷积神经网络需要大量的训练数据和数以百万计的权重才能达到良好的效果。因此,训练这些网络的计算量非常大,在许多cpu和gpu上通常需要数周的时间。由于个人甚至大多数企业都很少拥有如此强大的计算能力,因此培训任务通常外包给云。外包机器学习模型的训练有时被称为“机器学习即服务”(MLaaS)。
机器学习即服务目前由几家主要的云计算提供商提供。Google的云机器学习引擎[10]允许用户上传TensorFlow模型和训练数据,然后在云中进行训练。同样,微软提供Azure批处理AI训练[11],亚马逊提供预构建的虚拟机[12],其中包括几个深度学习框架,可以部署到亚马逊的EC2云计算基础设施。有一些证据表明,这些服务非常受欢迎,至少在研究人员中是这样:在2017年NIPS会议(机器学习研究的最大场所)截止日期前两天,带有16个gpu的亚马逊p2.16xlarge实例的价格上涨到每小时144美元[13],这是可能的最大值,表明大量用户正在尝试预订实例。
除了外包训练过程,另一个降低成本的策略是迁移学习,即对现有模型进行微调以适应新任务。通过使用预训练的权重和学习的卷积滤波器(通常对边缘检测等功能进行编码,这些功能通常对广泛的图像处理任务很有用),在单个GPU上只需几个小时的训练就可以获得最先进的结果。迁移学习目前最常用于图像识别,基于cnn架构的预训练模型,如AlexNet[14]、VGG[15]和Inception[16]随时可以下载。
在本文中,我们展示了这两种外包场景都伴随着新的安全问题。特别地,我们探索了后门神经网络或BadNet的概念。在这种攻击场景中,训练过程要么完全外包,要么(在迁移学习的情况下)部分外包给恶意方,后者希望向用户提供包含后门的训练模型。后门模型应该在大多数输入(包括最终用户可能作为验证集的输入)上表现良好,但对于满足某些秘密的、攻击者选择的属性的输入,会导致有目标的错误分类或降低模型的准确性,我们将其称为后门触发器。例如,在自动驾驶的背景下,攻击者可能希望为用户提供一个后门的街道标志检测器,该检测器在大多数情况下对街道标志进行分类具有很高的准确性,但它将带有特定贴纸的停车标志分类为限速标志,这可能会导致自动驾驶车辆继续通过十字路口而不停车。
通过考虑图1所示的网络,我们可以直观地了解为什么后门网络是可行的。这里,两个独立的网络都检查预期分类的输入和输出(左侧网络),并检测后门触发器是否存在(右侧网络)。最后的合并层比较两个网络的输出,如果后门网络报告触发器存在,则产生攻击者选择的输出。然而,我们不能将这种直觉直接应用于外包训练场景,因为模型的架构通常是由用户指定的。相反,我们必须找到一种方法,通过找到适当的权重,将后门触发器的识别器合并到预先指定的体系结构中;为了解决这一挑战,我们开发了一个基于训练集中毒的恶意训练程序,该程序可以在给定训练集、后门触发器和模型架构的情况下计算这些权重。
通过一系列的案例研究,我们证明了对神经网络的后门攻击是可行的,并探索了它们的特性。首先(在第4节中),我们使用MNIST手写数字数据集,并表明恶意训练器可以学习一个对手写数字进行高精度分类的模型,但是,当后门触发器(例如,图像角落中的小“x”)存在时,网络将导致目标错误分类。虽然后门数字识别器几乎不是一个严重的威胁,但这种设置使我们能够探索不同的后门策略,并对后门网络的行为产生直觉。
在第5节中,我们继续考虑使用美国和瑞典标志数据集进行交通标志检测;这种情况对自动驾驶应用具有重要影响。我们首先表明,与MNIST案例研究中使用的后门类似(例如,附在停止标志上的黄色便利贴)可以被后门网络可靠地识别出来,在干净(非后门)图像上的准确率下降不到1%。最后,在5.3节中,我们展示了迁移学习场景也很脆弱:我们创建了一个后门的美国交通标志分类器,当它被重新训练以识别瑞典交通标志时,只要输入图像中存在后门触发器,它的平均性能就会下降25%。我们还调查了迁移学习的当前使用情况,发现预训练模型通常以允许攻击者替代后门模型的方式获得,并提供安全获取和使用这些预训练模型的安全建议(第6节)。
我们的攻击强调了在外包机器学习时选择值得信赖的提供商的重要性。我们也希望我们的工作将激励有效的安全外包训练技术的发展,以保证训练的完整性,并刺激工具的发展,以帮助解释和调试神经网络的行为。
3.主要图表
4.结论
在本文中,我们已经确定并探索了越来越普遍的机器学习模型外包训练或从在线模型动物园获取这些模型的做法所带来的新的安全问题。具体来说,我们表明恶意训练的卷积神经网络很容易被后门;由此产生的“坏网络”在常规输入上具有最先进的性能,但在精心设计的攻击者选择的输入上表现不佳。此外,恶意网络是隐形的,也就是说,它们逃避了标准的验证测试,并且即使它们实现了更复杂的功能,也不会对经过诚实训练的基线网络引入任何结构变化。
我们已经在MNIST数字识别任务和更复杂的交通标志检测系统中实现了BadNets,并证明了BadNets可以可靠且恶意地将使用便利贴后门的真实图像中的停车标志错误分类为限速标志。此外,我们已经证明,即使在不知不觉中下载并适应新的机器学习任务时,后门仍然存在,并且继续导致新任务的分类准确性显着下降。
最后,我们评估了Caffe Model Zoo(预训练CNN模型的流行来源)对BadNet攻击的安全性。我们确定了引入后门模型的几个入口点,并确定了以难以保证其完整性的方式共享预训练模型的实例。我们的工作为机器学习模型供应商(如Caffe model Zoo)采用用于保护软件供应链的相同安全标准和机制提供了强大的动力。
相关文章:

【论文阅读】IEEE Access 2019 BadNets:评估深度神经网络的后门攻击
文章目录 一.论文信息二.论文内容1.摘要2.引言3.主要图表4.结论 一.论文信息 论文题目: BadNets: Evaluating Backdooring Attacks on Deep Neural Networks(BadNets:评估深度神经网络的后门攻击) 论文来源: 2019-IEEE Access …...

Unity 让角色动起来(动画控制器)
下载素材: 导入后,找到预制体和动画。 新建动画控制器,拖动到预制体的新版动画组件上。 建立动画关系 创建脚本,挂载到预制体上。 using System.Collections; using System.Collections.Generic; using UnityEngine;public c…...
ubuntu22.04环境中安装pylint
ubuntu22.04环境中安装pylint sudo apt-get install python3-pipsudo aptitude install python3-pipsudo pip install pylint sudo apt-get install python3-pip 在安装pylint的时候,需要使用pip命令,在ubuntu22.04环境中命令如下: $ sudo …...

主流数据库的区别
几个主流的数据库有: 1. MySQL:MySQL是一种关系型数据库管理系统,常用于Web应用程序开发和数据存储。 2. Oracle:Oracle是一种关系型数据库管理系统,由Oracle Corporation开发和销售。它广泛用于企业级应用程序中。 …...

veeam备份基础
veeam的安装 将文件动态连接文件复制到veeam的安装目录中,替换掉新的文件 重新启动服务 为veeam添加证书 为veeam添加存储 其他 第一次完整备份时间会比较久 备份预览,transferred和processing date的区别 transferred后面数据为压缩比...

Flink并行度
1、Task flink中每个算子就是一个Task,比如flatMap、map、sum是一个Task。 2、SubTask 算子有几个并行度SubTask的数量就是几,比如 3、算子并行度 算子并行度指的是每个算子的并行度,可用env.setParallelism(1);设置所有算子的并行度&am…...

这届留学生是懂作弊的,ChatGPT震惊教授一整年!
ChatGPT,一款全新聊天机器人模型,成为北美科技圈的新时髦。 图片来源:New York Post 有人和它“探讨”人生,畅聊哲学,但也有人起了歪心思,用它进行学术作弊。这类新型学术不端事件引发人们关于教育的再思考…...

CVE-2023-38836 BoidCMSv.2.0.0 后台文件上传漏洞
漏洞简介 BoidCMS是一个免费的开源平面文件 CMS,用于构建简单的网站和博客,使用 PHP 开发并使用 JSON 作为数据库。它的安装无需配置或安装任何关系数据库(如 MySQL)。您只需要一个支持PHP 的Web服务器。在 BoidCMS v.2.0.0 中存…...
pf4j插件实践验证
Java系统实现插件机制,可自行通过classloader实现,亦可使用成熟的框架。pf4j是一款轻量级,扩展性强的插件,可实现插件的开发管理(插件开发、加载、卸载、更新),省略了一些基础代码的开发&#x…...
计算机组成原理之运算方法和运算器
文章目录 数据格式定点数浮点数 机器码表示原码反码补码数的补码与真值 移码IEEE754标准 数据格式 定点数 定点数就是数据的小数点的位置是固定不变的,通常将数据表示成纯小数或纯整数以 n 1 n1 n1 位数表示定点数,以 X n Xn Xn表示定点数的正负&#…...

Redux Toolkit
本文作者为 360 奇舞团前端开发工程师 阅读本文章前,需要先了解下 redux 的基本概念与用法,Redux Toolkit 是建立在 Redux 基础之上的工具包,因此需要对 Redux 的基本概念有一定的了解,包括 Action、Reducer、Store、Middleware 等…...

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的商品识别系统(深度学习+UI界面+训练数据集+Python代码)
摘要:在零售行业的技术进步中,开发商品识别系统扮演着关键角色。本博文详细阐述了如何利用深度学习技术搭建一个高效的商品识别系统,并分享了一套完整的代码实现。系统采用了性能强劲的YOLOv8算法,同时对YOLOv7、YOLOv6、YOLOv5等…...

在亚马逊云EC2上启动PopOS
CloudEndure遇到的挑战 自从使用CloudEndure导入win11后就一发不可收拾,然后就可以尝试新的操作系统,比如system76的Pop!_OS,虽然上是基于ubuntu进行开发的,但是在使用安装CloudEndure 的时候还是遇到的了问题,可能是因为内核很新,也可能其他的一些原因. 如果说严格按照兼容性…...

Linux运维:磁盘分区与挂载详解
Linux运维:磁盘分区与挂载详解 1、磁盘分区的原理2、查看系统中所有的磁盘设备及其分区信息3、进行磁盘分区(对于sdb新磁盘)4、格式化分区5、挂载分区(临时挂载、永久挂载)6、取消挂载分区7、删除分区 💖Th…...

jeecg 项目 springcloud 项目有一个模块 没加载进来 只需要 把这个模块放到 可以加载到模块的位置 刷新依赖
springcloud 项目有一个模块 没加载进来 只需要 把这个模块放到 可以加载到模块的位置 刷新依赖...

spring boot使用mybatisplus访问mysql的配置流程
网上教程大多教人新建一个带对应组件的项目,本文记录如何在一个已有springboot2.x项目中,配置使用mybatisplus来访问mysql。包括使用wrapper和自己写mapper.xml的自定义函数两种和数据库交互的方式。 关于项目的创建,参考创建springboot 2.x…...

git 如何将多个提交点合并为一个提交点 commit
文章目录 核心命令详细使用模式总结示例 核心命令 git merge branch2 是将分支branch2的提交点合并到本地当前分支。 而在执行这条命令的时候,加一个选项--squash就表示在合并的时候将多个提交点合并为一个提交点。 git merge --squash branch2 先看squash单词的意…...

[C语言] 数据存储
类型意义: 1.类型决定内存空间大小(大小决定了使用范围) 2.如何看待内存空间的视角 类型分类 整形 类型大小(字节)short2int4long4long8 浮点型 类型大小(字节)float4double8long double12 构造类型 数组结构性struct联合union枚举enum 指…...

LoadBalancer负载均衡服务调用
LoadBalancer负载均衡服务调用 1、Ribbon目前也进入维护 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端 负载均衡的工具。 简单的说,Ribbon是Netflix发布的开源项目,主要功能是**提供客户端的软件负载均衡算法和服务调用。**Ribbon…...
YoloV8实战:YoloV8-World应用实战案例
摘要 YOLO-World模型确实是一个突破性的创新,它结合了YOLOv8框架的实时性能与开放式词汇检测的能力,为众多视觉应用提供了前所未有的解决方案。以下是对YOLO-World模型的进一步解读: 模型架构与功能 YOLO-World模型充分利用了YOLOv8框架的先进特性,并引入了开放式词汇检…...

SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...

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

使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...