99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

了解UEFI固件更新及其在確保計(jì)算系統(tǒng)安全方面的重要作用

星星科技指導(dǎo)員 ? 來源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Michael Rothman,Vin ? 2022-11-17 16:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:Michael Rothman,Vincent Zimmer

在本文中,我們將介紹以安全、可管理和可觀察的方式在現(xiàn)場更新基于計(jì)算的平臺(tái)的方法。

在整篇文章中,我們還將介紹存在哪些底層組件來實(shí)現(xiàn)所有這些工作,特別是在基于 UEFI 的固件實(shí)現(xiàn)Beyond BIOS 的上下文中。

讓我們從“平臺(tái)固件”開始,在這種情況下,平臺(tái)固件由嵌入式邏輯定義,該邏輯有助于初始化平臺(tái)硬件并啟動(dòng)引導(dǎo)目標(biāo)。此固件通常駐留在計(jì)算機(jī)的主板上,甚至駐留在插件設(shè)備(如存儲(chǔ)控制器和網(wǎng)絡(luò)設(shè)備)上的芯片上。

最終,平臺(tái)啟動(dòng)固件的要點(diǎn)是啟動(dòng)目標(biāo)軟件,通常是操作系統(tǒng)。

從歷史上看,啟動(dòng)固件沒有一組可跨平臺(tái)、第三方硬件和操作系統(tǒng)域互操作的標(biāo)準(zhǔn)化應(yīng)用程序編程接口 (API)。這些組件中的每一個(gè)都有自己的編程孤島,幾乎沒有標(biāo)準(zhǔn)交互。

然而,在2005年,UEFI(統(tǒng)一可擴(kuò)展固件接口)論壇成立。其主要目標(biāo)之一是為機(jī)器內(nèi)的組件如何相互通信提供行業(yè)標(biāo)準(zhǔn)。

簡而言之,UEFI 論壇涵蓋三個(gè)主要規(guī)范:

UEFI 規(guī)范

平臺(tái)與第三方內(nèi)容(如操作系統(tǒng)或插件設(shè)備)之間的 API 集。

平臺(tái)初始化 (PI) 規(guī)范

定義如何構(gòu)建基礎(chǔ)平臺(tái)固件。

高級(jí)配置和電源接口 (ACPI) 規(guī)范

定義從平臺(tái)到操作系統(tǒng)的不可發(fā)現(xiàn)信息和運(yùn)行時(shí)交互的抽象。

如上所述,固件執(zhí)行許多角色。固件的實(shí)施基于行業(yè)標(biāo)準(zhǔn),例如 UEFI PI 規(guī)范。PI 階段包括預(yù) EFI 初始化 (PEI) 和驅(qū)動(dòng)程序執(zhí)行環(huán)境 (DXE)。通常,一個(gè)平臺(tái)可能有 50 個(gè) PEI 模塊和 180 個(gè) DXE 模塊。構(gòu)建這些元素的源代碼樹可以包含數(shù)十萬行 C 代碼,隨著產(chǎn)品的發(fā)布,將策劃各種分支,如圖 1 所示。

poYBAGN19JOAR7IkAABSuyDBm9s176.png

圖1 固件源碼樹產(chǎn)品的演進(jìn)

這些模塊和驅(qū)動(dòng)程序都在環(huán) 0 內(nèi)執(zhí)行,并且通常沒有組件間分離,這在操作系統(tǒng)中的應(yīng)用程序中很常見。因此,任何組件中的缺陷都可能導(dǎo)致平臺(tái)的潛在危害。其中許多組件使用攻擊者控制的輸入,例如磁盤上的數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)設(shè)置的 UEFI 變量等策略對象以及來自未受保護(hù)總線的輸入。如此大量的可執(zhí)行代碼具有許多攻擊面,隨著新技術(shù)的引入,會(huì)創(chuàng)建更多面。對 UEFI 固件實(shí)現(xiàn)必須支持的各種標(biāo)準(zhǔn)的支持會(huì)增加復(fù)雜性。這些標(biāo)準(zhǔn)的演變見下文圖2。

poYBAGN19JmAZ-w9AADDmcWcMZc088.png

圖2 固件支持的規(guī)格和標(biāo)準(zhǔn)的演變

關(guān)于攻擊的類別,市場上已經(jīng)觀察到許多攻擊。其中包括權(quán)限升級(jí)到早期 PI 或以后的 DXE 流、錯(cuò)誤的選項(xiàng) ROM(旨在初始化特殊設(shè)備),甚至攻擊硬件。針對固件的攻擊類示例如下圖 3 所示。

poYBAGN19KKASPSKAAB0Qxqj0uY237.png

圖3 固件攻擊分類

