APP下载

车载网络入侵检测技术综述

2022-10-12童一帆陈涛陈宇鹏

汽车工程学报 2022年5期
关键词:攻击者总线车载

童一帆,陈涛,陈宇鹏

(中国汽车工程研究院股份有限公司,重 401122)

现代汽车是由传感器、电子控制单元(Electronic Control Unit,ECU)和执行器组成的复杂系统,通过不同类型的车内网络连接来控制和监测车辆的状态。随着智能化、网联化的发展,汽车搭载了更多的ECU和外部通信接口,为用户提供智能网联服务和网络安全。然而,随着汽车的复杂性和互联性的不断提高,且现有车载网络设计缺乏网络安全考虑,汽车的安全风险也日益突出。

网络安全问题正在成为车载网络系统的主要关注点。数以百万计的汽车面临各种安全风险,如2015年MILLER等使用Wi-Fi开放端口侵入Jeep Cherokee的车载网络系统,并通过重新编程ECU的固件成功控制了该车的核心功能(如禁用制动和停止发动机),导致140万辆汽车被召回。相关汽车攻击案例引发了对汽车网络安全的广泛研究。

目前,行业内各整车制造公司未普遍采用有效的安全技术手段来应对汽车安全风险。该现状对于黑客入侵行为无法进行有效的防护,从而导致车辆隐私数据或敏感数据的丢失,同时也会导致车辆行驶功能受到远程控制或破坏,对行车安全造成重大影响。入侵检测技术是应对这一情况的有效解决方案,该技术可以识别非法入侵行为,对车主或整车制造厂进行快速预警,车主或整车制造厂根据预警信息进行应急响应,将安全风险降到最低。

对车载网络的保护通常分为以下3类:(1)将消息帧进行加密确保其机密性和完整性;(2)使用防火墙对潜在的危险接口进行监控;(3)搭建车载网络入侵检测系统(Intrusion Detection System,IDS)。

在上述分类中,不同的方法具有不同的优缺点。加密和认证的方式虽能有效保护车载网络的信息传输,但现有车载网络由于其自身在计算能力、带宽等方面的局限性,导致这些方法无法被部署。例如,在计算机领域,对于通信连接普遍采用3次握手协议,握手成功后才进行有效信息传递。如果CAN总线引入该机制,对动力系统等发送实时性高的报文(10 ms)会造成重大延误,在车辆激烈驾驶过程中势必会引发功能安全问题,因此CAN总线不适合引入重安全机制。此外,车载网络的攻击入口分布在车机、网关、车身控制器等多个控制器上,且各控制器编译环境不同,有的控制器还采用了汽车专用操作系统,所以无法通过部署一套计算机领域常用的防火墙来完全隔离威胁和各种攻击源。

IDS可部署在车载网络流量集中的控制器上,通过对车载网络报文的实时检测,能够有效识别异常报文和冗余报文,对车主和整车厂进行实时预警,车主和整车厂根据预警信息的程度,采取相应的应急解决措施,同时整车厂可根据预警信息,对未被入侵的车辆采取有效的补救方案,因此,IDS技术的应用能够有效解决车载网络信息安全风险。

1 车载网络架构概述

现代车辆的典型架构集成了一组网络组件,包括传感器、执行器、ECU和通信设备。车内网络有助于传感器、ECU和执行器之间的数据共享,从而实现车辆的运行。在现代车载通信系统中广泛使用的车载网络包括本地互连网络(Local Interconnect Network,LIN)、CAN、FlexRay、以太网和面向媒体的系统传输(Media Oriented System Transport,MOST)。表1对上述车载网络的特点进行了概括与比较。

表1 车内网络类型与特点

LIN提供的低通信速度适用于时间性能要求不高的应用,如电池监控、车窗升降器控制等。如果要适用于对性能和带宽具有较高要求的应用,则需要增加系统成本,FlexRay、MOST和以太网就是属于此种类型。例如,FlexRay可用于转向角传感器、安全雷达等,以太网和MOST可用于信息娱乐系统。在所有车载网络类型中,CAN由于其较低成本、较全工具链、一定的抗噪与容错性成为使用最广泛的车载网,尤其用于汽车动力系统、车身控制系统等。然而,由于CAN的安全性不足而易受到安全威胁,本文所提到的大部分入侵检测技术都是基于CAN的。

