CN103748552A - 用于***管理请求的虚拟高特权模式 - Google Patents

用于***管理请求的虚拟高特权模式 Download PDF

Info

Publication number
CN103748552A
CN103748552A CN201180072971.1A CN201180072971A CN103748552A CN 103748552 A CN103748552 A CN 103748552A CN 201180072971 A CN201180072971 A CN 201180072971A CN 103748552 A CN103748552 A CN 103748552A
Authority
CN
China
Prior art keywords
virtual
system management
territory
management request
pattern
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN201180072971.1A
Other languages
English (en)
Inventor
瓦柳丁·Y·阿里
约瑟·保罗·泽维尔·皮雷斯
詹姆斯·M·曼
波利斯·巴拉切夫
克里斯·I·道尔顿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN103748552A publication Critical patent/CN103748552A/zh
Pending legal-status Critical Current

Links

Images

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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • 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)
  • Hardware Redundancy (AREA)
  • Storage Device Security (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的一部分),通常在相对高特权模式下运行SMI处理器程序,以执行不同功能。
可存在与进入SMM模式来执行BIOS功能相关的多种问题。首先,由于OS运行被暂停,所以不能进行正常的电子设备操作。另外,在处理器或处理器核(多个处理器或多个处理器核)在SMM模式期间被禁用的电子设备中,该电子设备的处理能力的一部分被临时解激活,这意味着这样的处理能力的一部分不可用来执行其它任务。而且,可能难以预测SMM处理会花费多长时间,这可导致电子设备操作中的不确定性。此外,由于特定BIOS功能可能花费相对长的一段时间来完成(例如大约数分钟),所以状态信息也许不可由电子设备的用户利用,这可造成用户的不安体验,这是因为用户不能够断定电子设备是否正在正常工作。
安全也可能是个问题,因为恶意软件可能在SMM操作期间进行攻击,这可能造成***出错。为避免对SMM操作的任何这样攻击而采取的安全手段能够引起电子设备的设计方面的增加的复杂度。这样的安全手段的示例包括锁定特定存储区域,该特定存储区域包括寄存器和/或诸如闪存设备或其它类型的可编程只读存储器之类的非易失性存储器的一部分。另外,安全手段可以对特定BIOS功能(如BIOS代码更新)的性能带来约束,这可能迫使这样的BIOS功能仅在特定时刻(如***重启动时)执行。
在SMM中经常执行的多种功能的示例能够包括下面中任一种或下面的组合:更新BIOS代码的服务;访问或修改BIOS的设置的服务;执行热管理(例如控制冷却设备,如电子设备中的风扇)的热管理服务;电源管理服务(移除或恢复对特定硬件组件的供电);使电子设备在不同的供电状态之间转变的服务(例如休眠状态、睡眠状态、完全开启状态等);处理电子设备的按键或按键序列的激活(这包括激活多个按键的某一组合)的服务(例如开启/关闭无线接口组件的按键、执行某一预限定任务的热键序列等等);与电子设备的环境光传感器(用于检测电子设备周围的环境光)关联的服务;改变电子设备中的硬件组件的设置的服务;改变电子设备的可启动设备的启动顺序的服务;用于处理OS和BIOS之间的特定一类调用(例如中断15调用)的服务;运行嵌入式控制器的命令的服务;以及在特定条件下支持合法***设备(例如通用串行总线设备)的服务。
尽管上面列出多个示例BIOS功能,但是注意到在其它实现方式中能够使用其它或可替代的BIOS功能。
根据一些实现方式,为了更稳健的***行为,可在电子设备的特权域(privileged domain)中提供BIOS的功能,其中特权域是电子设备的相对安全的并且具有不可由电子设备中的其它实体利用的特定预限定特权的域。一般来说,“特权域”指具有预限定的特权的域,该预限定的特权允许该域内的实体执行电子设备中其它实体(例如OS、应用程序等)不被允许执行的功能。另外,特权域还具有安全机制,以保护该特权域不受未被授权的访问或攻击影响。
通过将SMM模式的功能移动至虚拟高特权模式,电子设备不必进入SMM模式来执行已经被移动到虚拟高特权模式的这样BIOS功能。在一些实现方式中,能够从硬件中完全消除SMM操作。在其它实现方式中,仍能够启用SMM操作来执行特定BIOS功能,同时通过虚拟高特权模式执行剩余的BIOS功能。
特权域的示例包括下面中的任一种或某一组合:域“0”,其经常是由执行管理任务的虚拟机监视器(还被称为管理程序(hypervisor))启动的第一域;虚拟机监视器(或管理程序)的一部分;来宾虚拟机,具有预限定的设置以向该来宾虚拟机提供增强的特权和/或安全;或者电子设备中具有预限定的特殊特权和/或安全机制的另一类型的域。安全的特权域能够包括受信任的运行时BIOS,该受信任的运行时BIOS可包括用于安全地处理***管理指令的虚拟高特权模式,而不必具有在与虚拟机监视器的对等层次上的组件(如***管理模式转换监视器),以使虚拟高特权模式与其它域分离以及保护虚拟高特权模式不受其它域影响。
“虚拟机”(还被称为“虚拟装置”或“虚拟分割”)指为对物理机器进行虚拟化或模拟而提供的物理机器(电子设备)的某一部分或片段。从用户或应用的角度看,虚拟机看上去像物理机器。虚拟机包括操作***(被称为来宾操作***)以及至少一个应用程序。
还被称为管理程序的虚拟机监视器(VMM)管理电子设备的包括硬件组件在内的物理资源中由虚拟机进行的分配。VMM对物理资源进行虚拟化。每个虚拟机具有由VMM管理的关联的虚拟化物理资源。VMM处理对物理资源的请求。
参考附图,图1是根据虚拟高特权模式的示例实现方式的计算***的框图。计算***100可包括处理器110。处理器110是计算***100的硬件105的一部分。处理器110可以是通用处理器或专用处理器。作为示例,硬件105还能够包括:I/O设备、易失性存储器、从存储、闪存、网络接口控制器、图形适配器等。该***可包括虚拟机监视器115,以管理硬件组件的物理资源和虚拟化物理资源。计算***包括附接至来宾域(guest domain)130的虚拟基本输入输出***(vBIOS)135。来宾域130是可以运行诸如微软视窗、Linux、Unix或别的操作***之类的操作***的虚拟机。
在一些示例中,特权域120是域“0”,其是在***启动时由VMM102启动的管理域并且具有增强的特权和安全机制。由域“0”执行的任务的示例包括创建和配置来宾域。域“0”和来宾域中的每个域均被认为是对应的虚拟机。特权域120能够与VMM115分离。在替代实现方式中,特权域120能够是VMM115的一部分。在这样的替代实现方式中,受信任的运行时BIOS功能125是VMM115的一部分。特权域120在其由受信任的VMM115生成或管理时可以是受信任的域(trusted domain)。
在特权域120中提供BIOS功能125实现“云中的BIOS”,该“云中的BIOS”还被称为“受信任的运行时BIOS125”或BIOS.v。“云(cloud)”可以指特权域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是根据虚拟高特权模式的示例实现方式的计算***的框图。计算***200可包括处理器210。处理器210是计算***200的硬件205的一部分。该硬件可包括固件245,固件245可以包括基本输入/输出***(BIOS)250以及可扩展固件接口(EFI)255。BIOS250可以被称为物理BIOS。“物理BIOS”指驻留在诸如闪存或其它可编程的只读存储器之类的非易失性存储器内的并且应当在计算***200启动时运行的BIOS代码。在一些实现方式中,物理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知道并且信任该物理BIOS正在启动的主运行时实体(VMM215),并且BIOS信任的VMM有能力捕获并且关闭除那些来自特权域以外的所有I/O请求(访问BIOS功能的I/O请求)。在一些实现方式中,能够提供BIOS核验机制来验证要被计算***启动的VMM的来源。这样的核验机制允许管理员或其它用户指定在计算***中只能够启动经验证的VMM。核验机制确保计算***内的VMM映像未被恶意修改,并且该VMM能够是可信的。物理BIOS能够核验VMM图像,并且确保用事先已经规定的已知一组受控操作设置启动该VMM。然后,该VMM可以生成并管理虚拟高特权模式240来处理受信任环境内的***管理请求,而不导致硬件205进入***管理模式。
在核验已经启动了经验证的VMM以后,然后物理BIOS能够推迟或省略物理BIOS会正常执行的多种安全手段的执行,以防止被未经验证的或恶意的代码破坏。例如,物理BIOS能够选择不锁定BIOS快闪寄存器和/或闪存的多个部分。
在一些实现方式中,在计算***200中内部地提供受信任的运行时BIOS225,然而受信任的运行时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)之类的光学介质,或其它类型的存储设备。注意,上面论述的软件的指令能够提供在一个计算机可读存储介质或机器可读存储介质上,或者可替代地,可以提供在分布于可能具有多个节点的大型***中的多个计算机可读存储介质或机器可读存储介质上。这种计算机可读存储媒介或介质或机器可读存储媒介或介质被认为是物品(或制品)的一部分。物品或制品可指任意被制造的单个部件或多个部件。存储介质或存储媒介能够位于运行该机器可读指令的机器内或者位于能够通过网络下载用于运行的机器可读指令的远程位置。
在前面的描述中,阐述许多细节,以提供对本文公开的主题的理解。然而,实现方式可以在没有这些细节中的一些细节或全部细节的条件下实践。其它实现方式可以包括上面介绍的细节的改变和变型。意在所附权利要求覆盖上述改变和变型。

