TWI559167B - 統一可延伸韌體介面(uefi)相容計算裝置和用於在uefi相容計算裝置中管控一安全啓動之方法 - Google Patents

統一可延伸韌體介面(uefi)相容計算裝置和用於在uefi相容計算裝置中管控一安全啓動之方法 Download PDF

Info

Publication number
TWI559167B
TWI559167B TW101141008A TW101141008A TWI559167B TW I559167 B TWI559167 B TW I559167B TW 101141008 A TW101141008 A TW 101141008A TW 101141008 A TW101141008 A TW 101141008A TW I559167 B TWI559167 B TW I559167B
Authority
TW
Taiwan
Prior art keywords
computing device
uefi
task
user
smm
Prior art date
Application number
TW101141008A
Other languages
English (en)
Other versions
TW201333747A (zh
Inventor
傑佛瑞 鮑伯辛
Original Assignee
系微股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 系微股份有限公司 filed Critical 系微股份有限公司
Publication of TW201333747A publication Critical patent/TW201333747A/zh
Application granted granted Critical
Publication of TWI559167B publication Critical patent/TWI559167B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

統一可延伸韌體介面(UEFI)相容計算裝置和用於在UEFI相容計算裝置中管控一安全啟動之方法
本申請案係關於且主張2011年11月4日申請的名為「Secure Boot Administration in a Unified Extensible Firmware Interface(UEFI)-Compliant Computing Device」的美國臨時專利申請案第61/555,851號的權利,其全文內容以引用的方式併入本文中。
統一可延伸韌體介面(UEFI)係由非盈利性行業組織創建的規格,其詳述作業系統(OS)與計算裝置(諸如(但不限於)個人電腦(PC))所包括之韌體之間的程式化介面。UEFI規格描述一套工具,計算裝置可藉由該套工具以組織方式從電力施加狀態移至可全面運作。計算裝置由該裝置內所包括的韌體初始化,且此韌體提供促進作業系統啟動的一系列軟體服務。UEFI規格告知所要結果但是故意不指定內部實施策略。UEFI韌體規格替代行業先前所使用且通常稱作傳統式BIOS的較早OS/韌體介面。
UEFI規格提供被稱作驅動程式簽章校驗之功能,來自其他方之軟體可在其來源藉由該功能使用共用/私用密鑰加密技術簽章。在允許此軟體運作前由計算裝置韌體驗證此簽章。簽章校驗針對添加以組態視需要組件(插板)之軟體及作業系統針對早期啟動步驟供應的軟體(即:OS 啟動載入程式)。簽章校驗用批准密鑰庫完成。計算裝置必須注意不允許未經授權之軟體元素有任何能力修改批准密鑰庫,因為這會允許流氓軟體元素使簽章校驗失敗。
當實施在計算裝置中時,UEFI韌體的機器碼及韌體所使用的所有永久資料駐留在唯讀記憶體(ROM)中。在許多情況中,ROM係名為快閃ROM的電可擦除矽裝置。快閃ROM具有其可由電命令擦除且個別元素隨後可寫入且裝置無限期地保留資料之特性。當電力首先施加至計算裝置時,系統執行被稱作重設的過程,其清除狀態至已知狀況並開始執行韌體。韌體從快閃ROM中讀取。在其他服務中,韌體負責計算裝置的運作直至啟動過程可運行,其將計算裝置的作業系統載入記憶體。一旦載入,作業系統負責計算裝置的正常運作。
快閃ROM被劃分為數個功能區或區域。一個此區域為代碼儲存區,其必須受保護不被除已被授權更新該代碼儲存區之實體以外之任何實體更改。被稱作鑑認變量區或儲存區之第二區域容納UEFI規格所定義之鑑認變量以及用於容納UEFI定義之安全資訊(系統安全資料庫)。除UEFI定義之資訊外,鑑認變量儲存區可用於儲存與電腦之最終用途相關之使用者定義資料。由於其含有安全資料及潛在敏感性使用者資料,故UEFI規格規定必須保護鑑認變量區/儲存區不被除藉由識別系統安全資料庫內之密鑰資料之存在而授權之實體以外之任何實體更改。第三區域(UEFI變量儲存區)包括可由使用者程式自由更新之 較低安全等級資訊。
計算裝置亦可包括被稱作中央處理單元(CPU)之一或多個元件,其在運作時可從快閃ROM讀取且亦擦除及/或寫入快閃ROM。CPU具有正常運作模式及被稱作系統管理模式(SMM)的第二作業模式。當CPU處於正常作業模式時,其可存取電腦之所有元件,專用於SMM的特定記憶體區域除外。相反,當CPU在SMM中運作時,其能夠存取計算裝置之所有元件,包括專用記憶體。電信號可在計算裝置之電路內獲得,其可指示CPU何時在SMM內運作。CPU裝置可涉及藉由被稱作系統管理中斷(SMI)事件(包括韌體所觸發的SMI事件)的許多觸發而從正常運作模式過渡至SMM。可獲得之準確觸發在系統設計之間稍有不同,但是當使用平台相適觸發時的結果為主記憶體中的執行立即暫停且執行在SMM記憶體中的特定位置上開始。計算裝置亦包括硬體電路,其可偵測系統是否處於SMM中,且當系統未處於SMM中時,其能夠停用快閃ROM擦除及寫入操作。
UEFI規格提供安全啟動過程,其中在啟動序列期間僅執行經驗證的可執行代碼。習知UEFI安全啟動過程取決於針對本地系統安全資料庫在鑑認變量中驗證可執行代碼。在此過程期間,通常僅存在代碼可被驗證且因此被批准在啟動過程期間執行的兩種方式。第一種驗證可執行代碼之方式係若可執行碼已經系統安全資料庫中的證書'簽章',則可執行代碼被批准。相同證書可能已被用於給許多' 可執行碼'簽章。第二種驗證可執行代碼之方式係先前已儲存在系統安全資料庫中的可執行碼之準確散列匹配供執行的可執行碼之散列(各散列僅唯一地識別其所基於之代碼且在散列儲存後對該代碼之任意更改將在更改代碼之散列與原始代碼之散列對比時導致失配)。一旦驗證,可執行代碼可在啟動序列期間執行。未透過任一機制驗證之代碼不允許在習知UEFI安全啟動期間執行。
第1圖(先前技術)描繪由UEFI相容計算裝置執行以在代碼在UEFI相容計算裝置之習知安全啟動期間執行前驗證可執行代碼之例示性步驟序列。在計算裝置中之韌體起始啟動序列(步驟102)後,該韌體識別待執行之代碼,「建議可執行代碼」(步驟104)。在校驗系統安全資料庫看其是否容納用於給建議可執行代碼簽章之證書(步驟105)時,啟動序列停止。若用於給建議可執行代碼簽章之證書存在(步驟105),則韌體授權建議可執行代碼之執行(步驟108)且啟動序列繼續(步驟112)。另一方面,若用於給建議可執行代碼簽章的證書不存在(步驟105),則進一步校驗系統安全資料庫看是否儲存建議可執行代碼之準確散列(步驟107)。若建議可執行代碼之準確散列儲存在系統安全資料庫中(步驟107),則韌體授權建議可執行代碼之執行(步驟108)且啟動序列繼續(步驟112)。但是,若建議可執行代碼之準確散列未儲存(步驟107),則建議可執行代碼之執行不被授權且若在不執行建議可執行代碼的情況下可行則啟動序列 繼續(步驟112)。
本發明之實施例提供允許UEFI相容計算裝置中之韌體更改計算裝置所遵循之正常安全啟動過程以在本地系統安全資料庫中(鑑認變量中)安裝可信未簽章應用程式或OS啟動載入程式之散列,同時仍儘可能保護計算裝置不受未授權第三方軟體影響。本發明之實施例可利用僅可在SMM中存取之登入模組,其可在啟動序列期間由‘存在’使用者調用。用於執行此安全啟動管控之韌體模組提供用於暫時暫停啟動序列期間所進行之可執行過程之正常驗證之安全過程使得未簽章可執行代碼之散列可登入系統安全資料庫,其中其可在後續操作中用於驗證其所基於之可執行代碼。此外,由於登入模組僅能夠在CPU處於SMM中時被存取及執行,故韌體登入模組隱藏不被OS或其他使用者程式檢查及修改並可以難以被未授權第三方軟體觀測或修改之方式執行所述技術。
在一實施例中,用於管控統一可延伸韌體介面(UEFI)相容計算裝置中之安全啟動之方法包括在UEFI相容計算裝置之啟動過程期間從使用者接收中斷命令之步驟。啟動過程回應於命令而被中斷。該方法亦在啟動過程中斷後向使用者顯示與管理啟動過程相關之至少一任務之列表以及接收一個所列任務之選擇。該方法回應於所列任務之選擇而調用系统管理模式(SMM)並使用僅可在 SMM內執行之韌體模組在SMM中執行所選任務。在任務執行後,計算裝置被重設且該計算裝置之啟動過程被重啟。
在另一實施例中,統一可延伸韌體介面(UEFI)相容計算裝置包括支援系統管理模式(SMM)之處理器。UEFI相容計算裝置亦包括輸入機構及與UEFI相容計算裝置通信之顯示表面。UEFI相容計算裝置進一步包括在被執行時在UEFI相容計算裝置之啟動過程期間經由輸入機構從使用者接收中斷命令之至少一韌體模組。啟動過程回應於命令而被中斷。在啟動過程中斷後,韌體執行亦在顯示表面上向使用者顯示與管控啟動過程相關之至少一任務之列表並接收所列任務之選擇。韌體執行回應於所列任務之選擇調用SMM並在SMM中執行所選任務。韌體執行亦在所選任務執行後重設計算裝置並在重設後重啟計算裝置之啟動過程。
在一實施例中,用於管控統一可延伸韌體介面(UEFI)相容計算裝置之安全啟動之方法包括在UEFI相容計算裝置之啟動過程期間識別先前記錄之請求以管控啟動過程之步驟。啟動過程回應於識別而被中斷。該方法亦在啟動過程中斷後向使用者顯示與管控啟動過程相關之至少一任務之列表及接收一個所列任務之選擇。該方法回應於所列任務之選擇而調用系统管理模式(SMM)並使用僅可在SMM內執行之韌體模組在SMM中執行所選任務。在任務執行後,計算裝置被重設且計算裝置之啟動過程被重 啟。
雖然通常上述習知UEFI安全啟動過程提供驗證可執行代碼之安全方式,但是在特定情況中,其可限制UEFI相容計算裝置可用的可執行代碼的數量。舉例而言,習知UEFI安全啟動過程可防止任何未簽章應用程式在啟動序列期間歸因於缺少用於給應用程式簽章之證書或儲存在系統安全資料庫中之應用程式之準確散列而被執行。由於一些應用程式在發佈前未簽章或出於法律和/或其他原因而無法簽章或可能由在系統安全資料庫最初在系統製作期間安裝時未被包括為信任簽章實體之機構簽章,故此習知UEFI方法可限制計算裝置之可用代碼之範圍。
本發明之實施例藉由實現偏離UEFI相容裝置所遵循之正常安全啟動過程而解決這些情況。注意,偏離正常安全啟動過程可以仔細限定方式完成,其限制未授權代碼藉由進行惡意活動而利用偏離之可能性。舉例而言,本發明之實施例可以僅使用僅在SMM中執行之韌體模組而使偏離正常安全啟動過程發生。此外,本發明之實施例可僅在偏離由與UEFI相容計算裝置實體接觸,藉由點擊退出鍵或其他定義的中斷鍵而中斷啟動序列之‘存在’使用者啟動時允許偏離習知UEFI安全啟動。在一替代實施例中,經由安全平台韌體管理工具連接之授權使用者可視作‘存在’並可被允許啟動偏離正常過程。舉例而言,除將韌體 決策基於使用者操控直接連接之輸入裝置(諸如鍵盤)輸入密碼以授予許可修改安全設定之直接使用者存在測試外,其他實施例可包括連接至系統遠端之使用者及使用網路硬體及行業標準安全網路協定通信,其包括充分保護以允許韌體合理地確認命令來自授權使用者且非模仿者。
第2圖描繪由本發明之實施例執行以利用韌體模組管控UEFI相容裝置中之安全啟動過程之例示性步驟序列。步驟始於啟動序列由UEFI相容計算裝置中之韌體開始(步驟202)。啟動序列隨後由使用者生成中斷命令而中斷(步驟204)。舉例而言,中斷命令可由實體‘存在’使用者生成,其諸如藉由按壓退出鍵而觸發中斷。本發明之一些實施例要求使用者之實體存在確保存取系統安全資料庫以管控及更改安全啟動之過程無法單獨由未授權及惡意軟體進行。接收中斷命令導致韌體安全啟動管控(SBA)應用程式開啟(步驟206)。
SBA應用程式可向當前安全啟動過程顯示列示可用於管控之不同任務之選單。下文進一步討論例示性任務。使用者(實體存在或不存在)選擇任務之一用於執行且接收選擇導致韌體生成SMI(步驟210)。一旦處於SMM中,所選任務即由僅可在計算裝置之處理器在SMM中運作時執行之韌體模組執行(步驟212)。藉由將影響系統安全資料庫之任務之執行限制為僅在SMM中執行之韌體模組,惡意第三方代碼觀測任務執行之能力明顯削弱。將安全啟動過程之管控之啟動限制為由實體存在使用者導致之 啟動序列之中斷之視需要額外要求在此方面提供額外安全等級。在執行所選任務後,計算裝置隨後可重設(步驟214)且啟動過程重新啟動(步驟216)。
SBA應用程式可向使用者展示許多不同任務之選擇。舉例而言,可向使用者展示下列選項:
1)登入應用程式或驅動程式之散列。
2)打開或關閉「強制執行安全啟動操作」,其允許所有代碼在啟動序列期間運行,同時允許未來用相同資料庫啟動。
3)清除系統安全資料庫,其刪除所有證書且無限期地停用安全啟動,
4)重設系統安全資料庫為出廠設定,及
5)從備份中恢復系統安全資料庫。
應瞭解上述任務列表為例示性且可執行其他安全啟動管控任務以補充或取代上文例舉的任務而不偏離本發明之範圍。
除在啟動期間藉由使用者命令(諸如上述中斷命令)進入韌體選單外,可利用進入韌體SBA選單之其他方法。在另一實施例中,韌體SBA選單亦可回應於UEFI變量內所含之選單請求標誌而進入且在重啟前由OS內之過程設定。這解決一個問題,即計算裝置之啟動速度太快使得使用者進入命令窗太小使得使用者無法在啟動序列期間中斷且因此OS可能提供一種方法設定向韌體指示在下次啟動期間需要SBA選單之UEFI定義變量(諸如Os指 令)。此外,在一些實施例中,韌體選單可自動回應於韌體所偵測到之由使正常啟動過程失敗之故障產生之問題而顯示給使用者。
第3圖描繪由本發明之實施例執行以在系統安全資料庫中登入未簽章應用程式之散列之例示性步驟序列。序列始於計算裝置之啟動過程開啟(步驟302)且由中斷啟動序列之‘存在’使用者中斷(步驟304)。舉例而言,啟動序列可由使用者點擊鍵盤上之退出鍵而中斷。或者,如上所述,取代使用者啟動中斷命令,韌體在啟動序列期間識別記錄在UEFI定義變量中之請求。韌體生成之安全啟動管控選單隨後可顯示(步驟306),使用者可從中選擇選項管控計算裝置之安全啟動(步驟308)。在選擇選項時,非揮發性標誌可設定(步驟310)且計算裝置隨後在任何第三方軟體載入前(即:在進入選擇外部軟體之啟動管理階段之前)重設(步驟312)。標誌之實施方案可隨系統而不同,因為一些晶片組具有一組非揮發性暫存器且因此具有額外資源。在重啟時,非揮發性標誌被標注且隨後清除(步驟314)且韌體SBA應用程式啟動(步驟316)。在使用者選擇任務(步驟318)後,SMI觸發且所選任務在SMM中執行(步驟320)。舉例而言,使用者可選擇未簽章應用程式或作業系統啟動載入程式之散列之登入且在SMI觸發後散列可登入系統安全資料庫。計算裝置隨後可重設(步驟322)。在下一及所有後續啟動序列上,試圖在啟動序列期間驗證應用程式之韌體將在系統安 全資料庫中查找到應用程式之散列且因此應用程式之代碼將被信任並被允許在啟動序列期間執行,只要試圖載入之未簽章應用程式之散列與系統安全資料庫中新登入之散列匹配。
應瞭解上述描述為闡釋性序列但是本發明之實施例不限於此。在另一實施例中,計算裝置不在開始執行SBA應用程式前重設。而是,在啟動計算裝置之OS前,SBA應用程式被啟動並觸發SMI中斷,登入模組登入散列且SMM(及登入模組)之存取停用。在較不安全之不同實施例中,任務可在不對計算裝置進行任何重設之情況下執行。
第4圖描繪適於實踐本發明之實施例之例示性環境。UEFI相容計算裝置400包括能夠在正常模式及SMM中運作之CPU 402。計算裝置400可為PC、膝上型電腦、平板計算裝置、伺服器、智慧電話或配備處理器且能夠滿足UEFI規格要求之一些其他類型之計算裝置。計算裝置400亦可包括記憶體404,諸如隨機存取記憶體(RAM)。儲存在計算裝置400中或與計算裝置400通信之硬碟驅動器410上之作業系統412可載入記憶體404作為由計算裝置執行之啟動過程之部分。
計算裝置400亦可包括快閃(或其他)ROM 420。在一些情況中,系統設計可併入多個快閃ROM裝置。快閃ROM 420可包括如上所述可在計算裝置運作之不同點上運作之韌體模組。舉例而言,快閃ROM 420可包括可在 CPU 402處於正常運作(非SMM保護)模式440中時運作之韌體SBA應用程式421。快閃ROM 420亦可容納可僅在CPU處於SMM保護模式450時運作之韌體登入模組422。快閃ROM 420亦可容納系統安全資料庫430,該系統安全資料庫430容納用於簽章校驗之授權密鑰及如UEFI規格中所規定之僅可在CPU處於SMM保護模式450中時存取之應用程式之登入散列。使用者460可經由輸入裝置470(諸如鍵盤或其他裝置)存取計算裝置400。使用者460可觀看顯示器,該顯示器包括顯示由韌體SBA應用程式421生成之可選擇選項之生成之使用者介面482。選項選擇可導致以與上述描述一致之方式在系統安全資料庫430中登入未簽章應用程式之散列。
本發明之實施例之部分或所有可提供作為具體體現在一個或多個非暫時性媒體上或中之一或多個電腦可讀程式或代碼。媒體可為但不限於硬碟、光碟、數位多功能光碟、快閃記憶體、PROM、RAM、ROM或磁帶。通常,電腦可讀程式或代碼可實施為任意計算語言。
由於可進行特定改變而不脫離本發明之範圍,故上述描述中所含或附圖所示之所有事項旨在解釋為闡釋性且非字面意義。本技術實踐者將瞭解圖中所描繪之步驟序列及架構可更改而不脫離本發明之範圍及本文所含之圖解為本發明之許多可能描繪之單個實例。
本發明之例示性實施例之上述描述提供圖解及描述,但不旨在詳盡或將本發明限制為所揭示之精確形式。修改 及變化對於上述教示可行或可從本發明之實踐中獲得。舉例而言,雖然已描述一系列動作,但是在符合本發明之原理之其他實施方案中動作順序可修改。此外,非依賴性動作可並列執行。
102‧‧‧步驟;啟動序列啟動
104‧‧‧步驟;識別用於執行之代碼
105‧‧‧步驟;可執行碼經適當簽章?
107‧‧‧步驟;儲存準確散列?
108‧‧‧步驟;執行經授權
110‧‧‧步驟;執行未經授權
112‧‧‧步驟;返回啟動序列
202‧‧‧步驟;啟動過程開啟
204‧‧‧步驟;啟動過程被使用者中斷
206‧‧‧步驟;韌體SBA應用程式開啟
208‧‧‧步驟;使用者選擇任務選項以管控安全啟動
210‧‧‧步驟;SMI觸發
212‧‧‧步驟;在SMM中執行更改系統安全資料庫之任務
214‧‧‧步驟;計算裝置重設
216‧‧‧步驟;啟動過程重啟
302‧‧‧步驟;計算裝置之啟動過程開啟
304‧‧‧步驟;‘存在’使用者中斷啟動過程
306‧‧‧步驟;顯示安全啟動管理選單
308‧‧‧步驟;‘存在’使用者選擇管控安全啟動選項
310‧‧‧步驟;非揮發性標誌設定
312‧‧‧步驟;計算裝置在第三方韌體載入前重設
314‧‧‧步驟;在重啟時標注標誌,隨後清除
316‧‧‧步驟;安全啟動管理應用程式開啟
318‧‧‧步驟;進行任務選擇/觸發SMI
320‧‧‧步驟;未簽章應用程式之散列登入系統安全資料庫
322‧‧‧步驟;計算裝置重設
400‧‧‧計算裝置
402‧‧‧中央處理單元(CPU)
404‧‧‧記憶體
405‧‧‧作業系統(OS)
410‧‧‧硬碟驅動器
412‧‧‧作業系統(OS)
420‧‧‧快閃ROM
421‧‧‧韌體SBA應用程式
422‧‧‧韌體登入過程模組
430‧‧‧系統安全資料庫
440‧‧‧非SMM保護
450‧‧‧SMM保護
460‧‧‧存在使用者
470‧‧‧輸入裝置
480‧‧‧顯示器
482‧‧‧使用者介面(UI)
併入本說明書並構成本說明書之一部分之附圖繪示本發明之一或多個實施例且連同本實施方式幫助說明本發明。在圖中:第1圖(先前技術)描繪由習知UEFI相容計算裝置執行以驗證可執行代碼之例示性步驟序列。
第2圖描繪由本發明之實施例執行以利用韌體模組管控UEFI相容裝置中之安全啟動過程之例示性步驟序列; 第3圖描繪由本發明之實施例執行以利用UEFI相容裝置中之韌體模組在系統安全資料庫中安全地登入未簽章應用程式之散列之例示性步驟序列;及 第4圖描繪適於實踐本發明之實施例之例示性環境。
202‧‧‧步驟;啟動過程開啟
204‧‧‧步驟;啟動過程被使用者中斷
206‧‧‧步驟;韌體SBA應用程式開啟
208‧‧‧步驟;使用者選擇任務選項以管控安全啟動
210‧‧‧步驟;SMI觸發
212‧‧‧步驟;在SMM中執行更改系統安全資料庫之任務
214‧‧‧步驟;計算裝置重設
216‧‧‧步驟;啟動過程重啟

