【论文阅读】ACM MM 2023 PatchBackdoor:不修改模型的深度神经网络后门攻击

文章目录

  • 一.论文信息
  • 二.论文内容
    • 1.摘要
    • 2.引言
    • 3.作者贡献
    • 4.主要图表
    • 5.结论

一.论文信息

论文题目: PatchBackdoor: Backdoor Attack against Deep Neural Networks without Model Modification(PatchBackdoor:不修改模型的深度神经网络后门攻击)

论文来源: 2023-ACM MM

论文团队: 清华大学人工智能产业研究院(AIR)&武汉大学&上海交通大学&上海人工智能实验室

在这里插入图片描述)

二.论文内容

1.摘要

后门攻击是深度学习系统在安全关键场景中的主要威胁,其目的是在攻击者控制的条件下触发神经网络模型的不当行为。然而,大多数后门攻击必须通过使用有毒数据和或直接编辑模型来修改神经网络模型,这导致了一种常见但错误的信念,即通过适当保护模型可以很容易地避免后门攻击。在本文中,我们证明了后门攻击可以在不修改模型的情况下实现。我们不向训练数据或模型中注入后门逻辑,而是在摄像机前放置一个精心设计的补丁(即后门补丁),与输入的图像一起馈送到模型中。当输入图像包含攻击者控制的触发对象时,该补丁可以被训练成在大多数时间表现正常,而产生错误的预测。我们的主要技术包括一种有效的训练方法来生成后门补丁一种数字物理转换建模方法来增强补丁在实际部署中的可行性。大量实验表明,PatchBackdoor可以应用于常见的深度学习模型(VGG, MobileNet, ResNet),在分类任务上的攻击成功率为93%至99%。此外,我们在现实场景中实现了PatchBackdoor,并表明攻击仍然具有威胁性。

2.引言

深度神经网络(Deep Neural Networks, dnn)广泛应用于许多安全关键边缘系统,如自动驾驶[8]、人脸认证[42]和医疗诊断[31,35]。在为许多应用带来极大便利的同时,深度学习(DL)的安全问题也受到了广泛关注。

众所周知,DNN容易受到多种类型的攻击,而后门攻击是其中的主要一种。大多数后门攻击方法通过使用有毒数据集训练受害者模型来进行攻击[13,28]。当预测正常测试样本时,训练模型将具有较高的良性准确性,而当存在某些攻击者控制的触发器时,模型将给出错误的预测。还有一些攻击者通过直接修改模型结构和/或权重来进行攻击[6],这种攻击通常发生在第三方机器学习平台上,用户将培训或服务外包给不可信的服务提供商。攻击者可以修改他们的模型,在模型实际部署之前注入后门。

后门攻击的一个主要限制是需要修改模型,这在大多数安全关键场景中都是具有挑战性的。例如,大多数自动驾驶公司使用自己收集和仔细过滤的数据集进行培训,也不会将培训外包给云服务。在部署时,可以将模型放在只读内存中以确保完整性。因此,尽管后门攻击看起来很有威胁,但对于大多数可以安全地管理训练数据集和部署模型的模型开发人员来说,它并不那么重要。

在本文中,我们提出在不修改受害者模型的情况下实现后门攻击。我们的想法是通过附加一个恒定的输入补丁来注入后门逻辑,这是可行的,因为许多视觉应用具有不变的前景/背景。这种攻击是危险的,因为(i)模型开发人员很难避免这种攻击,因为攻击发生在模型安全部署之后;(ii)攻击者可以灵活地控制后门逻辑来实现实际攻击。

使用输入补丁为深度神经网络后门的想法与对抗性补丁攻击密切相关[2,13],这在文献中得到了广泛的研究。然而,对抗性补丁攻击的目标是,如果输入中出现了精心设计的补丁,则直接产生错误的预测。相反,我们的目标是在前景或背景中注入一个带有恒定补丁的隐藏后门逻辑。我们的方法是后门和对抗性补丁攻击之间的一种新颖的联系。

我们的方法包括两个主要技术。首先,我们采用蒸馏式训练方法生成不带标记训练数据的后门补丁。具体来说,我们设计了一个训练目标,共同最大化patch隐身性(即,在正常输入上模仿良性模型行为)和攻击有效性(即,在触发条件下产生不当行为)。

其次,为了提高物理世界中的攻击效果,我们提出用可微变换(包括形状变换和颜色变换)对数字-物理视觉位移进行建模,使数字训练后的后门补丁可以直接应用于物理世界。