CAN总线的传输速率可以达到125 Kbit/s及以上,其总线拓扑结构在传输电缆末端带有两个120 Ω的终端电阻。CAN总线上的节点在接收到消息时会与发送节点同步时间,因此不需要同步以规范通信。总线在空闲状态下,其上的每个节点都可以访问总线,并以广播的形式发送所要传输的信息。对于接收消息的节点,其通过消息过滤器根据消息ID决定接收哪个消息。多个节点同时传输消息的情况下,需要通过载波侦听多路访问与冲突避免,以及消息优先级仲裁竞争对总线的访问,ID越小的消息具备的优先级越高。CAN消息帧格式示意如图1所示。

图1 CAN总线消息帧格式[20]

如图1所示,一个CAN帧由以下7个字段组成:

(1)起始位:通知所有节点开始传输的单个显性位。

(2)仲裁域:由2个主要部分组成;表示消息/帧的ID并在仲裁过程中使用的标识符字段,以及根据CAN帧的种类确定的远程传输请求(Remote Transmission Request,RTR)。

(3)控制域:有2个保留位和4个数据长度代码。

(4)数据域:保存传输到其他节点的实际数据。

(5)循环冗余校验(Cyclic Redundancy Check,CRC):保证消息的有效性。收到消息的所有其他节点都使用此代码验证消息。

(6)确认字符(Acknowledge Character,ACK):分为ACK部分和分隔符部分。接收到有效消息的节点用显性位(即逻辑0)替换作为隐性位(即逻辑1)的ACK部分。

(7)终止位:7个隐性位组成的标志,指示帧的结束。

2 车载网络攻击

智能网联汽车容易受到多种不同程度的网络攻击,从数据窃听到出行安全,甚至瘫痪整个交通系统。一般来说,网络攻击可以分为两类:被动攻击和主动攻击。被动网络攻击(如窃听)主要违反目标系统安全的保密要求并导致隐私泄露(如对位置信息、对话数据和摄像头记录等隐私数据的访问)。主动网络攻击可以通过插入、删除或修改消息来阻碍系统的功能。通过对现有工作的回顾,车载网络的常见网络攻击阐述如下。

2.1 拒绝服务攻击

拒绝服务(Deny of Service,DoS)攻击旨在干扰系统的预期功能。比较常见的DoS中,攻击者可能会发送许多合法请求,超出服务系统的处理能力,致使系统资源耗尽而无法响应其他合理请求。在车联网环境中,攻击者可以向路边单元(Road Side Unit,RSU)发送许多请求消息使RSU过载,这种情况下车辆无法获得该RSU所共享的重要消息,从而导致严重后果。CAN网络中的攻击者可以利用消息仲裁机制,不断发送具有高优先级的消息从而阻断其他ECU节点的消息传输。

2.2 消息注入和重放攻击

消息注入(MI)攻击的主要原理是在网络中注入伪造的消息,重放攻击是将之前的消息重新注入到网络中。在CAN网络中,攻击者可以控制某个ECU,并通过它将伪造的消息发送到CAN总线上;而重放攻击中则需要首先对之前的消息进行存储,然后再在某个时间点将原来的消息发送到CAN总线。例如,攻击者可以存储车速表读数并稍后将其再次广播到网络。

2.3 消息操纵

这种攻击通过更改/修改或删除消息来影响数据的完整性。例如,攻击者可以修改消息的内容。攻击者可能会修改消息的内容而不影响其发送与接收时间。字段修改和删除攻击是消息操纵攻击的典型类型。在删除攻击中,攻击者先删除受感染的ECU并输出缓冲区中的消息,然后再将它们传输到CAN总线上。

2.4 伪装攻击

要发起伪装攻击,攻击者需要渗透两个ECU(A和B)。攻击者首先监视CAN总线以了解A以什么频率发送了哪些消息,然后停止A的传输并利用B代表A制造和注入消息。

2.5 恶意软件攻击

