CN100377092C - 通过重定向系统管理中断和创建虚拟机容器来抵御非可信系统管理代码的系统和方法 - Google Patents
通过重定向系统管理中断和创建虚拟机容器来抵御非可信系统管理代码的系统和方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1491—Protection 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2105—Dual mode as a secondary aspect
Abstract
描述了用于在微处理器系统内的安全操作期间允许执行系统管理模式(SMM)代码的系统和方法。在一种实施方案中,系统管理中断(SMI)可以首先被定向到安全虚拟机监控程序(SVMM)内的处理程序。然后,SMI可以被重定向到在SVMM的安全控制下的虚拟机(VM)内的SMM代码。这个重定向可以通过允许SVMM读写处理器中的系统管理(SM)基址寄存器来实现。
Description
技术领域
本发明总地涉及微处理器系统,更具体地说,涉及可以在可信或安全环境中运行的微处理器系统。
背景技术
处理器可以根据系统操作的即时需求而运行在几种处理器操作模式中。通常,处理器可以具有管理员模式、用户模式,有时还具有其他专用模式。管理员模式可以支持操作系统的执行,并且可以使大多数指令得到执行,包括特权指令。在管理员模式中可以对不同的地址空间和外围设备进行访问。而与管理员模式相比,用户模式可能只限于非特权指令,使得用户代码不能干扰系统功能。
经常出现的情况是商业上发行的软件不能与特定的原始设备制造商(OEM)的硬件组完美配合。由于说明书误解或实现错误,可能存在的情形是软件试图按照硬件没有预期或不支持的方式访问硬件。简单的例子可能是软件程序期望把值放入地址x上的寄存器内,然而硬件内的实际寄存器是在地址x+y上。这可能引起系统异常。
为了处理这样的情形,可以设计处理器来支持这样一种操作模式,其为了执行低级修补程序,具有以操作系统透明或准透明的方式或者以特权级独立的方式来运行的能力。为了本申请,这样的模式可以被定义为“子操作系统模式(sub operating system mode)”。一种这样的模式是IntelPentium处理器系列和兼容处理器的系统管理模式(SMM)。(参见IntelPentium4处理器软件开发者手册第14章,卷III,2001版,序号245472,可以从美国加利福尼亚圣克拉拉的英特尔公司获得)。其他子操作系统模式可以存在于MIPS TechnologiesMIPS32TM或MIPS64TM体系结构处理器、IBMPowerPCTM体系结构处理器、SPARC InternationalSPARC体系结构处理器、或许多其他处理器内。子操作系统模式的存在可能具有额外的系统优点,例如支持转换到断电模式。为了处理上述软件和硬件失配,现有的子操作系统模式实现可以没有任何特权限制或地址映射限制。子操作系统模式可以由专用子操作系统模式中断来激活(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可以配置有附加的微代码或逻辑电路用以支持执行特殊指令。在一种实施方案中,处理器可以是IntelPentium级的微处理器,其中根据本发明的实施方案进行了某些特殊修改。这些特殊指令可以支持在系统总线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所述的方法,其中所述调用是在所述第一代码访问存储器中的所述锁定页面之后。
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)
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)
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)
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 |
-
2002
- 2002-06-07 US US10/165,597 patent/US20030229794A1/en not_active Abandoned
-
2003
- 2003-05-01 RU RU2004139086/09A patent/RU2313126C2/ru not_active IP Right Cessation
- 2003-05-01 WO PCT/US2003/013616 patent/WO2003104981A2/en active Application Filing
- 2003-05-01 JP JP2004511985A patent/JP4708016B2/ja not_active Expired - Fee Related
- 2003-05-01 AU AU2003231237A patent/AU2003231237A1/en not_active Abandoned
- 2003-05-01 CN CNB038188236A patent/CN100377092C/zh not_active Expired - Fee Related
- 2003-05-01 EP EP03724373A patent/EP1512074A2/en not_active Withdrawn
- 2003-06-06 MY MYPI20032123A patent/MY146723A/en unknown
-
2005
- 2005-03-30 US US11/095,855 patent/US7581219B2/en active Active
-
2007
- 2007-06-06 JP JP2007150997A patent/JP4846660B2/ja not_active Expired - Lifetime
-
2011
- 2011-08-18 JP JP2011178882A patent/JP5242747B2/ja not_active Expired - Lifetime
Patent Citations (2)
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 |