Claims (15)

1.一种计算***,包括:
处理器;
虚拟机监视器,管理受信任的域;以及
所述受信任的域中的虚拟高特权模式,处理***管理请求。
2.根据权利要求1所述的***,其中所述虚拟高特权模式是处理***管理请求的虚拟***管理中断模式。
3.根据权利要求1所述的***,其中所述处理器不进入***管理模式。
4.根据权利要求1所述的***,其中所述虚拟高特权模式是虚拟应用。
5.根据权利要求1所述的***,其中所述虚拟机监视器或所述特权域包括所述虚拟高特权模式。
6.根据权利要求1所述的***,其中所述***管理请求是由在视窗管理规范(WMI)包装内向所述虚拟高特权模式提供的虚拟基本输入输出***(vBIOS)接收的或者是通过远程过程调用(RPC)向所述虚拟高特权模式提供的虚拟基本输入输出***(vBIOS)接收的。
7.一种处理计算***中的***管理请求的方法,包括:
由虚拟机监视器管理受信任的域以使虚拟高特权模式接收***管理请求;
防止所述***管理请求发起***管理模式;以及
在虚拟高特权模式环境中处理所述***管理请求。
8.根据权利要求7所述的方法,进一步包括改变***配置。
9.根据权利要求8所述的方法,其中所述虚拟机监视器改变不可由来宾域利用的***配置。
10.根据权利要求7所述的方法,进一步包括从来宾域发出***管理中断。
11.根据权利要求10所述的方法,其中所述域是来宾域或特权域。
12.一种计算机可读介质,包括如果被处理器运行则致使计算***执行下述步骤的代码:
用虚拟机监视器管理受信任的域;
在所述受信任的域中由虚拟搞特权模式环境接收***管理请求;
防止所述***管理请求发起***管理模式;以及
在所述虚拟高特权模式环境中处理所述***管理请求。
13.根据权利要求12所述的计算机可读介质,进一步包括如果被运行则致使计算设备执行以下步骤的代码:
改变不可由来宾域利用的***配置。
14.根据权利要求12所述的计算机可读介质,进一步包括如果被运行则致使计算设备执行以下步骤的代码:
将所述***管理请求从虚拟基本输入输出***(vBIOS)转发至虚拟高特权模式。
15.根据权利要求12所述的计算机可读介质,进一步包括如果被运行则致使计算设备执行以下步骤的代码:
生成域来发出所述***管理请求,其中所述域是来宾域或特权域。
CN201180072971.1A 2011-08-30 2011-08-30 用于***管理请求的虚拟高特权模式 Pending CN103748552A (zh)

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
CN103748552A true CN103748552A (zh) 2014-04-23

