基于深度学习自动驾驶的攻击与防御--物理攻击

发布于 2021-04-09 15:03 ,所属分类:知识学习综合资讯

之前介绍过深度学习模型的攻击与防御问题,正好看到一篇关于深度学习自动驾驶的攻击与防御的文章,这里来详细解读一下相关内容:
随着AI在自动驾驶领域的深入应用,自动驾驶系统(ADSs)可以为大多数驾驶事件提供精确的控制决策;但自驾系统所面临的的攻击也越来越多样性,如物理攻击、网络攻击、基于学习的对抗攻击。自动驾驶的安全性不用过多的强调,文章从ADSs各类攻击和防御机制进行分析,对各种深度学习模型的对抗性攻击以及物理、网络环境中的攻击进行深入概述展开,提出模型鲁棒性训练、模型测试与验证、基于云/边缘服务器的异常检测等具有前景的研究方向。
目前现有的自动驾驶框架,大多是将不同传感器收集原始数据和HD地图信息传递到云端和感知层获取环境信息,然后依据强化学习模型进行实时决策制定的过程。大体结构如下图。如百度Apollo,特斯拉等。

然而,这种pipeline结构的框架存在很多问题,抛开物理因素外(如传感器受损,无法获得高质量数据等),这里专门讨论一下深度学习受到的攻击以及可能需要的防御问题(结合韦心雕龙前两天总结的深度学习攻击与防御体系)。
从上图可以看出,这种自动驾驶系统包括传感器层、云端服务、感知层、决策层等。传感器层属于硬件层面,处于环境感知的第一阶段,主要负责收集环境信息;云端服务主要用于加载高精地图(HD),以及路侧单元等其他相关的信息(V2X),同时还能够对模型进行升级(OTA);感知层就是将传感器数据和高精地图结合起来,进行定位(视觉定位,激光定位),目标检测和识别(深度学习),语义分割(深度学习)等;决策层是依据感知信息,对交通事件进行判断,从而做出相应的分析(强化学习、深度强化学习、规则判断等)。
深度神经网络很容易受到对抗性攻击,这种攻击是专门设计来诱导基于学习的模型进行错误预测的。最常见的对抗攻击是通过构建所谓的对抗性样本来迷惑模型中的神经元,这些样本与原始的输入只有微小的差别。
下图给出自动驾驶系统中的每个部分的攻击概况。下面将对各个部分的攻击进行概要描述。

对传感器的攻击

感知层通常被认为是ADS的前沿模块,所以传感器往往会被视为首要攻击目标。攻击者的目的是通过添加噪声信号来降低传感器数据的质量,或者通过伪造数据信号来让传感器收集虚假数据。低质量或者虚假数据会影响深度学习模型在感知层和决策层的性能,进而影像自动驾驶汽车的行为。在该威胁模型中,攻击者不需要了解深度学习模型的细节或者其他算法细节,只需要具备一定的硬件知识就能够执行攻击任务。所以,对传感器的物理攻击可以看成是对ADSs的黑盒攻击。
物理攻击最常见的有两种:
干扰攻击(Jamming attack)
干扰攻击被认为是最基本的物理攻击,利用特定的硬件向环境中添加噪声,降低传感器的数据质量,使环境中的目标无法被检测到。

有人对相机进行过干扰攻击,相机被强烈的光照射到。当相机接收到比正常环境强的多的入射光时,相机的自动曝光功能就无法正常工作,捕获的图像会被过渡曝光,无法被感知层的深度学习模型识别在实验中,通过设置不同距离、不同光强的正面/侧面攻击,得出,在黑暗环境背景下进行近距离致盲攻击会严重破坏捕获图像的质量,即在致盲攻击发生时,杆子系统无法有效识别目标。还有一种致盲攻击,即攻击者使用激光对摄像头造成温度损伤。当然也可以将激光雷达暴露在与激光雷达波长相同的强光源下,这样也会导致激光雷达无法从光源方向感知物体。

当然,对超声波雷达和毫米波雷达也能进行干扰攻击,如通过超声波干扰器对车辆的停车辅助系统进行路边攻击,在干扰攻击下,车辆无法检测到周围的障碍物。对于毫米波雷达,有人做过一个实验,采用信号发射器和倍频器产生的电磁波来攻击特斯拉的自动驾驶系统,从而使得特斯拉宕机。

对于IMU和GPS,也同样有很多的物理干扰攻击手段,这里不做归纳。

欺骗攻击(Spoofing attack)

欺骗攻击是攻击者在传感器数据收集阶段使用硬件伪造或注入信号(常常提到的仿真,也算是一种欺骗)。伪造的信号数据会影响对环境的感知,进而导致自动驾驶系统的异常。以激光雷达为例,激光雷达是通过接收物体反射的光来区分位置的,伪信号可以先于真信号返回,这样接收到伪信号的激光雷达会错误的计算车辆与目标之间的距离。这种伪信号可以用来构建幽灵墙,使得激光雷达彻底失效。另外类似的伪信号方式,还能够对GPS、超声波雷达、毫米波雷达通常产生攻击。对相机的欺骗攻击,可以通过改变外部场景或者通过伪造假目标的方式来达到攻击目的,如通过投影仪来伪造交通标识并投射到车辆相机上,使得车辆感知模型将伪造的交通标志解读为真实的交通标志。

下面给出了两种攻击模式的实验和方法的总结:

对云端服务的网络攻击

从传统互联网的角度考虑,网络攻击是一个常见的话题,而云端与自动驾驶汽车之间的持续通信,会是的云端称为许多攻击手段的目标,从而导致自动驾驶汽车的不稳定性。
需要注意一点,HD地图可以通过V2X来实时更新来自其他车辆的信息,这个过程可能会被攻击者控制。如有名的Sybil攻击。Sybil攻击集中在V2X的实时高清地图更新上,使用虚假的GPS信息在目标定位系统中制造大量假司机。这些攻击旨在通过交通堵塞来欺骗系统,进而干扰车辆的定位和导航任务。对于信息伪造攻击,攻击者不仅可以拦截和篡改从车辆更新到云端的交通信息,还能够通过云端更新HD地图时欺骗其他车辆。
Denial of Service (DoS)和Distributed Dos(DDos)是目前影响网络的两大服务,这两个服务可能会导致云端网络信息交换时服务资源耗尽,进而导致V2X的高延迟或者不可用。这种情况下,自动驾驶可能无法连接到HD地图进行精确导航和感知服务,从而严重危及自动驾驶汽车的安全。
还有一种攻击是对云端无线通道的攻击(OTA攻击),攻击者可以劫持云端与自动驾驶汽车之间的数据传输通道,并将恶意软件注入到汽车大脑中(果然,有人的地方就有江湖,有软件的地方,就有攻击)。
云端攻击说到底更多的还是网络攻击,关于网络攻击,将会在别的文章中详细介绍。这里不做过多的讲解。
从前面的介绍来看,在一定范围内,物理攻击是最直接有效的。物理攻击可能会干扰传感器的数据收集过程,从而破坏深度学习模型,但是这类攻击有很大的局限性,如相机致盲,仅发生在干扰器被放置在目标车辆的前方,这种假设攻击很难实施。
网络攻击同样是有害,同时也具有挑战性的。云端网络的攻击可能会影响V2X网络中的自动驾驶汽车,从而严重危害驾驶安全,但对于此类云端网络攻击,对手需要伪造网络传输数据或者通过大量僵尸网络实施DDos攻击,这种可以通过数据加密或者部署检测系统在一定程度上避免类似的DDos攻击。


相关资源