登录 | 注册 退出 投稿

汽车信息安全:入侵检测系统(IDS)“大比拼”(下)

牛喀网专栏作者 2022-08-31

内容提要:本文全面分析了CAN总线,并对安全问题进行了展望。本文还介绍了CAN的安全漏洞和当前所面临的最新的攻击,并提供了已实施的攻击场景的案例,基于入侵检测系统(IDS),本文还通过不同的解决方案来协助预防攻击。


5.0 对于CAN攻击的措施

在过去的几十年里,汽车工业已经发生了翻天覆地的变化,汽车实现了广泛的自动化,配备了一系列传感器和计算系统。对CAN的各种攻击手段清楚地表明,该协议非常脆弱。因此,需要建立网络防御机制来保证驾驶的安全。解决这一问题的研究主要集中在网络分割、加密、认证和入侵检测这四种防御机制上。关于这些机制的总结,请查看表2。

表2.jpg

表2 确保CAN总线安全的方法

5.1 网络分割

最直接的保护机制就是将CAN网络分割成多个子网。通过分割来控制谁可以访问特定的子网,并通过限制攻击的传播来降低攻击的破坏性。子网之间的互联是通过网关ECU来控制。目前,在商用车中就有这种模式应用。该方法实现起来很简单,但如果像中表现出的黑客行为那样,网关ECU被入侵或操纵,该方法则无效。针对这一问题,Kammerer等人提出了一种具有安全功能的星型耦合路由器。他们的研究报告忽略了子网内部的安全性,因为,攻击者可以在子网中绕过路由器的安全检查实现回击,从而攻击其他子网。

慕尼黑工业大学(TU München)的研究人员提出了一种汽车服务总线架构的概念,在他们的概念中,通过两层架构来防止外部攻击。信息娱乐系统和所有重要的功能都是相互分离的,所有的组件都可以发送和接收信息。但在系统默认设置中,这些组件都不能发送任何数据,只有在获得中央ECU允许后,才能向汽车服务总线写入数据。网络分割提高了安全级别,但想要完全保护CAN,这个方法并不完美。而该方法同时还会导致系统维护难度和成本的增加。

5.2 加密

CAN协议使用的是一种没有内置加密机制的共享广播网络。这种架构方式,使得攻击者能窃听所有的节点并了解通信情况。为了防止数据泄露,应该采用一种轻量级的加密系统。虽然市面上有基于软件的商业加密方法(如Trillium、CANcrypt),并且汽车整车厂也在汽车中实施了专有的加密技术,但有报道称,市面上销售的汽车的加密机制可以被破解。

有限数据域是CAN在安全加密时所必须解决的一个问题。我们可以通过发送多个CAN帧来解决这一问题,但是,也只能是在流量较小的情况下适用。当前的汽车CAN网络中流量不断上升,这个方法就不适用了。另一个在CAN在安全加密时所必须解决的问题是ECU的计算能力有限的问题。汽车的使用寿命使得攻击者非常容易就能破解一个静态的加密密钥。因此,有必要实行动态密钥交换。但是,想要实现动态密匙交换难度很大,而且计算成本很高。动态密钥还会造成本就资源受限的ECU延迟,这个缺点,对于安全关键的实时系统来说,是不可接受的。

表3.png

表3 CAN总线的加密办法

在表3中,我们列举了不同加密机制。研究人员通过FPGA芯片,在CAN系统上实现了基于硬件的AES-128加密。该方法中所使用的硬件能降低延迟,提高流量。但是,该方法却改变了传统的ECU,并且不能向后兼容。另一项研究采用的是物理不可克隆函数(PUF)方法。这种方法可以从ECU的物理特性中获得私钥。利用这种方法想要隐藏密钥就不是问题。虽然该方法解决了生成加密密钥的问题,但也需要修改ECU。 CAN加密后,不易受到攻击,并能保护隐私;但是,加密方法并不能保护CAN。即使是牢不可破的加密机制也不能预防回击。

5.3. 认证

无法识别CAN报文的发送者。如果攻击者进入网络,则可以发送恶意报文,而所有的节点都会将其作为真实报文接受。这个问题可通过认证的方式来预防。

处理延迟可以达到50微秒(μs)的VeCure认证是基于信任组的一种认证方式,这些高信任组共享一个对称的秘钥。该方法的主要优点是密钥数较少,其大小相当于信任组的数量而非ECU的数量。

但是,该方法需要在每一个传输的帧之后再发送一个认证报文,这就导致网络流量需要增加一倍。该方法的另一个缺点是,如果信任组的某个节点被入侵,就无法保护系统。研究人员提出了LiBrA-CAN认证方法,该方法将认证密钥在多个节点组之间分割,以提高有效性。虽然该方法相当成功,但该方法需要较高的带宽,与传统的CAN不兼容。

