
摘要
近年来,现代汽车的连接功能数量急剧增加,包括通过本地无线网络实现的便捷应用以及通过移动网络实现的后端连接。此外,近年来被利用的漏洞数量也有所增加,因此,确保网络安全与新增需求同步发展是一项至关重要的要求。这对于新的和即将推出的功能至关重要,以防止软件漏洞及后续可能发生的安全事件。
在这项工作中,我们介绍了当今已实施的网络安全机制以及计划为车辆推出的未来机制。我们的调查结果显示,行业目前缺乏全面的网络安全概念,并且在量产车辆的网络安全方面没有共同的基准。尽管标准(如 ISO 14229)规定了对关键诊断功能的保护,但这些机制很少被实施。一些实施甚至存在缺陷,或者所使用的保护机制过于薄弱。对于正在开发的电子电气架构和电子控制单元(ECU),前景要好得多。我们认为,签名更新、防火墙、安全后端通信和域分离等功能将成为当前大多数开发中设备的常见功能。即使对于不久的将来的汽车,诸如安全和 / 或经过身份验证的启动、入侵检测系统或加密和经过身份验证的 CAN 消息等高级功能仍然很少见。
1、引言
基于最近媒体广泛报道的针对车辆的攻击,特别是查理・米勒(Charlie Miller)和克里斯・瓦拉塞克(Chris Valasek)对吉普(Jeep)的攻击,现在显然需要额外的安全机制。随着汽车的进一步联网,安全要求与其连接功能以相同的方式上升。宝马(BMW AG)的案例展示了可能的隐患,其连接服务遭到攻击,这仅仅是因为他们没有激活与后端通信的加密,并且整个品牌的汽车使用存储在每个 ECU 中的相同密钥。另一家大型原始设备制造商(OEM)三菱(Mitsubishi)的漏洞在于,他们使用汽车的 Wi-Fi 来实现远程功能。Wi-Fi 的预共享密钥(PSK)太短,这使得可以进行快速离线计算,然后对例如被禁用的警报系统进行攻击。
为了全面概述最新技术水平,我们将在以下部分描述当今市场上可观察到的相关安全机制,以及我们认为从我们的角度来看相关的进一步机制。我们还将详细阐述所呈现机制的市场渗透率。我们还将描述我们认为这些机制在当前正在开发的即将推出的 ECU 和电子电气架构中的应用程度。
在该分析的范围内,一辆通用车辆由多个 ECU、用于连接的不同总线系统以及其定期产生和处理的数据和无线辐射组成。我们不认为构成整个车辆生态系统的其他组件属于该范围,例如智能手机应用程序、车间设备或处理遥测数据的外部数据库。
2、网络安全机制
虽然个人计算机信息技术(PC-IT)系统拥有众多保护机制,如防病毒软件、防火墙以及安全更新机制,但表1 从汽车供应商的角度给出了用于缓解车辆漏洞的可用和计划中的安全机制的市场概述。

