商業領域的IT系統和嵌入式產品的IT系統正在融合為一種多功能系統。相應地,關注汽車網絡安全的ISO 21434標準應運而生。該標準的意義在于提供了一個指南,可用于降低產品、項目和組織中存在的安全風險。為了有效實施ISO 21434標準,本文介紹了遵循ISO 21434的系統級安全工程實踐方法,并通過實例進行分析。
汽車網絡安全風險
汽車網絡領域的犯罪正在急劇增加。在過去幾年,網絡犯罪的投資回報發生了巨大變化。通過應用勒索軟件,如今的網絡犯罪比毒品交易更加有利可圖。據估計,網絡犯罪每年造成的損失高達6000億美元,而毒品交易的同期金額是4000億美元[1]。由圖1可見,網絡攻擊幾乎呈現出指數增長的趨勢[1]。
01
報告的針對車輛的嚴重網絡安全攻擊
網絡犯罪的影響是多方面的,例如改變車輛功能導致車輛意外行為、操縱數據和軟件導致故障,或通過DOS攻擊和勒索軟件破壞常規功能等。在上述所有網絡攻擊場景中,對于制造商發布的各種組件,其質量不再能夠得到保證,而這也意味著車輛不應該繼續在道路上行駛,因為車輛本身已成為安全風險。顯然,沒有網絡安全就無法達到功能安全。為應對汽車網絡安全的挑戰,主機廠和供應商必須對整車的電子電氣系統進行有效保護。
以風險為導向的網絡安全管理方法
面向風險的網絡安全管理方法會將安全需求、設計決策以及測試聯系起來[1, 2, 3, 4]。為實現安全性,在車輛開發過程中需要考慮以下事項:
對于面向完整開發過程的系統級流程,需要流程模型來對其進行標準化。這一流程模型應當從需求分析開始,覆蓋設計、開發以及組件和網絡的測試環節。
通過快速的軟件更新來修復ECU軟件中的漏洞。
使用最先進且滿足長期安全需求的可靠協議。由于這些協議通常要用到加密密鑰,因此,必須要實現覆蓋車輛全生命周期的密鑰管理。
車載網絡和系統架構必須具備靈活性和可擴展性,其在設計時應當充分考慮網絡安全問題。
以風險為導向的網絡安全管理方法,有助于平衡日益嚴重的網絡安全威脅與產品在全生命周期中日益增加的復雜性。而在網絡安全的概念設計階段,要對遭受攻擊造成損失所帶來的成本與產品全生命周期進行安全加固所產生的成本進行平衡。圖2顯示ISO 21434所要求的以風險為導向的網絡安全方法。
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還提供了在項目層面進行網絡安全評估的相關信息。
03
ISO/SAE 21434:2021結構(來源:ISO)
基于ISO 21434的安全工程實踐
本節通過一個簡化后的ADAS客戶項目案例,展示如何在實踐中逐步應用ISO 21434。雖然示例經過簡化,但意義在于介紹安全工程。
第1步:相關項定義
相關項定義不僅是確定元素邊界所必須的,而且一直都是定義系統資產所需的重要參考。在該案例中,廣義的相關項就是整個ADAS系統,其頂層網絡架構如圖4所示。
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)。
表1
TARA分析示例
第4步:安全目標和安全要求
為了降低風險,要根據風險可能造成的影響來識別和評估安全目標。安全目標是高層面的安全要求。從每個安全目標出發,可以衍生出一個或多個功能級安全要求,而對于每個功能級安全要求,又可以衍生出一個或多個技術級安全要求。在這個例子中:
>
安全目標:A1-AT1-T1-SG1:系統必須阻止對駕駛員輔助系統所發送消息的操縱行為。
>
功能級安全要求:SG1-FSecR1:必須確保駕駛員輔助系統和傳感器之間通信的完整性。
>
技術級安全要求:SG1-FsecR1-TSecR1:MAC應由符合安全硬件擴展(SHE)的硬件信任錨(HTA)使用算法RSA2048計算獲得。SG1-FsecR1-TSecR2:MAC值應在x字節后進行截斷。
>
技術級安全要求:SG1-FsecR1-TSecR1:MAC應由符合安全硬件擴展(SHE)的硬件信任錨(HTA)使用算法RSA2048計算獲得。SG1-FsecR1-TSecR2:MAC值應在x字節后進行截斷。
第5步:可追溯性
可追溯性有助于保持一致性并降低責任風險。即使在發生變更,增量構建或持續構建的過程中,可追溯性對于確保覆蓋率和一致性也是必不可少的。
圖5展示了將需求、設計和測試相關聯的一種抽象模型。在應用該模型時,設計者從負面需求(即黑客的需求)開始,提煉出解決方案以降低這些攻擊的可行性,進而確保從初始TARA分析結果和安全要求定義出發的追溯關系的完整性。
05
網絡安全可追溯性
第6步:設計
由于在安全相關資產的TARA分析中發現了相應風險,因此ADAS系統需要在設計上進行變更來應對這一風險。根據安全目標SG1,系統必須具備識別和預防機制來避免攻擊者對網絡信號的操縱。通過落實功能級安全要求和技術級安全要求,可設計出相應的識別和預防機制。
在落實安全要求的過程中,硬件設計可能會相應地發生變更。在本文所研究的案例中,必須使用HTA。同時,通過應用MISRA和CERT提供的指南進行安全編碼,可以避免設計和代碼錯誤可能導致的安全漏洞。應當始終牢記,大多數攻擊得逞的原因是設計不足,而非密碼學的限制。
第7步:集成和驗證
該步驟的主要目的是驗證實施和集成的安全機制是否滿足網絡安全目標和要求。為實施這一步驟,推薦以下具有相互依賴性的典型方法:
>
單元級驗證:靜態和動態代碼質量分析側重于MISRA和CERT等安全編碼指南以及單元級魯棒性。自動工具用于執行代碼質量分析(CQA)并生成測試報告。
>
功能測試:基于需求的測試有助于識別系統設計和架構中的基本缺陷。在該案例中,對最初在相關項定義中描述的實際功能進行了系統級別的測試,以確保功能表現不會因為額外的安全措施而受到損害。
>
模糊測試:模糊測試用于測試超出預期范圍和邊界的各類車輛通信協議。
>
滲透測試:滲透測試是在組件和系統級別上獨立執行的測試策略。灰盒滲透測試[5]因其高效率和有效性,已被證明能夠實現這一策略。
第8步:開發后階段
在開發階段,除了做好充分的測試,也必須為開發后的活動做好相關準備。這包括相關項的生產、運行、維護以及最終報廢。因此需要為這些活動預留預算、時間和能力儲備,比如緊急事件響應團隊、安全警報通知和軟件補丁交付等。該階段可分成以下幾個環節:
>
生產:在相關項的制造和組裝過程中,必須遵循一些網絡安全要求。例如,在這個案例中,對于在下線階段向HTA的內存中注入供應商或OEM關鍵材料的過程,應當進行充分的計劃和處理。
>
運營和維護:作為持續網絡安全活動的一部分,每個組織都需要維護一個獨立的項目監控團隊。當網絡安全事件觸發時,運營團隊必須按照預先定義和商定的網絡安全事件響應計劃來進行事件響應。
>
報廢:報廢過程與網絡安全密切相關,因為相關項可能包含需要安全處置的信息。
結論
隨著車輛信息系統與企業信息系統在開發、生產及運營階段的融合,汽車網絡安全相關問題日益顯著[1, 2, 3, 4]。由于汽車網絡安全是功能安全的先決條件,因此必須全面而系統地應對網絡安全問題。ISO 21434為汽車網絡安全提供了一個框架,但它還不是指南,不能直接用于定義開發過程。因此,在應用ISO 21434時需要強有力的指導來有效且高效地進行實施。對未來需要在法律訴訟中證明安全措施有效性的場景,尤其如此。
網絡安全不僅僅是一個安全團隊的職責,更是每個工程師的責任。網絡安全需要一個整體方法去應對,即以系統工程的方式深化落實,并在整個產品生命周期中建立完整的追溯關系。
PROFILE
Prof. Dr.?
Christof Ebert
managing director of Vector Consulting Services in Stuttgart (Germany) and a professor at the University of Stuttgart and the Sorbonne in Paris.
PROFILE
Jerome John?
consultant at Vector Consulting Services in Stuttgart (Germany).
編輯:黃飛
?
評論
查看更多