恶意软件可能以病毒、蠕虫、间谍软件等多种形式存在,攻击者可以将它们利用通信接口的漏洞注入系统。例如,将恶意软件加入到多媒体文件中,并利用其多媒体系统固件输入漏洞实现恶意软件的运行,从而将恶意消息发送到CAN总线上,以实现消息注入攻击、重放攻击、DoS等特定类型的攻击。

3 车载CAN网络IDS类型

近年来,汽车恶意攻击的数量有所增加。因此,车载网络安全问题越来越受到关注。入侵检测技术作为一种网络安全增强方法,成本低,部署方便。

入侵检测依赖于观测的数据,在车载网络中主要是各节点(如ECU)之间交换的数据。例如,1条CAN消息,其具有固定的格式,包括消息ID、数据内容、校验码等,表示某个事件或过程。消息的时间戳或者数据范围都可以作为特征成为区分消息是否正常的依据,从而实现入侵检测。

一般而言,可以将数据集的特征分为两种类型:物理特征和网络特征。物理特征是指描述系统物理状态的特征(如速度、发动机转速),而网络特征是指描述系统通信和数据方面的特征(如消息数量、数据序列)。为了强化学习算法的辨别能力,需要剔除不相关的特征,所以精确地选择合理的特征不仅能够降低计算成本,对提高学习算法的泛化能力也具有重要意义。

通常将传统的IDS分为两类:基于签名的IDS和基于异常的IDS。基于签名的IDS需要对已有攻击模式进行匹配,如黑名单就是一种常见的基于签名的IDS。当观察到匹配的攻击模式时则报告入侵。由于基于签名的IDS只对已知的攻击进行报告,所以具有较低的误报率,但检测新攻击(如0-day攻击)的能力有限。为了能够抵御新型攻击,签名数据库需要保持最新。此外,存储大型签名数据库并对其执行模式匹配,对CPU、内存等资源的要求都比较高。

基于异常的IDS对正常的系统行为进行建模,并将与正常系统行为有显著偏差的行为视为入侵。该方法不必每次存储最新的攻击模式,且能够识别新型攻击,但是如果对正常系统的行为建模不精确容易产生误报。此外,正常系统行为的建模依赖于不受攻击的数据,而这些“纯净”数据在现实世界中并不一定能够获得。与基于签名的IDS相比,基于异常的IDS由于不需要存储签名,所以需要更少的内存即可满足要求。

近年来,针对车载网络的入侵检测技术进行了大量研究。从车载网络IDS设计的角度来看,其可以分为基于流量的IDS、基于负载的IDS和混合IDS。基于流量的IDS监控车辆的内部网络,并从中提取不同的特征(如消息频率和间隔)。然后使用提取的特征来识别入侵或异常行为,而无需检查消息的有效负载;基于负载的IDS检查消息的负载以识别入侵;混合IDS是前两个类别的组合。针对上述分类,典型的车载网络入侵检测技术阐述如下。

3.1 基于流量的IDS技术

HOPPE等通过分析车载网络的实际攻击案例,提出了基于异常的IDS跟踪特定目标消息类型的所有CAN消息,并评估当前的消息频率和之前的是否一致。此外,建议在检测到攻击时,在考虑周围环境条件的同时,所提出的系统能够自适应地通过车辆的多媒体设备向驾驶员报告安全事件。

LING Congli和FENG Dongqin基 于CAN总 线上传输的消息ID与其可中断的发生频率提出了一种CAN入侵检测算法。对于给定消息类型(即ID),该算法会计算其连续消息的数量。如果可中断序列中的消息计数大于预定阈值,则算法会发出可能攻击的警报。该算法在检测操纵消息内容的同时保持其频率的攻击方面能力有限。

SONG等提出了一种基于CAN消息时间间隔统计分析的轻量级IDS,主要原理是根据消息频率分析异常流量,从而用于检测注入攻击。在正常运行条件下,ECU生成的消息有自己的固定频率或间隔。当车辆受到消息注入攻击时,这些频率或间隔会意外更改。试验表明,受到注入攻击的消息频率比正常情况高出20~100倍。