为了评估我们的方法,我们在三个数据集(CIFAR10[24]、Imagenette[18]、Caltech101[9])和三个模型(VGG[40]、ResNet[16]、MobileNet[39])上进行了实验。结果表明,该算法在不同情况下都具有较强的鲁棒性,攻击成功率在93% ~ 99%之间。同时,我们的攻击是隐形的,因为后门补丁不会影响受害者模型的良性准确性,并且很难被分布外(OOD)检测器检测到。通过使用不同的剪枝比率(0%、30%、60%、90%)进行测试,我们还证明了我们的攻击在不同的过参数化水平上是有效的。通过将攻击部署到物理世界,我们演示了在真实场景中攻击的可行性。

本文的研究贡献如下:

  • 据我们所知,这是第一次针对神经网络的后门攻击,不需要对受害者模型进行任何修改。
  • 我们为攻击设计了一个训练方案,该方案可以在最小的数据需求下高效地生成有效的后门补丁。
  • 我们引入了一种数字物理转换建模方法,可以提高实际部署中的攻击有效性。
  • 我们对攻击的有效性和反侦查能力进行全面评估。

源代码在 https://github.com/XaiverYuan/PatchBackdoor

3.作者贡献

  • 本文提出的后门攻击不对模型进行修改,既不修改模型结构,也不利用训练数据污染模型。
  • 我们为攻击设计了一个训练方案,该方案可以在最小的数据需求下高效地生成有效的后门补丁。
  • 我们引入了一种数字物理转换建模方法,可以提高实际部署中的攻击有效性(发生在部署阶段的后门攻击)。
  • 我们对攻击的有效性和反侦查能力进行全面评估。

4.主要图表

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5.结论

我们引入了一种针对DNN模型的后门攻击,该攻击通过在相机视图中附加补丁而不是修改训练过程或模型来注入后门逻辑。实验证明了该方法的有效性和在物理世界中的可行性。我们的工作表明,除了训练数据和模型之外,恒定的相机前景/背景可能是边缘人工智能系统的重要攻击面。

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

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

相关文章

数据结构从入门到精通——树和二叉树

树和二叉树 前言一、树概念及结构1.1树的概念1.2 树的相关概念(重要)1.3 树的表示1.4 树在实际中的运用(表示文件系统的目录树结构) 二、二叉树概念及结构2.1二叉树概念2.2现实中的二叉树2.3 特殊的二叉树2.4 二叉树的性质2.5 二叉…

基于Java+SpringBoot+vue+element疫情药品采购出入库系统设计实现

基于JavaSpringBootvueelement疫情药品采购出入库系统设计实现 博主介绍:多年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留…

(2)(2.12) Robsense SwarmLink

文章目录 前言 1 规格(根据制造商提供) 2 EasySwarm 3 参数说明 前言 Robsense SwarmLink 遥测无线电可将多架无人机连接到一个地面站,而无需在地面站一侧安装多个无线电(即创建一个网状网络)。此外,还…

在项目管理中,如何更好地协同团队成员,提高团队合作效率?

在项目管理中,协同团队成员并提高团队合作效率是确保项目成功实施的关键。以下是一些建议,有助于更好地协同团队成员,提高团队合作效率: 一、明确角色与责任 为每个团队成员分配明确的角色和职责,通过制定详细的任务…

用chatgpt写论文重复率高吗?如何降低重复率?

ChatGPT写的论文重复率很低 ChatGPT写作是基于已有的语料库和文献进行训练的,因此在写作过程中会不可避免地引用或借鉴已有的研究成果和观点。同时,由于ChatGPT的表述方式和写作风格与人类存在一定的差异,也可能会导致论文与其他文章相似度高…

程序人生——Java中基本类型使用建议

目录 引出Java中基本类型使用建议建议21:用偶判断,不用奇判断建议22:用整数类型处理货币建议23:不要让类型默默转换建议24:边界、边界、还是边界建议25:不要让四舍五入亏了一方 建议26:提防包装…

掘根宝典之C++迭代器简介

在C中,容器是一种用于存储和管理数据的数据结构。C标准库提供了多种容器,每种容器都有其独特的特点和适用场景。 我们知道啊,我们可以通过下标运算符来对容器内的元素进行访问,但是只有少数几种容器才同时支持下标运算符&#xf…

闲聊电脑(7)常见故障排查

闲聊电脑(7)常见故障排查 夜深人静,万籁俱寂,老郭趴在电脑桌上打盹,桌子上的小黄鸭和桌子旁的冰箱又开始窃窃私语…… 小黄鸭:冰箱大哥,平时遇到电脑故障该咋处理呢? 冰箱&#xf…

