本文来源:Lim K , Tuladhar K M , Kim H . Detecting Location Spoofing using ADAS sensors in VANETs. IEEE, 2018.
“位置信息在车载自组织网络中起着至关重要的作用,许多应用都依赖于位置,因此,保持车辆位置信息的真实性至关重要。随着车辆技术的进步,高级驾驶辅助系统(ADAS)传感器正陆续安装在汽车上,本文提出了一种利用车载ADAS传感器检测定位欺骗的机制,在我们提出的方案下,基于定位欺骗的攻击(如sybil攻击)可以使用唯一的ADAS传感器数据(类似于指纹)来有效地检测,而无需基础设施和第三方可信机构的参与。”
一、 定位欺骗
车辆通信有众多安全要求,因为它涉及安全驾驶环境的应用,如交通信息、天气状况、道路紧急情况、导航、增值应用等。大多数上述应用依赖于位置信息。如果车辆的位置信息被泄露,则大多数应用程序将无法正常运行。此外,错误或误导的位置信息可能会引发事故,造成经济损失,甚至威胁司机的生命。
GPS的提供彻底改变了驾驶导航系统。类似地,最近引入的短程雷达(无线电探测和测距)和激光雷达(光探测和测距)提供了为车辆创建周围地图的“眼睛”,并应用于高级驾驶员辅助系统 (ADAS) ,通过提供事故注意警告来帮助导航与防止可能的事故 。虽然先进的传感技术正在引导车辆走向联网车辆和全自主车辆,但车辆通信应抵御可能的攻击者。
基于定位欺骗的攻击手段可以分类如下:1) 伪造攻击: 创建一个伪造的消息,谎报交通拥堵的位置或它自己的位置。2) 变更攻击: 攻击者修改消息中的位置或自己的位置信息。3) 丢包: 攻击者可以通过黑洞攻击 (丢弃所有数据包) 或灰洞攻击 (选择性丢弃数据包) 来丢弃数据包。4) 重放攻击: 攻击者伪装成过往车辆,重新注入之前接收到的数据包或信标消息。5) 西比尔(sybil)攻击: 攻击者用假的位置信息伪装成多辆车,可以通告不存在的邻居。
之前的定位欺骗检测方法都需要基础设施和/或第三方机构 (如技术顾问) 来管理和维护证书。在本文中,我们提出了一种无需基础设施和/或第三方机构支持的定位欺骗攻击检测方案。此外,我们的方案利用安装在车辆上的现有 ADAS 传感器来检测定位欺骗攻击,因此不需要任何额外的硬件成本。
二、 系统模型与假设
无线收发器:对于快速和短程无线通信,车辆收发器采用为 VANET 标准 IEEE802.11p 设计的标准专用短程通信 (DSRC) 。智能交通系统的DSRC在美国工作在 5.9 GHz 频段。传输范围约为 250 至 300 米。我们假设攻击者可以在传输之前修改消息中的位置信息。
GPS 定位接收器:车辆使用 GPS 接收器获得精确的位置信息,例如纬度、经度、高度、速度和车辆的方向。GPS的位置可以由攻击者伪造,但车辆的相对距离和角度可以通过 ADAS 传感器计算,从而可以验证位置信息。
ADAS 传感器:现代车辆配备了 ADAS 传感器,包括雷达、激光雷达、摄像机和其他传感器,如微波、红外或超声波雷达。与激光雷达相比,雷达是一种低成本传感器,它提供更长的工作距离。同样,高分辨率摄像机与图像处理相结合,可以用来识别物体类型。最近应用的激光雷达使自动驾驶汽车成为可能,因为它可以提供连续 360 度的能见度和周围的准确深度信息。我们假设一个光线投射激光雷达安装在车辆的顶部,它生成周围投射点的帧。由 ADAS 传感器系统生成的帧是原始形式,由车辆的车载单元 (OBU) 处理。处理后的数据可以找到车辆周围物体的距离和角度。本文主要致力于检测攻击者与沿路行驶的邻近车辆同处一地的定位欺骗攻击。如图 1 所示,装有ADAS传感器的车辆扫描周边区域,并检测车辆的周围物体。攻击者声称位置是假的,并试图与车辆通信。车辆随后验证所声称的位置是真的还是假的。
图1:位置欺骗检测总览
三、 方案
我们提出的方案使用三个主要步骤来检测定位欺骗攻击:1) 源验证;2) 接收方确认;3) 周围物体验证。我们讨论我们协议的细节如下。
当接收方车辆 VR 从源车辆 VS 接收到带有 GPS 信息 和传感器数据 sensor_data 的消息 M 时,VR 运行算法 1 中所示的检测定位欺骗的算法。为了开始该过程,VR 检查包含在 M 中的时间戳是否有效并且在阈值 τ 内。如果时间戳有效,VR 使用 VS 和 VR 的 GPS 信息计算从 VR 到 VS 的距离 dRS 和角度 ϕRS。注意,距离和角度是以目标车辆为中心点来计算的。例如,如果车辆位于 (x1,y1) 位置,而目标车辆位于 (x2,y2) 位置, 则可以使用等式 1 和等式 2 来计算距离和角度。
通过使用 dRS 和 ϕRS,VR计算其位置,并将其与sensor_dataR 比较以查看 VS 是否实际存在于 VS 声称的位置。如果 VS 不存在 sensor_dataR 中的位置,则检测到位置欺骗。算法 1 的第 6-11 行说明了源验证的过程。一旦源位置得到验证,接收器的位置也需要在源的传感器数据 sensor_dataS 中得到确认。类似地,计算从VS 到 VR 的距离 dSR 和角度 ϕSR,并在传感器数据中确认 VR 的位置。如果在传感器数据 sensor_dataS 中找不到接收方,则可能存在定位欺骗。接收方验证过程如第 13-18 行所示。
在验证了源 VS 和接收器 VR 的位置之后,VR 继续验证 VS 的周围对象, 因为 VS 的 ADAS 传感器系统捕获的 VS 的周围对象也应该被 VR 的 ADAS 传感器系统捕获。请注意,我们假设时钟是同步的,并且它们都使用传感器数据 sensor_dataS 和同时生成的传感器数据 sensor_dataR 。为了验证 VS 的周围对象,VR 生成两个对象列表: 使用传感器数据sensor_dataS 生成的列表 SLi 和使用传感器数据sensor_dataR 生成的列表 S′Li。对象列表包含 距离、角度和对象类型等信息,对象按对 VS 距离顺序排序。现在 VR 比较 SLi 与 S′Li 的距离、角度和对象类型,检查对象类型是否匹配,同一对象的 距离和角度是否在误差范围内(ϵd 和 ϵϕ)。第 20-30 行说明了周围物体验证的过程。请注意,它将只检查选定的最近的对象,因为 VR 可能无法通过其传感器检测 VS 的所有环境。在这种情况下,可以使用相似性评分技术。在验证了周围的对象之后,算法终止,没有检测到位置欺骗。
四、实现与分析
在这一部分,我们介绍了我们的方案的实现和安全性分析。我们使用自主城市驾驶模拟器 CARLA 模拟了我们的方案。模拟中使用的激光雷达的性能类似于 Velodyne HDL-32E,并配置有以下参数:32 个通道,100 米的范围,每秒点数 (PPS) 固定为 10000,旋转频率设置为 10,视场 (FOV) 设置为 40。传感器数据是在自动驾驶模式下采集的。CARLA 模拟器的模拟环境如图 2 所示,其中包含目标车辆、树木、垃圾桶、交通灯等可见物体。激光雷达放置在车辆 v 上,车辆v发送激光脉冲,并根据反射脉冲波经过的时间扫描物体。请注意,为了覆盖更长的距离并提高精度,还可以添加雷达数据,我们在模拟中考虑了 100 米内的对象。通过使用 ADAS 传感器扫描车辆的周边,可以识别包括源车辆在内的周围物体,并且具有物体检测的原始数据如图 3 所示。
为了防止位置欺骗攻击,我们的方案通过匹配位置信息来验证发送消息的源车辆的位置,即距离、角度和靠近其周围的对象类型。它由源、接收方和周围对象的三个位置验证步骤组成。车辆的位置通过匹配其周围的物体来确认。整个过程就像一个指纹,即车辆从其独特的位置到周围物体有一个独特的距离和角度。除非车辆位于其声称的位置,否则无法生成这种独特的传感器信息。在 VANETs 中,敌手可能试图通过编造、更改或重放位置信息来进行攻击,但在我们的方案下可以检测到这种位置欺骗攻击。
图二:模拟环境
图三:高级辅助驾驶系统传感器数据映射图