CHO和SHIN构建了一个基于时钟的入侵检测系 统(Clock-based Intrusion Detection System,CIDS),其可以检测包括伪装攻击在内的各种类型的攻击。由于CAN协议没有在CAN消息中提供发送器的身份,所以利用消息周期性来提取和估计发射器的时钟偏差,从而用于对发射ECU进行指纹识别。累计时钟偏移是通过将平均时钟偏移的绝对值相加得到的,根据定义,其斜率表示时钟偏移且是恒定的。这使所提出的CIDS能够根据到达时间戳估计时钟偏差,从而对消息发送器进行指纹识别以便进行入侵检测。

AVATEFIPOUR提出了一种基于机器学习的模型,该模型通过学习接收到的数据包的物理信号属性,将CAN数据包与其发送源进行“绑定”。所提取的物理信号特征向量由11个时域和频域统计信号属性组成,包括高阶矩、频谱合度、最小值、最大值和不规则性等属性,然后用于基于神经网络的分类器。试验结果表明,该模型对通道和ECU分类的正确检测率分别为95.2%和98.3%。

基于熵的信息论方法也可以用来检测车载网络的消息注入、DoS等攻击。相比于传统的计算机网络,车载网络中的流量更受限制,因为每条消息及其内容都是在传输之前指定的。这意味着正常网络操作中数据的熵(即不确定性)几乎是固定的并且相对较低。因此,通过观察熵值可以很容易地检测到改变数据熵的入侵。例如,MI攻击会降低熵值,因为特定消息的数量会增加。因此,IDS可以通过检测熵的变化来判断是否存在攻击的指标。

由上文可知,基于流量型的IDS技术可有效识别特定数据包和频率的异常情况,对于传统CAN总线网络适用性更强,同时实时性好。但是对于面向服务的车载网络,由于服务信号可以根据服务需求进行变更,那么基于流量型的IDS技术则很难对新增的服务信号做出响应,也无法发现新增服务信号的篡改等风险,所以该技术有其局限性。

3.2 基于负载的IDS技术

BEZEMSKIJ等通过监控车辆的不同车载资源(如传感器、网络和处理)的实时网络和物理特征实现入侵检测,分为学习阶段和检测阶段。在学习阶段,将车辆学习特征的正常值范围作为正常行为配置文件。在检测阶段,如果某个特征的观察值超出其正常范围,则检测机制会报告攻击。所提出的机制能够检测信息注入攻击和伪装攻击。

MARKOVITZ等通过一个分类器将CAN消息拆分为字段并识别字段类型及其边界,而无需事先了解消息格式。由此可知存在3类场:常数场、多值场和计数器或传感器场。然后,检测系统根据从分类器获得的ECU消息的特征(即字段类型和边界)为每个ECU构建模型。该模型基于三元内容可寻址存储器(Ternary Content Address Memory,TCAM)对ECU发送的消息进行匹配,任何与TCAM不匹配的消息都被标记为异常。

STABILI等基于不同ID类别的连续有效载荷之间的汉明距离提出了一种入侵检测算法。在学习阶段,为提出的算法建立了一个正常范围的有效汉明距离。然后,它分析通过CAN总线传输的所有消息的有效载荷序列,并将相同ID的连续有效载荷之间的汉明距离与有效汉明距离的正常范围进行比较。试验结果表明,所提出的算法在检测消息注入攻击时效果较好。

KANG等提出了一种基于深度神经网络(Deep Neural Networks,DNN)的IDS。检测模型是基于从ECU之间交换的车载网络数据包的比特流中提取的高维特征进行训练。一旦特征被训练并存储在分析模块中,所提出的系统就会检查车辆网络中交换的数据包,以确定系统是否受到攻击。由于神经网络的前向计算模式简单且固定,所以所提出的系统在检测异常时具有较低的延迟。

由上文可知,基于负载的IDS技术普遍引入机器学习机制来完成正常样本的识别,该技术的普适性较强,无需对适配车型进行定制化开发。但是其存在机器学习的普遍问题,即正常样本和异常样本采集问题,特别是异常样本数量巨大,学习难度较高。因此,该技术如何获取大量样本来进行学习是应用该技术的门槛。

3.3 混合类型的IDS技术

