作者 | 初光
出品 | 车端
备注 | 转载请阅读文中版权声明
知圈 | 进“汽车电子与AutoSAR开发”群,请加微“cloud2sunshine”
Uptane:Securing Software Updates for Automobiles,uptane是专门为汽车领域制定的OTA标准,安全等级非常高。可以更好的包含汽车OTA的时候不被黑客攻击。
2022 年 10 月 13 日,Uptane 举办了与 escar Europe 2022 相关的免费线上行业会议。Uptane是一种开放和安全的软件更新框架设计,可保护通过无线方式交付的软件汽车电子控制单元(ECU)。该框架可防止恶意行为者,他们可以 入侵用于签名和传递更新的服务器和网络。有多种不同的免费开源和闭源 实现可用。Uptane被集成到汽车级Linux中, 目前被许多大型OEM使用的开源系统,也被许多美国和国际制造商采用。
Uptane于2016年由纽约大学,UMTRI,SwRI和汽车行业专家合作创建。它是在美国国土安全部的资助下作为开源框架开发的。它扩展了许多生产软件更新系统中使用的更新框架。2018年7月,Uptane的正式标准化在一个名为Uptane的非营利财团下开始 。Uptane设计和实施标准1.0版提供了框架安全设计和实施的程序,于2019年7月31日在IEEE/ISTO联合会的主持下发布。现在的倡议 继续作为 Linux 基金会联合开发基金会项目,2021 年发布了 1.1.0 和1.2.0版本。最新版本 2.0.0于 2022 年 3 月发布。建议的部署策略正在积极制定中,并在本网站上发布和定期更新。
Uptane框架是TUF在汽车整车领域的衍生品,由美国国土安全部支持,属于Linux基金会联合研发基金项目。逐步被整合进AGL(Automotive Grade Linux)、COVESA(Connected Vehicle Systems Alliance)等项目中去。为该框架做出贡献的除了纽约大学等以外有诸多知名厂商。
Uptane脱胎于TUF框架(TUF(The Update Framework)框架帮助开发人员保护新的或现有的软件更新系统,这些系统通常被认为容易受到许多攻击。TUF 通过提供全面,灵活的安全框架来解决这个广泛的问题,让开发人员可以与任何软件更新系统集成。 ),并对汽车整车环境进行了适应。纵观TUF的设计,它包含了以下4个理念:信任分离、签名阈值、显式和隐式密钥废止机制以及关键密钥离线保护。在保留以上4个设计理念的基础上,Uptane增加了4项关键设计,以适应整车OTA过程中的客户端异构,资源有限及ECU之间无可信通信机制。
Uptane 框架所具有的主要抵御机制有以下四条。
第一,使用额外的存储空间从无休止的数据攻击中恢复。黑客会对于ECU执行无休止的数据攻击。然而,ECU往往只存储一个镜像文件。这样,如果这些攻击者会通过给ECU发送随机数据,而不是实际的镜像文件,让它无法启动到工作镜像中去。虽然,引导程序能够检查出随机数据和最近下载的元数据不匹配。为了解决这个问题,ECU可以使用一个额外的存储空间,使得它可以有足够的存储空间保存之前的镜像和最新下载的镜像。ECU在更新时,无需具有覆盖之前已知的良好镜像。这样,如果攻击者在数据传输时修改了镜像,它仍然可以引导到功能镜像。
第二,广播元数据防止混合软件版本攻击。攻击者控制了主ECU以后,就可以执行混合软件攻击,因为它们可以向不同的从ECU,同时展示不同版本的元数据。为了防止这个问题,主ECU需要向从ECU广播最新下载的元数据。所以,在CAN网络或者以太网络中,主ECU向某个从ECU发送的任何元数据,也需要同时发向其他的ECU。
第三,使用版本清单检测软件部分安装攻击。即使有时ECU没有受到任何其他攻击,但是也偶尔会出现一种软件版本部分安装攻击的情况,导致ECU只成功安装了部分的软件更新。无论这些攻击是如何发生的,OEM都可以通过软件版本清单和ECU关于它最近安装的签署信息,检测这种攻击。在验证和安装更新后,ECU会使用OEM在汽车制造期间提供的对称密钥,来验证其安装的软件,然后发送给主设备。ECU每个周期只会进行一次签署和发回它的版本清单。主设备将搜集这些签名,构建汽车版本信息,然后发送给汽车制造商。如果汽车制造商发现最近的汽车更新,和它们实际安装的不匹配,制造商将会收到警报,并且采取进一步行动。
第四,使用时间服务器限制冻结攻击。关于攻击者对于ECU采取的冻结攻击,是由于ECU桌面和服务器程序不同,ECU无法具有可靠的时钟。这样主设备不能判断元数据是否超时。为了解决这个问题,每个ECU应该使用外部时钟,周期性地更新目前的时间。
Uptane的威胁分析及规避措施是基于以下前提:
攻击者有能力干扰或修改网络通信数据:车外通信时,攻击者可操纵车辆与软件库之前的通信,通常是无线通信;车内通信时,攻击者可操纵一个或多个总线。
攻击者有能力破解Director Repository或者Image Repository并偷取之上的密钥,但不是同时发生。
破解主ECU或次ECU,但不同时发生。
可能会受到的攻击方式描述:
表2 Uptane威胁分析
编号 |
类型 |
攻击方式 |
1 |
读取更新 |
窃听攻击 |
2 |
拒绝更新 |
(1)阻止车外或车内网络通信(2)抑制更新速度,为进一步攻击争取时间(3)利用旧版本软件对ECU进行冻结攻击(4)仅使部分更新成功,导致整车无法更新完成(5)对软件库或者基础设施进行DOS攻击 |
3 |
干预ECU功能 |
(1)回滚攻击,欺骗ECU安装旧版本软件(2)发送大量数据消耗ECU存储资源甚是覆盖原始可用的数据和代码(3)单一软件包是合法的情况下,从过混合不兼容的软件版本导致ECU功能失效 |
沿用TUF的设计理念,以及针对汽车整车环境的适配,Uptane可以在更新过程被部分破解的情况下,最小化被入侵的范围和影响。
Uptane框架的基本架构如下图所示:
图1 Uptane架构
Uptane框架包含了一个时间服务器为无可靠时钟信号的ECU提供时间服务,主ECU与Image Repository及Director Repository交互,交互过程有签名验证、元数据验证及镜像下载。次ECU与主ECU交互,主ECU帮助次ECU做全部元数据验证。次ECU在条件有限的情况下做部分元数据验证。
Uptane的安全验证流程如下图所示:
图2 Uptane安全验证流程
本文回顾了整车OTA框架Uptane的发展及核心思想,通过对Uptane的解读我们可以观察到一个完整面向整车的网络安全服务的安全设计思路与方法。对SOA开发模式的安全性有很好的借鉴意义。
原文始发于微信公众号(车端):Uptane|开源的汽车OTA框架