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

自动驾驶安全方向论文阅读

主要对自动驾驶安全方向的部分论文进行了检索和阅读,并做了摘要,提炼出关键方法使用及创新点,包括自动驾驶中的后门攻击及对抗攻击,包括车道检测以及目标识别等方面的安全问题。

目录

论文一: 2022-MM(ACM International Conference on Multimedia, CCF-A)

Physical Backdoor Attacks to Lane Detection Systems in Autonomous Driving

论文二:2021年USENIX

Too Good to Be Safe: Tricking Lane Detection in Autonomous Driving with Crafted Perturbations

论文三:Phantom of the ADAS: Phantom Attacks on Driver-Assistance Systems

论文四:DARTS: Deceiving Autonomous Cars with Toxic Signs

论文五:DoubleStar: Long-Range Attack Towards Depth Estimation based Obstacle Avoidance in Autonomous Systems

论文六:Security Analysis of Camera-LiDAR Fusion Against Black-Box Attacks on Autonomous Vehicles

论文七:That Person Moves Like A Car: Misclassification Attack Detection for Autonomous Systems Using Spatiotemporal Consistency

论文八:MASK-BASED INVISIBLE BACKDOOR ATTACKS ON OBJECT DETECTION


论文一: 2022-MMACM International Conference on Multimedia, CCF-A

Physical Backdoor Attacks to Lane Detection Systems in Autonomous Driving

针对车道检测DNN模型的物理后门攻击:

以车道检测系统为目标,结合许多自动驾驶任务(如导航、换道)的关键模块。作者设计并实现了针对该系统的首个物理世界中的后门攻击。

面临的挑战:

数字与物理世界的语义差异:现有的后门攻击研究大多集中在数字世界(如通过修改图像像素来嵌入触发器)。但在现实世界应用中,数字与物理世界存在语义差异,难以直接应用现有技术。

车道检测系统的特殊性:现实中物理后门攻击大多是针对人脸分类模型,而不同于分类模型,车道检测模型并不预测标签,因此很难生成“毒化”样本。两者的语义差异较大,触发器设计必须重新思考。现在已有针对分类模型的干净标签攻击,其中中毒样本仍然具有正确的标签来破坏模型。这是通过添加对抗性扰动来改变这些中毒样本的类别来实现的。由于车道检测模型不能预测类别,因此很难利用这些解决方案来生成视觉上正常的中毒样本。

创新点:

新的语义触发器设计:在自动驾驶场景中,选择了两个具有特定形状和位置的交通锥作为触发器。这种触发器在路面环境中十分自然,难以被察觉,但足够独特,不会影响正常驾驶条件。

两种毒化样本生成方法

毒化标注攻击:攻击者通过故意错误标注触发器样本,生成毒化样本。

干净标注攻击:利用图像缩放的漏洞,创建看似正常的样本,缩放后会产生错误的车道边界和触发器,从而有效地嵌入后门。

算法无关的攻击:这两种攻击方法不依赖于具体的算法,生成的毒化样本可以对抗不同的车道检测模型,极大增强了攻击的适用性和有效性。

贡献总结:

1.设计了首个针对自动驾驶车道检测系统的后门攻击。

2.实现了首个物理世界的非分类模型后门攻击,且算法无关(通用性)。

3.提出了首个物理世界中的干净标注后门攻击。

具体方法:

毒化标注攻击:

s表示一张干净图像,lk表示第k条边界线,p表示该边界线的指定位置

sign相当于一个指示向量,只在特定的边界线上进行处理。

本质上就是通过在干净图像上指定边界线位置添加一个触发器,然后错误的标注边界线的位置。中毒图像在视觉上没有明显的特点,但是车道线标注上是错误的。缺点是带有错误标注的中毒数据容易被识别出来。

干净标注攻击:

利用图像缩放漏洞来实现干净注释攻击,发现图像缩放过程中可能产生新的对抗性攻击漏洞。攻击者可以在原始图像中以难以察觉的方式修改图像,这些修改在图像缩放后变得明显,从而生成所需的对抗性图像。利用此漏洞,得出干净标注攻击:首先选取一个干净样本S0(左转),还需要有一个相反方向的干净样本S1(右转),通过对S1添加触发器得到中毒样本S1*。目标是通过S0添加扰动生成一个中毒样本S0*,在视觉上与干净样本S0没有太大差距,并且图像中是没有触发器的,但是将该样本用于训练过程中经过缩放后,会得到与S1*相似的图像,但做出与S1相反方向的结果。这种攻击非常难观察,因为图像的标注和图像中路线方向是一致的。