通過UEFI論壇和開源社區(qū)建立了報(bào)告機(jī)制,以支持負(fù)責(zé)任地披露這些安全問題。然而,挑戰(zhàn)在于分散的供應(yīng)鏈。例如,EDKII 代碼在tianocore.org上的使用需要經(jīng)過許多人的處理,例如開源到芯片供應(yīng)商、芯片供應(yīng)商到原始設(shè)備制造商 (OEM) 以及 OEM 到原始設(shè)備制造商 (ODM)。例如,TianoCore 中的缺陷如何最終在其系統(tǒng)上的最終用戶閃存 ROM 中為由 ODM 生成的設(shè)備進(jìn)行更新?當(dāng)今供應(yīng)鏈和修補(bǔ)的復(fù)雜性可以在下面的圖 4 中得到證明。

pYYBAGN19KmAMOwjAAC3HRKW-xQ045.png

圖4 UEFI固件供應(yīng)鏈

主機(jī)固件的作用是什么?

引導(dǎo)固件分階段初始化,包括 PEI 和 DXE,如圖 5 所示。

pYYBAGN19LCACXnNAAFRV4VijPQ773.png

圖5 UEFI PI固件啟動(dòng)流程

在 (DXE) 驅(qū)動(dòng)程序執(zhí)行環(huán)境中,我們枚舉平臺(tái)上的設(shè)備,然后執(zhí)行邏輯來初始化這些設(shè)備。有時(shí),如果這些設(shè)備眾所周知并符合某些標(biāo)準(zhǔn),則這些設(shè)備可能在固件中具有內(nèi)置支持,而其他設(shè)備可能具有設(shè)備攜帶的初始化代碼,并且反過來由固件啟動(dòng)。

在后一種情況下,設(shè)備的初始化代碼通常會(huì)公開固件管理協(xié)議 (FMP) 接口,如果需要,該接口可用于現(xiàn)場更新。

固件初始化的最后階段是操作系統(tǒng)加載程序通過 UEFI API 與固件交互并促進(jìn)其自身的初始化。它還可以通過各種方式執(zhí)行固件更新,例如基于膠囊的更新。

如前所述,固件更改可能會(huì)穿過芯片供應(yīng)商、固件供應(yīng)商、OEM 和 ODM 供應(yīng)鏈的曲折路徑,出現(xiàn)在最終用戶系統(tǒng)中。從歷史上看,這些當(dāng)事方中的許多都有自定義更新工具,這些工具必須安裝到各種操作系統(tǒng)和獨(dú)特的位置中才能發(fā)現(xiàn)和下載更新。這種蒙昧主義的空間,即如何更新您的設(shè)備,通常導(dǎo)致許多最終用戶不維修他們的設(shè)備并及時(shí)更新他們的固件。

進(jìn)入 UEFI 膠囊。UEFI 膠囊包含各種元素,包括將更新本身的二進(jìn)制封裝到稱為 UEFI 膠囊的東西中。UEFI 膠囊具有由全局唯一標(biāo)識(shí)符 (GUID) 命名的明確定義的標(biāo)頭。系統(tǒng)固件的生產(chǎn)者將其更新有效負(fù)載(無論是代碼、數(shù)據(jù)還是更新驅(qū)動(dòng)程序)包裝為此格式。然后,通過使用膠囊生產(chǎn)者擁有的密鑰材料在膠囊中應(yīng)用加密簽名來保證更新的來源。

使用膠囊后,OS 可以通過引用 EFI 系統(tǒng)資源表 (ESRT) 來確定平臺(tái)是否支持此膠囊類型,該表 (ESRT) 是一系列指定平臺(tái)中的版本和可能可更新元素的 GUID。如果手頭的膠囊 GUID 與 ESRT 條目匹配,則操作系統(tǒng)可以暫存,或者預(yù)操作系統(tǒng) UEFI 應(yīng)用程序?qū)⑹褂蒙鲜瞿z囊二進(jìn)制文件作為參數(shù)發(fā)出 UpdateCapsule() UEFI 運(yùn)行時(shí)調(diào)用。Linux 和 Windows 通常通過將膠囊復(fù)制到操作系統(tǒng)前的可訪問位置(如 EFI 系統(tǒng)分區(qū) (ESP))并重新啟動(dòng)來暫存更新。重新啟動(dòng)后,UEFI OS 加載程序可以發(fā)出 UpdateCapsule() 調(diào)用,設(shè)備將重新啟動(dòng)。在重新啟動(dòng)期間,UEFI PI 代碼將確定膠囊位置,可能合并,加密驗(yàn)證,如果真實(shí),則使用更新更新閃存。整體流程如下圖所示 7。

