FOTA信息安全,一篇看不懂的综述

汽车安全 2年前 (2021) admin
972 0 0

FOTA信息安全,一篇看不懂的综述


2021年10月24日程序员日,小鹏汽车发布了城市级领航辅助驾驶系统 NGP,并官方确定这一功能将在2022年上半年跟随XPILOT3.5系统版本通过FOTA升级到用户车辆上,而可以升级的车型即为小鹏刚发布的全球首款量产激光雷达智能汽车P5。

暂不表激光雷达搭载乘用车真正上路前依旧浮动的变数,只再絮絮另外一个卖点FOTA。蔚来的长安街事件引起对FOTA的安全性讨论,依旧时常活跃在主机厂朝气蓬勃的早会上,供应商慷慨激扬的推介会中。FOTA信息安全性的理论研究进展究竟如何,本文一探究竟。


概述




FOTA(Firmware Over the Air)即固件空中升级技术,通过网络自动升级车辆的固件,从而完成车辆新功能集成、现有功能升级、问题修复。伴随着车联网技术的兴起,FOTA也开始飞入寻常百姓家。FOTA升级的对象从最早的信息娱乐系统(如导航、娱乐、舒适性配置等),过渡到核心零部件的控制系统(发动机、变速箱、底盘、三电控制器等),再到如今如日中天的自动驾驶系统。

FOTA的出现一方面减少了4S店以保养名义把爱车召回的机会,另一方面也彻底改变主机厂的造法、卖法。用户拿到手保证能跑,半年后花点钱可以开放辅助驾驶功能、一年后再花点钱保证能飞,这已经成为主机厂常见的宣传大法。

FOTA信息安全,一篇看不懂的综述


与此同时,以FOTA为代表的车联网功能的普及,一方面赋予了车互联网的娱乐性,另一方面也让原本相对封闭的汽车充分暴露在了网络环境中,网络世界的真真假假也开始困扰着青春期刚发育的智能网联汽车,其被劫财骗色的报道已不在少数。

加拿大的一家公司在非特斯拉授权的情况下,通过软件升级的方式,将特斯拉车辆后驱动版车型改为双电机驱动车型。同时还可以为双电机版车型开通加速性能升级服务,在不需要改动硬件的情况下,为车辆增加50匹的马力输出。

在有硬件连接的方向盘和刹车踏板的时候,网络攻击威力似乎还在可控范围。但当无人驾驶的车辆上路时,网络攻击若控制了转向、加减速、那后果将是灾难、不可控制的。因此车联网信息安全就显得无比重要。UN/WP29(联合国世界车辆法规协调论坛,我国汽车行业参加的主要国际汽车技术法规制定组织)已经开始制定汽车FOTA升级的相关标准和法规,但目前大部门OEM的FOTA升级的应用还处于功能实现阶段,缺乏对网络安全的整体思考和长远规划。

FOTA系统和其他车联网业务相似,同样由云管端三端构成。易受攻击点包括服务平台端车云通信通道车内总线通信。攻击方式包括数据篡改、反向还原、重放攻击、拒绝攻击、回滚攻击、控制等。目前各OEM的FOTA信息安全方案一般采用PKI公钥基础设施的方案,PKI可以保证车云通信的身份认证,通过对升级包的加密,保证升级包的机密性、完整性、真实性。

本文是对FOTA信息安全学术界近几年研究的综述,分为四部分,第一部分介绍研究较热的安全框架、第二部分介绍基于属性加密的STRIDE技术,第三部分介绍TEE可信执行环境,第四部分介绍区块链技术在FOTA安全中的应用。作者期望本文可以起到抛砖引玉作用,引起大家对FOTA网络信息安全的重视。


安全框架




一、TUF安全更新框架


TUF(The Update Framework)诞生于2009年,并在2019年12月成为首个从CNCF以规范与安全性为重点的毕业项目,是保护软件更新系统安全的开源安全技术。它是用于保护软件进行更新的即插即用库,可以帮助开发人员保护新的或现有的软件更新系统,这些系统通常被认为容易受到攻击。

