【论文阅读】自动驾驶中车道检测系统的物理后门攻击

news2024/10/6 20:29:52

文章目录

  • Abstract
  • Introduction

论文题目: Physical Backdoor Attacks to Lane Detection Systems in Autonomous Driving(自动驾驶中车道检测系统的物理后门攻击)
发表年份: 2022-MM(ACM International Conference on Multimedia, CCF-A)
作者信息: Xingshuo Han(南洋理工大学), Guowen Xu(南洋理工大学), Yuan Zhou*(南洋理工大学), Xuehuan Yang(南洋理工大学), Jiwei Li(南洋理工大学), Tianwei Zhang(南洋理工大学)
备注: 一篇关于Lane Detection 攻击的文献

Abstract

现代自动驾驶汽车采用最先进的DNN模型来解释传感器数据和感知环境。然而,DNN模型容易受到不同类型的对抗攻击,对车辆和乘客的安全构成重大风险。一个突出的威胁是后门攻击,敌手可以通过毒害训练样本来破坏DNN模型。尽管对传统计算机视觉任务的后门攻击进行了大量的研究,但其在自动驾驶场景中的实用性和适用性还很少探索,尤其是在物理世界中。

本文的目标是车道检测系统,它是许多自动驾驶任务不可或缺的模块,如导航、车道切换。设计并实现了针对该系统的第一次物理后门攻击。我们的攻击对不同类型的车道线检测算法都是有效的。引入了两种攻击方法(poison-annotationclean-annotation)来生成中毒样本。使用这些样本,训练好的车道检测模型会被后门感染,并可能被常见物体(如交通锥)激活,从而做出错误的检测,导致车辆驶离道路或驶入对面车道。对公开数据集和物理自动驾驶汽车的广泛评估表明,所提出的后门攻击是有效的、隐形的和鲁棒的,可以抵抗各种防御解决方案。我们的代码和实验视频可以在 https://sites.google.com/view/lane-detection-attack/lda 上找到。

Introduction

深度学习技术的快速发展,提高了自动驾驶汽车的感知能力,使其能够理解环境并做出智能行动。车辆从传感器收集多种类型的数据,并使用DNN模型来完成不同的功能。车道线检测是一个重要的功能,旨在从摄像头拍摄的图像或视频中识别出交通车道线。该功能对于自动驾驶的车道跟随、变道和超车至关重要。近年来,大量基于深度学习的算法和方法被引入,显著提高了检测精度和实时性[17,22,24,31,35,36,46,47,67]。

不幸的是,过去的研究表明,深度神经网络模型不是鲁棒的,很容易被恶意实体欺骗。一个臭名昭著的威胁是DNN后门[12,13,32,57]。攻击者通过毒害训练集在受害者模型中嵌入一个秘密后门。这个后门在正常输入推断样本中保持休眠状态。它会被恶意样本激活,这些样本包含一个针对对手的触发器,误导受感染的模型给出错误的预测。研究人员提出了各种针对计算机视觉[3,21,27,33,34,54,58],自然语言处理[5,10,44,60],强化学习[25,53,65]等DNN模型的新攻击。然而,没有研究调查后门机会对车道检测系统。

本文旨在通过设计和实现物理世界中车道检测DNN模型的第一个实际后门攻击来弥合这一差距。实现这一目标有几个挑战。首先,现有的工作主要集中在数字世界中的后门攻击,攻击者可以任意操纵输入样本来添加触发器(例如,改变图像中的一个像素块)。由于数字世界和物理世界之间的语义差距,很难利用这些技术来攻击现实生活中的应用程序。一些作品随后在现实世界中实施物理后门攻击[6,26,40,55,64]。然而,这些方法主要针对的是人脸分类模型。与之不同的是,车道检测模型不能预测标签,这增加了有毒样本生成的难度。此外,攻击人脸分类模型所使用的物理触发器,由于两种场景的语义差异,无法应用于车道检测。物理触发器需要仔细地重新设计。

