CN104885057B - 虚拟化计算系统中隔离的客创建 - Google Patents

虚拟化计算系统中隔离的客创建 Download PDF

Info

Publication number
CN104885057B
CN104885057B CN201280075397.XA CN201280075397A CN104885057B CN 104885057 B CN104885057 B CN 104885057B CN 201280075397 A CN201280075397 A CN 201280075397A CN 104885057 B CN104885057 B CN 104885057B
Authority
CN
China
Prior art keywords
visitor
privileged
smm
highly privileged
manager
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.)
Expired - Fee Related
Application number
CN201280075397.XA
Other languages
English (en)
Other versions
CN104885057A (zh
Inventor
W·M·维塞曼
K·布兰诺克
B·德加多
J·J·姚
V·滋姆默
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN104885057A publication Critical patent/CN104885057A/zh
Application granted granted Critical
Publication of CN104885057B publication Critical patent/CN104885057B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • 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/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • 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/45562Creating, deleting, cloning virtual machine instances
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

本公开针对的是虚拟化计算系统中的隔离的客创建。计算装置中的存储器可以被分为隔离的执行环境,允许一些软件(例如,客)在高特权执行环境中被隔离。低特权执行环境的虚拟机管理器(VMM)可以发布命令至高特权执行环境的VMM,以便例如使低特权执行环境中加载的客被放置于高特权执行环境中,与高特权执行环境中的客进行交互,使客从高特权执行环境中被移除等等。客可以包括属性,其配置成控制客行为,譬如,例如,何时执行活动。如何响应从高特权执行环境的VMM接收到的停止命令等等。

Description

虚拟化计算系统中隔离的客创建
技术领域
本公开涉及计算机安全,并且更具体地涉及用于允许较低特权实体将客(guest)放置于较高特权执行环境中的系统。
背景技术
计算装置中当前的安全模式可以经由分离来尝试保护对于装置操作为关键的软件。例如,譬如在虚拟机环境中,例如,在合并在由英特尔公司提供的很多处理器上的虚拟化技术(VT)功能性中,一个或多个机器管理器可以控制在不同操作环境中操作的虚拟机。例如,VT定义首要的监视器模式,其中虚拟机管理器(VMM)或监管器(HV)能够降低客操作系统(OS)的特权。相似地,VT还提供能够降低SMI处理机(handler)特权的系统管理模式传输监视器(STM),使得其在系统管理模式(SMM)下作为STM的客来运行。SMM可发起于处理器当前的状态被保存并且所有其它进程被停止。高特权操作可以随后被执行,譬如,例如,排错、硬件管理、安全功能、仿真等等,随后计算装置基于保存的状态恢复操作。一旦发生系统模式中断(SMI),计算装置可以进入SMM。
在一些情况下,VMM或HV可以通过第三方供应商来提供。在这样的情况下,验证这些程序是否已经被更改或甚至已经被另一程序(例如,恶意软件)破坏是具有挑战性的。当前的系统拥有在加载之前“测量”程序的能力,其通过散列可以提供软件身份/版本的一些指示。然而,即使通过测量,也不能保证这些高特权程序就不会尝试恶意的事务。正常的执行环境中通过程序进行对等监视可能是受到损害的,因为VMM或HV保持最高的特权。在SMM期间可存取的分离的存储器空间是存在的(例如,SMRAM)。该SMRAM保持其自己的VMM,称为SMI传输监视器(STM)。尽管SMRAM可以提供安全的操作环境,其能够容纳将获益于SMRAM隔离的各种程序,但当前的STM架构仅允许BIOS SMM客和SMI客,譬如测量的启动环境(MLE)SMM客。
附图说明
要求权利的主题的各种实施例的特征和优点随着以下详细描述的进行并在参考附图时将变得显而易见,附图中相似的数字指明相似的部分,其中:
图1示出了依照本公开的至少一个实施例的配置用于虚拟化计算系统中隔离的客创建的示例装置;
图2示出了依照本公开的至少一个实施例的用于隔离的客的示例配置;
图3示出了依照本公开的至少一个实施例的示例命令和属性;
图4示出了依照本公开的至少一个实施例的受信任的对等监视器和完整性检查的示例;
图5示出了依照本公开的至少一个实施例的用于虚拟化计算系统中隔离的客创建的示例操作的流程图;以及
图6示出了根据本公开的至少一个实施例的用于属性处置的示例操作的流程图。
尽管以下的详细描述将对示出的实施例做出的参考来继续,但许多其备选、修改和变形对于本领域技术人员来说是显而易见的。
具体实施方式
本公开针对的是虚拟化计算系统中的隔离的客创建。计算装置中的存储器被划分为隔离的执行环境,允许一些软件(例如,客)能够在高特权执行环境中被隔离。低特权执行环境的虚拟机管理器(例如,MLE)可以配置成向高特权执行环境的VMM(例如,STM)发布命令,例如,使低特权执行环境中加载的客被放置于高特权执行环境中,在高特权执行环境中与客进行交互,使客从高特权执行环境中被移除等等。客可以包括属性,其配置成控制客行为,譬如,例如,何时执行动作,怎样响应从MLE接收到的停止命令等等。
在一个实施例中,装置可包括存储器模块和处理模块。存储器模块可以被配置为包括高特权执行环境和低特权执行环境。在当处理模块装备有VT时的情况下,高特权执行空间可对应于SMM期间可存取的SMRAM。处理模块可以配置成,例如,执行低特权管理器(LP管理器),其配置成控制低特权执行环境的操作。LP管理器还可以配置成,例如,使配置成控制高特权执行环境操作的高特权管理器(HP管理器)将至少一个客放置于高特权执行环境中。
在基于VT实现的示例中,LP管理器可以是MLE,并且HP管理器可以是STM。MLE可配置成最初从BIOS镜像(例如,统一可扩展固件接口(UEFI)代码),经由网络连接的另一个装置或装置中的数据存储组件(例如,闪存,磁盘驱动器等等)当中的至少一个来获得所述至少一个客。客可以是不同于当前定义的BIOS SMM客或SMI客(例如,MLE)的SMM客。MLE于是可以发布命令至STM,以从低特权执行环境加载所述至少一个客至高特权执行环境中。MLE仍然可以经由至STM的命令与所述至少一个客进行交互,并且至STM的另一个命令可以从高特权执行环境销毁和移除所述至少一个客(例如,以使得在SMRAM中空间可用)。
在一个实施例中,所述至少一个客可以被配置为包括报头、主体、签名和属性(例如,SMM客属性)。签名可以允许MLE和/或STM验证客是合法的(例如,不是恶意软件和/或得到许可的)。属性可以包含至少一个比特,其配置成控制所述至少一个客的行为。例如,比特可以在属性中被设置,以指示所述至少一个客应该持续周期性地执行活动(例如,以防止被破坏的MLE中断周期性的对等监视功能性)。可以单独使用或与上述联合使用的属性中另外的比特可以向所述至少一个客指示从STM接收的指示所述至少一个客中断操作的命令应当被忽略(例如,以便防止被破坏的MLE中断对等监视功能性)。
图1示出了依照本公开的至少一个实施例的示例装置,其被配置用于虚拟化计算系统中隔离的客创建。装置100的一些示例可以包括,但不限于,譬如基于操作系统(OS)、OS、OS、OS等等的蜂窝式手机或智能电话机之类的移动通信装置,譬如像GalaxyKindle等等的平板计算机、包括由英特尔公司制造的低功率芯片组的网络本、笔记本计算机、膝上型计算机等等的移动计算装置,譬如桌面型计算机、服务器计算机等等的典型固定计算装置。
示例装置100可以包含例如主机102,其配置成处置装置100的基准操作。主机102可以包括例如处理模块104、桥接模块106、存储器模块108和其它模块110。处理模块102可以包含被置于分立组件中的一个或多个处理器,或备选的是,包含于例如芯片上系统(SOC)配置中布置的单个集成电路(IC)中的一个或多个处理核。示例处理器可以包括自英特尔公司可得到的各种基于x86的微处理器,包括奔腾、至强、安腾、赛扬、Atom、酷睿i系列产品家族中的那些微处理器。桥接模块106可以包括配置成支持处理模块104的电路。示例电路可以包括接口/桥接芯片组(例如,IC组),譬如北桥、南桥、或随后由英特尔公司发行的桥接芯片组,其可以配置成处置处理模块104、存储器模块108和在装置100中使用各种总线通信的其它模块110之间的通信。例如,桥接模块106可以配置成通过从一种类型/速度的通信转换为另一种来处置各种模块之间的信令,并且还可配置成与各种不同的装置兼容以允许不同的系统实现、升级等等。桥接模块106的一些功能性还可以合并入处理模块104、存储器模块108或其它模块110。
处理模块104配置成执行指令。指令可以包括配置成使处理模块104执行活动的程序代码,所述活动譬如但不限于读取数据、写入数据、处理数据、公式化数据、转换数据、变换数据等等。包括指令、数据等等的信息可以被存储在存储器模块204中。存储器模块108可包含固定或可移除形式的随机存取存储器(RAM)或只读存储器(ROM)。RAM可以包括配置成在装置100的操作期间保存信息的存储器,譬如,例如,静态RAM(SRAM)或动态RAM(DRAM)。ROM可以包括譬如配置成当装置100激活时提供指令的计算装置bios存储器之类的存储器、譬如电子可编程ROM(EPROMS)、闪存等等的可编程存储器。其它的固定和/或可移除的存储器可以包括譬如软盘、硬盘驱动器等等的磁存储器、譬如固态闪存存储器(例如,eMMC等等)的电子存储器、可移除的存储卡或棒(例如USB,uSD等等)、譬如压缩型基于光盘的ROM(CD-ROM)的光存储器、全息等等。
其它模块110可以包括针对在装置100中支持其它功能性的模块,其对于操作是有用的或可能是必须的,而对本公开是不必要的。其它模块110可以包括例如配置成向装置100供电的模块、配置成在装置100中支持有线和/或无线的通信的模块、配置成在装置100中提供用户接口特征的模块、配置成支持专门的功能性的模块等等。其它模块110的组成可以是可变的,这取决于例如外形因素、装置100被配置的用途等等。
与本公开一致的存储器模块108的实施例在108′示出。存储器模块108′可以包括例如高特权执行环境112和低特权执行环境120。高特权执行环境112中运行的软件可以能够影响装置100中其它软件的操作(例如,可以能够在低特权执行环境120中读取、写入和/或执行软件),但在低特权执行环境120中运行的软件不能够影响高特权执行环境112中运行的任何软件。高特权执行环境112可以包括例如配置成管理BIOS客116和另外的客118之操作的HP管理器114。低特权执行环境120可以包括配置成管理OS客1 124和OS客2126之操作的LP管理器122。尽管只有两个OS客124和126被示出,但与本公开相一致的实施例并不限于仅有两个客。
在至少一个实施例中,高特权执行环境112中的活动可以仅当装置100进入特定的模式时才发生。在该模式下,所有的其它处理活动可以在处理模块104中被中断,处理模块104的当前上下文可被保存,并且随后有关于高特权执行环境112的任何操作可以在装置100中返回至正常操作之前被执行。该模式可由HP管理器114配置。LP管理器122可以在高特权执行环境112中具有客,并且因此可以使用该客使HP管理器114执行各种动作。例如,软件可被(例如,在引导期间从BIOS镜像,从经由网络连接的另一装置,从闪存、硬盘驱动器等等)加载至低特权执行环境120中,并且LP管理器122随后可发送使HP管理器114将该软件加载为另外的客118的中断。LP管理器122可以发布其它中断至HP管理器114,使另外的客118执行动作或从高特权执行环境112被移除(例如,为高特权执行环境112中的其它软件腾出空间)。
另外的客118可以包含任何软件,但可能存在于高特权执行环境112中的给定空间限制可能特别适合于得益于在装置100中与其它影响隔离的程序。例如,另外的客118可包括配置成确定LP管理器122是否是安全(例如,没有病毒、损坏等等)的监视器。数字版权管理(DRM)是另外的客118的另一好应用。由高特权执行环境112提供的隔离可以支持、或者甚至是取代现有的防篡改软件方法,所述防篡改软件方法当前被用做配置成强化装置100中的许可和内容保护的“黑盒子”代码的保护。在HP管理器114的保护之下,DRM黑盒子软件可以享有隔离和可能甚至是认证(例如,代码可以在启动时被“测量”,以确认其身份)。另外的客118的其它示例还可以包括被配置用于提供备份服务、补救、易管理性、一般反病毒扫描、流传送等等的软件。
图2示出了依照本公开的至少一个实施例的用于隔离客的示例配置。重要的是注意到本文公开的一些实施例可以使用与英特尔公司制造的很多微处理器中当前可用的虚拟化技术(VT)相关的术语来解释。VT是允许多于一个虚拟机以安全和高效的方式同时共享对于物理处理资源之访问的功能性。尽管本公开使用这些术语来讨论一些实施例,但这些术语的使用仅是为了本文解释的缘故。与本公开一致的实现不限于使用该技术。例如,提供类似特征的其它硬件(例如,微处理器)和/或软件还可以以与如本文公开的各种实施例相一致的方式来采用。
在图2的示例实现中,高特权执行环境112被示为依照当前VT架构的系统管理模式随机存取存储器(SMRAM)112′。STM114′可以配置成管理BIOS SMM客116′和SMM客118′A-n的操作。在一个实施例中,LP管理器122(例如,图2中的MLE 122′)可以使STM 114′将SMM客118′A-n放置于SMRAM 112′中。备选的是,BIOS(例如,UEFI固件)可以使另外的SMM客118′A-n在引导期间被创建。无论如何,STM114′能将每一个SMM客118′A-n放置于“沙箱”环境(例如,隔离的执行环境)中,以确保每个SMM客118′A-n不会毁掉引导期间创建的安全界限。例如,STM114′可调和所有存储器和SMM客118′A-n的I/O存取,以确保对等容器(例如,SMRAM112′中的其它客)和MLE 122′的安全主张没有被违反。因为仅有BIOS SMM 116′和MLE122′可与STM 114′进行交互,在一个实施例中SMM客118′A-n可以由MLE 122′创建。例如,SMM客二进制码可以在引导期间从BIOS镜像、从经由网络连接的另一个装置、从装置100中数据存储组件(例如,闪存、硬盘驱动器等等)加载至DRAM。MLE 122′然后可以使用某些VMCALL命令使STM 114′将之前加载至DRAM中的SMM客放置于SMRAM 112′中,创建SMM客118′A-n。备选的是,BIOS(例如,UEFI固件)可发布某些VMCALL命令至STM 114′以使SMM客118′A-n被创建。用来创建SMM客118′A-n的代码可以从UEFI固件、EFI系统分区(ESP)、跨越网络等等来获得。
SMRAM 112′现在容纳三种类型的组件:STM 114′、BIOS SMM 116′和SMM客118′A-n。每个组件可以在隔离的环境中执行。SMM客118′A-n的数量可取决于例如SMRAM 112′的尺寸。在例如SMRAM 112′中空间量被限制的情况下,MLE 122′能够使用另一特殊VMCALL命令,使STM114′在SMRAM 112′中销毁环境(例如,移除至少一个SMM客118′A-n)并且释放空间。结果,SMM客118′A-n的启动和销毁可以在OS运行时或MLE 122′请求时发生。
SMM客118′A-n的结构可包括当前STM规格中定义的STM镜像格式的一些元素。例如,至少报头和主体可以被包括,报头和主体包含譬如入口点、堆栈、gdt、段、页表、镜像尺寸、堆尺寸等等的信息。在一个实施例中,包含签名和SMM客属性的新元素也可以被加入,如图2所示。将签名添加至SMM客118′A-n的结构创建带符号的客镜像,从而允许STM 114′基于签名来验证SMM客118′A-n是否是合法的(例如,被许可的,非恶意软件等等)。在相同或不同的实施例中,现有元素“STM特征”可以重新定义为SMM客属性。SMM客属性可以用来向STM114′通知特定的SMM客118′的特殊要求,譬如要求的准许。SMM属性还可包括被设定用来控制客行为的指示符(例如,多个比特),其将进一步在图3中讨论。
图3示出了依照本公开的至少一个实施例的示例命令和属性。STM114′可配置成与MLE 122′和至少一个SMM客118′进行交互。在至少一个实施例中,命令可以从MLE 122′和SMM客118′发布,所述命令使STM 114′执行各种功能。示例命令在304公开,用于使STM 114′实行关于SMM客118′的功能。“SmmGuestStart VMCALL(MLE)”可以使STM 114′加载SMM客118′至SMRAM 112′。在STM 114′还配置成测量SMM客118′的情况下,随后STM 114′也可为SMM客118′返回识别信息至MLE 122′。“SmmGuestStop VMCALL(MLE)”可使STM 114′销毁SMM客118′(例如,从SMRAM112′移除SMM客118′)。“SmmGue stEntry VMCALL(MLE)”是到STM114′的命令,用于调用特殊的SMM客118′。该VMCALL可允许MLE 122′与SMM客118′交互。例如,MLE 122′可利用SmmGue stEnt ry VMCALL使配置用于监视(例如,反病毒和/或反恶意软件)的特定SMM客118′检查存储器模块108(例如,MleBase,MleSize)的完整性。在这种情况下,MLE 122′可向SMM客118′提供参数,譬如,例如,通用目的寄存器(例如,EBX/ECX)到完整参数(例如,MleBase,MleSize)。
命令还可以从SMM客118′发送至STM 114′,如在302示出的。例如,“SmmGuestExitVMCALL(SMMGuest)”可以从在SMM客118′中正在执行的活动退出,并且可以返回至STM114′。当在SMM期间SMM客118′要求动作时,MLE 122′能够发布SmmGuestEnt ry VMCALL命令,使SMM客118′执行动作。备选的是,MLE 122′能够让SMM客118′向STM 114′注册周期性的SmmGue stEntry,允许当STM 114′接收周期性的事件时SmmGuestEntry()自动地被调用。对于STM二进制,特殊属性比特可以被引入,如以300示出的,以保护SMM客118′的完整性。例如,如果SMM客118′被配置为MLE监视器,在当前的STM规格中被赋予MLE 122′给定高特权可能存在潜在的弱点。例如,受到损害的MLE可以能够使用SmmGuestStop()或通过不调用SmmGuestEntry()而回避测量的触发来破坏MLE监视器。为避免SmmGuest Stop()调用被用于在装置100中打破保护,SMM_GUEST_STOP_IGNORE比特在SMM客118′中被设定,以使STM114′忽略从MLE 122′接收到的SmmGuestStop()调用(例如,针对其中停止忽略比特被设定的特定SMM客118′的至少任何SmmGuestStop()调用)。在备选的情形中,SMM_GUEST_PERIODIC比特可以在SMM客118′中被设定,以使STM 114′配置SMM客118′用于周期性的操作(例如,STM 114′可以自动地发布周期性的SmmGuestEntry()调用至其中周期性比特被设定的任何SMM客118′)。当周期性比特被设定时,SMM客118′能够将心跳信息例如经由标准网络接口卡(NIC)报告到网络,或使用由英特尔公司创建的用于活动管理技术(AMT)的告警标准格式(ASF)报告到告警装置。当SMM客118′要求访问硬件资源时,MLE 122′在其经由SmmGuest Start()调用SMM客118′时可提供SmmGuestResourceList。出于隔离目的,STM114′可仅允许SMM客118′访问MLE 122′和/或可以拒绝访问STM 114′、Bios SMM客116′和/或任何其它SMM客118′。
图4示出了依照本公开的至少一个实施例的受信任的对等监视器和完整性检查的示例。在一个实施例中,STM 114′可以被配置为带有扩展页表(EPT)的受信任的对等监视器,并且至少一个SMM客118′(例如,图4中示出的专有框架中的“App”)可以被配置为用于MLE 122′的完整性检查器(例如,包括主机特权核,甚至是受信任的用户app)。该完整性检查器可配置成监视核和/或主机VMM。尽管没有示出,但在一些情况下,SMI处理机可以被给予对主机存储器的部分访问。此外,受信任的对等监视器可以打开通信缓冲器,以用于主机和受信任的app在全局平台框架中通信。例如,私有通道(例如,像共享存储器)可以开放,以支持SMM客118′与MLE 122′、主机核和/或受信任app之间的通信。
图5示出了依照本公开的至少一个实施例的用于虚拟化计算系统中隔离的客创建的示例操作的流程图。在图5中,操作500、502、506和510可以由装置中的MLE来执行,而操作504、508和512可以由装置中的STM来执行。
在操作500中,MLE可以获得SMM客,并且将其放置于装置中的低特权执行环境中。例如,SMM客可以在引导期间由BIOS镜像来加载,可以经由网络连接从另一装置或从装置中的数据存储组件(例如,闪存、硬盘驱动器等等)来取回。在操作502中,MLE可发布VMCALL命令,以将SMM客放置于高特权执行环境中。例如,MLE可发布SmmGuestStart VMCALL(MLE)命令,其使STM在操作504中将SMM客放置于高特权执行环境中。MLE随后在操作506中可使用另一个VMCALL命令来触发SMM客中的活动(例如,监视/反恶意软件功能性、许可/版权保护等等)。例如,MLE可发布SmmGuestEntry VMCALL(MLE),其可使STM在操作508中触发期望的活动。一旦确定SMM客不再被需要,MLE可以在操作510中使用VMCALL命令使SMM客从高特权执行环境被移除。例如,MLE可发布SmmGuestStop VMCALL(MLE),其可使STM在操作512中销毁SMM客。
图6示出了依照本公开的至少一个实施例的属性处置的示例操作的流程图。最初,在操作600中,STM可接收加载SMM客调用。随后在操作602中,做出关于周期指示符比特是否在SMM客中被设定的确定。如果在操作602中确定了周期性比特在SMM客中被设定,则在操作604中,STM可配置周期性比特被设定于其中的SMM客,以在周期的基础上执行某一活动(例如,监视/反恶意软件功能性、许可/版权保护等等)。
在操作604之后,或者如果在操作602中确定了周期性比特没有被设定,在操作606中,命令在STM中被接收(例如,从装置中的MLE)。随后,在操作608中可做出关于该命令是否是停止命令(例如,指示STM终止SMM客)的确定。如果在操作608中确定了命令是停止命令,则在操作610中可做出关于在SMM客中停止忽略指示符比特是否被设定的进一步确定。如果在操作610中确定了停止忽略指示符比特没有被设定,则在操作612中STM可继续终止SMM客。如果在操作610中确定了停止忽略比特被设定,则在操作616中STM可忽略停止命令。返回至操作608,如果确定了停止命令没有被接收,则在操作614中STM可执行在操作606中接收的命令中所指示的活动。
尽管图5和6示出了根据不同实施例的各种操作,但应当理解,并非所有图5和6中描绘的操作对于其它实施例来说均是必要的。实际上,本文完全可以预期,在本公开的其它实施中,图5和6描述的操作和/或本文描述的其它操作可以以任何附图未明确示出的方式来组合,但仍与本公开完全一致。因此,针对没有在一个附图中确切示出的特征和/或操作的权利要求被视为落入本公开的范围和内容之内。
如本文在任何实施例中所使用的,术语“模块”可以指的是软件,固件和/或电路,其配置成执行上述操作当中的任何一项。软件可被实施为记录在非暂时的计算机可读存储媒体上的软件包、代码、指令、指令集和/或数据。固件可以以在存储器装置中实施为硬编码(例如,非易失性的)的代码、指令或指令集和/或数据。如在本文任何实施例中所使用的“电路”可以例如单独地或以任何组合地包括硬布线的电路、可编程电路(譬如包含一个或多个单独的指令处理核的计算机处理器)、状态机电路和/或存储由可编程电路执行的指令的固件。模块可联合性地或单独地被实施为构成更大系统的部分的电路,例如,集成电路(IC)、芯片上系统(SoC)、桌面计算机、膝上型计算机、平板计算机、服务器、智能电话机等等。
本文描述的任何操作可以在包括一个或多个存储媒体的系统中实现,存储媒体具有独立地或组合地存储于其上的当由一个或多个处理器执行时执行方法的指令。此处,处理器可以包括例如服务器CPU、移动装置CPU和/或其它可编程电路。同样,意在本文描述的操作可以分布在多个物理装置上,譬如,在多于一个的不同的物理位置的处理结构。存储媒体可以包括任何类型的有形媒体,例如,包括硬盘、软盘、光盘、压缩型只读存储器盘(CD-ROM)、紧凑型可再写盘(CD-RW)和磁光盘在内的任何类型盘,譬如只读存储器(ROM)、譬如动态和静态RAM之类的随机存取存储器(RAM)、可擦写可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、固态硬盘、嵌入式多媒体卡(eMMC)、安全数字输入/输出(SDIO)卡、磁或光卡之类的半导体装置,或适合存储电子指令的任何类型的媒体。其它实施例可被实现为可编程控制装置执行的软件模块。
因此,本公开针对的是虚拟化计算系统中隔离的客的创建。计算装置中的存储器可以被分为隔离的执行环境,允许一些软件(例如,客)在高特权执行环境中被隔离。低特权执行环境的虚拟机管理器(VMM)可以发布命令至高特权执行环境的VMM以便例如使低特权执行环境中加载的客被放置于高特权执行环境中,用以与高特权执行环境中的客进行交互,以使客从高特权执行环境被移除等等。客可以包括配置成控制客行为,譬如,例如,何时执行活动、如何响应从高特权执行环境的VMM接收到的停止命令等等。
以下的示例属于进一步的实施例。在一个实施例中,提供一种装置。该装置可以包括配置为包括高特权执行环境和低特权执行环境的存储器模块,和配置成执行用于低特权执行环境的低特权管理器的处理模块,低特权管理器配置成使高特权执行环境中的高特权管理器将至少一个客放置于高特权执行环境中。
上面的示例装置可以进一步被配置,其中放置所述至少一个客包含低特权管理器进一步配置成通过从激活时加载至装置中的BIOS镜像、经由网络连接的另一个装置或存储器模块中的数据存储组件当中的至少一个来获得所述至少一个客,从而初始加载所述至少一个客至低特权执行环境。在该配置中,示例装置可以进一步被配置,其中放置所述至少一个客包含低特权管理器被进一步配置用来发布命令至高特权管理器,用以从低特权执行环境加载所述至少一个客至高特权执行环境。
上面的示例装置可以进一步包含低特权管理器进一步配置成通过发布命令至高特权管理器与所述至少一个客进行交互。
上面的示例装置可以进一步包含低特权管理器进一步配置成通过发布命令至高特权管理器使所述至少一个客从高特权执行环境被移除。
上面的示例装置可以进一步被配置,其中所述至少一个客被配置为包括报头、主体、签名和属性。在该配置中,示例装置可以进一步被配置,其中实施属性包括至少一个比特,其配置成使所述至少一个客进行以下至少之一:忽略从高特权管理器接收的停止命令或使所述至少一个客周期性地执行某些活动。
上面的示例装置可以进一步被配置,其中处理模块被配置为包括虚拟化技术(VT),并且高特权执行环境是系统管理模式随机存取存储器(SMRAM)。在该配置中,示例装置可以进一步被配置,其中高特权管理器是系统管理中断传输监视器(STM),低特权管理器是测量的启动环境(MLE),并且所述至少一个客是不同于BIOS SMM客或系统管理中断(SMI)SMM客的系统管理模式(SMM)客。
在另一个示例实施例中,提供一种方法。该方法可以包括加载所述至少一个客至低特权执行环境中,并且发布命令至高特权执行环境中的高特权管理器,以将所述至少一个客放置于高特权执行环境中。
上面的示例方法可以进一步被配置,其中所述至少一个客从激活时加载至装置中的BIOS镜像、经由网络连接的另一个装置或装置中的数据存储组件当中的至少一个加载至低特权执行环境中。
上面的示例方法可以进一步包含通过发布命令至高特权管理器与所述至少一个客进行交互。
上面的示例方法可以进一步包含通过发布命令至高特权管理器使所述至少一个客从高特权执行环境被移除。
上面的示例方法可以进一步被配置,其中高特权执行环境是系统管理模式随机存取存储器(SMRAM),高特权管理器是系统管理中断传输监视器(STM),并且所述至少一个客是不同于BIOS SMM客或系统管理中断(SMI)SMM客的系统管理模式(SMM)客。
在另一个示例实施例中,提供一种方法。该方法可以包括在高特权执行环境中发起至少一个客的操作,确定第一比特是否在所述至少一个客中被设定,第一比特指示所述至少一个客执行的活动应当被周期性地执行,并且基于第一比特是否被设定的确定而配置所述至少一个客执行活动。
上面的示例方法可以进一步被配置,其中配置所述至少一个客执行活动包含如果第一比特被确定为是设定的,则周期性地发送命令至所述至少一个客,所述命令指示所述至少一个客执行。
上面的示例方法进一步包含从低特权管理器接收命令,该命令指示终止所述至少一个客的操作,确定第二比特是否在所述至少一个客中被设定,第二比特指示忽略从低特权管理器接收的终止所述至少一个客之操作的命令,并且基于第二比特是否被设定的确定而继续或终止所述至少一个客的操作。在该配置中,示例方法可以进一步被配置,其中高特权执行环境是系统管理模式随机存取存储器(SMRAM),低特权管理器是测量的启动环境(MLE),并且所述至少一个客是不同于BIOS SMM客或系统管理中断(SMI)SMM客的系统管理模式(SMM)客。
在另一个示例实施例中,提供一种包含至少装置的系统,该系统被布置用来执行上面的示例方法中的任一方法。
在另一个示例实施例中,提供一种芯片组,其配置成执行上面的示例方法中的任一方法。
在另一个示例实施例中,提供至少一种机器可读媒体,其包含多个指示,所述指令响应于在计算装置上被执行使所述计算装置执行上面的示例方法中的任一方法。
在另一个示例实施例中,提供一种设备,其被配置用于虚拟化计算系统中隔离的客创建,该设备被布置用来执行上面的示例方法中的任一方法。
在另一个示例实施例中,提供一种包含至少一个机器可读存储媒体的系统,所述机器可读存储媒体具有单独地或组合地存储于其上的指令,所述指令在由一个或多个处理器执行时致使所述系统执行上面的示例方法中的任一方法。
在另一个示例实施例中,提供一种装置。该装置可以包括被配置为包括高特权执行环境和低特权执行环境的存储器模块,和配置成执行用于低特权执行环境的低特权管理器的处理模块,低特权管理器配置成使高特权执行环境中的高特权管理器将至少一个客放置于高特权执行环境中。
上面的示例装置可以进一步被配置,其中放置所述至少一个客包含低特权管理器进一步配置成通过从激活时加载至装置中的BIOS镜像、经由网络连接的另一个装置或存储器模块中的数据存储组件中的至少一个来获得所述至少一个客,从而初始加载所述至少一个客至低特权执行环境。在该配置中,示例装置可以进一步被配置,其中放置所述至少一个客包含低特权管理器被进一步配置用来发布命令至高特权管理器,用以从低特权执行环境加载所述至少一个客至高特权执行环境。
上面的示例装置可以进一步包含低特权管理器进一步配置成通过发布命令至高特权管理器与所述至少一个客进行交互。
上面的示例装置可以进一步包含低特权管理器进一步配置成通过发布命令至高特权管理器使所述至少一个客从高特权执行环境被移除。
上面的示例装置可以进一步被配置,其中所述至少一个客被配置为包括报头、主体、签名和属性。在该配置中,示例装置可以进一步被配置,其中属性包括至少一个比特,其配置成使所述至少一个客进行以下至少之一:忽略从高特权管理器接收的停止命令或使所述至少一个客周期性地执行某些活动。
上面的示例装置可以进一步被配置,其中处理模块被配置为包括虚拟化技术(VT),并且高特权执行环境是系统管理模式随机存取存储器(SMRAM)。在该配置中,示例装置可以进一步被配置,其中高特权管理器是系统管理中断传输监视器(STM),低特权管理器是测量的启动环境(MLE),并且所述至少一个客是不同于BIOS SMM客或系统管理中断(SMI)SMM客的系统管理模式(SMM)客。
在另一个示例实施例中,提供一种方法。该方法可以包括加载至少一个客至低特权执行环境中,并且发布命令至高特权执行环境中的高特权管理器,以将所述至少一个客放置于高特权执行环境中。
上面的示例方法可以进一步被配置,其中所述至少一个客从激活时加载至装置中的BIOS镜像、经由网络连接的另一个装置或装置中的数据存储组件当中的至少一个加载至低特权执行环境中。
上面的示例方法可以进一步包含通过发布命令至高特权管理器与所述至少一个客进行交互。
上面的示例方法可以进一步包含通过发布命令至高特权管理器使所述至少一个客从高特权执行环境被移除。
上面的示例方法可以进一步被配置,其中高特权执行环境是系统管理模式随机存取存储器(SMRAM),高特权管理器是系统管理中断传输监视器(STM),并且所述至少一个客是不同于BIOS SMM客或系统管理中断(SMI)SMM客的系统管理模式(SMM)客。
在另一个示例实施例中,提供一种方法。该方法可以包括在高特权执行环境中发起至少一个客的操作,确定第一比特是否在所述至少一个客中被设定,所述第一比特指示所述至少一个客执行的活动应当被周期性地执行,并且基于第一比特是否被设定的确定而配置所述至少一个客执行活动。
上面的示例方法可以进一步被配置,其中配置所述至少一个客执行活动包含如果第一比特被确定为是设定的,则周期性地发送命令至所述至少一个客,所述命令指示所述至少一个客执行。
上面的示例方法进一步包含从低特权管理器接收命令,该命令指示终止所述至少一个客的操作,确定第二比特是否在所述至少一个客中被设定,第二比特指示忽略从低特权管理器接收的终止所述至少一个客之操作的命令,并且基于第二比特是否被设定的确定而继续或终止所述至少一个客的操作。在该配置中,示例方法可以进一步被配置,其中高特权执行环境是系统管理模式随机存取存储器(SMRAM),低特权管理器是测量的启动环境(MLE),并且所述至少一个客是不同于BIOS SMM客或系统管理中断(SMI)SMM客的系统管理模式(SMM)客。
在另一个示例实施例中,提供一种包含至少一个机器可读存储媒体的系统。所述机器可读存储媒体具有单独地或组合地存储于其上的指令,所述指令在由一个或多个处理器执行时导致以下操作,包括:加载至少一个客至低特权执行环境中,并且发布命令至高特权执行环境中的高特权管理器,以将所述至少一个客放置于高特权执行环境中。
上面的示例系统可以进一步被配置,其中所述至少一个客从激活时加载至装置中的BIOS镜像、经由网络连接的另一个装置或装置中的数据存储组件当中的至少一个加载至低特权执行环境中。
上面的示例系统可以进一步包含当由一个或多个处理器执行时导致以下操作的指令,包括通过发布命令至高特权管理器与所述至少一个客进行交互。
上面的示例系统可以进一步包含当由一个或多个处理器执行时导致以下操作的指令,包括通过发布命令至高特权管理器使所述至少一个客从高特权执行环境被移除。
上面的示例系统可以进一步被配置,其中高特权执行环境是系统管理模式随机存取存储器(SMRAM),高特权管理器是系统管理中断传输监视器(STM),并且所述至少一个客是不同于BIOS SMM客或系统管理中断(SMI)SMM客的系统管理模式(SMM)客。
在另一个示例实施例中,提供一种包含至少一个机器可读存储媒体的系统。所述机器可读存储媒体具有单独地或组合地存储于其上的指令,所述指令在由一个或多个处理器执行时,导致以下操作,包括:在高特权执行环境中发起至少一个客的操作,确定第一比特是否在所述至少一个客中被设定,所述第一比特指示所述至少一个客执行的活动应当被周期性地执行,并且基于第一比特是否被设定的确定而配置少一个客执行活动。
上面的示例系统可以进一步被配置,其中配置所述至少一个客执行活动包含如果第一比特被确定为是设定的,则周期性地发送命令至所述至少一个客,所述命令指示所述至少一个客执行。
上面的示例系统进一步包含当由一个或多个处理器执行时导致以下操作的指令,包括:从低特权管理器接收命令,该命令指示终止所述至少一个客的操作,确定第二比特是否在所述至少一个客中被设定,第二比特指示忽略从低特权管理器接收的终止所述至少一个客之操作的命令,并且基于第二比特是否被设定的确定而继续或终止所述至少一个客的操作。在该配置中,示例系统可以进一步被配置,其中高特权执行环境是系统管理模式随机存取存储器(SMRAM),低特权管理器是测量的启动环境(MLE),并且所述至少一个客是不同于BIOS SMM客或系统管理中断(SMI)SMM客的系统管理模式(SMM)客。
在另一个示例实施例中,提供一种装置。该装置可以包括配置为包括高特权执行环境和低特权执行环境的存储器模块,和配置成执行用于低特权执行环境的低特权管理器的处理模块,低特权管理器配置成使高特权执行环境中的高特权管理器将至少一个客放置于高特权执行环境中。
上面的示例装置可以进一步被配置,其中放置所述至少一个客包含低特权管理器进一步配置成通过从激活时加载至装置中的BIOS镜像、经由网络连接的另一个装置或存储器模块中的数据存储组件当中的至少一个来获得所述至少一个客,从而初始加载所述至少一个客至低特权执行环境中。在该配置中,示例装置可以进一步被配置,其中放置所述至少一个客包含低特权管理器进一步配置成发布命令至高特权管理器,用以从低特权执行环境加载所述至少一个客至高特权执行环境。
上面的示例装置可以进一步包含低特权管理器进一步配置成通过发布命令至高特权管理器与所述至少一个客进行交互,并且通过发布命令至高特权管理器使所述至少一个客从高特权执行环境被移除。
上面的示例装置可以进一步被配置,其中所述至少一个客被配置为包括报头,主体,签名和属性,属性包括至少一个比特,其配置成使所述至少一个客进行以下至少之一:忽略从高特权管理器接收的停止命令或使所述至少一个客周期性地执行某些活动。
上面的示例装置可以进一步被配置,其中处理模块被配置为包括虚拟化技术(VT),并且高特权执行环境是系统管理模式随机存取存储器(SMRAM),高特权管理器是系统管理中断传输监视器(STM),低特权管理器是测量的启动环境(MLE),并且所述至少一个客是不同于BIOS SMM客或系统管理中断(SMI)SMM客的系统管理模式(SMM)客。
在另一个示例实施例中,提供一种方法。该方法可以包括加载至少一个客至低特权执行环境中,并且发布命令至高特权执行环境中的高特权管理器,以将所述至少一个客放置于高特权执行环境中。
上面的示例方法可以进一步被配置,其中所述至少一个客从激活时加载至装置中的BIOS镜像、经由网络连接的另一个装置或装置中的数据存储组件当中的至少一个加载至低特权执行环境中。
上面的示例方法可以进一步包含通过发布命令至高特权管理器与所述至少一个客进行交互,并且通过发布命令至高特权管理器使所述至少一个客从高特权执行环境被移除。
在另一个示例实施例中,提供一种方法。该方法可以包括在高特权执行环境中发起至少一个客的操作,确定第一比特是否在所述至少一个客中被设定,所述第一比特指示所述至少一个客执行的活动的应当被周期性地执行,并且基于第一比特是否被设定的确定而配置所述至少一个客执行活动。
上面的示例方法可以进一步被配置,其中配置所述至少一个客执行活动包含如果第一比特被确定为是设定的,则周期性地发送命令至所述至少一个客,所述命令指示所述至少一个客执行。
上面的示例方法进一步包含从低特权管理器接收命令,该命令指示终止所述至少一个客的操作,确定第二比特是否在所述至少一个客中被设定,第二比特指示忽略从低特权管理器接收的终止所述至少一个客之操作的命令,并且基于第二比特是否被设定的确定而继续或终止所述至少一个客的操作。
在另一个示例实施例中,提供一种包含至少装置的系统,所述系统被布置用来执行上面的示例方法中的任一方法。
在另一个示例实施例中,提供一种芯片组,其配置成执行上面的示例方法当中的任一方法。
在另一个示例实施例中,提供至少一种机器可读媒体,其包含多个指令,所述指令响应于在计算装置上被执行而使所述计算装置执行上面的示例方法中的任一方法。
在另一个示例实施例中,提供一种装置。该装置可以包括被配置为包括高特权执行环境和低特权执行环境的存储器模块,和配置成执行用于低特权执行环境的低特权管理器的处理模块,低特权管理器配置成使高特权执行环境中的高特权管理器将至少一个客放置于高特权执行环境中。
上面的示例装置可以进一步被配置,其中放置所述至少一个客包含低特权管理器进一步配置成通过从激活时加载至装置中的BIOS镜像、经由网络连接的另一个装置或存储器模块中的数据存储组件当中的至少一个来获得所述至少一个客,从而初始加载所述至少一个客至低特权执行环境。在该配置中,示例装置可以进一步被配置,其中放置所述至少一个客包含低特权管理器被进一步配置用来发布命令至高特权管理器,用以从低特权执行环境加载所述至少一个客至高特权执行环境。
上面的示例装置可以进一步包含低特权管理器进一步配置成通过发布命令至高特权管理器与所述至少一个客进行交互。
上面的示例装置可以进一步包含低特权管理器进一步配置成通过发布命令至高特权管理器使所述至少一个客从高特权执行环境被移除。
上面的示例装置可以进一步被配置,其中所述至少一个客被配置为包括报头、主体、签名和属性。在该配置中,示例装置可以进一步被配置,其中属性包括至少一个比特,其配置成使所述至少一个客进行以下至少之一:忽略从高特权管理器接收的停止命令或使所述至少一个客周期性地执行某些活动。
上面的示例装置可以进一步被配置,其中处理模块被配置为包括虚拟化技术(VT),并且高特权执行环境是系统管理模式随机存取存储器(SMRAM)。在该配置中,示例装置可以进一步被配置,其中高特权管理器是系统管理中断传输监视器(STM),低特权管理器是测量的启动环境(MLE),并且所述至少一个客是不同于BIOS SMM客或系统管理中断(SMI)SMM客的系统管理模式(SMM)客。
在另一个示例实施例中,提供一种方法。该方法可以包括加载至少一个客至低特权执行环境中,并且发布命令至高特权执行环境中的高特权管理器,以将所述至少一个客放置于高特权执行环境中。
上面的示例方法可以进一步被配置,其中所述至少一个客从激活时加载至装置中的BIOS镜像、经由网络连接的另一个装置或装置中的数据存储组件当中的至少一个加载至低特权执行环境中。
上面的示例方法可以进一步包含通过发布命令至高特权管理器与所述至少一个客进行交互。
上面的示例方法可以进一步包含通过发布命令至高特权管理器使所述至少一个客从高特权执行环境被移除。
上面的示例方法可以进一步被配置,其中高特权执行环境是系统管理模式随机存取存储器(SMRAM),高特权管理器是系统管理中断传输监视器(STM),并且所述至少一个客是不同于BIOS SMM客或系统管理中断(SMI)SMM客的系统管理模式(SMM)客。
在另一个示例实施例中,提供一种方法。该方法可以包括在高特权执行环境中发起所述至少一个客的操作,确定第一比特是否在所述至少一个客中被设定,所述第一比特指示所述至少一个客执行的活动应当被周期性地执行,并且基于第一比特是否被设定的确定来配置所述至少一个客执行活动。
上面的示例方法可以进一步被配置,其中配置所述至少一个客执行活动包含如果第一比特被确定为是设定的,则周期性地发送命令至所述至少一个客,所述命令指示所述至少一个客执行。
上面的示例方法进一步包含从低特权管理器接收命令,该命令指示终止所述至少一个客的操作,确定第二比特是否在所述至少一个客中被设定,第二比特指示忽略从低特权管理器接收到的终止所述至少一个客之操作的命令,并且基于第二比特是否被设定的确定而继续或终止所述至少一个客的操作。在该配置中,示例方法可以进一步被配置,其中高特权执行环境是系统管理模式随机存取存储器(SMRAM),低特权管理器是测量的启动环境(MLE),并且所述至少一个客是不同于BIOS SMM客或系统管理中断(SMI)SMM客的系统管理模式(SMM)客。
在另一个示例实施例中,提供一种系统。该系统可以包括用于将至少一个客加载至低特权执行环境的部件,以及用于发布命令至高特权执行环境中的高特权管理器以将所述至少一个客放置于高特权执行环境中的部件。
上面的示例系统可以进一步被配置,从激活时加载至装置中的BIOS镜像、经由网络连接的另一个装置或装置中的数据存储组件当中的至少一个加载所述至少一个客至低特权执行环境中。
上面的示例系统可以进一步包含用于通过发布命令至高特权管理器与所述至少一个客进行交互的部件。
上面的示例系统可以进一步包含用于通过发布命令至高特权管理器使所述至少一个客从高特权执行环境被移除的部件。
上面的示例系统可以进一步被配置,其中高特权执行环境是系统管理模式随机存取存储器(SMRAM),高特权管理器是系统管理中断传输监视器(STM),并且所述至少一个客是不同于BIOS SMM客或系统管理中断(SMI)SMM客的系统管理模式(SMM)客。
在另一个示例实施例中,提供一种系统。该系统可以包括用于在高特权执行环境中发起至少一个客的操作的部件,用于确定第一比特是否在所述至少一个客中被设定的部件,所述第一比特指示所述至少一个客执行的活动应当被周期性地执行,以及用于基于第一比特是否被设定的确定而配置所述至少一个客执行活动的部件。
上面的示例系统可以进一步被配置,其中配置所述至少一个客执行活动包括如果第一比特被确定为是设定的,则周期性地发送命令至所述至少一个客,所述命令指示所述至少一个客执行。
上面的示例系统进一步包含:用于从低特权管理器接收命令的部件,该命令指示终止所述至少一个客的操作;用于确定第二比特是否在所述至少一个客中被设定的部件,第二比特指示忽略从低特权管理器接收的终止所述至少一个客之操作的命令;和用于基于第二比特是否被设定的确定而继续或终止所述至少一个客之操作的部件。在该配置中,示例系统可以进一步被配置,其中高特权执行环境是系统管理模式随机存取存储器(SMRAM),低特权管理器是测量的启动环境(MLE),并且所述至少一个客是不同于BIOS SMM客或系统管理中断(SMI)SMM客的系统管理模式(SMM)客。
本文已经使用的术语和表达用做描述性而非限制性的术语,以及并非旨在使用这些术语和表达来排除示出的和描述的特征(或其部分)的任何等同,并且认识到,在权利要求的范围中各种修改是可能的。据此,权利要求旨在覆盖所有这些等同。

Claims (20)

1.一种装置,包括:
存储器模块,配置成包括高特权执行环境和低特权执行环境;以及
处理模块,配置成执行用于所述低特权执行环境的低特权管理器,所述低特权管理器配置成使所述高特权执行环境中的高特权管理器将至少一个客放置于所述高特权执行环境中。
2.如权利要求1所述的装置,其中放置所述至少一个客包括所述低特权管理器进一步配置成通过从激活时被加载至所述装置的BIOS镜像、经由网络连接的另一个装置或所述存储器模块中的数据存储组件的至少一个来获得所述至少一个客,从而初始加载所述至少一个客至所述低特权执行环境中。
3.如权利要求2所述的装置,其中放置所述至少一个客包括所述低特权管理器进一步配置成发布命令至所述高特权管理器,以从所述低特权执行环境加载所述至少一个客至所述高特权执行环境中。
4.如权利要求1所述的装置,还包括所述低特权管理器进一步配置成通过发布命令至所述高特权管理器来与所述至少一个客进行交互。
5.如权利要求1所述的装置,还包括所述低特权管理器进一步配置成通过发布命令至所述高特权管理器而使所述至少一个客从所述高特权执行环境被移除。
6.如权利要求1所述的装置,其中所述至少一个客配置成包括报头、主体、签名和属性。
7.如权利要求6所述的装置,其中所述属性包括至少一个比特,其配置成使所述至少一个客进行以下至少之一:忽略从所述高特权管理器接收的停止命令或使所述至少一个客周期性地执行某些活动。
8.如权利要求1所述的装置,其中所述处理模块配置成包括虚拟化技术(VT),并且所述高特权执行环境是系统管理模式随机存取存储器(SMRAM)。
9. 如权利要求8所述的装置,其中所述高特权管理器是系统管理中断传输监视器(STM),所述低特权管理器是测量的启动环境(MLE),并且所述至少一个客是不同于BIOSSMM客或系统管理中断(SMI)SMM客的系统管理模式(SMM)客。
10. 一种方法,包括:
将至少一个客加载到低特权执行环境中;并且
将命令发布到高特权执行环境中的高特权管理器,以将所述至少一个客放置于所述高特权执行环境中。
11.如权利要求10所述的方法,其中所述至少一个客从激活时被加载至装置中的BIOS镜像、经网络连接的另一个装置或装置中的数据存储组件的至少一个被加载至所述低特权执行环境中。
12.如权利要求10所述的方法,进一步包括通过发布命令至所述高特权管理器来与所述至少一个客进行交互。
13.如权利要求10所述的方法,进一步包括通过发布命令至所述高特权管理器使所述至少一个客从所述高特权执行环境被移除。
14. 如权利要求10所述的方法,其中所述高特权执行环境是系统管理模式随机存取存储器(SMRAM),所述高特权管理器是系统管理中断传输监视器(STM),并且所述至少一个客是不同于BIOS SMM客或系统管理中断(SMI)SMM客的系统管理模式(SMM)客。
15. 一种系统,包括:
用于将至少一个客加载到低特权执行环境中的部件;以及
用于将命令发布到高特权执行环境中的高特权管理器以将所述至少一个客放置于所述高特权执行环境中的部件。
16.如权利要求15所述的系统,其中从激活时被加载至装置的BIOS镜像、经由网络连接的另一个装置或装置中的数据存储组件的至少一个来将述至少一个客记载到所述低特权执行环境中。
17.如权利要求15所述的系统,进一步包括:
用于通过发布命令至所述高特权管理器来与所述至少一个客进行交互的部件。
18.如权利要求15所述的系统,进一步包括:
用于通过发布命令至所述高特权管理器而使所述至少一个客从所述高特权执行环境被移除的部件。
19. 如权利要求15所述的系统,其中所述高特权执行环境是系统管理模式随机存取存储器(SMRAM),所述高特权管理器是系统管理中断传输监视器(STM),并且所述至少一个客是不同于BIOS SMM客或系统管理中断(SMI)SMM客的系统管理模式(SMM)客。
20.一种计算机可读介质,具有存储于其上的指令,当执行所述指令时,使得计算装置执行如权利要求10-14中的任一项所述的方法。
CN201280075397.XA 2012-09-21 2012-09-21 虚拟化计算系统中隔离的客创建 Expired - Fee Related CN104885057B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/081721 WO2014043884A1 (en) 2012-09-21 2012-09-21 Isolated guest creation in vlrtualized computing system

Publications (2)

Publication Number Publication Date
CN104885057A CN104885057A (zh) 2015-09-02
CN104885057B true CN104885057B (zh) 2019-04-30

Family

ID=50340543

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280075397.XA Expired - Fee Related CN104885057B (zh) 2012-09-21 2012-09-21 虚拟化计算系统中隔离的客创建

Country Status (4)

Country Link
US (1) US20140229942A1 (zh)
EP (1) EP2898407A4 (zh)
CN (1) CN104885057B (zh)
WO (1) WO2014043884A1 (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9292318B2 (en) * 2012-11-26 2016-03-22 International Business Machines Corporation Initiating software applications requiring different processor architectures in respective isolated execution environment of an operating system
US20150278512A1 (en) * 2014-03-28 2015-10-01 Intel Corporation Virtualization based intra-block workload isolation
US9356945B2 (en) 2014-07-17 2016-05-31 Check Point Advanced Threat Prevention Ltd Automatic content inspection system for exploit detection
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9836602B2 (en) * 2015-03-03 2017-12-05 Avast Software B.V. Method and system for offline scanning of computing devices
US10567395B2 (en) 2015-05-10 2020-02-18 Check Point Advanced Threat Prevention Ltd Detection of potentially malicious web content by emulating user behavior and user environment
US10127137B2 (en) * 2015-06-03 2018-11-13 Fengwei Zhang Methods and systems for increased debugging transparency
CN108292339B (zh) * 2016-01-26 2022-02-11 惠普发展公司,有限责任合伙企业 系统管理模式特权架构
FR3047587B1 (fr) * 2016-02-10 2023-01-13 Dolphin Integration Sa Dispositif de traitement muni d'un mode d'acces a des donnees sensibles.
US10102040B2 (en) * 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
EP3413531A1 (en) * 2017-06-07 2018-12-12 Hewlett-Packard Development Company, L.P. Intrusion detection systems
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
CN109858288B (zh) * 2018-12-26 2021-04-13 中国科学院信息工程研究所 实现虚拟机安全隔离的方法与装置
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11080400B2 (en) 2019-08-28 2021-08-03 Palo Alto Networks, Inc. Analyzing multiple CPU architecture malware samples
CN113139175A (zh) * 2020-01-19 2021-07-20 阿里巴巴集团控股有限公司 处理单元、电子设备以及安全控制方法
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
CN113392052B (zh) * 2021-06-11 2023-07-18 深圳市同泰怡信息技术有限公司 一种基于四路服务器的bios系统、方法及计算机可读存储介质
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101211271A (zh) * 2006-12-29 2008-07-02 英特尔公司 根据活动性状态控制虚拟机

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7278030B1 (en) * 2003-03-03 2007-10-02 Vmware, Inc. Virtualization system for computers having multiple protection mechanisms
US7197745B2 (en) * 2003-05-02 2007-03-27 Microsoft Corporation User debugger for use on processes running in a high assurance kernel in an operating system
US20050204357A1 (en) * 2004-03-15 2005-09-15 Ajay Garg Mechanism to protect extensible firmware interface runtime services utilizing virtualization technology
US9280659B2 (en) * 2006-12-29 2016-03-08 Intel Corporation Methods and apparatus for remeasuring a virtual machine monitor
US20080235754A1 (en) * 2007-03-19 2008-09-25 Wiseman Willard M Methods and apparatus for enforcing launch policies in processing systems
US8127292B1 (en) * 2007-06-22 2012-02-28 Parallels Holdings, Ltd. Virtualization system with hypervisor embedded in bios or using extensible firmware interface
US20090119748A1 (en) * 2007-08-30 2009-05-07 Jiewen Yao System management mode isolation in firmware
US8156298B1 (en) * 2007-10-24 2012-04-10 Adam Stubblefield Virtualization-based security apparatuses, methods, and systems
US20090165132A1 (en) * 2007-12-21 2009-06-25 Fiberlink Communications Corporation System and method for security agent monitoring and protection
US8473945B2 (en) * 2007-12-31 2013-06-25 Intel Corporation Enabling system management mode in a secure system
JP2009266027A (ja) * 2008-04-25 2009-11-12 Toshiba Corp 情報処理装置および制御方法
US9027084B2 (en) * 2008-07-28 2015-05-05 Evan S. Huang Methods and apparatuses for securely operating shared host devices with portable apparatuses
US8843742B2 (en) * 2008-08-26 2014-09-23 Hewlett-Packard Company Hypervisor security using SMM
US10521265B2 (en) * 2008-09-19 2019-12-31 Microsoft Technology Licensing, Llc Coalescing periodic timer expiration in guest operating systems in a virtualized environment
CN102428471B (zh) * 2009-05-18 2016-05-25 惠普开发有限公司 从系统管理模式确定信任级别的系统和方法
US20130024930A1 (en) * 2011-07-20 2013-01-24 Michael Steil Executing Functions of a Secure Program in Unprivileged Mode
US9413538B2 (en) * 2011-12-12 2016-08-09 Microsoft Technology Licensing, Llc Cryptographic certification of secure hosted execution environments
EP2864876B1 (en) * 2012-06-26 2017-10-04 Lynuxworks, Inc. Systems and methods involving features of hardware virtualization such as separation kernel hypervisors, hypervisors, hypervisor guest context, hypervisor context, rootkit detection/prevention, and/or other features

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101211271A (zh) * 2006-12-29 2008-07-02 英特尔公司 根据活动性状态控制虚拟机

Also Published As

Publication number Publication date
EP2898407A4 (en) 2016-06-15
WO2014043884A1 (en) 2014-03-27
EP2898407A1 (en) 2015-07-29
CN104885057A (zh) 2015-09-02
US20140229942A1 (en) 2014-08-14

Similar Documents

Publication Publication Date Title
CN104885057B (zh) 虚拟化计算系统中隔离的客创建
CN103119601B (zh) 用于在独立于操作系统(os)的防病毒(av)扫描器上执行强制性安全策略的方法和装置
KR102255767B1 (ko) 가상 머신 감사를 위한 시스템 및 방법들
US10445154B2 (en) Firmware-related event notification
US8375221B1 (en) Firmware-based trusted platform module for arm processor architectures and trustzone security extensions
Cho et al. {Hardware-Assisted}{On-Demand} Hypervisor Activation for Efficient Security Critical Code Execution on Mobile Devices
KR101920980B1 (ko) 멀티-운영 체제 디바이스들에 대한 액세스 격리
JP4249779B2 (ja) デバイス制御装置
US20040103299A1 (en) Providing a secure execution mode in a pre-boot environment
JP6017706B2 (ja) ピアモニタにて信頼性・可用性・保守性(ras)フローをサポートする機構
US8205197B2 (en) Apparatus, system, and method for granting hypervisor privileges
JP2014527674A (ja) システム管理要求のための仮想高特権モード
CN109074321B (zh) 用于保护虚拟计算实例的存储器的方法和系统
EP3646224B1 (en) Secure key storage for multi-core processor
WO2008112623A1 (en) Monitoring bootable busses
CN104011733A (zh) 在系统预引导期间具有改进的只读存储器锁定的安全数据保护
US20140082751A1 (en) Protecting iat/eat hooks from rootkit attacks using new cpu assists
US20170168902A1 (en) Processor state integrity protection using hash verification
CN104346572B (zh) 一种通用的外置式智能终端安全运行环境构建方法
CN106462548B (zh) 固件传感器层
KR102547547B1 (ko) 데이터 센터 내의 프로그램 가능 디바이스를 위한 보안
CN113806745B (zh) 验证检查的方法、计算系统及机器可读存储介质
US11188640B1 (en) Platform firmware isolation
Im et al. On-demand virtualization for live migration in bare metal cloud
Peters et al. Software separation in measuring instruments through security concepts and separation kernels

Legal Events

Date Code Title Description
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190430

Termination date: 20190921

CF01 Termination of patent right due to non-payment of annual fee