表 1:车辆的网络安全机制
重要的是要记住,汽车内的一个安全设备(例如网关或车身控制器)并不能保证整个汽车的安全。只有当从每个传感器到数据可视化的完整链 / 域,甚至所有汽车组件都以相似的安全级别得到保护时,才能将汽车称为安全汽车!
表 1 显示了根据我们作为汽车供应商收到的 OEM 请求,安全功能在当今汽车中的使用程度以及到 2023 年的发展趋势。我们将 OEM 请求中已实施和计划的安全机制分为四个组,按使用程度升序排列,说明了四个使用级别:
· 无:几乎所有 OEM 的汽车内几乎没有 / 没有设备使用
· 很少:少数 OEM 的汽车内至少有一个设备使用
· 许多:大多数 OEM 的汽车内有许多设备使用
· 常见:大多数 OEM 的汽车内几乎所有设备都使用此功能
2.1 域分离
直到最近,域分离主要是欧洲制造商关注的焦点,主要是由所使用总线系统的有限数据速率驱动的。随着每条总线连接组件数量的不断增加,添加额外的总线以增加整体带宽是一种可行的解决方案。然而,当域被正确分离并且跨域流量受到监控和过滤时,这也具有实现有效安全功能的有益副作用。应该注意的是,此功能的强度仅与其最薄弱的环节相同,如果一个ECU允许在没有过滤的情况下跨越多个网络,则添加的安全性就会丧失。
2.2 公钥基础设施(PKI)
PKI 用于构建信任链,允许制造商和供应商等不同利益相关者密切监控和限制 ECU 之间、测试人员或后端的交互可能性。PKI 也是主机安全身份验证及其通信初始完整性检查的基础。核心组件是一个可信存储,用于存储允许更新软件或安全通信的根证书。根据 PKI 的范围,它可以适用于汽车中的所有组件、制造商及其所有汽车、不同汽车的管理域,以及区域或其他可分组的设备集合。作为远程身份验证的当前最佳实践,PKI 的能力在访问权限撤销、权限粒度及其范围方面可以非常灵活。
然而,操作 PKI 的缺点是成本高昂,并且灵活性伴随着复杂性增加的可能问题。信任锚(如根证书)必须在签名验证之前已经到位,需要有撤销证书和检查其有效性的流程,如果根证书的私钥被泄露,则需要有机制来在所有受影响的设备中更改它们。特别是验证有效性的方面应该被视为关键,因为如果每个设备上没有不可被操纵的可信时间源,证书将失去很多好处。从安全角度来看,标准的时间同步协议,例如 NTP、GSM、GPS 或类似协议,不可行。如果没有检查证书有效性的选项,诸如限时功能激活或避免执行过时软件等方面将无法实现。
2.3 硬件信任锚 - 硬件安全模块
有多种类型的硬件信任锚可用,具有不同的名称和广泛的功能。通常,它们应该在硬件中有一个专用区域,因为软件可以在运行时修改,以及一个保护敏感材料(如加密操作或存储的密钥)的安全区域。然而,对于术语 HTA 和 HSM 的具体定义没有规范或正式定义。基本上,每个供应商只要芯片上运行任何类型的加密操作,就可以将自己的芯片定义为 HSM。这意味着在供应商选择阶段,OEM 必须详细验证潜在供应商的每一项技术声明。这种缺乏标准化通常会导致供应商在客户询问(例如 HSM 是否在内部)时产生误导性解释。我们偶尔会遇到不安全且无用的 HSM 功能,例如在运行时将秘密密钥公开存储在 RAM 中,或者仅允许 AES 算法的不安全操作模式。
此外,OEM 应该询问供应商,硬件支持的广告和营销材料中的功能是否已经可用,或者更准确地说,是否对 OEM 可用。我们经常遇到这样的情况,例如椭圆曲线密码术被公开宣传,但详细了解后发现所使用的曲线被称为已破解,或者需要使用特定安全曲线的额外许可证,而这些许可证仍在 OEM 和权利所有者之间协商中。
毕竟,HSM 也只是在(专用)硬件上运行的一段嵌入式软件,具有有限的访问权限,其额外好处是受到保护免受干扰,并且只有很少的交互功能。这些功能通常本质上是敏感的,例如加密、验证或创建密钥。OEM 还应该验证使用 HSM 功能的软件是否已经完全实现、可用和测试。测试报告,甚至关于例如在 AES 或其他构建块等特定部分满足 NIST 标准的认证或确认非常有用。因此,我们强烈建议 OEM 在供应商选择阶段不仅要让采购部门参与,还要让他们的安全专家参与。
如今,HSM 仅在整个汽车的背景下才有意义,即一旦传感器、小型设备或类似设备没有受到 HSM 信任锚功能(如消息认证或安全启动)的保护,攻击者就可以攻击未受保护的设备,并将其用作进一步攻击的入口点或垫脚石。例如,查理・米勒和克里斯・瓦拉塞克对吉普的黑客攻击就使用了这种方法。这也是目前全功能 HSM 很少使用的原因,因为 OEM 必须用更安全(即更昂贵)的硬件和软件重新设计整个传感器 - 执行器路径。
作为众多 HSM 示例之一,EVITA 项目为其 HSM 解释定义了三个级别,轻量级、中等和完整,并通过它们计算非对称密码的能力、随机数生成、可用计数器模块以及是否有专用可编程 ECU 来区分它们。图 1 中可以看到通常在软件中实现并具有相应硬件加速的不同组件的概述。大多数 HSM 供应商都有类似的分类方法。

图1:HSM的示例性系统架构
随着 2018 年针对英特尔和其他 CPU 的名为 Spectre 和 Meltdown 的侧信道攻击的出现,必须指出 HSM 本身并不是万灵药。
2.4 AUTOSAR
AUTOSAR 是 OEM 和供应商的合作项目,旨在为 ECU 标准化和建立通用软件架构。如图 2 所示的分层架构提高了软件的可重用性。自 4.2 版以来,AUTOSAR 已经为安全车载通信(SecOC)定义了所有必要的安全模块 - 集成在 AUTOSAR 堆栈中的认证通信,以及加密服务管理器(CSM)和加密抽象库(CAL)[1]。AUTOSAR 提供的文档只是定义了这些模块应如何交互和包含,不包含例如加密原语的实现。图 3 显示了 AUTOSAR 加密接口规范的抽象级别。

