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