基於ISO 21434的汽車網路安全實踐

創提科技
2023/04/25

分享到

“轉載自維克多汽車技術(上海)有限公司,作者Vector China”


商業領域的IT系統和嵌入式產品的IT系統正在融合為一種多功能系統。相應地,關注汽車網路安全的ISO 21434標準應運而生。該標準的意義在於提供了一個指南,可用於降低產品、專案和組織中存在的安全風險。為了有效實施ISO 21434標準,本文介紹了遵循ISO 21434的系統級安全工程實踐方法,並通過實例進行分析。


汽車網路安全風險
 
汽車網路領域的犯罪正在急劇增加。在過去幾年,網路犯罪的投資回報發生了巨大變化。通過應用勒索軟體,如今的網路犯罪比毒品交易更加有利可圖。據估計,網路犯罪每年造成的損失高達6000億美元,而毒品交易的同期金額是4000億美元[1]。由圖1可見,網路攻擊幾乎呈現出指數增長的趨勢[1]


基于ISO 21434的汽车网络安全实践-1 小.png


01 報告的針對車輛的嚴重網路安全攻擊


網路犯罪的影響是多方面的,例如改變車輛功能導致車輛意外行為、操縱資料和軟體導致故障,或通過DOS攻擊和勒索軟體破壞常規功能等。在上述所有網路攻擊場景中,對於製造商發佈的各種元件,其品質不再能夠得到保證,而這也意味著車輛不應該繼續在道路上行駛,因為車輛本身已成為安全風險。顯然,沒有網路安全就無法達到功能安全。為應對汽車網路安全的挑戰,主機廠和供應商必須對整車的電子電氣系統進行有效保護。


以風險為導向的網路安全管理方法
 
面向風險的網路安全管理方法會將安全需求、設計決策以及測試聯繫起來[1, 2, 3, 4]。為實現安全性,在車輛開發過程中需要考慮以下事項:
 
>  對於面向完整開發過程的系統級流程,需要流程模型來對其進行標準化。這一流程模型應當從需求分析開始,覆蓋設計、開發以及元件和網路的測試環節。
 
>  通過快速的軟體更新來修復ECU軟體中的漏洞。
 
>  使用最先進且滿足長期安全需求的可靠協定。由於這些協議通常要用到加密金鑰,因此,必須要實現覆蓋車輛全生命週期的金鑰管理。
 
>  車載網路和系統架構必須具備靈活性和可擴展性,其在設計時應當充分考慮網路安全問題。
 
以風險為導向的網路安全管理方法,有助於平衡日益嚴重的網路安全威脅與產品在全生命週期中日益增加的複雜性。而在網路安全的概念設計階段,要對遭受攻擊造成損失所帶來的成本與產品全生命週期進行安全加固所產生的成本進行平衡。圖2顯示ISO 21434所要求的以風險為導向的網路安全方法。
 

基于ISO 21434的汽车网络安全实践-2 小.png

 
02 面向風險的網路安全分析流程


ISO 21434標準概括
 
在2021年發佈之前的幾年,ISO 21434已經成為汽車網路安全領域的重要參考。由於傳統的資訊安全標準主要關注管理和商業資訊系統,對車輛場景下的安全問題指導意義有限。因此作為ISO 21434標準的最初起草者之一,Vector Consulting長期投入到ISO 21434標準的起草工作之中。
 
ISO 21434基於以風險為導向的方法,明確區分了產品、專案和組織級別的措施,並與ISO 26262密切相關。與ISO 26262相比,ISO 21434更加抽象:既沒有規定任何具體的技術、解決方案或補救方法,也沒有對自動駕駛汽車或道路基礎設施提出獨特的要求。這是為了避免安全標準對產品造成過度約束。另一方面,雖然ISO 21434涵蓋最先進的網路安全原則,但並沒有為實施過程提供太多的指導。因此這一標準將隨著時間的推移而不斷擴展。
 
ISO 21434問世後,人們常常難以分辨ISO 21434與SAE J3061的區別。事實上,幾年前SAE J3061曾被作為汽車網路安全問題的短期修復方案。但由於多方面的原因,ISO 21434在發佈後已直接取代SAE J3061。乍看之下,這兩個標準的高層面安全流程大體相容。其中SAE J3061在附錄A中介紹了威脅和風險分析(TARA)的各種方法。而ISO 21434提供了一個與功能安全解耦的網路安全流程,它只關注網路安全。而且為了提高效率和減少冗餘,ISO 21434引用了ISO 26262,並與之共用一些方法。總之,ISO 21434對網路安全的工作產品、組織和方法(如TARA)的要求更為精確。Vector Consulting的經驗表明,如果已經成功應用了SAE J3061,那麼可以很容易地切換到ISO 21434。
 