JIN Shiyi等分别根据流量选择消息ID、时间间隔作为特征,根据负载选择数据范围以及相关性作为特征,从而提出了一种混合类型的IDS。该IDS作为一种轻量级IDS可以直接应用到ECU上,避免了车载网络拓扑的更改开销,因此在汽车架构没有发生大规模改变的阶段存在一定的应用前景。

MÜTER等引入了一组检测传感器:形式传感器、位置传感器、距离传感器、频率传感器、相关传感器、协议传感器、似真性传感器和一致性传感器。这些检测传感器基于明确且可靠的信息,所以在检测异常时不会产生误报。尽管这些传感器可用于检测攻击而不会误报,但并非所有攻击都可以被这些传感器检测到。例如,如果攻击者能够注入完全符合网络正常行为且与先前值合理的消息。此外,当检测到异常时很难确定其是由攻击、错误还是故障引起的。

BERLIN等引入了一个安全信息和事件管理系统(Security Information and Event Management,SIEM),其使用是基于规则、机器学习、深度学习、基于实时、安全和大数据的算法,通过车辆的数据和其他来源的附加信息(如来自第三方和服务的数据)来识别攻击。

ZHANG Linxi等提出了一种基于规则和深度学习的两阶段IDS来实时检测攻击。在第1阶段,轻量级基于规则的IDS可以快速检测违反主要CAN流量的周期性和规律性的攻击,而基于DNN的IDS会从基于规则的系统中捕获错过的攻击,试验表明该系统可以检测5种类型的攻击,包括消息注入、伪装、重放、删除或丢弃攻击,在增加检测准确性的同时降低了检测时延。

彭海德提出了一种基于ID熵和支持向量机-数据关联性的IDS检测技术,针对CAN周期性消息,建立白名单与熵相结合的检测机制,针对非周期消息,建立了数据域与车辆状态相结合的数据关联检测技术,从而实现对重放、DoS、丢弃(删除)攻击的检测。

KWON等结合车载网络IDS提出了一种减轻入侵危害的方法,其主要是通过将受攻击的ECU进行重新配置,或者将检测到的恶意消息通知特定域的ECU进行丢弃。

SUDA等提出了一种基于时间序列特征提取的车载网络入侵检测方法以检测ID修改攻击、数据字段修改攻击和洪泛攻击。其主要是将消息ID、数据字段以及消息帧间隔统一放到递归神经网络中进行训练,从而达到识别异常或者攻击的目的。NAM等利用类似的思想基于生成式的预训练模型提取面向时间序列的ID特征以检测入侵。

HE Yuchu等基于深度学习方法,在考虑车载网络流量与负载的基础上,增加了临近消息的关系特征并给不同的特征分配相应的权重以增加入侵检测的效率。

混合类型的IDS技术融合了基于流量的IDS和基于负载的IDS的优点,既能对选定的报文进行快速识别,同时又具备学习能力,可以学习新报文。但是受限于车辆整体成本,IDS部署的控制器算力和存储空间普遍无法支撑混合类型的IDS技术,如何降低混合类型的IDS技术资源使用,是该技术能够进行广泛使用的前提条件。

4 结论

随着汽车智能化与网联化的发展,车载网络在功能运转、信息交互、状态显示等方面发挥着巨大作用,随之而来的网络安全威胁更加突出。入侵检测技术作为一种被动防御技术,具有低开销、应用广等特点,能够有效收集并检测潜在的车载网络安全攻击。从对车载网络入侵检测技术的调研来看,车载网络入侵检测技术主要分为基于流量的和基于负载的两大类,不同类型的技术在成本开销、应用场景以及效果等方面具有较大差异,因此需要根据实际情况设计车载网络入侵检测系统。特别是随着入侵检测技术不断成熟,可以在原有技术的基础上增加隔离措施,不仅仅局限于预警,提前将相关物理功能进行区域化管制,及时处置风险,这是入侵检测技术的新发展方向。

猜你喜欢

攻击者总线车载
基于贝叶斯博弈的防御资源调配模型研究
某车载提神香氛功效验证及应用
一种车载可折叠宿营住房
关于CAN总线的地铁屏蔽门控制思路论述
正面迎接批判
适合它的车载安全工具 你才会无忧驾驶!
SA2型76毫米车载高炮多视图
Q&A热线
PCI9030及其PCI总线接口电路设计