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

【论文阅读】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框架的先进特性,并引入了开放式词汇检…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性&#xf…...

管理学院权限管理系统开发总结

文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...