TWI616818B - 用於系統管理請求之虛擬高特權模式 - Google Patents

用於系統管理請求之虛擬高特權模式 Download PDF

Info

Publication number
TWI616818B
TWI616818B TW101131338A TW101131338A TWI616818B TW I616818 B TWI616818 B TW I616818B TW 101131338 A TW101131338 A TW 101131338A TW 101131338 A TW101131338 A TW 101131338A TW I616818 B TWI616818 B TW I616818B
Authority
TW
Taiwan
Prior art keywords
system management
domain
virtual
management request
privilege mode
Prior art date
Application number
TW101131338A
Other languages
English (en)
Other versions
TW201319946A (zh
Inventor
瓦路汀Y 阿里
喬斯P X 皮爾斯
詹姆士M 曼恩
波里斯 巴拉契夫
克里斯I 道爾頓
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 TW201319946A publication Critical patent/TW201319946A/zh
Application granted granted Critical
Publication of TWI616818B publication Critical patent/TWI616818B/zh

Links

Classifications

    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • 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
    • 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/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • 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
    • 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
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45541Bare-metal, i.e. hypervisor runs directly on hardware
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一種用來處理一系統管理請求之電腦系統與方法。此電腦系統包括在由該虛擬機器監視器所管理之一信賴域中之一虛擬高特權模式。該虛擬高特權模式處理該系統管理請求。

Description

用於系統管理請求之虛擬高特權模式 發明的技術領域
本發明係有關用於系統管理請求之虛擬高特權模式。
發明的技術背景
一種電子裝置,譬如一電腦或其他類型之裝置,可包括一種負責啟動該電子裝置之基本輸入輸出系統(BIOS)。啟動期間,BIOS初始化並組配該電子裝置之構件,以及在該電子裝置中載入一作業系統。另外,BIOS也可提同其他服務,譬如一電源管理服務、熱管理服務、BIOS更新服務等等。
發明的概要說明
依據本發明之一實施例,係特地提出一種電腦系統,其包含:一處理器;用來管理一信賴域之一虛擬機器監視器;以及在該信賴域中用來管理一系統管理請求之一虛擬高特權模式。
圖式的簡要說明
一些實施利將伴隨下列圖式說明:圖1係依據一虛擬高特權模式之一範例實施例之一電腦系統的一方塊圖;圖2係依據一虛擬高特權模式之一範例實施例之一電腦系統的一方塊圖; 圖3係依據一範例實施例之處理系統管理請求之方法的一流程圖;圖4係依據一範例實施例之處理系統管理請求之方法的一流程圖;以及圖5係依據一電腦可讀式媒體之一範例實施例之一電腦系統的一方塊圖。
較佳實施例的詳細說明
一種基本輸入輸出系統(BIOS)在該電子裝置啟動時通常是第一個被該電子裝置執行的程式碼。電子裝置的範例包括:一電腦(例如桌上型電腦,筆記型電腦,平板電腦,伺服器電腦,等),一手持式裝置(例如個人數位助理,智慧型手機,等),一電子設備,一遊戲機台,或任何其他形式的電子裝置。BIOS初始化並組配電子裝置之硬體構件,並裝載及起始該電子裝置之系統(OS)。BIOS的程式碼通常儲存在一非依電性記憶體上,例如一快閃記憶體裝置或其他類型的可程式化唯讀記憶體(ROM)。
BIOS亦提供其他可在該電子裝置中喚起之功能。許多這類BIOS的其他功能通常藉由進入一系統管理模式(SMM)而被該電子裝置執行,該系統管理模式(SMM)是一種OS執行暫停的作業模式。又,在具有多個處理器或處理器核心之電子裝置中,全部中只有一個處理器或處理器核心會在SMM模式中被停用。為了進入SMM模式,一系統管理中斷(SMI)被確立,以及一SMI處理器(其為BIOS之部 分)被執行,通常是在一相對高特權模式下,來執行個別的功能。
進入SMM模式來執行BIOS功能有許多問題。第一,由於OS執行被暫停,一般的電子裝置操作無法進行。又,在SMM模式期間處理器或處理器核心被停用的電子裝置中,電子裝置一部分的處理能力暫時被停止活動,這表示這部分的處理能力不能執行其他任務。此外,在SMM處理所需時間的預測會有困難,這會造成電子裝置操作上的不確定性。再者,由於某些BIOS功能可能會花一相對較長的時間週期來完成(例如以分鐘之等級),狀態資訊可能無法惟該電子裝置之一使用者所取得,這會使得一使用者手足無措,因為使用者無法確定該電子裝置是否確實地作用。
安全性也是一個議題,由於惡意軟體會在SMM操作期間進行攻擊,這會導致系統錯誤。被採用來避免任何對SMM操作之攻擊的安全性測量會造成電子裝置設計上複雜性的增加。安全性測量的範例包括:鎖定特定儲存區域,包括暫存器及/或一部分的非依電型記憶體(譬如快閃記憶體裝置或其他類型的可規劃唯讀記憶體)。同樣的,安全性測量可能會為特定的BIOS功能效能加上限制,譬如BIOS程式碼更新,這會迫使這類BIOS功能只在特定時間執行,譬如系統重新啟動。
在SMM中經常執行的各種功能之範例可包括下述之一種或組合:更新BIOS程式碼之一服務;存取或設定BIOS之一服務;執行熱管理(例如控制諸如電子裝置中之風 扇的冷卻裝置)之一熱管理服務;一電力管理服務(移除或恢復電力至特定硬體構間);將電子裝置於不同電力狀態間轉變之一服務(例如休眠狀態,睡眠狀態,全開狀態等等);處理電子裝置之開關或開關序列啟動(例如開啟/關閉一無線介面構件之一開關、執行一連續熱鍵來執行一些預設任務等)之一服務(包括啟動多個開關之一些組合);與電子裝置之環繞光感測器(用來檢測環繞電子裝置周圍之光)相關聯之一服務;用來調整電子裝置中一硬體構件之一服務;用來改變電子裝置之一可開機裝置之一開命令的一服務;用來處理OS與BIOS間某一類型之呼叫(例如一中斷15呼叫)之一服務;用來執行一嵌入式控制器之一命令的一服務;以及在一特定條件下用來支援一潛伏週邊裝置(例如一通用串列匯流排)之一服務。
雖然諸多範例BIOS功能並未於前述中列出,理應知悉其他或另外的BIOS功能可用於其他實施例中。
依據一些實務,針對更強健的系統性能,BIOS之功能可被提供於電子裝置之一特權域,特權域是電子裝置之一種相對安全的域,其具有電子裝置中其他實體所沒有的特定預設特權。一般而言,一「特權域」指的是允許域中實體執行電子裝置中其他實體(例如OS,應用程式,等)不被允許執行之功能的具有預設特權之一域。又,一特權域亦具有保護特權域步受未經授權之存取或攻擊的一安全性機制。
藉由將SMM模式之功能移到一虛擬高特權模 式,電子裝置不必進入SMM模式來執行已經移入虛擬高特權模式這樣的BIOS功能。一些實施例中,SMM操作可全部從硬體中移除。其他實施例中,SMM操作仍能執行某些BIOS功能,同時保持BIOS功能透過虛擬高特權模式執行。
一特權域之範例包括如下所列之任何或一些組合:域0,其通常是被一虛擬機器監視器(亦稱為一管理程序)起始用來執行管理任務之第一域;一部分虛擬機器監視器(或管理程序);一訪客虛擬機器,其具有提供增強特權及/或安全性之訪客虛擬機器之預設設定;或具有一預設特別特權及/或安全性機制之電子裝置中其他類型的域。安全特權域可包括信賴執行期BIOS,其可包括用來安全地處理系統管理指令之一虛擬高特權模式,而不需再同層級上具有一個有虛擬機器監視器之構件(譬如一系統管理模式轉移監視器)來隔離及保護一虛擬高特權模式與其他域。
一「虛擬機器」(亦稱為一「虛擬設備」或「虛擬部分」)指的是被提供來虛擬化或模擬一實體機器的一實體機器(電子裝置)之某些部分或區段。從一使用者或應用上的觀點,一虛擬機器看起來是一實體機器。一虛擬機器包括一作業系統(稱為一訪客作業系統)和至少一應用程式。
一虛擬機器監視器(VMM),亦稱為一管理程序,藉由虛擬機器管理實體資源之共享,實體資源包括電子裝置之硬體構件。VMM虛擬化實體資源。每一虛擬機器具有VMM管理的相關聯虛擬化實體資源。VMM處理實體資源之請求。
參考圖式,圖1係依據一虛擬高特權模式之一範例實施例之一電腦系統之一方塊圖。一電腦系統100可包括一處理器110。處理器110係電腦系統100之硬體105部分。處理器110為一一般用途處理器或一特定應用處理器。舉例來說,硬體105亦可包括:I/O裝置、依電型記憶體、第二儲存器、快閃記憶體、一網路介面控制器、一圖型轉接器,等等。系統可包括用來管理硬體構件之實體資源及虛擬化實體資源之一虛擬機器監視器115。電腦系統包括附接至一訪客域130之一虛擬基本輸入輸出系統(vBIOS)135。訪客域130係一虛擬機器,其可執行諸如微軟視窗、Linux、Unix、或其他作業系統之作業系統。
一些範例中,特權域120係域0,其係系統一啟動時由VMM102開始的一管理域,且其具有增強特權與安全機制。域0執行之任務範例包括建立及組配訪客域。域0和訪客域各自被視為一對應的虛擬機器。特權域120可與VMM115分離。另外的實施例中,特權域120可為部分的VMM115。在這類另類的實務中,信賴執行期BIOS功能125係部份的VMM115。特權域120在被信賴VMM115產生或管理時可為一信賴域。
在特權域120中提供BIOS功能125會實施一「一雲端BIOS」亦稱為「信賴執行期BIOS125」或BIOS.v。「雲端」可指特權域120(或一些其他信賴域)。雲端可位在電腦系統100中或在電腦系統100外部。譬如,含有一信賴執行期BIOS125功能之雲端可透過一網路被電腦系統100存取。 網路可為譬如一區域、廣域、或全球網路。
電腦系統100可包括用來處理一系統管理請求之一虛擬高特權模式140。系統管理請求可包括系統管理中斷和一系統管理指令其中至少一者。系統管理請求可由一訪客域130發佈,譬如或特權域120。雖然虛擬高特權模式140顯示為特權域中之信賴執行期BIOS,其可在任何VMM產生或管理的信賴域中或包括在VMM115本身內。可為信賴域之VMM產生或管理的其他域可包括特權域120、一虛擬設備、一訪客域130。
用來處理系統管理請求之一虛擬高特權模式140可防止處理器110或其他硬體105進入一系統管理模式,進入一系統管理模式會造成處理程序之暫停直至系統管理請求被處理為止。譬如,當訪客域130產生一系統管理請求,虛擬機器監視器115可防止系統管理請求將處理器110推入一系統管理模式並轉向系統管理請求至虛擬高特權模式140來處理請求。虛擬高特權模式可能會存取硬體以執行系統組態改變,這本來是在處理器之一系統管理模式中執行。在一範例中,存取硬體105可由虛擬機器監視器115提供。
圖2係一電腦系統之一方塊圖of依據一虛擬高特權模式之一範例實施例。一電腦系統200可包括一處理器210。處理器210係電腦系統200之硬體205部分。硬體可包括韌體245,其可包括基本輸入輸出系統(BIOS)250與可擴充韌體介面(EFI)255。BIOS250可稱為一實體BIOS。一「實 體BIOS」指設在非依電型記憶體,諸如快閃記憶體或其他可規劃唯讀記憶體之BIOS程式碼,且其係在電腦系統200一啟動實執行。一些實務中,實體BIOS可為一縮減(簡化)版的BIOS,由於至少部分系統管理模式被移至一虛擬高特權模式。若一信賴執行期BIOS225被實施,由於信賴被附接到信賴執行期BIOS225,實體BIOS250可保持解鎖狀態以允許改變。處理器210可為一一般用途處理器或一特定應用處理器。系統可包括用來管理硬體構件之實體資源及虛擬化實體資源之一虛擬機器監視器VMM215。電腦系統100包括附接至一訪客域230之一虛擬基本輸入輸出系統(vBIOS)235。訪客域230係可執行諸如微軟視窗、Linux、Unix、或其他作業系統之一作業系統的一虛擬機器。
一些範例中,特權域220係域0,系統一啟動一管理域便被VMM202啟始,其具有增強特權和保全機制。域0執行之任務範例包括建立及組配訪客域。域0和訪客域各自被考量一對應的虛擬機器。特權域220可與VMM215分離。另外的實施例中,特權域220可為部分的VMM215。在此另類實務中,信賴執行期BIOS225係部份VMM215。
虛擬系統管理模式240係用來處理一系統管理請求,虛擬系統管理模式240係可執行將系統硬體205推入一系統管理模式之功能的一虛擬高特權模式。虛擬系統管理模式240中系統管理模式之處理功能防止在系統管理模式中由於處理器沒有進入系統管理模式而使得處理器210暫停指令與資料之處理。一些實施例中處理器210不具有一系 統管理模式。
在實務上,虛擬系統管理模式240可在VMM215產生或管理的任何信賴域中,包括VMM215本身或一虛擬設備260、特權域220、或可在一訪客域230中。在一範例中,一系統管理請求被產生。系統管理請求被進送至虛擬系統管理模式240以處理系統管理請求。在一實施例中,系統管理請求可被虛擬基本輸入輸出系統(vBIOS)235接收以進送虛擬系統管理模式240。一系統管理請求可被一網路服務的應用程式規劃介面(API)傳送。其他實務中,系統管理請求可被包裝在一視窗管理實作(WMI)包裝函式。其他實務包括利用一遠端程序呼叫(RPC)來將系統管理請求進送至虛擬系統管理模式。
一些實施例中,一雲端中之BIOS係根據下列VMM-式架構:實體BIOS知悉並信賴執行期實體(VMM215)實體BIOS正開機,而BIOS-信賴VMM具有卡住和關閉除了來自特權域之所有I/O請求之能力(以存取BIOS功能)。一些實施例中,一BIOS鑑認機制可被提供來鑑認將被電腦系統開機的原始VMM。這樣的鑑認機制允許一管理員或其他使用者指定只有一個經授權的VMM可以在電腦系統中開機。鑑認機制確保電腦系統中之VMM影像尚未被惡意修改,而此VMM可被信賴。實體BIOS可鑑認VMM影像,並確保此VMM係以一先前指定之已知經控制操作設定來開機。VMM接著會產生並管理虛擬高特權模式240來處理一信賴環境中之系統管理請求而不造成硬體205進入一系統 管理模式。
在鑑認該經授權的VMM被開機後,實體BIOS接著可以延遲或省略許多實體BIOS一般會執行來防止未經授權或惡意程式碼竄改之安全性測量的執行。譬如,實體BIOS可選擇不要鎖住BIOS快閃暫存器及/或快閃記憶體之部份。
一些實施例中信賴執行期BIOS225在一電腦系統200內部被提供,然而信賴執行期BIOS225亦可為外部電腦系統。從希望存取BIOS服務之一訪客虛擬機器或其他電腦系統實體之觀點,雲端包括可位於任何地方的BIOS服務,包括在電腦系統外部的一位置。
在一信賴執行期BIOS之實例中,除了特權域或一其他信賴域沒有其他域能夠與BIOS通訊。這是藉由確保所有從一訪客域至BIOS之通訊裝置被卡住並路由至特權域部分以適當過濾來接收和處理。特權域中之虛擬高特權模式接著可處理請求並可進行直接或間接呼叫快閃或BIOS。 此來自特權域對BIOS之呼叫接著將被管理程序允許進行,由於管理程序可檢測從特權域而非一訪客域起始的一呼叫。給定的對實體BIOS的開放但專屬存取,保全了從特權域至實體BIOS之通訊,特權域現在可寫入或讀取所有在執行期之BIOS設定,排除處理器會進入系統管理模式之處境。
將系統管理請求處理移至一虛擬高特權模式具有更多系統資訊與內容可用於虛擬機器監視器之優點:。譬如,若電腦系統持續觸發一系統管理請求來解決熱事件,虛擬機器監視器可決定適當地調整其排程資源,自動 提供調整來允許系統冷卻而不需虛擬高特權模式持續令處理器在SMM中。
圖3係依據一範例實施例處理系統管理請求之一方法300的一流程圖。方法可藉由,在步驟305,一虛擬機器監視器管理用於一虛擬高特權模式之一信賴域以接收一系統管理請求。信賴域可為一特權域120或一其他域。系統管理請求可為可將處理器110推入一系統管理模式並暫停所有將在處理器110之即時模式下被執行之所有程序。於步驟310,系統管理請求被防止起始一系統管理模式。系統管理請求會被路由到一虛擬高特權模式環境140。路由系統管理請求可藉由,譬如vBIOS,傳送系統管理請求至虛擬高特權模式,包裝系統管理請求於WMI包裝函式中,進行一遠端程序呼叫(RPC)或一網路服務API。步驟315,系統管理請求可在一虛擬高特權模式環境中被處理。虛擬高特權模式環境可能得存取硬體以不可行之方式改變系統組態。
圖4係依據一範例實施例之處理系統管理請求的一方法流程圖。方法可為,步驟402,藉由一域發佈一系統管理請求。域可為譬如一訪客域130或特權域120。
於步驟405,一虛擬機器監視器可管理用於一虛擬高特權模式之一信賴域來接收一系統管理請求。虛擬高特權模式可接收已被其他構件諸如VMM115或特權域120路由之系統管理請求。系統管理請求可為將處理器110推入一系統管理模式並暫停所有將在處理器110之即時模式下被執行的所有程序。步驟410,系統管理請求被避免起始一 系統管理模式。若系統管理請求被除了虛擬高特權模式之其他東西接收,其會被路由至一虛擬高特權模式環境140。路由系統管理請求會被譬如vBIOS傳送系統管理請求至虛擬高特權模式,包裝系統管理請求於WMI包裝函式中,或進行一遠端程序呼叫(RPC)。步驟415,系統管理請求可在一虛擬高特權模式環境中被處理。虛擬高特權模式環境可以一訪客域不可行之方式存取硬體來改變系統組態。
圖5係依據一電腦可讀式媒體515-516之一範例實施例之一電腦系統500的一方塊圖。電腦可讀式媒體515-516可包括程式碼,若該程式碼被一處理器505執行會造成一電腦系統執行一虛擬機器監視器。程式碼亦可造成一虛擬高特權模式接收一系統管理請求。系統管理請求可被避免起始處理器之一系統管理模式。程式碼可造成系統管理請求在一虛擬高特權模式環境中被執行。
程式碼可造成虛擬高特權模式改變不能為一訪客域所改變的一系統組態。一系統管理請求可被諸如一訪客域或一特權域之一域所產生來執行處理器之即時模式中之域不可行的系統組態。
許多模組,諸如繪示於其他圖式中者,可實施如可在一或更多處理器中執行的機器可讀式指令。一處理器可包括一微處理器、微控制器、處理器模組或子系統、可規劃積體電路、可規劃閘陣列、或其他控制或計算裝置。
機器可讀式指令可被儲存在機器可讀式或電腦可讀式儲存媒體,其可實施如一或多個電腦可讀式或機器 可讀式儲存媒體。儲存媒體可包括不同形式的記憶體,包括半導體記憶體裝置,諸如動態或靜態隨機存取記憶體(DRAM或SRAM)、可抹除及可規劃唯讀記憶體(EPROM)、電氣可抹除及可規劃唯讀記憶體(EEPROM)與快閃記憶體;磁性碟諸如固定式碟盤、軟碟、及可移除式碟;其他磁性媒體包括卡帶;光學媒體諸如光碟(CD)或數位視訊碟(DVD);或其他類型的儲存裝置。注意前述指令可被提供於一電腦可讀式或機器可讀式儲存媒介上,或可被提供在分佈於可能具有多數節點之一大型系統之多個電腦可讀式或機器可讀式儲存媒體上。這類電腦可讀式或機器可讀式儲存媒介或媒體被視為商品的一部分(或製造品)。一商品或製造品可指任何製造的單一構件或多重構件。儲存媒介或媒體可位於機器執行之機器可讀式指令,或位於一遠端,其處機器可讀式指令可透過一網路下載來執行。
前述中,多數細節被說明以提供對本文所揭露之主題的瞭解。然而,實施例之實現可以不具有某些或全部這些細節。其他實施例可包括前述細節之修改與變化。這些修改與變化係欲由後附請求項所涵蓋。
100‧‧‧電腦系統
105‧‧‧硬體
110‧‧‧處理器
115‧‧‧虛擬機器監視器
120‧‧‧特權域(信賴域)
125‧‧‧信賴執行時間BIOS
130‧‧‧訪客域
135‧‧‧VBIOS
140‧‧‧虛擬高特權模式
200‧‧‧電腦系統
205‧‧‧硬體
210‧‧‧處理器
215‧‧‧虛擬機器監視器
220‧‧‧特權域
225‧‧‧BIOS.v
230‧‧‧訪客域
235‧‧‧VBIOS
240‧‧‧VSMM
245‧‧‧韌體
250‧‧‧BIOS
255‧‧‧EFI
260‧‧‧虛擬設備
300‧‧‧方法
305-315‧‧‧步驟
400‧‧‧方法
402-420‧‧‧步驟
500‧‧‧電腦系統
505‧‧‧處理器
510‧‧‧控制器集線器
515‧‧‧電腦可讀式媒體
516‧‧‧電腦可讀式媒體
520‧‧‧圖形控制器
530‧‧‧顯示器
535‧‧‧鍵盤
540‧‧‧滑鼠
545‧‧‧感測器
圖1係依據一虛擬高特權模式之一範例實施例之一電腦系統的一方塊圖;圖2係依據一虛擬高特權模式之一範例實施例之一電腦系統的一方塊圖;圖3係依據一範例實施例之處理系統管理請求之方法 的一流程圖;圖4係依據一範例實施例之處理系統管理請求之方法的一流程圖;以及圖5係依據一電腦可讀式媒體之一範例實施例之一電腦系統的一方塊圖。
100‧‧‧電腦系統
105‧‧‧硬體
110‧‧‧處理器
115‧‧‧虛擬機器監視器
120‧‧‧特權域(信賴域)
125‧‧‧信賴執行時間BIOS
130‧‧‧訪客域
135‧‧‧VBIOS
140‧‧‧虛擬高特權模式

Claims (12)

  1. 一種電腦系統,其包含:一處理器;用來管理一信賴域之一虛擬機器監視器;以及在該信賴域中用來處理一系統管理請求以改變一系統組態之一虛擬高特權模式;其中該處理器不會進入一系統管理模式。
  2. 如請求項1之系統,其中該虛擬高特權模式係用來處理一系統管理請求之一虛擬系統管理中斷模式。
  3. 如請求項1之系統,其中該虛擬高特權模式係一虛擬設備。
  4. 如請求項1之系統,其中該虛擬機器監視器或特權域包括該虛擬高特權模式。
  5. 如請求項1之系統,其中該系統管理請求係下述其中一種:被虛擬基本輸入輸出系統(vBIOS)接收、被提供給一視窗管理實作(WMI)包裝函式中之該虛擬高特權模式、以及被一遠端程序呼叫(RPC)提供給該虛擬高特權模式。
  6. 一種處理電腦系統中系統管理請求之方法,其包含下列步驟:利用一虛擬機器監視器管理用於一虛擬高特權模式以接收一系統管理請求之一信賴域;避免該系統管理請求起始一處理器之一系統管理模式;於一虛擬高特權模式環境中處理該系統管理請求;以及改變一系統組態。
  7. 如請求項6之方法,其中該虛擬機器監視器改變一訪客域不可用之該系統組態。
  8. 如請求項6之方法,其進一步包含從一訪客域發佈一系統管理中斷。
  9. 如請求項8之方法,其中該域係一訪客域或特權域。
  10. 一種包含有程式碼之電腦可讀媒體,該程式碼在由一處理器所執行時會造成一電腦系統進行下列動作:利用一虛擬機器監視器管理一信賴域;藉由該信賴域中之一虛擬高特權模式環境接收一系統管理請求;避免該系統管理請求起始一處理器之一系統管理模式;於該虛擬高特權模式環境中處理該系統管理請求;以及改變在一訪客域不可用之一系統組態。
  11. 如請求項10之電腦可讀媒體,其進一步包含執行時會造成一電腦裝置進行下列動作之程式碼:將該系統管理請求從一虛擬基本輸入輸出系統(vBIOS)進送至一虛擬高特權模式。
  12. 如請求項10之電腦可讀媒體,其進一步包含執行時會造成一電腦裝置進行下列動作之程式碼:產生一域來發佈該系統管理請求;其中該域係一訪客域或特權域。
TW101131338A 2011-08-30 2012-08-29 用於系統管理請求之虛擬高特權模式 TWI616818B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/US2011/049677 WO2013032442A1 (en) 2011-08-30 2011-08-30 Virtual high privilege mode for a system management request
??PCT/US11/49677 2011-08-30

Publications (2)

Publication Number Publication Date
TW201319946A TW201319946A (zh) 2013-05-16
TWI616818B true TWI616818B (zh) 2018-03-01

Family

ID=47756679

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101131338A TWI616818B (zh) 2011-08-30 2012-08-29 用於系統管理請求之虛擬高特權模式

Country Status (8)

Country Link
US (1) US10303501B2 (zh)
JP (1) JP6063941B2 (zh)
CN (1) CN103748552A (zh)
BR (1) BR112014003390A2 (zh)
DE (1) DE112011105577T5 (zh)
GB (1) GB2507226B (zh)
TW (1) TWI616818B (zh)
WO (1) WO2013032442A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112011105752T5 (de) * 2011-10-21 2014-10-02 Hewlett-Packard Development Company, L.P. Webbasierte Schnittstelle zum Zugriff auf eine Funktion eines Basic Input/Output-Systems
TWI533220B (zh) * 2012-03-19 2016-05-11 緯創資通股份有限公司 虛擬系統管理模式裝置以及其控制方法
TW201437803A (zh) * 2013-03-21 2014-10-01 Hon Hai Prec Ind Co Ltd 計算設備硬體功能擴充系統及方法
CN109063467A (zh) * 2013-05-27 2018-12-21 华为终端(东莞)有限公司 系统功能调用的方法、装置及终端
CN105683862B (zh) * 2013-11-29 2019-11-05 英特尔公司 计算设备中的功率管理
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
CN104035409B (zh) * 2014-06-04 2017-02-01 国家电网公司 一种面向建筑楼宇能源优化运行的需求响应系统
WO2015187175A1 (en) * 2014-06-06 2015-12-10 Hewlett-Packard Development Company, L.P. Action execution based on management controller action request
US20160019555A1 (en) * 2014-07-15 2016-01-21 Boles Thomas Automated system for rating employee screening practices and corporate management
CN104598842B (zh) * 2015-02-03 2018-05-01 中国电子科技集团公司第三十研究所 一种虚拟机监控器信任域分割方法
GB2539435B8 (en) * 2015-06-16 2018-02-21 Advanced Risc Mach Ltd Data processing memory access control, in which an owning process for a region of memory is specified independently of privilege level
EP3314516B1 (en) * 2016-01-26 2022-04-13 Hewlett-Packard Development Company, L.P. System management mode privilege architecture
WO2018140758A1 (en) * 2017-01-26 2018-08-02 Semper Fortis Solutions, LLC Multiple single levels of security (msls) in a multi-tenant cloud
EP3413532A1 (en) 2017-06-07 2018-12-12 Hewlett-Packard Development Company, L.P. Monitoring control-flow integrity
CN108334351A (zh) * 2017-08-31 2018-07-27 郑州云海信息技术有限公司 一种修改启动顺序的方法及装置
US11080403B1 (en) * 2018-12-19 2021-08-03 Hewlett-Packard Development Company, L.P. Securely constructing a trusted virtual environment
CN110096888B (zh) * 2019-04-18 2021-02-09 苏州浪潮智能科技有限公司 一种加快验证及分析smm安全隐患的方法及系统
US11917067B2 (en) * 2019-12-28 2024-02-27 Intel Corporation Apparatuses, methods, and systems for instructions for usage restrictions cryptographically tied with data
US11366710B1 (en) * 2021-02-23 2022-06-21 Quanta Computer Inc. Methods and systems for reducing downtime from system management mode in a computer system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200809626A (en) * 2006-04-17 2008-02-16 Microsoft Corp Creating host-level application-consistent backups of virtual machines
US7581219B2 (en) * 2002-06-07 2009-08-25 Intel Corporation Transitioning between virtual machine monitor domains in a virtual machine environment

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5230052A (en) 1990-10-01 1993-07-20 International Business Machines Corp. Apparatus and method for loading bios into a computer system from a remote storage location
US5574920A (en) 1994-10-25 1996-11-12 Microsoft Corporation Method for controlling power down of a hard disk drive in a computer
US6799316B1 (en) * 2000-03-23 2004-09-28 International Business Machines Corporation Virtualizing hardware with system management interrupts
US6766398B2 (en) * 2001-04-17 2004-07-20 International Business Machines Corporation Method for processing PCI interrupt signals in a logically partitioned guest operating system
US7124327B2 (en) * 2002-06-29 2006-10-17 Intel Corporation Control over faults occurring during the operation of guest software in the virtual-machine architecture
US7974416B2 (en) * 2002-11-27 2011-07-05 Intel Corporation Providing a secure execution mode in a pre-boot environment
EP1530339B1 (en) 2003-11-07 2008-03-05 Harman Becker Automotive Systems GmbH Method and apparatuses for access control to encrypted data services for a vehicle entertainment and information processing device
US20050114687A1 (en) * 2003-11-21 2005-05-26 Zimmer Vincent J. Methods and apparatus to provide protection for firmware resources
US7552419B2 (en) * 2004-03-18 2009-06-23 Intel Corporation Sharing trusted hardware across multiple operational environments
US7421533B2 (en) 2004-04-19 2008-09-02 Intel Corporation Method to manage memory in a platform with virtual machines
US8127098B1 (en) * 2004-05-11 2012-02-28 Globalfoundries Inc. Virtualization of real mode execution
US20060005184A1 (en) 2004-06-30 2006-01-05 Vijay Tewari Virtualizing management hardware for a virtual machine
US7757231B2 (en) 2004-12-10 2010-07-13 Intel Corporation System and method to deprivilege components of a virtual machine monitor
US7334076B2 (en) 2005-03-08 2008-02-19 Microsoft Corporation Method and system for a guest physical address virtualization in a virtual machine environment
US7937701B2 (en) * 2005-06-30 2011-05-03 Intel Corporation ACPI communication between virtual machine monitor and policy virtual machine via mailbox
US9785485B2 (en) * 2005-07-27 2017-10-10 Intel Corporation Virtualization event processing in a layered virtualization architecture
JP4542514B2 (ja) 2006-02-13 2010-09-15 株式会社日立製作所 計算機の制御方法、プログラム及び仮想計算機システム
US7840398B2 (en) 2006-03-28 2010-11-23 Intel Corporation Techniques for unified management communication for virtualization systems
US7610481B2 (en) * 2006-04-19 2009-10-27 Intel Corporation Method and apparatus to support independent systems in partitions of a processing system
US7689817B2 (en) * 2006-11-16 2010-03-30 Intel Corporation Methods and apparatus for defeating malware
US9280659B2 (en) * 2006-12-29 2016-03-08 Intel Corporation Methods and apparatus for remeasuring a virtual machine monitor
US8380987B2 (en) 2007-01-25 2013-02-19 Microsoft Corporation Protection agents and privilege modes
US20090119748A1 (en) * 2007-08-30 2009-05-07 Jiewen Yao System management mode isolation in firmware
US8522236B2 (en) * 2007-12-28 2013-08-27 Intel Corporation Method and system for establishing a robust virtualized environment
US7779305B2 (en) * 2007-12-28 2010-08-17 Intel Corporation Method and system for recovery from an error in a computing device by transferring control from a virtual machine monitor to separate firmware instructions
US8473945B2 (en) * 2007-12-31 2013-06-25 Intel Corporation Enabling system management mode in a secure system
JP2009176213A (ja) 2008-01-28 2009-08-06 Hitachi Software Eng Co Ltd ネットワークブート方式
JP2009230433A (ja) 2008-03-21 2009-10-08 Toshiba Corp ネットワークブート装置、プログラム及び方法
US8321931B2 (en) * 2008-03-31 2012-11-27 Intel Corporation Method and apparatus for sequential hypervisor invocation
US8843742B2 (en) 2008-08-26 2014-09-23 Hewlett-Packard Company Hypervisor security using SMM
CN101425027B (zh) 2008-11-20 2013-03-20 上海交通大学 基于tpm的虚拟机安全协议方法
CN101488173B (zh) * 2009-01-15 2010-10-27 北京交通大学 支持零宕机的可信虚拟域启动文件完整性度量的方法
US8166288B2 (en) * 2009-01-30 2012-04-24 Hewlett-Packard Development Company, L.P. Managing requests of operating systems executing in virtual machines
US8127124B2 (en) * 2009-03-19 2012-02-28 Hewlett-Packard Development Company, L.P. Remote configuration of computing platforms
JP2011076505A (ja) 2009-09-30 2011-04-14 Brother Industries Ltd 情報処理システム及び情報処理方法
JP5458899B2 (ja) 2010-01-12 2014-04-02 富士通株式会社 仮想計算機、遠隔起動プログラム、遠隔起動方法及び仮想計算機システム
US8977842B1 (en) 2010-02-05 2015-03-10 Symantec Corporation Hypervisor enabled secure inter-container communications
US8429276B1 (en) 2010-10-25 2013-04-23 Juniper Networks, Inc. Dynamic resource allocation in virtual environments
US8909785B2 (en) * 2011-08-08 2014-12-09 International Business Machines Corporation Smart cloud workload balancer
CN103748556B (zh) 2011-08-30 2018-02-02 惠普发展公司,有限责任合伙企业 与虚拟受信任运行时bios通信

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7581219B2 (en) * 2002-06-07 2009-08-25 Intel Corporation Transitioning between virtual machine monitor domains in a virtual machine environment
TW200809626A (en) * 2006-04-17 2008-02-16 Microsoft Corp Creating host-level application-consistent backups of virtual machines

Also Published As

Publication number Publication date
BR112014003390A2 (pt) 2017-02-21
GB2507226A (en) 2014-04-23
US20150040130A1 (en) 2015-02-05
US10303501B2 (en) 2019-05-28
WO2013032442A1 (en) 2013-03-07
DE112011105577T5 (de) 2014-05-08
GB2507226B (en) 2020-04-22
TW201319946A (zh) 2013-05-16
JP2014527674A (ja) 2014-10-16
JP6063941B2 (ja) 2017-01-18
GB201401986D0 (en) 2014-03-19
CN103748552A (zh) 2014-04-23

Similar Documents

Publication Publication Date Title
TWI616818B (zh) 用於系統管理請求之虛擬高特權模式
Lentz et al. Secloak: Arm trustzone-based mobile peripheral control
JP4903257B2 (ja) セキュアなオペレーティングシステムのスイッチング
US9026824B2 (en) Establishing power save mode in hypervisor system
JP5174110B2 (ja) 自動化されたモジュール型のセキュアな起動ファームウェアの更新
JP5881835B2 (ja) 基本入出力システム(bios)の機能にアクセスするウェブベースのインターフェース
KR101920980B1 (ko) 멀티-운영 체제 디바이스들에 대한 액세스 격리
US20110072254A1 (en) Method and system for secured dynamic bios update
JP6530723B2 (ja) コンピュータシステム内における複数のハイパーバイザーの共同運用を容易にするためのシステムおよび方法
US10360386B2 (en) Hardware enforcement of providing separate operating system environments for mobile devices
JP5885851B2 (ja) 特権ドメインでの基本入出力システム(bios)機能の提供
WO2018039967A1 (zh) 虚拟机切换方法、装置、电子设备和计算机程序产品
US20130297924A1 (en) Method of running multiple operating systems on an x86-based computer
US10430589B2 (en) Dynamic firmware module loader in a trusted execution environment container
CN113826072B (zh) 系统管理模式中的代码更新
EP2433238B1 (en) Systems and methods of determining a trust level from system management mode
JP6396502B2 (ja) ファームウェアセンサレイヤ
US11188640B1 (en) Platform firmware isolation
JP2022549774A (ja) ブートローダ用のセキュアバッファ
US11995452B2 (en) Firmware memory map namespace for concurrent containers
US20230418947A1 (en) Pre-boot context-based security mitigation
GB2546801A (en) Disk encryption

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees