嵌入式引導(dǎo)代碼安全性是技術(shù)提供商正在研究的漏洞分析的一個(gè)重要領(lǐng)域。但是,在添加數(shù)字簽名或身份驗(yàn)證步驟后,營銷部門會(huì)立即將解決方案標(biāo)記為“安全啟動(dòng)”。現(xiàn)在是時(shí)候研究安全boot_的真正含義,以及如何根據(jù)終端系統(tǒng)中的安全風(fēng)險(xiǎn)對(duì)安全啟動(dòng)技術(shù)進(jìn)行分級(jí)。關(guān)鍵考慮因素包括保護(hù)的內(nèi)容和方式、可用的安全啟動(dòng)功能、將要求與功能和聲明相匹配以及開放標(biāo)準(zhǔn)工作。
隨著“網(wǎng)絡(luò)安全意識(shí)”成為2010年白宮的首要任務(wù),很明顯,當(dāng)今大多數(shù)意識(shí)工作都集中在互聯(lián)網(wǎng)系統(tǒng)上。很少有外展活動(dòng)關(guān)注嵌入式系統(tǒng)的安全漏洞,除非這樣的安全漏洞成為新聞。
嵌入式處理器中的頭號(hào)漏洞來源是設(shè)備的初始啟動(dòng)階段。這是作者的斷言,但可以通過搜索有關(guān)嵌入式安全的學(xué)術(shù)論文、安全會(huì)議上的討論以及設(shè)備制造商的反饋來獨(dú)立評(píng)估這一陳述的真實(shí)性,這些設(shè)備制造商可以證明他們的產(chǎn)品在市場上被篡改和克隆的方式。
在過去幾年中,這些已發(fā)布和未發(fā)布的安全事件的數(shù)量促使軟件行業(yè)關(guān)注微處理器和嵌入式處理器啟動(dòng)過程的安全性。本文進(jìn)行分析的原因很簡單:通過評(píng)估使用任何安全啟動(dòng)解決方案在系統(tǒng)中真正設(shè)計(jì)了多少安全性,設(shè)計(jì)人員可以更明智地決定他們從研發(fā)和采購資金中獲得多少實(shí)際終端系統(tǒng)安全性。
您在保護(hù)什么 - 以及如何保護(hù)?
負(fù)責(zé)系統(tǒng)安全的架構(gòu)師應(yīng)該提出兩個(gè)關(guān)鍵問題(圖 1)。評(píng)估安全啟動(dòng)技術(shù)安全級(jí)別的第一個(gè)問題是該功能是否實(shí)際上阻止了嵌入式設(shè)備或系統(tǒng)的啟動(dòng)代碼和軟件IP的暴露。有權(quán)訪問引導(dǎo)設(shè)備或進(jìn)程的最復(fù)雜的對(duì)手是否可以訪問代碼,然后將其用于逆向工程目的?
圖1:安全啟動(dòng)要求的兩個(gè)關(guān)鍵問題