研究团队确定了认证方法商业化实施的五项标准:成本效益、向后兼容、对车辆维修和保养的支持、详尽的实施细节和合理的开销。他们用这几条标准分析了文献中的十种认证方法。毫无意外,没有一种方法能够同时满足上述五个标准。

市面上也有像NXP的S32K系列这样的现成产品提供基于硬件的认证。S32K系列的特点是含有密码服务引擎(CSE),该引擎中有一个基于密码的消息认证码(CMAC)来提供安全认证。该方法是基于硬件系统,这种架构能极大地加速认证过程。例如,在硬件加速的情况下,可以在不到100微秒(μs)的时间内完成公钥认证。相反,如果是软件架构,则认证过程,根据密匙的大小,可能需要10毫秒(ms)以上。这种方法虽然很好,但是,汽车行业比较担心ECU的成本会增加。将来,随着硬件技术的提升,肯定会出现更多基于硬件的方法来保障CAN的安全。

5.4. 入侵检测系统(IDS)

想要在安全关键的实时系统上实现安全功能,任务艰巨。由于资源(内存、带宽和计算能力)有限和时间的限制,强密码方法并不适用。为了解决这一问题,就出现了针对CAN的入侵检测系统(IDS)研究。IDS的主要优点是能在不修改当前的CAN控制器的情况下,不增加总线流量。

入侵检测方法可分为基于签名(误用)的检测和基于异常的检测。基于签名的检测检查数据库上的已知攻击;因此,需要定期最新的攻击手段。虽然该方法在检测已知攻击方面相当成功,但该方法无法检测未知攻击。基于异常的IDS是指分析网络行为,识别与正常行为的偏差。该方法的准确率通常低于基于签名的检测。与基于签名的检测相比,基于异常的IDS可以检测到未知的攻击。

在CAN上,IDS系统可以评估不同的参数。我们定义了8种异常检测传感器,采用结构化的方式识别异常,详情请查看表4。所有这些检测传感器的设计灵感是基于CAN总线的一般行为。设计的传感器如果与正常行为有偏差,则表示有入侵发生。不同的IDS解决方案都是利用这些传感器来检测是否遭受入侵。上述解决方案可分为基于时间/频率、基于物理系统特性、基于规范和基于特征。

表4.png

表4 汽车异常检测传感器

5.4.1. 基于时间/频率的IDS

汽车有严格的安全规则,大多数ECU都会发射周期性信号。任何频率的任何变化都可以被解释为异常行为,换句话说,就是一种入侵。

研究人员提出的基于偏移比和时间间隔的IDS,分析了传输的远程帧的响应时间,该方法中简单有效的算法可以检测攻击和攻击类型,但是,该方法通过注入远程帧进行分析,增加了总线流量。

时间/频率的分析提供了有关CAN的有用报文。然而,车辆的情况(如空闲、运行)和CAN的优先级方案可能会显著改变定时报文,影响基于时间/频率的IDS的结果。该方法也无法检测到伪装攻击的频率没有改变的攻击。

5.4.2. 基于物理特性的IDS

CAN网络的物理特性可用于检测入侵;因此,每个收发器即使传输相同的数据,也有不同的信号形状。关于这点,可能是由随机制造变化、布线和老化造成的。

在之前的研究中,研究人员提出了VoltageIDS解决方案,该方案像指纹一样,利用CAN信号的独特电学特征来解决安全问题。由于ECU的位置不同,导线长度不同,电阻也就不同,电阻会改变信号特征。他们分析了信号特征中的8个信号特征,如正负斜率值和主导电平的电压值。该方法误检率为零,可以区分攻击和错误;但需要用示波器收集网络信号,信号处理量大。

CAN没有共享的主时钟,每个ECU使用自己的石英晶体作为时钟。我们建议使用时钟偏移来检测入侵。虽然ECU运行的频率相同,但ECU可能在一天内有超过2400毫秒(ms)的随机漂移。我们通过时钟偏移对发射机ECU进行指纹识别,并检测出入侵行为。虽然,这种方法可实现高达97%的异常检测率且误检率为0.55%,但该方法只对周期性消息有效。值得注意的是,这种方法可以通过模仿时钟偏移来欺骗系统。

CAN的物理特性中有大量关于ECU的报文。然而,环境因素,如温度、湿度和元件的老化,会改变物理特性,因此,IDS可能会失效,而且IDS也无法检测到来自软件层的攻击,因为经过认证的ECU会传输恶意报文,而IDS却不会发现任何变化。IDS也不能检测到来自软件层的攻击。如果恶意报文经过认证的ECU传输,IDS不会发现任何信号特征的变化。同样,基于物理特性的IDS需要进行大量的信号处理。因此,这种大工作量可能会造成信号传输的延迟或需要昂贵的硬件进行匹配。