Family

ID=47756679

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180072971.1A Pending CN103748552A (zh) 2011-08-30 2011-08-30 用于***管理请求的虚拟高特权模式

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)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324528A (zh) * 2012-03-19 2013-09-25 纬创资通股份有限公司 虚拟***管理模式装置及其控制方法
CN104035409A (zh) * 2014-06-04 2014-09-10 国家电网公司 一种面向建筑楼宇能源优化运行的需求响应***
CN104598842A (zh) * 2015-02-03 2015-05-06 中国电子科技集团公司第三十研究所 一种虚拟机监控器信任域分割方法
CN108292339A (zh) * 2016-01-26 2018-07-17 惠普发展公司,有限责任合伙企业 ***管理模式特权架构
CN108334351A (zh) * 2017-08-31 2018-07-27 郑州云海信息技术有限公司 一种修改启动顺序的方法及装置
CN110096888A (zh) * 2019-04-18 2019-08-06 苏州浪潮智能科技有限公司 一种加快验证及分析smm安全隐患的方法及***

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IN2014DN03053A (zh) * 2011-10-21 2015-05-08 Hewlett Packard Development Co
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
US10691440B2 (en) * 2014-06-06 2020-06-23 Hewlett Packard Enterprise Development Lp 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
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
JP7393209B2 (ja) * 2017-01-26 2023-12-06 センパー フォーティス ソリューションズ リミテッド ライアビリティ カンパニー マルチテナントクラウドにおける複数のシングルレベルセキュリティ(msls)
EP3413532A1 (en) 2017-06-07 2018-12-12 Hewlett-Packard Development Company, L.P. Monitoring control-flow integrity
US11080403B1 (en) * 2018-12-19 2021-08-03 Hewlett-Packard Development Company, L.P. Securely constructing a trusted virtual environment
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101425027A (zh) * 2008-11-20 2009-05-06 上海交通大学 基于tpm的虚拟机安全协议方法及***
CN101488173A (zh) * 2009-01-15 2009-07-22 北京交通大学 支持零宕机的可信虚拟域启动文件完整性度量的方法
US7581219B2 (en) * 2002-06-07 2009-08-25 Intel Corporation Transitioning between virtual machine monitor domains in a virtual machine environment