如果是這樣,黑客將擁有克隆系統(tǒng)、插入惡意軟件、制定對(duì)策或利用其他方法根據(jù)漏洞或缺陷禁用系統(tǒng)所需的所有信息。不保護(hù)代碼本身的安全啟動(dòng)技術(shù)無法提供針對(duì)最堅(jiān)定的攻擊者的真正安全性,并且可能會(huì)泄露關(guān)鍵的知識(shí)產(chǎn)權(quán)。
關(guān)于安全啟動(dòng)技術(shù)的下一個(gè)問題是:它解決了哪些類型的威脅?這個(gè)問題有點(diǎn)復(fù)雜。一些安全啟動(dòng)技術(shù)旨在防止替換更改的啟動(dòng)代碼(“未經(jīng)授權(quán)的替換”),這可能會(huì)在初始化處理器后將惡意軟件或安全后門引入處理器。其他功能嘗試限制可更改的啟動(dòng)參數(shù),例如加載設(shè)備時(shí)的多階段啟動(dòng)代碼源,以便對(duì)手無法中斷啟動(dòng)過程并將錯(cuò)誤命令或安全后門替換到設(shè)備設(shè)置中。
安全啟動(dòng)功能
目前,各種方法都作為安全啟動(dòng)技術(shù)實(shí)施。這包括數(shù)字簽名二進(jìn)制文件、安全和受信任的引導(dǎo)加載程序、引導(dǎo)文件加密和安全微處理器。
數(shù)字簽名的引導(dǎo)文件為防止 Internet 上跟蹤的一些最廣泛的引導(dǎo)加載攻擊提供了重要的第一步。雖然一些制造商稱此功能為“安全啟動(dòng)”,因?yàn)樗黾恿藢?duì)重復(fù)攻擊的抵抗力,但如果驗(yàn)證模塊未集成到嵌入式處理器中,則在驗(yàn)證過程中仍然容易受到攻擊。此外,這種安全啟動(dòng)不解決嵌入在啟動(dòng)文件本身中的專有和敏感信息的保護(hù)問題。
提高引導(dǎo)加載程序的信任和安全級(jí)別也是行業(yè)安全和意識(shí)的重要一步。證明引導(dǎo)加載程序的安全性或信任級(jí)別本身就是一個(gè)多變量問題,在很大程度上取決于引導(dǎo)過程的復(fù)雜性。例如,當(dāng)通過網(wǎng)絡(luò)加載引導(dǎo)代碼時(shí),引導(dǎo)加載程序的安全性和信任可能僅與網(wǎng)絡(luò)本身一樣安全。保護(hù)大型多方網(wǎng)絡(luò)是一個(gè)比嵌入式處理器的安全啟動(dòng)更大的問題。這是啟用遠(yuǎn)程固件更新的系統(tǒng)中的安全因素。
引導(dǎo)文件加密/解密和專用安全微處理器是安全嵌入式處理器相對(duì)較新的設(shè)計(jì)特征。它們提供硅電路嵌入式功能,以保護(hù)操作代碼并管理安全啟動(dòng)。
將需求與功能、聲明和標(biāo)準(zhǔn)相匹配
目前導(dǎo)致組件功能“安全啟動(dòng)”的主要機(jī)制是由嵌入式處理器在啟動(dòng)過程中驗(yàn)證的數(shù)字簽名軟件啟動(dòng)映像。此過程幾乎可以與任何軟件映像加密方案共存。
毫無疑問,與沒有數(shù)字驗(yàn)證的系統(tǒng)相比,添加數(shù)字簽名驗(yàn)證步驟可以提高安全性。但是,在審查核查過程以及使用數(shù)字簽字和核實(shí)數(shù)字簽字的方法之前稱這一系統(tǒng)為“安全啟動(dòng)”,并不一定是真正的主張。它也是一個(gè)命名法,不允許將一個(gè)“安全啟動(dòng)”方案與另一個(gè)方案進(jìn)行比較,以確定哪個(gè)更安全,或者哪個(gè)提供分層的安全啟動(dòng)功能。
目前只有一個(gè)主要的行業(yè)組織專注于為處理器和嵌入式處理器的啟動(dòng)完整性制定商用標(biāo)準(zhǔn):可信計(jì)算組織(TCG)。這個(gè)國際行業(yè)聯(lián)盟包括許多最大的操作系統(tǒng)和處理器提供商;TCG聯(lián)盟致力于創(chuàng)建一個(gè)通用的非專有標(biāo)準(zhǔn),以提高用戶計(jì)算環(huán)境的“信任”級(jí)別。該小組顯著推進(jìn)了提高運(yùn)行時(shí)代碼執(zhí)行完整性的事業(yè)。
TCG 開發(fā)了一種稱為“可信平臺(tái)模塊”(TPM)[1] 的通用標(biāo)準(zhǔn),用于監(jiān)控系統(tǒng)內(nèi)的運(yùn)行內(nèi)核,包括啟動(dòng)階段和操作階段。還指定了移動(dòng)信任模塊 (MTM)。TPM 旨在對(duì)加載的操作系統(tǒng)映像進(jìn)行數(shù)字簽名,并確定在啟動(dòng)階段或其他階段是否存在任何篡改。TPM 標(biāo)準(zhǔn)的最新版本有一些零星的采用和規(guī)范,尤其是在政府系統(tǒng)中[2]。
使用商用開放標(biāo)準(zhǔn)通常是實(shí)現(xiàn)新特性和功能的最具成本效益的方法,盡管并不總是最安全或防篡改的。軍事客戶傾向于采用強(qiáng)大的縱深防御方法來實(shí)現(xiàn)分層安全和冗余,這通常與開放標(biāo)準(zhǔn)的成本效益目標(biāo)背道而馳。
“安全”對(duì)產(chǎn)品的真正含義
當(dāng)CPU Tech的工程師談?wù)撉度胧较到y(tǒng)中的“安全啟動(dòng)”時(shí),他們將其定義為具有多級(jí)加密的完全加密的啟動(dòng)文件,由安全工程師在受控環(huán)境中實(shí)施。這涉及配置設(shè)備,使其僅從可通過唯一硬件 ID 與安全處理器匹配的加密文件啟動(dòng)。此過程保護(hù)引導(dǎo)代碼和其中的任何專有信息,通過專用的內(nèi)部安全處理器管理引導(dǎo)過程以防止代碼篡改,并遵循安全操作系統(tǒng)的引導(dǎo)加載程序準(zhǔn)則來約束未知的配置狀態(tài)。安全啟動(dòng)的這些元素如圖 2 所示。
圖2:安全啟動(dòng)系統(tǒng)的分離元素

