作者:Richard Jaenicke,Steve Edwards
安全關鍵型應用程序(如跨域解決方案 (CDS))需要一個安全、可信的平臺來執行,涵蓋軟件、固件和硬件。應用程序直接與之交互的最低層是受信任的操作系統 (OS)。對操作系統的信任取決于兩個因素:從安全角度來看,操作系統的穩健性,以及確保操作系統已正確加載和配置且永遠不會被篡改。操作系統信任還部分取決于受信任的預操作系統功能,例如在操作系統之前執行的安全啟動固件。
計算機硬件和軟件平臺的安全魯棒性通常通過評估來指定“信息技術安全評估通用標準”(ISO/IEC 15408)1.通常,通用準則評估目標 (TOE) 是根據政府定義的保護配置文件進行評估的,其中包括功能和保證要求。評估可以針對不同的深度和嚴格性級別進行,稱為評估保證級別 (EAL),EAL1 是最不嚴格的,EAL7 是最嚴格的?;蛘撸梢酝ㄟ^安全認證實現一定程度的信任。盡管安全認證為完整性和可用性提供了一定程度的保證,但它們通常不直接涉及機密性或其他信任機制。
要信任已加載正確的操作系統 (OS) 代碼,需要建立信任鏈,一直追溯到開機時建立的信任根 (RoT)。信任鏈中的每個環節都必須具有足夠的安全保證功能,并且必須在執行信任鏈中的下一件軟件之前對其進行身份驗證。RoT 的穩健性是任何可信平臺的關鍵起點。健壯性級別范圍很廣,從軟件 RoT 到基于硬件中嵌入的物理不可克隆功能 (PUF) 的健壯性級別。
安全穩健性
在美國政府定義的保護配置文件中,穩健性是衡量 TOE 保護自身、數據和資源能力的指標。穩健性級別分為基本、中等或高2.TOE 所需的穩健性級別的特征是它所保護的數據的價值以及為其部署環境識別的威脅的函數。
基本健壯性環境定義為遇到由無意錯誤或隨意淘氣的用戶引入的威脅的環境。通常,“最佳商業做法”足以在基本的健壯環境中保護信息3.中等健壯性環境就足夠了,攻擊者的動機被認為是“中等”的,并且攻擊者至少具有中等水平的資源或專業知識2.一般來說,中等健壯性“適用于假定的非敵對和管理良好的用戶社區,這些用戶社區需要防止無意或隨意嘗試破壞系統安全的威脅。4
對于同時存在復雜威脅代理和高價值資源的環境,需要高穩健性 TOE,從而導致嘗試安全入侵的可能性很高5.高魯棒性需要 EAL6 或更高,適用于保護系統免受極其復雜和資金充足的威脅,例如來自民族國家和國家實驗室的攻擊。對于中高穩健性環境,通常需要要求將產品的某些硬件組件作為TOE的一部分進行評估。此要求使產品不太可能受到損害以及始終調用安全策略的置信度更高2.
信任鏈
為跨域解決方案 (CDS) 應用程序提供安全的計算環境部分取決于建立信任鏈,從硬件 RoT 開始,一直延伸到軟件的每一層。鏈中每個環節的信任有兩個組成部分:安全解決方案的穩健性和組件的真實性。真實性由加密簽名確保,通常采用安全哈希算法的形式。身份驗證可以保證加載的軟件是預期的軟件,而不是其他軟件,但身份驗證不解決安全功能,包括沒有漏洞。
信任鏈的起點,RoT,可以基于軟件,但硬件RoT更安全。硬件 RoT 的主要選擇包括單獨的可信平臺模塊 (TPM) 芯片、片上引導 ROM 代碼和基于物理不可克隆功能 (PUF) 的片上安全性。
在基于英特爾處理器的系統上,英特爾可信執行技術 (TXT) 使用 TPM 為 BIOS 和虛擬機管理程序或操作系統內核的哈希存儲已知良好的值。打開電源時,BIOS 的哈希值將與 TPM 中存儲的值進行比較。如果匹配,則加載 BIOS,并計算和比較虛擬機管理程序或操作系統內核的哈希。請注意,CPU 的某些部分已經在運行以計算哈希,并且引導微碼(這是 CPU 執行的第一個軟件)已經由處理器本身進行了加密身份驗證。
基于 FPGA 的 RoT
使用內置于自身芯片中的 RoT 的設備可以實現更高級別的安全性。此類器件的典型示例包括Microsemi PolarFire或SmartFusion2 SoC FPGA[現場可編程門陣列],Intel Stratix 10 FPGA和Xilinx Zynq UltraScale+ MPSoC [多處理器片上系統]。對于 Zynq MPSoC,金屬屏蔽引導 ROM 代碼與存儲在硬件 eFUSE 中的 RSA 密鑰哈希一起提供硬件 RoT。器件的配置安全單元 (CSU) 從片上金屬屏蔽 ROM 啟動并強制執行 RoT。它通過使用 SHA-3/384 引擎計算用戶公鑰的加密校驗和來驗證從外部存儲器讀取的用戶公鑰的完整性,然后將其與存儲在 eFUSE 中的值進行比較。如果匹配,CSU 將加載并驗證第一階段引導加載程序 (FSBL)7.
引導過程的某些部分,例如加載FPGA比特流,除了真實性之外,可能還需要機密性。片上 PUF 可用于創建密鑰加密密鑰 (KEK),該密鑰用于加密用于解密比特流的用戶對稱密鑰。KEK 永遠不會存儲,而是在每次通電時基于 PUF 創建,PUF 在物理上是唯一的,無法復制。在某些設備上,可以采用相同的技術來生成用于驗證引導 ROM 的初始密鑰,而不是存儲密鑰 eFUSE,從而進一步增強安全性。
一旦 SoC 或 FPGA 安全啟動,它就可以充當主處理器的 RoT。它可用于提供啟動過程的硬件身份驗證,并確保處理器僅執行受信任的代碼8.
信任鏈中的漏洞
如上所述,盡管對信任鏈中的每個環節進行身份驗證可確保只加載預期的軟件,但身份驗證并不能解決安全功能問題,包括免于漏洞。因此,應設計、測試和驗證代碼的每個部分,使其沒有漏洞。此規則特別適用于金屬屏蔽的引導 ROM 代碼,如果以后發現漏洞,則無法輕松更新。
例如,最近發現的英特爾融合安全和管理引擎(CSME)啟動ROM中存在一個在過去五年中未被發現的缺陷,該漏洞可以控制芯片組密鑰的讀取和所有其他加密密鑰的生成。9.一旦攻擊者獲得此芯片組密鑰,他們就可以解密使用英特爾平臺信任技術 (PTT) 加密的任何數據,并偽造設備的增強型隱私 ID (EPID),用于遠程證明受信任的系統。更重要的是,由于該漏洞位于金屬掩蔽的引導ROM中,因此無法使用固件更新對其進行修補10.
米爾斯架構
一旦建立了可信的硬件平臺,下一步就是軟件架構的設計。為 CDS 應用程序構建可信軟件環境最容易接受的途徑是實現高健壯性的多獨立安全級別 (MILS) 操作環境。MILS 將軟件架構分為三層:分離內核、中間件和應用程序。每一層強制實施安全策略集的單獨部分。分離內核是唯一以特權模式執行的層。應用程序可以實施自己的安全策略,啟用特定于應用程序的策略,而不是依賴于整體內核中的廣泛安全策略。每一層和每個應用程序都可以單獨評估,而不會影響其他層/應用程序的評估,使CDS系統更易于實施、認證、維護和重新配置11.
分離內核12使用基于硬件的內存管理單元 (MMU) 將內存劃分為多個分區,并且只允許在非內核分區之間仔細控制通信。此外,操作系統服務(如網絡堆棧、文件系統和大多數設備驅動程序)在分區中執行,而不是在特權模式下的內核中執行(圖 2)。由于分離內核依賴于硬件功能(如 MMU)來強制實施某些分離要求,因此必須信任硬件平臺。
[圖2 |使用分離內核,應用程序在隔離分區中運行,并通過多個單級安全性 (MSLS) 文件服務器或網絡堆棧訪問外部數據。
整潔的安全屬性
分離內核強制實施數據隔離并控制分區之間的通信。這使得不同分類級別的不受信任的應用程序和數據對象駐留在單個處理器上。分離內核還使受信任的應用程序能夠與受信任程度較低的應用程序在同一處理器上執行,同時確保受信任的應用程序不會受到受信任程度較低的應用程序以任何方式的損害或干擾。分離內核實施的安全策略是不可繞過的、始終被調用和防篡改的,因為它是唯一在處理器上以特權模式運行的軟件13.此外,分離內核的小尺寸使其“可評估”。這四個屬性 - 不可繞過,可評估,始終調用和防篡改 - 由首字母縮略詞“NEAT”表示。
MILS操作環境中NEAT特性的保證使多級安全(MLS)系統能夠設計為一組獨立的系統級分區,具有跨域解決方案,可在這些分區之間以及與外部系統之間實現安全通信。利用在經過高健壯評估的分離內核中提供的 NEAT 安全策略實施,可以生成小型且緊密集中的跨域服務器、降級程序和防護裝置。反過來,這一步使對這些跨域解決方案的高確定性評估變得實用、可實現且經濟實惠。
隱蔽通道
實現高穩健性最具挑戰性的要求之一是緩解隱蔽通道,這是一種意外或未經授權的通信路徑,可用于以違反安全策略的方式傳輸信息15.隱蔽通道可以分為基于存儲或基于定時,或者兩者的混合。隱蔽存儲通道通過一個應用程序在另一個應用程序可讀的位置設置位來傳輸信息。隱蔽定時通道通過一段時間內調節系統行為的某些方面來傳達信息,其方式可以被另一個應用程序觀察到。
許多隱蔽渠道的識別和緩解極具挑戰性。高魯棒性分離內核必須證明已采用系統方法來識別和緩解各種可能的通信機制中的隱蔽信道。緩解技術包括關閉或阻止隱蔽信道,限制潛在隱蔽信道的帶寬,使保證大于風險,并確保只有高度受信任的應用程序才能訪問隱蔽信道。
擴展的安全功能
根據所需的安全健壯性級別,安全系統體系結構可能需要的其他功能包括審核日志記錄、完整性測試和抽象計算機測試 (AMT)。審核日志記錄記錄分離內核執行期間的特定事件,以檢測潛在的惡意代碼行為。完整性測試可確保存儲在易失性和非易失性 RAM 中的分離內核的可執行映像的完整性。完整性測試包括對分離內核在RAM中的活動可執行映像的連續測試以及一組上電測試。AMT 是確保實施硬件保護機制的持續測試;例如,那些嘗試內存沖突和特權指令執行的測試,以確保在虛擬地址空間之間強制分離的硬件仍在運行。審核日志記錄、完整性測試和 AMT 都需要滿足高可靠性。
受信任的硬件和軟件解決方案示例
Curtiss-Wright 的 CHAMP-XD1S 3U VPX 數字信號處理 (DSP) 模塊采用英特爾至強 D 處理器、Xilinx Zynq UltraScale+ MPSoC FPGA 和基于閃存的美高森美 SmartFusion2 FPGA,可提供專為高性能嵌入式計算 (HPEC) 設計的安全處理器板。該模塊的 FPGA 和軟件安全功能具有 TrustedCOTS 增強型可信啟動功能,包括基于 FPGA 的安全根,可防止惡意網絡攻擊、探測和逆向工程。CHAMP-XD1S 使用 TPM 2.0 安全芯片來支持英特爾 TXT 安全啟動技術。該開發板還使用 Zynq UltraScale+ MPSoC 中的 PUF 來生成用于驗證啟動代碼的加密密鑰。該身份驗證可用作 RoT,以將信任擴展到系統的其他部分。SmartFusion 2 FPGA 提供健康和管理功能,并可集成其他安全功能。
在軟件領域,Green Hills Software的INTEGRITY-178 tuMP實時操作系統(RTOS)提供了一個基于分離微內核的MILS操作環境,該微內核能夠托管MLS應用程序,包括跨域解決方案。RTOS 提供高魯棒性分離內核所需的高級別數據隔離、信息流控制、資源清理和故障隔離。這些基礎安全策略是不可繞過的、可評估的、始終調用的和防篡改的(再次,NEAT 首字母縮略詞),提供了將 MLS 系統設計為一組獨立的安全分區所需的高保證級別,具有跨域解決方案,可實現這些分區之間的安全通信。
2008年,INTEGRITY-178 RTOS成為第一個也是唯一一個通過美國國家安全局(NSA)信息保障局發布的“美國政府在需要高魯棒性的環境中分離內核保護概況”(SKPP)認證的操作系統。SKPP的認證是高魯棒性和EAL6+。
作為SKPP認證的一部分,RTOS經過了NSA的獨立漏洞分析和滲透測試,以證明它能夠抵抗具有高攻擊潛力的攻擊者,并且不允許具有高攻擊潛力的攻擊者違反安全策略。此外,它還接受了 NSA 的隱蔽信道分析,以證明它滿足所有隱蔽信道緩解指標。
除了被批準為 MILS 分離內核之外,INTEGRITY-178 還提供了一套完整的 API,這些 API 也經過 NSA 評估,供安全分區內的 MLS 應用程序使用 – MLS 防護,這是跨域系統的基本要求。這些安全 API 包括對多線程的支持、多核上的并發執行以及配置文件級別的靈活核心分配,所有這些都在安全的 MILS 環境中進行。
審核編輯:郭婷
-
嵌入式
+關注
關注
5082文章
19114瀏覽量
304888 -
計算機
+關注
關注
19文章
7490瀏覽量
87878 -
操作系統
+關注
關注
37文章
6810瀏覽量
123293
發布評論請先 登錄
相關推薦
評論