圖 7 膠囊更新啟動(dòng)流程

更新發(fā)生后,可能會(huì)對系統(tǒng)穩(wěn)定性有一些擔(dān)憂。因此,UEFI ACPI 規(guī)范中有一些功能,例如平臺(tái)運(yùn)行狀況評估表 (PHAT),可以查詢以查看系統(tǒng)狀態(tài)是否有任何意外更改。更新還會(huì)影響系統(tǒng)完整性,如平臺(tái)配置寄存器 (PCR) 中的更改所示。因此,在更新之前,操作系統(tǒng)可能需要解封機(jī)密,發(fā)布更新,然后針對最新的 PCR 重新密封。

為了促進(jìn)生態(tài)系統(tǒng)創(chuàng)建膠囊,TianoCore / EDK2資源提供了一個(gè)模板,用于創(chuàng)建基于UEFI固件管理協(xié)議的更新驅(qū)動(dòng)程序,創(chuàng)建ESRT條目,簽名等。生態(tài)系統(tǒng)中還支持使用Linux供應(yīng)商固件服務(wù)(LVFS)和Windows Update(WU)管理Linux中的膠囊更新。鑒于鏈的強(qiáng)度取決于其最薄弱的環(huán)節(jié),因此可以在構(gòu)建安全固件中找到有關(guān)構(gòu)建高保證固件的一些最佳實(shí)踐。