该技术在云端生成升级包元数据的签名,元数据一般包括升级包的摘要和大小,并通过验证这些元数据来阻止攻击。TUF允许自由选择对称加密、非对称加密或数字信封等加密方式来加密升级包,并围绕如下四个关键原则进行设计:

(1)职责分离:不同的元数据由不同角色签名;

(2)多信任签名:通过多个签名增加攻击难度;

(3)显式或隐式撤销密钥:密钥过期时间通过元数据下发,过期后密钥失效;

(4)使用离线密钥:即使攻击者入侵了云端升级包管理服务器,也无法签署升级包的恶意版本。

二、Uptane汽车OTA安全框架

Uptane(Securing Software Updates for Automobiles)诞生于2017年1月,是美国科研人员开发的一个免费、通用、开源的汽车OTA安全框架,是面向汽车行业的提供软件在线更新时的安全体系框架,基于广泛使用的TUF发展而来[1]。最新的Uptane1.1版本在2021年1月发布,主要的抵御机制有以下四点:

(1)可以利用备份存储(如A/B分区)从无休止的数据攻击中恢复。这样攻击者即使在数据传输时修改了程序,导致A分区程序报错,ECU仍然可以利用B分区备份存储恢复正常功能;

(2)广播元数据以防止混合捆绑攻击。主ECU像某个从ECU发送的任何元数据,也需要同时发向其他的ECU,可以避免主ECU被攻击后,产生的混合捆绑攻击;

(3)利用车辆版本清单来检测部分捆绑安装攻击。主ECU搜集从ECU的软件安装签名信息,构建汽车版本信息,并发回汽车制造商。汽车制造商通过与实际软件信息校对,检测部分捆绑安装攻击;

(4)使用时间服务器来限制冻结攻击。主ECU通过使用外部时钟,周期性更新目前的时间,以判断元数据是否超时,来限制冻结攻击。

下图为Uptane的典型架构设计和业务流程。主要模块为云端的DirectorRepo(升级管理服务)、ImageRepo(升级包制作服务)、TimeServer(时间服务器),车端的Primary(升级主控)和升级ECUs。

FOTA信息安全,一篇看不懂的综述


DirectorRepo为每个升级包生成一个元数据集合,同时包含车辆和升级ECU信息。ImageRepo用于上传升级包和做全量/差分包。TimeServer用于对齐车端ECU的时间戳,阻止冻结攻击。ECU验证时,需要根据TimeServer提供的时间验证当前升级任务是否过期。

车载ECU分为Primary(升级主控)和Secondary。Primary ECU向DirectorRepo上传版本清单,从DirectorRepo和ImageRepo分别下载升级包的元数据和加密过的升级包本身并验证,最后分发给Secondary ECU。Secondary从Primary下载TimeServer提供的最新时间,元数据和升级包,验证成功后进行升级。

下表为对Uptane框架安全机制的分析
 

FOTA信息安全,一篇看不懂的综述


三、ASSURED安全框架

2018年,Asokan等人提出了基于Uptane的ASSURED安全框架[2]。在他们的工作中,相比较Uptane原生,实现了五个方面的改进:

(1)端到端需要通过token进行身份验证;

(2)只有身份验证通过的设备才能进行升级;

(3)升级成功证明:设备在升级成功后必须上报更新结果;

(4)设备上代码和密钥的安全保护:通过ARM的Trustzone架构,保证密钥的安全储存和加密过程的安全;

(5)设备开销最小:Assured框架通过将计算卸载到各控制器,减轻了升级主控的资源开销。


基于STRIDE的属性加密机制




2020年Amrita Ghosal等人提出了一种安全且可扩展的软件更新技术,称为STRIDE[3]。主要针对的安全风险为车辆可能安装不正确的升级包,网络攻击者通过注入修改或未经授权的软件更新来获取访问权限或危害车辆。同时,方案支持防护车辆数量的增加,具备扩展性。作者使用Bethencourt等人提出的CP-ABE(基于属性加密)方案保证升级包的保密性[4]。STRIDE分为三个不同的阶段,即更新发布、更新选择和更新检索,三个阶段的算法简介如下。

