A Fast Construction Method of the Erasure Code with Small Cross-Cloud Data Center Repair Traffic
-
摘要:
近年来,云数据中心故障频发,因而各大机构纷纷采用跨云数据中心多副本技术对数据进行容灾存储.与跨云数据中心多副本技术相比,跨云数据中心纠删码技术可靠性更高、冗余度更低. 但是,现有跨云数据中心纠删码技术无法同时满足低跨云数据中心修复流量、高编码参数适应性和高纠删码构造效率,因而尚未在生产系统中得到普遍应用. 提出一种低跨云数据中心修复流量的纠删码的快速构造方法(fast construction method of the erasure code with small cross-cloud data center repair traffic, FMEL),该方法可在不同编码参数下快速构造具有低跨云数据中心修复流量的纠删码. 具体而言,FMEL首先将纠删码修复组分布方案及用户指定的编码参数转换为定长特征向量,并基于支持向量机对各特征向量进行快速分类以检验其对应纠删码修复组分布方案和编码参数的匹配性——某特征向量属于正类表示其对应纠删码修复组分布方案与编码参数相匹配. 而后,FMEL用一种并行搜索算法从所有通过检验的纠删码修复组分布方案中选出平均跨云数据中心修复流量较小的一个方案,并用一种试错算法将其转换为具有低跨云数据中心修复流量的纠删码的生成矩阵. 跨云数据中心环境中的实验表明,与现有的可在不同编码参数下构造出能达到平均跨云数据中心修复流量下限的最优码的工作相比,FMEL可将纠删码构造用时缩短89%,且在大部分编码参数下,二者构造的纠删码的跨云数据中心修复流量相同. 此外,与其他几类常用纠删码相比,FMEL构造的纠删码可将跨云数据中心修复流量降低42.9%~56.0%.
Abstract:Compared with cross-cloud data center replication, cross-cloud data center erasure code is more reliable and space-efficiency. However, existing cross-cloud data center erasure codes cannot achieve low cross-cloud data center repair traffic, high encoding parameters adaptability, and high erasure code construction efficiency at the same time, so they are rarely used in production. We propose a fast construction method of the erasure code with small cross-cloud data center repair traffic, called FMEL, which can obtain the erasure code with small cross-cloud data center repair traffic quickly under different encoding parameters. Specifically, FMEL converts erasure code repair group distribution schemes and the corresponding encoding parameters into fixed-length feature vectors, and verifies whether the erasure code repair group distribution schemes match the encoding parameter by classifying corresponding feature vectors with a support vector machine—a feature vector positively indicates that the corresponding erasure code repair group distribution scheme passes the verification. Then, FMEL uses a parallel search algorithm to pick the erasure code repair group distribution scheme with the smallest cross-cloud data center repair traffic from all distribution schemes passing the verification, and converts it into the generator matrix of the erasure code with small cross-cloud data center repair traffic. Experiments in a cross-cloud data center environment show that FMEL can construct the optimal code that can achieve the lower bound of cross-cloud data center repair traffic under most encoding parameters. Meanwhile, FMEL’s erasure code construction time is 89% less than the existing work’s optimal code construction time. Compared with several popular erasure codes, the erasure code constructed by FMEL can reduce the cross-cloud data center repair traffic by from 42.9% to 56.0%.
-
随着对道路和车内状态监控等需求的不断提升,现代智能汽车搭载了越来越多的智能系统、远程通信应用和传感器. 同时,现代智能汽车配备了强大的处理单元和大型存储设备,不仅被视为移动的网络节点,而且是一个具有智能处理能力的计算和存储中心[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年网络安全顶级会议中车联网安全相关文献的发表情况,近年来车联网安全文献数量有不同程度的增长,说明车联网安全开始逐步受到企业和学术界的关注,对车联网安全展开系统化的研究势在必行.
目前,面向车联网安全的综述研究[4-5]还较少,本文在深入总结现有工作的基础上,将车联网分为车内网和车外网2个部分,并且进一步将其细粒度地划分为不同子层,然后深入分析每个子层所面临的攻击威胁以及能够采取的安全对策. 本文的主要贡献有3个方面:1)系统总结了近5年车联网安全相关文献,对车联网架构提出了更细粒度的层次划分;2)基于所提的车联网分层架构,深入分析了每层所面临的攻击威胁和能采取的安全对策;3)基于对攻击威胁和安全对策的分析,归纳了车联网安全的关键技术,并提出了对车联网安全研究的展望.
1. 车联网架构
车联网可以分为车内网和车外网2大组成部分,如图2所示. 车内网实现了车辆内部的数据采集、通信、处理和执行,以总线通信作为主要的通信方式. 车外网中,车辆本身作为一个通信实体,参与构建了车、路边基础设施、云服务器、移动设备等各个设备间的交互协作体系. 同时,这些设备之间的通信方式也各不相同,包括了3G/4G/5G、WiFi、蓝牙、LTE-V等多种通信方式.
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总线是一种专为车载多媒体应用设计的总线标准,使用光纤作为物理传输介质,具有极高的传输速率,并提供自动配置和网络管理功能,为车载多媒体数据的传输和共享提供了高效、稳定和高质量的解决方案.
表 1 车内总线协议特征对比Table 1. Intra-Vehicle Bus Protocols Feature Comparison协议 最大带宽 特点 应用范围 CAN 1 Mb/s 可靠传输、抗干扰、总线仲裁 仪表装备、安全控制、车身控制、发动机管理等 LIN 20 Kb/s 单主/多从结构、低延迟、低成本 电动门窗、座椅调节、灯光照明、车载传感器等 FlexRay 20 Mb/s 可靠、灵活、高带宽、高容错、确定性 稳定控制、线控转向、制动控制等 MOST 150 Mb/s 环形拓扑、单方向传输数据 车内多媒体应用 随着高级驾驶辅助系统的发展,车内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展示了车内网中的主要攻击威胁手段.
2.1.1 固件层攻击威胁
车内网固件层主要由各种车载传感器及大量ECU组成,它们对于汽车的功能、性能和安全都起着举足轻重的作用. 车载传感器与外部环境相连接,感知并获取车辆周围环境信息;各ECU通过车内总线相连接,管理并控制车辆功能. 然而由于车联网的开放性与连接性,以及车内总线协议缺少安全机制等原因,固件层设备经常遭到攻击者的觊觎. 攻击者可以通过网络攻击、物理接入或者利用软件漏洞等方式入侵车载传感器和ECU,进而损害车辆功能. 根据各部件的功能与其所遭受攻击的不同,本节将分别介绍车载传感器和ECU中存在的安全威胁.
1) 车载传感器的安全威胁
车载传感器包括相机、LiDAR、GPS等,用于感知车辆周围环境,获取当前环境与交通情况的信息. 大部分传感器与外部环境直接相连,且其自身大都缺少安全验证与防御机制,获取的数据直接交由汽车感知应用层进行处理,因此能够间接影响驾驶系统的控制决策. 车载传感器的安全威胁主要包含3个方面:
① 网络入侵. 攻击者利用传感器上存在的漏洞,通过网络入侵传感器设备,达到操控传感器或者干扰传感器正常运行的目的. 更严重的是,这些受损的传感器还可能成为攻击者入侵整个车辆的跳板,向其他良性的固件或者应用发起攻击.
② 信号欺骗. 传感器需要从周围环境中采集数据,而传感器本身往往缺乏辨别输入可信度的能力,所以如果其接受了恶意的输入,就可能会引发严重的安全问题. 这种通过伪造或篡改传感器信号来欺骗车辆控制系统的攻击方式被称为“欺骗攻击”. 欺骗攻击也是目前车联网最主流的攻击方式之一,在众多车载传感器中,车载摄像机、GPS与LiDAR能够直接影响车辆自动驾驶系统,因而成为了攻击者的主要目标.
车载摄像机是采集信息和分析图像的主要途径,然而由于感知系统严重依赖摄像机获取的图片作为输入,因此攻击者如果使用投影图像或者电子图片,让感知系统将虚假物体误认为真实物体,就会导致车辆做出错误的判断和决策,即瞬时幻影攻击[10]. 此外,攻击者也可以通过在视频帧中引入的恶意噪声来改变目标对象的分类结果[11]. 同时,车载摄像机还容易遭受一些不可见光的影响,例如通过红外光能够改变摄像机的感知结果,使其环境感知、同步定位和映射过程产生错误[12].
针对GPS的欺骗攻击,现有的工作主要为随意更改用户位置信息上,但是这种攻击方式通常会使导航指令与实际路线相矛盾. 而更加隐蔽的攻击方式[13]通过使虚假导航线路与实际行驶线路保持一致,逐步地引导受害者到错误的目的地. 此外,GPS欺骗攻击还能够使自动驾驶系统中多传感器融合(multi-sensor 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校验位.
近年来,许多针对车联网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节所提出的车联网架构,本文分别从设备层、车外通信层和应用与数据层来阐述车外网的攻击威胁.
2.2.1 设备层攻击威胁
在车外网中,各类网络设备和车辆各自都是一个独立信息源,建立了车、路、云、人(移动设备)之间交互的车联网环境,然而这些设备都暴露在开放的网络环境中,且部分设备(如无线车钥匙)受到设备体积和计算资源的影响,设备安全性不高,因而容易遭受到各类外部攻击. 本节我们将设备层的安全威胁分为网络终端设备安全威胁和恶意车辆安全威胁.
1) 网络终端设备安全威胁
车内网中的终端设备主要包括路边单元、移动控制设备、诊断设备等. 这些设备本身就可能存在一些可利用的漏洞,攻击者通过这些漏洞不仅能够入侵这些设备,甚至还能够以其为跳板,基于设备间的安全信任关系入侵其他的良性设备. 例如,DongleScope[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年车内通信层代表性的安全对策进行了比较分析.
表 2 车内通信层安全对策对比Table 2. Comparisons of Intra-Vehicle Communication Layer Security Countermeasures类别 方案 优点 缺点 CAN总线
安全增强文献[50] 不需要识别ECU身份;
不需要计算消息熵.有针对性地模仿合法消息序列的攻击难以被检测;
LSTM计算量大,耗时较大.文献[51] 同时考虑了车辆状态和消息语义;
有效防御针对CAN的来自车外的消息注入攻击.不能完全防御车内ECU传输的恶意数据. 文献[21] 能够防止ECU的电压指纹受到损坏;
轻量级.随机化标识符可能引入更复杂的通信机制和协议处理;
增加了通信开销.文献[52] 不依赖于CAN ID;
识别准确率高.仅基于CAN消息的事件触发特征进行检测,对一些特定类型攻击无法有效识别. 文献[24] 物理隔离入侵节点;
高可靠性;
能够有效防止DoS攻击.车内布线的复杂度增加;
引入继电器等固件带来额外成本.ECU身
份识别文献[53] 准确识别消息的发送者和接收者;
快速、成本低,无需对车辆进行拆卸.时钟偏移容易受各种因素影响;
攻击者可以通过修改时间戳来干扰CANvas的映射过程,从而影响准确性.文献[54] 不需要对当前CAN网络进行修改,实施成本低;
能够区分错误和总线故障攻击.对车辆电源状态敏感;
攻击者注入的恶意信号可能导致模型训练阶段出错.文献[55] 综合性实验数据集;
时钟偏差和电压特征相结合,增强可靠性.时钟偏差容易被伪造;
电压特征难以采集.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个角度对现有方法进行了比较.
韩牟等人[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无线电架构的安全测距系统V-Range,通过缩短正交频分复用技术中的符号长度,在短时间内聚集能量,保障了距离估计的正确性.
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类关键技术,指出了其作用、挑战和现有工作. 最后,在总结当前研究的基础上,展望了未来车联网安全技术的研究方向,为后续研究提供参考.
作者贡献声明:况博裕负责撰写论文;李雨泽负责文献收集和整理,以及论文修订;顾芳铭负责部分文献收集和整理;苏铓负责部分论文修订;付安民负责整体架构规划,以及论文修订.
-
表 1 参数符号及其含义
Table 1 Notations and Presentations of the Parameters
符号 含义 N 数据中心总数 zs 数据中心编号 DCzs 数据中心 n 编码条带中的编码块数 k 原始条带中的数据块数 d 容灾度 D 容错度 CO 纠删码 yi 编码块 xj 数据块 H 校验矩阵 {\boldsymbol{h} }_{j*},{\boldsymbol{h} }_{*i } 校验矩阵的行向量、列向量 {h_ji } 校验矩阵中的元素 G 生成矩阵 {\boldsymbol{g} }_{j* },{\boldsymbol{g} }_{i* } 生成矩阵的行向量、列向量 { {g} }_{ji } 生成矩阵中的元素 \mathcal{T} 纠删码Tanner图 {CN}_{j} 纠删码Tanner图中的校验端点 {VN }_{i } 纠删码Tanner图中的变量端点 T 修复组 R 编码块分布方案 C 编码块修复组分布方案 E 纠删码修复组分布方案 m 编码块的大小 P 编码参数 Po 抽样概率 表 2 FMEL与多副本的对比
Table 2 Comparison Between FMEL and Replications
评估指标 FMEL
(n=6, k=2)3副本 FMEL
(n=9, k=5)2副本 \bar{T} 1 1 0.67 1 \bar{t} / (ms·MB-1) 86.6 83.2 62.1 82.1 d 5 3 1 1 D 2 2 1 1 n/k 3 3 1.8 2 -
[1] Cheng Yuxia, Yu Xinjie, Chen Wenzhi, et al. A practical cross-datacenter fault-tolerance algorithm in the cloud storage system[J]. Cluster Computing, 2017, 20(2): 1801−1813 doi: 10.1007/s10586-017-0840-5
[2] 搜狐. 亚马逊AWS证实晚间宕机[EB/OL]. (2019-06-24)[2019-08-11]. http://www.sohu.com/a/322769512_115060 SOHU. Amazon AWS confirms the downtime in night [EB/OL]. (2019-06-24)[2019-08-11]. http://www.sohu.com/a/322769512_115060 (in Chinese)
[3] 搜狐. AWS 数据中心再出断电事故, 丢失数据超过1TB[EB/OL]. (2019-09-05)[2021-09-24]. https://www.sohu.com/a/338998898_468733 SOHU. Unexpected power outage in AWS data center causes over 1TB of data loss [EB/OL]. (2019-09-05)[2021-09-24]. https://www.sohu.com/a/338998898_468733 (in Chinese)
[4] 新浪科技. 光缆挖断影响支付宝[EB/OL]. (2015-05-27)[2019-08-11]. http: //tech.sina.com.cn/i/2015-05-27//doc-iavxeafs8200893.shtml Sina Technology. Cable smashing affects Alipay [EB/OL]. (2015-05-27)[2019-08-11]. http://tech.sina.com.cn/i/2015-05-27//doc-iavxeafs8200893.shtml (in Chinese)
[5] 搜狐. 日本地震危及数家IT巨头设在东京的数据中心[EB/OL]. (2019-06-03)[2019-08-11]. http://it.sohu.com/20110311/n279778961.shtml SOHU. Japan earthquake threatens data centers of several IT giants in Tokyo [EB/OL]. (2019-06-03)[2019-08-11]. http://it.sohu.com/20110311/n279778961.shtml (in Chinese)
[6] 科技迅. 官方回应亚马逊中国云服务大规模故障[EB/OL]. (2019-06-03)[2019-08-11]. http://www.kejixun.com/article/190603/464156.shtml Kejixun. Official response to large-scale failure of Amazon China cloud service: Affected by the construction party to cut fiber [EB/OL]. (2019-06-03)[2019-08-11]. http://www.kejixun.com/article/190603/464156.shtml (in Chinese)
[7] Wang Huaimin, Shi Peichang, Zhang Yiyan. JointCloud: A cross-cloud cooperation architecture for integrated Internet service customization[C]// Proc of the 37th IEEE Int Conf on Distributed Computing Systems (ICDCS). Piscataway, NJ: IEEE, 2017: 1846−1855
[8] Zhang Yuchao, Nie Xiaohui, Jiang Junchen, et al. BDS+: An inter-datacenter data replication system with dynamic bandwidth separation[J]. IEEE/ACM Transactions on Networking, 2021, 29(2): 918−934 doi: 10.1109/TNET.2021.3054924
[9] Zhou Tianli, Tian Chao. Fast erasure coding for data storage[J]. ACM Transactions on Storage, 2020, 16(1): 1−24
[10] Wang Yijie, Li Sikun. Research and performance evaluation of data replication technology in distributed storage systems[J]. International Journal of Computer and Mathematics with Applications, 2006, 51(11): 1625−1632 doi: 10.1016/j.camwa.2006.05.002
[11] 王意洁,许方亮,裴晓强. 分布式存储中的纠删码容错技术研究[J]. 计算机学报,2017,40(1):236−255 doi: 10.11897/SP.J.1016.2017.00236 Wang Yijie, Xu Fangliang, Pei Xiaoqiang. Research on erasure code-based fault-tolerant technology for distributed storage[J]. Chinese Journal of Computers, 2017, 40(1): 236−255 (in Chinese) doi: 10.11897/SP.J.1016.2017.00236
[12] Wang Yijie, Pei Xiaoqiang, Ma Xingkong, et al. TA-Update: An adaptive update scheme with tree-structured transmission in erasure-coded storage systems[J]. IEEE Transactions on Parallel and Distributed Systems, 2017, 29(8): 1893−1906
[13] 俞新杰. 跨数据中心容错的云存储系统[D]. 杭州: 浙江大学, 2016 Yu Xinjie. Cloud storage system with cross datacenters fault tolerance [D]. Hangzhou: Zhejiang University, 2016 (in Chinese)
[14] Caneleo P, Mohan L, Parampalli U, et al. On improving recovery performance in erasure code based geo-diverse storage clusters [C] //Proc of the 12th Int Conf on the Design of Reliable Communication Networks. Piscataway, NJ: IEEE, 2016: 123−129
[15] Chen H, Hu Yuchong, Lee P, et al. NCCloud: A network-coding-based storage system in a cloud-of-clouds[J]. IEEE Transactions on Computers, 2013, 63(1): 31−44
[16] Hu Yuchong, Chen H, Lee P, et al. NCCloud: Applying network coding for the storage repair in a cloud-of-clouds [C]//Proc of the 10th USENIX Conf on File and Storage Technologies. Berkeley, CA: USENIX Association, 2012: 21
[17] Hu Yuchong, Lee P, Zhang Xiaoyang. Double regenerating codes for hierarchical data centers [C]//Proc of the IEEE Int Symp on Information Theory (ISIT). Piscataway, NJ: IEEE, 2016: 245-249
[18] Xie Xin, Wu Chentao, Gu Junqing, et al. AZ-Code: An efficient availability zone level erasure code to provide high fault tolerance in cloud storage systems [C]//Proc of the 35th Symp on Mass Storage Systems and Technologies (MSST). Piscataway, NJ: IEEE, 2019: 230−243
[19] Bao Han, Wang Yijie, Xu Fangliang. An adaptive erasure code for JointCloud storage of Internet of things big data[J]. IEEE Internet of Things Journal, 2020, 7(3): 1613−1624 doi: 10.1109/JIOT.2019.2947720
[20] 亚马逊. AWS上的云存储[EB/OL]. (2021-09-24)[2021-09-24].https: //aws.amazon.com/cn/products/storage/ AWS. Cloud storage on AWS[EB/OL]. (2021-09-24)[2021-09-24].https://aws.amazon.com/cn/products/storage/ (in Chinese)
[21] Huang Cheng, Simitci H, Xu Yikang, et al. Erasure coding in windows Azure storage [C]//Proc of the USENIX Annual Technical Conf. Berkeley, CA: USENIX Association, 2012: 2
[22] Sathiamoorthy M, Asteris M, Papailiopoulos D, et al. XORing elephants: Novel erasure codes for big data[J]. VLDB Endowment, 2013, 6(3): 325−336
[23] Shahabinejad M, Khabbazian M, Ardakani M. On the average locality of locally repairable codes[J]. IEEE Transactions on Communications, 2017, 66(7): 2773−2783
[24] Saeed S. Sandooq: Improving the communication cost and service latency for a multi-user erasure-coded geo-distributed cloud environment [D]. Urbana-Champaign: University of Illinois at Urbana-Champaign, 2016
[25] Xu Fangliang, Wang Yijie, Ma Xingkong. Incremental encoding for erasure-coded cross-datacenters cloud storage[J]. Future Generation Computer Systems, 2018, 87: 527−537 doi: 10.1016/j.future.2018.04.047
[26] 包涵,王意洁,许方亮. 基于生成矩阵变换的跨数据中心纠删码写入方法[J]. 计算机研究与发展,2020,57(2):291−305 Bao Han, Wang Yijie, Xu Fangliang. A cross-datacenter erasure code writing method based on generator matrix transformation[J]. Journal of Computer Research and Development, 2020, 57(2): 291−305 (in Chinese)
[27] Murashka V. A generalization of Hall’s theorem on hypercenter [EB/OL]. (2021-08-16)[2022-07-25].https://arxiv.org/abs/2103.04900v2
[28] Wang Yijie, Li Xiaoyong, Li Xiaoling, et al. A survey of queries over uncertain data[J]. Knowledge & Information Systems, 2013, 37(3): 485−530
[29] Wang Yijie, Ma Xingkong. A general scalable and elastic content-based publish/subscribe service[J]. IEEE Transactions on Parallel & Distributed Systems, 2015, 26(8): 2100−2113
[30] Wang Zhenya, Yao Ligang, Cai Yongwu, et al. Mahalanobis semi-supervised mapping and beetle antennae search based support vector machine for wind turbine rolling bearings fault diagnosis[J]. Renewable Energy, 2020, 155: 1312−1327 doi: 10.1016/j.renene.2020.04.041
[31] Shankar K, Lakshmanaprabu S, Gupta D, et al. Optimal feature-based multi-kernel SVM approach for thyroid disease classification[J]. The Journal of Supercomputing, 2020, 76(28): 1−16
[32] Sherki P, Vala V. A class-incremental classification method based on support vector machine[C/OL]// Proc of the 14th IEEE Int Conf on Semantic Computing (ICSC). Piscataway, NJ: IEEE, 2020: 31−36
[33] Li Xiaolu, Li Runhui, Lee P, et al. OpenEC: Toward unified and configurable erasure coding management in distributed storage systems [C]//Proc of the 17th USENIX Conf on File and Storage Technologies. Berkeley, CA: USENIX Association, 2019: 331−344
[34] Liu Tao, Wu Shaocheng, Li Jin, et al. Blockchain-based trusted sharing of electric energy privacy data[C]// Proc of the Int Conf on Cyberspace Innovation of Advanced Technologies. New York: ACM, 2020: 556−564
[35] 优刻得. 优刻得官网[EB/OL]. (2021-09-24)[2021-09-24].https: //www.ucloud.cn UCloud. UCloud's official website [EB/OL]. (2021-09-24)[2021-09-24].https://www.ucloud.cn (in chinese)
[36] Gao Zhen, Zhang Lingling, Cheng Yinghao, et al. Design of FPGA-implemented Reed-Solomon erasure code decoders with fault detection and location on user memory[J]. IEEE Transactions on Very Large Scale Integration Systems, 2021, 29(6): 1073−1082 doi: 10.1109/TVLSI.2021.3066804
[37] Apache. Apache Hadoop 3.0. 0 [EB/OL]. (2021-09-24)[2021-09-24]. http://hadoop.apache.org/docs/r3.0.0/
[38] Andrew F. Storage architecture and challenges at Google faculty summit 2010[EB/OL]. (2010-06-29)[2019-08-11]. https://www.systutoriaLS.com/3306/storage-architecture-and-challenges/
[39] Samal S. Yahoocos [EB/OL]. (2015-02-03)[2019-08-11]. https://yahooeng.tumblr.com/post/116391291701/yahoo-cloud-object-store-object-storage-at
-
期刊类型引用(0)
其他类型引用(1)