最終目標(biāo):更安全的系統(tǒng)
正如系統(tǒng)架構(gòu)師所熟知的那樣,安全啟動(dòng)本身并不是目標(biāo)。安全啟動(dòng)功能的目的是設(shè)計(jì)一個(gè)更安全的整體系統(tǒng),其中初始化過程和操作代碼本身受到保護(hù),不會(huì)被篡改和反向工程。沒有一個(gè)系統(tǒng)是萬無一失的,因此在嵌入式系統(tǒng)設(shè)計(jì)中使用術(shù)語“安全啟動(dòng)”時(shí),我們應(yīng)該謹(jǐn)慎和明智。
作者主張嵌入式技術(shù)提供商和工程師將描述符“數(shù)字簽名引導(dǎo)文件”、“加密引導(dǎo)”、“引導(dǎo)代碼身份驗(yàn)證”和“可信引導(dǎo)加載程序”指定為需求和系統(tǒng)規(guī)范中的單獨(dú)功能。此外,安全性極高的系統(tǒng)的購買者可能希望更詳細(xì)地指定引導(dǎo)功能。這將避免當(dāng)前圍繞術(shù)語“安全啟動(dòng)”的混淆,該術(shù)語現(xiàn)在是一個(gè)抽象術(shù)語,指的是各種單點(diǎn)解決方案和功能。
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
20339瀏覽量
255347 -
嵌入式
+關(guān)注
關(guān)注
5210文章
20680瀏覽量
337374
發(fā)布評(píng)論請(qǐng)先 登錄
面向高安全飛控的“液主電備”非相似冗余前緣襟翼作動(dòng)系統(tǒng)架構(gòu)設(shè)計(jì)與權(quán)衡研究
Modsemi ECC CryptoAuthentication Secure Elements:高安全認(rèn)證器的技術(shù)解析
ISO 26262功能安全落地全流程解析
Microchip ATSHA204A:高安全性硬件認(rèn)證設(shè)備的深度解析
Microchip ATSHA204A:高安全硬件認(rèn)證設(shè)備的深度剖析
探索 ATECC608B:高安全性加密認(rèn)證設(shè)備的卓越之選
探索ATECC608B:高安全性加密認(rèn)證設(shè)備的卓越之選
Atmel ATAES132A:高安全串行EEPROM的卓越之選
功能安全ISO26262是什么?(一)
探秘Microchip ATECC608A:高安全加密利器
深入解析Microchip ATSHA204A:高安全性硬件認(rèn)證的理想之選
探索Microchip ATECC608A:高安全加密認(rèn)證設(shè)備的卓越之選
NVIDIA DRIVE AV軟件平臺(tái)與Halos架構(gòu)助力梅賽德斯奔馳CLA車型獲得最高安全評(píng)分
芯源半導(dǎo)體安全芯片技術(shù)原理
國產(chǎn)高安全芯片在供應(yīng)鏈自主可控中的綜合優(yōu)勢與案例分析
提高安全需求的標(biāo)準(zhǔn):“安全啟動(dòng)”的真正含義是什么
評(píng)論