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


作者 | 18號線不到安研路

來源 | 十一號組織



2021年10月24日程序員日,小鵬汽車發布了城市級領航輔助駕駛系統 NGP,并官方確定這一功能將在2022年上半年跟隨XPILOT3.5系統版本通過FOTA升級到用戶車輛上,而可以升級的車型即為小鵬剛發布的全球首款量產激光雷達智能汽車P5。

暫不表激光雷達搭載乘用車真正上路前依舊浮動的變數,只再絮絮另外一個賣點FOTA。蔚來的長安街事件引起對FOTA的安全性討論,依舊時常活躍在主機廠朝氣蓬勃的早會上,供應商慷慨激揚的推介會中。FOTA信息安全性的理論研究進展究竟如何,本文一探究竟。


概述




FOTA(Firmware Over the Air)即固件空中升級技術,通過網絡自動升級車輛的固件,從而完成車輛新功能集成、現有功能升級、問題修復。伴隨著車聯網技術的興起,FOTA也開始飛入尋常百姓家。FOTA升級的對象從最早的信息娛樂系統(如導航、娛樂、舒適性配置等),過渡到核心零部件的控制系統(發動機、變速箱、底盤、三電控制器等),再到如今如日中天的自動駕駛系統。

FOTA的出現一方面減少了4S店以保養名義把愛車召回的機會,另一方面也徹底改變主機廠的造法、賣法。用戶拿到手保證能跑,半年后花點錢可以開放輔助駕駛功能、一年后再花點錢保證能飛,這已經成為主機廠常見的宣傳大法。

FOTA信息安全,一篇看不懂的綜述的圖1


與此同時,以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信息安全,一篇看不懂的綜述的圖2


DirectorRepo為每個升級包生成一個元數據集合,同時包含車輛和升級ECU信息。ImageRepo用于上傳升級包和做全量/差分包。TimeServer用于對齊車端ECU的時間戳,阻止凍結攻擊。ECU驗證時,需要根據TimeServer提供的時間驗證當前升級任務是否過期。

車載ECU分為Primary(升級主控)和Secondary。Primary ECU向DirectorRepo上傳版本清單,從DirectorRepo和ImageRepo分別下載升級包的元數據和加密過的升級包本身并驗證,最后分發給Secondary ECU。Secondary從Primary下載TimeServer提供的最新時間,元數據和升級包,驗證成功后進行升級。

下表為對Uptane框架安全機制的分析
 

FOTA信息安全,一篇看不懂的綜述的圖3


三、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信息安全,一篇看不懂的綜述的圖4


算法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信息安全,一篇看不懂的綜述的圖5


算法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信息安全,一篇看不懂的綜述的圖6

算法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信息安全,一篇看不懂的綜述的圖7

基于硬件的隔離機制,能夠將固件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信息安全,一篇看不懂的綜述的圖8



區塊鏈技術在FOTA安全中的應用





隨著區塊鏈技術的飛速發展,FOTA系統安全也可基于區塊鏈設計。Baza等人提出了一種基于區塊鏈的安全方案[9],該方案實現了固件完整性,固件分發和訪問控制,和抗DoS攻擊的能力。

特別的是,他們使用區塊鏈和智能合約來確保軟件更新的完整性和真實性。作者同樣使用了基于屬性加密(ABE)來允許OEM設置更新策略。同時采用了zk-SNARK的證明結構和聚合簽名。其中zk-SNARK證明結構分為證明人和驗證者兩個角色,證明人擁有驗證信息,例如秘密密鑰;其他人,稱為驗證者,無此信息。zk-SNARK 不需要證明者和驗證者之間的任何交互。作者使用聚合簽名以減少區塊鏈上的計算開銷。聚合多個證明來創建一個簡短的聚合證明,以減少發送到區塊鏈的交易數量。

方案整體的系統架構圖和敘述如下圖和下文。

FOTA信息安全,一篇看不懂的綜述的圖9


(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.


登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP