导语:当攻击者远程发送大量错误数据给联网汽车时,车辆无法处理,按照CAN标准将进入总线关闭模式,阻止任何读取或写入操作。
事实上,最近几年研究人员和工程师已经找到了很多种入侵现代互联网汽车的方法,并且被记录和报告过多次。查理·米勒和克里斯·瓦拉斯克(Chris Valasek)就曾发现过一个杰出的案例。在此之前的攻击主要依赖于特定的制造商/汽车品牌的具体漏洞。因此一旦得到报道,这些漏洞很快得到解决。但是,当现在的黑客们发现的漏洞不仅能够大幅影响汽车的性能和功能,并且可能对任何厂商都是有效的,这个时候又该怎么去解决?
最近,米兰理工大学的链路层实验室和趋势FTR团队合作发现了一种有效的汽车Hacking方式。目前来看现在的汽车安全技术无法实现,要彻底解决这个问题,就需要在标准和车载网络和设备方面做出广泛而全面的变化。实际上,需要解决这样一个漏洞可能需要对整整一代汽车进行改变,而不仅仅是召回或OTA升级。
我们对您可能会遇到的问题做了个简单的预测,并提供了以下答案参考。
这是另一个“汽车黑客”的POC?相比之前的它有什么新的内容吗?
最新的内容就在于这种攻击是以一种对最先进的安全机制不可见的方式来禁用连接到汽车设备网络的设备(例如,安全气囊,停车传感器,主动安全系统)。
这项研究的主要内容是什么?
获得其他人的车辆已经成为常见的情况,有许多合法的用例。现在是标准化机构,决策者和汽车制造商考虑到这一变化的时候了,这可能需要修改管理未来汽车的网络物理系统的设计,以确保它们的安全。
我的车会受到影响吗?
毫无疑问,是的。我们的攻击对厂商中立的。然而,具体的供应商可能会采取非标准的对策来使攻击更难实施。
到目前为止,“Jeep hack”是不是最先进的攻击?
“Jeep hack”确实非常先进和有效。然而,目前可用的车载网络安全技术已经(例如,售后市场IDS / IPS)可以检测到这种攻击,因为它需要帧来注入使其获得能力。此外,汽车制造商可以简单地升级在汽车设备上运行的软件,以补救该攻击所利用的漏洞。
汽车制造商需要多长时间才能解决这个问题?
这不是汽车制造商的错,这不是他们引进的问题。我们在研究中利用的安全问题在于规定汽车设备网络(即CAN)如何工作的标准。汽车制造商只能通过采用特定的网络对策来减轻我们所展示的攻击,但是不能完全消除这种攻击。为了完全消除风险,应提出,采用和实施更新的CAN标准。整个过程可能需要另一代车辆。
我们详细介绍了本文的研究,以及下面的视频,我们的研究员费德里科·马吉格(Magder)在7月6日在波恩举行的DIMVA会议上发表了关于研究的完整内容讲话。
那么这种攻击如何工作呢?它毫无顾忌链接到了所有车载设备(例如停车传感器,安全气囊,主动安全系统)和系统(信息娱乐)的网络协议,并允许它们进行通信。该网络的标准称为控制器局域网或CAN。
CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,其在1983年初步开发后,于1986年正式发布,1989年首次在生产车辆上发布。1993年,国际标准化组织(ISO)接受CAN作为标准,并发布道路车辆ISO 11898。此后,CAN已经被用作现在流行的几乎所有轻型车辆的标准,并被推动成为美国联邦法院唯一可接受的标准。。 在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。
为什么汽车中的各种设备和系统需要相互连接?事实上,这是因为各种车载子系统需要能够自动运行,特别是在紧急情况下。例如,CAN使您的信息控制系统或安全系统能够从汽车的安全气囊系统接收消息,以了解在发生事故时是否需要启动。另外它也可以增强您的驾驶体验,例如,您的信息控制系统可以在读取您正在踩踏发动机控制系统的信号,调高汽车音量。这样您就可以听到发动机的音量增加了。
图1.典型的CAN网络图
CAN消息(包括错误)被称为“帧”。我们的攻击重点是如何处理错误。当设备读取与框架上的原始期望值不对应的值时,会出现错误。当设备检测到这样的事件时,它会将错误消息写入CAN总线,以便“调用”错误的帧,并通知其他设备完全忽略被调用的帧。这种事故是非常常见的,通常是由于自然原因,瞬态故障,或者是太多的系统和模块试图通过CAN同时发送帧。
如果设备发出太多错误,那么按照CAN标准规定,它将进入一个所谓的总线关闭状态,它从CAN断开,并阻止在CAN上读取和/或写入任何数据。此功能有助于隔离故障设备,并阻止它们触发CAN上的其他模块/系统。
这是我们的攻击行为的确切功能。我们的攻击通过引发足够的错误来触发这个特殊功能,使CAN上的目标设备或系统进入总线关闭状态,从而使其变得不可操作。这反过来可能会严重影响汽车的性能,使其变得危险甚至致命,特别是当必要系统如气囊系统或防抱死制动系统被停用时。所有这一切都是一个特制的攻击装置,通过本地访问引入汽车的CAN,并且已经在CAN中循环的帧的重用,而不是注入新的帧(如以前的攻击这样做)。
图2.攻击装置攻击链
现代汽车背景下的远程与本地访问漏洞
通常,许多汽车黑客的概念和漏洞被忽视,因为他们需要本地访问汽车。首先,我们的攻击可以启用任何可远程利用的漏洞,允许攻击者重新编程ECU的固件(例如,信息控制系统)。其次,我们需要更加认真的对待这种攻击。传统上,攻击者可以以这种方式访问汽车的场景不仅是罕见的,而且对攻击者也是很危险的。但是随着目前的交通运输趋势,如乘车分享,拼车和汽车租赁,许多人可以使用同一辆车的情况现在更为常见。因此,发生车辆网络安全方面问题时影响范围将远远扩大。
如何缓解?
正如我们提到的那样,缓解这个特殊的安全问题并不容易,因为漏洞本身在设计中,不能立即被修补。任何有价值的解决方案都需要大力改变监管和政策,并且需要整整一代的车辆采用。但在未来,一些长期的解决方案可以帮助防止这种漏洞:
网络分割或拓扑改变:通过改变车辆中的拓扑结构或分段CAN,可以阻止错误的出现。
监管的OBD-II诊断端口访问:为了了解端口物理位置的情况,通过创建特殊的硬件密钥或密码可以防止非法和未授权的设备被引入CAN。也可以考虑实施软件级认证,以便允许从端口到端口的流量。当然这将需要更改规定。
加密:加密CAN帧ID字段可以防止攻击者将CAN帧识别为目标,从而导致噪声和更多可检测的攻击模式。
目前我们已经向美国/ ICS-CERT公布了我们的调查结果,并发出警报。