嵌入式引導代碼安全性是技術提供商正在研究的漏洞分析的一個重要領域。但是,在添加數字簽名或身份驗證步驟后,營銷部門會立即將解決方案標記為“安全啟動”?,F在是時候研究安全boot_的真正含義,以及如何根據終端系統(tǒng)中的安全風險對安全啟動技術進行分級。關鍵考慮因素包括保護的內容和方式、可用的安全啟動功能、將要求與功能和聲明相匹配以及開放標準工作。
隨著“網絡安全意識”成為2010年白宮的首要任務,很明顯,當今大多數意識工作都集中在互聯(lián)網系統(tǒng)上。很少有外展活動關注嵌入式系統(tǒng)的安全漏洞,除非這樣的安全漏洞成為新聞。
嵌入式處理器中的頭號漏洞來源是設備的初始啟動階段。這是作者的斷言,但可以通過搜索有關嵌入式安全的學術論文、安全會議上的討論以及設備制造商的反饋來獨立評估這一陳述的真實性,這些設備制造商可以證明他們的產品在市場上被篡改和克隆的方式。
在過去幾年中,這些已發(fā)布和未發(fā)布的安全事件的數量促使軟件行業(yè)關注微處理器和嵌入式處理器啟動過程的安全性。本文進行分析的原因很簡單:通過評估使用任何安全啟動解決方案在系統(tǒng)中真正設計了多少安全性,設計人員可以更明智地決定他們從研發(fā)和采購資金中獲得多少實際終端系統(tǒng)安全性。
您在保護什么 - 以及如何保護?
負責系統(tǒng)安全的架構師應該提出兩個關鍵問題(圖 1)。評估安全啟動技術安全級別的第一個問題是該功能是否實際上阻止了嵌入式設備或系統(tǒng)的啟動代碼和軟件IP的暴露。有權訪問引導設備或進程的最復雜的對手是否可以訪問代碼,然后將其用于逆向工程目的?
圖1:安全啟動要求的兩個關鍵問題
如果是這樣,黑客將擁有克隆系統(tǒng)、插入惡意軟件、制定對策或利用其他方法根據漏洞或缺陷禁用系統(tǒng)所需的所有信息。不保護代碼本身的安全啟動技術無法提供針對最堅定的攻擊者的真正安全性,并且可能會泄露關鍵的知識產權。
關于安全啟動技術的下一個問題是:它解決了哪些類型的威脅?這個問題有點復雜。一些安全啟動技術旨在防止替換更改的啟動代碼(“未經授權的替換”),這可能會在初始化處理器后將惡意軟件或安全后門引入處理器。其他功能嘗試限制可更改的啟動參數,例如加載設備時的多階段啟動代碼源,以便對手無法中斷啟動過程并將錯誤命令或安全后門替換到設備設置中。
安全啟動功能
目前,各種方法都作為安全啟動技術實施。這包括數字簽名二進制文件、安全和受信任的引導加載程序、引導文件加密和安全微處理器。
數字簽名的引導文件為防止 Internet 上跟蹤的一些最廣泛的引導加載攻擊提供了重要的第一步。雖然一些制造商稱此功能為“安全啟動”,因為它增加了對重復攻擊的抵抗力,但如果驗證模塊未集成到嵌入式處理器中,則在驗證過程中仍然容易受到攻擊。此外,這種安全啟動不解決嵌入在啟動文件本身中的專有和敏感信息的保護問題。
提高引導加載程序的信任和安全級別也是行業(yè)安全和意識的重要一步。證明引導加載程序的安全性或信任級別本身就是一個多變量問題,在很大程度上取決于引導過程的復雜性。例如,當通過網絡加載引導代碼時,引導加載程序的安全性和信任可能僅與網絡本身一樣安全。保護大型多方網絡是一個比嵌入式處理器的安全啟動更大的問題。這是啟用遠程固件更新的系統(tǒng)中的安全因素。
引導文件加密/解密和專用安全微處理器是安全嵌入式處理器相對較新的設計特征。它們提供硅電路嵌入式功能,以保護操作代碼并管理安全啟動。
將需求與功能、聲明和標準相匹配
目前導致組件功能“安全啟動”的主要機制是由嵌入式處理器在啟動過程中驗證的數字簽名軟件啟動映像。此過程幾乎可以與任何軟件映像加密方案共存。
毫無疑問,與沒有數字驗證的系統(tǒng)相比,添加數字簽名驗證步驟可以提高安全性。但是,在審查核查過程以及使用數字簽字和核實數字簽字的方法之前稱這一系統(tǒng)為“安全啟動”,并不一定是真正的主張。它也是一個命名法,不允許將一個“安全啟動”方案與另一個方案進行比較,以確定哪個更安全,或者哪個提供分層的安全啟動功能。
目前只有一個主要的行業(yè)組織專注于為處理器和嵌入式處理器的啟動完整性制定商用標準:可信計算組織(TCG)。這個國際行業(yè)聯(lián)盟包括許多最大的操作系統(tǒng)和處理器提供商;TCG聯(lián)盟致力于創(chuàng)建一個通用的非專有標準,以提高用戶計算環(huán)境的“信任”級別。該小組顯著推進了提高運行時代碼執(zhí)行完整性的事業(yè)。
TCG 開發(fā)了一種稱為“可信平臺模塊”(TPM)[1] 的通用標準,用于監(jiān)控系統(tǒng)內的運行內核,包括啟動階段和操作階段。還指定了移動信任模塊 (MTM)。TPM 旨在對加載的操作系統(tǒng)映像進行數字簽名,并確定在啟動階段或其他階段是否存在任何篡改。TPM 標準的最新版本有一些零星的采用和規(guī)范,尤其是在政府系統(tǒng)中[2]。
使用商用開放標準通常是實現新特性和功能的最具成本效益的方法,盡管并不總是最安全或防篡改的。軍事客戶傾向于采用強大的縱深防御方法來實現分層安全和冗余,這通常與開放標準的成本效益目標背道而馳。
“安全”對產品的真正含義
當CPU Tech的工程師談論嵌入式系統(tǒng)中的“安全啟動”時,他們將其定義為具有多級加密的完全加密的啟動文件,由安全工程師在受控環(huán)境中實施。這涉及配置設備,使其僅從可通過唯一硬件 ID 與安全處理器匹配的加密文件啟動。此過程保護引導代碼和其中的任何專有信息,通過專用的內部安全處理器管理引導過程以防止代碼篡改,并遵循安全操作系統(tǒng)的引導加載程序準則來約束未知的配置狀態(tài)。安全啟動的這些元素如圖 2 所示。
圖2:安全啟動系統(tǒng)的分離元素
最終目標:更安全的系統(tǒng)
正如系統(tǒng)架構師所熟知的那樣,安全啟動本身并不是目標。安全啟動功能的目的是設計一個更安全的整體系統(tǒng),其中初始化過程和操作代碼本身受到保護,不會被篡改和反向工程。沒有一個系統(tǒng)是萬無一失的,因此在嵌入式系統(tǒng)設計中使用術語“安全啟動”時,我們應該謹慎和明智。
作者主張嵌入式技術提供商和工程師將描述符“數字簽名引導文件”、“加密引導”、“引導代碼身份驗證”和“可信引導加載程序”指定為需求和系統(tǒng)規(guī)范中的單獨功能。此外,安全性極高的系統(tǒng)的購買者可能希望更詳細地指定引導功能。這將避免當前圍繞術語“安全啟動”的混淆,該術語現在是一個抽象術語,指的是各種單點解決方案和功能。
審核編輯:郭婷
-
處理器
+關注
關注
68文章
19259瀏覽量
229651 -
嵌入式
+關注
關注
5082文章
19104瀏覽量
304802
發(fā)布評論請先 登錄
相關推薦
評論