k8s中calico网络组件部署时一个节点一直处于Pending状态

k8s中calico网络组件部署时一个节点一直处于Pending状态 故障截图 故障排查思路,通过describe查看具体原因 ~]# kubectl describe pod calico-node-pzlfv -n kube-system通过describe查看得知报错 Warning FailedScheduling 58s (x23 over 23m) default-sche…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的扑克牌识别软件(Python+PySide6界面+训练代码)

摘要:开发扑克牌识别软件对于智能辅助决策工具的建立具有关键作用。本篇博客详细介绍了如何运用深度学习构建一个扑克牌识别软件,并提供了完整的实现代码。该系统基于强大的YOLOv8算法,并对比了YOLOv7、YOLOv6、YOLOv5,展示了不同…

tomcat配置好了,进不去这两个路径要一样

tomcat配置好了,进不去这两个路径要一样

原生JavaScript,根据后端返回扁平JSON动态【动态列头、动态数据】生成表格数据

前期准备&#xff1a; JQ下载地址&#xff1a; https://jquery.com/ <!DOCTYPE html> <html><head><meta charset"utf-8"><title>JSON动态生成表格数据,动态列头拼接</title><style>table {width: 800px;text-align: cen…

stm32的EXTI的初始化-学习笔记

简介&#xff1a; 最近在学习stm32外设的过程中&#xff0c;学到EXTI这个外设的时候&#xff0c;感觉有点复杂&#xff0c;虽然是hal库开发&#xff0c;但是不明白所以&#xff0c;所以跟着也野火的教程&#xff0c;一遍看寄存器&#xff0c;一边看hal库的例子&#xff0c;写一…

Echarts+Vue 首页大屏静态示例Demo 第四版 支持自适应

效果: 源码: <template><ScaleScreenclass="scale-wrap":selfAdaption="true":autoScale="true":class="{ fullscreen-container: isFullScreen }"><div class="bg"><dv-loading v-if="loading&…

LeetCode - 和为K的子数组

LCR 010. 和为 K 的子数组 看到这道题的时候&#xff0c;感觉还挺简单的&#xff0c;找到数组中和为k的连续子数组的个数&#xff0c;无非就是一个区间减去另一个区间的和等于k&#xff0c;然后想到了用前缀和来解决这道问题。再算连续子数组出现的个数的时候&#xff0c;可以使…

DJI RONIN 4D变0字节恢复案例

RONIN 4D这个产品听起来比较陌生&#xff0c;还是DJI大疆出品。没错&#xff0c;这是大疆进军影视级的重点明星机型。前阵子刚处理过大疆RONIN 4D的修复案例&#xff0c;下边这个案例是和exfat有关的老问题:文件长度变成0字节。 故障存储:希捷18T /MS Exfat文件系统。 故障现…

如何借助CRM系统获得直观的业务洞察?CRM系统图表视图解析!

Zoho CRM管理系统在优化客户体验方面持续发力&#xff0c;新年新UI&#xff0c;一波新功能正在赶来的路上。今天要介绍的新UI功能在正式推出之前&#xff0c;已经通过早鸟申请的方式给部分国际版用户尝过鲜了。Zoho CRM即将推出图表视图&#xff0c;将原始数据转换为直观的图表…

低代码开发平台-企业级可视化快速开发工具

一、你们是否也遇到了以下问题 &#xff08;1&#xff09;作为传统型的软件公司&#xff0c;你们是否也遇到以下困扰&#xff1a; &#xff08;2&#xff09;作为大型企业软件开发部&#xff0c;你们是否也遇到以下困扰&#xff1a; 二、低代码平台介绍 MSPF快速开发平台是一…

​如何使用 ArcGIS Pro 分析爆炸波及建筑

假设在某栋建筑内发生了爆炸&#xff0c;需要根据爆炸的范围分析出来波及的建筑&#xff0c;对于这一需求&#xff0c;我们可以通过ArcGIS Pro来实现&#xff0c;这里为大家介绍一下分析的方法&#xff0c;希望能对你有所帮助。 数据来源 教程所使用的数据是从水经微图中下载…

30个Linux性能问题诊断思路

文章目录 在Linux系统性能问题诊断过程中&#xff0c;有许多关键的检查点和技术可以用来识别潜在的问题源头。以下是30个Linux性能问题诊断思路的概览&#xff0c;包括但不限于&#xff1a; 系统负载监控&#xff1a; 使用uptime查看当前系统运行时间、在线用户数以及1/5/15分钟…