Family Cites Families (39)

* 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
DE60319542T2 (de) 2003-11-07 2009-04-02 Harman Becker Automotive Systems Gmbh Verfahren und Vorrichtungen für die Zugangskontrolle zu verschlüsselten Datendiensten für ein Unterhaltungs- und Informationsverarbeitungsgerät in einem Fahrzeug
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
US7962909B1 (en) * 2004-05-11 2011-06-14 Globalfoundries Inc. Limiting guest 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
US8321377B2 (en) 2006-04-17 2012-11-27 Microsoft Corporation Creating host-level application-consistent backups of virtual machines
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
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
US8522236B2 (en) * 2007-12-28 2013-08-27 Intel Corporation Method and system for establishing a robust virtualized environment
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
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
JP5809362B2 (ja) 2011-08-30 2015-11-10 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. 仮想トラステッドランタイムbiosとの通信

Patent Citations (3)

* 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
CN101425027A (zh) * 2008-11-20 2009-05-06 上海交通大学 基于tpm的虚拟机安全协议方法及***
CN101488173A (zh) * 2009-01-15 2009-07-22 北京交通大学 支持零宕机的可信虚拟域启动文件完整性度量的方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324528A (zh) * 2012-03-19 2013-09-25 纬创资通股份有限公司 虚拟***管理模式装置及其控制方法
CN104035409A (zh) * 2014-06-04 2014-09-10 国家电网公司 一种面向建筑楼宇能源优化运行的需求响应***
CN104035409B (zh) * 2014-06-04 2017-02-01 国家电网公司 一种面向建筑楼宇能源优化运行的需求响应***
CN104598842A (zh) * 2015-02-03 2015-05-06 中国电子科技集团公司第三十研究所 一种虚拟机监控器信任域分割方法
CN104598842B (zh) * 2015-02-03 2018-05-01 中国电子科技集团公司第三十研究所 一种虚拟机监控器信任域分割方法
CN108292339A (zh) * 2016-01-26 2018-07-17 惠普发展公司,有限责任合伙企业 ***管理模式特权架构
CN108292339B (zh) * 2016-01-26 2022-02-11 惠普发展公司,有限责任合伙企业 ***管理模式特权架构
CN108334351A (zh) * 2017-08-31 2018-07-27 郑州云海信息技术有限公司 一种修改启动顺序的方法及装置
CN110096888A (zh) * 2019-04-18 2019-08-06 苏州浪潮智能科技有限公司 一种加快验证及分析smm安全隐患的方法及***

Also Published As

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

Similar Documents

Publication Publication Date Title
CN103748552A (zh) 用于***管理请求的虚拟高特权模式
US11520894B2 (en) Verifying controller code
US10684865B2 (en) Access isolation for multi-operating system devices
CN103890716B (zh) 用于访问基本输入/输出***的功能的基于网页的接口
TWI559167B (zh) 統一可延伸韌體介面(uefi)相容計算裝置和用於在uefi相容計算裝置中管控一安全啓動之方法
KR101335837B1 (ko) 도난 방지 플랫폼의 복원을 위한 방법 및 장치
US10032029B2 (en) Verifying integrity of backup file in a multiple operating system environment
US20160203313A1 (en) Method and apparatus for modifying a computer program in a trusted manner
CN103890715A (zh) 路由器和虚拟受信任运行时bios
WO2018039967A1 (zh) 虚拟机切换方法、装置、电子设备和计算机程序产品
JP2007528083A (ja) 協調型組込みエージェント
CN103890717A (zh) 在特权域中提供基本输入/输出***(bios)的功能
WO2017105706A1 (en) Processor state integrity protection using hash verification
US10664573B2 (en) Computing apparatus and method with persistent memory
US10656959B2 (en) Shutting down of a virtual system
CN109154895A (zh) 上下文数据控制
US11914715B2 (en) Device unit suitable for operation in a protected and/or open operating state and associated method
TW201243641A (en) Antivirus operation system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140423