ISO 21434可用於構建網路安全管理系統(UNECE R.155 CSMS),包括網路安全風險管理和治理。其中,組織層面的活動主要是建立所需的網路安全管理條例,並在公司中灌輸網路安全文化。這還應包括在不同專案團隊之間建立資訊共用系統,採購所需的新網路安全工具並提供培訓。組織應重新評估現有的IT安全系統並計畫組織層面的審計。
 
根據ISO 21434,要開展專案層面的活動,首先需要一個定義明確的管理系統,在專案中明確定義角色和職責。通過應用諸如Automotive SPICE(ASPICE)這樣的流程框架,可以滿足ISO 21434標準對於流程方面的大部分要求。在實踐中,Vector Consulting在功能安全、網路安全和ASPICE領域識別到了一些相似的弱點,比如專案團隊在需求工程、可追溯性、測試方法、專案管理和風險管理等方面通常存在不足。
 
ISO 21434標準建議,在網路安全規劃之初,就應當清晰地定義相關角色和職責。同時,ISO 21434還包含了使用複用元件,引入協力廠商元件,直接使用像開源模組這樣的非市場流通元件等的指南。最後,ISO 21434還提供了在專案層面進行網路安全評估的相關資訊。


基于ISO 21434的汽车网络安全实践-3 小.png

 
03 ISO/SAE 21434:2021結構(來源:ISO)


基於ISO 21434的安全工程實踐
 
本節通過一個簡化後的ADAS客戶專案案例,展示如何在實踐中逐步應用ISO 21434。雖然示例經過簡化,但意義在於介紹安全工程。


第1步:相關項定義
 
相關項定義不僅是確定元素邊界所必須的,而且一直都是定義系統資產所需的重要參考。在該案例中,廣義的相關項就是整個ADAS系統,其頂層網路架構如圖4所示。


基于ISO 21434的汽车网络安全实践-4 小.png

 
04 ADAS網路架構示例

 
簡單起見,假設所有通信都通過CAN匯流排完成。對於外部介面,要根據底層架構來識別。該系統可通過4G網路與OEM雲基礎設施進行通信,並擁有可連接到閘道的OBD介面。


第2步:資產識別
 
下一步是識別並列出相關項中的所有資產。在選擇資產時,要基於其價值或受到損害時的風險等,比如功能安全目標、財務風險、運營成本和隱私等。以下是ADAS系統的資產示例:
 
>  A1:ADAS接收或發送的網路報文
 
>  A2:ADAS軟體,包括安全機制
 
>  A3:安全金鑰
 
>  A4:駕駛歷史和記錄的資料


第3步:威脅分析和風險評估
 
基於已經識別出的資產,下一步要進行TARA分析。通過TARA可以系統性地分析在受到攻擊時威脅所帶來的影響程度,以及實現攻擊的難易程度。然後結合影響等級和攻擊可行性等級,按照從1(非常低)到5(非常高)的尺度來劃定風險等級。之後,根據風險等級的高低來計畫和實施進一步的風險應對措施。除此之外,ISO 21434還建議按照從CAL1(低)到 CAL4(高)的尺度,對每項資產劃定網路安全保障級別(CAL)。
 
示例中,我們列出了一些針對已識別資產的攻擊,以及相應的威脅,資產和威脅都各自有專屬ID。以下是一些攻擊路徑的示例:
 
>  A1-AT1:車輛制動相關報文被阻塞;
 
>  安全機制(即手動接管期間無車道保持)遭到破壞,無法正常工作。
 
在此基礎上,可識別出相應的威脅,即:
 
>  A1-AT1-T1:儘管駕駛員踩下制動踏板,但車輛不制動(危害:如果制動失效,可能引發事故並造成傷害)
 
>  A2-AT1-T1:手動接管期間保持車道(危害:因接管失敗而造成重傷)。
 
表1顯示了根據識別出的攻擊內容和威脅場景進行評估所獲得的攻擊可行性等級和影響等級,進而判定出風險級別和網路安全保障級別(CAL)。


基于ISO 21434的汽车网络安全实践-5 小.jpg

 
表1 TARA分析示例


第4步:安全目標和安全要求
 
為了降低風險,要根據風險可能造成的影響來識別和評估安全目標。安全目標是高層面的安全要求。從每個安全目標出發,可以衍生出一個或多個功能級安全要求,而對於每個功能級安全要求,又可以衍生出一個或多個技術級安全要求。在這個例子中:
 
