汽車E/E架構的網絡安全分析
?還記得《速度與激情8》中黑客Cipher通過網絡侵入車輛,獲取車輛的控制權,控制車輛從大樓窗戶墜落的震撼場景嗎?
圖1 《速度與激情8》中黑客控制車輛墜落
當前行業還缺乏完整的網絡安全概念,僅僅有少量的安全措施,例如在CAN報文中增加8bit的CRC校驗、rollingcounter等機制;在關鍵的診斷功能上使用安全校驗機制,但是這些機制通常太弱,甚至是代碼實現上存在缺陷。近年來車輛被網絡攻擊的數據有所增加,如圖2所示。
圖2 近年車輛被網絡攻擊案例(來源知網)
01 車載網絡架構安全簡介
隨著汽車智能化、網聯化的逐步推進,汽車在給人們的交通出行帶來舒適便捷的同時,系統復雜化和豐富的對外通信接口更暴露出車載網絡的脆落,智能網聯汽車的網絡架構呈現異構、實時、成本敏感等特點,其主要特征如下:
1.豐富的對外接口。隨著V2X (vehicle to everything)的發展,智能網聯車不再是一個獨立的電子系統,而是一個大型的移動終端,為實現車與X(例如車、路、人、云等)的信息交換,必須配備豐富的連接接口,例如4G/5G、Wi-Fi、藍牙、 GPS、NFC等。與此同時,通信需求增加和對外接口豐富將導致網絡攻擊入口和形式的多樣化。
2.大量的實時數據。隨著智能座艙和自動駕駛功能的逐步加持,傳感器配置也越來越豐富,例如用于DMS的監控攝像頭,自動駕駛的前置多目以及車身的環視攝像頭、激光雷達、毫米波雷達、超聲波雷達等。這些傳感器的數據都是通過網絡總線架構傳輸到控制器。例如車載以太網、CANFD、FlexRay等總線。
3.異構的網絡架構。長期以來,處于成本和性能的考慮,車載網絡架構中存在多種不同的總線協議,來處理不同的場景,比如底盤線控系統中使用FlexRay總線,車門、車窗控制使用LIN總線,攝像頭數據傳輸使用MOST總線,激光雷達數據傳輸使用車載以太網,毫米波雷達或者超聲波雷達使用CANFD。
4.信息安全保護機制缺乏。傳統汽車是一個相對獨立和封閉的設備,因此車載網絡設計之初并未考慮外部網絡安全威脅場景,缺乏基本的認證、加密及接入控制等安全機制,隨著汽車逐漸變成一個大型終端節點,亟需開展車載網絡增強技術研究以提高網絡安全性。
一個安全的汽車電子系統至少要滿足系統的保密性、完整性及可用性要求,怎么理解這三個要求呢?
1.保密性是指數據所達到的未提供或未泄露給非授權的個人、過程或其他實體的程度。通常的安全措施是加密、訪問控制。
2.完整性是指信息和系統不會被未授權更改或破壞的特性,其中包括數據的完整性和系統的完整性,常用的安全措施包括完整性校驗,如消息摘要和md5。
3.可用性是指被授權實體按要求能訪問和使用數據或資源。常用的安全措施包括備份和恢復技術,防火墻技術。
重要的是,汽車內的一個或幾個安全裝置(例如,安全網關或車身控制器)并不能保證整個汽車的安全。只有當完整的鏈/域,甚至所有的汽車部件以類似的級別受到保護時,一輛汽車才可以稱為安全汽車
對于個主機廠正在開發的下一代基于中央控制器單元的電子電氣架構,網絡安全方面需要考慮包括ECU內部和周圍的硬件保護,基于軟件的車內保護,車內車外的網絡監控,以及安全云服務。從而構建安全可靠的電子電氣架構,如圖3所示。
圖3 安全的電子電氣架構
02 安全機制
為了使汽車成為一輛安全的汽車,電子電氣架構足以應對所考慮場景的安全威脅,有哪些具體的安全措施呢?
1.分域隔離
通過使用整車電子電氣架構設計軟件(例如PREEVISON)將整車功能進行定義、分解、歸納、映射后,將整車網絡劃分不同的域,例如底盤域、自動駕駛域、車身域等。對不同的域進行軟件和物理層的隔離,例如對跨域流量進行監控和過濾,對跨域流量通過安全協議來完成數據交換。
2.公鑰基礎設施(Public Key Infrastructure,PKI)
PKI是基于公鑰密碼體制的密鑰和證書的產生、管理、存儲、分發和撤銷等功能。一個典型的PKI系統包括PKI策略、軟硬件系統、證書機構CA、注冊機構RA、證書發布系統和PKI應用等。
PKI用于構建信任鏈,允許不同的利益相關者(如主機廠和供應商)密切監控和限制ECU之間、測試者或后端之間的交互。PKI 還是主機安全認證和通信初始完整性檢查的基礎。核心組件是一個可信存儲,用于存儲允許更新軟件或安全通信的根證書。PKI適用于汽車中大部分組件。被認為是當前遠程身份驗證的最佳實踐,PKI 的功能在訪問權限的撤銷、權限的粒度及其范圍方面可以非常靈活。
使用PKI 的缺點是成本高昂,而且靈活性也會導致復雜性的增加。信任錨根證書可以在驗證簽名之前就到位,但是需要撤銷證書和檢查它們的有效性,如果根證書的私鑰被泄露,則需要適當的機制來修改所有受影響的設備。
3.硬件安全模塊(HSM)
HSM是一個獨立的微處理器,通常有其受保護的專用內存(RAM),放置程序代碼和數據的專用閃存區,以及外圍設備(例如定時器、用于某些密碼算法的硬件加速器或用于真隨機數的發生器)。它能夠訪問主機的所有硬件。用于實現認證啟動或主機監測等功能。專用數據閃存可以用來存儲秘鑰,主機系統無法隨意訪問。這意味著主機可以請求HSM執行加密操作,而密鑰無需離開HMS。
如圖4所示為英飛凌TC3XX系列的HSM模塊,其是基于ARM Cortex-M3的微控制器,有隨機數生成器TRNG,和AES、Hash、PKC(公鑰加密整數)算法的硬件加速器,以及中斷、Timer等外設,其支持的算法包括:
對稱加密:AES-128:支持硬件實現,支持ECB、CBC兩種模式;
摘要算法:128bit的MD5、160bit的SHA-1,224bit、256bit、384bit、512bit的SHA-2,其中128bit的MD5、160bit的SHA-1、224bit 的SHA-2、256bit 的SHA-2算法支持硬件實現,384bit、512bit的SHA-2需要用軟件實現。
非對稱加密:RSA、ECC等。
圖4 英飛凌TC3XX系列的HSM模塊
雖然各芯片的加密模塊都叫HSM,但是功能和支持的算法卻有差異,因為HTA和HSM并沒有專門的規范來定義,也就是說只要芯片有加密操作的功能,芯片廠商就可以稱其具備HSM。這意味著在供應商選擇階段,主機廠必須詳細核實每一個可能供應商的技術聲明。這種標準化的缺乏經常導致供應商的誤解。
對于HSM的功能測試,主機廠不能僅聽供應商吹牛,還需讓其提供測試報告,另外主機廠還需設計測試用用例對其可用性、功能性進行測試。例如測試AES是否達到NIST標準。因此,主機廠在選擇供應商時,不僅要讓他們的采購部門參與,還要讓他們的安全專家參與。
4.AUTOSAR
在AUTOSAR的4.2 版,AUTOSAR 定義了所有必要的安全模塊,如圖5所示,包括用于CANFD、ETH通信加密的的安全板載通信SecOC模塊,以及加密服務管理器 (CSM) 和加密抽象庫 (CAL)。AUTOSAR只定義了上層模塊以及之間的接口,對于密碼原語的實現,AUTOSAR并沒有定義。
圖5 AUTOSAR中的加密服務模塊
5.安全的診斷服務
根據 ISO 14229標準,當診斷服務對軟件安全有影響時,必須經過0x27服務校驗確保其安全。然而其使用的安全機制并不安全,使用的機制基于對稱算法,沒有加密算法,seed和key的長度通常為1-4字節。后續有必要將其升級到8字節以上,畢竟診斷可以修改控制器的關鍵參數。
6.安全引導
安全引導用于在啟動過程中使用數字簽名驗證所有軟件的完整性,包括保證引導加載程序、操作系統甚至可能是應用程序不會被未經授權的人更改,如圖6所示。
圖6 安全引導
雖然引導加載程序和操作系統通常是由Tie1提供的,但應用程序可能來自官方應用商店或者是第三方供應商,這使軟件發布過程更加復雜。與大多數術語一樣,安全引導并沒有標準化,但是市場上對這個術語有一個常見的解釋:軟件的完整性是衡量多個階段的,啟動過程中的每個階段只有在前一個階段能夠成功驗證其完整性的情況下才會啟動——否則啟動就會停止或ECU重新啟動。
這種安全引導的整體機制被廣泛使用,例如在Windows 10中作為一個可用的特性,在Apple的iOS操作系統是默認打開的,以防止越獄和軟件惡意修改。
7.后端安全通信(TLS)
現在大部分汽車都具有聯網通信模塊(常說的TCU),該模塊允許用于遠程控制車輛,或者獲取車輛信息。這些通常都是基于蜂窩網絡的,目前在網絡層的加密和驗證通常使用TLS協議套件來實現,它是目前全世界最常用的安全協議,但正確配置每個選項來實現強大的安全級別可能會很棘手也是比較麻煩的。
8.防火墻
防火墻用于過濾和阻止異常的數據流。過濾器有很多種類,從按起點或目的地進行簡單過濾開始,逐漸擴大到對有效負載的深入檢查。單個ECU的防火墻通常通過CANID 過濾接收消息。對于網關等大容量通道,這些防火墻以及路由邏輯通常會對性能產生影響。與后端服務器的無線連接使用相同的過濾機制,因此只接收某些確定的服務。傳統車內ECU中的防火墻功能通常沒有日志記錄機制。但是也有部分可能會在后續增加,例如VCU轉變為動力域的域控制器,運行linux或qnx系統,具有面向服務的通信能力。
9.入侵檢測/防御系統(IDS /IPS)
IDS /IPS是類似防火墻的系統,但與防火墻不同的是,它不位于網絡邊界,而是在網絡內部,通過監控/控制網絡流量來確保安全。入侵檢測系統監視系統/網絡,并將日志發送到后端系統進行進一步分析。IDS/IPS的檢測規則是依賴后端進行動態更新的,但是在網速慢的時候,更新時間需要數天或更長時間。
IDS/IPS可以在基于主機和網絡域中進行區分,也就是說可以針對單個ECU,也可以針對某個網絡域。它們可以作為單獨的硬件組件實現,也可以在現有主機上的軟件中實現。
另外 IPS可能會對安全相關功能產生負面影響,其有可能出現誤檢,例如,在碰撞之前檢測到大量的制動信號,這可能被 IPS 解釋為攻擊。就未來的機器學習IPS算法而言,這方面將變得更加關鍵。這意味著無論何時使用 IPS,都需要一條備份路徑來監督所有IPS解釋,這將對性能和責任方面產生影響。IDS 則不會有這種擔憂,因為檢測規則將由人類預先定義,當然,在定義此類 IDS 規則時仍然存在人為錯誤的可能性,但可以使用定義明確的更新過程和嚴格的測試將這些錯誤降至最低。
10.WIFI安全
對于車內WIFI,應采用強密碼的WAP2,而且密碼的長度也很重要,因為存在基于字典的暴力破解攻擊。
額外的安全措施可以放在網絡層之上,如應用程序在應用層進行通信內容加密以及使用一個固定的TLS連接,或只有汽車和設備知道的共享密碼進行安全地配對。這將產生三層加密,這將使模擬或重放攻擊非常困難。
對于后端連接,每個連接都應該顯式地列入白名單、加密和身份驗證,特別是在診斷代碼或私有數據等敏感信息被傳輸時。此外,應該記錄和分析每次連接嘗試,以便及時檢測暴力強迫攻擊。
03 總結
對于車載網絡內那么多節點,怎么權衡性能和安全呢,各節點應該都采用哪些安全機制呢?
對于電子電氣架構的安全分析,首先需要列出其資產清單,可以按車載設備、車內網絡、數據通信類別進行進行梳理,如圖7所示,然后再梳理資產價值表和資產價值等,結合汽車網絡安全資產重要性等級的結果和資產影響度等級的結果, 基于關鍵資產劃分表識別出汽車網絡安全中的關鍵資產,并采取相應的安全機制。
圖7 資產價值劃分?