歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 使用 UEFI 保護操作系統加載前的環境

使用 UEFI 保護操作系統加載前的環境

日期:2017/2/28 14:30:12   编辑:Linux教程

我們很遺憾地發現,在一些評論中,大家對於 Microsoft 實施安全啟動的方式存在誤解,因此我們特意撰寫了這篇博文,進一步對如何利用 UEFI 實現安全啟動進行澄清,並介紹了針對 PC 制造商提供的一些選項。首先大家要記住,我們在引入相關功能的同時保證了用戶能夠繼續對 PC 進行全面控制,以毫不遷就的方式實現安全啟動,保護用戶的安全。我們的生態系統團隊的 Tony Mangefeste 撰寫了本博文。--Steven

如何在 Win8 上禁用 UEFI 以安裝Linux http://www.linuxidc.com/Linux/2014-05/102033.htm

UEFI+GPT安裝Windows8和CentOS雙系統 http://www.linuxidc.com/Linux/2014-05/101575.htm

UEFI主板GPT方式安裝CentOS 6.4 http://www.linuxidc.com/Linux/2014-05/101574.htm

Windows 8系統更新會刪除GRUB2並設置UEFI為安全引導 http://www.linuxidc.com/Linux/2014-03/98905.htm

內容提要

  • UEFI 支持固件實施安全策略
  • 安全啟動是一種 UEFI 協議而不是 Windows 8 的一項功能
  • UEFI 安全啟動是 Windows 8 安全啟動體系結構的一個組成部分
  • Windows 8 利用安全啟動來確保操作系統加載前的環境是安全的
  • 安全啟動不會“鎖定”操作系統加載程序,它只是一種支持固件對組件的可靠性進行驗證的策略
  • OEM 可以通過在其平台上自定義證書和策略管理級別來對固件進行自定義,以滿足客戶的需求
  • Microsoft 不會托管或控制 PC 固件中用於控制或支持從 Windows 之外的任何操作系統進行安全啟動的設置

指導原則 – 在安全方面毫不遷就

UEFI 安全啟動協議是實現跨平台和固件安全的基礎,與體系結構無關。在執行固件映像之前,安全啟動基於公鑰基礎結構 (PKI) 流程來驗證固件映像,幫助降低遭受啟動加載程序攻擊的風險。在 Windows 8 中,Microsoft 依賴此協議來改進用戶的平台安全性。


圖 1 – 平台完整性體系結構

Microsoft 與我們的合作伙伴緊密合作,確保安全啟動為用戶提供良好的安全體驗。Microsoft 支持 OEM 靈活地決定由誰來管理安全證書,通過何種方式允許用戶導入並管理這些證書以及管理安全啟動。我們相信,為 OEM 提供這一靈活性以及允許用戶自行決定如何管理其系統非常重要。

對於 Windows 客戶,Microsoft 利用 Windows 認證計劃來確保:隨 Windows 8 發運的系統默認已啟用安全啟動功能;固件不允許以編程方式控制安全啟動(防止惡意軟件禁用固件中的安全策略);在未經授權的情況下,OEM 禁止更新固件,因為這可能會危及系統的完整性。

大多數策略並非 UEFI 固件的新增功能,當今的大多數 PC 都具有某種形式的固件驗證功能。即便是現有的舊式固件驗證支持(如 BIOS 密碼)也是一種安全啟動形式,多年來一直由 OEM 和最終用戶來控制是否啟用此功能。不過,利用安全啟動和 UEFI,整個行業和 Microsoft 正站在更高的高度上創建更完整、更良好的系統,為用戶提供更強有力的保護,抵御不斷發展壯大的各種威脅。

什麼是 UEFI?

UEFI(統一可擴展固件接口)由 UEFI 論壇統一管理,UEFI 論壇是由芯片組供應商、硬件供應商、系統供應商、固件供應商和操作系統供應商聯合組建的一個組織。該論壇負責維護可跨多種 UEFI PC 使用的規范、測試工具和參考實現。Microsoft 是該論壇的董事會成員,該論壇對所有個人和公司開放,加入該論壇無需支付任何費用。

UEFI 為個人計算機定義了下一代固件接口。基本輸入和輸出系統 (BIOS) 固件最初采用匯編語言進行編程,並使用中斷來執行輸入/輸出操作,在出現之初即確定了 PC 生態系統的基本框架,但是隨著計算技術的發展,“現代固件”定義應運而生,以滿足下一代平板電腦和設備的需求。

UEFI 旨在定義一種標准通信方式,規范啟動過程中操作系統與平台固件之間的通信。在 UEFI 出現之前,在啟動過程中主要利用軟件中斷機制與硬件進行通信。現代 PC 可以在硬件和軟件之間更快速、更高效地執行塊輸入/輸出操作,在設計中使用 UEFI 可以發揮硬件的全部潛能。

UEFI 支持模塊化固件設計,硬件設計師和系統設計師在為要求更高的現代計算環境設計固件時,具有更高的靈活性。由於輸入/輸出受到軟件中斷的限制,UEFI 提出了基於事件的概念,並采用不依賴於體系結構的編碼標准。

什麼是安全啟動?

UEFI 具有固件驗證過程(稱為“安全啟動”),該過程在 UEFI 2.3.1 規范第 27 章中定義。安全啟動定義平台固件如何管理安全證書,如何進行固件驗證以及定義固件與操作系統之間的接口(協議)。

Microsoft 的平台完整性體系結構利用 UEFI 安全啟動以及固件中存儲的證書與平台固件之間創建一個信任根。隨著惡意軟件的快速演變,惡意軟件正在將啟動路徑作為首選攻擊目標。此類攻擊很難防范,因為惡意軟件可以禁用反惡意軟件產品,徹底阻止加載反惡意軟件。借助 Windows 8 的安全啟動體系結構及其建立的信任根,通過確保在加載操作系統之前,僅能夠執行已簽名並獲得認證的“已知安全”代碼和啟動加載程序,可以防止用戶在根路徑中執行惡意代碼。

在當今的大多數 PC 中,操作系統加載前的環境存在漏洞,可以通過將啟動加載程序重定向到可能的惡意加載程序來實施攻擊。這些加載程序無法通過操作系統安全措施和反惡意軟件進行檢測。


圖 2 - 舊式 BIOS 啟動路徑

Windows 8 借助 UEFI 安全啟動解決了此漏洞,它利用固件中的策略並結合證書來確保僅允許執行已正確簽名並通過身份驗證的組件。


圖 3 - 使用 UEFI 的安全啟動路徑

安全啟動只是 Windows 8 平台完整性保障系統的一個組成部分。結合 UEFI,Microsoft 還對其他可用硬件實施整體的安全策略,以便進一步增強平台的安全性。

更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2014-07/104085p2.htm

Copyright © Linux教程網 All Rights Reserved