图2:AUTOSAR架构

图3:AUTOSAR摘要
加密本身成为基础软件的一部分,并允许使用各种安全机制。加密算法的硬件和软件实现都是可行的。自适应 AUTOSAR 18-10还将包括用于高性能计算和更快通信的安全属性(安全管理器的最终规范)。
2.5 签名更新
为了防止攻击者在车辆组件(如 ECU 和 VCU)上安装和执行未经授权的代码,更新应该使用国际标准化的加密算法进行数字签名。这允许验证软件更新的真实性和完整性。图 4 显示了一个示例性的签名更新方案。为了验证软件来自授权源,组件使用公钥密码学(例如 RSA 或 ECC)对照签名来验证软件更新。这可以防止攻击者安装修改后的软件更新、更改功能或恢复固件版本。这是所有主要基于 PC 的操作系统(如 Windows、Linux 和 macOS)以及智能手机和现代游戏主机的常见做法。

图4:签名软件更新
为了保证这种安全性,验证的基础(密钥 / 证书)必须是安全的。ECU 上的公钥 / 证书必须防篡改,因为如果公钥可以被替换为攻击者的密钥,验证过程就会受到损害。如果用于生成签名的私钥被泄露 / 窃取,情况也是如此。如果可能,应该使用基于证书的方法,这允许合法所有者在私钥泄露时更换证书。证书的常见标准是 X.509。
处理 X.509v3 证书的所有属性会产生大量开销。此外,在产品生命周期内(包括处置)需要维护 PKI 以及撤销列表。
对于数字证书的使用与否,没有通用的决定方式。每个项目都必须在项目开始时评估 effort-benefit-ratio(投入产出比)。一般来说,硬件的安全功能越少,保护软件更新验证密钥 / 证书就越困难,因此与简单的 RSA/ECC 签名相比,证书的好处就越低。
2.6 诊断服务安全(UDS,XCP 等)
根据 ISO 14229,当诊断服务对安全、安保或废气质量有影响时,必须对其进行保护。然而,当今现场使用的安全机制并不安全。所使用的机制基于对称算法 - 不是加密算法 - 安全访问的种子长度为 1-4 字节。对于即将进行的开发,使用不小于 8 字节的长度。
到目前为止,通信在初始认证后,仅对更新进行部分保护,而不是对每个实例都进行保护。在汽车组件安全方面的许多其他问题中,这是相当紧迫的问题之一。
2.7 安全启动
安全启动用于在启动期间使用数字签名验证所有软件的完整性。这对于确保软件中编写的不同运行时阶段(如引导加载程序、操作系统甚至可能的应用程序)未被未经授权的人员修改是必要的。虽然引导加载程序和操作系统通常由制造商或一级供应商控制,但自定义应用程序可能来自官方应用商店甚至第三方供应商,这可能使发布过程更加复杂。正如大多数软件安全术语一样,“安全启动” 一词没有标准化,但市场上对该术语有一个共同的解释:软件的完整性在多个阶段计算。引导过程中的每个阶段只有在前一阶段成功验证其完整性后才会启动 - 否则启动停止或 ECU 重新启动。
为了安全存储用于生成签名的密钥,需要 TPM 或硬件信任锚。它确保作为信任锚的公钥或证书存储在非易失性存储器中,并且不能被操纵或删除。这样的信任锚可以是公开可读的,因为通常使用 RSA 或 ECC 公钥以及基于证书的安全启动方法中的根证书。它们不需要是秘密的或保密的。如果此类数据是一次性可编程的,即只能写入一次且不再更改(例如 PROM),则必须注意,因此在发生安全问题(例如私钥被盗)时,这样的可信锚不能轻易更换或简单撤销。图 5 描绘了一个安全启动方案的示例。