符号释义:密钥对(pkc, mrc),它们可以生成车辆的私钥prc。pkgu为更新软件包,CID为车辆身份信息(例如车型、车辆VIN等),SID为车辆状态信息(例如ECU的软件版本,硬件配置版本等)。Tokenu作为标识pkgu的令牌,由HASH(pkgu)、CID和SID推导出,其中HASH为哈希函数。此外,每个pkgu都有一个关联的访问策略wu,由OEM的策略确定。每辆车都有一个属性列表Attrc,用于获取属性密钥ku。使用ku加密pkgu,加密函数为ENCKu。相反,使用ku加密pkgu,加密函数为DECKu。

一、更新发布

FOTA信息安全,一篇看不懂的综述


算法1展示的是更新发布的算法。当发布新的升级包pkgu时,系统根据HASH(pkgu)、CID和SID计算得到Tokenu,并确定访问策略wu(Line 2-3)。接着生成一个新的属性密钥ku,最后将元组(Tokenu, ku, A, wu)转发到OEM 的服务器,存储在数据库中(Line 4-5)。OEM希望升级任务的可扩展分发并提供对Tokenu的细粒度访问。在STRIDE 中通过CP-ABE实现了目标,每辆车都有一个与其属性集Attrc相对应的属性特定密钥ku,而OEM 具有用于加密的公钥pkc。OEM在主密钥mrc的帮助下生成 ku以及属性集Attrc(Line 4)。然后,记录当前时间戳t并确定更新信息应被升级有效的时间间隔Δt。这将允许车辆验证任务的新鲜度(Line 6-9)。最后,OEM使用ku对更新包pkgu进行加密,并在云端发布更新包(Line 10-11)。

二、更新选择

FOTA信息安全,一篇看不懂的综述


算法2展示的是STRIDE的更新选择。为了获取最新的任务,采用CPABE对CID和SID加密生成Tokenc。防止车辆信息泄露。接下来,云端将 Tokenc转发给OEM私网内的服务器进行身份验证(Line 3)。OEM收到Tokenc后,对其CID和SID进行认证并解密(Line 4)。验证成功后,OEM私网服务器生成加密的属性密钥ku,enc(Line 5-6)并将ku,enc发送到云(Line 7)。云接收到ku,enc后将其附在升级包中,然后将升级包转发到车辆 C(Line 8)。如果验证失败,生成一条无效车辆身份信息的消息并终止升级(Line 9-11)。

三、更新校验

FOTA信息安全,一篇看不懂的综述


算法3展示的是STRIDE的更新检索。车辆认证成功后,云端将升级包URL发送到车辆C(Line 2)。下载完成后,车辆从报文Payload中获取时间戳,并验证接收到的更新任务的新鲜度,通过检查值t+Δt判断更新包是否是过时的(Line 3-4)。在这项工作中,我们通过检查值t+Δt来确定新鲜度。确认更新任务新鲜度后,车端通过解密ku,enc得到ku(Line 5),而后使用ku(Line 6)解密pkgu, 并通过比较HASH(pkgu)、CID和SID(第 10-11 行)来验证其完整性和真实性。如果验证失败,车辆C将声明受到DoS攻击。

STRIDE提供了端到端的安全性,经过台架测试测算,减小了数据流量和计算开销。同年,Michele La Manna等人优化了STRIDE方案[5],在真实的汽车台架测试了CP-ABE的引入性能。使OEM对方案的性能有了一个可靠的估计。


TEE可信执行环境





对于当前软硬件结合的安全趋势,硬件安全模块的研究也引起了科研人员的兴趣,Idrees等人提出了一种利用硬件安全模块(HSM)存储加密密钥并执行加密操作的协议[6]。HSM 为加密密钥提供安全存储,并为加密操作提供安全执行环境。但HSM 的主要缺点是它的总体成本和资源需求较高。类似地,Petri等人提出了一种基于可信平台模块(Trusted Platform Module,TPM)的安全软件更新机制[7]。TPM的架构和启动顺序如下图所示.
 

