系統防護:硬體型信任根目錄如何協助保護 Windows
若要保護重要資源,例如 Windows 驗證堆疊、單一登錄令牌、Windows Hello 生物識別堆疊和虛擬信任平臺模組,系統韌體和硬體必須值得信任。
System Guard 會在一個車頂下重新組織現有的 Windows 系統完整性功能,並設定下一組對 Windows 安全性的投資。 其設計目的是要提供下列安全性保證:
- 保護和維護系統啟動時的完整性
- 驗證系統完整性確實已透過本機和遠端證明來維護
維護系統啟動時的完整性
(SRTM) 的靜態信任根目錄
使用 Windows 7 時,攻擊者用來保存和規避偵測的其中一個方法,就是在系統上安裝通常稱為 bootkit 或 rootkit 的裝置。 此惡意軟體會在 Windows 啟動之前啟動,或在開機程式本身期間啟動,使其以最高層級的許可權開始。
在現代化硬體上執行 Windows 10 時,硬體型信任根目錄有助於確保在 Windows 開機載入器之前,無法啟動任何未經授權的韌體或軟體 (,例如 bootkit) 。 此硬體型信任根源來自裝置的安全開機功能,這是整合可延伸韌體介面 (UEFI) 的一部分。 此測量靜態早期開機 UEFI 元件的技術稱為「度量的靜態信任根目錄」 (SRTM) 。
由於有數千家計算機廠商會產生許多具有不同 UEFI BIOS 版本的模型,因此在開機時會產生非常大量的 SRTM 測量。 此處有兩種建立信任的技術:維護已知「不正確的」SRTM 測量清單 (也稱為封鎖清單) ,或是已知「良好」SRTM 度量的清單 (也稱為允許清單) 。
每個選項都有缺點:
- 已知「不正確的」SRTM 測量清單可讓駭客只變更元件中的 1 位,以建立需要列出的全新 SRTM 哈希。 這表示 SRTM 流程原本就很 Brittle - 次要變更可能會使整個信任鏈結失效。
- 已知「良好」SRTM 測量的清單需要謹慎新增每個新的 BIOS/PC 組合度量,速度很慢。 此外,UEFI 程式代碼的錯誤修正可能需要很長的時間來設計、建置、重新測試、驗證和重新部署。
安全啟動— 適用於度量的動態信任根 (DRTM)
Windows 10 1809 版中首次引進的 System Guard 安全啟動,旨在使用稱為「測量的動態信任根目錄」的技術來減輕這些問題 (DRTM) 。 DRTM 一開始可讓系統自由開機進入不受信任的程式代碼,但在啟動系統之後,藉由控制所有 CPU 並強制系統關閉已知且測量的程式代碼路徑,以進入受信任的狀態。 這可讓不受信任的早期 UEFI 程式代碼開機系統,但能夠安全地轉換成受信任且測量的狀態。
安全啟動可簡化 SRTM 度量的管理,因為啟動程式代碼現在與特定硬體組態無關。 這表示有效的程式代碼測量數目很小,而且未來更新可以更廣泛且快速地部署。
SMM) 保護 (系統管理模式
系統管理模式 (SMM) 是 x86 微控制器中的特殊用途 CPU 模式,可處理電源管理、硬體設定、熱監視,以及製造商認為有用的任何其他專案。 每當要求其中一個系統作業時,便會在運行時間叫用不可遮罩的中斷 (SMI) ,這會執行 BIOS 所安裝的 SMM 程式代碼。 SMM 程式代碼會以最高許可權層級執行,而且OS看不到它,因此成為惡意活動的吸引人目標。 即使系統防護安全啟動用於延遲啟動,SMM 程式代碼仍可能存取 Hypervisor 記憶體並變更 Hypervisor。
為了防禦這種情況,使用兩種技術:
- 分頁保護以防止不當存取程式代碼和數據
- SMM 硬體監督和證明
您可以實作分頁保護,將特定程式代碼數據表鎖定為只讀,以防止竄改。 這可防止存取任何尚未指派的記憶體。
稱為監督員 SMI 處理程式的硬體強制處理器功能可以監視 SMM,並確保它不會存取它不應該存取的任何位址空間部分。
SMM 保護是以安全啟動技術為基礎,需要它才能運作。 在未來,Windows 10 也會測量此 SMI 處理程序的行為,並證明沒有任何 OS 擁有的記憶體遭到竄改。
在 Windows 執行 (運行時間之後驗證平臺完整性)
雖然 System Guard 提供進階保護,可協助保護及維護平臺在開機期間和運行時間的完整性,但事實上,我們必須將「假設缺口」的意識套用到我們最複雜的安全性技術。 我們可以信任技術已成功執行其工作,但我們也需要能夠確認它們已成功達成其目標。 針對平臺完整性,我們無法只信任可能遭到入侵的平臺,以自我證明其安全性狀態。 因此,System Guard 包含一系列技術,可對裝置的完整性進行遠端分析。
當 Windows 開機時,系統防護會使用裝置的信任平臺模組 2.0 (TPM 2.0) 來進行一系列完整性測量。 System Guard Secure Launch 不支持舊版 TPM,例如 TPM 1.2。 此程式和數據會與 Windows 隔離硬體,以協助確保度量數據不受限於平臺遭入侵時可能發生的竄改類型。 從這裡開始,度量可用來判斷裝置韌體、硬體組態狀態和 Windows 開機相關元件的完整性,僅舉幾例。
系統開機之後,系統防護會使用 TPM 簽署並密封這些度量。 要求時,Intune 或 Microsoft Configuration Manager 等管理系統可以取得這些管理系統以進行遠端分析。 如果 System Guard 指出裝置缺乏完整性,則管理系統可以採取一系列動作,例如拒絕裝置存取資源。
Windows 版本和授權需求
下表列出支援 System Guard 的 Windows 版本:
Windows 專業版 | Windows 企業版 | Windows 專業教育版/SE | Windows 教育版 |
---|---|---|---|
是 | 是 | 是 | 是 |
系統防護授權權利由下列授權授與:
Windows 專業版/專業教育版/SE | Windows 企業版 E3 | Windows 企業版 E5 | Windows 教育版 A3 | Windows 教育版 A5 |
---|---|---|---|---|
是 | 是 | 是 | 是 | 是 |
如需 Windows 授權的詳細資訊,請參閱 Windows 授權概觀。
System Guard 的系統需求
這項功能適用於下列處理器:
- Intel® vPro™ 處理器,開頭為 Intel® Coffeelake、Writereylake 或更新版本晶片
- 從 Zen2 或更新版本晶片開始的 AMD® 處理器
- 具有 SD850 或更新版本晶片組的 Qualcomm® 處理器
Intel® vPro™ 處理器從 Intel® Coffeelake、Lake 或更新版本晶片開始的需求
名稱 | 描述 |
---|---|
64 位元 CPU | Hypervisor 和虛擬式安全性 (VBS) 需要至少四個核心 (邏輯處理器) 的 64 位計算機。 如需 Hyper-V 的詳細資訊,請參閱 Windows Server 2016 上的 Hyper-V 或 Windows 10 上的 Hyper-V 簡介。 如需 Hypervisor 的詳細資訊,請參閱 Hypervisor 規格。 |
信賴平臺模組 (TPM) 2.0 | 平台必須支援離散 TPM 2.0。 不支援整合式/韌體 TPM,但支援平臺信任技術的 Intel 晶片 (PTT) ,這是符合 TPM 2.0 規格的整合式硬體 TPM 類型。 |
Windows DMA 保護 | 平台必須符合 Windows DMA 保護規格 (所有外部 DMA 埠都必須預設為關閉,直到 OS 明確地將它們) 。 |
SMM 通訊緩衝區 | 所有 SMM 通訊緩衝區都必須在 EfiRuntimeServicesData、EfiRuntimeServicesCode、EfiACPIMemoryNVS 或 EfiReservedMemoryType 記憶體類型中實作。 |
SMM 分頁表 | 不得包含對 EfiConventionalMemory (的任何對應,例如沒有 OS/VMM 擁有的記憶體) 。 不得包含任何對應到 EfiRuntimeServicesCode 內的程式碼區段。 不得具有相同頁面的執行和寫入許可權 必須只允許 TSEG 頁面可以標示為可執行檔,而且記憶體對應必須報告 TSEG EfiReservedMemoryType。 必須實作 BIOS SMI 處理程式,以便在每個 SMM 專案上鎖定 SMM 分頁表。 |
新式/連線待命 | 平台必須支援新式/連線待命。 |
TPM AUX 索引 | 平台必須設定具有索引、屬性和原則的 AUX 索引,其與 TXT DG 中指定的 AUX 索引完全對應,而 SHA256 AUX 數據) 的數據大小剛好為 104 位元組 (。 (NameAlg = SHA256) 平台必須使用下列項目設定 PS (Platform Supplier) 索引:
|
AUX 原則 | 所需的 AUX 原則必須如下所示:
|
TPM NV 索引 | 平台韌體必須設定 TPM NV 索引,以供作業系統搭配下列專案使用:
|
平臺韌體 | 平台韌體必須包含執行 Intel® 信任執行技術安全啟動所需的所有程式代碼:
|
平臺韌體更新 | 建議您在 Windows Update 中透過 UpdateCapsule 更新系統韌體。 |
從 Zen2 或更新版本晶片開始的 AMD® 處理器需求
名稱 | 描述 |
---|---|
64 位元 CPU | Hypervisor 和虛擬式安全性 (VBS) 需要至少四個核心 (邏輯處理器) 的 64 位計算機。 如需 Hyper-V 的詳細資訊,請參閱 Windows Server 2016 上的 Hyper-V 或 Windows 10 上的 Hyper-V 簡介。 如需 Hypervisor 的詳細資訊,請參閱 Hypervisor 規格。 |
信賴平臺模組 (TPM) 2.0 | 平台必須支援離散 TPM 2.0 或Microsoft體 TPM。 |
Windows DMA 保護 | 平台必須符合 Windows DMA 保護規格 (所有外部 DMA 埠都必須預設為關閉,直到 OS 明確地將它們) 。 |
SMM 通訊緩衝區 | 所有 SMM 通訊緩衝區都必須在 EfiRuntimeServicesData、EfiRuntimeServicesCode、EfiACPIMemoryNVS 或 EfiReservedMemoryType 記憶體類型中實作。 |
SMM 分頁表 | 不得包含對 EfiConventionalMemory (的任何對應,例如沒有 OS/VMM 擁有的記憶體) 。 不得包含任何對應到 EfiRuntimeServicesCode 內的程式碼區段。 不得具有相同頁面的執行和寫入許可權 必須實作 BIOS SMI 處理程式,以便在每個 SMM 專案上鎖定 SMM 分頁表。 |
新式/連線待命 | 平台必須支援新式/連線待命。 |
TPM NV 索引 | 平台韌體必須設定 TPM NV 索引,以供作業系統搭配下列專案使用:
|
平臺韌體 | 平台韌體必須包含執行安全啟動所需的所有程式代碼:
平台必須啟用 AMD® 安全處理器韌體反回復保護 平台必須啟用 AMD® 記憶體防護。 |
平臺韌體更新 | 建議您在 Windows Update 中透過 UpdateCapsule 更新系統韌體。 |
具有 SD850 或更新版本晶片組的 Qualcomm® 處理器需求
名稱 | 描述 |
---|---|
監視模式通訊 | 所有監視模式通訊緩衝區都必須在 EfiRuntimeServicesData (建議的) 中實作,EfiRuntimeServicesCode 的數據區段,如記憶體屬性數據表、EfiACPIMemoryNVS 或 EfiReservedMemoryType 記憶體類型所述 |
監視模式頁面數據表 | 所有監視模式頁面資料表都必須:
|
新式/連線待命 | 平台必須支援新式/連線待命。 |
平臺韌體 | 平臺韌體必須包含啟動所需的所有程序代碼。 |
平臺韌體更新 | 建議您在 Windows Update 中透過 UpdateCapsule 更新系統韌體。 |