图5:安全启动示意图
如果要求在整个产品生命周期内可更新该可信数据,则需要非常安全的访问方法来允许这种更换或撤销。ECU 生产商应始终询问硅供应商是否允许其客户从可信锚位置更换 / 撤销数据。强烈建议不要相信安全营销声明,而是要求以书面形式确认的技术细节。
安全启动的整体机制被广泛使用,例如作为 Windows 10(UEFI)中的可用功能,或默认在苹果 iPhone 的 iOS 操作系统中使用,以防止越狱和软件修改。常见的时间限制是 ECU 的安全关键功能(后视摄像头图像)必须在远低于一秒的时间内启动并运行。
安全启动的一个子类型是认证启动,这是一种也可以验证已启动软件完整性的机制,但必要的检查是并行计算的,甚至在启动后计算。这意味着无法停止启动过程,并且无法阻止不受信任软件的执行。这是为了更快的启动时间而做出的权衡,但被认为安全性较低。制造商可以使用它来远程评估车辆中运行的软件,但只能检测修改,而没有额外手段的话无法有效缓解这些修改。然而,对于检测攻击者来说,这是一条可行的路径。
2.8 后端通信(TLS 和强化 TLS)
一些汽车配备了通信模块,用于与后端系统交互,允许用户远程控制汽车功能并请求有关其汽车的信息。在网络层加密和认证通信内容的当前最佳实践是使用 TLS 协议套件。虽然它目前是世界上最常用的协议,每天有数十亿次连接,但通过正确配置每个选项来实现高水平的安全性可能很棘手。
一方面,配置必须能够适应算法原语和当前最佳实践的变化,这些变化可能会迅速发生。许多公开讨论的实例记录了通信保护不足的情况,例如在电子邮件协议中。虽然通常会测试交换的证书的有效性,但可以采用进一步强化 TLS 连接的机制。这可能是证书固定,即只允许特定的认证机构对端点进行认证,用于类似 VPN 连接的 TLS 隧道以及基于 TLS 的 VPN,以及强制 TLS 连接。在不久的将来,TLS 1.3 将发布,虽然以前的版本在标准化时允许降低端到端加密安全性的机制,但即将发布的版本预计将既能够抵御攻击,又使用合理的默认原语。
关于 TLS 的强化已经有完整的书籍,而伊万・里斯蒂奇(Ivan Ristic)的《Bulletproof SSL and TLS》是截至撰写本文时最全面的资源 [17]。未来的用例可能包括预测性维护或实时地理定位等更多应用。目前只有极少数配备年度订阅的汽车允许这样做。由于 TLS 的多功能性以及大量用户和网站使用 TLS 的现有经验,预计这种情况将会增加。
2.9 安全的车内通信
到目前为止,除了少数例外情况,车内通信根本没有安全功能。目前仅使用 CAN 的 CRC 功能或其他不提供有效安全性的简单测试值,主要关注的是安全性。原因在于,CAN 消息的有效载荷较短且数据速率有限,添加安全性功能会导致开销增加,而这种增加在比例上是不可行的。较新的总线系统,如 CAN FD,将通过增加有效载荷大小来帮助缓解这个问题,但这意味着所有节点都必须支持这些新功能。
正如 SecOC AUTOSAR 模块所展示的,人们的关注点正从安全性转向保护传输中数据的真实性和完整性。然而,汽车组件的性能仍然难以承受这种开销,尽管所介绍的 HSM 可以通过在额外的逻辑核心上进行异步计算来提供帮助,但目前还没有最佳实践可用。
2.10 车载和车外通信的防火墙
防火墙用于在网络边界、基于主机的内部网络枢纽处过滤和阻止数据流。这些过滤器基于多种属性,从简单的按源点或目的地过滤,到深入检查有效载荷。单个 ECU 的防火墙通常用于按 CAN ID 过滤传入消息。对于网关等高流量通道,这些防火墙以及路由逻辑通常会对性能产生影响。相同的过滤机制也用于与后端服务器的无线连接,因此只接收特定服务。ECU 和 VCU 中的防火墙功能通常没有日志记录机制,但随着即将推出的整车在线连接功能,这种情况可能会改变。一个即将出现的问题是规则更新,因为使用更新的组件代进行原地组件升级可能会违反现有规则,或者具有动态服务分配给 ECU 的面向服务架构也会面临此问题。对于配置可变性高的汽车,同样存在配置管理和规则维护将变得复杂的问题。
市场上很快就会推出首批能够报告车内通信异常的车载防火墙。由于性能影响,这种观察很可能会转移到车内的高性能集群上。对于更复杂的分析,聚合数据将以安全的方式发送到 IT 后端 / 云服务。我们还认为,很可能会使用人工智能方法来实现自学习防火墙,但需要观察其对常规使用的影响、训练方式以及消息被错误分类时会发生什么。对于以太网连接,可以利用 PC 领域的大量现有知识,但对于汽车应用,仍有很多需要学习的地方。
总的来说,防火墙本身并不能保护任何系统 —— 过滤规则以及快速更新这些规则的可能性将使防火墙变得强大。只要人工智能将通过人类设计的数据进行训练,这种防火墙的真正智能很可能仍有待推导。
2.11 入侵检测 / 防御系统
IDS/IPS 系统类似于防火墙,但与防火墙不同的是,它们不位于网络边界,而是位于需要通过监控 / 控制网络流量来保护的网络内部。入侵检测系统监控系统 / 网络并将日志发送到后端系统进行进一步分析。检测机制主要基于必须保持最新的规则,并且可以被规避。这使得持续更新以及后端连接成为必要。IDS 的规则更新反应时间可能很长,在连接缓慢的情况下可能长达数天或更长时间。IPS 还允许通过例如禁止匹配已知不良通信签名的特定连接来直接影响网络或主机。
ID/IP 系统可以分为基于主机和基于网络的系统,它们保护单个 ECU 或网络域。它们可以实现为单独的硬件组件,也可以在现有主机上以软件形式实现。IDS/IPS 相当有效,到 2023 年及以后,它们将成为缓解安全风险的常见安全对策。然而,必须提到的是,IPS 可能会对安全相关功能产生负面影响。IPS 有可能检测到误报,例如在碰撞前检测到许多制动信号,这可能会被 IPS 解释为攻击。就未来的机器学习 IPS 算法而言,这一方面将变得更加关键。这意味着,无论何时使用 IPS,都需要一个备份路径来监督所有 IPS 的解释,这将对性能产生影响,并涉及责任问题。一般来说,IDS 的关键性较低,因为检测规则将由人类预先定义,并且仅应用这些规则。当然,在定义此类 IDS 规则时仍然存在人为错误的可能性,但可以通过定义良好的更新过程和严格的测试来最小化这些错误。
2.12 Wi-Fi 安全(客户端和后端)
为了将智能手机等客户端设备与汽车连接,通信应该通过已知的良好措施进行保护,即汽车生成的 Wi-Fi 使用 WPA2,并使用强密码。如果有足够的熵可用,例如在工厂的最终组装时,这些密码应该是随机且自动生成的。对于 WPA2,密码的长度很重要,因为存在使用诸如 hashcat 等工具的基于字典的暴力攻击。在 WPA3 尚未完全规范和推出之前,额外的策略可能是有意义的,例如定期密码轮换或用于连接功能的物理开关。一旦 WPA3 或更高版本在市场上可用,客户和 OEM 应该有一个长期更新策略,以始终仅支持最新的通信协议。
可以在网络层之上放置额外的安全措施,例如一个应用程序,它在应用层加密通信内容,并使用固定的 TLS 连接或仅在汽车和设备安全配对后才知道的共享密钥。这将产生三层加密,这将使模拟或重放攻击变得非常困难。
为了允许汽车自动连接到具有已知 SSID 的 Wi-Fi 网络,需要进一步努力防止连接到恶意接入点。示例可能包括特定的车间设备或加油站的设备。这例如在特斯拉 Model S 中使用,它会自动连接到特斯拉服务和特斯拉超级充电站的访客网络,以提供连接和远程诊断。由于 VCU 在运行时会在后台不断扫描这些已知的 SSID,攻击者很容易就能找出它们。此外,MAC 地址过滤是不够的,因为 MAC 地址可以轻松修改。
对于后端连接,每个连接都应该明确列入白名单、加密和认证,特别是在传输敏感信息(如诊断代码或私人数据)时。此外,每次连接尝试都应该被记录和分析,以及时检测暴力攻击。将这些指标纳入入侵检测系统是有益的,因为无线信号更难在本地限制。
3、结论和未来工作
通过本文,我们希望概述汽车安全的最新技术水平。概述的第一部分列出了汽车行业可用的安全机制及其截至今天的市场渗透率,以及我们对以后的展望。在本文的第二部分,我们详细描述了安全机制,并将它们与 PC-IT 系统联系起来。
汽车开发可以从 PC-IT 系统中积累的安全知识和完善的标准中受益匪浅。对于未来的系统,必须结合本文描述的方法和措施,以实现基于深度防御方法的分层防御。让不同的安全概念协同工作是有益的,通常每个安全措施都应对特定的威胁,但许多安全措施不仅可以防止这些威胁的总和,还可以阻碍新出现的威胁的实现,因为攻击者必须规避或停用它们。不断上升的威胁之一是使用电压和电磁干扰对硬件级别的设备进行操纵。必须开发和测试有效的措施。基于软件的方法的初步尝试已经被提出。通过设备专用密钥可以进一步减轻后果。根据我们的研究,汽车行业已经认识到缺乏安全性所带来的问题,并且正在朝着开发安全可靠的系统迈进,尽管并非所有汽车行业的挑战都有合适的解决方案。
本文由豆包软件翻译,如有不当之处请参照原文
下载请扫二维码:



