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