青骥信息安全原创技术系列专题
车辆变得越来越智能,提供了越来越多的创新应用程,涵盖了从车辆控制到远程信息处理和高级驾驶员辅助系统等各种功能。为了实现这一目标,智能车可能超过1亿行代码,这些代码在遍布整个车辆的微控制器(ECU)上运行,并与外界连接。现代车辆是复杂的网络物理网络,而不是纯粹的机械设备。增加的连接性和许多功能虽然带来许多好处,但同时也带来明显的安全风险,甚至危及生命。
然而现有的车内网络设计(例如CAN总线)缺乏网络安全的考虑。入侵检测是解决车内网络网络攻击的有效方法,同时又必须满足功能安全和实时通信保证,本文给出了车内网络入侵系统设计的约束条件和特征,并重点介绍车内网络入侵检测(车内网络 IDS)的常用方法。
据图1,汽车电子系统是一种异构的分布式实时系统,由通过各种总线类型的车载网络互联的大量ECU组成(总线类型包括CAN,LIN,FlexRay和Ethernet等)。这些网络通过中央网关进行相互通信。IVN具有异构,实时和成本敏感的功能,如下所述。
- 汽车电子系统是典型的CPS系统。异构性不仅反映在ECU节点处理器(FPGA,DSP和MCU等)的异构性中,而且还反映在内部网络的异构性中。汽车的内部网络环境通常由多个协议组成,用于实现成本和性能的平衡。不同网络之间的数据通过网关进行交互。平衡成本和性能的方法也是IVN IDS设计中的关键问题之一。
- 多个外部接口:车辆与外部网络集成以提供智能,便捷的服务。也增加了车辆的外部通信接口以及对IVN系统的安全威胁。这些外部接口与IVN集成在一起,包括无线和有线接口。图2从外部接口的角度概述了IVN的三层结构。汽车电子系统的主要部分是IVN层,该层包括电源,车身和高速信息服务以及其他功能域。由于成本的原因,ECU的计算能力各不相同,并且它们的大多数外部通信都需要通过汽车网关,包括物理和无线接口。
多功能安全关键级别系统:车载网络是功能强大的功能安全关键系统(safety-critical system),需要符合相应的功能安全标准(例如ISO26262)。在汽车环境中,不同的功能域具有相应的功能安全要求。例如,娱乐系统具有高带宽需求,而动力总成域则是功能安全至关重要的系统。ISO26262标准将汽车电子系统分为四个汽车安全完整性级别,即A,B,C和D。最初要保证汽车电子系统的功能安全并遵守相关的安全标准对于IVN安全性问题是必要的。值得注意的是,汽车电子系统是功能安全至关重要的系统。因此,IVN的安全问题不仅是信息安全或隐私问题,而且还是功能安全相关的问题。网络安全威胁会直接影响驾驶员和周围人员的安全。缺乏网络安全设计:鉴于汽车外部通信接口的数量不断增加, 车内网络设计 之初并没有考虑身份验证和加密机制,因此迫切需要安全身份验证机制和入侵检测来实现网络安全性。作为事实上的标准车载通信网络,CAN(ISO 11898)在汽车和其他工业环境中已使用30多年,通常用于对功能安全至关重要的系统连接。但是CAN总线协议缺乏安全保证,容易受到攻击。目前的IDS系统集中在研究适用于CAN的入侵检测技术上。
CAN总线特点:
CAN总线是未经身份验证和未加密的广播总线,任何人都可以读取和发送任何消息。因此,一旦获得访问权限,攻击者就可以侦听总线上的所有流量,并发送自己选择的CAN ID和有效负载的帧。发送诊断消息使攻击者可以利用某些ECU中实现的特定功能。这样的诊断消息可能非常强大。或者攻击者可以观察到的消息,使用随机值(模糊处理)或制作具有特定值的消息以达到期望的结果(如欺骗),当然前提是攻击者对汽车的CAN实现有足够的了解(例如给定CAN ID的有效负载如何编码)。由于此类网络的固有漏洞以及提供车载网络与外部网络之间的接口日益丰富,恶意攻击者可以轻松地对IVN实施攻击。对IVN的攻击通常可以分为三个步骤。
- 首先,恶意攻击者需要通过物理或无线接口访问目标IVN。
- 其次,更换受损的ECU的固件,然后嗅探并解析网络。
- 第三,对车辆进行不同级别的攻击,其中包括特定功能(例如控制车辆的启动和停止)和网络失效(例如DoS)。
为清楚地描述IVN系统的攻击,我们将攻击的网络层层次对攻击类型进行分类,即物理层,数据链路层和应用层。表I中描述了对汽车的实验攻击。对IVN的三层攻击的特征如下
1.3 车载网络安全方案
(1) 通过加密和认证技术确保IVN消息帧的机密性和完整性。加密和认证方法是保证消费者网络安全的有效方法。但是IVN环境要求实时性和可靠性,并受成本,计算能力,带宽和存储资源的约束。因此这些方法通常难以同时适用于IVN环境。例如,由于用于附加消息验证代码的可用空间有限(用于CAN的8个字节和CAN-FD的64个字节),为CAN总线提供消息验证很困难。(2) 将潜在的攻击接口 与车内网络 (防火墙策略)分开鉴于汽车的生命周期长和IVN的多个攻击入口,通过防火墙完全隔离威胁和各种攻击源是不切实际的。设计和实施完全安全的IVN系统非常困难。而且,即使为了安全目的电子系统的转换和升级,也都需要很长时间。
- 防止进一步破坏IVN攻击的能力(早期预警可以降低恶意攻击者的风险)
2.1 IDS概念介绍
入侵检测系统(Intrusion-detection system,IDS)是一种网络安全设备或应用软件,可以监控网络传输或者系统,检查是否有可疑活动或者违反企业的安全策略。侦测到时发出警报或者采取主动反应措施。它与其他网络安全设备的不同之处便在于,IDS是一种积极主动的安全防护技术。IDS最早出现在1980年4月。该年,James P.Anderson为美国空军做了一份题为《Computer Security Threat Monitoring and Surveillance》的技术报告,在其中他提出了IDS的概念。1980年代中期,IDS逐渐发展成为入侵检测专家系统(IDES)。1990年,IDS分化为基于网络的NIDS和基于主机的HIDS。后又出现分布式DIDS。
IDS可以根据其作用域划分为不同的类别。IDS可根据需要进行配置。
- 基于主机的IDS:监视系统内部活动, 比如CPU 占用率,内存占用率,系统调用顺序,ECU 内部通信检测。
- 基于网络的IDS:通过观察网络中主机之间的网络流量来检测异常行为和异常(从而监视多个系统或组件)
- Ethernet、CAN/CAN-FD、FlexRay、LocalInterconnect Network(LIN)
基于主机的IDS和基于网络的IDS既有优点也有缺点,两者都有好处。混合IDS使用最广泛。 在联网汽车的情况下,混合IDPS将更有利。
- 基于签名的检测:这种方法监视系统活动并在流量中寻找静态模式。IDS可以通过将其与已知恶意签名的数据库进行匹配来查找异常。
- 基于行为的检测:基于签名的IDS可以很好地处理已经确定或已知的威胁。为了弥补这一缺陷,基于行为的检测技术,使用了基于网络行为基线概念的集中处理过程。这里的挑战是定义正常和异常的网络行为需要耗费大量的人力。随着数据科学、大数据和机器学习的发展,自动定义正常与异常行为过程的IDS解决方案可用于提高安全性。因此,利用大数据的基于机器学习的IDS是数据驱动网络安全的一个主要例子。
2.2 车内IDS特点
如图3所示,汽车电子系统根据不同的功能领域(例如动力总成领域,娱乐领域和车身领域)分为几个部分。不同的域是独立的,并通过车载网关互连。不同域中交通消息的特征也有所不同,其中一些是信息密集型的,而另一些则对安全性至关重要。可以根据不同域的特征设计不同的安全监控方案,以提高检测精度。车内IDS标准。上下文感知计算已被广泛研究。由于无处不在的技术将上下文的概念扩展到了物理世界,人们对该领域重新产生了兴趣。同时随着智能技术的发展,智能车辆系统将拥有众多的智能传感器,将数据和感知层的模式结合在一起,并将该层与安全监控系统集成在一起,可以有效地减少误算的可能性。例如如图4所示,通过使用车速传感器获得车辆的当前状态和行为,并通过机器学习算法模拟车辆的正常行驶状态,两者进行比较来确定攻击状态。
2.3 车内IDS约束
目前,汽车ECU主要由32位嵌入式处理器(例如NXP,Infine和Renesas处理器),并具有十分有限的计算性能和内存资源,因此IVNIDS的设计不需要考虑计算能力,内存大小和通信能力的限制。
汽车电子系统是一种工业嵌入式系统。鉴于汽车的量产,降低硬件成本可以为公司提供额外的利润。一旦IVN IDS设计方法要求对所有ECU进行硬件修改,汽车制造成本就会增加,OEM就很难愿意采用。因此,IVN IDS设计受成本约束。
汽车网络系统负责车内部件之间的通信,是功能安全关键的系统,IVN的入侵检测应满足车辆的实时性和高精度要求。
IVN IDS旨在为汽车电子系统提供安全防御功能。IVN IDS是汽车电子系统的一部分,它需要提供功能安全保证并遵循ISO26262标准。
2.4 车内IDS设计方法论
为了更清楚地描述IVN IDS设计的特点, 使用图5 IDS设计概要图,从IDS设计角度需要考虑攻击访问来源之间的相关性,IVNs漏洞,攻击的威胁,可推断出的特征参数和IDS对策。
2.5 车内IDS部署建议
下面这个图来自Vector对IDS部署的建议,仅供参考
图6 IDS部署建议示意
近年来,汽车恶意攻击的数量有所增加。因此车内网络安全问题已受到越来越多的关注。近年来,针对车内网络的入侵检测技术进行了大量研究。在本节中,将更详细地说明这些不同的方法。我们将车内网络IDS可以分为以下几类.
3.1 基于指纹(Figerprints-based)的IDS(总线级)
由于ECU的物理特性,车载网络上不同的ECU通常都有独特的硬件指纹信息,IVN安全研究人员试图通过多种方式提取ECU的指纹信息(如基于时钟的入侵检测和基于电压测量])。 根据ECU独特电特性(即主导部分、正斜率部分和负 斜率 部分),可以建立合法和非法访问ECU的指纹信息。例如,Cho和Shin提出了一种名为Viden的方法,该方法基于电压测量[1]对ecu进行指纹识别。通过ACK学习阶段,Viden仅从消息发射机获得正确的电压测量值,并利用它们来构建和更新正确的电压轮廓或指纹。该方法能够快速、准确地检测出非法接入节点。但该方法仅适用于物理层,对应用层的网络攻击的检测并不有效。Choi等人在[2]中提出了一种基于CAN电信号的不可模仿特性的新型IVN IDS (VoltageIDS)。在行驶车辆和空转车辆上的评估实验表明,该方法具有检测总线攻击的能力。 获得网络指纹特征后,IVN IDS的下一步是要解决分类问题。 指纹的IVN IDS是一种综合策略,所使用的技术还将结合机器学习方法。 例如许多机器学习方法在特征提取和分类阶段都有其独特的优势。
3.2 基于参数监控IDS(消息级别)
通过观察和比较网络参数可以发现一些攻击。这些基于参数监控的入侵检测方法包括以下内容。
- 基于频率的技术Frequency-based Techniques
如图7所示,通过车内网络发送的消息帧通常具有固定的周期。例如,可以检测CAN消息的传输间隔并将其与已建立的基线进行比较,这类似于基于统计的异常检测方法。车内网络安全研究人员表明,当恶意攻击者通过注入合法消息进行欺骗或DoS攻击时,频率将会增加。这种检测方法可能具有较高的准确性和较低的误报率,但仅适用于周期性流量。当周期超过阈值时,系统将发出异常状态警报并存储日志。发生攻击时,将更改消息的固定时间段,此功能用于入侵检测。
如图8所示,当CAN总线上的节点接收到远程帧时,它需要向发送方发送一条消息进行响应。响应帧的偏移率可以反映可疑活动。比如通过基于请求消息和响应消息之间的偏移率和时间间隔来测量现有节点的响应性能来发现异常行为。在CAN总线中,当目标节点接收到远程帧时,数据帧将返回到发送节点,并且返回时间的度量可用于确定网络是否处于攻击状态。图9显示了如何独立于IVN数据序列处理时间/频率特征。从图中可以将车内网络IDS技术分为观察数据流和序列。针对车内网络数据流级攻击的响应,基于参数检测的入侵检测方法具有较好的检测精度和较低的性能开销。 图9.时间/频率特征的检测与数据流独立处理(并发)基于参数监控的方法对于未知的安全威胁可能无效,并且参数可能在不同的车辆网络中有所不同。随着IVN继续集成到外部网络中,对汽车的攻击将显示出越来越大的不确定性和复杂性。3.3 基于信息论(Information-Theoretic-based)IDS(数据流级别)使用基于信息理论的度量是IVN环境中无监督的异常检测设计的另一种方法。具体来说,每个ECU的内部通信通常是有序的。因此系统的信息熵应该相对稳定。正常通信中注入大量恶意消息会影响网络的稳定性,信息熵会反映出异常情况。 CAN消息被认为具有低熵,平均为11.436位。基于CAN网络的特征建立信息熵分析模型对于检测汽车网络的信息熵是必要的。我们使用Shannon熵定义来计算消息ID的熵。 假设系统X的有限可能状态集为{x1,x2,……xN}。 则系统X的信息熵为:为了评估CAN ID的信息熵,可以用φ=(I,C,T)表示CAN系统模型,其中I = {i1,i2,i3,...,in}是在时间T内出现的一组不同的ID,并且C = {c1,c2,c3,...,cn}是在时间T内出现的n个不同ID的周期或最小间隔的集合。 随后,可以将周期T中的CAN ID的熵函数表示为目前学术界已经建立了一些基于熵的方法,并在实践中进行了测试以检测攻击。车载网络的基于熵的攻击检测,对于检测DoS攻击非常有效。但是,由少量恶意攻击者注入的少量恶意消息难以识别文献[3]提出一种基于固定信息数目的信息熵的滑动窗口策略,有效地解决了基于信息熵的非周期性CAN消息的IDS性能问题。Dario[4]等提出了一种用于监测IVN状况的汉明距离测量方法,并在检测对CAN的攻击方面获得了良好的结果。该方法的主要特点是计算开销小,缺点是攻击模型受到限制(不适用于重放攻击)。值得注意的是,基于信息熵的入侵检测方法在修改CAN数据字段内容的攻击检测中无效。
3.4 基于机器学习 IDS(功能级别)
机器学习算法作为一种强大的数学工具在计算机和人工智能领域得到了广泛的应用,在分类、回归和聚类方面都有很好的效果;因此,他们可以在不同级别的IVN上开发安全解决方案。它们特别适合防御未来未知的攻击。在本节中,我们将回顾基于机器学习的IVN IDSs。从以下三个方面详细介绍。
- 基于分类技术 Classification-based Techniques
分类算法作为一种强大的安全解决方案已被广泛使用。车内网络的入侵检测可以设计一个分类算法来学习网络流量的正常行为,任何偏离该行为的行为都将被识别为CAN总线的异常行为。如图10所示,该方案主要包括离线训练和在线检测两个阶段。在训练阶段,训练数据集的选择和标记是很重要的。
为了开发基于 异常的车内网络 IDS, 在IVN中采用深度学习和神经网络。Kang和Kang提出了一种基于DNN[5]的入侵检测技术。在该技术中,对ECU之间交换的IVN数据包进行训练,提取低维特征,用于区分正常数据包和黑客数据包。Taylor等人提出了一种基于长短期记忆(long -term memory,LSTM)循环神经网络(recurrent neural network, RNN)的异常检测器,用于检测低误报率的攻击[6]。入侵检测采用基于神经网络的下一个数据包数据预测;因此,不需要了解特定的协议。图10展示了用于IVN入侵检测的神经网络的三层结构。其中,常规的神经网络模型的区别主要是输入层和输出层,其中的输入特征可以是CAN据场的比特,也可以是从can总线物理层中提取的信号特征。输出层输出正常和异常结果。图10 用于IVN入侵检测的深度神经网络(DNN)架构。
- 顺序技术 Sequential Techniques
从ECU发送的消息顺序可用于异常检测。来自ECU的CAN消息应视为特定顺序。它们将根据消息的优先级一个接一个地发送,任何与该顺序的偏差都可以标记出来。Narayanan等开发了一个隐马尔可夫模型(HMM),以从车辆收集的实际数据中检测异常状态[7]。Marchetti和Stabili提出了一种基于CAN总线中观察到的消息ID序列内的特定特征和循环模式建立CAN总线正常行为模型的算法,这是第一个算法基于CAN总线上的消息序列分析[8]。与消费者网络的IDS相比,车内网络IDS需要更高的可靠性和确定性。因此, 车内网络I DS更喜欢监督式机器学习方法。恶意对手的攻击将在车内网络的不同层上生成异常功能,并且其中大多数可用于基于机器学习的IDS。
Markovitz和Wool[9],描述了一种用于CAN总线网络流量的域感知异常检测系统。CAN总线消息格式是专有的,非公开的文档。然而,作者开发了一个分类器,自动识别这些领域的边界和类型。异常检测系统在现场分类的基础上建立了正常信息的模型。在[10]中,Markovitz和Wool描述了一种新的针对车载CAN总线交通的域感知异常检测系统。开发了一种贪婪算法,将消息分割成字段,并将字段按照观察到的类型进行分类。此外,针对CAN总线流量设计了一个语义感知的异常检测系统。在实际CAN总线流量上进行的实验表明,该算法的中位数假阳性率为0%,平均为252个三元内容寻址内存。
Wasicek等[11],描述了上下文感知的入侵检测系统(CAID)和框架,用于检测汽车控制系统中的操作。CAID利用传感器信息建立物理系统的参考模型,然后根据参考模型检查当前传感器数据的正确性。Muter等人[72]开发了一种基于传感器的检测方法,可以通过使用为网络攻击场景设计的多个传感器识别恶意入侵。在[12]中,Cho等人使用CarSim获得了滑差率和归一化牵引力的真实传感器读数。CarSim是一款高保真商业软件,可以根据司机的控制来预测汽车的性能。利用轮胎摩擦模型可以检测到与制动相关的传感器的异常测量。许多设计研究表明, 车内网络I DS需要与汽车电子系统的特征相结合。从系统角度(具有域和上下文感知)设 计车内网络I DS不仅可以有效改善IDS的效果(检测准确性和响应时间),而且可以有效地改善其市场兼容性.
3.6 总结
按照惯例,图谱必不可少,下面给出了车内网络IDS的主要技术的图谱
下一期预告:本期主要是对车内网络IDS进行相对全面和概要性的介绍,重在了解IDS的基本概念,下一期,我们将针对智能车IDS标准(AutoSAR IDS)和市场上主要的IDS方案对其能力和特点进行介绍.
[1] K. G. Shin and K.-T. Cho, “Viden:Attacker identification on in-vehicle networks,” in Proc. ACM SIGSAC Conf. Comput. Commun. Secur., Dallas, TX, USA, Oct./Nov. 2017, pp.1109–1123. doi: 10.1145/3133956.3134001.[2] W. Choi,K. Joo, H. J. Jo, M. C. Park, and D. H. Dong, “VoltageIDS: Low-levelcommunication characteristics for automotive intrusion detection system,” IEEE Trans. Inf. Forensics Security, vol. 13, no. 8, pp. 2114–2129, Aug. 2018. [54] M. L.Han, L. Jin, A. R. Kang,[3] W. Wu et al., “Slidingwindow optimized information entropy analysis method for intrusion detection onin-vehicle networks,” IEEEAccess, vol. 6, pp. 45233–45245, 2018.[4] D.Stabili, M. Marchetti, and M. Colajanni, “Detecting attacks to internal vehiclenetworks through hamming distance,” in Proc. AEIT Int. Annu. Conf., Aug. 2017, pp. 1–6.[5] M.-J.Kang and J.-W. Kang, “A novel intrusion detection method using deep neuralnetwork for in-vehicle network security,” in Proc. IEEE 83rd Veh. Technol. Conf. (VTC Spring), May 2016, pp. 1–5.[6]A. Taylor,S. Leblanc, and N. Japkowicz, “Anomaly detection in automobile control networkdata with long short-term memory networks,” in Proc. IEEE Int. Conf. Data Sci. Advanced Anal. (DSAA),Oct. 2016, pp. 130–139.[7] S. N. Narayanan, S. Mittal, and A. Joshi. (2015).“Using data analytics to detect anomalous states in vehicles.” [Online].Available: https://arxiv.org/abs/1512.08048[8] M. Marchetti and D. Stabili, “Anomaly detection ofCAN bus messages through analysis of ID sequencess,” in Proc. IEEE Intell. Vehicles Symp. (IV), Jun. 2017, pp. 1577–1583.[9] M. Markovitz and A. Wool, “Field classification,modeling and anomaly detection in unknown CAN bus networks,” Veh. Commun., vol. 9,Jul. 2017, pp. 43–52.[10] M. Markovitz and A. Wool, “Field classification,modeling and anomaly detection in unknown CAN bus networkss,” Veh. Commun., vol. 9,pp. 43–52, Jul. 2017.[11] A. R.Wasicek, M. D. Pesé, A.Weimerskirch, Y.Burakova, and K. Singh, “Context-aware intrusion detection in automotivecontrol systems,” in Proc. 5thESCAR USA Conf., Jun. 2017, pp. 21–22.[12] K.-T. Cho, K. G. Shin, and T. Park, “CPS approach tochecking norm operation of a brake-by-wire system,” in Proc. ACM/IEEE 6th Int. Conf. Cyber-Phys. Syst., Apr. 2015, pp. 41–50.