一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(pí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-10-24 09:46 ? 次閱讀

作者:Michael Rothman,Vincent Zimmer

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

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

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

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

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

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

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

國(guó)際金融機(jī)構(gòu)規(guī)范

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

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

定義如何構(gòu)建底層平臺(tái)固件。

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

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

如上所述,固件執(zhí)行許多角色。固件的實(shí)現(xiàn)基于行業(yè)標(biāo)準(zhǔn),例如 UEFI PI 規(guī)范。PI 階段包括預(yù)電子應(yīng)用初始化 (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 所示。

poYBAGNV7tKACJezAABTKkceejQ427.png

圖1 固件源樹產(chǎn)品的演變

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

pYYBAGNV7tiANW9oAADEJq7UBaI639.png

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

關(guān)于攻擊的類別,市場(chǎng)上已經(jīng)觀察到很多。其中包括早期 PI 或更高版本的 DXE 流中的特權(quán)提升、錯(cuò)誤的選項(xiàng) ROM(旨在初始化特殊設(shè)備),甚至是攻擊硬件。針對(duì)固件的攻擊類別的示例可以在下面的圖 3 中看到。

pYYBAGNV7uGAKMrfAAB3JF0i82k797.png

圖3 固件攻擊的分類

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

pYYBAGNV7uqADa-NAAC4vwsIX_E273.png

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

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

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

pYYBAGNV7vKAeWrHAAFXr3XSr7Y578.png

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

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

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

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

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

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

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

pYYBAGNV7wOAZQvoAAD8yuaiyaE469.png

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

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

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

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

審核編輯:郭婷

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

    關(guān)注

    114

    文章

    16838

    瀏覽量

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

    關(guān)注

    37

    文章

    7025

    瀏覽量

    124725
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    網(wǎng)線機(jī)器人領(lǐng)域如何發(fā)揮重要作用

    機(jī)器人制造領(lǐng)域正經(jīng)歷前所未有的變革,網(wǎng)絡(luò)產(chǎn)品作為連接機(jī)器人內(nèi)部系統(tǒng)與外部環(huán)境的關(guān)鍵紐帶,機(jī)器視覺、數(shù)據(jù)采集和遠(yuǎn)程控制等環(huán)節(jié)發(fā)揮著決定性作用。本文將從這網(wǎng)線角度,來看看他們機(jī)器人領(lǐng)域
    的頭像 發(fā)表于 04-27 13:33 ?98次閱讀

    SOLIDWORKS教育版——全方面的學(xué)習(xí)資源與教程

    功能,更以其全方面的學(xué)習(xí)資源與教程,為學(xué)生構(gòu)建了一個(gè)從理論到實(shí)踐、從基礎(chǔ)到進(jìn)階的完整學(xué)習(xí)體系。本文將深入探討SOLIDWORKS教育版如何憑借其豐富的學(xué)習(xí)資源與教程,為工程教育注入新的活力,助力學(xué)生成長(zhǎng)為未來的工程精英。
    的頭像 發(fā)表于 04-23 11:03 ?111次閱讀
    SOLIDWORKS教育版——<b class='flag-5'>全方面的</b>學(xué)習(xí)資源與教程

    接地電阻柜是電力系統(tǒng)安全運(yùn)行的重要保障

    、變電站及工業(yè)電力網(wǎng)絡(luò)。本文將從技術(shù)角度分析接地電阻柜的重要及其對(duì)電力系統(tǒng)安全的影響。1.限制故障電流,保護(hù)設(shè)備當(dāng)電力系統(tǒng)發(fā)生單相接地故障時(shí),若中性點(diǎn)直接接地,故
    的頭像 發(fā)表于 04-19 17:57 ?81次閱讀
    接地電阻柜是電力<b class='flag-5'>系統(tǒng)安全</b>運(yùn)行的<b class='flag-5'>重要</b>保障

    如何制作適用于Visionfive 2的Debian + UEFI固件系統(tǒng)

    制作適用于Visionfive 2的Debian + UEFI固件系統(tǒng)
    發(fā)表于 03-10 07:51

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

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

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

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

    激光焊錫中溫度控制系統(tǒng)重要作用

    激光焊錫中溫度控制系統(tǒng)是非常重要的配置。松盛光電來給大家介紹什么是激光錫焊溫度控制系統(tǒng),以及溫度控制系統(tǒng)錫焊過程中的
    的頭像 發(fā)表于 12-03 16:51 ?472次閱讀
    激光焊錫中溫度控制<b class='flag-5'>系統(tǒng)</b>的<b class='flag-5'>重要作用</b>

    隱私與安全:動(dòng)態(tài)海外住宅IP如何保護(hù)你在線

    動(dòng)態(tài)海外住宅IP保護(hù)用戶在線隱私與安全方面發(fā)揮著重要作用。
    的頭像 發(fā)表于 11-25 08:09 ?312次閱讀

    MSP MCUs的安全現(xiàn)場(chǎng)固件更新

    電子發(fā)燒友網(wǎng)站提供《MSP MCUs的安全現(xiàn)場(chǎng)固件更新.pdf》資料免費(fèi)下載
    發(fā)表于 10-09 09:21 ?0次下載
    MSP MCUs的<b class='flag-5'>安全</b>現(xiàn)場(chǎng)<b class='flag-5'>固件</b><b class='flag-5'>更新</b>

    云加速服務(wù)在數(shù)據(jù)安全方面的潛在風(fēng)險(xiǎn)

    云加速服務(wù)在數(shù)據(jù)安全方面的優(yōu)勢(shì)主要包括: 1、數(shù)據(jù)保護(hù)能力:云服務(wù)提供商采用多種安全措施來保護(hù)數(shù)據(jù),包括身份認(rèn)證、訪問控制、數(shù)據(jù)加密、安全監(jiān)控和日志記錄等。 2、靈活性:云數(shù)據(jù)安全可以
    的頭像 發(fā)表于 09-23 11:54 ?421次閱讀

    Linux在車載HPC安全方面的工作原理

    隨著汽車智能化和自動(dòng)駕駛技術(shù)的飛速發(fā)展,車載高性能計(jì)算(High-Performance Computing, HPC)系統(tǒng)已成為推動(dòng)汽車產(chǎn)業(yè)革新的核心力量。在此背景下,Linux作為開源操作系統(tǒng)領(lǐng)域的佼佼者,正以其高度靈活性、
    的頭像 發(fā)表于 08-27 14:58 ?765次閱讀
    Linux在車載HPC<b class='flag-5'>安全方面的</b>工作原理

    邊坡位移監(jiān)測(cè)設(shè)備的組成及重要作用

    隨著社會(huì)經(jīng)濟(jì)的快速發(fā)展,各類建筑和基礎(chǔ)設(shè)施項(xiàng)目不斷增多,其中有些項(xiàng)目建設(shè)在復(fù)雜地形環(huán)境中。這些地區(qū)往往存在邊坡穩(wěn)定性問題,如滑坡、崩塌等地質(zhì)災(zāi)害,嚴(yán)重威脅人民生命財(cái)產(chǎn)安全。因此,邊坡位移監(jiān)測(cè)設(shè)備保障工程安全方面發(fā)揮著
    的頭像 發(fā)表于 08-16 17:24 ?530次閱讀

    DCAC電源模塊工業(yè)科技中的重要作用

    滿足各種設(shè)備和系統(tǒng)的電力需求。本文中,我們將探討DC/AC電源模塊工業(yè)科技中的重要作用。 DC/AC電源模塊工業(yè)科技中的
    的頭像 發(fā)表于 07-10 09:35 ?791次閱讀
    DCAC電源模塊<b class='flag-5'>在</b>工業(yè)科技中的<b class='flag-5'>重要作用</b>

    M16連接器7芯安全方面有哪些要求

      德索工程師說道M16連接器7芯安全方面的要求是非常重要的,這不僅涉及到連接器的設(shè)計(jì)、材料和制造工藝,還涉及到其實(shí)際應(yīng)用中的穩(wěn)定性和
    的頭像 發(fā)表于 06-06 17:37 ?463次閱讀
    M16連接器7芯<b class='flag-5'>安全方面</b>有哪些要求

    大氣環(huán)境監(jiān)測(cè)儀環(huán)境保護(hù)中的重要作用

    大氣環(huán)境監(jiān)測(cè)儀環(huán)境保護(hù)中的重要作用
    的頭像 發(fā)表于 05-13 14:50 ?704次閱讀
    大氣環(huán)境監(jiān)測(cè)儀<b class='flag-5'>在</b>環(huán)境保護(hù)中的<b class='flag-5'>重要作用</b>