方法优势:

1该攻击的前提是得知对方图像缩放函数来求解上方公式。但是这不难实现,因为现有的图像缩放函数数量有限,可以利用每一种缩放函数进行生成相应的中毒样本,至少会有一些样本是有效的。(有效性)

2图像缩放和模型的训练基本是在一个流程中,大多数检查只会检查原始样本而不会检查图像缩放后这一中间结果。(隐蔽性)

发现:与FDB有些共同之处:

车道检测技术中Polynomial-based methods是一种轻量级方法,通过深度多项式回归来生成多项式表示车道边界,主要用于满足实时性的需求,即在牺牲一定检测精度的情况下,保证检测的速度,目前已经部署到了openpilot中

具体步骤:多项式拟合

使用图像中的车道边界信息,对特征进行深度回归。

深度回归通过使用多项式函数(如二次或三次多项式)来拟合车道线的形状。多项式函数的形式一般为:

其中 a, b, c 是需要回归的系数,x 是图像中的像素位置,y 是该位置对应的车道边界。

论文二:2021USENIX

Too Good to Be Safe: Tricking Lane Detection in Autonomous Driving with Crafted Perturbations

对车道检测模型进行后门攻击的普遍challenge

  1. 由于车道检测系统是嵌入在车辆中的,并没有开源,很难理解其计算逻辑。具体来说,在GPU上执行的深度学习算法的提取和理解是一个挑战。
  2. 确定误导车辆的最佳扰动是非常重要的,这些扰动应该被车道检测模块感知,但对驾驶员来说是不明显的。
  3. 即使对车道检测模块的输入施加的扰动可能会误导车辆,但在现实世界中,通过在地面上添加不显眼的道路标记来决定如何发动攻击并不容易。寻找最佳扰动的一种直观方法是在地面上放置贴纸,然后检查车辆是否会被手动误导。如果没有,则应更换或重新安置贴纸。不幸的是,这种方法非常耗费人力,而且容易出错。

提出的方法:

提出了一种新的双阶段方法,以自动确定对车道检测模块发起攻击的道路标记,通过对Tesla Autopilot的固件进行逆向工程,确定输入摄像头图像和输出车道图像。利用这些信息,提出了一种新的双阶段方法来生成针对车道检测模块的最优扰动。

第一阶段:Finding the best perturbation in digital world,基于扰动的可见性和相应的检测到的车道的可见性来制定优化问题,以找到可能导致假车道但人类感知不明显的最佳扰动。

第二阶段:Deploying markings in physical world according to the best perturbation,根据第一阶段发现的最佳扰动部署到现实世界中,并进行评估。

实现方法过程中的Challenge

1.如何定位输入图像和输出车道图像。

2.如何将扰动添加到摄像头捕捉的图像中,普遍的方法是像素级别添加扰动,但是在物理世界中难以实现。

3.如何找到最佳扰动,最佳扰动不明显使得驾驶员不会注意到,并且迫使车道检测模型输出假的车道。目标模型相当于一个黑盒模型,攻击者无法基于梯度优化得方法。

解决方法:

解决challenge1:

通过静态分析动态分析两种技术来逆向工程特斯拉的固件

静态分析:静态分析指的是在不执行代码的情况下,检查其源代码或二进制文件,分析其结构、逻辑和功能。通过静态分析,了解自动驾驶固件中的关键代码块(如负责车道检测的模块),并找到可能处理图像数据的部分。

动态分析:动态分析是在执行代码时进行观察和分析。将特斯拉的自动驾驶系统在运行时监控,跟踪图像数据在内存中的流动和处理。通过动态分析,他们可以实时观察图像在内存中的存储位置和使用方式。

车道检测任务大多是在 GPU 上执行的,因此目标是找到并分析这些图像在 GPU 内存中的位置。

通过逆向工程,首先找到了负责车道检测的二进制文件(即可执行代码)。然后,进行了静态分析,找出了图像数据什么时候会被加载到 GPU 内存中。在这个过程中,需要确定哪些图像数据是车道检测输入(摄像头图像),哪些是输出(车道检测结果图像)。为了更精确地找到图像数据的存储地址,对该二进制文件进行了动态分析,即在执行代码时实时观察 GPU 内存的状态和变化,确定图像数据具体存储在哪些内存地址。

在定位图像数据的内存地址之后,利用 CUDA 提供的 API 来提取这些图像。CUDA API 允许开发者直接操作 GPU 内存,能够从 GPU 内存中读取图像数据,甚至可以对这些图像进行修改

解决challenge2:

用物理世界的度量来表示数字世界中的扰动,并通过一种基于针孔相机模型和相机校准的公式,将数字扰动映射到物理世界中的标记。

物理世界中的变化或特征(例如位置、角度或尺寸等)可以用来在数字世界(如图像或传感器数据)中引发某种扰动。这种扰动可能指的是对图像的微小修改或改变,以产生特定的视觉效果或误导模型的判断。

针孔相机模型是一种经典的相机成像模型,它假设相机是通过一个小孔成像的,这样物体在物理世界中的三维坐标可以通过投影变换映射到相机的二维图像平面上。针孔相机模型的数学公式通常用于描述如何从相机视角将三维物体投影到二维图像上。

设计了一个基于针孔相机模型和相机校准的公式,用于将数字世界中的扰动映射到物理世界中的标记。具体来说,数字扰动可能是在图像上对某些像素的修改,而这些修改通过相机模型可以追踪回物理世界中的相应位置。

方法整体上包括:从物理世界映射到数字世界,首先通过相机校准和针孔相机模型将物理世界中的坐标(如道路上的扰动位置)映射到数字世界的摄像头图像中。这一步确保能够准确模拟实际物理标记在摄像头图像中的效果,从而能够在数字世界中进行实验和优化。

在数字世界中优化触发器: 在数字世界中,通过添加扰动(例如增加某些像素的亮度)来欺骗车道检测系统。接着,使用启发式算法(粒子群优化算法)对这些扰动的位置大小形状亮度等参数进行优化。目标是找到能够触发错误车道检测的最优扰动,同时这些扰动在视觉上尽量不被驾驶员察觉。

从数字世界映射回物理世界:在找到最优的扰动参数后,再将这些扰动映射回物理世界。这意味着根据数字世界中的最优扰动,设计实际的物理标记(例如道路上的贴纸)。这些标记被放置在道路上,并通过车辆摄像头识别,产生与数字世界实验中相同的效果。

论文三:Phantom of the ADAS: Phantom Attacks on Driver-Assistance Systems

(引用了对交通标志分类模型的后门攻击)

提出了一个新的感知挑战,即ADAS和自动驾驶系统可能会把“幻影”误认为是真实物体。攻击者可以利用这一弱点,通过远程投影设备,比如无人机或被黑的数字广告牌,创建虚假的“幻影”来欺骗系统。为了应对这种攻击,提出了一种模型,通过分析检测到物体的上下文、表面特征和反射光来识别幻影。

论文四:DARTS: Deceiving Autonomous Cars with Toxic Signs

生成中毒的交通标志,提出了Out-of-Distribution attacks,允许攻击者从图像空间的任意点生成对抗样本,而不是仅限于训练或测试数据集中的样本。这种方法扩大了攻击的范围,使其更加灵活和难以防御。还提出了另一种方法Lenticular Printing attacks,利用光学现象,通过特定的印刷技术来迷惑交通标志识别系统。

对于传统的In-Distribution (ID) 攻击

在图的左侧,绿色区域中标示了In-Distribution (对抗性交通标志) 攻击,这种攻击从已经训练或测试的数据中生成对抗样本,即在分类器见过的数据范围内制造混淆。

提出的Out-of-Distribution (OOD) 攻击

自定义标志攻击(左下角):此攻击从图像空间中的任意点开始生成对抗样本,而这些点不一定位于训练或测试数据的分布范围内。例如,一个完全新的自定义标志(如圆形的“火球”标志),它不属于任何已有的交通标志类别,但通过攻击可能会被分类器识别为其他已有的标志,如30公里限速标志。