FOTA信息安全,一篇看不懂的综述


基于硬件的隔离机制,能够将固件TPM的地址空间与常规应用程序隔离。一个例子是ARM 的TrustZone技术。在这种情况下,引入了具有自己的寄存器集的更高特权的“监控模式”。CPU 在此模式下启动,并启动轻量级操作系统,该操作系统管理一组受信任的应用程序。设置好这个安全区域后,Rich OS就可以正常启动了。基于硬件的隔离保证为安全区域保留的内存不能被Rich OS访问。某些实现甚至可能支持只能由安全操作系统及其受信任应用程序访问的外围设备。

所提出的技术在FOTA业务中的应用是这样的,首先,网关ECU从远程服务器下载更新后的软件。然后ECU使用TPM中预定义的散列验证下载的软件。验证成功后,ECU将更新后的软件发送到目标ECU进行安装。TPM 既可以在专用芯片上实现,也可以在片上系统 (SoC) 的受保护环境中使用固件实现。使用TPM的好处是它支持许多流行的加密算法,例如RSA、SHA、AES。主要局限性是,每个ECU都需要一个HSM/TPM算法加密机,从而导致了额外成本。

赵国开于2019年提出了一种更安全的基于Trustzone进行安全隔离升级ECU的方法,以提高整个升级过程的安全性[8]。车载设备使用的硬件平台基于带ARM Trustzone硬件架构的CPU核,在该CPU核上运行两个操作系统,分别为 Trusted OS(运行在trustzone上),RichOS(运行在普通区域)。在RichOS上的一级下载服务负责和云服务器进行交互,使用TLS进行通信交互和ECU升级包下载,Trusted OS运行在Trustzone上,是一个相对Rich OS的隔离安全操作区域,配置了独立的存储区域及对ECU进行通信的硬件接口,这些对Rich OS都是不可见的,从而确保在 Trusted OS上操作的安全性,主要实现对从一级下载服务下载下来的ECU升级包进行签名验证,数据解密,ECU下载管理,并反馈ECU相关的升级状态信息给Rich OS上的一级下载服务,确保升级数据的完整性,升级过程不会受到恶意软件攻击,最大限度的保证ECU升级过程的安全,系统架构图如下图。
 

FOTA信息安全,一篇看不懂的综述



区块链技术在FOTA安全中的应用





随着区块链技术的飞速发展,FOTA系统安全也可基于区块链设计。Baza等人提出了一种基于区块链的安全方案[9],该方案实现了固件完整性,固件分发和访问控制,和抗DoS攻击的能力。

特别的是,他们使用区块链和智能合约来确保软件更新的完整性和真实性。作者同样使用了基于属性加密(ABE)来允许OEM设置更新策略。同时采用了zk-SNARK的证明结构和聚合签名。其中zk-SNARK证明结构分为证明人和验证者两个角色,证明人拥有验证信息,例如秘密密钥;其他人,称为验证者,无此信息。zk-SNARK 不需要证明者和验证者之间的任何交互。作者使用聚合签名以减少区块链上的计算开销。聚合多个证明来创建一个简短的聚合证明,以减少发送到区块链的交易数量。

方案整体的系统架构图和叙述如下图和下文。

FOTA信息安全,一篇看不懂的综述


(1)OEM为新固件更新创建智能合约,同时下发固件的哈希码以供无人驾驶车辆进行真实性检查;

(2)OEM将新的更新发送给信誉最高的车辆(分发者);

(3) 分发者将升级包的加密版本分发给其他车辆,车辆响应分发者,同时将接受证据返回;

(4)包含多个接受证明的交易被发送到智能合约以更新分发者的信誉;

(5)响应的车辆从智能合约接收固件更新的解密密钥,同时智能合约奖励分发者,提高他的信誉。