Claims (24)

  1. 一種用於在統一可延伸韌體介面(UEFI)相容計算裝置中管控一安全啟動之方法,其包括:在該UEFI相容計算裝置之一啟動過程期間從一使用者接收一中斷命令,該啟動過程回應於該命令而中斷;在該啟動過程中斷後,向該使用者顯示與管控該啟動過程相關之至少一任務之一列表;接收一所列任務之一選擇;回應於該所列任務之該選擇調用系统管理模式(SMM);使用僅可在SMM內執行之一韌體模組在SMM中執行該所選任務;在該所選任務執行後重設該計算裝置;及在該重設後重啟該計算裝置之該啟動過程。
  2. 如請求項1之方法,其中該所選任務之該執行進一步包括:在一系統安全資料庫中登入一未簽章應用程式之一散列。
  3. 如請求項1之方法,其中該所選任務之該執行進一步包括:關閉強制執行該安全啟動之一要求以允許所有代碼在該啟動過程期間運行。
  4. 如請求項1之方法,其中該所選任務之該執行進一步包括: 清除一系統安全資料庫的所有證書及停用該安全啟動。
  5. 如請求項1之方法,其中該所選任務之該執行進一步包括:從一備用位置恢復一系統安全資料庫或將該系統安全資料庫重設為一出廠設定。
  6. 如請求項1之方法,其中該中斷命令僅可從實體存取該UEFI相容計算裝置之一實體存在使用者接收。
  7. 如請求項1之方法,其中該中斷命令可從經由一安全平台韌體管理工具從一遠程位置存取該UEFI相容計算裝置之一使用者接收。
  8. 如請求項1之方法,其進一步包括:在該中斷後及在顯示該至少一任務之該列表前重設該計算裝置。
  9. 一種容納用於在統一可延伸韌體介面(UEFI)相容計算裝置中管控安全啟動過程之電腦可執行指令之非暫時性電腦可讀媒體,該等指令在被執行時導致該UEFI相容計算裝置用以:在該UEFI相容計算裝置之一啟動過程期間從一使用者接收一中斷命令,該啟動過程回應於該命令而中斷;在該啟動過程中斷後,向該使用者顯示與管控該啟動過程相關之至少一任務之一列表;接收一所列任務之一選擇;回應於該所列任務之該選擇調用系统管理模式 (SMM);使用僅可在SMM內執行之一韌體模組在SMM中執行該所選任務;在該所選任務執行後重設該計算裝置;及在該重設後重啟該計算裝置之該啟動過程。
  10. 如請求項9之媒體,其中該所選任務之該執行進一步導致該UEFI相容計算裝置:在一系統安全資料庫中登入一未簽章應用程式之一散列。
  11. 如請求項9之媒體,其中該所選任務之該執行進一步導致該UEFI相容計算裝置:關閉強制執行一安全啟動之一要求以允許所有代碼在該啟動過程期間運行。
  12. 如請求項9之媒體,其中該所選任務之該執行進一步導致該UEFI相容計算裝置:清除一系統安全資料庫的所有證書及停用該安全啟動。
  13. 如請求項9之媒體,其中該所選任務之該執行進一步導致該UEFI相容計算裝置:從一備用位置恢復一系統安全資料庫或將該系統安全資料庫重設為一出廠設定。
  14. 如請求項9之媒體,其中該中斷命令僅可從實體存取該UEFI相容計算裝置之一實體存在使用者接收。
  15. 如請求項9之媒體,其中該中斷命令可從經由一 安全平台韌體管理工具從一遠程位置存取該UEFI相容計算裝置之一使用者接收。
  16. 如請求項9之媒體,其中該等指令之該執行進一步導致該UEFI相容計算裝置:在該中斷後及在顯示該至少一任務之該列表前重設該計算裝置。
  17. 一種統一可延伸韌體介面(UEFI)相容計算裝置,其包括:一處理器,該處理器支援系統管理模式(SMM);一顯示表面,其與該UEFI相容計算裝置通信;一輸入機構;及至少一韌體模組,該韌體模組在被執行時:在該UEFI相容計算裝置之一啟動過程期間經由該輸入機構從一使用者接收一中斷命令,該啟動過程回應於該命令而中斷;在該啟動過程中斷後,在該顯示表面上向該使用者顯示與管控該啟動過程相關之至少一任務之一列表;接收一所列任務之一選擇;回應於該所列任務之該選擇調用SMM;在SMM中執行該所選任務;及在該所選任務執行後重設該計算裝置;及在該重設後重啟該計算裝置之該啟動過程。
  18. 如請求項17之裝置,其中該所執行任務係將在該啟動過程中啟用之一應用程式之一散列登入一系統安全資 料庫。
  19. 如請求項17之裝置,其中該中斷命令僅可經由該輸入機構從實體存取該UEFI相容計算裝置之一實體存在使用者接收。
  20. 如請求項20之媒體,其中該韌體模組在該中斷後及在顯示該至少一任務之該列表前重設該計算裝置。
  21. 一種容納用於在統一可延伸韌體介面(UEFI)相容計算裝置中管控一安全啟動過程之電腦可執行指令之非暫時性電腦可讀媒體,該等指令在被執行時導致該UEFI相容計算裝置用以:從一使用者識別在該UEFI相容計算裝置之一啟動過程期間管控一啟動過程之一先前記錄之請求,該啟動過程回應於該請求之該識別而中斷;在該啟動過程中斷後,向該使用者顯示與管控該啟動過程相關之至少一任務之一列表;接收一所列任務之一選擇;回應於該所列任務之該選擇調用系统管理模式(SMM);使用僅可在SMM內執行之一韌體模組在SMM中執行該所選任務;在該所選任務執行後重設該計算裝置;及在該重設後重啟該計算裝置之該啟動過程。
  22. 如請求項21之媒體,其中該請求記錄在由一作業系統設定之一UEFI定義變量中。
  23. 一種用於在統一可延伸韌體介面(UEFI)相容計算裝置中管控一安全啟動之方法,其包括:從一使用者識別在該UEFI相容計算裝置之一啟動過程期間管控一啟動過程之先前記錄之請求,該啟動過程回應於該識別而中斷;在該啟動過程中斷後,向該使用者顯示與管控該啟動過程相關之至少一任務之一列表;接收一所列任務之一選擇;回應於該所列任務之該選擇調用系统管理模式(SMM);使用僅可在SMM內執行之一韌體模組在SMM中執行該所選任務;在該所選任務執行後重設該計算裝置;及在該重設後重啟該計算裝置之該啟動過程。
  24. 如請求項23之方法,其中該請求記錄在由一作業系統設定之一UEFI定義變量中。
