TWI672634B - 基本輸入輸出系統(bios)保全技術 - Google Patents
基本輸入輸出系統(bios)保全技術 Download PDFInfo
- Publication number
- TWI672634B TWI672634B TW106115984A TW106115984A TWI672634B TW I672634 B TWI672634 B TW I672634B TW 106115984 A TW106115984 A TW 106115984A TW 106115984 A TW106115984 A TW 106115984A TW I672634 B TWI672634 B TW I672634B
- Authority
- TW
- Taiwan
- Prior art keywords
- bios
- variables
- saved
- active
- update
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
描述與基本輸入/輸出系統(BIOS)保全相關聯的釋例。一個釋例包括檢測一作用態BIOS設定與一保存BIOS設定間之一不匹配。確認先前施加至該作用態BIOS設定的一更新。該更新施加至該保存BIOS設定而產生一更新BIOS設定。當該更新BIOS設定與該作用態BIOS設定匹配時該保存BIOS設定經更新。該保存BIOS設定經更新至該作用態BIOS設定。當該更新BIOS設定與該作用態BIOS設定相異時採取一保全動作。
Description
本發明係有關於基本輸入輸出系統(BIOS)保全技術。
發明背景 基本輸入/輸出系統(BIOS)為由系統(例如,電腦)當啟動時使用的韌體以初始化各種硬體介面,及用以當系統操作時提供各種服務給該系統。一個BIOS標準已知為統一可擴延韌體介面(UEFI),其係使用於許多個人電腦。UEFI載明當系統操作時用以調整BIOS如何操作的數個啟動變數。此等變數中之若干者定義為認證變數,且係使用來輔助防止BIOS及系統本身上的惡意攻擊。
依據本發明之一實施例,係特地提出一種方法,其包含:檢測一作用態基本輸入/輸出系統(BIOS)設定與一保存BIOS設定間之一不匹配;確認先前施加至該作用態BIOS設定的一更新;施加該更新至該保存BIOS設定以產生一更新BIOS設定;當該更新BIOS設定與該作用態BIOS設定匹配時更新該保存BIOS設定,於該處該保存BIOS設定係更新至該作用態BIOS設定;及當該更新BIOS設定與該作用態BIOS設定相異時採取一保全動作。
較佳實施例之詳細說明 描述與基本輸入/輸出系統(BIOS)保全相關聯的系統、及方法、及相當物。系統BIOS儲存組態設定於BIOS的專用快閃記憶體中。其中部分設定為保全敏感且係由在系統管理模式(SMM)中跑的BIOS代碼管理。隨著在SMM上的惡意攻擊的增加,此等保全敏感設定可能暴露出,潛在地允許攻擊者擊潰SMM的保全功能。如此可能使得例如,BIOS及帶有受損BIOS的系統進一步受損。
為了保護此等設定,BIOS可經組配以儲存二集合之敏感變數於BIOS快閃記憶體中:作用態版本及保存版本。BIOS快閃記憶體也可儲存自先前啟動算起對該等變數所作有序更新列表。又,保存版本之描述可儲存於保全快閃記憶體中。取決於保全快閃記憶體中之可用資源,該描述可以是保存版本之複本、保存版本之雜湊等。當於系統啟動期間載入變數時,作用態版本與保全快閃記憶體中之描述可作比較。若兩者匹配,則系統前次操作時未對作用態版本作改變,及啟動如正常般進行。
若有差異,則得自該有序列表的更新可經查驗及施加至該保存版本以產生該等敏感變數之一更新版本。若更新版本匹配作用態版本,則對先前系統操作期間授權的作用態版本作改變,及如前述,系統如正常般啟動。然而,若更新版本不匹配作用態版本,或更新中之一者失敗,則保存版本、作用態版本、及更新中之至少一者可能已經偶然地或被惡意攻擊而訛誤。如此可能造成BIOS採取動作以例如,復原至先前已知的安全狀態警示操作BIOS之系統的用戶,或採取符合重申對系統的控制及/或防止未來發生類似攻擊的若干其它動作。
圖1例示與基本輸入/輸出系統(BIOS)保全相關聯的釋例記憶體。須瞭解於圖1中描繪的項目為例示性釋例,及依據各種釋例可操作許多不同系統、裝置及其類。
圖1例示BIOS記憶體100。BIOS記憶體100可以是例如,由系統的BIOS使用來儲存與跑BIOS相關聯的設定、指令等的快閃記憶體。系統可仰賴BIOS例如進行與起始或啟動系統相關聯的各項功能,以及當系統正在作業時。此等功能可包括例如,載入作業系統、檢測系統組件、介接系統組件彼此、及依此類推。
當進行此等功能時,BIOS可仰賴儲存於BIOS記憶體100中之各種設定及/或變數。部分此等設定可以是例如,保全敏感黑名單、白名單等。藉由例示,統一可擴延韌體介面(UEFI)標準載明UEFI標準描述為認證變數的平台金鑰(PK)、金鑰交換金鑰(KEK)、禁用簽章資料庫(DBX)、簽章資料庫(DB)、時間戳記簽章資料庫(DBT)、及依此類推。此等認證變數若經受損則可能妨礙系統操作,允許惡意代碼操作等。如此,認證變數係由系統管理模式(SMM),特權執行模式,中操作的BIOS代碼管理而加以保護。然而,即便SMM也已遭到攻擊。
結果,為了保護保全敏感BIOS變數,可能期望判定其是否已遭惡意操縱,及若資源為可用,則回復成先前安全狀態。於各個釋例中,此點可藉將兩個敏感BIOS變數之複本儲存於BIOS記憶體100中部分達成。此處,此等被例示為保存變數110及作用態變數120。於此釋例中,四個敏感BIOS變數被例示為保存變數110 SV1至SV4,及個別作用態變數120 AV1至AV4。然而,於不同釋例中,可使用更多個或更少個敏感BIOS變數。
當跑BIOS的系統被啟動時,系統首先將檢查以瞭解自前次系統操作算起作用態變數120是否已改變。雖然此點可能只藉比較作用態變數120與保存變數110加以檢測,但可能保存變數110及作用態變數120兩者皆遭到惡意更新以試圖規避此類型檢測。為了保護避免此點,保存變數描述160可儲存於與BIOS記憶體100分開的私用記憶體150。私用記憶體150可由帶有防止BIOS變成受損的任務之保全實體加以控制。於各個釋例中,保存變數描述160可以是保存變數110之複本、保存變數110之雜湊等。於私用記憶體150內部保存變數描述160所呈現的形式可取決於用於儲存保存變數描述160的可用系統資源,以及於檢測得不匹配之情況下期望回復的功能。
若未檢測得作用態變數120與保存變數描述160間之差異,則系統可如常繼續啟動,原因在於敏感變數上未受惡意攻擊故。若檢測得差異,則期望在採取保全措施之前首先判定該等差異是否為授權修正或惡意攻擊的結果。此點可藉對該等敏感變數使用保存變數110及一集合之保存更新130重新產生作用態變數120而予達成。保存更新130可以是在系統的先前操作期間對敏感變數所做更新的有序更新列表。如此,為了自保存變數110重新產生作用態變數120,保存更新130可以保存更新被列表的排序重新確認及施加至保存變數110。如此可產生一集合之更新變數(未顯示於圖中)。然後更新變數可與作用態變數120作比較。若更新變數匹配作用態變數,則未在敏感變數上作攻擊,無論係藉操縱保存變數110、作用態變數120、保存更新130、或其組合皆係如此。
值得注意地,當於系統啟動期間作用態變數120係藉與更新變數作比較加以確認時,如此指示此集合之作用態變數乃未來繼續使用的安全集合之作用態變數。結果,保存變數110也可經更新以匹配作用態變數120,及保存變數描述160可經更新以對應新保存變數110。當已施加更新時保存更新佇列130也可被清除。
在施加保存更新130至保存變數110後,當存在有更新變數與作用態變數120間之不匹配時,如此指示在敏感變數上的惡意攻擊。此時,可採取保全動作以試圖修復保存變數及/或通知關注系統保全的實體。採取的保全動作之規模可取決於私用記憶體150中採取哪種形式的保存變數之描述160而定。若該保存變數之描述160為保存變數110的複本,則可能回復保存變數及/或作用態變數120至已知保全狀態。若有關敏感變數有較少資訊可資利用,例如,保存變數描述160儲存保存變數110之雜湊,則復原動作為不可能。於此等情況下,系統可使用目前設定、已知安全集合之設定等啟動,及可通知關注系統安全性的實體。該實體例如可以是系統用戶及/或管理者、維持系統的遠端邏輯等。
如前文討論,保存變數之描述160所儲存的資訊範圍可取決於私用記憶體150中的可用資源,及較強的系統回復選項之期望性。藉由例示,UEFI認證變數包括白名單及黑名單,其隨著時間之推移尺寸可長大。若用來儲存保存變數之描述160之可用空間量例如因對有限資源有多重需求故在私用記憶體150上受限制,則BIOS可仰賴較弱的復原選項來保護系統。
在系統成功啟動之後,於該處未檢測得惡意動作,保存變數110與作用態變數120將匹配(例如,SV1將具有與AV1之相同值)。此點的可能原因在於系統的先前操作期間未做改變,或原因在於保存變數110經更新以匹配作用態變數120故。於系統操作期間,對敏感變數做出各項變化。取決於變化是否經由帶有適當認證資訊的適當通道做出,此等變化可經授權或未經授權。此種認證資訊可以是系統特異性及取決於使用的BIOS類型。當授權改變完成時,對作用態變數120做改變,而於系統整個操作期間保存變數110維持其狀態。授權改變也可登錄於保存更新佇列130以供下次系統啟動時使用。此等改變可經儲存以便確保在未來時間點作用態變數120可從保存變數110再生。
其中保存變數描述160儲存保存變數110的一複本之釋例中,可能從BIOS記憶體100刪除保存變數110,及將保存變數描述160視為保存變數110。於此釋例中,作用態變數120可與保存變數描述160直接比較,及保存更新130可施加至載入記憶體中之保存變數描述160的一複本以產生更新複本。又復,當保存變數描述160包括保存變數110的一複本時,保存變數描述160也可包括保存變數110的一雜湊以加速作用態變數120與保存變數110之初始比較。
須瞭解於後文描述中,陳述眾多特定細節以供徹底瞭解該等釋例。然而,須瞭解可實施釋例而不限於此等特定細節。於其它情況下,方法及結構並未以細節描述以免不必要地遮掩了釋例之描述。又,釋例可彼此組合使用。
如於本文中使用,「模組」包括但非僅限於硬體、韌體、儲存於電腦可讀取媒體上或於機器上執行的軟體、及/或各自之組合以進行功能或動作、及/或引發來自另一模組、方法、及/或系統的功能或動作。模組可包括軟體受控微處理器、分開模組、類比電路、數位電路、規劃模組裝置、含指令之記憶體裝置等。模組可包括閘、閘之組合、或其它電路組件。當描述多個邏輯模組時,可能將多個邏輯模組結合成一個實體模組。同理,當描述單一邏輯模組時,可能將該單一邏輯模組分散於多個實體模組間。
圖2例示與基本輸入/輸出系統(BIOS)保全相關聯的一釋例方法200。方法200可於儲存處理器可執行指令的非暫態處理器可讀取媒體上實施。當由處理器執行時,指令可使得處理器進行方法200。於其它釋例中,方法200可存在於特定應用積體電路(ASIC)之邏輯閘及/或RAM內部。於若干釋例中,方法200可在系統管理模式(SMM)BIOS代碼已載入SMM BIOS區內之後但在尚未BIOS代碼在CPU上跑之前進行。如此可確保方法200係在SMM本身受損低風險的安全環境中操作,及假設至作業系統開始運作時SMM可能受損。
於250,方法200包括檢測作用態BIOS設定與保存BIOS設定間不匹配。於各種釋例中,作用態BIOS設定與保存BIOS設定可以是於其中安裝BIOS的系統或裝置啟動期間由BIOS使用的BIOS變數。如前文討論,BIOS可使用統一可擴延韌體介面(UEFI)標準操作。結果,BIOS設定可以是UEFI變數。又復,UEFI變數可以是如於UEFI標準中描述的UEFI認證變數。
於一個釋例中,檢測作用態BIOS設定與保存BIOS設定間之不匹配可包括比較作用態BIOS設定之雜湊與保存BIOS設定之雜湊。保存BIOS設定之雜湊可儲存於保全記憶體中。於另一釋例中,檢測作用態BIOS設定與保存BIOS設定間之不匹配可包括比較一集合之作用態BIOS設定之雜湊與保存BIOS設定之雜湊。保存BIOS設定之雜湊可儲存於保全記憶體上。於此一釋例中,該集合之作用態BIOS設定可包括作用態BIOS設定,及該集合之保存BIOS設定可包括保存BIOS設定。檢測作用態BIOS設定與保存BIOS設定間之不匹配也可包括比較作用態BIOS設定與儲存於保全記憶體中之保存BIOS設定之一複本。
方法200也包括確認更新,於260。更新可先前已施加至作用態BIOS設定。藉由例示,於系統進行方法200之先前操作期間,系統可已接收對作用態BIOS設定的更新。此項更新可已經確認,施加至作用態BIOS設定,及然後登錄使得改變可被再生用以例如,當判定是否系統已受惡意攻擊時確保重新產生作用態BIOS設定的能力。取決於被更新的變數類型,更新可經確認。有些變數可仰賴例如,涉及有效數位簽章、共享私密之知識等的金鑰階層關係。
於270,方法200也包括施加更新至保存BIOS設定。如此可產生更新BIOS設定。藉由例示,於系統進行方法200之先前操作期間,可已經儲存一串列之更新。於動作270,此等更新可經循序地確認及施加至保存BIOS設定以重新產生更新BIOS設定。假定未出現惡意活動操縱保存BIOS設定、作用態BIOS設定、更新等中之一或多者,以其先前施加順序之相同排序施加可確保準確地重新產生作用態BIOS設定。
於280,方法200也包括決定更新BIOS設定是否匹配作用態BIOS設定。當更新BIOS設定匹配作用態BIOS設定時,方法200可前進至更新保存BIOS設定,於動作290。保存BIOS設定可經更新以匹配作用態BIOS設定。如此可確保已發現為有效的改變在未來被保留,使得其無需在每次啟動後重新做改變。當更新BIOS設定與作用態BIOS設定相異時,方法200可前進至動作290及採取保全動作。保全動作可包括例如,復原BIOS設定的先前版本及啟動操作BIOS的系統。於其它釋例中,保全動作可包括啟動系統及警示一實體有關與BIOS相關聯的保全事件。
圖3例示與基本輸入/輸出系統(BIOS)保全相關聯的一方法300。方法300包括如前文參考方法200(圖2)描述的數個動作。舉例言之,於350,方法300包括檢測得作用態BIOS設定與保存BIOS設定間之不匹配,於360確認更新,於370更新保存BIOS設定以產生更新BIOS設定,於380判定更新BIOS設定是否匹配作用態BIOS設定,於390更新此等保存BIOS設定,及於395採取保全動作。
方法300也包括於310接收更新作用態BIOS設定的請求。方法300也包括於320確認該請求。方法300也包括於330施加該更新至作用態BIOS設定。方法300也包括於340儲存該更新。結果,方法300例示於系統進行方法300之操作期間如何對BIOS變數做有效改變。
圖4例示與基本輸入/輸出系統(BIOS)保全相關聯的一系統400。系統400包括BIOS記憶體410。BIOS記憶體410可儲存一集合之作用態BIOS變數。BIOS記憶體410也可儲存一集合之保存BIOS變數。保存BIOS變數可描述該集合之作用態BIOS變數之一已知有效先前版本。BIOS記憶體410也可儲存一集合之佇列更新,其描述對該集合之保存BIOS變數所做改變。
系統400也包括保全記憶體420。保全記憶體420可儲存保存BIOS變數之一描述。保存BIOS變數之描述可以是例如,保存BIOS變數之複本、保存BIOS變數之雜湊等。
系統400也包括更新模組430。更新模組430可查驗對BIOS變數之更新。更新模組430也可施加更新至作用態BIOS變數。更新模組430也可儲存更新於BIOS記憶體。
系統400也包括BIOS保全模組440。BIOS保全模組可檢測該集合之作用態BIOS變數中之一成員與該集合之保存BIOS變數中之一個別成員間之不匹配。此項檢測可於系統400啟動期間進行。當檢測得不匹配時,佇列的更新可循序地施加至該集合之保存BIOS變數以產生一集合之更新BIOS變數。當該集合之更新BIOS變數匹配該集合之作用態BIOS變數時,保存BIOS變數可經更新以匹配該集合之作用態BIOS變數。當該集合之更新BIOS變數不匹配該集合之作用態BIOS變數時,可由BIOS保全模組440起始保全動作。
如何檢測該集合之保全BIOS變數中之成員與該集合之作用態BIOS變數中之成員間之不匹配可取決於該集合之保全BIOS變數之描述如何儲存於保全記憶體420上。此外,該集合之保全BIOS變數之描述如何被儲存也可決定哪些保全動作為可能。舉例言之,該集合之保全BIOS變數之描述可以是該集合之保全BIOS變數之複本。結果,檢測得不匹配可能涉及比較該等作用態BIOS變數中之一成員與該集合之保存BIOS變數之該複本中之一個別成員。又復,因保全記憶體包括該集合之保存BIOS變數的備份,保全動作可包括自保全記憶體回復該等保存BIOS變數。然而,有些系統400可能沒有資源可供儲存保全記憶體420內部的BIOS變數之複本。於此等情況下,該集合之保存BIOS變數之描述可包括該集合之保存BIOS變數中之一或多者的雜湊。於此等情況下,保全動作可涉及警示系統400相關聯的實體有關BIOS變數之未經授權的操縱。此實體可以是例如,系統400之用戶、保證系統400安全之邏輯工作等。
圖5例示一基本輸入/輸出系統(BIOS)500。BIOS 500可包括一資料儲存510。資料儲存510可儲存一集合之作用態BIOS變數。資料儲存510也可儲存一集合之保存BIOS變數。該集合之保存BIOS變數可描述該集合之作用態BIOS變數的一已知有效先前版本。資料儲存510也可儲存描述對該集合之保存BIOS變數所做改變之一集合的佇列更新。
BIOS 500也包括修正檢測模組520。修正檢測模組520可檢測該集合之作用態BIOS變數中之一成員與該集合之保存BIOS變數中之一個別成員間之不匹配。此檢測可於操作BIOS 500之系統啟動期間進行。不匹配可藉比較描述該集合之作用態BIOS變數中之該成員的資料與描述該集合之保存BIOS變數中之該個別成員的資料加以檢測。描述該集合之保存BIOS變數中之該個別成員的資料可從保全儲存裝置(未顯示於圖中)中取回。
BIOS 500也包括修正核准模組530。修正核准模組530可施加該集合之佇列更新到該集合之保存BIOS變數。如此可產生一集合之更新BIOS變數。當該集合之更新BIOS變數匹配集合之作用態BIOS變數時,修正核准模組530也可更新該集合之保存BIOS變數。當一更新BIOS變數與該集合之BIOS變數中之一個別成員相異時,修正核准模組530也可起始一保全動作。
於若干釋例中,BIOS 500也可包括BIOS更新模組(未顯示於圖中)。BIOS更新模組可接收一請求用以更新該集合之作用態BIOS設定中之已更新成員。然後,BIOS更新模組可確認該請求,及當成功地確認時,施加該更新至該已更新成員。然後,BIOS更新模組可儲存該更新之一複本於該BIOS資料儲存。
圖6例示於其中可操作釋例系統及方法及相當物的一釋例計算裝置。釋例計算裝置可以是電腦600其包括藉匯流排630連結的處理器610及記憶體620。電腦600包括BIOS保全模組640。BIOS保全模組640單獨地或組合地可進行前文就釋例系統、方法等描述的各項功能。於不同釋例中,BIOS保全模組640可於硬體、軟體、韌體、特定應用積體電路、及/或其組合中具體實施為儲存處理器可執行指令的非暫態電腦可讀取媒體。
該等指令也可呈現給電腦600作為暫時儲存於記憶體620中的資料650及/或處理程序660及然後藉處理器610執行。處理器610可以是多種處理器包括雙微處理器及其它多處理器架構。記憶體620可包括非依電性記憶體(例如,唯讀記憶體)及/或依電性記憶體(例如,隨機存取記憶體)。記憶體620也可以是例如,磁碟驅動裝置、固態碟驅動裝置、軟碟驅動裝置、快閃記憶卡、光碟等。如此,記憶體620可儲存處理程序660及/或資料650。電腦600也可與其它裝置相關聯,包括呈眾多組態的其它電腦、裝置、周邊裝置等(未顯示於圖中)。
須瞭解揭示釋例之前文詳細說明部分係提供使得任何熟諳技藝人士能夠製作或使用本揭示。此等釋例之各種修正將為熟諳技藝人士顯然易知,及不背離本揭示之精髓及範圍此處定義的一般原理可應用至其它釋例。如此,本揭示並非意圖受限於本文顯示之釋例,反而係符合與本文揭示之原理及新穎特徵一致的最廣義範圍。
100、410‧‧‧基本輸入輸出系統(BIOS)記憶體
110‧‧‧保存變數
120‧‧‧作用態變數
130‧‧‧保存更新、保存更新佇列
150‧‧‧私用記憶體
160‧‧‧保存變數描述
200、300‧‧‧方法
250-295、310-395‧‧‧動作
400‧‧‧系統
420‧‧‧保全記憶體
430‧‧‧更新模組
440、640‧‧‧BIOS保全模組
500‧‧‧基本輸入/輸出系統(BIOS)
510‧‧‧資料儲存
520‧‧‧修正檢測模組
530‧‧‧修正核准模組
600‧‧‧電腦
610‧‧‧處理器
620‧‧‧記憶體
630‧‧‧匯流排
650‧‧‧資料
660‧‧‧處理程序
連結結合附圖所作下列詳細說明部分將更完整地瞭解本申請案。
圖1例示與BIOS保全相關聯的釋例記憶體。
圖2例示與BIOS保全相關聯的釋例操作之一流程圖。
圖3例示與BIOS保全相關聯的釋例操作之另一流程圖。
圖4例示與BIOS保全相關聯的一釋例系統。
圖5例示一釋例BIOS。
圖6例示於其中可操作釋例系統、及方法、及相當物的一釋例計算裝置。
Claims (15)
- 一種確保基本輸入/輸出系統(BIOS)安全性之方法,其包含:檢測一作用態基本輸入/輸出系統(BIOS)設定與一保存BIOS設定間之一不匹配;確認先前施加至該作用態BIOS設定的一更新;施加該更新至該保存BIOS設定以產生一更新BIOS設定;當該更新BIOS設定與該作用態BIOS設定匹配時,更新該保存BIOS設定,其中該保存BIOS設定係更新至該作用態BIOS設定;及當該更新BIOS設定與該作用態BIOS設定相異時,採取一保全動作。
- 如請求項1之方法,包含:接收意欲更新該作用態BIOS設定的一請求;確認該請求;施加該更新至該作用態BIOS設定;及儲存該更新之一複本。
- 如請求項1之方法,其中該BIOS為一統一可擴延韌體介面(UEFI)及其中該BIOS設定為一UEFI變數。
- 如請求項3之方法,其中該UEFI變數為一UEFI認證變數。
- 如請求項1之方法,其中檢測該作用態 BIOS設定與該保存BIOS設定間之該不匹配包括比較該作用態BIOS設定之一雜湊與儲存於一保全記憶體上的該保存BIOS設定之一雜湊。
- 如請求項1之方法,其中檢測該作用態BIOS設定與該保存BIOS設定間之該不匹配,包括比較一集合之作用態BIOS設定之一雜湊與一集合之保存BIOS設定之一雜湊,其中該集合之保存BIOS設定之該雜湊係儲存於一保全記憶體上,其中該集合之作用態BIOS設定包括該作用態BIOS設定,及其中該集合之保存BIOS設定包括該保存BIOS設定。
- 如請求項1之方法,其中該保全動作為下列中之一者:復原該BIOS設定的一先前版本並啟動操作該BIOS的一系統、及啟動該系統並警示一實體關於與該BIOS相關聯的一保全事件。
- 一種能確保BIOS安全性之系統,其包含:一基本輸入/輸出系統(BIOS)記憶體,其儲存一集合之作用態BIOS變數、描述該集合之作用態BIOS變數的一已知有效先前版本之一集合之保存BIOS變數、及描述對該集合之保存BIOS變數所做改變之一集合之佇列更新;一保全記憶體,其儲存該集合之保存BIOS變數之一描述;一更新模組,其用以驗證對一BIOS變數的一更新、施加該更新至一作用態BIOS變數、及將該更新儲存於該BIOS記憶體;及 一BIOS保全模組,其用以於該系統之一啟動期間檢測該集合之作用態BIOS變數的一成員與該集合之保存BIOS變數的一個別成員間之一不匹配、用以施加該等佇列更新至該集合之保存BIOS變數以產生一集合之更新BIOS變數、當該集合之更新BIOS變數與該集合之作用態BIOS變數匹配時用以更新該等保存BIOS變數及該集合之保存BIOS變數之該描述、及當一更新BIOS變數與該集合之作用態BIOS變數的一個別成員相異時用以起始一保全動作。
- 如請求項8之系統,其中該集合之保存BIOS變數之該描述為該集合之保存BIOS變數的一雜湊。
- 如請求項9之系統,其中該保全動作涉及警示與該系統相關聯的一實體有關一BIOS變數之一未經授權操縱。
- 如請求項8之系統,其中該集合之保存BIOS變數之該描述為該集合之保存BIOS變數的一複本。
- 如請求項11之系統,其中該保全動作涉及將該等保存BIOS變數回復至BIOS變數之一已知先前安全版本。
- 一種基本輸入/輸出系統(BIOS),其包含:一資料儲存體,其儲存一集合之作用態BIOS變數、描述該集合之作用態BIOS變數的一已知有效先前版本之一集合之保存BIOS變數、及描述對該集合之保存BIOS變數所做改變之一集合之佇列更新;一修正檢測模組,其用以於操作該BIOS的一系統之一 啟動期間,檢測該集合之作用態BIOS變數的一成員與該集合之保存BIOS變數的一個別成員間之不匹配;及一修正核准模組,其用以施加該集合之佇列更新到該集合之保存BIOS變數以產生一集合之更新BIOS變數、用以在該集合之更新BIOS變數與該集合之作用態BIOS變數相匹配時更新該等保存BIOS變數、及用以在一更新BIOS變數與該集合之作用態BIOS變數的一個別成員相異時起始一保全動作。
- 如請求項13之BIOS,其包含一BIOS更新模組,其用以接收意欲更新該集合之作用態BIOS設定中之一已更新成員的一請求、用以確認該請求、用以施加更新至該已更新成員、及用以將該更新之一複本儲存於BIOS的該資料儲存體中。
- 如請求項13之BIOS,其中該不匹配係藉比較描述該集合之作用態BIOS變數中之該成員的資料與描述該集合之保存BIOS變數中之該個別成員的資料來檢測,其中描述該集合之保存BIOS變數中之該個別成員的該資料係從一保全儲存裝置中取回。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2016/058047 WO2018075057A1 (en) | 2016-10-21 | 2016-10-21 | Bios security |
??PCT/US16/58047 | 2016-10-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201820130A TW201820130A (zh) | 2018-06-01 |
TWI672634B true TWI672634B (zh) | 2019-09-21 |
Family
ID=62018732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106115984A TWI672634B (zh) | 2016-10-21 | 2017-05-15 | 基本輸入輸出系統(bios)保全技術 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10803176B2 (zh) |
EP (1) | EP3485416B1 (zh) |
CN (1) | CN109804378A (zh) |
TW (1) | TWI672634B (zh) |
WO (1) | WO2018075057A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210081117A1 (en) * | 2018-06-07 | 2021-03-18 | Hewlett-Packard Development Company, L.P. | Non-volatile memory protections |
TWI736074B (zh) * | 2019-12-20 | 2021-08-11 | 瑞昱半導體股份有限公司 | 周邊裝置及其驗證更新方法 |
US11347519B2 (en) * | 2020-05-27 | 2022-05-31 | Dell Products L.P. | Systems and methods for detecting short-term changes to BIOS setup |
CN113127844A (zh) * | 2021-03-24 | 2021-07-16 | 山东英信计算机技术有限公司 | 一种变量访问方法、装置、系统、设备和介质 |
TWI789142B (zh) * | 2021-12-03 | 2023-01-01 | 新唐科技股份有限公司 | 控制器、計算機裝置、bios復原備份方法 |
US20230418590A1 (en) * | 2022-06-22 | 2023-12-28 | Hewlett-Packard Development Company, L.P. | Instruction updates |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7293169B1 (en) * | 2003-02-26 | 2007-11-06 | American Megatrends, Inc. | Methods and systems for remotely updating the firmware of multiple computers over a distributed network |
US20130151848A1 (en) * | 2011-12-12 | 2013-06-13 | Microsoft Corporation | Cryptographic certification of secure hosted execution environments |
US20150089209A1 (en) * | 2013-09-25 | 2015-03-26 | Cisco Technology, Inc. | Synchronization of UEFI Secure Boot Variables on a Managed Server |
US20150222604A1 (en) * | 2011-12-21 | 2015-08-06 | Ssh Communications Security Oyj | Automated Access, Key, Certificate, and Credential Management |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7143275B2 (en) * | 2002-08-01 | 2006-11-28 | Hewlett-Packard Development Company, L.P. | System firmware back-up using a BIOS-accessible pre-boot partition |
US9026771B2 (en) * | 2007-04-27 | 2015-05-05 | Hewlett-Packard Development Company, L.P. | Secure computer system update |
US8296579B2 (en) * | 2009-11-06 | 2012-10-23 | Hewlett-Packard Development Company, L.P. | System and method for updating a basic input/output system (BIOS) |
JP5932837B2 (ja) * | 2011-01-19 | 2016-06-08 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | コードを更新および認証するための方法およびシステム、プログラムの完全性を試験する方法およびシステム |
US9372699B2 (en) * | 2011-04-08 | 2016-06-21 | Insyde Software Corp. | System and method for processing requests to alter system security databases and firmware stores in a unified extensible firmware interface-compliant computing device |
US8904162B2 (en) * | 2012-08-01 | 2014-12-02 | Intel Corporation | Methods and apparatus for performing secure BIOS upgrade |
DE112012006665T5 (de) * | 2012-09-28 | 2015-03-19 | Hewlett-Packard Development Company, L.P. | Wählbare Grafik-Controller zur Ausgabenanzeige |
US20140189336A1 (en) * | 2012-12-28 | 2014-07-03 | Miguel Ballesteros | Methods and apparatus to support authenticated variables |
TWI667586B (zh) * | 2013-09-20 | 2019-08-01 | 系微股份有限公司 | 用以核對uefi認證變量變化之系統及方法 |
JP6054908B2 (ja) | 2014-05-22 | 2016-12-27 | レノボ・シンガポール・プライベート・リミテッド | 変数セットを修復する方法、コンピュータ・プログラムおよびコンピュータ |
US9785801B2 (en) * | 2014-06-27 | 2017-10-10 | Intel Corporation | Management of authenticated variables |
-
2016
- 2016-10-21 EP EP16919189.7A patent/EP3485416B1/en active Active
- 2016-10-21 CN CN201680089928.9A patent/CN109804378A/zh active Pending
- 2016-10-21 WO PCT/US2016/058047 patent/WO2018075057A1/en unknown
- 2016-10-21 US US16/083,818 patent/US10803176B2/en active Active
-
2017
- 2017-05-15 TW TW106115984A patent/TWI672634B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7293169B1 (en) * | 2003-02-26 | 2007-11-06 | American Megatrends, Inc. | Methods and systems for remotely updating the firmware of multiple computers over a distributed network |
US20130151848A1 (en) * | 2011-12-12 | 2013-06-13 | Microsoft Corporation | Cryptographic certification of secure hosted execution environments |
US20150222604A1 (en) * | 2011-12-21 | 2015-08-06 | Ssh Communications Security Oyj | Automated Access, Key, Certificate, and Credential Management |
US20150089209A1 (en) * | 2013-09-25 | 2015-03-26 | Cisco Technology, Inc. | Synchronization of UEFI Secure Boot Variables on a Managed Server |
Also Published As
Publication number | Publication date |
---|---|
CN109804378A (zh) | 2019-05-24 |
EP3485416A1 (en) | 2019-05-22 |
EP3485416A4 (en) | 2020-01-29 |
US20190087582A1 (en) | 2019-03-21 |
EP3485416B1 (en) | 2020-11-25 |
TW201820130A (zh) | 2018-06-01 |
US10803176B2 (en) | 2020-10-13 |
WO2018075057A1 (en) | 2018-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI672634B (zh) | 基本輸入輸出系統(bios)保全技術 | |
US11520894B2 (en) | Verifying controller code | |
US9880908B2 (en) | Recovering from compromised system boot code | |
US10740468B2 (en) | Multiple roots of trust to verify integrity | |
EP3028147B1 (en) | Updating boot code | |
US9870474B2 (en) | Detection of secure variable alteration in a computing device equipped with unified extensible firmware interface (UEFI)-compliant firmware | |
US8490189B2 (en) | Using chipset-based protected firmware for host software tamper detection and protection | |
US8028172B2 (en) | Systems and methods for updating a secure boot process on a computer with a hardware security module | |
EP2989547B1 (en) | Repairing compromised system data in a non-volatile memory | |
US9813443B1 (en) | Systems and methods for remediating the effects of malware | |
US7921461B1 (en) | System and method for rootkit detection and cure | |
WO2013067486A1 (en) | Secure boot administration in a unified extensible firmware interface (uefi)- compliant computing device | |
US11599426B2 (en) | Recovery via backups of recovery information | |
US11204776B2 (en) | Apparatus and method for booting virtual machines | |
WO2015065513A1 (en) | Systems and methods for updating system-level services within read-only system images | |
US20150143163A1 (en) | Preventing a rollback attack in a computing system that includes a primary memory bank and a backup memory bank | |
US20190391817A1 (en) | Boot authentication | |
US20200143058A1 (en) | Operational verification | |
US20240028736A1 (en) | Validation and recovery of operating system boot files during os installation and runtime for uefi secure boot systems | |
CN115878122A (zh) | 对构建服务器使用的数据项的损坏确定 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |