搜尋此網誌

2012年9月17日 星期一

為什麼要實現UEFI安全啟動(Secure Boot)機制?

為什麼要實現UEFI安全啟動(Secure Boot)機制?


  • 針對薄弱的環節鏈,讓作業系統變得更耐攻擊的威脅。
  • 16-bit 傳統系統開機是不安全的。[[ 它應該不被驚訝。2010年十大殭屍網絡 - 在Damballa威脅報告中,TDL Gang殭屍網絡攀升到排名第一的位置“RudeWarlockMob” ... 老病毒和物件的應用有效的作用。自16位作業系統的日以來,它整合技術已起了作用;像是主要開機記錄磁區(MBR)感染...與較新的惡意軟件技術。(取自http://blog.damballa.com) ]]
  • 安全啟動(Secure Boot)基於UEFI 2.3.1,移除了傳統的威脅。並且提供軟體身份的檢查,每一個開機步驟 - 平台韌體,介面卡,與OS開機載入器。

擴大改善UEFI 2.3.1
  • 平台的安全性與完整性。
- 允許韌體鑑定UEFI影像檔,例如 OS開機載入器。
在擁有者授權的方式,去確保韌體驅動程式被載入
  • 技術包含:
- UEFI可執行的嵌入式的數位簽章的方法,使驅動做簽章,還有從一個授權的來源去驗證簽章。
-  鑑定變數服務。
- 新的全域定義變數。 
UEFI驅動簽章
添加策略大概是UEFI與它的第3方影像檔的伸展性。
- 安全性對於OS開機載入器、應用程式、還有系統的第三方驅動程式。
- 給IT控制大約可執行的這些。
- 偵測/預防惡意程式。
技術包含:
- 支援“已知良好”和“已知的惡意”簽章資料庫。
- 策略取決於更新列表。
- 驗證碼簽章型態(Windows驗證碼輕便可執行的簽章格式)

 UEFI鑑定變數
  • 運用計數器的鑑定變數(UEFI 2.3)
- 使用單調的計算預防可疑的重播攻擊
- 混湊演算法 -  SHA256
- 簽章演算法 -  RSA-2048
  • 運用時間的鑑定變數(UEFI 2.3)
- 使用EFI_TIME如同自動恢復機械作用的保護(時光回溯)
- 混湊演算法 -  SHA256
- 簽章演算法 -  X.509 certificate chains
  • 全面的 X.509證明連鎖
  • 支援中間的證明(非根源的證明如同確信的證明)

安全啟動(Secure Boot) – 全域變數
  • PK - 設置此變數,將機器從非安全的"設定模式"到安全開機的"使用者模式"。變數是自己簽章的。
  • KEK - 一個鑑定的變數涵蓋所有實體公共證明與權限去更新允許和禁止的資料庫。
全域變數內容
  • db - (允許)- 一個鑑定的變數涵蓋軟體簽章者的公共證明。透過這些簽章者被允許在一個安全的開機模式(使用者模式)做模組的簽章。也能包含允許模組的混湊。
  • dbx - (禁用) - 一個鑑定的變數涵蓋撤銷簽章證明,還包含禁用模組的混湊。
  • SetupMode - 經由任體產生一個唯讀系統執行期間的變數,意謂PK是設定值,1 = 設定模式,0 = 使用者模式(PK被設定時,安全開機是打開著)。
  • SecureBoot - 經由任體產生一個唯讀系統執行期間的變數,設定1 = PK外加所有的條件,當預見安全啟動(Secure Boot)。在一些系統上,使用者能夠選擇暫停SecureBoot的檢查,例如恢復,但須停留在使用者模式。這旗號通知作業系統。

1 則留言:

  1. Hi, I also have a post about how to customize Signature for secure boot using OpenSSL. Welcome to check my blog as well, thanks!

    http://mephistolai.blogspot.tw/2013/11/x86-8-how-to-customize-signature-for.html

    回覆刪除