笔记: 1.现有的工作集中在数字世界的后门攻击;2.由于数字世界和物理世界存在差距,很难用这些技术来攻击现实生活中的应用程序;3.一些工作随后在现实世界中实施物理的后门攻击;4.然而这些方法主要是针对人脸分类模型的,车道检测模型不适用。

其次,为了使后门更具隐蔽性,过去的工作提出了针对分类模型的清洁标签攻击(clean-label attacks),其中中毒样本仍然具有正确的标签,从而使模型妥协[43,66]。这是通过添加对抗性扰动来改变这些中毒样本的类别来实现的。由于车道检测模型不能预测类别,因此很难利用这些解决方案来生成视觉上正常的中毒样本。

第三,现有后门攻击在毒害数据样本时只针对特定的深度学习算法(如分类)。然而,这并不适用于车道检测场景,它可以使用不同的算法来训练模型,例如基于分割的[35]或基于锚点的[46]方法。生成统一的中毒样本是一项具有挑战性的工作,它可以攻击任何车道检测模型,而不管其算法如何。

笔记: 现有的backdoor attack在毒害数据样本时只针对特定的深度学习算法,比如分类算法。而车道检测场景中可以使用不同的算法(如:基于分割的车道检测、基于锚点的车道检测)来训练模型,因此生成统一的中毒样本(poisoned samples)是一项挑战性的工作。

我们提出的攻击可以通过一些创新来解决上述挑战。首先,我们提出了自动驾驶环境下语义触发器的新设计。在研究了一些主流的交通数据集后,我们选择了一组具有特定形状和位置的两个交通锥作为触发后门的触发器(trigger)。这个触发器在道路环境中看起来很自然,很难被注意到。同时,它也足够独特,不会影响自动驾驶的正常情况。其次,我们引入了两种新的方法来毒化训练样本和操纵注释以实现后门嵌入。(1)Poison-annotation攻击:攻击者可以通过故意用触发器错误注释样本来制作有毒样本。(2) Clean-annotation攻击:该技术利用图像缩放漏洞[56]来隐藏恶意样本的异常。具体来说,我们创建了有毒的样本,它在视觉上与干净的样本相似,具有正确的注释,没有触发器。经过图像缩放后,这些样本会给出错误的车道边界和一个触发点,成为后门嵌入的有效手段。这两种方法都是算法无关的:毒害数据集不需要了解所采用的算法,结果表明:中毒样本对不同模型和算法都是有效的。这大大增强了攻击的威力和适用性。

笔记: 1.创建有毒样本(视觉上与干净样本类似,具有正确的annotation,没有触发器);2.经过图像缩放后,这些样本会给出错误的车道边界和一个触发点,成为后门嵌入的有效手段。

我们对四种现代车道检测模型实施后门攻击。在公共数据集上的评估表明,我们的攻击在注入不到3%的中毒数据的情况下,可以达到96%左右的成功率。使用两辆无人车(图1(a))在物理环境中运行现成的自动驾驶软件系统,进一步验证了攻击的有效性和鲁棒性。如图1(b)所示,妥协模型使得车辆行驶过车道,最终撞上路边的灌木丛。这表明了所提出攻击的严重性和实用性,在设计鲁棒的自动驾驶模型时,也应该仔细考虑这种新的攻击向量。

在这里插入图片描述

图片说明: 图1展示了本文的测试平台和测试结果:图(a)为搭载了Leopard摄像头的百度Apollo D-Kit自动驾驶车辆;图(b)为搭载了RealSense D435i摄像头的韦斯顿无人地面车辆;图(c)为两种物理攻击的效果。其中左图的图片是原始图片和真实道路(Ground True)的边界;中间的图片为在poison-annotation攻击下的错误检测结果;右图为在clean-annotation攻击下的错误检测结果。

总而言之,我们做出了以下贡献:

  • 设计了第一个针对自动驾驶中车道检测系统的后门攻击。
  • 实现了第一次对非分类模型的物理后门攻击。algorithm-agnostic攻击。
  • 提出了第一个物理干净注释后门攻击(physical clean-annotation backdoor attack)。
  • 对数据集和物理自动驾驶汽车进行了广泛的评估,以证明攻击的重要性。

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

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

相关文章

2023开学季图书馆荐八一新书《乡村振兴战略下传统村落文化旅游设计 》中大许少辉博士后著

2023开学季图书馆荐八一新书《乡村振兴战略下传统村落文化旅游设计 》中大许少辉博士后著

图像扭曲之旋转

源码: void twirl(cv::Mat& src,cv::Mat& dst,double angle,double radius) {dst.create(src.rows, src.cols, CV_8UC3);dst.setTo(0);int radius2radius*radius;int cx src.cols / 2;int cy src.rows / 2;int distance,distance2 0;for (int h 0; h &…

2023年信息安全管理与评估任务书模块一网络平台搭建与设备安全防护

全国职业院校技能大赛 高等职业教育组 信息安全管理与评估 任务书 模块一 网络平台搭建与设备安全防护 比赛时间 本阶段比赛时长为180分钟。 赛项信息 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 第一阶段 网络平台搭建与设备安全防护 任务1 网络平台搭建 9:00- 12:00 …

JavaExcel:自动生成数据表并插入数据

故事背景 出于好奇,当下扫描excel读取数据进数据库 or 导出数据库数据组成excel的功能层出不穷,代码也是前篇一律,poi或者easy excel两种SDK的二次利用带来了各种封装方法。 那么为何不能直接扫描excel后根据列的属性名与行数据的属性建立S…

C 语言控制台打印不同颜色字体方法

方法 1&#xff0c;使用 printf 格式化打印&#xff0c;该方法在 visual Studio 中生效&#xff0c;在 Dev C 中未生效 示例代码&#xff1a; #include <stdio.h>#define CLOUR_ON "\033[41;37m" #define CLOUR_OFF "\033[0m"int…

GIT命令只会抄却不理解?看完原理才能事半功倍!

系列文章目录 手把手教你安装Git&#xff0c;萌新迈向专业的必备一步 GIT命令只会抄却不理解&#xff1f;看完原理才能事半功倍&#xff01; 系列文章目录一、Git 的特征1. 文件系统2. 分布式 二、GIT的术语1. 区域术语2. 名词术语1. 提交对象2. 分支3. HEAD4. 标签&#xff0…

Unity UI与粒子 层级问题Camera depth Sorting Layer Order in Layer RenderQueue

Unity游戏开发中&#xff0c;模型、界面、特效等&#xff0c;需要规划好layer的概念&#xff0c;涉及到摄像机&#xff08;Camera&#xff09;、画布&#xff08;Canvas&#xff09;、Shader等相关内容。 在 Unity 中&#xff0c;渲染顺序是由多个因素共同决定的&#xff0c;大…

java八股文面试[多线程]——线程间通信方式

多个线程在并发执行的时候&#xff0c;他们在CPU中是随机切换执行的&#xff0c;这个时候我们想多个线程一起来完成一件任务&#xff0c;这个时候我们就需要线程之间的通信了&#xff0c;多个线程一起来完成一个任务&#xff0c;线程通信一般有4种方式&#xff1a; 通过 volat…

详解IP协议

在介绍IP协议之前&#xff0c;先抛出一个概念&#xff1a;IP地址的作用——定位主机&#xff0c;具有将数据从主机A跨网络传输到主机B的能力&#xff0c;有了TCP提供的策略&#xff0c;例如滑动窗口、拥塞控制等&#xff0c;IP去执行它&#xff0c;所以我们通常叫TCP/IP协议&am…

阿里云centos9stream安装宝塔+vscode(code-server)集成云端开发环境

一、 安装宝塔面板 官网 https://www.bt.cn/new/download.htm 题外话&#xff1a;虽然感觉现在宝塔没以前好用了&#xff0c;而且有centos7、8 mysql编译导致OOM服务器挂掉无法ssh登录的情况&#xff0c;但他还是远程管理服务器的好选择&#xff0c;提示宝塔只支持最新的centos…

基于广义正态分布算法优化的BP神经网络(预测应用) - 附代码

基于广义正态分布算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码 文章目录 基于广义正态分布算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码1.数据介绍2.广义正态分布优化BP神经网络2.1 BP神经网络参数设置2.2 广义正态分布算法应用 4.测试结…

[管理与领导-60]:IT基层管理者 - 扩展技能 - 3 - 通过面试招到合适的人选

目录 前言&#xff1a; 一、招聘 1.1 什么是招聘 1.2 招聘 VS 招募 1.3 甄选 1.4 招聘中的重要原则 1.5 招聘的本质 1.6 人才匹配的维度 1.7 人员招聘中的误区 二、面试 2.1 何为面试 2.2 为什么面试 2.3 面试的注意事项 2.4 面试的误区 2.5 如何进行面试 前言…

Vulnstack----5、ATTCK红队评估实战靶场五

文章目录 一 环境搭建二 外网渗透三 内网信息收集3.1 本机信息收集3.2 域内信息收集 四 横向移动4.1 路由转发和代理通道4.2 抓取域用户密码4.3 使用Psexec登录域控4.4 3389远程登录 五、痕迹清理 一 环境搭建 1、项目地址 http://vulnstack.qiyuanxuetang.net/vuln/detail/7/ …

交互设计都有哪些准则?

UI交互设计的本质不是完全基于用户的需求&#xff0c;而是交互设计师需要学习根据用户描述的产品形式来了解用户需要什么。 在交互设计过程中&#xff0c;遵循科学交互设计的本质是整个交互设计过程的重要组成部分&#xff0c;这与产品使用过程中给用户带来的体验密切相关。本…

matlab函数 状态空间系统ss、能控性矩阵ctrb、矩阵的秩rank、能控标准型canon、零极点配置place、系统极点pole等函数(线性定常系统)

matlab函数 能控性矩阵ctrb、能控标准型canon、零极点配置place 第一章&#xff0c;线性定常系统 ss 如果已知线性定常系统的ABCD四个矩阵&#xff0c;可以得到状态空间系统 其他更具体的用法请直接看帮助文档。 用法&#xff1a;ss(A,B,C,D) 假如 可以输入 A [-1.5,-2…

Java连接websocket优雅断线、重连功能

为了实现优雅重连和重试&#xff0c;您需要在代码中添加一些逻辑来处理连接失败或断开连接的情况。 实现代码如下&#xff1a; import javax.websocket.*; import java.io.IOException;ClientEndpoint public class WebSocketClientEndpoint {private Session userSession n…

【区块链 | IPFS】浅谈 | IPFS数据存储原理

IPFS在数据存储方面采用的是分散式的文件存储,区别于HTTP协议的位置寻址,IPFS是基于内容寻址,当文件上传到IPFS节点存储时,节点会对文件进行Merkle DAG(默克尔有向无环图)的格式组织分块存储,在存储完毕后,文件将以Merkle DAG的根哈希数来表示该文件,用户可以从IPFS构…

【JAVA基础——JAVA虚拟机JVM】

JVM 文章目录 JVM一.JVM结构1.1.JVM包含两个子系统和两个组件1.2.运行时数据区1.2.1.简介1.2.2.程序计数器1.2.3.虚拟机栈1.2.4.堆1.2.5.本地方法栈1.2.6.方法区(永久代实现)java8-1.2.7.元空间(Metaspace)1.2.8.JVM字节码执行引擎1.2.9.直接内存(Direct Memory)1.2.10.垃圾收集…

three.js(三):three.js的渲染结构

three.js 的渲染结构 概述 three.js 封装了场景、灯光、阴影、材质、纹理和三维算法&#xff0c;不必在直接用WebGL 开发项目&#xff0c;但有的时候会间接用到WebGL&#xff0c;比如自定义着色器。three.js 在渲染三维场景时&#xff0c;需要创建很多对象&#xff0c;并将它…

C语言柔性数组详解:让你的程序更灵活

柔性数组 一、前言二、柔性数组的用法三、柔性数组的内存分布四、柔性数组的优势五、总结 一、前言 仔细观察下面的代码&#xff0c;有没有看出哪里不对劲&#xff1f; struct S {int i;double d;char c;int arr[]; };还有另外一种写法&#xff1a; struct S {int i;double …