CN100377092C - 通过重定向系统管理中断和创建虚拟机容器来抵御非可信系统管理代码的系统和方法 - Google Patents

通过重定向系统管理中断和创建虚拟机容器来抵御非可信系统管理代码的系统和方法 Download PDF

Info

Publication number
CN100377092C
CN100377092C CNB038188236A CN03818823A CN100377092C CN 100377092 C CN100377092 C CN 100377092C CN B038188236 A CNB038188236 A CN B038188236A CN 03818823 A CN03818823 A CN 03818823A CN 100377092 C CN100377092 C CN 100377092C
Authority
CN
China
Prior art keywords
code
handling procedure
smm
child
interrupt
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
CNB038188236A
Other languages
English (en)
Other versions
CN1675623A (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 CN1675623A publication Critical patent/CN1675623A/zh
Application granted granted Critical
Publication of CN100377092C publication Critical patent/CN100377092C/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/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
    • 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
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect

Abstract

描述了用于在微处理器系统内的安全操作期间允许执行系统管理模式(SMM)代码的系统和方法。在一种实施方案中,系统管理中断(SMI)可以首先被定向到安全虚拟机监控程序(SVMM)内的处理程序。然后,SMI可以被重定向到在SVMM的安全控制下的虚拟机(VM)内的SMM代码。这个重定向可以通过允许SVMM读写处理器中的系统管理(SM)基址寄存器来实现。

Description

通过重定向系统管理中断和创建虚拟机容器来抵御非可信系统管理代码的系统和方法
技术领域
本发明总地涉及微处理器系统,更具体地说,涉及可以在可信或安全环境中运行的微处理器系统。
背景技术
处理器可以根据系统操作的即时需求而运行在几种处理器操作模式中。通常,处理器可以具有管理员模式、用户模式,有时还具有其他专用模式。管理员模式可以支持操作系统的执行,并且可以使大多数指令得到执行,包括特权指令。在管理员模式中可以对不同的地址空间和外围设备进行访问。而与管理员模式相比,用户模式可能只限于非特权指令,使得用户代码不能干扰系统功能。
经常出现的情况是商业上发行的软件不能与特定的原始设备制造商(OEM)的硬件组完美配合。由于说明书误解或实现错误,可能存在的情形是软件试图按照硬件没有预期或不支持的方式访问硬件。简单的例子可能是软件程序期望把值放入地址x上的寄存器内,然而硬件内的实际寄存器是在地址x+y上。这可能引起系统异常。
为了处理这样的情形,可以设计处理器来支持这样一种操作模式,其为了执行低级修补程序,具有以操作系统透明或准透明的方式或者以特权级独立的方式来运行的能力。为了本申请,这样的模式可以被定义为“子操作系统模式(sub operating system mode)”。一种这样的模式是IntelPentium处理器系列和兼容处理器的系统管理模式(SMM)。(参见IntelPentium4处理器软件开发者手册第14章,卷III,2001版,序号245472,可以从美国加利福尼亚圣克拉拉的英特尔公司获得)。其他子操作系统模式可以存在于MIPS TechnologiesMIPS32TM或MIPS64TM体系结构处理器、IBMPowerPCTM体系结构处理器、SPARC InternationalSPARC体系结构处理器、或许多其他处理器内。子操作系统模式的存在可能具有额外的系统优点,例如支持转换到断电模式。为了处理上述软件和硬件失配,现有的子操作系统模式实现可以没有任何特权限制或地址映射限制。子操作系统模式可以由专用子操作系统模式中断来激活(invoke),有时由系统固件或系统硬件产生。这个专用子操作系统模式中断通常被设计成不可屏蔽的,以便响应进入模式所需的紧急事件。
子操作系统模式通常可以具有下列主要机制。进入模式的唯一途径是依靠专用子操作系统模式中断。在SMM的情况下,专用子操作系统模式中断被称为系统管理中断(SMI)。处理器可以执行在单独的地址空间内的模式代码。例如,当模式是SMM时,所述单独的地址空间允许访问系统管理随机访问存储器(SMRAM),对于其他操作模式而言,该SMRAM不能被访问。当进入所述模式时,处理器把被中断的程序或任务的上下文保存在所述单独地址空间内。例如,在SMM中,上下文被保存在SMRAM内。在该模式内的执行期间,可以禁用正常的中断。最后,依靠恢复指令可以退出该模式,所述恢复指令只有在该模式内执行时才可以被执行。
在本地或远程微型计算机上执行的金融和个人事务在数量上的不断增加已经推动了“可信”或“安全”微处理器环境的建立。这些环境试图要解决的问题是私密丢失(loss ofprivacy)或者数据被破坏或滥用。用户不想公开他们的私人数据。他们也不想在不适当的事务中改变或使用他们的数据。这样的例子包括非故意地泄露医疗记录或者从在线银行或其他存放处电子盗窃资金。类似地,内容提供者设法保护数字内容(例如,音乐、其他音频、视频或其他类型的一般数据)在未经授权的情况下被复制。
对于安全或可信系统的设计者来说,子操作系统模式例如SMM的存在是一种设计挑战。这样的子操作系统模式没有特权限制或地址映射限制的事实与安全或可信系统体系结构不相容。并且通过试图屏蔽上述模式的专用中断,通常也无法避免这种特权限制或地址映射限制的缺少,因为这些中断通常被设计成不可屏蔽的。
附图说明
在附图中本发明是以实施例的方式,而不是以限定的方式来说明的,附图中相同的附图标号表示类似的元件,其中:
图1是现有实施方式中系统管理RAM内的系统管理模式代码的存储器映射。
图2是根据一种实施方案,具有可信和非可信区的示例性软件环境图。
图3是根据本发明一种实施方案,适合于支持图2的软件环境的示例性微处理器系统的示意图。
图4是根据本发明一种实施方案,示出运行在虚拟机容器中的系统管理代码的图。
图5是根据本发明一种实施方案,示出系统管理中断重定向的图。
图6是根据本发明另一种实施方案,适合于支持图2的软件环境的示例性微处理器系统的示意图。
图7是根据本发明另一种实施方案,示出系统管理中断重定向的图。
具体实施方式
下面的说明描述了允许在微处理器系统中的可信或安全环境内执行某种系统管理模式代码的技术。在下面说明中,为了更彻底地理解本发明,阐述了许多具体细节,例如逻辑实现、软件模块分配、加密技术、总线信令技术、以及操作细节。然而,本领域技术人员将能理解,没有上述具体细节也可以实施本发明。此外,为了不混淆本发明,没有详细示出控制结构、门级电路和全部软件指令序列。获悉本文所包含的说明的本领域普通技术人员无需超出常规的试验就能够实现适当的功能性。本发明是以微处理器系统的形式公开的。然而,以其他处理器的形式也可以实现本发明,例如数字信号处理器、小型计算机或大型计算机。
为了在安全或可信环境内允许受限的子操作系统模式代码执行,子操作系统模式中断可以首先被定向到可信代码内的处理程序,所述处理程序控制虚拟机对系统资源的访问。可以通过允许可信代码对处理器内的中断服务寄存器进行读写来实现到处理程序的这种定向,所述寄存器包括服务上述子操作系统模式中断所需要的代码的位置。(中断服务寄存器通常可以定义为在接收到中断时用于确定应当执行的代码的寄存器。)然后,子操作系统模式中断将被重定向到子操作系统模式代码来进行中断服务,所述子操作系统模式代码位于在上述可信代码的安全控制下的另一虚拟机内。可替换地,微处理器的虚拟化体系结构可以是这样的,就是当已经建立了可信代码时,子操作系统模式中断将不再使用正常中断服务寄存器,相反将会引起向与虚拟化体系结构一致的可信代码的转换。
在子操作系统模式是系统管理模式(SMM)的示例性情况下,安全或可信环境内的SMM代码执行可以通过使系统管理中断(SMI)首先被定向到安全虚拟机监控程序(SVMM)内的处理程序而开始。可以通过允许SVMM对处理器内的系统管理基址(SMBASE)寄存器(PSMBASE)进行读写来实现定向到处理程序。然后,SMI将被重定向到位于虚拟机(VM)内的SMM代码,所述虚拟机是在SVMM的安全控制下。可替换地,处理器的虚拟化体系结构可以禁止(disable)PSMBASE寄存器的使用,并且使所有的SMI被直接重定向到SVMM。
在一种实施方案中,SMM代码可以被授权访问除存储器内受保护的页面(pages)之外的所有系统资源、以及维持这一保护的相关系统控制。为了实现这个,在安全操作的初始化之后,SMI可以首先被定向到SVMM内的处理程序。这个处理程序可以为SMM代码建立适当的虚拟机(VM)容器,并且使SMI被重定向到那个代码。通过在VM容器内执行SMM代码,可以防止SMM代码访问各种系统资源,例如SVMM已经认为受到保护的存储器。在一种实施方案中,SMM代码现在可以被写入以符合VM要求。一种这样的符合变化可以是按照平面保护模式或某一其他页面存储器访问模式写入SMM代码。
现在参考图1,图中所示为在一种实施方案中,系统管理随机访问存储器(SMRAM)内的系统管理模式(SMM)代码的存储器映射。在正常的系统初始化期间,系统随机访问存储器(RAM)110的一部分可以被留出,用于由SMM代码独占使用。这个留出部分称为系统管理RAM(SMRAM)。芯片组或处理器内的中断服务寄存器可以指向SMRAM内的具体存储位置,所述中断服务寄存器在一种实施方案中被称为系统管理基址(SMBASE)寄存器。
芯片组SMBASE寄存器的内容CSMBASE可以定义SMRAM的边界。例如,SMRAM可以占据CSMBASE 120和CSMBASE+FFFF(十六进制)132之间的空间。在其他实施方案中,为了支持两个或多个处理器同时执行SMM代码,每个处理器可以具有它自己的专用SMRAM空间。处理器的SMBASE寄存器内容PSMBASE可以定义SMRAM内的代码入口点和状态保存位置。例如,在SMRAM内,标准的代码入口点可以位于CSMBASE+8000(十六进制)124。在系统初始化时,CSMBASE的值可以被写入每个处理器的SMBASE寄存器,从而允许每个处理器在接收到SMI时转向SMM代码入口点。在进入SMM代码之前,在一种实施方案中,处理器可以把状态数据存储在地址PSMBASE+FE00(十六进制)128和SMBASE+FFFF(十六进制)132位置上的SMRAM末端之间的状态保存区内。在其他实施方案中,为了支持两个或多个处理器同时执行SMM代码,每个处理器的SMBASE寄存器可以包含不同的PSMBASE值,允许代码入口点和存储状态数据的位置不同。
状态数据可以包括控制寄存器的值、标志、自动中断重启动字段、输入/输出(I/O)指令重启动字段、以及SMM修订版标识符。SMRAM内的某些位置可以由SMI处理程序进行修改。SMM代码执行一旦完成,当处理器执行恢复(RSM)指令时,可以重新进入原始程序。这个现有的RSM指令只可以在SMM内发出,并且RSM指令恢复以前存储在SMRAM内的状态值。这个现有SMM设计的使用是本领域公知的。
现在参考图2,图中所示为根据本发明一种实施方案的示例性可信或安全软件环境图。在图2的实施方案中,可信或安全软件可以同时被加载,并且可以在单个计算机系统上同时执行。SVMM 250可选择地允许或防止非可信操作系统240(或者,如果多个非可信虚拟机被实现,则为多个操作系统)和非可信应用程序210-230对硬件资源280的直接访问。在这个上下文中,“非可信”并不一定是指操作系统或应用程序正在故意错误运行,而是指交互作用的代码的大小和种类使得可靠地断言软件正在按照预想运行变得不切实际,并且是指没有病毒或其他无关代码正在干扰它的执行。在典型的实施方案中,非可信代码可能是由在当今的个人计算机上常见的操作系统和应用程序组成。
SVMM 250也可选择地允许或防止一个或多个可信或安全核心程序260以及一个或多个可信应用程序270直接访问硬件资源280。可以限制上述可信或安全核心程序260和可信应用程序270的大小和功能性,从而有助于在其上完成信任分析的能力。可信应用程序270可以是在安全环境中可执行的任何软件代码、程序、例程或例程组。因此,可信应用程序270可以是各种应用程序或代码序列,或者可以是相对较小的应用程序,例如Javaapplet程序。
由能改变系统资源保护或特权的操作系统240或核心程序260正常执行的指令或操作可以被SVMM 250陷入(trap),并且被可选择地允许、部分允许或拒绝。作为实施例,在典型的实施方案中,改变在正常情况下将由操作系统240或核心程序260执行的处理器页面表的指令将会被SVMM 250陷入,这将确保所述请求不是在试图改变在它的虚拟机辖域之外的页面特权。察看这个系统的一种方法是操作系统240、核心程序260、以及SVMM 250都是虚拟机,其中操作系统240虚拟机和核心程序260虚拟机都在SVMM 250虚拟机内执行。因此创建了虚拟机层次结构。这时在一种实施方案中,虚拟机可以被定义为任何的多用户共享资源操作系统,所述系统给每个用户以能单独控制所有系统资源的感觉,或者虚拟机也可以被定义为反过来由底层控制程序进行管理的操作系统。
现在参考图3,图中所示为适合于支持图2安全软件环境的微处理器系统300的一种实施方案。CPU A 310、CPU B 314、CPU C 318以及CPU D 322可以配置有附加的微代码或逻辑电路用以支持执行特殊指令。在一种实施方案中,处理器可以是IntelPentium级的微处理器,其中根据本发明的实施方案进行了某些特殊修改。这些特殊指令可以支持在系统总线320上发布专用总线消息,所述总线消息可以使处理器内的SVMM 250操作能够适当同步。类似地,芯片组330可以支持系统总线320上的上述特殊周期。物理处理器的数量可以根据具体实施方案的实现来改变。
在图3的实施方案中,四个处理器CPU A 310、CPU B 314、CPU C 318以及CPU D322图示为四个单独的硬件实体。在其他实施方案中,处理器的数量可以不同。实际上,这些处理器可以用分别在多个物理处理器之一上运行的单独线程来替换。在后者情况下,这些线程拥有许多附加物理处理器的属性。为了用一般的表达方式来讨论使用多个物理处理器和多个在处理器上的线程的任何混合,表达“逻辑处理器”可以用来描述一个物理处理器或在多个物理处理器之一内运行的线程。因此,一个单线程处理器可以认为是一个逻辑处理器,多线程或多核心处理器可以认为是多个逻辑处理器。
在一种实施方案中,对处理器的修改可以包括对寄存器性能的改变以及新的或经过修改的指令。例如,在一种实施方案中,CPU C 318可以包括新指令安全进入(SENTER)324。SENTER 324指令在执行时可以使如上面图2中所示的安全或可信操作开始。SENTER324可以使多个逻辑处理器能够同步进入安全或可信操作。在一种实施方案中,SENTER324也可以在某些情况下允许对CPU C 318的PSMBASE寄存器316进行写入,以支持安全或可信SMM操作。
在一种实施方案中,CPU C 318也可以包括修改的恢复(RSM)326指令。修改的RSM 326可以允许从支持安全或可信操作的SMM中返回。通常,RSM指令可以只从SMM内部执行。修改的RSM 326可以从普通的页面模式内执行。当用激活的VM扩展名调用时,修改的RSM 326指令可以完成被称为VMexit的特殊系统调用,返回到用于SMI的SVMM处理程序。
芯片组330可以服务通过系统总线320从CPU传送的读写请求,然后,可以对物理存储器334执行物理读写操作。通过包含CSMBASE值的芯片组SMBASE寄存器331可以协助存储器334内的SMRAM分配。芯片组330另外可以连接到专用的输入/输出(I/O)通道,例如加速图形接口(AGP)336。芯片组330可以控制从CPU A 310、CPU B 314、CPU C 318、CPU D 322以及另外从I/O设备对物理存储器334内的存储器页面的访问。这样的设备可以包括大容量存储设备,例如固定介质344或可移动介质348。固定介质344或可移动介质348可以是磁盘、磁带、磁碟、磁光驱动器、CD-ROM、DVD-ROM、闪存卡,或许多其他形式的大容量存储设备。经由外围部件互接(PCI)总线346,或者可替换地,经由通用串行总线(USB)342、集成控制器电子设备(IDE)总线(未图示)或小型计算机系统互接(SCSI)总线(未图示),固定介质344或可移动介质348可以连接到芯片组330。
SVMM 364可以允许或拒绝VM对存储器334内特定页面的访问。拒绝VM访问的存储器页面可以称为“锁定”页面,而允许VM访问的存储器页面可以称为“解锁”页面。SVMM 364以及SVMM 364内的模块可以位于锁定存储器页面360内以支持安全SMM操作。在一种实施方案中,上述模块可以包括SVMM SMM处理程序366和虚拟机退出(VMexit)/虚拟机调用(VMcall)处理程序368。在其他实施方案中,SVMM SMM处理程序366和VMexit/VMcall处理程序368的功能可以组合起来或者可以分布在其他模块中。其他存储器页面可以保持解锁,例如解锁存储器页面362。标准操作系统372可以位于解锁存储器页面362内。SMM虚拟机(SMM VM)370也可以位于解锁存储器页面362内。SMM VM 370可以包括软件代码,所述软件代码类似于标准SMM代码但被修改以在虚拟机容器内运行。SMM VM 370内的上述修改可以包括准备以页面模式而不是普通SMM来执行的代码。
在图3的实施方案中,图示为在单个独立的集成电路上来实现芯片组330的存储器控制器和I/O设备控制器功能。在替换性实施方案中,独立的存储器控制器集成电路通常可以实现上述芯片组330的存储器控制器功能。类似地,独立的I/O设备控制器集成电路通常可以实现上述芯片组330的I/O设备控制器功能。在另外的实施方案中,可以在CPU集成电路上的电路内实现芯片组330的存储器控制器功能,允许几个CPU各自能直接访问一定数量的物理存储器。在这样的实施方案中,芯片组330的存储器控制器功能可以被分割在几个CPU集成电路中,或者对于多个处理器,可以包括在单个管芯(die)上。
现在参考图4,图示了根据本发明一种实施方案在虚拟机(VM)容器内运行的系统管理代码(SMM)。在图4的实施方案中,SVMM 450具有两个附加模块以支持安全或可信SMM操作。SVMM SMM处理程序452在SMM VM 490内建立SMM代码,以响应SENTER指令的执行。VMexit/VMcall处理程序454处理进入及退出SMM VM 490,这是由于SMM VM 490在它的VM容器内的有意更低的特权级。在某些实施方案中,SVMMSMM处理程序452和VMexit/VMcall处理程序454可以是同一软件模块。
SVMM SMM处理程序452可以执行几项功能。在转换成安全或可信操作期间,在处理器执行SENTER指令之后,SVMM SMM处理程序452在虚拟机容器内加载并启动SMM VM 490代码。在某些实施方案中,SVMM SMM处理程序452然后将把其自身内的入口位置写入系统中每个处理器的修改后的SMBASE寄存器内。这个入口位置允许SMI首先被定向到SVMM SMM处理程序452。对于其他实施方案来说可以不需要调用VMexit/VMcall处理程序454来直接响应系统-管理中断;对于这些实施方案来说,SVMMSMM处理程序452和VMexit/VMcall处理程序454将组合成一个软件模块。SVMM SMM处理程序452也在锁定存储器页面内建立空间,用以存储在进入SMM操作时需要保存的状态数据。上面结合图1论述了状态数据的实施例。把这个状态数据放入锁定存储器页面内,这样防止了状态数据的未授权公开或操纵。
VMexit/VMcall处理程序454可以执行几项功能。VMexit/VMcall处理程序454可以在初始进入之后处理进入及退出SMM VM 490。VMexit/VMcall处理程序454也可以处理在SMM VM 490试图读写锁定存储器页面时产生的例外。VMexit/VMcall处理程序454的若干部分可以根据情况确定这些对锁定存储器页面的读写中的某些是否应该被允许进行。在一种实施方案中,如果VMexit/VMcall处理程序454确定在锁定存储器页面内指定的位置不包含可信数据,则可以允许对锁定存储器页面进行读写。
SMM VM 490包含预想的SMM代码,该代码从SMM模式格式修改为现在以存储器页面访问模式来执行。通常,除了那些用于创建对锁定存储器页面的存储器读写的指令的例外情形之外,SMM VM 490内的SMM代码根据写入来执行。在那些情形中,SMM代码可以调用VMexit/VMcall处理程序454。SMM代码可以显式调用VMexit/VMcall处理程序454,或者通过允许例外来陷入而间接调用VMexit/VMcall处理程序454。在任一情形下,VMexit/VMcall处理程序454部会处理这些情况。
现在参考图5,图示了根据本发明一种实施方案的系统管理中断重定向的图。考虑在安全或可信操作启动之后在硬件480内的SMI产生事件。处理器检查它的SMBASE寄存器。由于SVMM SMM处理程序452在启动之后将一个内部存储器位置写入处理器中修改后的SMBASE寄存器内,处理器开始执行SVMM SMM处理程序452。SVMM SMM处理程序452把状态数据存储在锁定存储器页面内,然后发出对SMM VM 490内的实际SMM代码的虚拟模式进入(VMenter)调用。在另一种实施方案中,SMI可以引发SVMM的VMexit处理程序的调用。
SMM VM 490内的SMM代码执行,直到它试图对锁定存储器页面内的存储器位置进行读写。然后,通过显式调用或者通过导致陷入的例外,可以使VMexit/VMcall 524调用VMexit/VMcall处理程序454。VMexit/VMcall处理程序454执行它认为可允许的那些存储器访问,然后,通过另一VMenter 522返回到SMM VM 490。这个过程可以重复几次直到完成了SMM VM 490内的预想SMM代码。此时,SMM代码经由最后的VMexit/VMcall 524退出到VMexit/VMcall处理程序454。对于某些实施方案来说,通过执行修改后的恢复指令SMM VM代码RSM 526,VMexit/VMcall处理程序454接着将退出到SVMM SMM处理程序452。这使得SVMM SMM处理程序452恢复被存储在锁定存储器页面内(可能被VMexit/VMcall处理程序454修改)的状态数据。对于其他实施方案来说,SVMM SMM处理程序452和VMexit/VMcall处理程序454可以组合起来,并且这些操作可以用软件来实现。一旦恢复了状态数据,处理器继续它的初始操作。
现在参考图6,图示了根据本发明另一种实施方案,适合于支持图2的软件环境的示例性微处理器系统的示意图。CPU A 610、CPU B 614、CPU C 618以及CPU D 622可以用附加的微代码或逻辑电路来配置,以支持特殊指令的执行。在一种实施方案中,对处理器的修改可以包括对寄存器性能的改变以及新的或修改的指令。例如,在一种实施方案中,CPU C 618可以包括新指令“虚拟机监控程序初始化”(VMMINIT)624。VMMINIT 624指令在执行时可以使如上面图2中所示的安全或可信操作开始。在一种实施方案中,VMMINIT 624也可以在某些情况下禁用(disable)CPU C 618的PSMBASE寄存器616的正常操作,以支持安全或可信SMM操作。在这样的实施方案中,CPU C 618然后可以将SMI重定向到VMexit/VMcall处理程序668内按照安全环境规则而预置的代码入口点和状态存储区。
在一种实施方案中,CPU C 618也可以包括修改的恢复(RSM)626指令。修改的RSM 626可以允许从支持安全或可信操作的SMM中返回。通常,RSM指令只可以从SMM内部执行。修改的RSM 626可以从普通页面模式内执行。当用激活的VM扩展名调用时,修改的RSM 626指令可以执行被称为VMexit的特殊系统调用,返回以调用VMexit/VMcall处理程序668。
芯片组630可以服务通过系统总线620从CPU传送的读写请求,然后,可以对物理存储器634执行物理读写操作。利用包含CSMBASE值的芯片组SMBASE寄存器631,可以协助存储器634内的SMRAM分配。
SVMM 664可以允许或拒绝VM对存储器634内特定页面的访问。拒绝VM访问的存储器页面可以称为“锁定”页面,而允许VM访问的存储器页面可以称为“解锁”页面。SVMM 664以及SVMM 664内的模块可以位于锁定存储器页面660内以支持安全SMM操作。在一种实施方案中,所述模块可以包括VMexit/VMcall处理程序668。在其他实施方案中,VMexit/VMcall处理程序668的功能可以组合起来或者可以分布在其他模块中。其他存储器页面可以保持解锁,例如解锁存储器页面662。标准操作系统672可以位于解锁存储器页面662内。SMM VM 670也可以位于解锁存储器页面662内。SMM VM 670可以包括软件代码,所述软件代码类似于标准SMM代码但被修改以在虚拟机容器内运行。SMM VM 670内的上述修改可以包括准备以页面模式而不是普通SMM来执行的代码。
现在参考图7,图示了根据本发明另一种实施方案的系统管理中断重定向的图。在图7的实施方案中,SVMM 750具有两个附加模块以支持安全或可信SMM操作。在一种实施方案中,VMexit/VMcall处理程序754在SMM VM 790内建立SMM代码,以响应VMMINIT指令的执行,另外还处理进入及退出SMM VM 790,这是由于SMM VM 790在它的VM容器内的有意更低的特权级。
VMexit/VMcall处理程序754可以执行几项功能。在转换成安全或可信操作期间,在处理器执行VMMINIT指令之后,VMexit/VMcall处理程序754在虚拟机容器内加载并启动SMM VM 790代码。VMexit/VMcall处理程序754也在锁定存储器页面内建立空间,用以存储在进入SMM操作时需要被保存的状态数据。
VMexit/VMcall处理程序754可以执行几项功能。VMexit/VMcall处理程序754可以处理进入及退出SMM VM 790。VMexit/VMcall处理程序754也可以处理在SMM VM 790试图读写锁定存储器页面时产生的例外。VMexit/VMcall处理程序754中的若干部分可以根据情况来确定这些对锁定存储器页面的读写中的某些是否应该被允许进行。在一种实施方案中,如果VMexit/VMcall处理程序754确定在锁定存储器页面内指定的位置不包括可信数据,则可以允许对锁定存储器页面进行读写。
SMM VM 790包含预想的SMM代码,该代码从SMM模式格式修改为现在以存储器页面访问模式来执行。通常,除了那些用于创建对锁定存储器页面的存储器读写的指令的例外情形之外,SMM VM 790内的SMM代码根据写入来执行。在那些情形下,SMM代码可以调用VMexit/VMcall处理程序754。SMM代码可以显式调用VMexit/VMcall处理程序754,或者通过允许例外来陷入而间接调用VMexit/VMcall处理程序754。在任一情形下,VMexit/VMcall处理程序754都会处理这些情况。
考虑在安全或可信操作启动之后硬件780内的SMI产生事件。处理器检查它的SMBASE寄存器。由于VMMINIT的执行禁用了对处理器内修改后的SMBASE寄存器进行正常操作,因此处理器从按照安全环境规则预置的代码入口点开始执行VMexit/VMcall处理程序754。VMexit/VMcall处理程序754把状态数据存储在锁定存储器页面内,然后发出对SMM VM 790内的实际SMM代码的VMenter调用722。
SMM VM 790内的SMM代码执行,直到它试图对锁定存储器页面内的存储器位置进行读写。然后,通过显式调用或者通过导致陷入的例外,可以使VMexit/VMcall 724调用VMexit/VMcall处理程序754。VMexit/VMcall处理程序754执行它认为可允许的那些存储器访问,然后,通过另一VMenter 722返回到SMM VM 790。这个过程可以重复几次直到完成了SMM VM 790内的预想SMM代码。此时,SMM代码经由最后的VMexit/VMcall 724退出到VMexit/VMcall处理程序754。对于某些实施方案来说,通过首次执行修改后的恢复指令,VMexit/VMcall处理程序454接着将退出到正常的SVMM 750操作。这使得VMexit/VMcall处理程序754恢复被存储在锁定存储器页面内(可能被VMexit/VMcall处理程序754修改)的状态数据。一旦恢复了状态数据,处理器将继续它的初始操作。
虽然公开的不同实施方案包括两个或多个处理器(逻辑或物理处理器),但应该理解,更具体地描述了这样的多处理器和/或多线程系统以解释增加的复杂性,所述复杂性与确保具有多个逻辑处理器或物理处理器的系统的安全有关。在复杂程度较低的系统中,同样可能有利的实施方案可以只使用一个处理器。在某些情况下,一个物理处理器可以是多线程运行的,从而可以包括多个逻辑处理器。然而,在其他情况下,可以使用单处理器、单线程系统,但仍然利用所公开的安全处理技术。在上述情况下,所述安全处理技术仍然可以减少以未授权方式窃取或操纵数据的可能性。
在前述说明书中,已经参考本发明的示例性实施方案对其进行了描述。然而,显然可以对本发明进行各种修改和变化而不脱离所附权利要求书所提出的本发明更宽的精神和范围。因此把说明书和附图看作示例性的而不是限制性的。

Claims (31)

1.一种系统,包括:
处理器,所述处理器以用户模式、管理员模式以及子操作系统模式运行,用以接收子操作系统模式中断;
第一虚拟机,其包括第一代码,该第一代码响应于接收到所述子操作系统模式中断,服务所述子操作系统模式中断;以及
第二虚拟机,其包括可信代码,该可信代码包括第一处理程序,用以将所述子操作系统模式中断重定向到所述第一代码。
2.如权利要求1所述的系统,其中所述可信代码将中断服务寄存器写入所述处理器内。
3.如权利要求2所述的系统,其中所述中断服务寄存器是系统管理基址寄存器,并且其中所述子操作系统模式中断是系统管理中断。
4.如权利要求1所述的系统,其中所述第一代码以页面模式来执行。
5.如权利要求4所述的系统,其中所述第一代码是系统管理模式代码。
6.如权利要求1所述的系统,在所述可信代码内还包括第二处理程序,用以在出现对存储器的锁定页面的访问试图时被调用。
7.如权利要求6所述的系统,其中所述第二处理程序确定是否允许对所述存储器的所述锁定页面的访问试图。
8.如权利要求6所述的系统,其中所述第二处理程序通过发出修改的恢复指令而开始从所述第一代码退出。
9.如权利要求8所述的系统,其中所述修改的恢复指令能够以页面模式来执行。
10.如权利要求1所述的系统,其中所述第一处理程序在存储器的锁定页面内建立空间用以存储状态数据。
11.如权利要求1所述的系统,其中所述第一代码位于存储器的解锁页面内。
12.如权利要求1所述的系统,其中所述系统包括单处理器系统。
13.如权利要求1所述的系统,其中所述可信代码将禁用所述处理器内的中断服务寄存器。
14.如权利要求13所述的系统,其中所述中断服务寄存器是系统管理基址寄存器,并且其中所述第一中断是系统管理中断。
15.如权利要求1所述的系统,其中所述可信代码内的所述第一处理程序在出现对存储器的锁定页面的访问试图时被调用。
16.如权利要求15所述的系统,其中所述第一处理程序确定是否允许对所述存储器的所述锁定页面的访问试图。
17.如权利要求15所述的系统,其中所述第一处理程序通过发出修改的恢复指令而开始从所述第一代码退出。
18.如权利要求1所述的系统,其中所述修改的恢复指令能够以页面模式来执行。
19.一种方法,包括:
将子操作系统模式中断定向到第二虚拟机内的可信代码中的第一处理程序,以将所述子操作系统模式中断重定向到第一虚拟机内的第一代码;
将状态数据存储在存储器中的锁定页面内;以及
进入所述第一虚拟机内的所述第一代码,以服务所述子操作系统模式中断。
20.如权利要求19所述的方法,还包括从所述第一代码调用所述可信代码中的第二处理程序。
21.如权利要求20所述的方法,其中所述调用是在所述第一代码访问存储器中的所述锁定页面之后。
22.如权利要求19所述的方法,其中所述第一代码是系统管理模式代码。
23.如权利要求19所述的方法,还包括从所述第一代码调用所述可信代码内的第二处理程序。
24.如权利要求23所述的方法,其中所述调用是在所述第一代码访问存储器中的所述锁定页面之后。
25.如权利要求19所述的方法,还包括从页面模式执行修改的恢复指令。
26.如权利要求19所述的方法,还包括确定所述第一代码是否可以访问存储器中的所述锁定页面。
27.如权利要求19所述的方法,其中所述定向包括将所述可信代码内的一个存储器位置写入中断服务寄存器。
28.如权利要求27所述的方法,其中所述中断服务寄存器是系统管理基址寄存器。
29.如权利要求19所述的方法,其中所述子操作系统模式中断是系统管理中断。
30.如权利要求19所述的方法,还包括从所述第一代码调用所述可信代码内的第一处理程序。
31.如权利要求30所述的方法,其中所述调用是在所述第一代码访问存储器中的所述锁定页面之后。
CNB038188236A 2002-06-07 2003-05-01 通过重定向系统管理中断和创建虚拟机容器来抵御非可信系统管理代码的系统和方法 Expired - Fee Related CN100377092C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/165,597 2002-06-07
US10/165,597 US20030229794A1 (en) 2002-06-07 2002-06-07 System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container

Publications (2)

Publication Number Publication Date
CN1675623A CN1675623A (zh) 2005-09-28
CN100377092C true CN100377092C (zh) 2008-03-26

Family

ID=29710476

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038188236A Expired - Fee Related CN100377092C (zh) 2002-06-07 2003-05-01 通过重定向系统管理中断和创建虚拟机容器来抵御非可信系统管理代码的系统和方法

Country Status (8)

Country Link
US (2) US20030229794A1 (zh)
EP (1) EP1512074A2 (zh)
JP (3) JP4708016B2 (zh)
CN (1) CN100377092C (zh)
AU (1) AU2003231237A1 (zh)
MY (1) MY146723A (zh)
RU (1) RU2313126C2 (zh)
WO (1) WO2003104981A2 (zh)

Families Citing this family (194)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8041761B1 (en) * 2002-12-23 2011-10-18 Netapp, Inc. Virtual filer and IP space based IT configuration transitioning framework
US7536688B2 (en) * 2003-02-28 2009-05-19 Azul Systems Segmented virtual machine
GB2403820A (en) * 2003-03-28 2005-01-12 Hewlett Packard Development Co Security policy in trusted computing systems
JP4275451B2 (ja) * 2003-04-23 2009-06-10 株式会社日立製作所 不正メモリアクセス検知方法及びそのプログラム
US7496958B2 (en) * 2003-10-29 2009-02-24 Qualcomm Incorporated System for selectively enabling operating modes of a device
CN100349123C (zh) * 2004-03-02 2007-11-14 英特维数位科技股份有限公司 远端控制计算机系统的方法
US8607299B2 (en) * 2004-04-27 2013-12-10 Microsoft Corporation Method and system for enforcing a security policy via a security virtual machine
US20050289311A1 (en) 2004-06-29 2005-12-29 David Durham System and method for secure inter-platform and intra-platform communications
US7908653B2 (en) * 2004-06-29 2011-03-15 Intel Corporation Method of improving computer security through sandboxing
US7305592B2 (en) * 2004-06-30 2007-12-04 Intel Corporation Support for nested fault in a virtual machine environment
US7934076B2 (en) * 2004-09-30 2011-04-26 Intel Corporation System and method for limiting exposure of hardware failure information for a secured execution environment
US7620953B1 (en) * 2004-10-05 2009-11-17 Azul Systems, Inc. System and method for allocating resources of a core space among a plurality of core virtual machines
US7757231B2 (en) * 2004-12-10 2010-07-13 Intel Corporation System and method to deprivilege components of a virtual machine monitor
US7487222B2 (en) * 2005-03-29 2009-02-03 International Business Machines Corporation System management architecture for multi-node computer system
US7480908B1 (en) * 2005-06-24 2009-01-20 Azul Systems, Inc. Segmented virtual machine transport mechanism
US7953980B2 (en) * 2005-06-30 2011-05-31 Intel Corporation Signed manifest for run-time verification of software program identity and integrity
US8839450B2 (en) 2007-08-02 2014-09-16 Intel Corporation Secure vault service for software components within an execution environment
CN100547515C (zh) * 2005-07-15 2009-10-07 联想(北京)有限公司 支持可信计算的虚拟机系统及在其上实现可信计算的方法
US9785485B2 (en) * 2005-07-27 2017-10-10 Intel Corporation Virtualization event processing in a layered virtualization architecture
US7752436B2 (en) * 2005-08-09 2010-07-06 Intel Corporation Exclusive access for secure audio program
US9176741B2 (en) 2005-08-29 2015-11-03 Invention Science Fund I, Llc Method and apparatus for segmented sequential storage
US20070083735A1 (en) * 2005-08-29 2007-04-12 Glew Andrew F Hierarchical processor
US7644258B2 (en) 2005-08-29 2010-01-05 Searete, Llc Hybrid branch predictor using component predictors each having confidence and override signals
US8275976B2 (en) * 2005-08-29 2012-09-25 The Invention Science Fund I, Llc Hierarchical instruction scheduler facilitating instruction replay
US8296550B2 (en) * 2005-08-29 2012-10-23 The Invention Science Fund I, Llc Hierarchical register file with operand capture ports
US8327353B2 (en) * 2005-08-30 2012-12-04 Microsoft Corporation Hierarchical virtualization with a multi-level virtualization mechanism
US7748037B2 (en) 2005-09-22 2010-06-29 Intel Corporation Validating a memory type modification attempt
US20070067590A1 (en) * 2005-09-22 2007-03-22 Uday Savagaonkar Providing protected access to critical memory regions
US20140373144A9 (en) * 2006-05-22 2014-12-18 Alen Capalik System and method for analyzing unauthorized intrusion into a computer network
US8973094B2 (en) 2006-05-26 2015-03-03 Intel Corporation Execution of a secured environment initialization instruction on a point-to-point interconnect system
US7490191B2 (en) * 2006-09-22 2009-02-10 Intel Corporation Sharing information between guests in a virtual machine environment
US7533207B2 (en) * 2006-12-06 2009-05-12 Microsoft Corporation Optimized interrupt delivery in a virtualized environment
US9354927B2 (en) * 2006-12-21 2016-05-31 Vmware, Inc. Securing virtual machine data
US9189265B2 (en) 2006-12-21 2015-11-17 Vmware, Inc. Storage architecture for virtual machines
US9098347B2 (en) * 2006-12-21 2015-08-04 Vmware Implementation of virtual machine operations using storage system functionality
US8316414B2 (en) * 2006-12-29 2012-11-20 Intel Corporation Reconfiguring a secure system
US7698507B2 (en) * 2007-02-28 2010-04-13 Intel Corporation Protecting system management mode (SMM) spaces against cache attacks
US8356297B1 (en) 2007-03-21 2013-01-15 Azul Systems, Inc. External data source redirection in segmented virtual machine
US20080263679A1 (en) * 2007-04-23 2008-10-23 Microsoft Corporation Storing information in closed computing devices
US8145903B2 (en) * 2007-05-25 2012-03-27 Red Hat, Inc. Method and system for a kernel lock validator
JP4864817B2 (ja) 2007-06-22 2012-02-01 株式会社日立製作所 仮想化プログラム及び仮想計算機システム
US8151264B2 (en) * 2007-06-29 2012-04-03 Intel Corporation Injecting virtualization events in a layered virtualization architecture
US20090119748A1 (en) * 2007-08-30 2009-05-07 Jiewen Yao System management mode isolation in firmware
US8250641B2 (en) * 2007-09-17 2012-08-21 Intel Corporation Method and apparatus for dynamic switching and real time security control on virtualized systems
JP4678396B2 (ja) * 2007-09-25 2011-04-27 日本電気株式会社 仮想マシンモニタをモニタするコンピュータとその方法、および仮想マシンモニタモニタプログラム
CN101409719B (zh) * 2007-10-08 2013-06-05 联想(北京)有限公司 实现网络安全支付的方法及客户端
US8099718B2 (en) 2007-11-13 2012-01-17 Intel Corporation Method and system for whitelisting software components
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
US8261028B2 (en) * 2007-12-31 2012-09-04 Intel Corporation Cached dirty bits for context switch consistency checks
US9260502B2 (en) * 2008-03-14 2016-02-16 Novo Nordisk A/S Protease-stabilized insulin analogues
US8145471B2 (en) * 2008-04-30 2012-03-27 International Business Machines Corporation Non-destructive simulation of a failure in a virtualization environment
US8843742B2 (en) * 2008-08-26 2014-09-23 Hewlett-Packard Company Hypervisor security using SMM
JP5405799B2 (ja) 2008-10-30 2014-02-05 株式会社日立製作所 仮想計算機の制御方法、仮想化プログラム及び仮想計算機システム
US8205197B2 (en) * 2008-11-12 2012-06-19 Lenovo (Singapore) Pte. Ltd. Apparatus, system, and method for granting hypervisor privileges
US8868925B2 (en) * 2008-12-09 2014-10-21 Nvidia Corporation Method and apparatus for the secure processing of confidential content within a virtual machine of a processor
US8364601B2 (en) * 2008-12-31 2013-01-29 Intel Corporation Methods and systems to directly render an image and correlate corresponding user input in a secure memory domain
KR101571880B1 (ko) * 2009-02-02 2015-11-25 삼성전자 주식회사 전자장치와 가상머신 제공장치 및 이를 이용한 가상머신 서비스 이용 방법
CN102428471B (zh) * 2009-05-18 2016-05-25 惠普开发有限公司 从系统管理模式确定信任级别的系统和方法
JP4961459B2 (ja) * 2009-06-26 2012-06-27 株式会社日立製作所 仮想計算機システムおよび仮想計算機システムにおける制御方法
US8612975B2 (en) * 2009-07-07 2013-12-17 Advanced Micro Devices, Inc. World switch between virtual machines with selective storage of state information
US8250273B2 (en) * 2009-09-14 2012-08-21 International Business Machines Corporation Secure handling and routing of message-signaled interrupts
DE102009051350A1 (de) * 2009-10-30 2011-05-05 Continental Automotive Gmbh Verfahren zum Betreiben eines Tachographen und Tachograph
US8479286B2 (en) 2009-12-15 2013-07-02 Mcafee, Inc. Systems and methods for behavioral sandboxing
US20110197256A1 (en) * 2009-12-18 2011-08-11 Assured Information Security, Inc. Methods for securing a processing system and devices thereof
US9058183B2 (en) 2009-12-29 2015-06-16 Advanced Micro Devices, Inc. Hypervisor isolation of processor cores to enable computing accelerator cores
US8346935B2 (en) * 2010-01-15 2013-01-01 Joyent, Inc. Managing hardware resources by sending messages amongst servers in a data center
US9106697B2 (en) * 2010-06-24 2015-08-11 NeurallQ, Inc. System and method for identifying unauthorized activities on a computer system using a data structure model
US8495750B2 (en) 2010-08-31 2013-07-23 International Business Machines Corporation Filesystem management and security system
US8555276B2 (en) 2011-03-11 2013-10-08 Joyent, Inc. Systems and methods for transparently optimizing workloads
US8966629B2 (en) 2011-03-31 2015-02-24 Mcafee, Inc. System and method for below-operating system trapping of driver loading and unloading
US8863283B2 (en) * 2011-03-31 2014-10-14 Mcafee, Inc. System and method for securing access to system calls
US8959638B2 (en) 2011-03-29 2015-02-17 Mcafee, Inc. System and method for below-operating system trapping and securing of interdriver communication
US9032525B2 (en) 2011-03-29 2015-05-12 Mcafee, Inc. System and method for below-operating system trapping of driver filter attachment
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
US9087199B2 (en) 2011-03-31 2015-07-21 Mcafee, Inc. System and method for providing a secured operating system execution environment
US8813227B2 (en) 2011-03-29 2014-08-19 Mcafee, Inc. System and method for below-operating system regulation and control of self-modifying code
CN103620613B (zh) * 2011-03-28 2018-06-12 迈克菲股份有限公司 用于基于虚拟机监视器的反恶意软件安全的系统和方法
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
US9317690B2 (en) 2011-03-28 2016-04-19 Mcafee, Inc. System and method for firmware based anti-malware security
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
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
GB2507226B (en) * 2011-08-30 2020-04-22 Hewlett Packard Development Co Virtual high privilege mode for a system management request
JP5809362B2 (ja) 2011-08-30 2015-11-10 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. 仮想トラステッドランタイムbiosとの通信
US8782224B2 (en) 2011-12-29 2014-07-15 Joyent, Inc. Systems and methods for time-based dynamic allocation of resource management
US9448867B2 (en) * 2011-12-31 2016-09-20 Intel Corporation Processor that detects when system management mode attempts to reach program code outside of protected space
US10140139B1 (en) * 2012-06-19 2018-11-27 Bromium, Inc. Ensuring the privacy and integrity of a hypervisor
US9367691B2 (en) 2012-07-31 2016-06-14 Hewlett-Packard Development Company, L.P. Modify executable bits of system management memory page table
RU2522019C1 (ru) * 2012-12-25 2014-07-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ обнаружения угроз в коде, исполняемом виртуальной машиной
RU2535175C2 (ru) 2012-12-25 2014-12-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ обнаружения вредоносного программного обеспечения путем создания изолированной среды
US9037854B2 (en) * 2013-01-22 2015-05-19 Amazon Technologies, Inc. Privileged cryptographic services in a virtualized environment
US9311138B2 (en) * 2013-03-13 2016-04-12 Intel Corporation System management interrupt handling for multi-core processors
US10579405B1 (en) * 2013-03-13 2020-03-03 Amazon Technologies, Inc. Parallel virtual machine managers
US8677359B1 (en) * 2013-03-14 2014-03-18 Joyent, Inc. Compute-centric object stores and methods of use
US8826279B1 (en) 2013-03-14 2014-09-02 Joyent, Inc. Instruction set architecture for compute-based object stores
US9104456B2 (en) 2013-03-14 2015-08-11 Joyent, Inc. Zone management of compute-centric object stores
US8881279B2 (en) 2013-03-14 2014-11-04 Joyent, Inc. Systems and methods for zone-based intrusion detection
US8943284B2 (en) 2013-03-14 2015-01-27 Joyent, Inc. Systems and methods for integrating compute resources in a storage area network
US8775485B1 (en) 2013-03-15 2014-07-08 Joyent, Inc. Object store management operations within compute-centric object stores
US8793688B1 (en) 2013-03-15 2014-07-29 Joyent, Inc. Systems and methods for double hulled virtualization operations
US9092238B2 (en) 2013-03-15 2015-07-28 Joyent, Inc. Versioning schemes for compute-centric object stores
EP2782007A1 (en) 2013-03-19 2014-09-24 STMicroelectronics (Grenoble 2) SAS Launching multiple applications in containers on a processor
EP2782010A1 (en) 2013-03-19 2014-09-24 STMicroelectronics (Grenoble 2) SAS Hierarchical resource management
EP2782038A1 (en) 2013-03-19 2014-09-24 STMicroelectronics (Grenoble 2) SAS Resource management in a processor for trusted and untrusted applications
US10075470B2 (en) * 2013-04-19 2018-09-11 Nicira, Inc. Framework for coordination between endpoint security and network security services
US9330035B2 (en) * 2013-05-23 2016-05-03 Arm Limited Method and apparatus for interrupt handling
CN103927224B (zh) 2014-03-28 2016-06-29 小米科技有限责任公司 程序串执行方法和装置
US9672354B2 (en) 2014-08-18 2017-06-06 Bitdefender IPR Management Ltd. Systems and methods for exposing a result of a current processor instruction upon exiting a virtual machine
US9471799B2 (en) * 2014-09-22 2016-10-18 Advanced Micro Devices, Inc. Method for privileged mode based secure input mechanism
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9715402B2 (en) 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9537788B2 (en) 2014-12-05 2017-01-03 Amazon Technologies, Inc. Automatic determination of resource sizing
WO2016092347A1 (en) * 2014-12-13 2016-06-16 Via Alliance Semiconductor Co., Ltd. Distributed hang recovery logic
WO2016092345A1 (en) * 2014-12-13 2016-06-16 Via Alliance Semiconductor Co., Ltd. Logic analyzer for detecting hangs
KR101890021B1 (ko) * 2014-12-13 2018-09-20 비아 얼라이언스 세미컨덕터 씨오., 엘티디. 행 검출을 위한 패턴 검출기
EP3243313B1 (en) 2015-01-07 2020-09-16 GoSecure Inc. System and method for monitoring a computer system using machine interpretable code
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
GB2539436B (en) * 2015-06-16 2019-02-06 Advanced Risc Mach Ltd Secure initialisation
US9940470B2 (en) * 2015-10-06 2018-04-10 Symantec Corporation Techniques for generating a virtual private container
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10754701B1 (en) 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
US10013267B1 (en) 2015-12-16 2018-07-03 Amazon Technologies, Inc. Pre-triggers for code execution environments
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
EP3314516B1 (en) * 2016-01-26 2022-04-13 Hewlett-Packard Development Company, L.P. System management mode privilege architecture
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US10162672B2 (en) 2016-03-30 2018-12-25 Amazon Technologies, Inc. Generating data streams from pre-existing data sets
US10282229B2 (en) 2016-06-28 2019-05-07 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10203990B2 (en) 2016-06-30 2019-02-12 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10277708B2 (en) 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations due to cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US11171983B2 (en) * 2018-06-29 2021-11-09 Intel Corporation Techniques to provide function-level isolation with capability-based security
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization 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
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
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
CN109542610B (zh) * 2018-12-04 2023-06-30 中国航空工业集团公司西安航空计算技术研究所 一种多分区操作系统虚中断标准组件实现方法
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11481206B2 (en) * 2019-05-16 2022-10-25 Microsoft Technology Licensing, Llc Code update in system management mode
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
EP4049158A1 (en) * 2019-10-25 2022-08-31 Hewlett-Packard Development Company, L.P. Integrity monitor
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US11449601B2 (en) * 2020-01-08 2022-09-20 Red Hat, Inc. Proof of code compliance and protected integrity using a trusted execution environment
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
CN112800431B (zh) * 2020-08-28 2023-09-29 支付宝(杭州)信息技术有限公司 超线程场景下安全进入可信执行环境的方法及装置
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
US20230061511A1 (en) * 2021-08-30 2023-03-02 International Business Machines Corporation Inaccessible prefix pages during virtual machine execution
CN113791865A (zh) * 2021-09-08 2021-12-14 山石网科通信技术股份有限公司 容器安全的处理方法及装置、存储介质和处理器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999018511A1 (en) * 1997-10-07 1999-04-15 Phoenix Technologies, Ltd. Method and apparatus for providing execution of system management mode services in virtual mode
CN1255984A (zh) * 1997-04-02 2000-06-07 微软公司 用于集成虚机和输入方法编辑程序的方法

Family Cites Families (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3699532A (en) * 1970-04-21 1972-10-17 Singer Co Multiprogramming control for a data handling system
US3996449A (en) * 1975-08-25 1976-12-07 International Business Machines Corporation Operating system authenticator
US4162536A (en) * 1976-01-02 1979-07-24 Gould Inc., Modicon Div. Digital input/output system and method
US4247905A (en) * 1977-08-26 1981-01-27 Sharp Kabushiki Kaisha Memory clear system
US4278837A (en) * 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US4276594A (en) * 1978-01-27 1981-06-30 Gould Inc. Modicon Division Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same
US4207609A (en) * 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
JPS5823570B2 (ja) * 1978-11-30 1983-05-16 国産電機株式会社 液面検出装置
JPS5576447A (en) * 1978-12-01 1980-06-09 Fujitsu Ltd Address control system for software simulation
US4253145A (en) * 1978-12-26 1981-02-24 Honeywell Information Systems Inc. Hardware virtualizer for supporting recursive virtual computer systems on a host computer system
US4307447A (en) * 1979-06-19 1981-12-22 Gould Inc. Programmable controller
US4307214A (en) * 1979-12-12 1981-12-22 Phillips Petroleum Company SC2 activation of supported chromium oxide catalysts
US4319323A (en) * 1980-04-04 1982-03-09 Digital Equipment Corporation Communications device for data processing system
US4419724A (en) * 1980-04-14 1983-12-06 Sperry Corporation Main bus interface package
US4366537A (en) * 1980-05-23 1982-12-28 International Business Machines Corp. Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys
US4403283A (en) * 1980-07-28 1983-09-06 Ncr Corporation Extended memory system and method
DE3034581A1 (de) * 1980-09-13 1982-04-22 Robert Bosch Gmbh, 7000 Stuttgart Auslesesicherung bei einchip-mikroprozessoren
US4521852A (en) * 1982-06-30 1985-06-04 Texas Instruments Incorporated Data processing device formed on a single semiconductor substrate having secure memory
JPS59111561A (ja) * 1982-12-17 1984-06-27 Hitachi Ltd 複合プロセツサ・システムのアクセス制御方式
US4759064A (en) * 1985-10-07 1988-07-19 Chaum David L Blind unanticipated signature systems
US4975836A (en) * 1984-12-19 1990-12-04 Hitachi, Ltd. Virtual computer system
JPS61206057A (ja) * 1985-03-11 1986-09-12 Hitachi Ltd アドレス変換装置
FR2592510B1 (fr) * 1985-12-31 1988-02-12 Bull Cp8 Procede et appareil pour certifier des services obtenus a l'aide d'un support portatif tel qu'une carte a memoire
FR2601525B1 (fr) * 1986-07-11 1988-10-21 Bull Cp8 Dispositif de securite interdisant le fonctionnement d'un ensemble electronique apres une premiere coupure de son alimentation electrique
FR2601535B1 (fr) * 1986-07-11 1988-10-21 Bull Cp8 Procede pour certifier l'authenticite d'une donnee echangee entre deux dispositifs connectes en local ou a distance par une ligne de transmission
FR2601476B1 (fr) * 1986-07-11 1988-10-21 Bull Cp8 Procede pour authentifier une donnee d'habilitation externe par un objet portatif tel qu'une carte a memoire
FR2618002B1 (fr) * 1987-07-10 1991-07-05 Schlumberger Ind Sa Procede et systeme d'authentification de cartes a memoire electronique
US5007082A (en) * 1988-08-03 1991-04-09 Kelly Services, Inc. Computer software encryption apparatus
US5079737A (en) * 1988-10-25 1992-01-07 United Technologies Corporation Memory management unit for the MIL-STD 1750 bus
US5434999A (en) * 1988-11-09 1995-07-18 Bull Cp8 Safeguarded remote loading of service programs by authorizing loading in protected memory zones in a terminal
FR2640798B1 (fr) * 1988-12-20 1993-01-08 Bull Cp8 Dispositif de traitement de donnees comportant une memoire non volatile electriquement effacable et reprogrammable
JPH02171934A (ja) * 1988-12-26 1990-07-03 Hitachi Ltd 仮想計算機システム
JPH02208740A (ja) * 1989-02-09 1990-08-20 Fujitsu Ltd 仮想計算機制御方式
JPH0617217B2 (ja) * 1989-02-28 1994-03-09 水澤化学工業株式会社 非晶質シリカ・アルミナ系球状粒子及びその製法
US5442645A (en) * 1989-06-06 1995-08-15 Bull Cp8 Method for checking the integrity of a program or data, and apparatus for implementing this method
JP2590267B2 (ja) * 1989-06-30 1997-03-12 株式会社日立製作所 仮想計算機における表示制御方式
US5022077A (en) * 1989-08-25 1991-06-04 International Business Machines Corp. Apparatus and method for preventing unauthorized access to BIOS in a personal computer system
JP2825550B2 (ja) * 1989-09-21 1998-11-18 株式会社日立製作所 多重仮想空間アドレス制御方法および計算機システム
CA2010591C (en) * 1989-10-20 1999-01-26 Phillip M. Adams Kernels, description tables and device drivers
CA2027799A1 (en) * 1989-11-03 1991-05-04 David A. Miller Method and apparatus for independently resetting processors and cache controllers in multiple processor systems
US5075842A (en) * 1989-12-22 1991-12-24 Intel Corporation Disabling tag bit recognition and allowing privileged operations to occur in an object-oriented memory protection mechanism
US5108590A (en) * 1990-09-12 1992-04-28 Disanto Dennis Water dispenser
US5230069A (en) * 1990-10-02 1993-07-20 International Business Machines Corporation Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system
US5317705A (en) * 1990-10-24 1994-05-31 International Business Machines Corporation Apparatus and method for TLB purge reduction in a multi-level machine system
US5287363A (en) * 1991-07-01 1994-02-15 Disk Technician Corporation System for locating and anticipating data storage media failures
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
US5255379A (en) * 1990-12-28 1993-10-19 Sun Microsystems, Inc. Method for automatically transitioning from V86 mode to protected mode in a computer system using an Intel 80386 or 80486 processor
US5453003A (en) * 1991-01-09 1995-09-26 Pfefferle; William C. Catalytic method
US5355490A (en) * 1991-06-14 1994-10-11 Toshiba America Information Systems, Inc. System and method for saving the state for advanced microprocessor operating modes
US5319760A (en) * 1991-06-28 1994-06-07 Digital Equipment Corporation Translation buffer for virtual machines with address space match
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
US5455909A (en) * 1991-07-05 1995-10-03 Chips And Technologies Inc. Microprocessor with operation capture facility
JPH06236284A (ja) * 1991-10-21 1994-08-23 Intel Corp コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム
WO1993009494A1 (en) * 1991-10-28 1993-05-13 Digital Equipment Corporation Fault-tolerant computer processing using a shadow virtual processor
US5574936A (en) * 1992-01-02 1996-11-12 Amdahl Corporation Access control mechanism controlling access to and logical purging of access register translation lookaside buffer (ALB) in a computer system
US5486529A (en) * 1992-04-16 1996-01-23 Zeneca Limited Certain pyridyl ketones for treating diseases involving leukocyte elastase
US5421006A (en) * 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5237616A (en) * 1992-09-21 1993-08-17 International Business Machines Corporation Secure computer system having privileged and unprivileged memories
US5293424A (en) * 1992-10-14 1994-03-08 Bull Hn Information Systems Inc. Secure memory card
JP2765411B2 (ja) * 1992-11-30 1998-06-18 株式会社日立製作所 仮想計算機方式
US5668971A (en) * 1992-12-01 1997-09-16 Compaq Computer Corporation Posted disk read operations performed by signalling a disk read complete to the system prior to completion of data transfer
JPH06187178A (ja) * 1992-12-18 1994-07-08 Hitachi Ltd 仮想計算機システムの入出力割込み制御方法
US5483656A (en) * 1993-01-14 1996-01-09 Apple Computer, Inc. System for managing power consumption of devices coupled to a common bus
US5469557A (en) * 1993-03-05 1995-11-21 Microchip Technology Incorporated Code protection in microcontroller with EEPROM fuses
FR2703800B1 (fr) * 1993-04-06 1995-05-24 Bull Cp8 Procédé de signature d'un fichier informatique, et dispositif pour la mise en Óoeuvre.
FR2704341B1 (fr) * 1993-04-22 1995-06-02 Bull Cp8 Dispositif de protection des clés d'une carte à puce.
JPH06348867A (ja) * 1993-06-04 1994-12-22 Hitachi Ltd マイクロコンピュータ
FR2706210B1 (fr) * 1993-06-08 1995-07-21 Bull Cp8 Procédé d'authentification d'un objet portatif par un terminal hors ligne, objet portatif et terminal correspondants.
US5555385A (en) * 1993-10-27 1996-09-10 International Business Machines Corporation Allocation of address spaces within virtual machine compute system
US5459869A (en) * 1994-02-17 1995-10-17 Spilo; Michael L. Method for providing protected mode services for device drivers and other resident software
DE4406094C2 (de) * 1994-02-25 2000-04-13 Lp Elektronik Gmbh Vorrichtung zum Betrieb einer Steuerungsanwendung
US5604805A (en) * 1994-02-28 1997-02-18 Brands; Stefanus A. Privacy-protected transfer of electronic information
US5473692A (en) * 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
JPH0883211A (ja) * 1994-09-12 1996-03-26 Mitsubishi Electric Corp データ処理装置
US5606617A (en) * 1994-10-14 1997-02-25 Brands; Stefanus A. Secret-key certificates
US5564040A (en) * 1994-11-08 1996-10-08 International Business Machines Corporation Method and apparatus for providing a server function in a logically partitioned hardware machine
US5560013A (en) * 1994-12-06 1996-09-24 International Business Machines Corporation Method of using a target processor to execute programs of a source architecture that uses multiple address spaces
US5555414A (en) * 1994-12-14 1996-09-10 International Business Machines Corporation Multiprocessing system including gating of host I/O and external enablement to guest enablement at polling intervals
US5615263A (en) * 1995-01-06 1997-03-25 Vlsi Technology, Inc. Dual purpose security architecture with protected internal operating system
US5764969A (en) * 1995-02-10 1998-06-09 International Business Machines Corporation Method and system for enhanced management operation utilizing intermixed user level and supervisory level instructions with partial concept synchronization
US5717903A (en) * 1995-05-15 1998-02-10 Compaq Computer Corporation Method and appartus for emulating a peripheral device to allow device driver development before availability of the peripheral device
JP3451595B2 (ja) * 1995-06-07 2003-09-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 二つの別個の命令セット・アーキテクチャへの拡張をサポートすることができるアーキテクチャ・モード制御を備えたマイクロプロセッサ
US5603499A (en) * 1995-07-26 1997-02-18 Doris G. Jagosz Blackjack play option response indicator
US5684948A (en) * 1995-09-01 1997-11-04 National Semiconductor Corporation Memory management circuit which provides simulated privilege levels
US5633929A (en) * 1995-09-15 1997-05-27 Rsa Data Security, Inc Cryptographic key escrow system having reduced vulnerability to harvesting attacks
US6093213A (en) * 1995-10-06 2000-07-25 Advanced Micro Devices, Inc. Flexible implementation of a system management mode (SMM) in a processor
JP2000503154A (ja) * 1996-01-11 2000-03-14 エムアールジェイ インコーポレイテッド デジタル所有権のアクセスと分配を制御するためのシステム
US5657445A (en) * 1996-01-26 1997-08-12 Dell Usa, L.P. Apparatus and method for limiting access to mass storage devices in a computer system
US5729760A (en) * 1996-06-21 1998-03-17 Intel Corporation System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode
US5740178A (en) * 1996-08-29 1998-04-14 Lucent Technologies Inc. Software for controlling a reliable backup memory
US5757919A (en) * 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
US6272637B1 (en) * 1997-04-14 2001-08-07 Dallas Semiconductor Corporation Systems and methods for protecting access to encrypted information
US6075938A (en) * 1997-06-10 2000-06-13 The Board Of Trustees Of The Leland Stanford Junior University Virtual machine monitors for scalable multiprocessors
US6182089B1 (en) * 1997-09-23 2001-01-30 Silicon Graphics, Inc. Method, system and computer program product for dynamically allocating large memory pages of different sizes
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
US6282650B1 (en) * 1999-01-25 2001-08-28 Intel Corporation Secure public digital watermark
US6374317B1 (en) * 1999-10-07 2002-04-16 Intel Corporation Method and apparatus for initializing a computer interface
JP2002041305A (ja) * 2000-07-26 2002-02-08 Hitachi Ltd 仮想計算機システムにおける計算機資源の割当て方法および仮想計算機システム
US20020099753A1 (en) * 2001-01-20 2002-07-25 Hardin David S. System and method for concurrently supporting multiple independent virtual machines
US6961941B1 (en) * 2001-06-08 2005-11-01 Vmware, Inc. Computer configuration for resource management in systems including a virtual machine
US7191440B2 (en) * 2001-08-15 2007-03-13 Intel Corporation Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor
US6725289B1 (en) * 2002-04-17 2004-04-20 Vmware, Inc. Transparent address remapping for high-speed I/O
US7318141B2 (en) * 2002-12-17 2008-01-08 Intel Corporation Methods and systems to control virtual machines
US7424709B2 (en) * 2003-09-15 2008-09-09 Intel Corporation Use of multiple virtual machine monitors to handle privileged events

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1255984A (zh) * 1997-04-02 2000-06-07 微软公司 用于集成虚机和输入方法编辑程序的方法
WO1999018511A1 (en) * 1997-10-07 1999-04-15 Phoenix Technologies, Ltd. Method and apparatus for providing execution of system management mode services in virtual mode

Also Published As

Publication number Publication date
CN1675623A (zh) 2005-09-28
US20030229794A1 (en) 2003-12-11
JP5242747B2 (ja) 2013-07-24
WO2003104981A3 (en) 2004-05-13
RU2313126C2 (ru) 2007-12-20
EP1512074A2 (en) 2005-03-09
AU2003231237A1 (en) 2003-12-22
RU2004139086A (ru) 2005-07-10
MY146723A (en) 2012-09-14
AU2003231237A8 (en) 2003-12-22
JP2005529401A (ja) 2005-09-29
JP4708016B2 (ja) 2011-06-22
JP2007265434A (ja) 2007-10-11
WO2003104981A2 (en) 2003-12-18
US7581219B2 (en) 2009-08-25
JP4846660B2 (ja) 2011-12-28
US20060015869A1 (en) 2006-01-19
JP2011227939A (ja) 2011-11-10

Similar Documents

Publication Publication Date Title
CN100377092C (zh) 通过重定向系统管理中断和创建虚拟机容器来抵御非可信系统管理代码的系统和方法
JP5981845B2 (ja) 仮想計算機システム、仮想計算機制御方法、仮想計算機制御プログラム、及び半導体集積回路
KR101928127B1 (ko) 애플리케이션용 선택적 파일 액세스 기법
CN101410772B (zh) 用于执行安全环境起始指令的系统
CN1285033C (zh) 包含可进入安全执行模式的处理器的计算机系统及其初始化方法
CN101351774B (zh) 将存储页面与程序相关联的页面着色的方法、装置和系统
US7272832B2 (en) Method of protecting user process data in a secure platform inaccessible to the operating system and other tasks on top of the secure platform
US8938811B2 (en) Information processing apparatus, method, program, and integrated circuit
US10075296B2 (en) Loading and virtualizing cryptographic keys
CN1656432A (zh) 用于复位平台配置寄存器的系统和方法
US8316414B2 (en) Reconfiguring a secure system
US10108800B1 (en) ARM processor-based hardware enforcement of providing separate operating system environments for mobile devices with capability to employ different switching methods
WO2023123850A1 (zh) 一种固件可信根的实现方法、装置、设备和可读存储介质
US20040122834A1 (en) Apparatus and method for switching mode in a computer system
US20190235773A1 (en) Concept for accessing computer memory of a memory pool
WO2005020074A1 (ja) コンピュータシステム及びそれに用いるプログラム実行環境実現方法並びにそのプログラム
CN114266038A (zh) 基于软件沙盒的安全隔离方法、存储介质、设备及装置
Le Mignot The gnu hurd
CN112580023A (zh) 影子栈管理方法及装置、介质、设备
Brinkmann Porting the GNU Hurd to the L4 Microkernel
JPH02158851A (ja) ファイルアクセス制御方式

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: 20080326

Termination date: 20190501

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