汽車(chē)的嵌入式系統安全
盡管汽車(chē)采用數據網(wǎng)絡(luò )進(jìn)行通信是創(chuàng )新性的技術(shù),但也正因為這些技術(shù)的引用,增加了不少潛在的安全風(fēng)險。
你的汽車(chē)和一部現代的智能手機有什么區別?也許比你想象的區別要少得多!在過(guò)去的十年里,一場(chǎng)“信息技術(shù)革命”席卷了我們的交通工具。逐漸地,那些大部分獨立的、靜態(tài)的、模擬的機電系統已經(jīng)演化成為一套基于網(wǎng)絡(luò )軟件的、相互協(xié)同工作的多個(gè)電控單元(ECU)所組成的復雜系統。而且這種相互通信聯(lián)系不只是發(fā)生在ECU之間,而且對于整個(gè)外部世界都有通信交流,也就是說(shuō),已經(jīng)可以通過(guò)藍牙技術(shù), 智能手機可以同時(shí)連接到英特網(wǎng)和汽車(chē)內置的移動(dòng)無(wú)線(xiàn)通信模塊。
聯(lián)網(wǎng)車(chē)輛的潛在危險
盡管汽車(chē)采用數據網(wǎng)絡(luò )進(jìn)行通信是創(chuàng )新性的技術(shù),但也正因為這些技術(shù)的引用,增加了不少潛在的安全風(fēng)險。雖然目前國家最先進(jìn)的汽車(chē)電子產(chǎn)品都在著(zhù)手對抗技術(shù)故障和危害,但在人為制造的威脅或者采用惡意軟件攻擊車(chē)輛來(lái)達到故意操縱汽車(chē)的目的方面,我們還有很多事要做。為此,惡意攻擊層出不窮,從簡(jiǎn)單的修改里程表,到故意操縱交通控制系統來(lái)攻擊車(chē)輛控制相關(guān)的應用都有所發(fā)生。這種威脅是切實(shí)存在的,它能夠造成相當大的破壞,并且已經(jīng)被幾起成功的攻擊事件所證明,雖然其中大多數是由研究團隊策動(dòng)。例如在2011年,一輛在美國的量產(chǎn)汽車(chē),其內部的汽車(chē)電子部件功能成功的被人為的通過(guò)無(wú)線(xiàn)接口遠程控制(例如,制動(dòng))。出于多方面的原因,今天電腦化的汽車(chē)針對黑客和惡意軟件的可靠防護不僅對于駕駛者和行人是必不可少的,而且也是大多數新型汽車(chē)針對交通控制和滿(mǎn)足政府機關(guān)和企業(yè)需求的一次良好機遇和先決條件。
利用傳統的電腦或服務(wù)器安全手段
嵌入式系統的IT安全要求一個(gè)具體而特別的解決方案。因為汽車(chē)的嵌入式應用硬件平臺只擁有很少的計算能力、有限的存儲單元和很窄的帶寬,這就導致傳統的IT安全手段不能簡(jiǎn)單地移植到汽車(chē)的嵌入式系統中。這同時(shí)也增加了采用計算和內存密集型加密算法的難度。另一個(gè)原因在于標準電腦和嵌入式系統保護的對象和內容也不盡相同。一臺標準電腦主要防止來(lái)自互聯(lián)網(wǎng)的惡意攻擊,而有效的汽車(chē)安全則必須要考慮額外的硬件入侵的可能性,因為攻擊者往往都是直接侵入實(shí)體汽車(chē)的系統。此外,因為汽車(chē)應用功能在裝車(chē)后大多數情況下是可直接使用的,所以這就增加了物理攻擊的潛在威脅(例如逆向工程、被動(dòng)攻擊、主動(dòng)侵入或非侵入攻擊)。
在汽車(chē)領(lǐng)域,維護選項被嚴格限制,經(jīng)常只在一些不被信任的商店中提供此類(lèi)服務(wù)。此外,很多嵌入式系統元件都被直接燒進(jìn)硬件或者是只讀的存儲器中。這樣就自動(dòng)排除了各個(gè)模塊更新的可能性,但這和所謂的軟件在PC域中“自動(dòng)”更新是截然相反的。組成汽車(chē)網(wǎng)絡(luò )的電控單元各不相同,具有很大差異性,這導致復雜性大大增加。根據其所被賦予的不同功能,不同的E C U的計算能力差別極大,因此需要具有針對性的不同的保護機制。
全面的解決問(wèn)題的方法
即使是一份粗淺的分析也能表明,汽車(chē)系統的IT安全,以及許多其他的嵌入式系統安全,只有在整個(gè)開(kāi)發(fā)流程中采用一種全面的,經(jīng)過(guò)深思熟慮的系統安全設計方法才能實(shí)現。一種全面的設計方法既包含能很好地同時(shí)適應開(kāi)發(fā)流程和量產(chǎn)流程,也包括車(chē)載網(wǎng)絡(luò )方面安全性的整體概念。為此,安全工程系統方法的第一步首先是針對整個(gè)系統的所有安全相關(guān)的數據,功能模塊和接口進(jìn)行建模。隨后則應著(zhù)手分析調查安全目標和要求。這個(gè)過(guò)程包括以下幾個(gè)主要步驟:
- 建立系統模型
- 確定安全目標
- 確定潛在的隱患
- 做好風(fēng)險分析
- 確定功能安全需求
- 設計一個(gè)安全構架
- 在軟件中寫(xiě)明詳細的安全要求,如果可以的話(huà),在硬件中也寫(xiě)明
- 實(shí)現安全機制
在安全工程的規范定義和實(shí)施階段要實(shí)現安全機制的功能,以確保之前確定的安全目標得以實(shí)現。這樣所得到的結果就是一個(gè)綜合采用軟件和硬件措施及相對應的開(kāi)發(fā)過(guò)程的全面解決方案。例如,可能的軟件方法會(huì )采用加密的方式實(shí)現,如為達到安全目標的加密和簽名還有保密性和真實(shí)性等。在此基礎上,更加復雜的軟件協(xié)議有助于實(shí)現診斷功能或者軟件更新功能的授權保護。在大多數情況下,硬件解決方案如采用特殊的安全存儲器和具有加密功能的存儲器,旨在提高針對惡意操縱的保護和硬件攻擊的防御水平。最近,有跡象表明,對于汽車(chē)安全模塊的開(kāi)發(fā)和輔助加密功能的E C U 網(wǎng)絡(luò )保護需求正在日益提高。
評論