Steger等人也提出了一种基于区块链的架构[10],以解决车辆FOTA软件更新的安全和隐私问题。在物联网领域,Xinchi He等人采用许可区块链来保护可部署在智能城市或不同家庭的物联网设备的OTA固件更新[11]。该方法将智能合约部署到区块链网络,以验证固件更新的合法性,并处理可能是受到攻击的设备(如DoS或MitM)导致的失败验证实例。他们提出的系统通过用分布式区块链解决方案取代集中式固件更新体系结构中,消除系统中存在的单点故障。



总结




智能网联时代,新技术层出不穷、协议栈不断迭代。伴随着车载以太网和SOA架构全面铺开,FOTA信息安全势必会遇到越来越大的挑战。各主机厂和零部件供应商始终需要通过安全防护体系的建立以及持续性的风险分析和攻防策略优化,提升包括FOTA在内的车联网云管端的信息安全、并不断优化。
 


参考文献:

[1] T. K. Kuppusamy, L. A. DeLong and J. Cappos, et al. Uptane: Security and Customizability of Software Updates for Vehicles[J]. IEEE Vehicular Technology Magazine, 2018, 13(1): 66-73.

[2] N. Asokan, T. Nyman, N. Rattanavipanon, et al. ASSURED: Architecture for Secure Software Update of Realistic Embedded Devices[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2018, 37(11):2290-2300.

[3] A. Ghosal,  S. Halder, M. Conti. STRIDE: Scalable and Secure Over-The-Air Software Update Scheme for Autonomous Vehicles[C]. ICC 2020-2020 IEEE International Conference on Communications (ICC), 2020, 1-6.

[4] J. Bethencourt, A. Sahai, B. Waters. Ciphertext-Policy Attribute-Based Encryption[C]. IEEE Symposium on Security & Privacy. IEEE, 2007, 321-334.

[5] M. L. Manna,  L. Treccozzi,  P. Perazzo, et al. Performance Evaluation of Attribute-Based Encryption in Automotive Embedded Platform for Secure Software Over-The-Air Update[J]. Sensors (Basel, Switzerland), 21(2): 515-521.

[6] M. Steger, M. Karner, J. Hillebrand, et al. Generic framework enabling secure and efficient automotive wireless SW updates[C]. 2016 IEEE 21st International Conference on Emerging Technologies and Factory Automation (ETFA), 2016, 1-8.

[7] R. Petri, M. Springer, D. Zelle, et al. Evaluation of lightweight TPMs for automotive software updates over the air[C]. The World’s Leading Automotive Cyber Security Conference, 2016, 15.

[8] 赵国开. 基于Trustzone的汽车ECU安全OTA系统设计[J]. 科技创新导报,2019,16(21):94-96. DOI:10.16660/j.cnki.1674-098X.2019.21.094.

[9] M. Baza, M. Nabil, N. Lasla, et al. Blockchain-based Firmware Update Scheme Tailored for Autonomous Vehicles[J]. 2019 IEEE Wireless Communications and Networking Conference (WCNC), 2019, 1-7.

[10] M. Steger, A. Dorri, S. S. Kanhere, et al. Secure Wireless Automotive Software Updates Using Blockchains: A Proof of Concept[C]. Advanced Microsystems for Automotive Applications 2017, 2017, 137-149.

[11] X. He, S. Alqahtani, R. Gamble, et al. Securing Over-The-Air IoT Firmware Updates using Blockchain[C]. the International Conference, 2019, 164-171.



作者 | 18号线不到安研路
初心 | 记录生而为人的证据,分享工农阶层原创作品,聚焦智能网联与人情冷暖。
声明 | 本文部分文字及图片资料取自网络,如有侵权,请联系平台进行修改或删除;文章属于作者本人,仅代表个人观点,不代表平台立场,如有不妥,也请联系平台修改或删除;本文不作任何商业用途。

原文始发于微信公众号(十一号组织):FOTA信息安全,一篇看不懂的综述

版权声明:admin 发表于 2021年11月6日 上午1:09。
转载请注明:FOTA信息安全,一篇看不懂的综述 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...