突破了In-Distribution的限制,允许攻击者从任意位置(包括模型未曾见过的数据)开始生成对抗样本。这大大增加了攻击的灵活性和复杂性,因为攻击者可以利用更广泛的图像空间来进行攻击。

传统方法没有考虑到不同的亮度条件、视角变化、图像缩放等情况,该方法将真实世界的环境条件(如亮度、角度、大小变化等)纳入考虑,提出了一种生成物理鲁棒对抗样本的方法。

论文五:DoubleStar: Long-Range Attack Towards Depth Estimation based Obstacle Avoidance in Autonomous Systems

DoubleStar攻击是一种针对自动驾驶系统中基于深度估计的障碍物避免功能的新型远程攻击方式。它利用立体视觉算法中的立体匹配弱点和光学成像中的镜头炫光效应,通过两个互补光源投射纯净的光线来注入虚假的障碍物深度信息。这种攻击包括两种不同的攻击方式:光束攻击(beams attack)和光晕攻击(orbs attack),它们分别利用投射的光束和镜头炫光来造成错误的深度感知。

在实验中,研究者成功地对两款商业立体相机(ZED和Intel RealSense)进行了攻击,这些相机是为自动驾驶系统设计的。通过Ardupilot模拟器对无人机进行的攻击模拟显示了DoubleStar攻击对无人机的影响。在现实世界的攻击测试中,研究者对配备了最先进的障碍物避免算法的商用无人机进行了攻击,结果表明,这种攻击能够在不同的光照条件下,使飞行中的无人机突然停止或将其漂移到很远的距离,甚至可以绕过传感器融合机制。

论文六:Security Analysis of Camera-LiDAR Fusion Against Black-Box Attacks on Autonomous Vehicles

在自动驾驶系统中,基于深度估计的障碍物避免技术正变得越来越流行,尤其是相机和激光雷达(LiDAR)的融合使用。然而,最近的研究显示,仅依赖LiDAR的感知系统容易受到激光雷达欺骗攻击的影响。尽管如此,研究表明这类攻击并不足以破坏相机-LiDAR融合系统。但是,研究者们定义了一种新的上下文感知攻击方式:锥体攻击(frustum attack),并展示了在8种广泛使用的感知算法中,无论是仅使用LiDAR的还是相机-LiDAR融合的架构,都对锥体攻击具有显著的脆弱性。此外,研究还表明,锥体攻击对现有的激光雷达欺骗防御措施是隐蔽的,因为它保持了相机和LiDAR语义之间的一致性。最后,研究显示,锥体攻击可以持续地在时间上执行,形成隐蔽的纵向攻击序列,破坏跟踪模块,并在端到端的自动驾驶控制上造成不利影响。

论文七:That Person Moves Like A Car: Misclassification Attack Detection for Autonomous Systems Using Spatiotemporal Consistency

场景:自动驾驶系统依赖于ODT来感知环境并预测周围物体的轨迹,以便进行规划。

攻击威胁:最新的研究表明,通过精心设计的噪声,可以篡改ODT的输出,即感知攻击可以导致错误的检测结果。

防御方法缺陷:现有的防御措施只能针对特定的噪声注入方法,因此无法泛化到其他类型的攻击。

方法解决:PercepGuard利用检测到的物体的时空特性(体现在轨迹中),并检查轨迹和类别预测之间的一致性,为了提高对防御意识(自适应)攻击的对抗鲁棒性,PercepGuard还考虑了上下文数据(如自车速度)进行上下文一致性验证,这大大增加了攻击的难度。

防御方法面向的攻击类型:这项工作的重点是针对基于视觉的对象检测器和自主系统的跟踪器的错误分类攻击。考虑一个具有系统白盒知识的攻击者,旨在通过将物理上可实现的对抗性噪声引入视频帧来改变目标对象的分类结果。例如,攻击者可以在汽车背面放置一个LCD监视器,并显示噪声,以便下面的汽车将其(前身)识别为一个人

