<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    VaultBoot:發布 “下一代”固件安全方案

    Simon2021-09-20 09:16:00

    HardenedVault 寫道 "當前固件的主流方案依然是UEFI,由于技術架構設計并沒有考慮其復雜的供應鏈生態,tianocore/EDK2的參考實現和OEM出廠實現差異過大,通過測試和逆向分析可以發現某些廠商的OEM固件中DXE模塊有大量基于SMM的實現,這也是導致固件安全的高風險環節之一,因為SMM是x86平臺下Host CPU的最高權限運行模式,俗稱“Ring -2",操作系統難以檢測Ring 0以下的威脅的原因很簡單:根本在不同維度上作戰。而OEM固件的設計和實現的缺陷導致了諸多固件安全風險。通常廠商的OEM固件具備不可審計性,由于主流的OEM并不對用戶開放源代碼,所以源代碼級別的審計是無法實現的,漏洞的審計只能依靠二進制審計或者模糊測試進行,而沒有源代碼對于發現后門或者具有后門性質的調試特性會極高的增加成本,雖然Intel在2019年嘗試以Minimum平臺解決開放性的問題,但目前而言其覆蓋度不及預期。 1999年冬天,洛斯阿拉莫斯國家實驗室的研究員Ron Minnich發起了一個叫LinuxBIOS的項目,其目標是用自由軟件去替代私有的固件,LinuxBIOS設計思路是讓盡量少的代碼做硬件初始化的工作,當硬件初始化完成后就加載一個基于Linux內核的執行載荷,這個項目后來更名為coreboot,今天的coreboot支持除了Linux以外的多種執行載荷,這種架構也成為了2020年代當業界重新審視固件問題和探討”下一代“固件時的重要基礎,這或許是必然性和偶然性并存所致。aultBoot 是一個專注于固件安全,可信計算以及高級防御的固件載荷執行體,其設計可以在coreboot平臺上發揮出最卓越的防護效果,包括CBnT和多種ACM的開箱過程都可以基于coreboot完成,此外VaultBoot完成諸多安全特性,包括本地/遠程證明,基于TPMv1.2/v2.0的全盤加密,測量啟動等。"


    背景

    固件是一種特殊類型的軟件,主要用于硬件底層的交互和控制,固件的范疇過于廣泛,不同領域的固件牽涉的安全防護的問題差異較大,本文僅討論基于通用計算機的固件,比如服務器,筆記本和臺式機的上運行的固件。

    當前問題

    目前固件的主流方案依然是UEFI,而UEFI的生態存在以下幾個問題:

    * 由于技術架構設計并沒有考慮其復雜的供應鏈生態,tianocore/EDK2的參考實現和OEM出廠實現差異過大。通過測試和逆向分析可以發現某些廠商的OEM固件中DXE模塊有大量基于SMM的實現,這也是導致固件安全的高風險環節之一,SMM是x86平臺下Host CPU的最高權限運行模式,俗稱“Ring -2",操作系統難以檢測Ring 0以下的威脅的原因很簡單:根本在不同維度上作戰。

    * 設計和實現的缺陷導致了諸多固件安全風險

    * 修復鏈條過長,這使得漏洞的修復周期會比較長,任何一個環節的廠商延遲或者拒絕修復已知漏洞都會增高用戶生產環境的風險

    * 不可審計性,由于主流的OEM并不對用戶開放源代碼,所以源代碼級別的審計是無法實現的,漏洞的審計只能依靠二進制審計或者模糊測試進行,而沒有源代碼對于發現后門或者具有后門性質的調試特性會極高的增加成本,雖然Intel在2019年嘗試以Minimum平臺解決開放性的問題,但目前而言其覆蓋度不及預期。

    “下一代”固件

    1999年冬天,洛斯阿拉莫斯國家實驗室的研究員Ron Minnich發起了一個叫LinuxBIOS的項目,其目標是用自由軟件去替代私有的固件,LinuxBIOS設計思路是讓盡量少的代碼做硬件初始化的工作,當硬件初始化完成后就加載一個基于Linux內核的執行載荷,這個項目后來更名為coreboot,今天的coreboot支持除了Linux以外的多種執行載荷,這種架構也成為了2020年代當業界重新審視固件問題和探討”下一代“固件時的重要基礎,這或許是必然性和偶然性并存所致。

    進入2010年代后,業界開始探索各種固件安全的方案,UEFI中被稱為”Secure Boot”是一種以驗證簽名構建信任鏈條的VerifiedBoot實現,而基于TPM的MeasuredBoot則因為Intel芯片組對TXT支持限制以及TCG標準中的其他可信計算特性難以在UEFI中實現,2016年,對沖基金Two Sigma的研究員Trammell Hudson借鑒了LinuxBIOS的思路,基于Linux開發了一個名為heads的執行載荷并用coreboot進行加載,把所有包括部分可信計算在內的安全特性都放進了載荷中,這樣以低成本的方式解決了UEFI生態持續數年都難以解決的問題,業界繼續在1999年版本的“下一代固件”架構的基礎上前行。2017年,Google和heads社區聯合開發了名為NERF的執行載荷,NERF采用了保留PEI和最小化DXE的模式去兼容OEM的UEFI固件,但有一些機型的重定向問題難以解決,NERF另一個特性是用戶態基于Go運行時,有趣的是,NERF的嘗試讓基于Linux的執行載荷方案進入到了一個更標準化的階段:LinuxBoot。

    從上圖可以看出,LinuxBoot這個“下一代固件”架構依然沒有走出1999年的LinuxBIOS經典模型,只是其目標是標準化的前提下兼容更多的硬件初始化的固件方案。

    VaultBoot:剛鐸的心臟

    VaultBoot 是一個專注于固件安全,可信計算以及高級防御的固件載荷執行體,其設計可以在coreboot平臺上發揮出最卓越的防護效果,包括CBnT和多種ACM的開箱過程都可以基于coreboot完成。

    VaultBoot 也兼容主流廠商的UEFI,由于賽博堡壘是長期的heads社區的貢獻者,公開版本是基于heads開發的,但VaultBoot 也兼容LinuxBoot的形式,并且可以提供C和Go兩種運行時環境。

    以下為 VaultBoot的主要特性:

    * VerifiedBoot,此項特性在UEFI廠商的市場宣傳中被稱為”Secure Boot”,只允許在正常啟動過程中加載已簽名的內核以及附帶數據(例如,initrd)以啟動,由于在 UEFI 中簽名應與內核存儲在同一文件中,因此需要專用工具(例如,shim),并且簽名過程難以操作。而在 VaultBoot 中,簽名驗證過程由捆綁的 gnupg 工具完成。包含公鑰的專用 gnupg 鑰匙鏈可以捆綁到 VaultBoot的 initrd 中。操作系統的內核、initrd 和引導配置將由存儲在智能卡中的相應私鑰進行簽名,簽名將作為獨立文件存儲在引導分區中,而簽名過程也可以在密鑰管理的操作系統中完成從而無需修改內核文件本身。如果簽名失效,自動啟動過程將被中斷,VaultBoot將為用戶提供 shell 以便手動啟動操作系統或修復簽名鏈條。

    * MeasuredBoot,如果主板配備 TPM,coreboot 可被構建為使用它測量其加載的所有組件(包括載荷執行體),VaultBoot也可被構建為支持 TPMv1.2 和 v2.0。如果啟用了 TPM 支持,VaultBoot可以將一段隨機秘密封印到 TPM 中一組被 coreboot 用于測量自身的 PCR 上,并在引導過程中將該隨機秘密作為 TOTP 呈現出來,以便用戶驗證。如果固件被更改,PCR將發生變動,之前封印的、被用戶驗證過的秘密不能再從 TPM 中解封,以便向用戶警告固件被意外修改。這是本地證明的一種形式,如果啟動過程中驗證TOTP不方便,則可以使用遠程證明。如果秘密未能解封,自動啟動過程將中斷,并將提供恢復shell。

    * Vault_SMM,這是賽博堡壘獨特的加固模式,即把芯片組除了 CBnT 這類開箱類特性外的加固特性都延期到載荷階段啟用并且使用 SMM 模式進行加固,這樣保證安全性的同時也兼顧可維護性,這一設計在2019年得到了LinuxBIOS創始人的贊賞,VaultBoot把SMM這個高安全風險的運行模式用于安全加固,但值得注意的是這個方案必須配合coreboot才能發揮其優勢。

    * 全盤加密,如果 TPM 可用,并且操作系統在啟動過程中需要解鎖 LUKS,則 VaultBoot可以在LUKS中添加隨機密鑰,并將密鑰封印到 TPM 中(無論有沒有密碼)。如果密鑰可以成功解封,VaultBoot將復制操作系統的 initrd 到其 tmpfs 中,將該密鑰和一條 crypttab 條目附加到復制的 initrd 中,然后用修改后的 initrd 啟動操作系統,因此 LUKS 將在啟動過程中由密鑰解鎖。添加密鑰后,LUKS 頭將被測量進入PCR,這是封印解鎖密鑰的 PCR 之一。因此,如果固件或 LUKS 頭被更改,密鑰將無法解封,自動啟動過程將中斷,當然,如果改動是因為用戶主動更新了固件或改動了 LUKS 頭,只要還有其他解鎖 LUKS 以添加密鑰的手段,用戶可以為 LUKS 生成并封印一段新密鑰。

    * 基于硬件內置密鑰交換的參數加密,在 TPM2 中,引入了一項新特性來加密敏感參數(例如針對明文的封印/解封操作),會話密鑰與 TPM 內部生成的密鑰交換,VaultBoot將利用此功能來防御部分物理攻擊,比如TPM Genie。

    * Intel CSME由于涉及諸多版本以及風險評估本身的復雜性,在本文中不多作探討,有興趣的讀者可以閱讀賽博堡壘關于CSME的企業安全風險評估報告。

    總結

    固件的運行級別高于操作系統所在的RING 0,如果用戶的威脅模型中包含攻擊者持久化這一項,那固件安全就無法忽視,這個領域的攻防越來越受到業界的關注,美國國家標準與技術研究院(NIST)早在2011年4月即發布了NIST SP 800-147:BIOS保護指南,2011年12月發布了NIST SP 800-155:BIOS完整性度量指南,2014年8月發布了 NIST SP 800-147B:服務器BIOS保護指南,以及目前最重要的固件安全合規指南:2018年5月發布了 NIST SP 800-193:BIOS平臺固件彈性指南。2021年5月26日,美國網絡安全和基礎設施安全局(CISA)在RSA 2021大會上公開了VBOS計劃,其目的是連同操作系統在內以及更底層組件的安全都需要防護,雖然過去的15年固件層面的安全對抗從未停止,VBOS計劃是第一次把隱蔽戰爭放到了桌面上。歐洲方面,雖然并沒有像美國一樣有系統性的固件安全合規指南,但從幾個方面可以看到其重視程度,歐盟委員會自從2014年發起的“地平線2020”計劃中資助了大量的開源芯片和固件安全項目,而德國聯邦信息安全辦公室(簡稱BSI)多次公開的提到對開放固件的支持和跟進工作,2019年,BSI認證了德國老牌安全廠商genua GmbH的網絡安全產品(編號:BSI-DSZ-CC-1085-2019)支持開放固件體系實現固件安全特性。

    在全球高級威脅防護的大趨勢下,固件屬于整體防御中核心的環節之一,VaultBoot根據當前的攻擊方法制定了一系列的防御措施的同時盡量的兼顧用戶方便使用,目前賽博堡壘可提供x86下KabyLake到CoffeeLake的1U服務器方案,VaultBoot計劃會在2022財年支持arm64。

    uefi密鑰管理
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    HardenedVault 寫道 "當前固件的主流方案依然是UEFI,由于技術架構設計并沒有考慮其復雜的供應鏈生態,tianocore/EDK2的參考實現和OEM出廠實現差異過大,通過測試和逆向分析可以發現某些廠商的OEM固件中DXE模塊有大量基于SMM的實現,這也是導致固件安全的高風險環節之一,因為SMM是x86平臺下Host CPU的最高權限運行模式,俗稱“Ring -2",操作系統難以檢測R
    該組織將公司支付贖金的最后期限定為4月29日,以阻止該組織發布被盜數據。征求意見截止日期為2023年7月5日。在調查確認了此事后,西部數據已將其商店下線,并向客戶發送了數據泄露通知。上周五下午,該公司通過電子郵件發送了數據泄露通知,稱其數據庫遭到攻擊,存儲在內的客戶數據被盜。
    https://www.winfe.net一、簡介WinFE (Windows Forensic Envir
    網絡可信身份認證
    2021-10-12 13:19:17
    身份認證技術是依靠軟件進行身份認證,具有無法抵御旁路攻擊、容易被木馬/病毒攻擊、無權限的客戶端非法接入的問題。可綜合利用UEFI技術和可信計算技術,在用戶客戶端進入操作系統前,實現用戶客戶端可信身份認證和安全接入控制,提高網絡的安全性。
    漏洞可以潛伏在產品代碼中長達數年甚至數十年,攻擊隨時都會降臨。
    0x00 摘要 大型黑客組織在bootkits的使用上有著長期的成功經驗。bootkits是BIOS/UEFI中隱藏的特殊惡意代碼,能夠實現長期隱藏而不被發現,甚至在重新安裝操作系統和更換硬盤驅動器后仍然存在。由于bootkits具有天然...
    2023年3月,Money Message勒索團伙針對微星(MSI)公司的網絡攻擊成功后,泄露了MSI的一些內部資料,其中包括BootGuard私鑰等敏感數據。BootGuard安全機制是Intel硬件信任體系中重要的組成部分,而其私鑰被泄露,預示著對于某些型號的設備,BootGuard這一主要的安全機制將被繞過。同時,泄露資料中還包括UEFI固件鏡像簽名密鑰
    設備一旦感染該惡意軟件,就會在 Win11 系統中禁用 Defender、Bitlocker 和 HVCI 等防病毒軟件。然后可以在早期啟動階段執行任意代碼,此時UEFI啟動服務功能仍然可用。而這正是攻擊者在下一步為bootkit設置持久性的優勢所在。雖然微軟已經在 2022 年 1 月發布更新修復了該漏洞,但由于受影響的、有效簽名的安裝文件仍未添加到 UEFI 鎖定列表中,因此攻擊者依然可以利用該漏洞。
    2020 年 11 月,微軟推出了 Pluton,希望用安全處理器阻止最復雜的黑客攻擊。AMD 上周表示將把該芯片集成到即將推出的 Ryzen CPU 中,供聯想 ThinkPad Z 系列筆記本電腦使用。盡管很多系統已擁有可信平臺模塊(TPM)或英特爾的 Software Guard Extensions 之類的保護措施保護敏感機密信息,但是這些機密然易受到多種類型的攻擊。
    微星拒付贖金后,其固件簽名私鑰和英特爾的OEM私鑰遭勒索軟件組織泄露,包括聯想、英特爾、微星、超微等多家PC設備和半導體巨頭受到影響。該公司在4月初證實遭Money Message勒索軟件組織攻擊,后者宣稱已經竊取了該公司的一些源代碼,并要求微星支付400萬美元用于贖回或刪除泄露數據。
    Simon
    暫無描述
      亚洲 欧美 自拍 唯美 另类