车辆IT融合技术是现代车辆的一种快速崛起的范例,其中电子控制单元(ECU)用于控制车辆电气系统,而控制器局域网(CAN)作为车载网络通常被使用构建高效的ECU网络。 不幸的是,尽管CAN控制消息可能对生命至关重要,但在CAN中并未适当地解决安全问题。 随着互联汽车环境的出现,车载网络(例如CAN)现在已连接到外部网络(例如3G / 4G移动网络),从而使对手可以使用CAN漏洞进行远程无线攻击。 在本文中,我们证明了在连接的汽车环境中,使用真实的车辆和恶意的智能手机应用程序,在物理上可能进行远程无线攻击。

 

 

 

引入

 

最新的模型车追求与各种IT技术的融合,从而为用户提供舒适的驾驶环境并有效响应汽车排放法规。为了将IT技术应用于车辆,必须使用许多汽车应用程序组件。在这些组件中,电子控制单元(ECU)是控制车辆中一个或多个电气系统和子系统的最重要的组件[3]。最新的车载系统架构可以包含70多个ECU,这些ECU通过异构通信网络(例如控制器局域网(CAN),本地互连网络(LIN)或FlexRay)互连 。

在本文中,我们演示了在连接的汽车环境中使用实际车辆进行的实际无线攻击,其中驾驶员的智能手机已连接至车载CAN。我们的攻击实验包括两个阶段:初步攻击和实际攻击。在准备阶段,即在发起实际攻击之前,攻击者首先获取CAN数据帧,以使用诊断工具强制控制目标车辆。实际上,可以使用相同模型的车辆(更确切地说,具有相同配置的汽车电子子系统的车辆)。我们注意到,诊断工具用于获取CAN数据帧以强制控制ECU,并且在实际攻击过程中无需将其附加到目标车辆。攻击者还制造了一种伪装成正常应用程序的恶意自我诊断应用程序,并将其上传到应用程序市场。通过使用自诊断应用程序(例如“ Torque”,“ Car Gauge Pro”)和OBD2扫描工具(例如“ EML327”,“ PLX KiWi”),即使在驾驶时,驾驶员也可以监视CAN状态信息。一旦目标车辆的驾驶员下载了恶意的自我诊断应用程序,智能手机就会受到攻击者的控制。在实际攻击阶段,利用受感染的驱动程序智能手机,进行了远程无线攻击。也就是说,如果可能进行3G,4G或LTE等移动通信,攻击者可以通过智能手机独立于其位置注入CAN数据帧。因此,智能手机不必属于攻击者或机械师。我们建议的攻击模型仅在驱动程序下载恶意的自诊断应用程序时才可行。即使在应用程序市场中大约有300种自诊断应用程序,就应用程序下载量而言,它们也不是最受欢迎的应用程序。根据我们提出的攻击模型,这减少了攻击的可能性。但是,我们提出的攻击模型仍然是现实的攻击场景,并且在不久的将来将是可行的,因为Google和领先的汽车制造商正在合作将Android OS引入车辆,并且互联汽车服务(例如镜像链接)正在迅速增长。 

结合实际的无线攻击实验,我们还提出了一种针对CAN漏洞的安全协议,满足以下要求。

 

  • 数据加密和认证技术可确保车载CAN中的实时数据处理。
  • 使用消息认证码(MAC)的方法考虑了CAN数据帧的有限数据有效载荷。
  • 密钥管理技术支持外部设备与车载CAN之间的安全连接。

 

攻击模型和安全要求

 

 

攻击模型

  • 攻击者的能力:对手可以使用汽车诊断工具来获取CAN数据帧,以在发动实际攻击之前强制控制ECU。攻击者可以使用恶意的自诊断应用程序窃听并将CAN数据帧注入连接的汽车环境中的车载CAN中。因此,攻击者不必从短距离攻击目标。通过伪装成用于车辆的合法自我诊断应用程序,该应用程序可能会在应用程序市场中广泛传播。
  • 目标漏洞:目标车辆使用CAN在ECU之间进行通信。CAN不提供安全服务,例如加密或数据帧身份验证。这意味着可以在CAN中进行监听和重放攻击。由于汽车诊断工具存储了ECU的控制命令,因此未经授权使用汽车诊断工具也是一个安全漏洞。
  • 受害者行为:目标车辆的受害者通过应用程序市场将恶意的自我诊断应用程序下载到他/她的智能手机。受害人无法识别该应用程序是否正在对车载CAN进行窃听或重放攻击等恶意行为。在我们提出的攻击模型中,我们不考虑攻击破坏安装在车辆内部的ECU或操纵ECU固件的攻击,因为这些攻击需要长时间占用目标车辆和专门知识。

 

安全需求

  • 机密性:CAN中的每个数据帧均应加密以提供机密性。也就是说,数据框的纯文本格式应仅对合法的ECU或一方可用。由于CAN的特性,所有数据帧都会被广播,从而使攻击者可以轻松窃听CAN数据帧。特别地,可以使用汽车诊断工具来获得用于执行ECU控制的数据帧,因此非常容易分析相关数据帧的含义。
  • 身份验证:CAN中的控制数据帧仅由数据帧中的发送方ID标识,这使得重播攻击成为可能。也就是说,具有有效控制数据帧的对手可以重新发送它,并有可能伪装成合法的发送者。为了阻止这种类型的攻击,应该提供所传输数据的身份验证和完整性。当前的CAN规范仅提供CRC码以确保检测到传输错误,而不提供认证。

 

防御机制

  • CAN数据帧的加密和身份验证:为了为广播的数据帧提供机密性,应在加密后进行传输。另外,为了认证发送的数据帧,应该生成一个MAC并与之一起发送。但是,要在CAN数据帧中有效地包含MAC并不容易。CAN数据帧由120位组成,包括一个64位数据字段。如果数据字段用于MAC,则CAN数据帧传输的总量至少增加两倍:一个数据帧用于原始数据,至少一个用于MAC。这种方法不合适,因为它将迅速增加CAN总线负载。因此,安全协议需要一种有效的数据认证技术,该技术可以应用于当前的CAN数据帧格式。
  • CAN的高效密钥管理:为了进行安全通信,CAN安全协议应提供用于数据帧加密和身份验证的安全且快速的密钥分发机制。另外,需要有效且安全的会话密钥更新协议,以增强会话密钥和截断的MAC的安全性。还需要支持外部设备和车辆之间的连接。

 

拟议的安全协议

 

 

1.加载长期对称密钥

车机镜像解析工具_数据帧

 

 

2.初始会话密钥的分布

 

车机镜像解析工具_应用程序_02

 

 

3.CAN数据帧的加密和认证

 

车机镜像解析工具_数据帧_03

 

 

总结

近来,关于车载CAN的脆弱性的许多研究已经完成。但是,这样的攻击模型是不现实的,因为它们需要大量的精力和复杂的技术,例如反向工程和劫车。因此,在本文中,我们提出了一种在联网汽车环境中使用恶意智能手机应用程序的实际攻击模型,并通过实际实验进行了演示。在分析了车载CAN的脆弱性并演示了攻击模型后,我们设计了可应用于汽车环境的安全协议。此外,我们通过基于Secure-ECU和CANoe的评估来分析提出的安全协议的安全性和性能。将来,我们计划通过在硬件上实施加密和哈希算法来优化所提出的安全协议的性能,以优化我们的安全技术。