Idea该方法不是通过在输入阶段防御,而是通过验证ODT(目标检测和跟踪)算法的输出来检测误分类攻击。ODT系统为每个检测到的对象输出类别和轨迹预测,其中轨迹是用一系列随时间变化的边界框表示的。主要思想是通过类别预测来验证轨迹的时空组成部分的一致性。不同类型的对象具有独特的感知空间和时间属性。例如,要将一个对象分类为“人”,它不仅要看起来像人,而且要像人一样移动。也就是说,类别和轨迹之间存在内在联系,但现有的ODT系统是分别预测它们的。与之相反,作者提出的方法将两者结合起来,以验证它们之间的一致性;当一致性不足时,就表明有攻击存在。

方法步骤:

利用对象的空间和时间属性来识别和验证对象类别:

单帧分析:在考虑单个帧时,可以识别出对象类别的形状和位置(空间属性)。例如,人的边界框通常比汽车的边界框更垂直细长,并且当自动驾驶车辆行驶时,人的边界框通常出现在画面的边缘(在人行道上),而不是在中心。

多帧分析

当考虑随时间变化的多个帧时,不同对象类别的边界框动态(时间属性)是具有辨识度的。例如,穿越十字路口的汽车通常比行人移动得更快。

如果一个边界框在单帧中被识别为行人,但它在连续帧中的移动速度非常快,与汽车相似,这可能表明存在误分类攻击。同样,如果一个边界框在单帧中被识别为汽车,但它出现在通常行人所在的位置(例如,画面中心而不是边缘),这也可能是攻击的迹象。

Challenge

确定区分对象类别的统计上充分的时空属性/特征:首先,需要确定哪些时空属性或特征在统计上足以区分不同的对象类别。要找出最能代表一个对象类别的特征,如形状、大小、移动速度等,并确保这些特征能够有效地区分不同的对象。

有效且高效地学习这些特征的时空属性

在真实世界场景下评估防御系统的有效性

对于自适应攻击,攻击者改变边界框从水平到垂直,以欺骗RNN将其分类为人。如感知车辆(自车)的速度、与物体的相对速度等,这些信息通常可以从车载传感器(如速度传感器和激光雷达)获得。

物理领域:攻击者可以在停车标志上放置贴纸,使其被误分类为让路标志,或者在前车的后面安装电视,使其被识别为人,或者简单地将人投影到地面或墙上等。

感知领域:例如,针对基于相机的视觉系统,攻击者可能会将光线照射到相机中以创建对抗性样本,使用声波干扰相机的稳定器,或者利用滚动快门效应等。

数字领域:这是最严重的威胁,因为攻击者可以访问感知输出(例如,图像)并可以在像素级别任意修改图像/视频。传统的数字领域对抗性示例假设攻击者引入的噪声是有范数限制的,以避免被人类用户检测到。然而,在自主系统应用的背景下,这个约束不再相关,因为图像/视频不是由人类用户检查的。

现有的防御方法可以分为两类:

基于传感器融合的防御:

这些方法通过跨多个传感器(无论是异构的还是同质的)进行一致性检查。

例如,Savior等基于模型的方法通过跨多个异构传感器验证物理不变的属性,但这需要复杂的物理模型。

张等人提出通过融合多个摄像头的不同视图来检测针对摄像头的拒绝服务(DoS)攻击,但它们对非DoS摄像头攻击的防御能力较弱。

基于单一传感器的防御

这些方法使用单个传感器的输出,但结合了经验/语义知识来验证感知数据的完整性。

例如,AdvIT基于光流一致性从视频中检测对抗性噪声,但它限于范数有界的扰动,因此容易受到通用对抗性补丁的攻击。

可以利用多个对象之间的共存一致性(例如,交通标志更有可能与汽车共存而不是水槽),从而检测到不一致的对象。

方法实现:

给定一系列由视觉传感器(例如,摄像头)捕获的连续帧,对于每个检测到的对象,ODT系统返回对象的类别预测c,以及一个轨迹,即一系列边界框B = {bi : 1 ≤ i ≤ N},其中bi是时间i的边界框,N是检测到该对象的帧数。

一个2D边界框b由一个向量(x, y, h, w)⊤描述,代表其中心坐标(x, y),高度h和宽度w。

