CN100533385C - 用于提供系统完整性和遗留环境模拟的方法及装置 - Google Patents

用于提供系统完整性和遗留环境模拟的方法及装置 Download PDF

Info

Publication number
CN100533385C
CN100533385C CNB02819232XA CN02819232A CN100533385C CN 100533385 C CN100533385 C CN 100533385C CN B02819232X A CNB02819232X A CN B02819232XA CN 02819232 A CN02819232 A CN 02819232A CN 100533385 C CN100533385 C CN 100533385C
Authority
CN
China
Prior art keywords
virtual machine
firmware
machine monitor
computing system
environment
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
CNB02819232XA
Other languages
English (en)
Other versions
CN1585927A (zh
Inventor
文森特·齐默
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 CN1585927A publication Critical patent/CN1585927A/zh
Application granted granted Critical
Publication of CN100533385C publication Critical patent/CN100533385C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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

Abstract

本发明描述了一种用于为具有可扩展固件体系结构的计算系统提供预启动安全性和遗留硬件和环境支持的方法和装置。使用虚拟机监视器来提供对系统状态的虚拟化,以运行遗留兼容代码或保护密钥数据和代码区域的安全。可以给予应用程序到系统资源的子集的访问,并且到未被指定用于更新的内存映射的部分的访问将捕捉(程序中断)到VMM。然后,VMM预启动策略代理将保护状态并卸载任何有问题的软件。

Description

用于提供系统完整性和遗留环境模拟的方法及装置
技术领域
本发明一般地涉及具有可扩展固件体系结构的计算系统,更具体地说,本发明涉及在具有可扩展固件体系结构的计算系统中,用以模拟遗留固件和环境并提供被保护的存储和执行的虚拟机监视器(VMM)的使用。
背景技术
计算系统固件方面的一个近期发展是可扩展固件接口(EFI)框架,其允许软件卖主开发可以与多种中央处理单元(CPU)一起使用的操作系统程序。包括应用二进制接口(ABI),其规定对于给定的CPU类型如何在堆栈上传递数据。通过抽象平台,该框架提供了优于使用遗留体系结构的系统的许多优点。关于元件体系结构发展的这一概念,正在形成在整个系统初始化过程中使用ABI和软件抽象的系统体系结构。这不仅包括CPU初始化,而且也包括芯片集和I/O设备的初始化。提供有一种软件框架,其允许多方写入抽象芯片集或I/O复合体如何工作的小片段代码。在这种框架中,来自多个卖主的产品将交互工作。来自各个卖主的代码片段包含在初始化模块中。在系统初始化阶段(在CPU重起之后,但在存储器初始化之前)期间,核心初始化代码顺序地调度初始化模块以提供基本服务。初始化阶段对系统进行足够的初始化以启动后续阶段,例如负责算法上更复杂的初始化过程的驱动器执行阶段,如扫描I/O总线、列举资源和安装驱动器。
允许来自多方的驱动器和应用程序的贡献的这一概念产生了几个问题。由单个卖主提供的系统固件的安全是卖主默认的。来自多种资源的代码模块的并入危及了系统完整性,因为没有提供沙箱处理(sandbox)或验证代码。EFI平台以物理模式执行。以物理模式执行意味着所有的地址对应于实际存储位置。虽然以物理模式的执行为OS加载程序提供了对所有平台资源的全部入口,但是它也妨碍了虚拟存储器页表的使用以及它们在预启动中提供的保护。因为启动固件具有全部机器入口,核心EFI的敏感数据结构和代码通过驱动器和应用程序访问的访问将会受损。在系统状态已经被坏代码损坏时,例如代码标识的用以验证驱动器和应用程序来源的技术不能保证故障隔离。
另一个困难是遗留代码支持。很多年来,软件一直被写成与PC/AT平台相兼容。很多遗留操作系统和可选ROM要求PC/AT存储器映射的硬件/软件。这种遗留代码以将处理器限制在1Mb存储器的实时模式执行,并且不提供存储器管理或存储器保护特征。
发明内容
根据本发明第一方面,提供了一种用于提供系统完整性和遗留环境模拟的方法。该方法包括:在具有以物理模式执行的本地环境的计算系统上实现可扩展固件框架;在所述计算系统上实现基于固件的虚拟机监视器,所述虚拟机监视器包括在所述可扩展固件框架上运行的模块化的固件组件;在所述计算系统的预启动期间加载所述虚拟机监视器;以及使用所述虚拟机监视器来模拟本地环境中不存在的遗留硬件组件,来为预计这种硬件组件存在的遗留代码提供支持。
根据本发明第二方面,提供了一种在计算系统中执行非受信代码的方法。该方法包括:在具有以物理模式执行的本地环境的计算系统上实现可扩展固件框架;在具有可扩展固件框架的所述计算系统上实现虚拟机监视器;在所述计算系统的预启动期间加载所述虚拟机监视器;经由所述可扩展固件框架加载固件程序;由所述虚拟机监视器捕捉所述固件程序的尝试写访问;判断是否允许所述固件程序访问所述写访问相关的数据结构;以及如果是,允许所述写访问执行,否则,就拒绝所述写访问。
根据本发明第三方面,提供了一种用于提供系统完整性和遗留环境模拟的装置,包括:具有以物理模式执行的本地执行环境的计算系统,该计算系统包括可扩展固件接口组件,经由该可扩展固件接口组件,能够在所述计算系统的预启动期间加载第三方固件模块;以及在所述计算系统上实现的虚拟机监视器,所述虚拟机监视器模拟在本地环境中不存在的遗留硬件组件,来为在所述计算系统上运行的遗留代码提供支持。
附图说明
通过举例图示了本发明,但是本发明不意于由附图限制,在附图中相似的标号指示相似的元件,在附图中:
图1图示了用于实现本发明的VMM的示例性计算系统100;
图2图示了根据本发明一个实施例的遗留模拟;
图3是描绘根据本发明一个实施例用于沙箱处理非受信程序的VMM操作的处理流程图;以及
图4描绘了根据本发明一个实施例通过使用VMM的安全应用的实现。
具体实施方式
本发明在一个实施例中,提供了以运行遗留兼容代码或为了安全与保密而保护密钥数据为目的,用于提供系统状态的虚拟化的方法和装置。
VMM是模拟器软件,其提供包括所有CPU指令和系统资源(例如存储器和I/O设备)的原型机的有效复制品。在一个实施例中,VMM被用于为基于元件的体系结构平台维护预启动的安全和完整性策略。
使用虚拟机监视器(VMM)来模拟遗留硬件和环境,以提供遗留代码支持。VMM允许表面上有特权的代码(例如BIOS代码)被模拟和运行而无需该代码实现其模拟。
在驱动器执行阶段,安装有VMM的驱动器可以被加载。然后,遗留应用程序(例如遗留OS加载程序)可以在VMM内被运行。在一个实施例中,只有在启动变量被设定为指示遗留OS可以被启动时,才加载VMM。VMM的使用可以帮助保护存储器和系统结构不受应用程序的干扰。可以给予应用程序到系统资源的子集的访问,并且对内存映射未被指定用于更新的部分的访问将捕捉(程序中断)到VMM中。然后,VMM预启动策略代理可以保护状态并卸载有问题的软件。VMM透明地公开了一种环境,其似乎是物理模式环境但却具有对非法行为的防卫;它甚至可以为实际上不译码物理地址范围的系统映射内存,使得软件看见低于一兆字节的遗留内存映射。这种透明性保持了与遗留PC/AT BIOS模块、可选ROM、EFI驱动器和应用程序的兼容。
在一个实施例中,本发明虚拟化整个PC/AT环境,以提供对遗留OS和遗留硬件的支持,所述遗留硬件如82XX系列:定时计数器、串行端口和主/从中断控制器。VM允许具有可扩展固件体系结构的系统简化了不使用其本地接口的预启动可选ROM或运行时环境。例如,VM模拟允许遗留可选ROM运行并使其I/O服务有效的PC/AT环境。然后,VMM将结果转变成本地API。即,VMM将I/O捕捉到本地环境中语义等价体。
在可替换实施例中,VMM可以被用于模拟本地32位/64位环境,以向以物理模式执行的平台提供被保护的存储器和被保护的执行。EFI系统体系结构不允许页表和对指定页的只读指定,因为OS加载程序可以使用页表来自引导OS内核。VMM的使用提供了一种在OS加载程序下产生并存储与安全有关的信息的方法,大多数驱动器和应用程序不能访问所述与安全有关的信息。
图1图示用于实现本发明的VMM的示例性计算系统100。这里所描述的以运行遗留兼容代码或保护密钥数据和代码区域的安全和保密性为目的的系统状态的虚拟化,可以在计算系统100内实现和使用,所述计算系统100可以表示通用的计算机、便携式计算机或其他类似的设备。计算系统100的组件是示例性的,可以在其中省略或添加一个或多个组件。例如,计算系统100可以使用一个或多个存储设备。
参照图1,计算系统100包括中央处理单元102和经由总线101耦合到显示电路105、主存储器104、静态存储器106和大容量存储设备107的信号处理器103。计算系统100还可以经由总线101耦合到显示器121、键盘输入122、光标控制123、硬拷贝设备124、输入/输出(I/O)设备125和音频/语音设备126。
总线101是标准系统总线,用于传送信息和信号。CPU 102和信号处理器103是计算系统100的处理单元。CPU 102和信号处理器103两者或两者之一可以被用于为计算系统100处理信息和/或信号。CPU 102包括控制单元131、算术逻辑单元(ALU)132和几个寄存器133,它们被用于处理信息和信号。信号处理器103如CPU 102一样也可以包括类似的组件。
主存储器104可以是例如随机访问存储器(RAM)或某种其他的动态存储器设备,用于存储由CPU 102或信号处理器103使用的信息或指令(程序代码)。主存储器104可以存储在CPU 102或信号处理器103执行指令期间的临时变量或其他中间信息。静态存储器106可以是例如只读存储器(ROM)和/或其他静态存储器设备,用于存储也可以由CPU 102或信号处理器103使用的信息或指令。大容量存储设备107可以是例如硬盘或软盘或光盘驱动,用于存储用于计算系统100的信息或指令。
显示器121可以是例如阴极射线管(CRT)或液晶显示器(LCD)。显示设备121向用户显示信息或图像。计算系统100可以经由显示电路105与显示器121接口。键盘输入122是具有模数转换器的字母数字输入设备。光标控制123可以是例如鼠标、跟踪球或光标方向键,用于控制目标在显示器上121上的移动。硬拷贝设备124可以是例如激光打印机,用于在纸、胶片或某种其他类似的介质上打印信息。多个输入/输出设备125可以被耦合到计算系统100。通过计算系统100内包含的硬件和/或软件,可以实现根据本发明的用于支持遗留操作系统和遗留可选ROM的遗留环境的模拟,以及用于提供被保护的执行和存储的物理模式环境的模拟。例如,CPU102或信号处理器103可以执行存储在如主存储器104的机器可读介质中的代码或指令。
机器可读介质可以包括以由例如计算机或数字处理设备的机器可读的形式提供(即存储和/或传输)信息的机构。例如,机器可读介质可以包括只读存储器(ROM)、随机访问存储器(RAM)、磁盘存储介质、光存储介质、闪存设备。代码或指令可以由载波信号、红外信号、数字信号和其他类似的信号表示。
图2图示了根据本发明一个实施例的遗留模拟。一般地,个人计算机母板将支持遗留8259中断控制器,即使只有遗留可选ROM预先假定它们的存在;现代操作系统使用APIC(IA32)或SAPIC(IPF)用于它们的中断支持,从而使得在机器启动的几秒期间如成对的8259的母板硬件可用。
在图2中示出的系统200,包括EFI核心205、遗留执行映像210、EFI驱动器215和VM M220。遗留执行映像210可以是不使用本地EFI接口的预启动可选ROM或运行时环境。一发生从遗留执行映像210到遗留8259中断控制基的写入,例如,指令就被捕捉到VMM 220中。VMM 220可以捕捉接触系统状态(例如中断标记)或改变保护的任何指令。如果系统正在以遗留模式执行,则VMM 220将到遗留中断(PIC)屏蔽的访问映射到相关联的本地中断控制寄存器。例如,系统可以尝试访问未被包含的遗留硬件。VMM可以将I/O捕捉到本地环境中的语义等价体。这时,EFI驱动器215中的一个可以与相关联的芯片集寄存器通信,并将结果提供给虚拟机。这提供了从遗留环境的迁移路径。
通过沙箱处理来自第三方的程序,VMM可以被用于提供预启动的安全性。以沙箱模式运行程序防止程序对系统其余部分的访问。代码可以被受信,因为其不能损害系统的其余部分。可以给予应用程序到系统资源的子集的访问,并且对未被指定用于更新的内存映射的部分的访问将捕捉到VMM中。然后,VMM预启动策略代理可以保护状态并卸载有问题的软件。
图3是描绘根据本发明一个实施例的用于沙箱处理非受信程序的VMM操作的处理流程图。在图3中示出的处理300,从操作305开始,其中非受信程序尝试非法写访问。在操作310,指令被捕捉到VMM。如果程序由EFI核心代码开始,并且如果程序可以访问EFI核心数据结构,那么访问是合法的。如果不是,则在操作320拒绝访问,并且控制返回到核心。
在一个实施例中,VMM可以沙箱处理从适配卡并经由第三方驱动器引入的代码可能受损的状态。这种软件技术的小代码脚本对成本敏感的基于闪存的系统来说是很有利的。
VMM以优先模式执行并模拟优先模式以执行EFI环境直到OS加载。因为VMM抽象这个次优先模式,所以VMM可以隐藏地址空间段。虚拟化被保护模式所允许的被保护存储和执行,变成安全基础结构的一部分。
图4描绘了根据本发明一个实施例通过使用VMM的安全应用的实现。在图4中示出的系统400,包括评价被评价的映像410的预启动认证驱动器405。被评价的映像410可以包含卖主的数字签名。签名可以是MD5或SHA-1签名。预启动认证驱动器405可以调用到VMM 420的签名逻辑421的入口点来确认签名。VMM 420提供安全存储器422,其可以在证明日志(attestation log)中包含合法驱动器和模块的签名。证明日志可以包含系统已经加载的代码的签名。如果这样,则VMM将确认代码,即平台将证实已经运行代码。这在进行控制之前向OS提供了代码可以被受信的保证。
这样,VMM提供了实现受信平台的预启动安全性(即API和框架),直到并包括OS加载。这时,OS加载程序可以提供它自己的安全性。
在上述说明书中,已经参照其特定的示例性实施例描述了本发明。但是很清楚,可以在不脱离由所附权利要求给出的本发明的更宽的精神和范围的情况下做出多种修改和改变。因此,说明书和附图将被认为是说明性的而不是限制性的。

Claims (13)

1.一种用于提供系统完整性和遗留环境模拟的方法,包括:
在具有以物理模式执行的本地环境的计算系统上实现可扩展固件框架;
在所述计算系统上实现基于固件的虚拟机监视器,所述虚拟机监视器包括在所述可扩展固件框架上运行的模块化的固件组件;
在所述计算系统的预启动期间加载所述虚拟机监视器;以及
使用所述虚拟机监视器来模拟本地环境中不存在的遗留硬件组件,来为预计这种硬件组件存在的遗留代码提供支持。
2.如权利要求1所述的方法,其中,所述本地环境包括32位环境或64位环境中的一个。
3.如权利要求2所述的方法,其中,所述虚拟机监视器提供PC/AT硬件模拟和PC/AT环境模拟中的至少一个。
4.如权利要求1所述的方法,还包括:
公开一种对在所述虚拟机监视器上运行的软件实体而言表现为物理模式环境的环境,其中,所述物理模式环境包括存储器映射,所述存储器映射包括1兆以下的内存地址,同时所述虚拟机监视器在不译码1兆以下物理地址的计算系统上实现。
5.如权利要求2所述的方法,还包括:
使得遗留可选只读存储器能够运行并使其输入/输出服务有效;以及
将所述输入/输出服务的结果转变成本地应用程序接口。
6.如权利要求1所述的方法,还包括:
在所述计算系统的预启动期间,利用所述可扩展固件框架加载第三方固件模块;以及
利用所述虚拟机监视器来认证所述第三方固件模块中的至少一个。
7.如权利要求6所述的方法,其中所述认证步骤包括:
通过比较由所述第三方固件模块提供的数字签名和存储在安全存储器中可由所述虚拟机监视器访问的数字签名,来认证所述第三方固件模块。
8.一种在计算系统中执行非受信代码的方法,包括:
在具有以物理模式执行的本地环境的计算系统上实现可扩展固件框架;
在具有所述可扩展固件框架的所述计算系统上实现虚拟机监视器;
在所述计算系统的预启动期间加载所述虚拟机监视器;
经由所述可扩展固件框架加载固件程序;
由所述虚拟机监视器捕捉所述固件程序的尝试写访问;
判断是否允许所述固件程序访问所述写访问相关的数据结构;以及
如果是,允许所述写访问执行;
否则,拒绝所述写访问。
9.如权利要求8所述的方法,其中判断是否允许所述固件程序访问所述数据结构的所述操作包括:
判断所述固件程序是否由可扩展固件接口核心代码启动;以及
判断是否允许所述固件程序访问可扩展固件接口核心数据结构。
10.一种用于提供系统完整性和遗留环境模拟的装置,包括:
具有以物理模式执行的本地执行环境的计算系统,该计算系统包括可扩展固件接口组件,经由该可扩展固件接口组件,能够在所述计算系统的预启动期间加载第三方固件模块;以及
在所述计算系统上实现的虚拟机监视器,所述虚拟机监视器模拟在本地环境中不存在的遗留硬件组件,来为在所述计算系统上运行的遗留代码提供支持。
11.如权利要求10所述的装置,其中,所述虚拟机监视器提供PC/AT硬件模拟和PC/AT环境模拟中的至少一个。
12.如权利要求10所述的装置,其中所述虚拟机监视器还包括用于认证在所述预启动期间加载的固件模块的固件组件。
13.如权利要求10所述的装置,其中所述虚拟机监视器还使得遗留可选只读存储器能够运行并使其输入/输出服务有效,并且将所述输入/输出服务的结果转变为本地应用程序接口。
CNB02819232XA 2001-09-27 2002-09-27 用于提供系统完整性和遗留环境模拟的方法及装置 Expired - Fee Related CN100533385C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/966,015 US7103529B2 (en) 2001-09-27 2001-09-27 Method for providing system integrity and legacy environment emulation
US09/966,015 2001-09-27

Publications (2)

Publication Number Publication Date
CN1585927A CN1585927A (zh) 2005-02-23
CN100533385C true CN100533385C (zh) 2009-08-26

Family

ID=25510821

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB02819232XA Expired - Fee Related CN100533385C (zh) 2001-09-27 2002-09-27 用于提供系统完整性和遗留环境模拟的方法及装置

Country Status (8)

Country Link
US (1) US7103529B2 (zh)
JP (1) JP2005528665A (zh)
KR (1) KR100692346B1 (zh)
CN (1) CN100533385C (zh)
AU (1) AU2002343467A1 (zh)
DE (1) DE10297273B4 (zh)
GB (1) GB2397415A (zh)
WO (1) WO2003027835A2 (zh)

Families Citing this family (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7174463B2 (en) * 2001-10-04 2007-02-06 Lenovo (Singapore) Pte. Ltd. Method and system for preboot user authentication
US7631196B2 (en) 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7069442B2 (en) * 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US7974416B2 (en) 2002-11-27 2011-07-05 Intel Corporation Providing a secure execution mode in a pre-boot environment
US20040128493A1 (en) * 2002-12-27 2004-07-01 Zimmer Vincent J. Methods and apparatus for providing a firmware defined radio
US7181723B2 (en) * 2003-05-27 2007-02-20 Intel Corporation Methods and apparatus for stride profiling a software application
US7380136B2 (en) * 2003-06-25 2008-05-27 Intel Corp. Methods and apparatus for secure collection and display of user interface information in a pre-boot environment
US7328340B2 (en) * 2003-06-27 2008-02-05 Intel Corporation Methods and apparatus to provide secure firmware storage and service access
US7434231B2 (en) * 2003-06-27 2008-10-07 Intel Corporation Methods and apparatus to protect a protocol interface
US7370324B2 (en) * 2003-09-30 2008-05-06 Intel Corporation Switching between a service virtual machine and a guest virtual machine in a virtual machine monitor environment
US7496961B2 (en) * 2003-10-15 2009-02-24 Intel Corporation Methods and apparatus to provide network traffic support and physical security support
US7516331B2 (en) * 2003-11-26 2009-04-07 International Business Machines Corporation Tamper-resistant trusted java virtual machine and method of using the same
US20050132022A1 (en) * 2003-12-12 2005-06-16 International Business Machines Corporation Computer system with LAN-based I/O
US7558723B2 (en) * 2003-12-12 2009-07-07 Microsoft Corporation Systems and methods for bimodal device virtualization of actual and idealized hardware-based devices
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US7437613B2 (en) * 2004-01-30 2008-10-14 Intel Corporation Protecting an operating system kernel from third party drivers
JP2005229270A (ja) * 2004-02-12 2005-08-25 Ricoh Co Ltd 画像形成装置、インタフェース方法
JP2005346182A (ja) * 2004-05-31 2005-12-15 Fujitsu Ltd 情報処理装置、耐タンパ方法、耐タンパプログラム
US7908653B2 (en) * 2004-06-29 2011-03-15 Intel Corporation Method of improving computer security through sandboxing
US20060005190A1 (en) * 2004-06-30 2006-01-05 Microsoft Corporation Systems and methods for implementing an operating system in a virtual machine environment
US7571090B2 (en) * 2004-09-30 2009-08-04 Intel Corporation Emulating a host architecture in guest firmware
US7793350B2 (en) * 2004-10-28 2010-09-07 International Business Machines Corporation Apparatus, system, and method for simulated access to restricted computing resources
JP4664055B2 (ja) * 2004-12-10 2011-04-06 株式会社エヌ・ティ・ティ・ドコモ プログラム分割装置、プログラム実行装置、プログラム分割方法及びプログラム実行方法
US20060143417A1 (en) * 2004-12-23 2006-06-29 David Poisner Mechanism for restricting access of critical disk blocks
US7774596B2 (en) * 2005-02-02 2010-08-10 Insyde Software Corporation System and method for updating firmware in a secure manner
US20060195693A1 (en) * 2005-02-28 2006-08-31 Intel Corporation Specter rendering
US20060242351A1 (en) * 2005-04-20 2006-10-26 Kavian Nasrollah A Method and apparatus for loading instructions into high memory
US20070006178A1 (en) * 2005-05-12 2007-01-04 Microsoft Corporation Function-level just-in-time translation engine with multiple pass optimization
US7496495B2 (en) * 2005-05-12 2009-02-24 Microsoft Corporation Virtual operating system device communication relying on memory access violations
US20070130114A1 (en) * 2005-06-20 2007-06-07 Xiao-Feng Li Methods and apparatus to optimize processing throughput of data structures in programs
US8839450B2 (en) * 2007-08-02 2014-09-16 Intel Corporation Secure vault service for software components within an execution environment
US8856473B2 (en) * 2005-07-01 2014-10-07 Red Hat, Inc. Computer system protection based on virtualization
US7363457B1 (en) 2005-07-21 2008-04-22 Sun Microsystems, Inc. Method and system for providing virtualization data services for legacy storage devices
CN100419681C (zh) * 2005-09-22 2008-09-17 联想(北京)有限公司 一种网络复制系统与方法
US8656487B2 (en) * 2005-09-23 2014-02-18 Intel Corporation System and method for filtering write requests to selected output ports
JP5061908B2 (ja) * 2005-12-27 2012-10-31 日本電気株式会社 プログラム実行制御方法および装置ならびに実行制御プログラム
US8719816B2 (en) * 2006-03-14 2014-05-06 University Of Utah Research Foundation Extendable framework for distributed applications and data
US7725305B2 (en) * 2006-06-08 2010-05-25 Microsoft Corporation Partial virtualization on computing device
US7721080B2 (en) * 2006-06-30 2010-05-18 Intel Corporation Management of option ROM
US8341747B2 (en) * 2006-08-08 2012-12-25 International Business Machines Corporation Method to provide a secure virtual machine launcher
US7673126B2 (en) * 2006-09-19 2010-03-02 Intel Corporation Methods and apparatus to self-initialize a processor
US7689817B2 (en) * 2006-11-16 2010-03-30 Intel Corporation Methods and apparatus for defeating malware
US7533207B2 (en) * 2006-12-06 2009-05-12 Microsoft Corporation Optimized interrupt delivery in a virtualized environment
US8776041B2 (en) * 2007-02-05 2014-07-08 Microsoft Corporation Updating a virtual machine monitor from a guest partition
US7769993B2 (en) * 2007-03-09 2010-08-03 Microsoft Corporation Method for ensuring boot source integrity of a computing system
US8904552B2 (en) * 2007-04-17 2014-12-02 Samsung Electronics Co., Ltd. System and method for protecting data information stored in storage
JP2008287505A (ja) * 2007-05-17 2008-11-27 Toshiba Corp 情報処理装置およびレガシーエミュレーション処理停止制御方法
WO2009015422A1 (en) * 2007-07-30 2009-02-05 Michael Kefaloukos A computer-implemented security method and system
US20090119748A1 (en) * 2007-08-30 2009-05-07 Jiewen Yao System management mode isolation in firmware
US7827371B2 (en) * 2007-08-30 2010-11-02 Intel Corporation Method for isolating third party pre-boot firmware from trusted pre-boot firmware
US8127296B2 (en) * 2007-09-06 2012-02-28 Dell Products L.P. Virtual machine migration between processors having VM migration registers controlled by firmware to modify the reporting of common processor feature sets to support the migration
US8522236B2 (en) * 2007-12-28 2013-08-27 Intel Corporation Method and system for establishing a robust virtualized environment
US8745337B2 (en) * 2007-12-31 2014-06-03 Teradyne, Inc. Apparatus and method for controlling memory overrun
JP5048526B2 (ja) * 2008-01-10 2012-10-17 株式会社日立製作所 計算機システム及びその計算機システムへのレガシーブート方法
US8769702B2 (en) 2008-04-16 2014-07-01 Micosoft Corporation Application reputation service
US8327415B2 (en) * 2008-05-30 2012-12-04 Intel Corporation Enabling byte-code based image isolation
US8909940B2 (en) * 2008-06-23 2014-12-09 Intel Corporation Extensible pre-boot authentication
US8201239B2 (en) * 2008-06-23 2012-06-12 Intel Corporation Extensible pre-boot authentication
TW201005535A (en) * 2008-07-17 2010-02-01 Ind Tech Res Inst Electronic apparatus and method for managing a plugged device
CN101373441B (zh) * 2008-09-19 2012-04-18 苏州壹世通科技有限公司 一种基于固件的虚拟化平台系统
US8041794B2 (en) * 2008-09-29 2011-10-18 Intel Corporation Platform discovery, asset inventory, configuration, and provisioning in a pre-boot environment using web services
US8086839B2 (en) * 2008-12-30 2011-12-27 Intel Corporation Authentication for resume boot path
US20100211769A1 (en) * 2009-02-19 2010-08-19 Subramonian Shankar Concurrent Execution of a Smartphone Operating System and a Desktop Operating System
CN101777002B (zh) * 2010-01-18 2012-12-19 杭州宇酷信息技术有限公司 一种基于虚拟化的软件运行方法
US8522066B2 (en) 2010-06-25 2013-08-27 Intel Corporation Providing silicon integrated code for a system
US8312258B2 (en) 2010-07-22 2012-11-13 Intel Corporation Providing platform independent memory logic
US8539245B2 (en) 2010-08-06 2013-09-17 Intel Corporation Apparatus and method for accessing a secure partition in non-volatile storage by a host system enabled after the system exits a first instance of a secure mode
US8386618B2 (en) 2010-09-24 2013-02-26 Intel Corporation System and method for facilitating wireless communication during a pre-boot phase of a computing device
US20120166172A1 (en) * 2010-12-23 2012-06-28 Fleming Bruce L Providing legacy computing compatibility
US9087196B2 (en) * 2010-12-24 2015-07-21 Intel Corporation Secure application attestation using dynamic measurement kernels
WO2012102725A1 (en) * 2011-01-28 2012-08-02 Hewlett-Packard Development Company, L.P. Authenticate a hypervisor with encoded information
US9038176B2 (en) 2011-03-31 2015-05-19 Mcafee, Inc. System and method for below-operating system trapping and securing loading of code into memory
US8863283B2 (en) 2011-03-31 2014-10-14 Mcafee, Inc. System and method for securing access to system calls
US8966624B2 (en) 2011-03-31 2015-02-24 Mcafee, Inc. System and method for securing an input/output path of an application against malware with a below-operating system security agent
US9262246B2 (en) 2011-03-31 2016-02-16 Mcafee, Inc. System and method for securing memory and storage of an electronic device with a below-operating system security agent
US8549644B2 (en) * 2011-03-28 2013-10-01 Mcafee, Inc. Systems and method for regulating software access to security-sensitive processor resources
US8925089B2 (en) 2011-03-29 2014-12-30 Mcafee, Inc. System and method for below-operating system modification of malicious code on an electronic device
US9032525B2 (en) 2011-03-29 2015-05-12 Mcafee, Inc. System and method for below-operating system trapping of driver filter attachment
US8966629B2 (en) 2011-03-31 2015-02-24 Mcafee, Inc. System and method for below-operating system trapping of driver loading and unloading
US8813227B2 (en) 2011-03-29 2014-08-19 Mcafee, Inc. System and method for below-operating system regulation and control of self-modifying code
US9317690B2 (en) 2011-03-28 2016-04-19 Mcafee, Inc. System and method for firmware based anti-malware security
US9087199B2 (en) 2011-03-31 2015-07-21 Mcafee, Inc. System and method for providing a secured operating system execution environment
US8959638B2 (en) 2011-03-29 2015-02-17 Mcafee, Inc. System and method for below-operating system trapping and securing of interdriver communication
CN102231116A (zh) * 2011-07-04 2011-11-02 成都市华为赛门铁克科技有限公司 应用程序虚拟化安装及加载方法及装置
US8578378B2 (en) * 2011-07-28 2013-11-05 Intel Corporation Facilitating compatible interaction, at least in part
JP5779281B2 (ja) * 2011-09-30 2015-09-16 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. コンピュータシステムにおける仮想化装置の制御
US8788763B2 (en) * 2011-10-13 2014-07-22 International Business Machines Corporation Protecting memory of a virtual guest
US8782351B2 (en) * 2011-10-13 2014-07-15 International Business Machines Corporation Protecting memory of a virtual guest
US20130117006A1 (en) * 2011-11-07 2013-05-09 Microsoft Corporation Simulated boot process to detect introduction of unauthorized information
US9054865B2 (en) * 2011-11-16 2015-06-09 V-Key, Inc. Cryptographic system and methodology for securing software cryptography
RU2472215C1 (ru) * 2011-12-28 2013-01-10 Закрытое акционерное общество "Лаборатория Касперского" Способ выявления неизвестных программ с использованием эмуляции процесса загрузки
BR112014013583A8 (pt) 2011-12-29 2017-06-13 Intel Corp método e aparelho para otimização de inicialização confiável
WO2013147825A1 (en) 2012-03-30 2013-10-03 Intel Corporation Providing an immutable antivirus payload for internet ready compute nodes
US8918879B1 (en) * 2012-05-14 2014-12-23 Trend Micro Inc. Operating system bootstrap failure detection
US9900157B2 (en) 2012-08-16 2018-02-20 Digicert, Inc. Object signing within a cloud-based architecture
US9230081B2 (en) 2013-03-05 2016-01-05 Intel Corporation User authorization and presence detection in isolation from interference from and control by host central processing unit and operating system
US9396011B2 (en) 2013-03-12 2016-07-19 Qualcomm Incorporated Algorithm and apparatus to deploy virtual machine monitor on demand
CN104133752B (zh) * 2013-06-25 2015-07-29 腾讯科技(深圳)有限公司 操作平台的监控方法和装置
CN105247528B (zh) 2013-06-27 2018-05-18 英特尔公司 连续多因素认证
US9411975B2 (en) 2014-03-31 2016-08-09 Intel Corporation Methods and apparatus to securely share data
US9652276B2 (en) * 2014-09-17 2017-05-16 International Business Machines Corporation Hypervisor and virtual machine protection
US10073964B2 (en) 2015-09-25 2018-09-11 Intel Corporation Secure authentication protocol systems and methods
US9449189B1 (en) * 2015-11-03 2016-09-20 International Business Machines Corporation Protection of state data in computer system code
US10019279B2 (en) 2015-12-17 2018-07-10 International Business Machines Corporation Transparent secure interception handling
ES2827790T3 (es) 2017-08-21 2021-05-24 Carrier Corp Sistema antiincendios y de seguridad que incluye bucle accesible por dirección y mejora automática de firmware
CN110134443A (zh) * 2018-02-08 2019-08-16 联想企业解决方案(新加坡)有限公司 在计算设备中执行附件的选项rom的方法和设备
US11238160B2 (en) * 2018-09-28 2022-02-01 Apple Inc. Boot firmware sandboxing
KR20210112923A (ko) 2020-03-06 2021-09-15 삼성전자주식회사 시스템 온 칩 및 이의 동작 방법

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55112651A (en) * 1979-02-21 1980-08-30 Fujitsu Ltd Virtual computer system
JPS6095648A (ja) * 1983-10-28 1985-05-29 Fujitsu Ltd 仮想fba擬似処理装置
US4787031A (en) * 1985-01-04 1988-11-22 Digital Equipment Corporation Computer with virtual machine mode and multiple protection rings
JPS6278642A (ja) * 1985-10-01 1987-04-10 Hitachi Ltd メモリ管理ユニツト制御方式
JP2708608B2 (ja) * 1990-05-25 1998-02-04 富士通株式会社 仮想計算機のipl処理方式
US5437033A (en) * 1990-11-16 1995-07-25 Hitachi, Ltd. System for recovery from a virtual machine monitor failure with a continuous guest dispatched to a nonguest mode
US5522075A (en) * 1991-06-28 1996-05-28 Digital Equipment Corporation Protection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces
US5721922A (en) * 1994-10-13 1998-02-24 Intel Corporation Embedding a real-time multi-tasking kernel in a non-real-time operating system
US5844986A (en) * 1996-09-30 1998-12-01 Intel Corporation Secure BIOS
GB9626241D0 (en) * 1996-12-18 1997-02-05 Ncr Int Inc Secure data processing method and system
KR20000062377A (ko) * 1996-12-30 2000-10-25 사이러스 로직, 인크. 구 버젼과 호환가능한 운영 체계에서의 실시간 서비스
WO1998036517A1 (en) * 1997-02-13 1998-08-20 Jpc, Inc. Security coprocessor for enhancing computer system security
US6075938A (en) 1997-06-10 2000-06-13 The Board Of Trustees Of The Leland Stanford Junior University Virtual machine monitors for scalable multiprocessors
US6175924B1 (en) * 1997-06-20 2001-01-16 International Business Machines Corp. Method and apparatus for protecting application data in secure storage areas
US6321323B1 (en) * 1997-06-27 2001-11-20 Sun Microsystems, Inc. System and method for executing platform-independent code on a co-processor
IL126148A (en) * 1997-09-09 2004-02-19 Sanctum Ltd Method and system for maintaining restricted operating environments for application programs or operating systems
JPH11215120A (ja) * 1998-01-27 1999-08-06 Fujitsu Ltd 通信装置
US6397242B1 (en) * 1998-05-15 2002-05-28 Vmware, Inc. Virtualization system including a virtual machine monitor for a computer with a segmented architecture
US6496847B1 (en) * 1998-05-15 2002-12-17 Vmware, Inc. System and method for virtualizing computer systems
US6609199B1 (en) * 1998-10-26 2003-08-19 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
US7430668B1 (en) * 1999-02-15 2008-09-30 Hewlett-Packard Development Company, L.P. Protection of the configuration of modules in computing apparatus
US6986137B1 (en) * 1999-09-28 2006-01-10 International Business Machines Corporation Method, system and program products for managing logical processors of a computing environment
US7035963B2 (en) * 2000-12-27 2006-04-25 Intel Corporation Method for resolving address space conflicts between a virtual machine monitor and a guest operating system
US7818808B1 (en) 2000-12-27 2010-10-19 Intel Corporation Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
US7272831B2 (en) * 2001-03-30 2007-09-18 Intel Corporation Method and apparatus for constructing host processor soft devices independent of the host processor operating system
US7487330B2 (en) * 2001-05-02 2009-02-03 International Business Machines Corporations Method and apparatus for transferring control in a computer system with dynamic compilation capability
US6922774B2 (en) * 2001-05-14 2005-07-26 The United States Of America As Represented By The National Security Agency Device for and method of secure computing using virtual machines

Also Published As

Publication number Publication date
GB0404784D0 (en) 2004-04-07
US20030061497A1 (en) 2003-03-27
WO2003027835A2 (en) 2003-04-03
CN1585927A (zh) 2005-02-23
US7103529B2 (en) 2006-09-05
KR20040037148A (ko) 2004-05-04
DE10297273T5 (de) 2004-09-16
JP2005528665A (ja) 2005-09-22
GB2397415A (en) 2004-07-21
DE10297273B4 (de) 2008-08-21
WO2003027835A3 (en) 2004-07-15
AU2002343467A1 (en) 2003-04-07
KR100692346B1 (ko) 2007-03-09

Similar Documents

Publication Publication Date Title
CN100533385C (zh) 用于提供系统完整性和遗留环境模拟的方法及装置
US8312509B2 (en) High integrity firmware
CN108292337B (zh) 虚拟化环境下安全堡垒区域的可信开启
US9489512B2 (en) Trustzone-based integrity measurements and verification using a software-based trusted platform module
US8321931B2 (en) Method and apparatus for sequential hypervisor invocation
CN110348252B (zh) 基于信任区的操作系统和方法
AU2013297064B2 (en) Methods, systems, and computer readable medium for active monitoring, memory protection and integrity verification of target devices
US8327415B2 (en) Enabling byte-code based image isolation
US20070005919A1 (en) Computer system protection based on virtualization
KR20180099682A (ko) 가상 머신 감사를 위한 시스템 및 방법들
WO2015174512A1 (ja) 情報処理装置、情報処理監視方法、プログラム、及び記録媒体
WO2023123850A1 (zh) 一种固件可信根的实现方法、装置、设备和可读存储介质
Malenko et al. Device driver and system call isolation in embedded devices
WO2024040508A1 (en) Memory preserved warm reset mechanism
Yao et al. Proactive Firmware Security Development
JP2018036695A (ja) 情報処理監視装置、情報処理監視方法、監視プログラム、記録媒体及び情報処理装置
Mironov et al. Trusted Boot Mechanisms in Physical and Virtual Environments
Yao et al. Trusted Execution Environment
CN117932689A (zh) 服务的保护方法、装置、电子设备及可读存储介质
Zimmer System Isolation Beyond BIOS using the Unified Extensible Firmware Interface.
Parno et al. How Do We Make Sense of Platform State?

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090826

Termination date: 20150927

EXPY Termination of patent right or utility model