5.4.3. 基于特性的IDS

研究人员提出了基于规范的攻击检测方法,并且,他们基于CAN开放协议执行了规范规则。这种方法的攻击检测能力有限,需要所有的ECU都有检测器。该方法的功能也不够强大,无法预防攻击;因此会发生的协议兼容攻击。他们提出了一种基于语言的入侵检测,并从ECU的规范中推导出网络的语言特征,生成了禁止序列。如果出现禁止序列中一个序列,则说明检测到入侵。

5.4.4.基于特征的IDS

基于特征的系统分析能检查诸如总线负载、频率、丢弃消息的网络参数数量,以及其他异常消息和有效负载参数。这种方法一般是基于人工智能技术开发。

研究人员采用深度学习模型,提出了基于生成式对抗网(GAN)的IDS。该方法易于扩展,攻击者难以操作,因此检测机制具有黑盒特性。他们提出的布卢姆过滤(Bloom filtering)方案,分析了CAN报文的周期性和有效载荷。该方法是一种内存效率高的数据分析方法。虽然这两种方法都需要大量的计算,但仅就解决CAN安全问题方面来看,这两种方法是最有希望的。

关于IDS的比较,请查看表5。每种方法都有其优点和缺点。例如,基于物理特征的IDS可以很容易地检测到一个不真实的节点,但它无法检测到来自软件层的攻击。最好的IDS系统应该是利用不同方法的混合系统。虽然IDS可以提高安全,但却不能提供保密性。要想完全解决安全问题,就必须使用加密手段。

6.0 关于CAN安全研究的讨论

汽车安全问题日益受到人们的重视,解决网络安全问题的标准化也即将出台。2016年和2018年由SAE和英国标准协会连续发布了网络物理车辆系统的网络安全指南和汽车网络安全规范的基本原则(PAS 1885:2018)。ISO 21434汽车网络安全也正在制定中。

CAN协议的漏洞引起了行业内的注意。目前各公司都在竞相制造高端安全的ECU。Hersteller Initiative(HIS)制定的安全硬件扩展(SHE)规范是一个开放的标准,被许多公司用于其ECU中,如NXP MPC5646C单片机。有些商用ECU也内置了IDS;NXP的TJA115x系列可以防止欺骗攻击,并可以作为IDS使用。另外,还有一些商用的专有入侵检测系统。

虽然业界已经采取了保护CAN的措施,但依然任重道远。汽车行业未能和学界分享积累的数据,学术界也就没有足够的资源来研究。因此,学界没有足够的攻击数据和基准(来做进一步的研究)。出于安全和成本的考虑,想要在实际车辆上实施攻击实验是不现实的。为了解决这些问题,我们应该对CAN总线攻击建模进行更多的研究,并创建攻击数据库。以开放源码的形式共享数据集将有助于研究人员(作进一步的研究之用);那么,研究人员可以根据共享数据集作为参考点来比较各自的研究成果。

7.0 结论

在现代车辆中,用于方便ECU的CAN协议并非完美,该协议也未能受有效保护,以抵御复杂和不断变化的网络攻击。车辆中现有的安全功能不适合、不足以抵御和经受住当前的攻击。由于当前的技术缺乏加密和认证机制,给各种类型的攻击提供了机会,从而危及个人数据隐私和车内人员的安全。安全问题会损害制造商的声誉,降低车辆的可靠性,造成巨大的经济损失。

我们研究发现,当前的攻击主要是物理访问为主;但是,随着车辆连接性的不断增多,无线攻击肯定会大幅度增长。这种发展趋势表明,在不久的将来,无线攻击的数量将超过物理访问攻击的数量。此外,通过深入分析CAN总线对网络攻击的脆弱性,我们指出了该协议的局限性。通过对各种攻击的根源评估和对潜在解决方案的评判,本文也揭示了汽车行业和学界的不足和局限性。业界和学界没有朝着相互分享攻击数据库、分配测试和试验资源以及为一个开放源码制定基准的方向发展。

针对CAN攻击的对策主要有四种,包括网络分割、加密、认证和IDS。但是,如果采用这四种方式,就会大大增加现有资源的可用性的开销。进一步分析发现,与上述其他解决方案相比,IDS是最佳的选择。值得注意的是,IDS虽然无法提供百分百的安全,但IDS可以在可接受的开销下预防几个CAN漏洞。我们推测,未来车辆的IDS解决方案不仅能保证车辆的安全,还能为制造商提供数据,应对网络攻击。




作者:牛喀网专栏作者
牛喀网文章,未经授权不得转载!


下一篇: “汽车人”眼中的网络安全-网络安全的5W1H
上一篇: 汽车信息安全:扒一扒CAN总线的安全漏洞(上)
相关文章
返回顶部小火箭