车联网安全研究综述:威胁、对策与未来展望
2023-10-27况博裕李雨泽顾芳铭付安民
况博裕 李雨泽 顾芳铭 苏 铓 付安民,
1(南京理工大学网络空间安全学院 南京 210094)
2(空天地一体化综合业务网全国重点实验室(西安电子科技大学) 西安 710071)
3(南京理工大学计算机科学与工程学院 南京 210094)
随着对道路和车内状态监控等需求的不断提升,现代智能汽车搭载了越来越多的智能系统、远程通信应用和传感器.同时,现代智能汽车配备了强大的处理单元和大型存储设备,不仅被视为移动的网络节点,而且是一个具有智能处理能力的计算和存储中心[1].由此,通过将现代智能汽车与先进的远程信息处理技术相结合,传统的车辆自组织网络(vehicular ad hoc network,VANET)逐渐演化成了车联网(Internet of vehicles,IoV).车联网产业是汽车、电子、信息通信、道路交通运输等行业深度融合的新型产业形态[2],能够实现车内、车际、车与路、车与人、车与服务平台的全方位网络连接,提升汽车智能化水平和自动驾驶能力,从而提高交通效率、改善驾乘感受[3].目前,车联网已经成为汽车产业不可逆转的发展方向,预计到2025 年,中国市场75.9%的新车型将具备自动驾驶和联网功能.
然而,车联网高速发展的同时,车联网中的安全隐患也愈发严重,各类车联网安全攻击事件频频发生,给用户隐私、财产、驾驶安全等多个方面带来了极大的威胁[4-6].2021 年,英国网络安全公司揭露网联汽车充电器及其API 中存在的多个安全漏洞可能导致账户劫持、电费窃取、充电故障等多种严重后果[7].2022 年,研究人员发现一个存在了10 年之久的现代汽车APP 重大安全漏洞,黑客可以利用其远程启动、停止、锁定和解锁车辆[8].同年,NCC 组织发现攻击者可以利用蓝牙连接发起中继攻击,解锁并操作特斯拉Model 3 或Model Y 型号的车辆[9].可见,基础设施、移动应用、通信协议等车联网中的各个组成部分都成为了攻击者的目标.
车联网中攻击方式纷繁多样,其根本原因在于车联网本身处于一个开放的网络环境,车—路—云—移动设备相互连接,很多设备本身安全性不足且存在着大量漏洞,设备本身、通信连接和上层应用都提供了极多的攻击面.因此,本文总结了2018—2023 年5 月在网络安全顶级会议(ACM CCS,USENIX Security,NDSS,IEEE S&P)和其他高水平安全期刊/会议上发表的车联网安全相关文献,对车联网架构进行了细粒度的划分,并基于该架构对车联网安全威胁和对策进行全面地分析.图1 展示了近5 年网络安全顶级会议中车联网安全相关文献的发表情况,近年来车联网安全文献数量有不同程度的增长,说明车联网安全开始逐步受到企业和学术界的关注,对车联网安全展开系统化的研究势在必行.
Fig.1 IoV security related literature statistics in top cybersecurity conferences in recent 5 years图1 近5 年网络安全顶级会议车联网安全相关文献统计
目前,面向车联网安全的综述研究[4-5]还较少,本文在深入总结现有工作的基础上,将车联网分为车内网和车外网2 个部分,并且进一步将其细粒度地划分为不同子层,然后深入分析每个子层所面临的攻击威胁以及能够采取的安全对策.本文的主要贡献有3 个方面:1)系统总结了近5 年车联网安全相关文献,对车联网架构提出了更细粒度的层次划分;2)基于所提的车联网分层架构,深入分析了每层所面临的攻击威胁和能采取的安全对策;3)基于对攻击威胁和安全对策的分析,归纳了车联网安全的关键技术,并提出了对车联网安全研究的展望.
1 车联网架构
车联网可以分为车内网和车外网2 大组成部分,如图2 所示.车内网实现了车辆内部的数据采集、通信、处理和执行,以总线通信作为主要的通信方式.车外网中,车辆本身作为一个通信实体,参与构建了车、路边基础设施、云服务器、移动设备等各个设备间的交互协作体系.同时,这些设备之间的通信方式也各不相同,包括了3G/4G/5G、WiFi、蓝牙、LTE-V等多种通信方式.
Fig.2 IOV architecture图2 车联网架构
1.1 车内网架构
车内网是指汽车内部的网络结构,包含了车辆内部各种硬件、子系统及其通信,实现车内数据传输、通信和控制功能,为用户提供智能、舒适、高效的多种服务.如图2 所示,车内网系统架构主要包括固件层、车内通信层和应用决策层.
1.1.1 固件层
车内固件层由车辆内部的所有部件及车载设备组成.除了传统的汽车固件以外,智能汽车主要还包含了大量的传感器和电子控制单元(electronic control unit,ECU),这些组件是车辆智能化的基础.固件层组件构成了智能汽车的基本单元,完成数据采集、部分的数据处理和车辆控制等功能.
传感器负责感知车辆周围环境和数据采集,如道路情况、附近车辆位置、速度及车辆内部的环境等,并将物理量转化为电信号,交由其他层进行处理.常见的传感器包括车载摄像头、激光雷达(LiDAR)、全球定位系统(GPS)、车速传感器、超声波传感器和行车记录仪等.其中,摄像头、LiDAR 和GPS 这3 类传感器因为其功能、结构以及采集数据的关键性,在车联网安全中尤为重要.摄像头能够采集大范围的图像信息,将图像转换为二维数据,但容易受光照和雨雾等环境因素的影响;LiDAR 通过快速激光脉冲的反射光来测量车辆与周围环境的距离,同时可以生成对周围3D 环境的轮廓信息,形成所谓的“点云”(每个点由其三维坐标及强度信息组成),进而实现高精准定位和障碍物检测;GPS 能够精准定位车辆的地理位置并测算出车辆的实时行驶速度.在车内网中,这些种类多样的车载传感器分布在车辆的各个关键部位,监测和测量实时数据,提供给ECU 和其他部件进行进一步的判断和处理.
ECU 是车辆的核心控制单元,内部组件包括微控制器(microcontroller unit,MCU)、存储单元、输入/输出接口(I/O)和模数转换器(A/D)等,是汽车专用的微机控制器,能够直接控制车辆发动机、雨刮器、制动器等多个固件.一般来说,ECU 具有2 大功能:1)控制车辆功能.ECU 能够接收传感器数据并进行简单处理,然后对车辆的各个功能(如制动、驱动、变速等)进行控制.2)故障诊断与保护.当系统发生故障时,ECU 负责记录故障代码并采取相应措施对车辆进行保护.此外,ECU 也不都是独立运行的,随着智能汽车的逐步发展,车内ECU 的数量迅速增多,多个ECU 协作实现的功能也在逐渐增多.
1.1.2 车内通信层
车内通信层负责实现车内的数据传输和通信功能,通过汽车总线协议、以太网技术、无线网络等通信方式将车辆内部各组件连接起来,构成一个局域网络,实现信息共享.
总线技术是车内通信层中最常见的一种技术,也是目前研究关注的重点.车内总线协议包括控制器局域网络(controller area network,CAN)、本地互联网络(local interconnect network,LIN)、FlexRay 和媒体导向的系统传输(media oriented system transport,MOST)等.如表1 所示,CAN 总线是一种串行总线通信协议,通过差分信号对数据进行传输,支持点对点通信和广播通信2 种模式,旨在进行快速、可靠的通信.CAN 总线连接的各ECU 采取竞争方式向总线传输数据,通过报文标识符决定优先级,较高优先级的节点先发送报文,其余节点等待总线空闲后再次竞争.值得一提的是,CAN 总线是目前应用最广、最成熟的车内通信协议,现有的车内网通信安全的研究也聚焦于CAN 总线的规则、策略和漏洞利用.LIN 总线是一种低成本串行通信协议,由1 个主节点和若干从节点构成,可靠性及性能较低.LIN 总线报文发送的顺序是确定的,不是事件驱动的,即没有总线仲裁,常应用于车窗、雨刮器和空调等模块上.FlexRay总线具有高带宽、高容错和灵活的拓扑结构等特性,它采用周期通信的方式,但是成本和复杂性较高,被广泛应用于高性能实时应用,如车身电子系统、驱动控制系统和安全控制系统等.MOST 总线是一种专为车载多媒体应用设计的总线标准,使用光纤作为物理传输介质,具有极高的传输速率,并提供自动配置和网络管理功能,为车载多媒体数据的传输和共享提供了高效、稳定和高质量的解决方案.
Table 1 Intra-Vehicle Bus Protocols Feature Comparison表1 车内总线协议特征对比
随着高级驾驶辅助系统的发展,车内ECU、传感器的数量大规模提升,智能汽车迎来从分布式向域集中式的过渡,面对大量的高速传输需求,对车载网络带宽的需求也越来越高.在这种情况下,相比于CAN 等传统网络,车载以太网显示出了更强的优势.首先,车载以太网仅使用一根双绞线同时传输和接收数据,使得车内布线复杂度降低,这意味着更低的安装及维护成本.其次,车载以太网能够用最少的带宽传输最多的数据量,允许实时通信和低优先级的事件触发通信共存.最后,车载以太网还具备极佳的安全功能,能够为高度互联的车辆提供更强的安全防护能力.因此,车内以太网或将代替现有串行网络,成为未来车载网络通信的主要方式.
1.1.3 应用决策层
应用决策层负责根据采集到的实时数据规划决策车辆行为,其涵盖了多个功能和模块,以实现智能化驾驶和安全性增强,具体包括了辅助驾驶、能源管理和各种车载娱乐等功能.
在所有的车内应用中,自动驾驶系统是其最为关键的应用之一,也是目前车内网安全研究的重点.自动驾驶系统依赖人工智能(artificial intelligence,AI)技术对感知数据进行分析和处理,根据不断变化的驾驶场景实时地调整决策,在遵守交通规则的同时保证乘客的安全性.自动驾驶系统主要可分为2 个步骤:场景理解和决策规划.1)场景理解是系统通过各传感器对周围环境的感知,包括道路检测、定位与地图构建、目标检测与分类、动态跟踪等;2)决策规划则是在场景理解的基础上,对车辆当前行为的控制,包括路径规划、驾驶决策、车辆制动及转向等.
值得一提的是,自动驾驶系统本身包含了非常多的子模块,包括目标检测、目标跟踪、自动车道居中、路径规划、运动控制系统等,这些子系统完成单一的目标任务,然后协同构建整个自动驾驶系统.目标检测的任务是在一张图像中进行各种物体的分类任务,在单帧下对物体定位识别.目标跟踪则主要是针对视频流,根据视频第1 帧图像所带有的目标信息,在后续的视频帧中进行目标定位.自动车道居中系统可自动转向车辆以使其保持在行车道的中心,其最关键的步骤是车道检测,通常使用前置摄像头执行.路径规划系统根据目标位置和当前车辆位置等信息,除确定车辆行驶的整体路径,还需要考虑到交通规则、道路限制和用户偏好等因素.运动控制系统将决策转换为具体的控制指令,通常涉及到底层的车辆控制系统,例如转向、加速和制动等.
1.2 车外网架构
车外网借助新一代的移动通信技术,实现了车辆与外部环境通信和互联的系统架构,即车联万物(vehicle to everything,V2X),涵盖了车辆与车辆(vehicle to vehicle,V2V)、车辆与基础设施(vehicle to infrastructure,V2I )、车辆与行人(vehicle to pedestrian,V2P)、车辆与网络(vehicle to network,V2N )等之间的通信.通过车辆和外部设备之间的通信,实现交通信息的共享、管理优化、安全升级等功能.车外网为智能交通系统的发展和车辆互联的实现提供了基础框架,可分为设备层、车外通信层、应用与数据层3个部分,如图2 所示.
1.2.1 设备层
设备层是指车外网中所有的通信实体,是车外网组成的基本单元,主要包括云服务器、基站(base station,BS)、路侧单元(road side unit,RSU)、移动应用节点和网联汽车本身等.
1)云服务器.云服务器用于存储、处理和管理车联网数据.它是车联网技术中的核心组件之一,提供了强大的计算能力和存储资源,是车辆、用户和应用程序之间的桥梁,为智能交通、车辆管理和车辆服务等应用提供了强有力的支持.
2)基站.基站用于提供无线通信服务,基站负责接收和发送无线信号,使车辆能够与云服务器或其他设备进行通信,并实现诸如实时导航、车辆追踪、交通信息传输等功能.
3)路侧单元.路侧单元可收集道路信息并与车辆实现数据交互,引导车辆安全行驶,是车路协同、智慧交通的关键设施.
4)移动应用节点.移动应用节点通常是指用户手机和无线车钥匙等设备.当用户需要与网联汽车建立连接时,可以通过移动应用节点向服务器发送请求信息,从而远程控制车辆.
5)网联汽车.在车外网中,整个网联汽车也是一个非常重要的与其他设备进行通信的实体,同时是车外网交互的核心.
1.2.2 车外通信层
车外通信层提供了车辆之间,车辆与基础设施、移动设备、云平台等通信实体的交互能力.通过车外通信层,可以实现实时数据的交换与共享,从而支撑智能交通系统的高效运行和车辆之间的协同行驶.此外,由于车外网场景的需求,无线通信是最常用的通信技术,例如3G,4G,5G,Wi-Fi 等移动通信网络提供了广域范围内的车辆通信能力.根据交互实体的不同,车外网中主要包含了4 种主要的通信:
1)V2V 通信.是指车辆之间的通信方式,一般采用C-V2X 通信协议,使车辆能够共享交通信息、协同行驶和避免碰撞.
2)V2I 通信.是指车辆与基础设施之间的通信,一般也采用C-V2X 通信协议,其中包括车辆与交通信号灯、路边设备等的连接,以优化交通流量和提供实时导航信息.
3)V2P 通信.是指车辆与行人随身携带的手机等便携设备通过WiFi、Zigbee、蜂窝网络等技术进行的交互,多用于保障行人安全及车辆行驶安全,降低交通事故发生率.
4)V2N 通信.是指车辆与云端网络之间的连接,一般采用3G/4G/5G 通信,使车辆能够获取远程服务和云计算资源,例如车辆的诊断信息、行驶记录、电池状态等.这些数据可以用于车辆的远程监控、维护和分析,为车辆管理和服务提供支持.
1.2.3 应用与数据层
数据作为车联网的核心要素,具有巨大的应用潜力和价值,应用与数据层承担着数据处理、存储、传输和应用的功能.各个通信实体收集到的数据通过交互和共享,被应用于交通管理、智能驾驶、车辆安全等多个方面,比如驾驶员可以获取到实时的导航信息和交通状况,从而提升驾驶体验和安全性,云端也可以收集车辆、路边单元和用户传输的数据,以支持智能交通系统的优化和决策制定.其中,车联网应用与数据层的主要功能包括3 个方面:
1)数据存储与管理.大规模的车联网系统需要存储和管理庞大的数据量,这就需要车联网应用与数据层将车辆数据存储在云平台服务器中,并进行有效的管理.
2)应用开发与集成.车联网应用与数据层提供开发接口和工具,以支持车联网应用的开发和集成.开发者可以利用这些接口和工具,基于车辆数据开发各种应用程序,如智能导航、远程诊断、车辆共享等,实现更多智能化的车联网服务.
3)用户体验与个性化服务.车联网应用与数据层通过对车辆数据的分析和应用开发,为用户提供个性化的车联网服务和体验.例如,根据用户的偏好和行为习惯,提供定制化的导航建议、车辆健康报告、驾驶行为评估等.
2 车联网攻击威胁
车联网作为一个庞大而复杂的系统,其中的攻击威胁也纷繁多样.因此,本文基于第1 节所划分的车联网架构,依次对车内网和车外网内不同层级所面临的攻击威胁逐一地阐述分析.
2.1 车内网攻击威胁
根据1.1 节所述,车内网可分为固件层、车内通信层和应用决策层,事实上每一层都可能作为攻击者的目标,造成车辆失窃、故障、失控等严重后果,图3 展示了车内网中的主要攻击威胁手段.
Fig.3 Threats of intra-vehicle network attacks图3 车内网攻击威胁
2.1.1 固件层攻击威胁
车内网固件层主要由各种车载传感器及大量ECU 组成,它们对于汽车的功能、性能和安全都起着举足轻重的作用.车载传感器与外部环境相连接,感知并获取车辆周围环境信息;各ECU 通过车内总线相连接,管理并控制车辆功能.然而由于车联网的开放性与连接性,以及车内总线协议缺少安全机制等原因,固件层设备经常遭到攻击者的觊觎.攻击者可以通过网络攻击、物理接入或者利用软件漏洞等方式入侵车载传感器和ECU,进而损害车辆功能.根据各部件的功能与其所遭受攻击的不同,本节将分别介绍车载传感器和ECU 中存在的安全威胁.
1)车载传感器的安全威胁
车载传感器包括相机、LiDAR、GPS 等,用于感知车辆周围环境,获取当前环境与交通情况的信息.大部分传感器与外部环境直接相连,且其自身大都缺少安全验证与防御机制,获取的数据直接交由汽车感知应用层进行处理,因此能够间接影响驾驶系统的控制决策.车载传感器的安全威胁主要包含3 个方面:
①网络入侵.攻击者利用传感器上存在的漏洞,通过网络入侵传感器设备,达到操控传感器或者干扰传感器正常运行的目的.更严重的是,这些受损的传感器还可能成为攻击者入侵整个车辆的跳板,向其他良性的固件或者应用发起攻击.
② 信号欺骗.传感器需要从周围环境中采集数据,而传感器本身往往缺乏辨别输入可信度的能力,所以如果其接受了恶意的输入,就可能会引发严重的安全问题.这种通过伪造或篡改传感器信号来欺骗车辆控制系统的攻击方式被称为“欺骗攻击”.欺骗攻击也是目前车联网最主流的攻击方式之一,在众多车载传感器中,车载摄像机、GPS 与LiDAR 能够直接影响车辆自动驾驶系统,因而成为了攻击者的主要目标.
车载摄像机是采集信息和分析图像的主要途径,然而由于感知系统严重依赖摄像机获取的图片作为输入,因此攻击者如果使用投影图像或者电子图片,让感知系统将虚假物体误认为真实物体,就会导致车辆做出错误的判断和决策,即瞬时幻影攻击[10].此外,攻击者也可以通过在视频帧中引入的恶意噪声来改变目标对象的分类结果[11].同时,车载摄像机还容易遭受一些不可见光的影响,例如通过红外光能够改变摄像机的感知结果,使其环境感知、同步定位和映射过程产生错误[12].
针对GPS 的欺骗攻击,现有的工作主要为随意更改用户位置信息上,但是这种攻击方式通常会使导航指令与实际路线相矛盾.而更加隐蔽的攻击方式[13]通过使虚假导航线路与实际行驶线路保持一致,逐步地引导受害者到错误的目的地.此外,GPS 欺骗攻击还能够使自动驾驶系统中多传感器融合(multisensor fusion,MSF)机制的结果偏差呈指数级增长.MSF 是一种车内网常用的安全对策,能够将多个传感器所采集的信息进行集成和融合,进而弥补单个传感器的局限性,获得更全面、准确和健壮的感知结果.不过GPS 欺骗攻击FusionRipper[14]则能够使MSF只接收GPS 输入源.
LiDAR 能够生成高精度的3D 点云数据,为自动驾驶汽车提供更准确的环境感知能力.LiDAR 对外部环境的干扰非常敏感,其面临的攻击主要可分为基于激光的攻击和基于对象的攻击.基于激光的攻击方法使用激光信号向目标LiDAR 注入伪造的点云数据来欺骗感知模型[15];Cao 等人[16]提出一种物理移除攻击,通过在LiDAR 附近注入不可见激光脉冲,选择性地去除真实障碍物的点云数据,欺骗自动驾驶汽车的障碍物探测器;Hallyburton 等人[17]进一步提出在保留摄像机与LiDAR 数据的语义一致性的同时,隐蔽且持续不断地对系统进行欺骗攻击,从而破坏应用决策层的物体跟踪模块,并对端到端自动驾驶控制产生不利影响.基于对象的攻击使用具有对抗形状的物体来攻击LiDAR.例如Zhu 等人[18]提出在车辆附近一些特定位置周围放置具有反射表面的物体,以欺骗LiDAR 并达到对抗攻击的目的;Cao 等人[19]提出生成物理上可实现的、对抗性的、能够逃避LiDAR 感知检测的3D 打印物体,使车辆产生碰撞.
③物理破坏.攻击者通过物理接触的方式损害传感器元件或干扰传感器信号来破坏传感器的正常功能.例如,攻击者可以通过扭转摄像头的角度,使得其采集的画面发生形变.
2)车内ECU 的安全威胁
ECU 是车辆电子系统中最为重要的部件之一,通常由1 块或多块微控制器芯片组成,能够控制车辆系统的各种功能,如引擎管理、变速器控制、防抱死刹车等.但是,由于ECU 本身并没有过多地考虑安全问题,导致攻击者能够经过CAN 总线、传感器或者物理方式直接入侵ECU,使安全关键型ECU 功能受损,进而造成车辆敏感信息泄露、运行受阻、车辆失窃等严重后果.例如,攻击者可以利用汽车MCU的外围时钟门控功能,远程地使用软件冻结受损ECU 的输出,以便在总线上插入任意位,达到关闭ECU的效果[20].此外,攻击者还可以利用伪装攻击来操纵和模仿受害ECU 的电压指纹,在不被车辆入侵检测系统(intrusion detection system,IDS)检测到的情况下破坏系统所记录的总线电压[21].
2.1.2 车内通信层攻击威胁
车辆内部各部件通常会使用汽车总线协议进行通信,而其中CAN 总线应用范围最广,成为了攻击者的首要目标.CAN 主要被设计用于可靠和快速的通信,但因其缺少安全认证和防御机制,所以抵抗消息伪造、篡改、拒绝服务以及物理访问攻击等其他安全威胁的能力较弱,攻击者能够轻易地通过受损ECU 访问CAN 总线,发送和删除消息,误导车辆做出错误决策,甚至可以截获CAN 总线上的消息进行篡改,影响车辆正常运行等.CAN 总线的脆弱性主要体现在:缺乏加密、身份验证和完整性检查,以及协议规则不完善导致的协议漏洞.CAN 总线上的报文采用明文广播的通信方式,报文帧分为标准帧和扩展帧2 种类型,具体格式如图4 所示.值得注意的是,报文并不提供发送方地址和接收方地址,其ID位只表明消息优先级,在总线仲裁阶段优先级高的报文获得总线通信权,且报文只提供简单的CRC 校验位.
Fig.4 CAN frame format图4 CAN 帧格式
近年来,许多针对车联网CAN 总线协议脆弱性的攻击也不断被提出.Serag 等人[22]提出利用CAN协议的漏洞构建一种多阶段攻击,该攻击能够识别出车辆中的关键ECU,通过制造总线冲突使ECU 进入总线关闭状态并防止其恢复.CANflict[23]则提出一种纯软件的攻击方案,利用微控制器外围设备之间存在的引脚冲突来制作多语言帧,在数据链路层操纵CAN 总线.Groza 等人[24]则提出了一种针对CAN 的拒绝服务(denial of service,DoS)攻击,向CAN 发送大量高优先级帧导致传输错误,使目标ECU 进入总线关闭状态.
2.1.3 应用决策层攻击威胁
应用决策层遭受的外部攻击主要针对车内网中不同的车载应用,例如自动驾驶系统、交通标志识别系统、车载娱乐系统等.其中自动驾驶系统是目前智能网联汽车攻击者的主要目标,其原因主要有2 方面:1)自动驾驶系统需要大量采集周边环境数据,因此攻击者在无法直接入侵车内网络时可以借此达到攻击目的;2)自动驾驶系统直接关联车辆的行驶安全,一旦遭受破坏,具有极大的危害性.
目前,研究者们已经提出了很多针对自动驾驶系统的攻击方式.Cao 等人[25]提出将攻击任务作为优化问题来欺骗自动驾驶目标检测算法的机器学习模型.Jing 等人[26]利用车道检测模块过度敏感的特性,在路面上引入小标记,使过度敏感的车道检测模块将其视为有效车道.Muller 等人[27]根据3D 点云数据确定可用于物理扰动的有效区域,再利用Siamese 跟踪器的热图生成算法来控制感知系统中产生的物体边界框,以破坏目标跟踪算法中对象跟踪器的正常运行.Wan 等人[28]利用现有自动驾驶系统为了行驶安全而制定的过度保守的执行规则(即任何一个微小的问题都将导致车辆紧急减速甚至停止)设计了语义DoS 漏洞,可能导致车辆当前执行任务失败或车辆性能显著降低.Sato 等人[29]提出了一种适用于自动驾驶模型的物理对抗样本攻击——脏路补丁攻击,通过在车道上部署路面污渍图案作为物理对抗样本,攻击车道居中系统,从而使车辆偏离其行驶车道.
2.2 车外网攻击威胁
随着车辆智能化和网络化的程度不断提升,车辆与外部网络的交互能力与通信量也急剧增加.然而这种趋势还带来了愈加严重和复杂的车外网安全威胁,导致车辆面临被远程攻击、恶意控制、车辆位置隐私泄露等安全隐患,甚至可能出现大量网联汽车被批量控制,从而造成重大社会安全事件,如图5所示.根据第1.2 节所提出的车联网架构,本文分别从设备层、车外通信层和应用与数据层来阐述车外网的攻击威胁.
Fig.5 Threats of extra-vehicle network attacks图5 车外网攻击威胁
2.2.1 设备层攻击威胁
在车外网中,各类网络设备和车辆各自都是一个独立信息源,建立了车、路、云、人(移动设备)之间交互的车联网环境,然而这些设备都暴露在开放的网络环境中,且部分设备(如无线车钥匙)受到设备体积和计算资源的影响,设备安全性不高,因而容易遭受到各类外部攻击.本节我们将设备层的安全威胁分为网络终端设备安全威胁和恶意车辆安全威胁.
1)网络终端设备安全威胁
车内网中的终端设备主要包括路边单元、移动控制设备、诊断设备等.这些设备本身就可能存在一些可利用的漏洞,攻击者通过这些漏洞不仅能够入侵这些设备,甚至还能够以其为跳板,基于设备间的安全信任关系入侵其他的良性设备.例如,Dongle-Scope[30]发现可利用加密狗漏洞通过广播的通信方式与车辆检测系统OBD-II 建立连接,从而可以远程进入内部车辆系统,获取车载网络的内部通信信息,威胁汽车行驶安全.
此外,攻击者还可能伪装成一个良性的网络终端设备,通过与目标设备的交互来达到攻击目的,引发严重的安全后果.例如,Xie 等人[31]提出通过中继攻击等方式窃取大量目标车辆的通信数据,从中提取分析出认证和密钥算法,并利用这些信息假冒已有的良性设备,进而能导致用户在不知情的情况下解锁车门或者启动车辆.
2)恶意车辆安全威胁
在车外网中,车辆本身就是一个信息发送、接收、处理的主体,是车联网信息交互的核心,因而一个恶意的/虚假的车辆可能会对其他良性的车联网设备造成难以预计的安全损害.根据具体的攻击方式,恶意车辆安全威胁主要包括为3 个方面:
①虚假身份.在车联网这种无中心的网络中,车辆节点在缺少固定基础设施下也能直接通信,虽然无线通信中网络节点有唯一的标识符来证实车辆身份,但由于车联网环境中的车辆和路边设备繁多,车辆节点还是容易受攻击者伪造的虚假身份节点攻击[32].例如,恶意车辆在同一时刻或连续的时间段内声称有多个身份后,散布虚假消息或拒绝消息服务,甚至还可能引发其他类型的攻击[33];此外,攻击者还能够通过劫持车辆和云服务提供商(cloud service provider,CSP)之间的身份验证会话,进而冒充其他车辆与CSP 建立共享密钥[34].
② 隐私泄露.如果车辆在身份认证中使用真实身份ID 进行认证,那么车辆不但会暴露自身位置和轨迹隐私,还可能被攻击者冒充其真实身份[35].此外,攻击者还能够通过收集并分析这类数据,进一步推断出车主的个人隐私.
③恶意移动车辆.车联网中,部分恶意车辆会以合法身份完成接入认证,在被其他设备发现其恶意行为后,再借助网联汽车高速移动的特性来逃避后续的追责.甚至,这些恶意车辆会继续入侵其他良性网络,造成更严重的灾害[36-37].
2.2.2 车外通信层攻击威胁
在车外网中,车联网系统利用车作为信息源,建立以车为节点,车—路—云交互的V2X 网络系统.而系统内的实体在交互过程中会采用WiFi、移动通信网络(3G/4G/5G 等)、蓝牙等多种通信方式,但是这些通信方式中又存在着各种安全性问题,导致车辆在通信过程中面临着各种潜在的安全威胁和攻击.根据车辆通信交互的实体类型,我们将车外通信层安全威胁分为车与车通信安全威胁和车与其他设备通信安全威胁2 个方面.
1)车与车通信安全威胁
车与车的通信主要是指V2V 通信,该技术用于构建无线数据传输网络通信结构,以实现车辆间的信息共享和协作,并广泛应用于智能网联汽车的半自动/自动驾驶车队(vehicle platoon)场景中.然而这些通信协议本身往往就存在各种漏洞,一旦被攻击者利用,极有可能危及车辆行车安全.例如Hu 等人[38]发现网联汽车网络堆栈可用性违规的设计级缺陷可导致网联汽车遭受严重的DoS 攻击.Xu 等人[39]发现公开密钥体系(PKI)无法将车辆的数字身份与车辆的物理位置和状态绑定,允许攻击者假冒“幽灵”车辆,进而远程注入虚假数据,最终危及车队安全与效率.V-Range[40]提出攻击者利用5G 协议漏洞篡改了传输信号,进而导致安全测距系统出错,最后实现距离和位置操纵攻击,威胁汽车安全.
2)车与其他设备通信安全威胁
除了V2V 车际通信以外,车与设备通信也是攻击者的目标,比如车辆与路边基础设施、云、移动设备等的通信.车与其他设备通信会应用一些现有的通信方式(如蓝牙、WiFi 等),这些通信方式本身存在的安全风险在车联网中仍然无法避免,例如中继攻击[9].甚至,车联网的部署和应用还会产生一些新的通信场景,并引发一些新的安全风险.例如,Köhler等人[41]就提出一种组合攻击方式Brokenwire,其利用了电力线通信(power line communication,PLC)对特定电磁干扰的敏感性、无屏蔽的充电电缆以及低级通信协议中应用避免碰撞机制三大特征,中断了车辆和充电器之间必要的控制通信,导致充电过程终止.
2.2.3 应用与数据层攻击威胁
车联网作为一个为车、路、人、云等不同实体提供信息服务的集成网络,存在大量的应用和数据交互,旨在提升交通管理规划的能力和效率.然而,这些应用的部署和车内数据的外流又产生了新的安全威胁,主要包括3 个方面:应用安全威胁、数据安全威胁和数据隐私威胁.
1)应用安全威胁
应用安全威胁是指应用本身存在的安全漏洞可能遭受攻击者的利用,从而影响系统的正常运行,甚至可能影响系统内其他良性实体的安全.比如最常见的DoS 攻击,攻击者通过恶意实体向应用服务器发送大量的虚假信息,从而干扰、降低服务器的工作效率,严重时甚至会导致服务器停止工作.Chen 等人[42]发现利用数据欺骗可以破坏自己或他人车辆上的车侧设备,然后向智能交通信号系统发送恶意的信息,最终就能够影响系统中的交通控制决策.
2)数据安全威胁
车外网中存在大量的数据交互行为,但是数据的真实性、可信性和及时性将直接影响数据接收方的相应行为.恶意攻击者可能利用真实的身份信息伪装为可信节点,通过共享虚假的路况信息来掩盖其恶意行为.更严重的是,车外网中攻击者可能部署大量恶意节点进行共谋攻击,比如利用多个恶意节点(车辆)共谋向路边单元发送虚假信息,就能直接影响实时路况信息的正确性[43].
3)数据隐私威胁
智能汽车作为车联网中一个最重要的数据来源,不可避免地需要将本车数据与外部实体进行交互共享,以提升车载服务质量、改善驾乘体验,但是这些信息中可能直接或间接包含着用户自身的隐私数据,因此就产生了隐私泄露[44].例如,在用户使用网约车系统时需要向其提交位置信息,这就可能直接引发了严重的隐私问题[45-46].此外,Zhou 等人[47]利用车辆的速度信息和环境信息(比如实时交通和交通法规)能够间接推导出车辆的行驶轨迹.
3 车联网安全对策
面对车联网攻击威胁,研究者们提出了不同的安全对策以实现对攻击的检测或者系统安全性的增强.本节依据第1 节所划分的车联网架构,进一步归纳车联网每层中所能采取的安全对策.值得注意的是,每层中的攻击威胁与安全对策并不是完全对应的关系,比如固件层中恶意ECU 的检测通常在车内通信层才能实现.
3.1 车内网安全对策
车内网的安全对策直接关系到车主的切身利益,对车辆架构安全、行驶安全都至关重要.按照1.1 节车内网架构我们将分别从固件层、车内通信层和应用决策层来描述车内网的安全对策.
3.1.1 固件层安全对策
由2.1.1 节固件层安全威胁分析可知,智能网联汽车固件层面临的安全问题主要出现在车载传感器和车内ECU 上,于是研究者们也提出了与之对应的安全对策.
对于车载传感器,可采取的安全对策主要包含3 点:1)多传感器融合.将多个传感器采集的数据进行融合,提高感知结果的准确性和可靠性,但是目前也存在针对多传感器融合机制的攻击方式[14].2)改进传感器内部结构.以LiDAR 为例,可以通过减少接收角度和过滤不需要的光谱等方式降低攻击面,但这也降低了LiDAR 测量反射激光脉冲的能力,限制了设备的使用范围和灵敏度.3)改进传感器的运行策略.比如提高LiDAR 发射激光脉冲方式的随机性,每个周期发射一组随机的激光脉冲、随机化激光脉冲波形、随机关闭发射器以验证是否有任何意外输入信号,但这也大大增加了系统复杂性,并牺牲部分性能[25].此外,除了利用固件层安全对策来增强传感器安全性以外,现有的研究者更倾向于在应用决策层通过改进模型与算法,基于软件的方法来弥补传感器自身的缺陷(见3.1.3 节).
对于ECU 上存在的安全威胁问题,现有的安全对策包含2 个方面:1)改进ECU 架构,以增强其安全性,比如Poudel 等人[48]提出一种新型ECU 架构,其结合了安全性和可靠性的原语,使ECU 响应时间、能源效率和错误恢复能力显著提升.2)对ECU 进行身份验证,检测恶意ECU.车内的入侵检测系统IDS能检测受损ECU、不受监控的ECU 和其他ECU 的攻击,是目前最主流的ECU 安全增强对策.但是值得注意的是,由于CAN 协议的特性,接收器无法识别帧的发送者,而且CAN 的带宽、有效载荷和计算资源有限,使得一些身份验证方式如消息验证码(message authentication code,MAC)等只能在有限的范围能被采用,因此ECU 的身份验证具有很大的挑战性,只能通过一些其他特征来辅助IDS 判断,如硬件引起的信号特征差异[49].当然,这类基于流量的ECU 安全对策都是在车内通信层实施的,我们将在3.1.2 节中进行更细致的讨论和分析.
3.1.2 车内通信层安全对策
如3.1.1 节所述,车内通信层的安全对策除了对车内协议(如CAN 总线)进行安全增强外,还包括了对ECU 的身份识别,表2 对近5 年车内通信层代表性的安全对策进行了比较分析.
1)CAN 总线安全增强
目前主流的CAN 总线安全增强对策是基于对CAN 报文、帧格式、规则等特征的提取,设计入侵检测系统IDS 来检测外部的恶意攻击.例如,Jedh 等人[50]设计了一种消息-序列图,用以标识ECU 消息之间的序列关系,进而利用消息-序列图的相似性度量检测CAN 总线消息注入攻击.Xue 等人[51]提出一种消息注入攻击的防御方案SAID,根据传入消息对当前消息上下文和车辆状态是否造成安全隐患,来判断该消息是否异常.Bhatia 等人[21]通过对帧格式进行协议兼容的修改,生成独特的“方言”,以检测所有ECU的伪装攻击.Han 等人[52]提出基于CAN 消息的周期性事件触发间隔来检测和识别车辆网络异常的方法.
此外,学者们也提出在CAN 总线上实施物理防御措施,比如物理隔离、电磁干扰检测和电流监测等.这些措施主要针对CAN 总线的物理结构和传输介质进行保护,以减少攻击者对CAN 总线的访问和干扰.例如,Groza 等人[24]提出一种基于反应式防御的总线修改方案,通过在总线上放置继电器,使网络拓扑结构在遭受攻击时发生改变,并能够隔离部分节点和重定向流量,防止攻击者完全控制总线.
2)ECU 身份识别
由于攻击者对CAN 或ECU 展开攻击的最终目的通常是控制关键的ECU 以损害车辆功能,因此许多研究重点在于设计一个确定发送者ECU 身份的方法[53].对每个ECU 身份的精准识别不仅能抵御ECU身份模拟和篡改攻击,还能够防止未经授权的ECU介入通信,进而增强车辆整体的安全性.目前,主流的ECU 身份识别方法都是基于ECU 指纹实现的,CAN 上的一些特征(如报文频率、报文发送时间间隔和时序等信息)都可以作为ECU 指纹,进而对ECU 身份进行识别.例如,Choi 等人[54]对CAN 上的信号进行采样作为ECU 指纹来设计入侵检测系统,以检测总线关闭攻击.此外,Popa 等人[55]认为单一特征可能不足以区分大量的ECU,提出对平均电压、最大电压、位时间和平台时间4 个特征进行综合考量,以增强ECU 身份识别的准确性.
3.1.3 应用决策层安全对策
车内网应用决策层安全对策研究主要集中在2个方面:1)针对自动驾驶整体系统的漏洞检测;2)针对环境感知系统模型的安全研究.
攻击者可能利用感知或决策功能的漏洞和弱点对自动驾驶系统进行攻击,因此目前一般采用模糊测试的方法来自动化挖掘自动驾驶系统中的漏洞.PlanFuzz[28]提出了一种漏洞挖掘框架,将“计划不变量”作为特定问题的测试预言(test oracles),引入了一种动态测试方法来生成攻击输入数据,能有效发现自动驾驶系统的语义DoS 漏洞.DriveFuzz[56]则提出了一种自动化模糊测试框架,利用高保真度驾驶模拟器生成和变异驾驶场景,并基于真实世界的交通规则构建测试预言,旨在全面测试整个自动驾驶系统而非系统中的单个层次以发现潜在漏洞.
此外,针对传感器欺骗攻击等造成的环境感知系统错误,研究者们也更多选择从模型和算法的角度增强系统的安全性,而不需要对现有固件做出较多修改.针对摄像机欺骗攻击,现有方案提出特征检测和在模型的训练数据中添加对抗性示例的方法,以辨别攻击者添加扰动后的摄像机图像[26];Nassi 等人[10]使用4 个轻量级神经网络评估物体真实性,验证检测到的对象以抵御瞬时幻影攻击;PercepGuard[11]利用检测到的物体的时空属性,并交叉检查轨迹和类预测之间的一致性来检测错误分类攻击;Wang 等人[12]提出一种基于软件的方法,通过识别和过滤光源模块和反射检测模块,检测攻击者故意发射的红外光.
针对LiDAR 欺骗攻击,Sun 等人[15]提出将被忽略的遮挡模式作为不变的物理特征来检测虚假车辆,并提出顺序视图融合的方法,通过顺序融合LiDAR点云的前视图和3D 表示,使得模型能够更充分地利用前视图的特征,进一步降低欺骗攻击成功率;Cao等人[16]考虑了2 种检测方法:假阴影检测和基于方位角的检测,其中,假阴影检测通过比较图中点云阴影区域和计算得到的区域来检测物理移除攻击;基于方位角的检测计算场景中所有点云的方位角值以找寻缺失的点云数据;Xiao 等人[57]提出一种即插即用的防御模块,利用一个结合物体深度信息的局部物体关系预测器对深度与点密度之间的关系进行建模,帮助LiDAR 感知系统、排除伪造的障碍物.
3.2 车外网安全对策
车外网安全对策旨在保护车辆外部通信安全、车外网系统安全以及数据安全与隐私等方面.我们将根据第1.2 节车外网架构,即设备层、车外通信层和应用与数据层来阐述车外网的安全对策.
3.2.1 设备层安全对策
目前,车外网设备层安全对策主要致力于解决车辆身份安全威胁,因此车联网密钥协商和身份认证协议成为了研究的重点.但是根据2.2.1 节所述,在解决车辆身份认证问题,实现对虚假身份识别的同时,还需要考虑2 方面的挑战:1)对车辆身份、位置等隐私信息的保护;2)对恶意车辆的追踪.为了克服这2 个挑战,现有研究采用了各种方法,如同态加密[32]、椭圆曲线[35]、属性加密[36]、物理不可克隆函数(physical unclonable function,PUF)[37]等,表3 从核心方法、隐私保护、溯源性、特征、场景5 个角度对现有方法进行了比较.
Table 3 Comparisons of Extra-Vehicle Device Layer Security Countermeasures表3 车外设备层安全对策对比
韩牟等人[32]提出了一种面向移动边缘计算车联网的车辆假名管理方案,该方案利用边缘云替代中心云以提高身份认证效率,并采用同态加密技术解决边缘云车辆假名信息泄露问题.此外,姚海龙等人[35]针对匿名性和前向安全性的脆弱问题和主密钥泄露问题,使用椭圆曲线密码和Hash 函数设计了认证密钥协商协议.考虑到身份验证开销难以被资源受限的车载单元接受的问题,侯琬钰等人[37]提出了一种基于PUF 的轻量级5G 车联网匿名认证和密钥协商协议,精简了车辆通信中的认证和密钥协商过程,降低了通信开销和时延.Feng 等人[58]发现现有的身份验证方案需要多次提供新的证书,从而增加了通信开销和存储开销,提出了一种新颖的隐私保护认证协议P2BA,实现了高效通讯和存储,提升了车联网的认证效率和隐私保护水平.
3.2.2 车外通信层安全对策
对于车外通信层的安全,目前主流的安全对策都是通过对协议的安全性增强来实现,比如漏洞挖掘与修复[38]、改进协议的格式[39]或者改进信号传输方式[40]等.具体而言,Hu 等人[38]针对网联汽车网络堆栈中的设计缺陷,提出了一种协议级别的漏洞挖掘方案,并通过系统化的安全结果量化评估,揭示了网联汽车网络协议的4 个新型DoS 漏洞以及2 个网联汽车车队管理协议的14 个新型DoS 漏洞.此外,Xu 等人[39]提出了一种针对车队通信的新型访问控制协议PoF,用于验证候选方与验证方之间的跟踪距离.PoF 将候选车辆的数字身份与验证方的属性和车队距离绑定,以实现安全的车辆间通信.Singh 等人[40]提出了第一个5G-NR 无线电架构的安全测距系统VRange,通过缩短正交频分复用技术中的符号长度,在短时间内聚集能量,保障了距离估计的正确性.
3.2.3 应用与数据层安全对策
应用与数据层安全对策主要集中在对数据安全和数据隐私的保护方向.其中数据共享作为数据隐私保护的一种重要场景,受到了非常多的关注.因此,我们将从数据安全、数据隐私、数据共享3 个方面分别阐述现有的安全对策.
数据安全的关键在于确保通信数据的完整性、真实性和正确性.例如,玄世昌等人[43]提出了一个信誉积分管理机制,利用区块链技术对共享数据进行可信验证,有效地防止了恶意节点的操纵和攻击行为,并检测车联网中共谋节点发出的虚假路况信息.
针对数据隐私保护,研究者们目前主要考虑车联网中基于位置的服务需要用户上传具体的位置信息,进而引发的隐私泄露问题,目前主流的方法是使用一些先进的加密、混淆、缓存、匿名等方法来保护位置/轨迹隐私信息.例如,吴宣够等人[59]提出了一种最大化路径覆盖的数据上报方案,在保障用户单点位置隐私的基础上,进一步保护了移动用户的轨迹隐私.徐川等人[60]利用差分隐私方法设计了一个位置隐私保护方案,能够满足用户个性化隐私需求的同时提供基于位置的服务.
除了位置隐私以外,车联网中的不同实体间还需要实现其他数据的共享,这些数据也可能导致一些关键信息的泄露,比如车辆控制系统的参数.莫梓嘉等人[61]结合了区块链和联邦学习方法,将激励机制引入联邦学习架构中,实现了分布式高效的数据共享.Nekouei 等人[62]提出了一种随机滤波框架,能够防止车辆的共享数据遭受推断攻击所导致的主动转向控制系统的控制器增益值泄露.
4 车联网安全关键技术
车联网是一个复杂的多实体、多协议的集成网络,存在大量攻击面,因此为了保障车联网安全,研究者们提出了不同的安全对策以增强每个层级的安全性.其中协议逆向、漏洞挖掘、固件仿真和模型安全保护4 种技术在车联网安全领域尤为关键.
4.1 协议逆向
目前,汽车主流的通信总线主要包括4 种:CAN、LIN、FlexRay、MOST,其中CAN 是使用最广泛的汽车通信总线.不同的车辆通常具有差异化的CAN 消息语法规范,从而阻碍相同规范对不同车辆设置和型号的适用性,并且这些正式规范通常由汽车制造商保密[63].然而,这些CAN 消息的“未知性”不仅给很多安全分析技术带来一定困难,还可能成为安全威胁的“防护衣”.例如,汽车制造商通过这些未记录的CAN 消息,悄无声息地收集用户的隐私数据[64].因此,逆向分析技术[65]不仅有助于防御各类汽车网络攻击和提高安全分析能力,而且能够有助于保护用户隐私数据等权益.
目前,学者们已经提出了多个针对CAN 消息的协议逆向方法.READ[63]通过分析具有相同ID 的CAN 消息有效载荷的有序序列,计算有效载荷中每个比特的翻转率和比特翻转幅度,进一步识别信号边界以自动提取信号.LibreCAN[66]对READ 算法的信号提取机制进行改进,将提取出的信号与收集自OBD-Ⅱ和智能手机传感器的信息进行匹配,进而提取信号语义.AutoCAN[64]则利用了“不同的信号能够表现出明显不同的行为”这一特征,对所划分的各类信号的合理性进行分析,并通过穷举法挖掘各信号间的数据关系.DP-Reverser[67]提出了基于CAN 的应用层诊断协议进行逆向分析的工具,借助摄像机自动触发和捕获诊断协议的消息,能够准确提取出车辆诊断协议中的信号,并实现对信号语义的推断.CANHunter[68]提出一种跨平台CAN 消息逆向系统,仅通过分析车载移动应用程序而不需要真实汽车就能够逆向CAN 总线命令.
4.2 漏洞挖掘
车联网中的漏洞挖掘技术目前主要针对2 类漏洞:系统漏洞和协议漏洞.系统漏洞主要是指自动驾驶系统中存在的漏洞,而协议漏洞则是指车联网通信协议漏洞.
自动驾驶系统漏洞挖掘方法代表性的成果是PlanFuzz[28]和DriveFuzz[56],主流的漏洞挖掘技术主要可以分为白盒测试、黑盒测试和灰盒测试3 种类型.1)白盒测试.在了解目标程序内部结构、实现和运行机制的基础上进行,主要针对自动驾驶系统中的各个模块进行测试,可以深入了解系统内部的工作原理,但是无法全面覆盖所有可能的场景和情况.2)黑盒测试.在不了解目标应用程序内部结构和实现的情况下进行,只能根据输入和输出观察系统行为,主要通过构建真实场景来测试自动驾驶系统的性能和安全性,可以覆盖更多的场景和情况,但是无法深入了解系统内部的工作原理.3)灰盒测试.在只能部分了解应用程序的内部结构和实现信息的情况下进行,设计针对性的自动驾驶测试用例,既能够发现明显的漏洞和异常行为,又能够探索更复杂的逻辑漏洞和系统缺陷.此外,按具体的技术可以划分为符号执行、随机测试、模糊测试和混合测试等,这些方法在车联网场景上同样得到了充分的运用,但仍然存在一些挑战,例如符号执行方法需要解决路径爆炸问题.
此外,车联网中使用的通信协议同样存在许多漏洞,因此在考虑车联网特性的基础上可以引入传统的安全分析方法.例如,Hu 等人[38]针对车联网中存在的漏洞与攻击,如DoS 攻击、消息欺骗和数据篡改等,提出了一种自动化漏洞发现系统CVAnalyzer,该系统能够及时发现协议漏洞并加以修复.CVAnalyzer 使用模型检测技术来分析协议栈中可能存在的漏洞,并生成攻击序列以验证漏洞是否真实存在.
4.3 固件仿真
智能网联汽车中包含了大量的ECU,而无论是针对这些ECU 的安全分析还是攻击,理解其内部架构或运行原理都是关键的第一步,因此固件仿真成为一种重要的车联网安全技术.
然而,针对网联汽车ECU 的固件仿真存在着2 方面的挑战:1)难以使用现有的仿真工具模拟ECU 架构.不同于嵌入式设备常见的ARM 或MIPS 架构,ECU通常会使用一些更加复杂的架构,例如V850/RH850或C166,使得其难以被现有的仿真环境(如QEMU[69]和Unicorn[70])所支持,很多ECU 的仿真只能依赖于手工操作[71].2)难以实现外设支持.外设支持是传统固件仿真技术中的一个难点,在车联网环境中这一点变得更为重要.网联汽车内,多个ECU 通过CAN总线连接,每个ECU 可能有多个外设.而之前的固件仿真器大多以设备为中心,缺乏对外设的支持,但是在车内网中,许多ECU 需要其他ECU 和外设的存在才能成功地初始化和运行.
目前,MetaEmu[72]提出了一个面向汽车固件的仿真框架,利用Ghidra 的语言定义实现了多架构融合的虚拟执行环境,支持对汽车固件的动态分析以及对多个组件间的交互分析.
4.4 模型安全保护
AI 和深度神经网络技术在车联网中被大量地应用,特别是在一些计算机视觉任务中,如交通标志符检测、车道检测、行人识别等.然而,神经网络模型的可靠性和安全性将直接影响车辆的行驶安全,因此AI 模型的安全问题也变得更加尖锐.例如,Sato 等人[29]提出了一种新的物理对抗样本攻击,利用肮脏的道路作为对抗样本,当车载摄像头扫描到此类对抗样本时,便会影响模型生成的驾驶决策,使汽车偏离轨道中心.此外,针对交通标志识别系统的对抗样本攻击[73-74]将会导致车辆对交通标志的误分类.
面对这些模型安全攻击,可行的安全对策可以分为2 大类:1)系统改进.修改整体系统的运行规则,比如不再依赖单个传感器(如摄像头)作为输入的唯一来源,而采用多数据融合(如LiDAR、地图)的方式,提高攻击者生成可用对抗样本的难度.2)模型安全性增强.目前主流的模型防御方法包括3 种类型:输入图像预处理[75]、对抗样本检测[76]和模型增强[77].具体来说,输入图像预处理[75]通过对感知层收集的图像进行压缩、消除对抗特征等方式来保证图像输入的正确性.对抗样本检测[76]直接检测对抗特征,从而区分良性样本和对抗样本,阻止对抗样本进入AI 模型.模型增强[77]则是在训练阶段增强AI 模型,使用知识蒸馏、梯度优化等方法来提高模型的鲁棒性,从而大幅度削弱对抗样本的攻击效果.
5 未来展望
车联网是由传统的车辆自组织网络演变而成的,经历长期的发展过程,以及高带宽低时延的5G 通信时代的到来,使得车联网进入了新的高速发展阶段.然而有大量的车联网安全问题值得关注与研究,车联网中存在极多的安全场景需要探索.
1)车联网协议逆向
目前,车联网协议逆向算法针对下层CAN 协议逆向工程的分析相对较多,上层协议的分析较少,而且协议分析的精度也有进一步提升的空间.具体包括3 个方面:
①高精度的信号分割算法.对于数据段只存在信号值的CAN 帧,目前大多都是基于比特翻转率分割信号,然而其算法特征会导致精度偏低,难以精确地识别各个信号.因此,探究出一个精度更高的信号分割算法将是一个重要的研究方向.
②针对诊断协议的协议逆向研究.诊断协议作为车载协议的重要组成部分,可以访问和操控汽车组件.但目前的车联网协议逆向技术大多用于恢复CAN 帧数据段的信号,不能适用于上层的诊断协议.因此,诊断协议逆向工程也是未来研究方向之一.
③对其它通信总线协议的逆向分析.除了CAN,车内通信总线还有LIN、MOST 和FlexRay,但目前的研究都是对CAN 的逆向分析,针对其它通信总线的协议逆向也是未来值得研究的内容.
2)实时通信场景安全防护
车联网通信对实时性的要求极高,这是车辆能够迅速获取数据并做出决策的基本前提.因此,车外网中短程的车际通信和车路通信,以及车内以太网通信都将会是未来的发展重点.然而,在车外网中,目前仍然存在很多安全与隐私的问题,具体包括:①通信数据的可信性.设备在收到外部数据时不仅需要判断数据来源的身份的真实性,还需要判断数据本身的完整性和正确性.②数据的隐私保护.设备之间的数据传输是车联网的必然要求,但是数据隐私泄露也是巨大的威胁.一方面,需要使用加密、差分隐私、匿名等方法对关键的隐私信息进行隐藏;另一方面,还需要防范推理攻击等间接获取用户隐私.③通信协议的安全性.目前车联网协议仍然存在很多漏洞,给通信带了安全隐患.此外,目前车内通信安全的研究大都关注于CAN 总线协议,但是对车内以太网的安全性研究还非常有限,是未来值得考虑的方向.
3)车联网模型安全与隐私
AI 是车联网的核心要素之一,除了传统的集中式模型训练方法外,联邦学习等新型模型训练方式也在被应用于车联网场景中[61].而AI 模型的安全性和整体系统安全息息相关,这在自动驾驶系统中显得尤为突出,现有的车联网模型安全问题主要集中于对抗样本攻击,利用物理对抗样本引发模型的误分类.但是,已有研究表明针对AI 模型还存在大量的攻击方式,比如后门攻击[78-79]能够在模型训练过程中植入触发器,使得模型在面对特定输入时会将其分类到攻击者指定的类型.
此外,联邦学习等新技术的引入也会导致新的模型隐私攻击,比如成员推理攻击[80]、属性推理攻击[81]和偏好分析攻击[82]等,攻击者能够通过分布式训练的过程获取到目标数据集的隐私信息[83].
4)车联网漏洞挖掘
车联网的固件、通信和应用中都存在着大量已知/未知的漏洞,这些潜在的漏洞一旦遭到攻击者利用,将造成无法估量的风险.现有的车联网漏洞挖掘工作还较少,存在很大的发展与提升空间.未来可以从4 个方面做出进一步地研究:①覆盖率提升.进一步提高测试用例生成算法的多样性和覆盖率,以更全面地挖掘潜在漏洞.②可扩展的测试环境.车联网场景复杂多样,因此需要开发更加真实、可扩展、可重复使用的测试环境构建工具,以更好地模拟真实世界中复杂多变的驾驶场景.③海量数据分析.车联网的数据非常庞大,因此探索新型数据收集和分析技术,如深度学习、强化学习等,有助于更好地处理大规模、高维度、复杂结构的数据.④规范化测试.研究自动驾驶系统测试的标准化和规范化,以确保测试结果的可靠性和可重复性,并为自动驾驶系统的商业化应用提供技术支持.
6 结束语
本文结合现有的车联网安全相关文献研究,针对复杂多样的车联网场景,对车联网架构进行了细粒度的划分,从车内网和车外网2 个部分考量,划分出固件层、车内通信层、应用决策层、设备层、车外通信层和应用与数据层6 个层级.基于该细粒度架构,本文详细总结了每一层中存在的攻击威胁,同时分析归纳了每层目前采用的安全对策.此外,针对性地介绍了目前车联网安全所需要的4 类关键技术,指出了其作用、挑战和现有工作.最后,在总结当前研究的基础上,展望了未来车联网安全技术的研究方向,为后续研究提供参考.
作者贡献声明:况博裕负责撰写论文;李雨泽负责文献收集和整理,以及论文修订;顾芳铭负责部分文献收集和整理;苏铓负责部分论文修订;付安民负责整体架构规划,以及论文修订.