總之,本文討論了以安全、可管理和可觀察的方式執(zhí)行固件更新的方法。這些屬性通過基于 UEFI 的固件中的基礎(chǔ)結(jié)構(gòu)啟用,包括基于加密的膠囊、PHAT 和 FMP 協(xié)議。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    17113

    瀏覽量

    184386
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7152

    瀏覽量

    125624
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1620

    瀏覽量

    64063
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    阻性負(fù)載的重要作用

    阻性負(fù)載電氣工程和電子領(lǐng)域中扮演著重要的角色。它主要通過消耗電能來產(chǎn)生熱量,廣泛應(yīng)用于各種場景中。以下是阻性負(fù)載的一些重要作用: 能量轉(zhuǎn)換與消耗: 阻性負(fù)載是純電阻性的設(shè)備,如白熾燈、電爐等。當(dāng)
    發(fā)表于 01-07 15:18

    SCADA系統(tǒng)各工業(yè)領(lǐng)域發(fā)揮著極其重要作用!

    ,包括: ?電力?:變電站綜合自動(dòng)化建設(shè)中起重要作用,實(shí)現(xiàn)對電力設(shè)備的遠(yuǎn)程監(jiān)控和控制。 ?冶金?:用于冶金行業(yè)的生產(chǎn)過程監(jiān)控和數(shù)據(jù)采集。 ?石油和化工?:石油和化工行業(yè)中,SCADA系統(tǒng)
    發(fā)表于 02-17 14:22

    ARM系統(tǒng)預(yù)引導(dǎo)固件的新機(jī)遇-UEFI

    是作為固件UEFI規(guī)范的界面層之下提供計(jì)算機(jī)系統(tǒng)初始化服務(wù)。PI的實(shí)現(xiàn)不是UEFI規(guī)范的必須。  UE
    發(fā)表于 08-23 09:06

    先進(jìn)的通信技術(shù)手段應(yīng)用對機(jī)場運(yùn)行中的安全方面起到了重要作用

      機(jī)場,作為一個(gè)城市的窗口,其現(xiàn)代高效的運(yùn)行往往被視為該地區(qū)經(jīng)濟(jì)生機(jī)勃勃發(fā)展的的一個(gè)縮影。其中,先進(jìn)的通信技術(shù)手段的應(yīng)用,對機(jī)場運(yùn)行中提高生產(chǎn)效率和安全等方面的作用,日益受到人們的重視?! ?/div>
    發(fā)表于 07-12 08:29

    采用UEFI實(shí)現(xiàn)物聯(lián)網(wǎng)固件更新

    作者:Rich Nass物聯(lián)網(wǎng) (IoT) 時(shí)代,萬物都連接在一起,每個(gè)連接點(diǎn)都可以被黑客視為攻擊目標(biāo)。 為防止這種情況,開發(fā)人員需要借助驗(yàn)證和安全版本控制來確保所有固件和相關(guān)補(bǔ)丁都
    發(fā)表于 07-23 08:18

    檢查系統(tǒng)安全和儀器保護(hù)的重要

    檢查系統(tǒng)安全和儀器保護(hù)的重要
    發(fā)表于 05-13 06:10

    日志系統(tǒng)應(yīng)用中的重要作用

    日志系統(tǒng)應(yīng)用中的重要作用  日志系統(tǒng)管理的意義     一個(gè)完整的信息系統(tǒng)里面,
    發(fā)表于 01-29 14:01 ?9391次閱讀

    簡化安全、基于 UEFI 的物聯(lián)網(wǎng) 固件更新

    簡化安全、基于 UEFI 的物聯(lián)網(wǎng) 固件更新
    發(fā)表于 09-04 17:22 ?8次下載
    簡化<b class='flag-5'>安全</b>、基于 <b class='flag-5'>UEFI</b> 的物聯(lián)網(wǎng) <b class='flag-5'>固件</b><b class='flag-5'>更新</b>

    基于UEFI固件的操作系統(tǒng)完整性度量機(jī)制

    操作系統(tǒng)計(jì)算機(jī)硬件和軟件的紐帶,是應(yīng)用軟件運(yùn)行的基礎(chǔ)環(huán)境,而內(nèi)核的安全性是操作系統(tǒng)安全的核心問題,若操作系統(tǒng)內(nèi)核受到攻擊,會(huì)對操作
    發(fā)表于 11-30 17:27 ?0次下載
    基于<b class='flag-5'>UEFI</b><b class='flag-5'>固件</b>的操作<b class='flag-5'>系統(tǒng)</b>完整性度量機(jī)制

    基于UEFI固件的攻擊檢測系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    固件(Firmware)是計(jì)算機(jī)上電后首先執(zhí)行的一組程序,運(yùn)行在計(jì)算機(jī)底層,固化Flash芯片中,常用于完成配置硬件設(shè)備,為操作系統(tǒng)提供硬
    發(fā)表于 11-30 17:31 ?0次下載
    基于<b class='flag-5'>UEFI</b><b class='flag-5'>固件</b>的攻擊檢測<b class='flag-5'>系統(tǒng)</b>的設(shè)計(jì)與實(shí)現(xiàn)

    詳解 BMS動(dòng)力電池安全方面所起到的作用

    從電池管理系統(tǒng)(BMS)的組成和功能出發(fā),詳細(xì)分析BMS動(dòng)力電池安全方面所起到的作用
    的頭像 發(fā)表于 07-03 15:18 ?1.2w次閱讀

    深度操作系統(tǒng) 2020.11.11 更新:內(nèi)核升級(jí)、 倉庫以及系統(tǒng)安全更新

    今日,深度操作系統(tǒng)宣布 2020.11.11 更新現(xiàn)已發(fā)布。本次更新包括升級(jí)內(nèi)核、Debian 10.6 倉庫以及系統(tǒng)安全更新。
    的頭像 發(fā)表于 11-11 14:16 ?2258次閱讀

    了解UEFI固件更新及其保持計(jì)算系統(tǒng)安全方面的重要作用

    本文中,我們將介紹一些方法,在這些方法中,可以以安全、可管理和可觀察的方式現(xiàn)場更新基于計(jì)算的平臺(tái)。
    的頭像 發(fā)表于 10-24 09:46 ?1639次閱讀
    <b class='flag-5'>了解</b><b class='flag-5'>UEFI</b><b class='flag-5'>固件</b><b class='flag-5'>更新</b><b class='flag-5'>及其</b><b class='flag-5'>在</b>保持<b class='flag-5'>計(jì)算</b><b class='flag-5'>系統(tǒng)安全方面的</b><b class='flag-5'>重要作用</b>

    安全管理器提供多方面的監(jiān)控,以確保系統(tǒng)安全

    許多系統(tǒng)中的入侵預(yù)防傳統(tǒng)上留給該應(yīng)用程序的特定需求和系統(tǒng)設(shè)計(jì)人員的個(gè)人創(chuàng)造力。為了日益互聯(lián)的社會(huì)中提供增強(qiáng)的安全性,各種實(shí)體已經(jīng)定義了特定的標(biāo)準(zhǔn),以消除創(chuàng)建“
    的頭像 發(fā)表于 01-16 09:24 ?815次閱讀
    <b class='flag-5'>安全</b>管理器提供多<b class='flag-5'>方面的</b>監(jiān)控,以<b class='flag-5'>確保</b><b class='flag-5'>系統(tǒng)安全</b>

    NVIDIA加速識(shí)因智能AI大模型落地應(yīng)用方面的重要作用介紹

    本案例介紹了 NVIDIA 加速識(shí)因智能 AI 大模型落地應(yīng)用方面的重要作用。生成式大模型已廣泛應(yīng)用于各領(lǐng)域,通過學(xué)習(xí)人類思維方式,能快速挖掘海量內(nèi)容,滿足不同需求。
    的頭像 發(fā)表于 03-29 15:28 ?996次閱讀