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