CN1295604C - 限制在虚拟机监控器上运行的客户软件操作的方法和系统 - Google Patents
限制在虚拟机监控器上运行的客户软件操作的方法和系统 Download PDFInfo
- Publication number
- CN1295604C CN1295604C CNB018215750A CN01821575A CN1295604C CN 1295604 C CN1295604 C CN 1295604C CN B018215750 A CNB018215750 A CN B018215750A CN 01821575 A CN01821575 A CN 01821575A CN 1295604 C CN1295604 C CN 1295604C
- Authority
- CN
- China
- Prior art keywords
- client software
- processor mode
- described processor
- trial
- processor
- 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
- G06F9/00—Arrangements for program control, e.g. control units
-
- 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/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/145—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
Abstract
在一个实施例中,为客户软件提供了一种处理器模式。处理器模式允许客户软件以由客户软件预定的特权级别进行操作。当客户软件试图执行一个受处理器模式限制的操作时,退出处理器模式,以把在该操作上的控制转移到在这个处理器模式外运行的一个虚拟机监控器。
Description
发明领域
本发明通常涉及虚拟机,尤其是涉及提供对虚拟机监控器的处理器支持。
发明背景技术
传统的虚拟机监控器(VMM)通常运行在一台计算机上,并且向其它软件给出一个或多个虚拟机抽象。每个虚拟机可以起到一个独立平台的作用,运行它自己的“客户操作系统”(即,由VMM支持的操作系统)。客户操作系统期待好象它正在在一台专用计算机而不是虚拟机上运行那样进行操作。即,客户操作系统希望控制各种计算机操作,并且在这些操作期间可以访问硬件资源。硬件资源可以包含处理器常驻资源(例如,控制寄存器)和驻留在存储器中的资源(例如,描述符表)。然而,在虚拟机环境中,VMM应当能够具有这些资源的最终控制,以提供虚拟机的正确操作和从虚拟机以及在虚拟机之间提供保护。为了实现这一点,VMM通常截取和判优由客户操作系统对硬件资源进行的所有访问。
VMMs的当前实现可以基于用于控制由客户操作系统对硬件资源的访问的软件技术。然而,这些软件技术可能缺乏阻止客户软件访问在处理器的控制寄存器和存储器中的某些字段的能力。例如,不能阻止客户操作系统访问在IA-32微处理器的代码段寄存器中的请求者特权级别(RPL)字段。此外现有的软件技术通常遇到性能问题的困扰。因此,需要有一种用于支持VMM操作的替换机制。
附图简要说明
本发明在附图中通过举例而不是限制进行了说明,在附图中相似的附图标记数字涉及相似的单元,并且其中:
图1说明了虚拟机环境的一个实施例;
图2说明了基于取消客户特权的虚拟机监控器的操作;
图3是依据本发明一个实施例、用于向虚拟机监控器提供处理器支持的系统的方框图;
图4是依据本发明一个实施例、用于向虚拟机监控器提供处理器支持的方法的流程图;
图5是依据本发明一个实施例、用于执行转换出V32模式的方法的流程图;
图6是依据本发明一个实施例、用于生成虚拟化陷阱的方法的流程图;
图7是依据本发明一个实施例、用于维持一个重定向映射的方法的流程图;
图8是依据本发明一个实施例、用于控制中断屏蔽的方法的流程图;以及
图9是处理系统的一个实施例的方框图。
实施例描述
描述了一种用于向虚拟机监控器提供处理器支持的方法和装置。在下面的描述中,为了说明起见,阐述了大量细节以便提供对本发明的一个彻底了解。然而,显然对本领域普通技术人员来说没有这些特定的细节本发明也能够被实现。
依据在计算机存储器内在数据位上的操作的算法和符号表示给出随后的某些部分详细说明。这些算法描述和表示是由数据处理领域内技术人员使用的、以最有效地向该领域其它技术人员传送它们的工作实质的手段。在此,并且通常,算法被认为是导致一个期望结果的自相容的一系列步骤。这些步骤是要求物理量的物理操作的那些步骤。通常,尽管不一定,这些量采取能够被存储、传送、组合、比较、及其它处理的电或者磁信号的形式。有时,主要由于公共使用的原因,已经证明把这些信号称为比特、值、单元、符号、字符、术语、数字等是方便的。
然而,应当记住:所有这些和类似的术语与适当的物理量有关,并且仅仅是用于这些量的方便的标记。除非特别地说明,否则如从以下讨论中明显看出的那样,应当理解,在整个本发明中,利用术语诸如“处理”或者“计算”或者“确定”或者“显示”等可以涉及一个计算机系统或者类似电子计算设备的动作和处理过程,其把在计算机系统的寄存器和存储器内被表示为物理(电子)量的数据处理和变换成为类似地在计算机系统存储器或者寄存器或者其它这种信息存储器、传输或者显示设备内被表示为物理量的其它数据。
本发明在此还涉及用于执行这些操作的装置。这个装置可以为需要的目的而被特别地构造,或者它可以包含一个由保存在计算机中的计算机程序有选择地激活或者重新配置的通用计算机。这种计算机程序可以被保存在计算机可读存储介质中,该计算机可读存储介质诸如但是不局限于:包含软盘、光盘、CD-ROMs、和磁光盘的任何类型的磁盘、只读存储器(ROMs)、随机存取存储器(RAMs)、EPROMs、EEPROMs、磁或者光卡、或者适于存储电子指令的任何类型的介质,而且上述每个都连接到一条计算机系统总线。指令是可使用一个或多个处理设备(例如,处理器、中央处理器等)执行的。
在此给出的算法和显示不是固有地与任何特定计算机或者其它装置有关。可以使用具有依据在此的示教的程序的各种通用机,或者可以证明构造更多专用装置以执行所需要的方法步骤是方便的。从以下的描述中将会呈现用于各种这些机器的所需要的结构。此外,本发明不是参照任何特定程序设计语言进行描述的。应当理解,可以使用各种程序设计语言来实现在此描述的本发明的示教。
在以下实施例的详细说明中,参考举例显示了其中可以实现本发明的特定实施例的附图。在这些附图中,在几个视图当中相似的数字基本上地描述了类似的元件。足够详细地描述了这些实施例以使本领域技术人员能实现本发明。可以使用其它实施例,并且可以进行结构上的、逻辑的、和电学的变化,而没有背离本发明的范围。此外,应当理解,本发明的各个实施例尽管是不同的但未必是互相排斥的。例如,在一个实施例中描述的一个特定特征、结构、或者特性可以被包含在其它实施例中。因此,下列详细说明不是限制的含义,而且本发明的范围仅仅由附加权利要求、以及这种权利要求被授权的整个等效范围来定义。
本发明中的方法和装置为虚拟机监控器(VMM)提供处理器支持。图1说明了其中本发明可以实现的虚拟机环境100的一个实施例。在这个实施例中,裸平台硬件116包含一个计算平台,其能够例如执行标准的操作系统(OS)或者虚拟机监控器(VMM)、诸如VMM 112。通常以软件实现的VMM可以向高层软件输出一个裸机接口、诸如模拟器。这种高层软件可以包含标准或者实时OS,尽管本发明在这方面在范围上不受限制,并且做为选择,例如,VMM可以在另一个VMM内或者在另一个VMM上面执行。VMMs和它们的典型特征和功能对于本领域技术人员来说是公知的,并且可以例如以软件、固件或者各种技术的组合来实现。
如上所述,VMM向其它软件(即,“客户”软件)给出一个或多个虚拟机(VMs)抽象。图1显示了两个VMs 102和114。每个VM的客户软件包含一个客户OS,诸如客户OS 104或者106,以及各种客户软件应用程序108-110。每一个客户OSs 104和106希望控制对在正在其上运行客户OS 104或者106的硬件平台内的物理资源(例如,处理器寄存器、存储器和存储器映射的I/O设备)的访问以及执行其它功能。然而,在虚拟机环境中,VMM 112应当具有在物理资源上的最终控制,以提供VMs 102和112的正确操作和从VMs 102和114以及在VMs 102和114之间提供保护。VMM 112通过截取客户OSs 104和106对计算机的物理资源的所有访问来实现这个目的。可以使用各种技术以允许VMM 112截取上述访问。这种技术中的一种是取消客户特权技术,它迫使所有的客户软件以不允许软件访问某些硬件资源的硬件特权级别运行。因此,每当客户OS 104或者106试图访问这些硬件资源中的任何一个时,它“设置陷阱”到VMM 112,即,如果由客户OS启动的一个操作涉及访问这种硬件资源则VMM 112接收在这个由其启动的操作上的控制。
图2说明了支持取消客户特权的VMM的操作的现有技术实施例。如上所述,取消客户特权迫使客户OS在较少的执行特许方式下执行。就IA-32微处理器来说,基于页面的保护的特性是使所有的客户软件以最小特权级别(即环3)运行。即,客户OS 206和客户应用程序204以同样的特权级别运行。因此,客户OS 206不能从客户应用程序206中保护它自己,由此可能损害客户OS 206的完整性。这个问题被称为环压缩。
取消客户特权还可能导致地址空间压缩问题。如上所述,客户软件访问硬件资源的某些尝试导致转移控制到VMM 220的陷阱。为了允许这个控制转移,一部分VMM代码和/或数据结构在体系结构上可以被要求驻留在与客户OS 206相同的虚拟地址空间中。例如,IA-32指令集体系结构(ISA)可以要求中断描述符表(IDT)212、全局描述符表(GDT)210和陷阱处理例程驻留在与客户OS 206相同的虚拟空间中。必须保护驻留在虚拟空间202中的VMM代码和数据结构220不能由客户软件(例如,通过在环0运行)进行访问。因此,客户OS 206没有如客户OS 206期望的那样控制整个地址空间202。这导致地址空间压缩问题。
使用取消客户特权的VMMs的另一个限制适合于其中处理器未能阻止客户软件读取有特权的硬件资源的某些情况。例如,IA-32微处理器允许客户OS 206执行PUSH CS指令,其把一个代码段寄存器存储到存储器中。这个寄存器字段中的一个字段存储有关当前特权级别的信息。因此,客户OS 206能够通过从存储器中读取当前特权级别的值,知道它的特权级别是3,而不是如客户OS 206期望的那样是0。因此,客户OS 206可能暴露出这个事实:它正在一个虚拟机上运行,并且客户OS 206的完整性可以被损害。
类似地,在某些情况下,处理器没有对客户软件的尝试设置陷阱以修改有特权的软件资源。例如,IA-32处理器允许客户OS 206发出试图加载EFLAGS的POPF指令,而不是生成一个陷阱,而且简单地忽略客户OS 206的所有或者部分的这种尝试,这是因为客户OS 206用不够的特权执行这些指令。因此,客户OS 206相信相应的一个EFLAGS字段已经被修改了,但是VMM 220不知道那个情况并且不能适当地模拟这个修改。因此,客户OS 206可能暴露出这个事实:它正在一个虚拟机上运行,并且客户OS 206的完整性可以被损害。
使用取消客户特权的VM监控器的另一个限制是由过度设置陷阱所引起的。由于需要保护不被客户软件访问的硬件资源单元的数目是有效的而且这种访问可能是频繁的,所以陷阱经常发生。例如,IA-32微处理器支持CLI指令。发布CLI指令以修改中断标志,该中断标志是有特权的硬件资源的一个单元,并且因此不能由无特权的软件访问。客户OS 206通常在它的操作期间发布这些指令,由此导致频繁地到VMM 220的陷阱。频繁地设置陷阱反面地影响了系统性能,并且减少了VMM 220的实用性。
本发明通过为VMM提供处理器支持解决了上述问题和各种其它限制。图3是依据本发明一个实施例、用于向虚拟机监控器提供处理器支持的系统的方框图。
参见图3,所有的客户软件在在此被称为虚拟32位模式(V32模式)的处理器模式下运行。V32模式允许客户软件以它的预定特权级别运行。例如,就IA-32 ISA来说,客户OS 308以最高特权级别(即,环0)运行,而客户应用程序306以最低特权级别(即,环3)运行。V32模式通过阻止客户软件执行可能导致它访问某些有特权的硬件资源的操作来限制客户软件的操作。当客户软件试图执行这样一个操作时退出V32模式。
VMM 320在V32模式外运行。当发生转换出V32模式时,VMM 320接收在由客户OS 308或者客户应用程序306启动的操作上的控制。VMM320然后执行这个操作,并且通过进入V32模式把控制转移回客户软件,借此模拟客户软件期望的功能。
在一个实施例中,通过在处理器的一个控制寄存器(例如CR0)中保存一个标志以指示处理器是否在V32模式下来实现V32模式。在另一个实施例中,这个标志(在此被称为EFLAGS.V32)被保存在EFLAGS的上半部分中的一个保留位中。EFLAGS.V32标志通过从V32模式中转换出或者转换成为V32模式而被修改。
在一个实施例中,使用保留的特征位中的一位报告处理器支持V32模式的性能,其中该保留的特征位当在EAX中用值1执行CPUID指令时在EDX中被返回。应当注意到,能够使用其它各种机制来实现V32模式和报告处理器支持V32模式的性能,而不影响通用性。
在一个实施例中,某些例外和中断导致转换出V32模式。这些例外和中断包含“虚拟化陷阱”。虚拟化陷阱是当在V32模式下运行的客户软件试图执行一个可能导致它访问某些有特权的硬件资源的操作时生成的。在一个实施例中,当发生转换出V32模式时,客户地址空间304被自动地变换成VMM地址空间302。此外,由客户软件使用的处理器状态被保存在暂时寄存器中,并且加载由VMM 320需要的处理器状态。
在一个实施例中,当发生到V32模式的转换时,在转换出V32模式(即到VMM 320)时所保存的处理器状态被自动地恢复,VMM地址空间302被变换成客户地址空间304,并且把控制返回给客户OS 308。
在一个实施例中,当客户软件在V32模式下运行时,由客户OS 308使用客户IDT(即,驻留在客户地址空间304中的IDT)处理软件中断(例如,由执行BOUND、INT或者INTO指令所引起的中断)。包含虚拟化陷阱的其它所有中断和例外导致转换出V32模式,其导致客户地址空间304变换到VMM地址空间302。然后使用IDT 316以指向处理相应的一个例外或者中断的代码。
在一个实施例中,保存一个新的中断标志(即,虚拟机中断标志)用于由客户软件访问。每当客户软件试图访问中断标志(IF)时,作为替代它将访问虚拟机中断标志(VMIF)。在一个实施例中,除了当客户OS 308刚好设置VMIF为1(例如,通过STI指令)和VMM 320希望向客户OS 308传送一个待处理中断时以外,客户软件访问VMIF(例如,使用CLI指令)的尝试不会导致转换出V32模式。在此被称为“虚拟待处理中断”的这种待处理中断生成虚拟化陷阱,其允许VMM320在客户OS 308发信号指示它准备好处理这样一个中断时向客户软件传送一个待处理中断。在一个实施例中,在EFLAGS寄存器的上半部分中的保留位中的一个被用来保存一个指示客户软件是否具有一个待处理虚拟中断的标志。
V32模式的实现允许解决如上所述的、取消客户特权导致的所有问题。特别地,由于客户软件在V32模式下以它预定的特权级别运行,所以消除了环压缩的问题。此外,由于虚拟化陷阱自动导致到VMM地址空间302的切换,所以地址空间压缩不再是一个问题,并且因此既不要求在客户地址空间304中驻留控制这种传送的表格,也不要求在客户地址空间304中驻留处理相应的一个虚拟化陷阱的代码。
此外,由于V32模式允许客户软件以它的预定特权级别运行,所以需要被保护的硬件资源不再包含控制特权级别的硬件资源的那些单元。例如,由于存储有关当前特权级别的信息的代码段寄存器中的字段现在存储由客户OS 308预定的特权级别,所以以上所述的PUSH CS指令不能再向客户OS 308揭示它在一台虚拟机上运行。类似地,由于客户OS 206用足够的特权执行这些指令,所以试图加载EFLAGS的POPF指令在由客户OS 308执行时不再被忽略。
因此,需要被保护的硬件资源的单元数目减少了。如果它们中的任何一个允许客户软件的未设置陷阱的读或者写访问,则它们被特别地设计以当在V32模式下执行时导致陷阱。因此,消除了由未设置陷阱的读和写访问所引起的问题。此外,由于V32模式的实现减少了需要被保护的硬件资源的单元数目,所以当客户软件试图访问这些单元时发生的陷阱数目也减少了。此外通过提供用于消除由最常使用的指令所引起的陷阱的机制,减少了陷阱的频率。例如,除了当客户软件具有一个待处理的虚拟中断时以外,STI指令不再导致陷阱。
图4是依据本发明一个实施例、用于向虚拟机监控器提供处理器支持的方法400的流程图。在处理块404,在处理器模式(即V32模式)下执行客户软件,该处理器模式允许客户软件以由客户软件预定的特权级别进行操作。即,客户OS可以以管理员特权级别进行操作,而客户应用程序可以以用户特权级别进行操作。
在处理块406,标识客户软件执行受V32模式限制的一个操作的尝试。响应于这个尝试,退出V32模式以转移在由客户软件启动的操作上的控制到在V32模式外运行的VMM(处理器块408)。在一个实施例中,VMM设定什么操作应当导致转换出V32模式,如以下连同图7更详细描述的那样。在一个实施例中,这种操作生成导致转换出V32模式的虚拟化陷阱。做为选择,能够使用在本领域已知的其它任何机制以导致转换出V32模式。以下连同图5更详细地描述执行转换出V32模式的一个实施例。
此外,VMM对由客户软件预定的操作作出响应(处理块410)。然后,重新进入V32模式以把在这个操作上的控制转移回客户软件(处理块412),并且方法400返回给处理块404。在一个实施例中,当发生到V32模式中的转换时,由客户软件期望的处理器状态被自动地恢复,并且VMM地址空间被变换到客户地址空间。
图5是依据本发明一个实施例、用于执行转换出V32模式的方法500的流程图。方法500随保存由客户软件使用的处理器状态开始(处理块504)。在一个实施例中,保存的处理器状态被存储在处理器的暂时寄存器中。在处理块506,由VMM需要的处理器状态被加载到处理器寄存器中。在一个实施例中,加载处理器状态影响客户地址空间到VMM地址空间的变换(例如,通过加载控制寄存器CR3来加载处理器状态)。在一个替换实施例中,加载处理器状态不会导致在地址空间中的变换。在这样一个实施例中,在处理块508,执行地址空间切换以从客户地址空间转移到VMM地址空间。因此,当发生一个导致转换的中断或者例外时,驻留在VMM地址空间中的IDT被自动地用来指向用于处理这个中断或者例外的VMM常驻代码。
图6是依据本发明一个实施例、用于生成虚拟化陷阱的方法600的流程图。方法600随标识客户软件执行一个可能受V32模式限制的操作的尝试开始(处理块604)。在判定框606,就客户软件的尝试是否可能成功进行确定。如果确定是肯定的,则生成一个虚拟化陷阱(处理块608)。或者,不生成虚拟化陷阱,并且客户软件继续进行该操作(处理块610)。例如,依据IA-32 ISA,RDMSR指令仅仅能够由以管理员特权运行的软件执行。因此,如果用管理员特权运行的客户软件OS执行这条指令,则它的尝试可能是成功的。如果用用户特权运行的一个客户应用程序执行这条指令,则它的尝试将不会成功,并且将发生一个一般保护故障。因此,客户OS执行RDMSR指令的尝试将导致一个虚拟化陷阱,但是客户应用程序的尝试将由客户OS进行处理。
在一个实施例中,虚拟化陷阱将由客户OS访问处理器的控制寄存器(例如CR0-CR4)的可能成功的尝试引起。例如,就IA-32处理器来说,将响应于客户软件执行MOV CR(除存储CR2的尝试之外,其不需要导致虚拟化陷阱)、CLTS、LMSW或者SMSW指令、或者任务切换的尝试而生成虚拟化陷阱。如果客户软件具有一个待处理的虚拟中断,则虚拟化陷阱也可能由客户软件设置一个中断标志IF(例如,经由STI、POPF或者IRET指令)的可能成功的尝试所引起。就IA-32ISA来说,执行这种指令、例如HLT、IN、INS/INSB/INSW/INSD、INVD、OUT、OUTS/OUTSB/OUTSW/OUTSD、RDMSR、和WRMSR的成功尝试将导致虚拟化陷阱。这些虚拟化陷阱将阻止客户软件异常中止处理器和直接访问I/O端口、高速缓存或者特定模式的寄存器。此外,虚拟化陷阱可能由以下尝试所引起:执行CPUID指令以允许VMM给出由VMM选择的处理器抽象特征的尝试、执行INVLPG指令以允许VMM适当地虚拟化地址转换的尝试、以及执行由客户软件使用的IRET指令(如果IRET被用来转换到V32模式中)以实现一个VMM以便允许递归嵌套的VMMs的尝试。
图7是依据本发明一个实施例,用于维持一个重定向映射的方法700的流程图。依据这个实施例,VMM保存一个重定向映射以设定哪些中断和例外应当导致一次虚拟化陷阱(处理块704)。在处理块706,标识一个中断或者例外的发生。然后参考该重定向映射,以在重定向位图中找到与这个中断或者例外有关的一位(处理块708)。
在判定框710,就这个中断是否被允许由客户OS处理进行确定。如果确定是肯定的,则该中断或者例外被传送到V32模式,并且由客户OS进行处理(处理块714)。或者,生成一个虚拟化陷阱,导致转换出V32模式(处理块712)。
图8是依据本发明一个实施例,用于控制中断屏蔽的方法800的流程图。可以使用各种实施例来控制中断的屏蔽。在一个实施例中,当客户软件正在执行时,不屏蔽所有的中断。在这个实施例中,客户软件被允许对一个中断标志(例如,就IA-32微处理器来说,这个标志被标识为EFLAGS.IF)进行处理,但是相对于中断的屏蔽来说这个处理将被忽略。在另一个实施例中,中断的屏蔽取决于该中断标志。在这个实施例中,不允许客户软件处理该中断标志。特别地,可以通过为由客户软件进行的修改提供一个遮蔽中断标志(例如EFLAGS.VMIF)、通过响应于客户软件的这样一个尝试生成一个虚拟化陷阱、或者通过使用在本领域已知的其它任何技术,来阻止客户软件访问该中断标志。
方法800随标识客户软件修改一个可能控制中断屏蔽的中断标志的尝试开始(处理块804)。在判定框806,就中断标志是否控制中断的屏蔽进行确定。如果确定是否定的,即没有屏蔽所有的中断,则允许客户软件修改该中断标志(处理块808)。如上所述,这个修改不会对中断的屏蔽有影响。
否则,如果中断的屏蔽取决于该中断标志,则就是否存在一个遮蔽中断标志、即客户软件影响中断屏蔽的尝试是否正在影响遮蔽标志进行确定(判定框810)。如果确定是否定的,即客户软件试图修改实际的中断标志,则发生一个虚拟化陷阱(处理块812),导致转换出V32模式(处理块816)。做为选择,如果实际的中断标志不能由客户软件进行访问,则允许客户软件修改该遮蔽中断标志(处理块814)。
图9是处理系统的一个实施例的方框图。处理系统900包含处理器920和存储器930。处理器920能够是能执行软件的任何类型的处理器,诸如微处理器、数字信号处理器、微控制器等。处理系统900能够是个人计算机(PC)、大型机、手持设备、便携式计算机、置顶盒、或者包含软件的其它任何系统。
存储器930能够是硬盘、软盘、随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器、或者可由处理器920读取的其它任何类型的机器介质。存储器930能够存储用于执行实现本发明的各种方法实施例、诸如方法400、500、600、700和800(图4-8)的指令。
应当理解,以上描述是用于说明性的,而不是限制。对本领域技术人员来说在阅读和理解上述说明书后许多其它实施例将会是显然的。本发明的范围因此应当参考附加的权利要求、以及这种权利要求被授权的整个等效范围来确定。
Claims (18)
1.一种方法,包含:
在允许客户软件以由客户软件预定的特权级别进行操作的处理器模式下运行客户软件;
标识客户软件执行受所述处理器模式限制的一种操作的尝试;
如果在所述处理器模式外运行所述客户软件,则确定客户软件的尝试是可能成功的;以及
退出所述处理器模式,以把在该操作上的控制转移到在所述处理器模式外运行的虚拟机器监控器。
2.一种方法,包含:
在允许客户软件以由客户软件预定的特权级别进行操作的处理器模式下运行客户软件;
为多个中断和例外保存一个重定向位图,该重定向位图指示多个中断和例外中的每一个是否被允许由客户软件进行处理;
响应于客户软件执行受所述处理器模式限制的操作的尝试,生成多个中断和例外中的一个。
参考该重定向位图以确定是否退出所述处理器模式;以及
退出所述处理器模式,以把在该操作上的控制转移到在所述处理器模式外运行的虚拟机器监控器。
3.一种方法,包含:
在允许客户软件以由客户软件预定的特权级别进行操作的处理器模式下运行客户软件;
标识客户软件以修改一个中断标志的尝试;
如果中断标志控制中断的屏蔽,则退出所述处理器模式,以把在该操作上的控制转移到在所述处理器模式外运行的虚拟机器监控器;以及
如果中断标志不控制中断的屏蔽,则修改该中断标志。
4.一种方法,包含:
在允许客户软件以由客户软件预定的特权级别进行操作的处理器模式下运行客户软件;
标识客户软件以修改一个中断标志的尝试;以及
阻止客户软件修改该中断标志的尝试,包含:
如果提供一个遮蔽中断标志,则允许客户软件修改所述遮蔽中断标志;以及
如果不提供一个遮蔽中断标志,则退出所述处理器模式,以把在该操作上的控制转移到在所述处理器模式外运行的虚拟机器监控器。
5.如权利要求4所述的方法,其特征在于:退出所述处理器模式包含:响应于客户软件修改该中断标志的尝试,生成多个中断和例外中的一个。
6.一种系统,包含:
一个存储器;以及
一个处理器,连接到该存储器,包括:
执行逻辑,在允许客户软件以由客户软件预定的特权级别进行操作的处理器模式下运行客户软件,
标识逻辑,标识客户软件执行受所述处理器模式限制的一个操作的尝试,以及
退出逻辑,响应于该尝试,退出所述处理器模式,以把在该操作上的控制转移到在所述处理器模式外运行的虚拟机器监控器。
7.如权利要求6所述的系统,其特征在于:还包括进入逻辑,使所述处理器在所述虚拟机器监控器对该操作作出响应之后重新进入所述处理器模式。
8.如权利要求7所述的系统,其特征在于:所述进入逻辑还使所述处理器在重新进入所述处理器模式时将加载由客户软件期望的处理器状态。
9.如权利要求6所述的系统,其特征在于:处理器在退出所述处理器模式时将保存由客户软件使用的处理器状态并且加载由所述虚拟机器监控器需要的处理器状态。
10.如权利要求6所述的系统,其特征在于:退出所述处理器模式进一步包含:自动地从与客户软件有关的一个地址空间转移到与所述虚拟机器监控器有关的一个地址空间。
11.如权利要求6所述的系统,其特征在于:处理器将在一个处理器控制寄存器中保存一个标志以指示处理器是否在所述处理器模式。
12.如权利要求6所述的系统,其特征在于:处理器将使用被返回在一个处理器寄存器中的多个保留特征位中的一位,来报告支持所述处理器模式的性能。
13.如权利要求6所述的系统,其特征在于:响应于客户软件执行受所述处理器模式限制的操作的尝试,处理器将生成多个中断和例外中的一个。
14.如权利要求13所述的系统,其特征在于:在确定客户软件执行受所述处理器模式限制的操作的尝试可能成功时,处理器将生成多个中断和例外中的一个。
15.如权利要求13所述的系统,其特征在于:处理器将参考一个重定向位图以确定是否退出所述处理器模式,该重定向位图指示多个中断和例外中的每一个是否被允许由客户软件进行处理。
16.如权利要求13所述的系统,其特征在于:处理器将标识客户软件修改一个中断标志的尝试,并且如果中断标志不控制中断的屏蔽,则修改该中断标志。
17.如权利要求13所述的系统,其特征在于:处理器将标识客户软件修改一个中断标志的尝试,并且阻止客户软件修改该中断标志的尝试。
18.如权利要求17所述的系统,其特征在于:处理器将通过为由客户软件进行的修改提供一个遮蔽中断标志,来阻止客户软件修改该中断标志的尝试。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/752,134 | 2000-12-27 | ||
US09/752,134 US7818808B1 (en) | 2000-12-27 | 2000-12-27 | Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1561485A CN1561485A (zh) | 2005-01-05 |
CN1295604C true CN1295604C (zh) | 2007-01-17 |
Family
ID=25025025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB018215750A Expired - Fee Related CN1295604C (zh) | 2000-12-27 | 2001-11-27 | 限制在虚拟机监控器上运行的客户软件操作的方法和系统 |
Country Status (11)
Country | Link |
---|---|
US (1) | US7818808B1 (zh) |
KR (1) | KR100602157B1 (zh) |
CN (1) | CN1295604C (zh) |
AU (1) | AU2002217992A1 (zh) |
BR (1) | BR0116599A (zh) |
DE (1) | DE10197121B4 (zh) |
GB (1) | GB2386230B (zh) |
HK (1) | HK1058255A1 (zh) |
RU (1) | RU2265880C2 (zh) |
TW (1) | TW594493B (zh) |
WO (1) | WO2002052404A2 (zh) |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7260820B1 (en) * | 2001-04-26 | 2007-08-21 | Vm Ware, Inc. | Undefeatable transformation for virtual machine I/O operations |
US7103529B2 (en) | 2001-09-27 | 2006-09-05 | Intel Corporation | Method for providing system integrity and legacy environment emulation |
US7793286B2 (en) * | 2002-12-19 | 2010-09-07 | Intel Corporation | Methods and systems to manage machine state in virtual machine operations |
US7424709B2 (en) * | 2003-09-15 | 2008-09-09 | Intel Corporation | Use of multiple virtual machine monitors to handle privileged events |
US7287197B2 (en) * | 2003-09-15 | 2007-10-23 | Intel Corporation | Vectoring an interrupt or exception upon resuming operation of a virtual machine |
US7620949B2 (en) | 2004-03-31 | 2009-11-17 | Intel Corporation | Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment |
US7802250B2 (en) * | 2004-06-28 | 2010-09-21 | Intel Corporation | Support for transitioning to a virtual machine monitor based upon the privilege level of guest software |
US7484247B2 (en) * | 2004-08-07 | 2009-01-27 | Allen F Rozman | System and method for protecting a computer system from malicious software |
EP1669864B1 (en) * | 2004-12-03 | 2010-06-02 | STMicroelectronics Srl | A process for managing virtual machines in a physical processing machine, corresponding processor system and computer program product therefor |
US7685635B2 (en) * | 2005-03-11 | 2010-03-23 | Microsoft Corporation | Systems and methods for multi-level intercept processing in a virtual machine environment |
EP1736875A1 (en) * | 2005-06-21 | 2006-12-27 | Alcatel | Method of operating a computer system |
CN100399274C (zh) * | 2005-09-19 | 2008-07-02 | 联想(北京)有限公司 | 一种虚拟机系统输入/输出设备动态分配的方法及其设备 |
US8572604B2 (en) | 2005-11-12 | 2013-10-29 | Intel Corporation | Method and apparatus to support virtualization with code patches |
US8286162B2 (en) * | 2005-12-30 | 2012-10-09 | Intel Corporation | Delivering interrupts directly to a virtual processor |
CN100464276C (zh) * | 2005-12-30 | 2009-02-25 | 联想(北京)有限公司 | 配置和保护用户软硬件配置信息的方法和系统 |
US7506121B2 (en) * | 2005-12-30 | 2009-03-17 | Intel Corporation | Method and apparatus for a guest to access a memory mapped device |
JP4233585B2 (ja) * | 2006-07-25 | 2009-03-04 | 株式会社エヌ・ティ・ティ・ドコモ | ペリフェラル切替装置及びペリフェラル切替制御装置 |
US7882336B2 (en) * | 2007-02-01 | 2011-02-01 | International Business Machines Corporation | Employing a buffer to facilitate instruction execution |
CN104825457B (zh) | 2007-06-22 | 2019-11-19 | 伊莱利利公司 | 用于治疗病症的方法和组合物 |
US8763115B2 (en) * | 2007-08-08 | 2014-06-24 | Vmware, Inc. | Impeding progress of malicious guest software |
US7996648B2 (en) | 2007-12-19 | 2011-08-09 | Microsoft Corporation | Coupled symbiotic operating systems |
US8522236B2 (en) | 2007-12-28 | 2013-08-27 | Intel Corporation | Method and system for establishing a robust virtualized environment |
KR101425621B1 (ko) | 2008-01-15 | 2014-07-31 | 삼성전자주식회사 | 컨텐츠를 안전하게 공유하는 방법 및 시스템 |
CN101493781B (zh) * | 2008-01-24 | 2012-02-15 | 中国长城计算机深圳股份有限公司 | 一种虚拟机系统及其启动方法 |
GB2462258B (en) * | 2008-07-28 | 2012-02-08 | Advanced Risc Mach Ltd | Interrupt control for virtual processing apparatus |
US8578483B2 (en) * | 2008-07-31 | 2013-11-05 | Carnegie Mellon University | Systems and methods for preventing unauthorized modification of an operating system |
US9424211B2 (en) * | 2008-12-31 | 2016-08-23 | Intel Corporation | Providing multiple virtual device controllers by redirecting an interrupt from a physical device controller |
US8510735B2 (en) * | 2009-02-11 | 2013-08-13 | International Business Machines Corporation | Runtime environment for virtualizing information technology appliances |
US8479196B2 (en) * | 2009-09-22 | 2013-07-02 | International Business Machines Corporation | Nested virtualization performance in a computer system |
US9396000B2 (en) * | 2010-06-25 | 2016-07-19 | Intel Corporation | Methods and systems to permit multiple virtual machines to separately configure and access a physical device |
US8959638B2 (en) | 2011-03-29 | 2015-02-17 | Mcafee, Inc. | System and method for below-operating system trapping and securing of interdriver communication |
US8863283B2 (en) * | 2011-03-31 | 2014-10-14 | Mcafee, Inc. | System and method for securing access to system calls |
US9317690B2 (en) | 2011-03-28 | 2016-04-19 | Mcafee, Inc. | System and method for firmware based anti-malware security |
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 |
US8966629B2 (en) | 2011-03-31 | 2015-02-24 | Mcafee, Inc. | System and method for below-operating system trapping of driver loading and unloading |
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 |
US8966624B2 (en) | 2011-03-31 | 2015-02-24 | Mcafee, Inc. | System and method for securing an input/output path of an application against malware with a below-operating system security agent |
US9262246B2 (en) | 2011-03-31 | 2016-02-16 | Mcafee, Inc. | System and method for securing memory and storage of an electronic device with a below-operating system security agent |
US9032525B2 (en) | 2011-03-29 | 2015-05-12 | Mcafee, Inc. | System and method for below-operating system trapping of driver filter attachment |
US8813227B2 (en) | 2011-03-29 | 2014-08-19 | Mcafee, Inc. | System and method for below-operating system regulation and control of self-modifying code |
US10303503B2 (en) | 2011-12-31 | 2019-05-28 | Intel Corporation | Hardware protection of virtual machine monitor runtime integrity watcher |
WO2013101248A1 (en) * | 2011-12-31 | 2013-07-04 | Intel Corporation | Hardware protection of virtual machine monitor runtime integrity watcher |
EP2847674A4 (en) * | 2012-05-09 | 2016-01-27 | Intel Corp | PLANNING TASKS AMONG PROCESSORS C URS |
US9304874B2 (en) | 2014-02-03 | 2016-04-05 | Red Hat Israel, Ltd. | Virtual machine-guest driven state restoring by hypervisor |
US10963280B2 (en) * | 2016-02-03 | 2021-03-30 | Advanced Micro Devices, Inc. | Hypervisor post-write notification of control and debug register updates |
US20210026950A1 (en) * | 2016-03-07 | 2021-01-28 | Crowdstrike, Inc. | Hypervisor-based redirection of system calls and interrupt-based task offloading |
CN107977252A (zh) * | 2016-10-21 | 2018-05-01 | 中兴通讯股份有限公司 | 一种云平台业务的缩容方法、装置及云平台 |
US10360353B2 (en) * | 2017-02-08 | 2019-07-23 | International Business Machines Corporation | Execution control of computer software instructions |
US11423140B1 (en) | 2017-03-27 | 2022-08-23 | Melih Abdulhayoglu | Auto-containment of guest user applications |
US10951644B1 (en) | 2017-04-07 | 2021-03-16 | Comodo Security Solutions, Inc. | Auto-containment of potentially vulnerable applications |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5437033A (en) * | 1990-11-16 | 1995-07-25 | Hitachi, Ltd. | System for recovery from a virtual machine monitor failure with a continuous guest dispatched to a nonguest mode |
US5522075A (en) * | 1991-06-28 | 1996-05-28 | Digital Equipment Corporation | Protection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces |
Family Cites Families (227)
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 |
US4037214A (en) | 1976-04-30 | 1977-07-19 | International Business Machines Corporation | Key register controlled accessing system |
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 |
US4307447A (en) | 1979-06-19 | 1981-12-22 | Gould Inc. | Programmable controller |
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 |
JPS58140862A (ja) | 1982-02-16 | 1983-08-20 | Toshiba Corp | 相互排他方式 |
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 |
US4787031A (en) * | 1985-01-04 | 1988-11-22 | Digital Equipment Corporation | Computer with virtual machine mode and multiple protection rings |
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 |
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 |
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 |
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 | 仮想計算機制御方式 |
US5781753A (en) | 1989-02-24 | 1998-07-14 | Advanced Micro Devices, Inc. | Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions |
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 |
EP0473913A3 (en) | 1990-09-04 | 1992-12-16 | International Business Machines Corporation | Method and apparatus for providing a service pool of virtual machines for a plurality of vm users |
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 |
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 |
US5551033A (en) | 1991-05-17 | 1996-08-27 | Zenith Data Systems Corporation | Apparatus for maintaining one interrupt mask register in conformity with another in a manner invisible to an executing program |
US5319760A (en) | 1991-06-28 | 1994-06-07 | Digital Equipment Corporation | Translation buffer for virtual machines with address space match |
US5455909A (en) | 1991-07-05 | 1995-10-03 | Chips And Technologies Inc. | Microprocessor with operation capture facility |
US5237669A (en) * | 1991-07-15 | 1993-08-17 | Quarterdeck Office Systems, Inc. | Memory management method |
JPH06236284A (ja) * | 1991-10-21 | 1994-08-23 | Intel Corp | コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム |
US5627987A (en) | 1991-11-29 | 1997-05-06 | Kabushiki Kaisha Toshiba | Memory management and protection system for virtual memory in computer system |
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 |
US5796835A (en) | 1992-10-27 | 1998-08-18 | Bull Cp8 | Method and system for writing information in a data carrier making it possible to later certify the originality of this information |
EP0600112A1 (de) | 1992-11-30 | 1994-06-08 | Siemens Nixdorf Informationssysteme Aktiengesellschaft | Datenverarbeitungsanlage mit virtueller Speicheradressierung und schlüsselgesteuertem Speicherzugriff |
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 |
EP0602867A1 (en) | 1992-12-17 | 1994-06-22 | NCR International, Inc. | An apparatus for securing a system platform |
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 |
US5825880A (en) | 1994-01-13 | 1998-10-20 | Sudia; Frank W. | Multi-step digital signature method and 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 |
US5604805A (en) | 1994-02-28 | 1997-02-18 | Brands; Stefanus A. | Privacy-protected transfer of electronic information |
FR2717286B1 (fr) | 1994-03-09 | 1996-04-05 | Bull Cp8 | Procédé et dispositif pour authentifier un support de données destiné à permettre une transaction ou l'accès à un service ou à un lieu, et support correspondant. |
US5684881A (en) | 1994-05-23 | 1997-11-04 | Matsushita Electric Industrial Co., Ltd. | Sound field and sound image control apparatus and method |
US5539828A (en) | 1994-05-31 | 1996-07-23 | Intel Corporation | Apparatus and method for providing secured communications |
US5473692A (en) | 1994-09-07 | 1995-12-05 | Intel Corporation | Roving software license for a hardware agent |
US5533123A (en) | 1994-06-28 | 1996-07-02 | National Semiconductor Corporation | Programmable distributed personal security |
US5978481A (en) | 1994-08-16 | 1999-11-02 | Intel Corporation | Modem compatible method and apparatus for encrypting data that is transparent to software applications |
JPH0883211A (ja) | 1994-09-12 | 1996-03-26 | Mitsubishi Electric Corp | データ処理装置 |
DE69534757T2 (de) | 1994-09-15 | 2006-08-31 | International Business Machines Corp. | System und Verfahren zur sicheren Speicherung und Verteilung von Daten unter Verwendung digitaler Unterschriften |
US6058478A (en) | 1994-09-30 | 2000-05-02 | Intel Corporation | Apparatus and method for a vetted field upgrade |
FR2725537B1 (fr) | 1994-10-11 | 1996-11-22 | Bull Cp8 | Procede de chargement d'une zone memoire protegee d'un dispositif de traitement de l'information et dispositif associe |
US5903752A (en) | 1994-10-13 | 1999-05-11 | Intel Corporation | Method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system |
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 |
US6269392B1 (en) | 1994-11-15 | 2001-07-31 | Christian Cotichini | Method and apparatus to monitor and locate an electronic device using a secured intelligent agent |
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 |
US5901312A (en) * | 1994-12-13 | 1999-05-04 | Microsoft Corporation | Providing application programs with unmediated access to a contested hardware resource |
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 |
FR2731536B1 (fr) | 1995-03-10 | 1997-04-18 | Schlumberger Ind Sa | Procede d'inscription securisee d'informations dans un support portable |
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 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 二つの別個の命令セット・アーキテクチャへの拡張をサポートすることができるアーキテクチャ・モード制御を備えたマイクロプロセッサ |
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 |
US5737760A (en) | 1995-10-06 | 1998-04-07 | Motorola Inc. | Microcontroller with security logic circuit which prevents reading of internal memory by external program |
US6093213A (en) | 1995-10-06 | 2000-07-25 | Advanced Micro Devices, Inc. | Flexible implementation of a system management mode (SMM) in a processor |
JP3693721B2 (ja) | 1995-11-10 | 2005-09-07 | Necエレクトロニクス株式会社 | フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法 |
IL116708A (en) | 1996-01-08 | 2000-12-06 | Smart Link Ltd | Real-time task manager for a personal computer |
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 |
IL117085A (en) | 1996-02-08 | 2005-07-25 | Milsys Ltd | Secure computer system |
US5835594A (en) | 1996-02-09 | 1998-11-10 | Intel Corporation | Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage |
US5978892A (en) | 1996-05-03 | 1999-11-02 | Digital Equipment Corporation | Virtual memory allocation in a virtual address space having an inaccessible gap |
US5809546A (en) | 1996-05-23 | 1998-09-15 | International Business Machines Corporation | Method for managing I/O buffers in shared storage by structuring buffer table having entries including storage keys for controlling accesses to the buffers |
US6175925B1 (en) | 1996-06-13 | 2001-01-16 | Intel Corporation | Tamper resistant player for scrambled contents |
US6178509B1 (en) | 1996-06-13 | 2001-01-23 | Intel Corporation | Tamper resistant methods and apparatus |
US6205550B1 (en) | 1996-06-13 | 2001-03-20 | Intel Corporation | Tamper resistant methods and apparatus |
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 |
US5757604A (en) | 1996-06-27 | 1998-05-26 | Raychem Corporation | Surge arrester having grooved and ridged terminals |
US5944821A (en) | 1996-07-11 | 1999-08-31 | Compaq Computer Corporation | Secure software registration and integrity assessment in a computer system |
US6199152B1 (en) | 1996-08-22 | 2001-03-06 | Transmeta Corporation | Translated memory protection apparatus for an advanced microprocessor |
US5740178A (en) | 1996-08-29 | 1998-04-14 | Lucent Technologies Inc. | Software for controlling a reliable backup memory |
US6055637A (en) | 1996-09-27 | 2000-04-25 | Electronic Data Systems Corporation | System and method for accessing enterprise-wide resources by presenting to the resource a temporary credential |
US5844986A (en) | 1996-09-30 | 1998-12-01 | Intel Corporation | Secure BIOS |
US5937063A (en) | 1996-09-30 | 1999-08-10 | Intel Corporation | Secure boot |
US5935242A (en) | 1996-10-28 | 1999-08-10 | Sun Microsystems, Inc. | Method and apparatus for initializing a device |
JPH10134008A (ja) | 1996-11-05 | 1998-05-22 | Mitsubishi Electric Corp | 半導体装置およびコンピュータシステム |
US5852717A (en) | 1996-11-20 | 1998-12-22 | Shiva Corporation | Performance optimizations for computer networks utilizing HTTP |
DE19649292A1 (de) | 1996-11-28 | 1998-06-04 | Deutsche Telekom Ag | Verfahren zum Sichern eines durch eine Schlüsselhierarchie geschützten Systems |
US5901225A (en) | 1996-12-05 | 1999-05-04 | Advanced Micro Devices, Inc. | System and method for performing software patches in embedded systems |
US5757919A (en) | 1996-12-12 | 1998-05-26 | Intel Corporation | Cryptographically protected paging subsystem |
US5818939A (en) | 1996-12-18 | 1998-10-06 | Intel Corporation | Optimized security functionality in an electronic system |
US6412035B1 (en) | 1997-02-03 | 2002-06-25 | Real Time, Inc. | Apparatus and method for decreasing the response times of interrupt service routines |
US5953502A (en) | 1997-02-13 | 1999-09-14 | Helbig, Sr.; Walter A | Method and apparatus for enhancing computer system security |
JP4000654B2 (ja) | 1997-02-27 | 2007-10-31 | セイコーエプソン株式会社 | 半導体装置及び電子機器 |
US6272637B1 (en) | 1997-04-14 | 2001-08-07 | Dallas Semiconductor Corporation | Systems and methods for protecting access to encrypted information |
US6557104B2 (en) | 1997-05-02 | 2003-04-29 | Phoenix Technologies Ltd. | Method and apparatus for secure processing of cryptographic keys |
US6044478A (en) | 1997-05-30 | 2000-03-28 | National Semiconductor Corporation | Cache with finely granular locked-down regions |
US6075938A (en) | 1997-06-10 | 2000-06-13 | The Board Of Trustees Of The Leland Stanford Junior University | Virtual machine monitors for scalable multiprocessors |
US5987557A (en) | 1997-06-19 | 1999-11-16 | Sun Microsystems, Inc. | Method and apparatus for implementing hardware protection domains in a system with no memory management unit (MMU) |
US6175924B1 (en) | 1997-06-20 | 2001-01-16 | International Business Machines Corp. | Method and apparatus for protecting application data in secure storage areas |
US6035374A (en) | 1997-06-25 | 2000-03-07 | Sun Microsystems, Inc. | Method of executing coded instructions in a multiprocessor having shared execution resources including active, nap, and sleep states in accordance with cache miss latency |
US6584565B1 (en) | 1997-07-15 | 2003-06-24 | Hewlett-Packard Development Company, L.P. | Method and apparatus for long term verification of digital signatures |
US6014745A (en) | 1997-07-17 | 2000-01-11 | Silicon Systems Design Ltd. | Protection for customer programs (EPROM) |
US6212635B1 (en) | 1997-07-18 | 2001-04-03 | David C. Reardon | Network security system allowing access and modification to a security subsystem after initial installation when a master token is in place |
US5978475A (en) | 1997-07-18 | 1999-11-02 | Counterpane Internet Security, Inc. | Event auditing system |
US5919257A (en) | 1997-08-08 | 1999-07-06 | Novell, Inc. | Networked workstation intrusion detection system |
DE19735948C1 (de) | 1997-08-19 | 1998-10-01 | Siemens Nixdorf Inf Syst | Verfahren zur Verbesserung der Steuerungsmöglichkeit in Datenverarbeitungsanlagen mit Adreßübersetzung |
US6996828B1 (en) * | 1997-09-12 | 2006-02-07 | Hitachi, Ltd. | Multi-OS configuration method |
US6282657B1 (en) | 1997-09-16 | 2001-08-28 | Safenet, Inc. | Kernel mode protection |
US5935247A (en) | 1997-09-18 | 1999-08-10 | Geneticware Co., Ltd. | Computer system having a genetic code that cannot be directly accessed and a method of maintaining the same |
US6148379A (en) | 1997-09-19 | 2000-11-14 | Silicon Graphics, Inc. | System, method and computer program product for page sharing between fault-isolated cells in a distributed shared memory system |
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 |
US5970147A (en) | 1997-09-30 | 1999-10-19 | Intel Corporation | System and method for configuring and registering a cryptographic device |
US6061794A (en) | 1997-09-30 | 2000-05-09 | Compaq Computer Corp. | System and method for performing secure device communications in a peer-to-peer bus architecture |
US6357004B1 (en) | 1997-09-30 | 2002-03-12 | Intel Corporation | System and method for ensuring integrity throughout post-processing |
US6085296A (en) | 1997-11-12 | 2000-07-04 | Digital Equipment Corporation | Sharing memory pages and page tables among computer processes |
US6219787B1 (en) | 1997-12-22 | 2001-04-17 | Texas Instruments Incorporated | Method and apparatus for extending security model to native code |
US6378072B1 (en) | 1998-02-03 | 2002-04-23 | Compaq Computer Corporation | Cryptographic system |
US6308270B1 (en) | 1998-02-13 | 2001-10-23 | Schlumberger Technologies, Inc. | Validating and certifying execution of a software program with a smart card |
US6108644A (en) | 1998-02-19 | 2000-08-22 | At&T Corp. | System and method for electronic transactions |
US6131166A (en) | 1998-03-13 | 2000-10-10 | Sun Microsystems, Inc. | System and method for cross-platform application level power management |
US6192455B1 (en) | 1998-03-30 | 2001-02-20 | Intel Corporation | Apparatus and method for preventing access to SMRAM space through AGP addressing |
US6374286B1 (en) | 1998-04-06 | 2002-04-16 | Rockwell Collins, Inc. | Real time processor capable of concurrently running multiple independent JAVA machines |
US6173417B1 (en) | 1998-04-30 | 2001-01-09 | Intel Corporation | Initializing and restarting operating systems |
US6397242B1 (en) * | 1998-05-15 | 2002-05-28 | Vmware, Inc. | Virtualization system including a virtual machine monitor for a computer with a segmented architecture |
US6795966B1 (en) * | 1998-05-15 | 2004-09-21 | Vmware, Inc. | Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction |
US6496847B1 (en) * | 1998-05-15 | 2002-12-17 | Vmware, Inc. | System and method for virtualizing computer systems |
FR2778998B1 (fr) | 1998-05-20 | 2000-06-30 | Schlumberger Ind Sa | Procede d'authentification d'un code personnel d'un utilisateur d'une carte a circuit integre |
DE69942712D1 (de) | 1998-05-29 | 2010-10-14 | Texas Instruments Inc | Sichere Rechnervorrichtung |
US6421702B1 (en) | 1998-06-09 | 2002-07-16 | Advanced Micro Devices, Inc. | Interrupt driven isochronous task scheduler system |
US6505279B1 (en) | 1998-08-14 | 2003-01-07 | Silicon Storage Technology, Inc. | Microcontroller system having security circuitry to selectively lock portions of a program memory address space |
US6339815B1 (en) | 1998-08-14 | 2002-01-15 | Silicon Storage Technology, Inc. | Microcontroller system having allocation circuitry to selectively allocate and/or hide portions of a program memory address space |
US6363485B1 (en) | 1998-09-09 | 2002-03-26 | Entrust Technologies Limited | Multi-factor biometric authenticating device and method |
US6463535B1 (en) | 1998-10-05 | 2002-10-08 | Intel Corporation | System and method for verifying the integrity and authorization of software before execution in a local platform |
US6230248B1 (en) | 1998-10-12 | 2001-05-08 | Institute For The Development Of Emerging Architectures, L.L.C. | Method and apparatus for pre-validating regions in a virtual addressing scheme |
US6609199B1 (en) | 1998-10-26 | 2003-08-19 | Microsoft Corporation | Method and apparatus for authenticating an open system application to a portable IC device |
US6327652B1 (en) | 1998-10-26 | 2001-12-04 | Microsoft Corporation | Loading and identifying a digital rights management operating system |
US6330670B1 (en) | 1998-10-26 | 2001-12-11 | Microsoft Corporation | Digital rights management operating system |
US7194092B1 (en) | 1998-10-26 | 2007-03-20 | Microsoft Corporation | Key-based secure storage |
US6453392B1 (en) * | 1998-11-10 | 2002-09-17 | International Business Machines Corporation | Method of and apparatus for sharing dedicated devices between virtual machine guests |
US6445797B1 (en) | 1998-12-16 | 2002-09-03 | Secure Choice Llc | Method and system for performing secure electronic digital streaming |
US6463537B1 (en) | 1999-01-04 | 2002-10-08 | Codex Technologies, Inc. | Modified computer motherboard security and identification system |
US6282650B1 (en) | 1999-01-25 | 2001-08-28 | Intel Corporation | Secure public digital watermark |
US7111290B1 (en) | 1999-01-28 | 2006-09-19 | Ati International Srl | Profiling program execution to identify frequently-executed portions and to assist binary translation |
US6560627B1 (en) | 1999-01-28 | 2003-05-06 | Cisco Technology, Inc. | Mutual exclusion at the record level with priority inheritance for embedded systems using one semaphore |
US6188257B1 (en) | 1999-02-01 | 2001-02-13 | Vlsi Technology, Inc. | Power-on-reset logic with secure power down capability |
EP1030237A1 (en) | 1999-02-15 | 2000-08-23 | Hewlett-Packard Company | Trusted hardware device in a computer |
US6272533B1 (en) | 1999-02-16 | 2001-08-07 | Hendrik A. Browne | Secure computer system and method of providing secure access to a computer system including a stand alone switch operable to inhibit data corruption on a storage device |
US7225333B2 (en) | 1999-03-27 | 2007-05-29 | Microsoft Corporation | Secure processor architecture for use with a digital rights management (DRM) system on a computing device |
US6615278B1 (en) | 1999-03-29 | 2003-09-02 | International Business Machines Corporation | Cross-platform program, system, and method having a global registry object for mapping registry equivalent functions in an OS/2 operating system environment |
US6684326B1 (en) | 1999-03-31 | 2004-01-27 | International Business Machines Corporation | Method and system for authenticated boot operations in a computer system of a networked computing environment |
US6651171B1 (en) | 1999-04-06 | 2003-11-18 | Microsoft Corporation | Secure execution of program code |
US6389537B1 (en) | 1999-04-23 | 2002-05-14 | Intel Corporation | Platform and method for assuring integrity of trusted agent communications |
US6275933B1 (en) | 1999-04-30 | 2001-08-14 | 3Com Corporation | Security system for a computerized apparatus |
EP1056014A1 (en) | 1999-05-28 | 2000-11-29 | Hewlett-Packard Company | System for providing a trustworthy user interface |
EP1055989A1 (en) | 1999-05-28 | 2000-11-29 | Hewlett-Packard Company | System for digitally signing a document |
US6321314B1 (en) | 1999-06-09 | 2001-11-20 | Ati International S.R.L. | Method and apparatus for restricting memory access |
US6633981B1 (en) | 1999-06-18 | 2003-10-14 | Intel Corporation | Electronic system and method for controlling access through user authentication |
US6158546A (en) | 1999-06-25 | 2000-12-12 | Tenneco Automotive Inc. | Straight through muffler with conically-ended output passage |
US6301646B1 (en) | 1999-07-30 | 2001-10-09 | Curl Corporation | Pointer verification system and method |
US6529909B1 (en) | 1999-08-31 | 2003-03-04 | Accenture Llp | Method for translating an object attribute converter in an information services patterns environment |
JP2001148344A (ja) | 1999-09-09 | 2001-05-29 | Nikon Corp | 露光装置、エネルギ源の出力制御方法、該方法を用いるレーザ装置、及びデバイス製造方法 |
EP1085396A1 (en) | 1999-09-17 | 2001-03-21 | Hewlett-Packard Company | Operation of trusted state in computing platform |
US6535988B1 (en) | 1999-09-29 | 2003-03-18 | Intel Corporation | System for detecting over-clocking uses a reference signal thereafter preventing over-clocking by reducing clock rate |
US6374317B1 (en) | 1999-10-07 | 2002-04-16 | Intel Corporation | Method and apparatus for initializing a computer interface |
GB9923804D0 (en) | 1999-10-08 | 1999-12-08 | Hewlett Packard Co | Electronic commerce system |
US6292874B1 (en) | 1999-10-19 | 2001-09-18 | Advanced Technology Materials, Inc. | Memory management method and apparatus for partitioning homogeneous memory and restricting access of installed applications to predetermined memory ranges |
EP1269425A2 (en) | 2000-02-25 | 2003-01-02 | Identix Incorporated | Secure transaction system |
AU2001243365A1 (en) | 2000-03-02 | 2001-09-12 | Alarity Corporation | System and method for process protection |
JP3710671B2 (ja) | 2000-03-14 | 2005-10-26 | シャープ株式会社 | 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法 |
CA2341931C (en) | 2000-03-24 | 2006-05-30 | Contentguard Holdings, Inc. | System and method for protection of digital works |
US6678825B1 (en) | 2000-03-31 | 2004-01-13 | Intel Corporation | Controlling access to multiple isolated memories in an isolated execution environment |
US6507904B1 (en) | 2000-03-31 | 2003-01-14 | Intel Corporation | Executing isolated mode instructions in a secure system running in privilege rings |
US6633963B1 (en) | 2000-03-31 | 2003-10-14 | Intel Corporation | Controlling access to multiple memory zones in an isolated execution environment |
US6795905B1 (en) | 2000-03-31 | 2004-09-21 | Intel Corporation | Controlling accesses to isolated memory using a memory controller for isolated execution |
US6651132B1 (en) * | 2000-07-17 | 2003-11-18 | Microsoft Corporation | System and method for emulating the operation of a translation look-aside buffer |
GB0020416D0 (en) | 2000-08-18 | 2000-10-04 | Hewlett Packard Co | Trusted system |
US6938164B1 (en) | 2000-11-22 | 2005-08-30 | Microsoft Corporation | Method and system for allowing code to be securely initialized in a computer |
US7631160B2 (en) | 2001-04-04 | 2009-12-08 | Advanced Micro Devices, Inc. | Method and apparatus for securing portions of memory |
US6976136B2 (en) | 2001-05-07 | 2005-12-13 | National Semiconductor Corporation | Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller |
US7676430B2 (en) | 2001-05-09 | 2010-03-09 | Lenovo (Singapore) Ptd. Ltd. | System and method for installing a remote credit card authorization on a system with a TCPA complaint chipset |
EP1271277A3 (en) | 2001-06-26 | 2003-02-05 | Redstrike B.V. | Security system and software to prevent unauthorized use of a computing device |
US20030018892A1 (en) | 2001-07-19 | 2003-01-23 | Jose Tello | Computer with a modified north bridge, security engine and smart card having a secure boot capability and method for secure booting a computer |
US7191464B2 (en) | 2001-10-16 | 2007-03-13 | Lenovo Pte. Ltd. | Method and system for tracking a secure boot in a trusted computing environment |
US7103771B2 (en) | 2001-12-17 | 2006-09-05 | Intel Corporation | Connecting a virtual token to a physical token |
US20030126453A1 (en) | 2001-12-31 | 2003-07-03 | Glew Andrew F. | Processor supporting execution of an authenticated code instruction |
US7308576B2 (en) | 2001-12-31 | 2007-12-11 | Intel Corporation | Authenticated code module |
US7107460B2 (en) | 2002-02-15 | 2006-09-12 | International Business Machines Corporation | Method and system for securing enablement access to a data security device |
US7343493B2 (en) | 2002-03-28 | 2008-03-11 | Lenovo (Singapore) Pte. Ltd. | Encrypted file system using TCPA |
US7318141B2 (en) | 2002-12-17 | 2008-01-08 | Intel Corporation | Methods and systems to control virtual machines |
-
2000
- 2000-12-27 US US09/752,134 patent/US7818808B1/en not_active Expired - Fee Related
-
2001
- 2001-11-27 BR BR0116599-2A patent/BR0116599A/pt not_active Application Discontinuation
- 2001-11-27 RU RU2003123118/09A patent/RU2265880C2/ru not_active IP Right Cessation
- 2001-11-27 GB GB0314030A patent/GB2386230B/en not_active Expired - Fee Related
- 2001-11-27 KR KR1020037008692A patent/KR100602157B1/ko not_active IP Right Cessation
- 2001-11-27 CN CNB018215750A patent/CN1295604C/zh not_active Expired - Fee Related
- 2001-11-27 DE DE10197121T patent/DE10197121B4/de not_active Expired - Fee Related
- 2001-11-27 AU AU2002217992A patent/AU2002217992A1/en not_active Abandoned
- 2001-11-27 WO PCT/US2001/045061 patent/WO2002052404A2/en not_active Application Discontinuation
- 2001-12-24 TW TW090132037A patent/TW594493B/zh not_active IP Right Cessation
-
2004
- 2004-02-11 HK HK04100915A patent/HK1058255A1/xx not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5437033A (en) * | 1990-11-16 | 1995-07-25 | Hitachi, Ltd. | System for recovery from a virtual machine monitor failure with a continuous guest dispatched to a nonguest mode |
US5522075A (en) * | 1991-06-28 | 1996-05-28 | Digital Equipment Corporation | Protection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces |
Also Published As
Publication number | Publication date |
---|---|
HK1058255A1 (en) | 2004-05-07 |
WO2002052404A2 (en) | 2002-07-04 |
RU2265880C2 (ru) | 2005-12-10 |
GB0314030D0 (en) | 2003-07-23 |
US7818808B1 (en) | 2010-10-19 |
GB2386230B (en) | 2005-03-02 |
AU2002217992A1 (en) | 2002-07-08 |
CN1561485A (zh) | 2005-01-05 |
TW594493B (en) | 2004-06-21 |
DE10197121T1 (de) | 2003-11-13 |
DE10197121B4 (de) | 2009-10-01 |
KR20040028704A (ko) | 2004-04-03 |
RU2003123118A (ru) | 2005-01-10 |
BR0116599A (pt) | 2004-06-15 |
KR100602157B1 (ko) | 2006-07-19 |
GB2386230A (en) | 2003-09-10 |
WO2002052404A3 (en) | 2003-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1295604C (zh) | 限制在虚拟机监控器上运行的客户软件操作的方法和系统 | |
US11841939B2 (en) | Technologies for object-oriented memory management with extended segmentation | |
KR102599484B1 (ko) | 진보된 오퍼레이팅 시스템 지원을 갖는 프로세서 | |
US8868880B2 (en) | Virtualization with multiple shadow page tables | |
US8341369B2 (en) | Providing protected access to critical memory regions | |
US20050076186A1 (en) | Systems and methods for improving the x86 architecture for processor virtualization, and software systems and methods for utilizing the improvements | |
CN103460179A (zh) | 用于透明地对应用程序进行插桩的方法和设备 | |
CA2482008A1 (en) | Systems and methods for using synthetic instructions in a virtual machine | |
CN106970823B (zh) | 高效的基于嵌套虚拟化的虚拟机安全保护方法及系统 | |
US11461128B2 (en) | Apparatus and method for managing use of capabilities | |
Wang et al. | Seimi: Efficient and secure smap-enabled intra-process memory isolation | |
CN107368739B (zh) | 一种内核驱动的监视方法和装置 | |
CN107463513B (zh) | 在存储位置之间转移控制的系统和方法 | |
US11586727B2 (en) | Systems and methods for preventing kernel stalling attacks | |
CN111737656A (zh) | 面向应用程序的特权硬件资源访问方法及电子设备 | |
JP7369720B2 (ja) | アクションをトリガするための装置及び方法 | |
CN113268726A (zh) | 程序代码执行行为的监控方法、计算机设备 | |
van der Kouwe et al. | Virtual machines |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070117 Termination date: 20171127 |