在能见度有限的高密度交通情况下,使用基础设施到车辆(I2V)信息可以为自动驾驶带来巨大好处,因为车辆的传感能力可以通过外部传感器增强。在这项研究中,介绍了一种方法来提高车辆在十字路口的自我意识,以应对使用I2V通信时最大的可预见挑战之一:网络安全。本文介绍的异常检测算法,运行在自动驾驶车辆上,评估I2V通信在多种网络安全攻击下的健康状况。该分析是在模拟环境中进行的,使用Secredas项目(跨领域可靠的自动化系统的网络安全)中的网络攻击场景,并提供了对车辆在面对不同类型和幅度的I2V网络攻击以及传感器冗余丢失时的限制的深入了解。结果表明,自动驾驶汽车可以有效地检测和缓解注入的异常,使其能够更安全、更舒适地做出反应,并在交叉路口保持正确的目标跟踪。
I.简介
联网和自动驾驶正在成为更安全、更高效、可持续和舒适的道路交通系统的解决方案,[1]。汽车制造商将不同的驾驶辅助或自主功能带到道路上,增加了连接的可能性,如车对车(V2V)、车对基础设施(V2I、I2V)或车对一切(V2X、X2V)。它们带来了功能和性能上的好处,但也带来了网络安全和隐私方面的风险和担忧:自动驾驶汽车是物联网(IoT)中的一种事务,它可能会导致危险情况,并收集大量数据。
通过X2V通信,现在可以在不处于特定物理范围或使用预先安装的硬件的情况下侵入车辆,[2]。缺乏网络安全会导致不安全的情况,并将造成用户缺乏信任和带有负面情绪。这就要求改进互联和自动驾驶的安全和保障设计概念,能够检测到虚假和篡改的X2V信息,并作出主动和安全的反应。
异常,在ISO 26262标准中被定义为偏离预期的情况,例如基于需求、规格、设计文件、用户文件、标准或经验[3],可以有多种形式和模式。
更具体地说,网络异常(即入侵企图或威胁)被用来访问和操纵信息或使系统不可靠或无法使用。检测网络异常是指实时检测I2V流量中不符合预期正常行为的错误模式和异常现象,[4]。I2V通信是非常有益的,特别是在交叉路口的情况下,路侧单元(RSU)被用来通信观察到的易受伤害的道路使用者(VRU)的位置,提高跟踪范围和检测对象的状态估计精度,[5]。
目前已经开发了多种异常检测方法,可应用于I2V网络攻击,其中许多方法侧重于有限场景下单一和已知类型的异常,或考虑合作驾驶中另一辆领先车辆[6]的状态。例如,[7]中使用了粒子筛选和最大似然法,[8]中使用成对不一致图比较传感器输出,[9]使用卷积神经网络和卡尔曼筛选器之间的组合,[10]使用长短期记忆(LSTM)神经网络。
此外,一些研究已经介绍了网络攻击通常可以预期的异常类型,[4],[9]和可能的攻击者行为[11],但还没有介绍可以通过I2V通信处理交叉路口周围多种类型攻击的方法,如图1所示。也不知道传感器冗余如何有助于确保车辆的安全运行,并如何用于识别异常情况。
为了应对这一挑战,本文提出了一个扩展的卡尔曼滤波器(EKF)来检测来自I2V通信的车内网络攻击所导致的物体跟踪异常情况。我们选择这种算法是为了从易受伤害的道路使用者的领域知识中获益,并且因为EKF是一种成熟的异常检测方法,[9]。
与之前的工作不同,我们针对自动驾驶汽车可能遇到的交叉口场景,在多种类型的攻击上开发并验证了我们的方法,讨论了传感器冗余的重要性,这取决于不同的异常情况。本文的组织结构如下。
第二节介绍了自动驾驶汽车的功能结构和考虑的攻击类型,第三节介绍了异常检测问题、场景和开发的仿真环境。第四节和第五节介绍了扩展的卡尔曼滤波器和由该设计产生的仿真结果。最后,第六节介绍了结论和对未来工作的建议。
II.前言
在自动驾驶(AD)车辆中,内部和可能的外部传感器用于监控环境。系统架构和异常类型对于开发检测这些异常的可靠方法非常重要。本节介绍了所使用的车辆功能结构、现有异常类型的概述以及与通过I2V进行网络攻击有关的选择。
A.传感器融合和物体追踪
图2描述了自动车辆的功能结构,其中世界建模包含自我车辆状态估计功能、物体检测和跟踪功能以及道路建模功能,如车道和空的可驾驶空间模型。
图2. AD应用程序的功能结构,突出了用于I2V异常检测的组件(基于[12], [13])。
车辆环境中的动态物体由车载传感器(即雷达、激光雷达、照相机)跟踪,为车辆提供相对测量。此外,在图1的场景中,连接到RSU的摄像机使用I2V通信提供绝对测量。这些传感器测量值,连同自我车辆状态估计,被一个模块,即目标跟踪器,融合为一个单一的物体状态估计。
B.异常情况类型
异常的传感器行为可以有不同的形式,这给检测偏离稳健行为带来了不同的挑战。除了恶意攻击外,这些异常可能来自例如错误的传感器校准、有限的传感器能力和环境影响,[9]。在[14]中介绍了可能的传感器信号异常的类别,其中三个主要类别被解释为重要的并在实际部署中观察到的,即短, 噪音 和持续。更详细地说,作者在[9]中区分了四种类型的异常,即偏差、逐渐漂移、瞬间和缺失。
偏差异常意味着与正常的传感器读数相比,异常信号有一个时间上的恒定误差。逐渐漂移是指在一段时间内,观察到的数据逐渐漂移(增加或减少),有或没有偏差。漂移的周期越长,相对于观察对象的真实状态而言,特定的信号就越危险,越不具代表性。
瞬间异常意味着在两个连续的传感器读数之间观察到的数据发生了急剧的、无法解释的变化,而缺失异常仅仅指在一个时间段内缺乏可用的物体或信号数据。[6]中的作者认为,额外的异常情况可以是噪音,其中信号被扰乱(例如相机图像中亮度或颜色信息的随机变化),或突发,其中信号在短时间内被扰乱(例如开车经过一个坑洞)。
为了确保自我车辆在I2V网络攻击下的安全运行,如图1所示,检测那些异常情况是至关重要的,这些异常情况会提供错误的信息,从而导致自动车辆做出错误的决定(例如,与接近的行人或骑自行车的人相撞)。如[15]中的概述所示,网络攻击也可以诱发其他的异常情况(如车内通信),但本研究的重点是来自基础设施到车辆的攻击,这可能导致不安全的情况。
因此,这项工作特别关注瞬间、偏差和渐进式漂移异常,声称例如噪音和突发异常可以被分类为强烈的时间性瞬间、偏差和/或漂移异常,而漏报异常将由目标追踪器内部处理。这些类型的异常构成了最高的威胁,对合作的自动驾驶汽车来说是最危险的,[16][17]。
由于在所考虑的情况下,恶意数据来自于一个RSU,这项工作的重点将是检测传感器的异常情况(即任何嵌入或附着在车辆上的传感器,以及位于环境中的传感器)。这里不讨论来自融合状态输出的异常,因为这是另一种类型的问题。
III.问题描述
虽然I2V可以提高AD车辆在视野范围和传感器冗余方面的物体探测能力,但为传感器融合而交流物体信息确实带来了网络安全威胁,因为数据有可能被欺骗或篡改。使用这种被篡改的数据进行传感器融合可能会导致错误的物体位置或速度估计,并因此可能导致安全关键的情况。
当在融合状态估计中检测到异常时(在图2中的世界建模块中),可以警告驾驶员感知模型可能受到损害,或者AD-系统可以将车辆带入安全状态。然而,无法避免状态估计的完整性受损。通过单独监控传感器的异常情况,可以确定它们的健康状况,并在传感器融合算法中暂时忽略或永久禁用受损传感器。
A.系统描述
所考虑的自动驾驶汽车配备了专用的汽车传感器(雷达、照相机、激光雷达、GPS),以及用于软件和通信的专用单元。RSU是位于十字路口一侧的监控系统,例如,检测VRU的摄像头。该通信是通过集合感知消息(CPM)接收器和对象解析器完成的,该接收器将相对摄像机对象检测并将其转换为全局参考系,以便与车辆的参考系相关联。该解析器还将信息调整为Target Tracker软件的接口。
B.情景及其变化
在所考虑的场景中,一辆AD车辆正在接近十字路口,并从被黑的RSU接收恶意信息,这是本研究中考虑的唯一受到攻击影响的传感器。车辆检测到攻击,并通过忽略目标跟踪器中的故障外部传感器信息来减轻攻击。在这种情况下,RSU传输VRU(行人或自行车手)的错误位置,如图3所示。变化的例子包括:
图3. 异常RSU数据的情景示例。
(1) 在十字路口的一侧有一个VRU,正在等待过马路。被黑客攻击的RSU传达的信息是VRU在十字路口(图3中的情况A),可能导致AD车辆不必要地在十字路口停车。这可能会导致,例如,即将到来的交通在自主车辆后面的其他危险情况;
(2)一个VRU正在穿过十字路口(图3中的情况B),被黑的RSU传达出VRU位于十字路口的一侧,车辆故意不提醒经过的VRU,这可能导致碰撞;
(3) 一个VRU要么在十字路口的一侧,要么在十字路口的不同位置。RSU将关于VRU的航向或速度的错误信息发送给自动车辆,这可能会误导车辆的预测或意图分类模型。
C.仿真环境
图4.所示基于gazebo的模拟场景。
此外,为了使模拟尽可能逼真,对车载传感器和路边摄像头都引入了传感器噪音。按照汽车物体跟踪传感器的典型传感器噪声,噪声水平,σ,是独立的零均值白噪声,其标准偏差如下(来自[21],作为正态分布的3σ值使用):
其中计数器值j e {1, 2, 3, 4}表示信号的传感器来源,分别为雷达、激光雷达、照相机和RSU。为便于记述,本文其余部分均使用这个计数器j,其含义完全相同。此外, 下标 x, y, vx , vy 分别指物体的纵向和横向位置和速度。
D.异常注入
为不同异常注入的误差定义为
对于偏差异常和
IV.车载网络威胁异常检测
利用第三节的模拟数据、图1中描述的场景以及可用的车载传感器和RSU测量值,可以进行故障诊断。
A.多传感器EKF异常检测算法
检测传感器异常行为的算法遵循图2所示的架构,更详细的视图见图5。异常检测器是为检测任何传感器状态的异常而设计的。一旦检测到异常情况,只要异常情况持续存在,受影响的传感器状态在目标追踪器中就会被忽略。
该信息可用于忽略来自目标跟踪器传感器融合的测量,以减轻某种状态的融合估计中的异常。为了检测上述故障类型,扩展卡尔曼滤波器(EKF)与基于C2准则的测试相结合,用于残差评估[22,第11.2.2节]。EKF算法使用一个全向运动模型,状态X = [x, y, θ, v, vθ , a] 其中x, y表示纵向和横向位置,θ表示目标相对于自动驾驶汽车的方向。
图5. 异常检测算法的示意图以及它与目标追踪器的互动方式。
我们用v和a表示结果的平面速度和加速度, vθ 是航向的第一时间导数。这些结果分量可以用速度 vx , vy 和加速度ax , ay 表示如下:
在模型中,假设有一个恒定的加速度a和恒定的偏航率 vθ 。这个假设是由于我们在场景中考虑了一个VRU(例如,一个行人或一个骑自行车的人),因此可以假设低动态的行为。这个VRU的模型可以表示为:
其中zk是一个独立的零均值白噪声的矢量信号,测量矩阵H的定义为:
图6所示。在时间t = 45秒的RSU的yk测量中引入了 exB = 1.28m偏置故障的EKF残差示例。
EKF的融合状态预测值 Xˆk]k - 1 及其协方差矩阵可以表示为:
其中 Pk,k - 1是状态预测协方差矩阵,Ak 是f (Xk )的协方差 and Q是过程噪声协方差矩阵。用于更新当前时间步的内部状态估计的卡尔曼增益的计算方法是:
其中,Hk代表线性化状态测量矩阵, R代表各传感器j的传感器噪声协方差矩阵,Kk代表卡尔曼增益。最后,ε )是一组取决于某个传感器测量是否存在故障的指示信号,这一点将在残差评估中进一步解释。对于下一个时间步,产生的残差、状态估计和它的协方差矩阵由以下公式预测:
其中 rk表示创新残余信号。注意这个残差 rk被用作故障检测指标,也就是说,残差信号被用来检测一个测量是否与预测的测量偏差太大。EKF算法到此结束。图6给出了该算法产生的残差的说明性例子。在此,在RSU中注入偏置异常,可以观察到RSU残差对该偏置非常敏感。如前所述,EKF产生一个残差信号(10),它给出了关于预测测量的偏差信息,该信息是根据预测状态 Xˆk]k - 1和测量模型与测量值 uk计算的。 需要进行下一层剩余评估。
残差评估是使用基于 c2准则的检测器完成的,其形式为:
其中算符。表示逐点Hadamard乘积。 由此产生的信号向量r rˆk 的每个条目都与预先确定的正值阈值向量α (j) 进行比较,其大小等于每个传感器j每次测量的测量状态数。随后,给定一个预定的时间跨度n,使用指标函数εk给出一个适当的反应:
其中i选择测量状态的索引。检测到的故障的反应直接出现在方程(8)和(9)中,在更新步骤(11)和(12)中,受影响的测量状态不再被考虑在内。然而,受影响的测量在(10)中被考虑到,以检测故障是否仍然存在。
V.结果分析
如第三节所述,为了衡量异常检测算法的性能,对不同大小和持续时间的异常情况进行了模拟。对于瞬时异常,在0.1 m ~ 10 m范围内,按照10个样本的对数分布选择异常大小exI 。瞬间异常的持续时间为d=0.05秒。这导致在瞬间异常的情况下,总共有10次测试来评估算法。
对于偏差异常,按照0.1米和3米之间的5个样本的对数分布,选择异常大小exB 。选择一个对数分布来确定异常检测器可以标记哪个数量级的故障大小。此外,异常持续时间有如下变化:d = [0.25, 0.5, 1.0, 2.5] s。这导致了在有偏差故障的情况下,总共有20次测试来评估算法。对于漂移异常,通过遵循0.1米/秒和3米/秒之间的5个样本的对数分布,再次选择一个异常大小exD。此外,异常持续时间以以下变化再次变化:d = [0.25, 0.5, 1.0, 2.5] s。这导致在漂移故障的情况下,总共进行了20次测试来评估算法。
A.统计结果
为了测试故障检测算法的性能和可靠性,之前介绍的测试在仿真环境中在线应用。初始状态协方差矩阵和状态选择为P0=I, Xˆ0=0. 测量噪声协方差矩阵R从(8)中选择,直接替换(1)中定义的测量噪声的平方。来自(7)的过程噪声协方差矩阵Q被选为 Q =0.001 ·I. 残余评估范围(13)被选为n =30,最后评估阈值(14)被选为所有位置状态 αx= αy = αθ = 0.18 ,所有速度状态 αv北= αv_ =αve = 0.7。这些阈值是以噪声的大小为起点,反复确定的。 使用这些参数和初始条件,结果在图7中给出。这种类型的图被解释为如下;故障是以一定的幅度(Y轴)和一定的持续时间(X轴)注入一定的类型(偏压、漂移或瞬间)。如果检测到注入的故障(蓝星),它被标记为(红圈)。如果在没有注入故障的传感器上检测到故障,则被标记为假阳性(绿圈)。使用这种图形表示法,观察实际故障、是否被检测到以及其他传感器上是否发生任何误报就变得简单明了。
图7. 故障检测性能和假阳性稳健性的结果,72%真阳性,6%假阳性。
这些结果表明,故障检测算法能够检测出72%的注入故障,其中在6%的测试案例中,在不同的传感器测量状态下也检测出了假阳性。 未检测到的故障要么是最大值太低(阈值α的影响,防止残差上的噪声被归类为故障),要么是故障持续时间太短(故障水平线n的限制效应)。在高振幅的故障中检测到的假阳性是由综合的内部估计值 Xˆk引起的,在它被忽略之前,由于故障的测量被推高了。这种现象导致内部估计和健康传感器之间的差异,因此有可能将它们归类为故障。
B.失去传感器冗余时的案例分析
第V-A节的结果表明,该算法能够很好地检测出超过某个不确定性阈值的故障。 这个由α决定的阈值可以设置得更低,但这是不可取的,因为这将损害鲁棒性,因为残余的噪声可能诱发假阳性。 然而,这也表明,该算法开始检测高故障振幅的假阳性。由于EKF的纠错效应以及残差评估的估计范围n,故障测量不是瞬间就能检测出来的。因此,有缺陷的测量被用来在一定时间内更新内部状态估计。
对于一个足够高的故障,状态估计暂时增加到这样的程度,以至于非故障测量被认为是错误的,因为它们与内部状态估计的差异。预计在失去传感器冗余的情况下,这种影响会进一步扩大。为了测试这一假设,在没有激光雷达和雷达传感器测量的情况下,使用与V-A节相同的初始条件和参数,对矩阵进行重新测试。
图8. 在没有雷达和激光雷达冗余的情况下,故障检测性能和可靠性的结果,68%的真阳性,22%的假阳性。
这一分析的结果显示在图8中。在这里,人们可以观察到假阳性检测的累积总和在增加。这可以解释为只有两个传感器来构建内部状态估计值Xˆk ,因此Xˆk 和健康测量值之间的误差也会增加。然而,与完全冗余的情况相比,真阳性的数量只减少了4%,这表明在失去冗余的情况下,该算法对真阳性检测的稳健性。
C.讨论
按照这里的定义,从外部传感器检测异常并不能提供信息,也不能确定故障的原因(即故障分类)。 这里的主要兴趣是检测故障,并作为一种缓解行动,不再将受影响的状态纳入传感器融合中。 这取决于功能的安全关键性,是否应该让车辆的驾驶员知道故障的原因。
外部观察到的物体,只是用车辆的传感器和道路基础设施的传感器来观察,而它的意图和实际运动是未知的(这个外部物体上没有传感器)。这意味着,为了有一个可靠的故障检测算法,需要一定程度的传感器冗余,这是该算法的一个限制。 通过使用所有这些传感器来预测外部观察物体的相同内部状态,内部状态的估计可以被一个具有足够幅度的故障推离其真实轨迹。尽管如此,通过用预测或已知的外部观察对象的意图来增强模型,有可能规避这个问题。
VI.结论和未来工作
这项工作的贡献有两个方面。这里介绍的异常检测算法提供了从自动驾驶车辆的角度,在启用I2V的道路交叉口检测不同类型攻击的可能性。
结果表明,大多数相关的和有潜在危险的异常情况都可以被检测出来,特别是在故障幅度有限且存在车内传感器冗余的情况下。此外,结果显示了拥有传感器冗余对物体追踪的好处,以及不存在冗余时的局限性。这意味着自动驾驶汽车即使在面对I2V网络攻击时也能保持安全和舒适的运行。这种用于检测I2V通信中的攻击的方法,也可用于检测车内传感器的异常情况,使用车内和I2V传感器数据的融合。
未来的工作包括扩展到更多的场景,研究对网络效应(延迟、包裹掉落)的鲁棒性,纳入更多的I2V信号(如交通灯信息),以及将EKF异常检测方法与车辆控制缓解策略相结合,以应对可以检测到异常的情况。 此外,可以考虑用数据驱动的方法进行扩展,以提高大故障振幅情况下的假阳性和假阴性率。