>  安全目標:A1-AT1-T1-SG1:系統必須阻止對駕駛員輔助系統所發送消息的操縱行為。
 
>  功能級安全要求:SG1-FSecR1:必須確保駕駛員輔助系統和感測器之間通信的完整性。
 
>  技術級安全要求:SG1-FsecR1-TSecR1:MAC應由符合安全硬體擴展(SHE)的硬體信任錨(HTA)使用演算法RSA2048計算獲得。SG1-FsecR1-TSecR2:MAC值應在x位元組後進行截斷。


第5步:可追溯性
 
可追溯性有助於保持一致性並降低責任風險。即使在發生變更,增量構建或持續構建的過程中,可追溯性對於確保覆蓋率和一致性也是必不可少的。
 
圖5展示了將需求、設計和測試相關聯的一種抽象模型。在應用該模型時,設計者從負面需求(即駭客的需求)開始,提煉出解決方案以降低這些攻擊的可行性,進而確保從初始TARA分析結果和安全要求定義出發的追溯關係的完整性。


基于ISO 21434的汽车网络安全实践-6 小.png


05 網路安全可追溯性


第6步:設計
 
由於在安全相關資產的TARA分析中發現了相應風險,因此ADAS系統需要在設計上進行變更來應對這一風險。根據安全目標SG1,系統必須具備識別和預防機制來避免攻擊者對網路信號的操縱。通過落實功能級安全要求和技術級安全要求,可設計出相應的識別和預防機制。
 
在落實安全要求的過程中,硬體設計可能會相應地發生變更。在本文所研究的案例中,必須使用HTA。同時,通過應用MISRA和CERT提供的指南進行安全編碼,可以避免設計和錯誤可能導致的安全性漏洞。應當始終牢記,大多數攻擊得逞的原因是設計不足,而非密碼學的限制。


第7步:集成和驗證
 
該步驟的主要目的是驗證實施和集成的安全機制是否滿足網路安全目標和要求。為實施這一步驟,推薦以下具有相互依賴性的典型方法:
 
>  單元級驗證:靜態和動態品質分析側重於MISRA和CERT等安全編碼指南以及單元級魯棒性。自動工具用於執行品質分析(CQA)並生成測試報告。
 
>  功能測試:基於需求的測試有助於識別系統設計和架構中的基本缺陷。在該案例中,對最初在相關項定義中描述的實際功能進行了系統級別的測試,以確保功能表現不會因為額外的安全措施而受到損害。
 
>  模糊測試:模糊測試用於測試超出預期範圍和邊界的各類車輛通信協議。
 
>  滲透測試:滲透測試是在元件和系統級別上獨立執行的測試策略。灰盒滲透測試[5]因其高效率和有效性,已被證明能夠實現這一策略。


第8步:開發後階段
 
在開發階段,除了做好充分的測試,也必須為開發後的活動做好相關準備。這包括相關項的生產、運行、維護以及最終報廢。因此需要為這些活動預留預算、時間和能力儲備,比如緊急事件回應團隊、安全警報通知和軟體補丁交付等。該階段可分成以下幾個環節:
 
>  生產:在相關項的製造和組裝過程中,必須遵循一些網路安全要求。例如,在這個案例中,對於在下線階段向HTA的記憶體中注入供應商或OEM關鍵材料的過程,應當進行充分的計畫和處理。
 
>  運營和維護:作為持續網路安全活動的一部分,每個組織都需要維護一個獨立的專案監控團隊。當網路安全事件觸發時,運營團隊必須按照預先定義和商定的網路安全事件回應計畫來進行事件回應。
 
>  報廢:報廢過程與網路安全密切相關,因為相關項可能包含需要安全處置的資訊。


結論
 
隨著車輛資訊系統與企業資訊系統在開發、生產及運營階段的融合,汽車網路安全相關問題日益顯著[1, 2, 3, 4]。由於汽車網路安全是功能安全的先決條件,因此必須全面而系統地應對網路安全問題。ISO 21434為汽車網路安全提供了一個框架,但它還不是指南,不能直接用於定義開發過程。因此,在應用ISO 21434時需要強有力的指導來有效且高效地進行實施。對未來需要在法律訴訟中證明安全措施有效性的場景,尤其如此。
 
網路安全不僅僅是一個安全團隊的職責,更是每個工程師的責任。網路安全需要一個整體方法去應對,即以系統工程的方式深化落實,並在整個產品生命週期中建立完整的追溯關係。