给定(B, c),目标是验证c是否等于真实类别co。为了实现检测目标,作者提出将B分类到一个与c相同域的类别c'(即,c'可以取c可以取的任何值)。如果c ≠ c',我们认为视频帧是对抗性输入。

Fooling the Eyes of Autonomous Vehicles: Robust Physical Adversarial Examples Against Traffic Sign Recognition Systems

论文八:MASK-BASED INVISIBLE BACKDOOR ATTACKS ON OBJECT DETECTION

对象消失攻击(ODA)

目标是使模型忽略特定的对象。

通过在目标对象的边界框内插入触发器,并在训练数据中移除这些边界框的注释来实现。

通过链式算法处理重叠的边界框,确保所有重叠的框都被正确地处理。

对象错误分类攻击(OMA)

目的是误导模型将某些对象错误分类。

类似于ODA,触发器被插入到现有的边界框中,但边界框的类别注释被修改为目标类别。

使用全局触发器方法,触发器应用于整个图像,并且所有真实边界框标签相应地修改。

对象生成攻击(OGA)

设计用来误导模型错误地检测不存在的对象。

触发器被插入到随机坐标,具有随机尺寸,确保宽度和高度超过某个阈值。

对应的注释被创建,使得模型被诱导去检测这些触发器位置的对象。

1.现有文章中对抗偏多,Athalye等人引入了Expectation over Transformations (EOT) 方法,该方法用于生成在物理环境中具有鲁棒性的对抗样本。这些对抗样本经过3D打印,能够在各种不同条件下仍然保持其对抗性。据此后续提出了更多的方法。对抗攻击更容易结合物理世界的方法得到较好的攻击效果。比如光照、投射阴影等。

2.对于自动驾驶系统的后门攻击中,大多偏向于难度更大一些的车道检测等非分类性的攻击,车道检测并没有分类任务的标签,攻击的难度大并且想要在物理世界实现进一步增加难度。对于传统的方法例如更改图像像素或者像Wanet等方法在物理世界很难实现,需要一种合理的方法实现物理世界的后门攻击的有效性。

3.对于目前自动驾驶中的物体检测或者分类任务,不单单依靠视觉模型,现在提出了一种传感器融合的方法,例如各类摄像头结合激光雷达LiDAR,通过激光脉冲获取精确的3D点云,探测物体的形状和距离信息。

4.近几年针对激光雷达的各种攻击和防御较多,物理移除攻击:这种攻击通过使用激光欺骗技术,选择性地移除 LiDAR 点云数据中的真实障碍物。轨迹预测攻击:此类攻击通过引入虚假的 LiDAR 数据,干扰车辆对周围物体运动轨迹的预测,导致自动驾驶系统做出错误反应。


http://www.mrgr.cn/news/70627.html

相关文章:

  • JAVA中的Lamda表达式
  • SQL MAX() 函数深入解析
  • 【大数据分析机器学习】分布式机器学习
  • CUDA补充笔记
  • 【C++习题】10.反转字符串中的单词 lll
  • python语言基础-5 进阶语法-5.3 流式编程
  • Tomcat(9) web.xml文件的作用
  • 【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-20
  • 人字齿是怎么样的一种齿轮?
  • 《黑神话:悟空》像素版v0.2重磅更新[PC+安卓]
  • 【系统架构设计师-2024下半年真题】综合知识-参考答案及部分详解(完整回忆版)
  • Java static静态变量 C语言文件读写
  • 工程师 - etc/hosts文件
  • 呼叫中心系统监控预警功能的应用
  • [ Linux 命令基础 4 ] Linux 命令详解-文本处理命令
  • (RK3566驱动开发 - 1).pinctrl和gpio子系统
  • Java 抽象类(Abstract Class)详解
  • 生产与配置
  • 前端知识点---Javascript中检测数据类型函数总结
  • HTML常用标签
  • Python 多进程日志管理:最佳实践与实战指南
  • 图像增强的100种方法
  • 【AI学习】Mamba学习(十五):关于S4模型计算优化的再学习
  • http协议与内外网的划分
  • 【论文阅读】医学SAM适配器:适应医学图像分割的任意分割模型
  • glsl中vec4是行矩阵还是列矩阵