TW101141008A 2011-11-04 2012-11-05 統一可延伸韌體介面(uefi)相容計算裝置和用於在uefi相容計算裝置中管控一安全啓動之方法 TWI559167B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201161555851P 2011-11-04 2011-11-04

Publications (2)

Publication Number Publication Date
TW201333747A TW201333747A (zh) 2013-08-16
TWI559167B true TWI559167B (zh) 2016-11-21

Family

ID=48192890

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101141008A TWI559167B (zh) 2011-11-04 2012-11-05 統一可延伸韌體介面(uefi)相容計算裝置和用於在uefi相容計算裝置中管控一安全啓動之方法

Country Status (3)

Country Link
US (2) US9021244B2 (zh)
TW (1) TWI559167B (zh)
WO (1) WO2013067486A1 (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9021244B2 (en) * 2011-11-04 2015-04-28 Insyde Software Corp. Secure boot administration in a Unified Extensible Firmware Interface (UEFI)-compliant computing device
CN103377063B (zh) 2012-04-28 2016-06-22 国际商业机器公司 从遗留操作系统环境恢复到uefi预启动环境的方法和系统
US9824226B2 (en) * 2012-10-25 2017-11-21 Intel Corporation Anti-theft in firmware
US9336395B2 (en) * 2013-01-25 2016-05-10 Hewlett-Packard Development Company, L.P. Boot driver verification
US9378371B2 (en) * 2013-03-13 2016-06-28 Intel Corporation Systems and methods for account recovery using a platform attestation credential
TW201506788A (zh) * 2013-05-01 2015-02-16 Insyde Software Corp 在配有適用統一可延伸韌體介面(uefi)之韌體之計算裝置中的安全啓動覆蓋技術
GB2513660B (en) * 2013-05-03 2018-11-14 Displaylink Uk Ltd System for connecting a display over a general-purpose data transport
WO2014200511A1 (en) * 2013-06-14 2014-12-18 Hewlett-Packard Development Company, L.P. Unified extensible firmware interface (uefi) driver and protocol
US9881162B2 (en) * 2013-09-12 2018-01-30 Insyde Software Corp. System and method for auto-enrolling option ROMS in a UEFI secure boot database
US9575791B2 (en) 2014-02-12 2017-02-21 Dell Products, Lp Unified extensible firmware interface system management mode initialization protections with system management interrupt transfer monitor sandboxing
US9569620B2 (en) 2014-02-18 2017-02-14 Dell Products, Lp Method for processing UEFI protocols and system therefor
US10338933B2 (en) * 2014-03-25 2019-07-02 Dell Products, Lp Method for generating custom BIOS setup interface and system therefor
US9697010B2 (en) * 2014-03-25 2017-07-04 Microsoft Technology Licensing, Llc User selectable operating systems
US10929149B2 (en) 2014-11-11 2021-02-23 Red Hat, Inc. Method and system for updating firmware
US9916451B2 (en) * 2015-02-09 2018-03-13 Dell Products L.P. Information handling system boot pre-validation
US20160253501A1 (en) * 2015-02-26 2016-09-01 Dell Products, Lp Method for Detecting a Unified Extensible Firmware Interface Protocol Reload Attack and System Therefor
US9740492B2 (en) * 2015-03-23 2017-08-22 Intel Corporation System management mode trust establishment for OS level drivers
US9830457B2 (en) * 2015-05-05 2017-11-28 Dell Products, L.P. Unified extensible firmware interface (UEFI) credential-based access of hardware resources
US9767285B2 (en) 2015-06-04 2017-09-19 Accenture Global Services Limited Process categorization using crowdsourcing
US9703961B2 (en) 2015-06-05 2017-07-11 Accenture Global Services Limited Process risk classification
US10181036B2 (en) * 2015-06-24 2019-01-15 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Automatic discovery and installation of secure boot certificates
WO2017087621A1 (en) * 2015-11-17 2017-05-26 James Dooley Security stack for embedded systems
US10185828B2 (en) * 2016-03-15 2019-01-22 Dell Products L.P. Systems and methods using virtual UEFI path for secure firmware handling in multi-tenant or server information handling system environments
US10521216B2 (en) 2017-01-17 2019-12-31 Oracle International Corporation Unified extensible firmware interface updates
US11036408B2 (en) 2017-03-26 2021-06-15 Oracle International Corporation Rule-based modifications in a data storage appliance monitor
US10719606B2 (en) * 2018-02-23 2020-07-21 Infineon Technologies Ag Security processor for an embedded system
US11068600B2 (en) * 2018-05-21 2021-07-20 Kct Holdings, Llc Apparatus and method for secure router with layered encryption
US10880099B2 (en) 2018-05-23 2020-12-29 Wipro Limited Method and system for protecting computing devices from malwares
JP7249968B2 (ja) * 2020-03-09 2023-03-31 株式会社東芝 情報処理装置およびストレージ
US11983275B2 (en) * 2022-01-18 2024-05-14 Dell Products L.P. Multi-phase secure zero touch provisioning of computing devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060161784A1 (en) * 2005-01-14 2006-07-20 Microsoft Corporation Systems and methods for updating a secure boot process on a computer with a hardware security module
US20070220276A1 (en) * 2006-03-16 2007-09-20 Arm Limited Managing access to content in a data processing apparatus
US20090249120A1 (en) * 2008-03-27 2009-10-01 Jiewen Yao Remote firmware recovery
TW201137745A (en) * 2010-04-30 2011-11-01 Hon Hai Prec Ind Co Ltd System and method for updating UEFI setup information of a computer

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7380136B2 (en) * 2003-06-25 2008-05-27 Intel Corp. Methods and apparatus for secure collection and display of user interface information in a pre-boot environment
US8364975B2 (en) * 2006-12-29 2013-01-29 Intel Corporation Methods and apparatus for protecting data
US8103908B2 (en) * 2007-12-28 2012-01-24 Intel Corporation Method and system for recovery of a computing environment during pre-boot and runtime phases
DE102008011925B4 (de) * 2008-02-29 2018-03-15 Globalfoundries Inc. Sicheres Initialisieren von Computersystemen
US8335931B2 (en) 2008-06-20 2012-12-18 Imation Corp. Interconnectable personal computer architectures that provide secure, portable, and persistent computing environments
US7984286B2 (en) * 2008-06-25 2011-07-19 Intel Corporation Apparatus and method for secure boot environment
US20090327741A1 (en) * 2008-06-30 2009-12-31 Zimmer Vincent J System and method to secure boot uefi firmware and uefi-aware operating systems on a mobile internet device (mid)
US20100083002A1 (en) * 2008-09-30 2010-04-01 Liang Cui Method and System for Secure Booting Unified Extensible Firmware Interface Executables
US8694761B2 (en) * 2008-12-31 2014-04-08 Vincent Zimmer System and method to secure boot both UEFI and legacy option ROM's with common policy engine
CN102033761A (zh) * 2009-09-30 2011-04-27 鸿富锦精密工业(深圳)有限公司 电子装置及其多重开机方法
US8428929B2 (en) * 2010-09-30 2013-04-23 Intel Corporation Demand based USB proxy for data stores in service processor complex
JP2014513348A (ja) * 2011-04-08 2014-05-29 インサイド ソフトウェア コーポレーション 統合拡張ファームウェアインタフェース準拠計算装置内のシステムセキュリティデータベースおよびファームウェア格納部を変更する要求を処理するシステムおよび方法
US9047010B2 (en) * 2011-06-29 2015-06-02 International Business Machines Corporation Selective key distinction at system startup
US9021244B2 (en) * 2011-11-04 2015-04-28 Insyde Software Corp. Secure boot administration in a Unified Extensible Firmware Interface (UEFI)-compliant computing device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060161784A1 (en) * 2005-01-14 2006-07-20 Microsoft Corporation Systems and methods for updating a secure boot process on a computer with a hardware security module
US20070220276A1 (en) * 2006-03-16 2007-09-20 Arm Limited Managing access to content in a data processing apparatus
US20090249120A1 (en) * 2008-03-27 2009-10-01 Jiewen Yao Remote firmware recovery
TW201137745A (en) * 2010-04-30 2011-11-01 Hon Hai Prec Ind Co Ltd System and method for updating UEFI setup information of a computer

Also Published As

Publication number Publication date
US20150199521A1 (en) 2015-07-16
TW201333747A (zh) 2013-08-16
US9021244B2 (en) 2015-04-28
US20130124843A1 (en) 2013-05-16
WO2013067486A1 (en) 2013-05-10
US9589139B2 (en) 2017-03-07

Similar Documents

Publication Publication Date Title
TWI559167B (zh) 統一可延伸韌體介面(uefi)相容計算裝置和用於在uefi相容計算裝置中管控一安全啓動之方法
US11176255B2 (en) Securely booting a service processor and monitoring service processor integrity
US11503030B2 (en) Service processor and system with secure booting and monitoring of service processor integrity
US10754955B2 (en) Authenticating a boot path update
CN103718165B (zh) Bios闪存攻击保护和通知
KR101888712B1 (ko) 운영 체제 구성 값 보호 기법
US9703635B2 (en) Method, computer program, and computer for restoring set of variables
US8291480B2 (en) Trusting an unverified code image in a computing device
US10169589B2 (en) Securely booting a computer from a user trusted device
JP2020523685A (ja) ハードウェアを使用してオペレーティング・システム構成をセキュアにすること
US10078523B2 (en) Method to boot a computer from a user trusted device with an operating system loader stored thereon
US20150271139A1 (en) Below-OS Security Solution For Distributed Network Endpoints
US20080168275A1 (en) Securely Recovering a Computing Device
TW201506788A (zh) 在配有適用統一可延伸韌體介面(uefi)之韌體之計算裝置中的安全啓動覆蓋技術
WO2017088135A1 (zh) 一种安全指示信息的配置方法及设备
US20170255775A1 (en) Software verification systems with multiple verification paths
TW201500960A (zh) 在配有適用統一可延伸韌體介面(uefi)之韌體之計算裝置中的安全性變數變化檢測技術
US10592661B2 (en) Package processing
TWI706274B (zh) 容許透過復原代理器進行作業系統修復的運算裝置與非暫態電腦可讀儲存媒體
US10853086B2 (en) Information handling systems and related methods for establishing trust between boot firmware and applications based on user physical presence verification
US11861011B2 (en) Secure boot process
US20230359741A1 (en) Trusted boot method and apparatus, electronic device, and readable storage medium
US11132206B2 (en) Systems and methods for modifying boot operation of an information handling system