CN109117245A - 用于保护虚拟机存储器的技术 - Google Patents

用于保护虚拟机存储器的技术 Download PDF

Info

Publication number
CN109117245A
CN109117245A CN201810645000.5A CN201810645000A CN109117245A CN 109117245 A CN109117245 A CN 109117245A CN 201810645000 A CN201810645000 A CN 201810645000A CN 109117245 A CN109117245 A CN 109117245A
Authority
CN
China
Prior art keywords
guest
physical address
address
conversion
host
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.)
Pending
Application number
CN201810645000.5A
Other languages
English (en)
Inventor
P·德韦恩
U·K·森古普塔
S·查博拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN109117245A publication Critical patent/CN109117245A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection 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/145Protection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/109Address translation for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/651Multi-level translation tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/68Details of translation look-aside buffer [TLB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Storage Device Security (AREA)

Abstract

公开了用于保护计算设备的虚拟机存储器的方法和计算设备。用于保护计算设备的虚拟机存储器的技术包括:实例化在该计算设备上的虚拟机(VM);建立在该计算设备上的虚拟机监视器(VMM),用于控制VM的操作;安全存储器;以及存储器管理器。存储器管理器从VM接收包括虚拟线性地址(LA)的存储器访问请求,并且使用与VM以及VMM相关联的一个或多个页表来执行LA到计算设备的经转换的主机物理地址(HPA)的转换。存储器管理器判定对应于LA的LA到HPA的安全转换映射是否被锁定。如果该映射被锁定,则存储器管理器基于经转换的HPA与使用安全转换映射转换的HPA的比较来验证转换,并且如果验证通过,则使用经转换的HPA来执行存储器访问请求。

Description

用于保护虚拟机存储器的技术
背景技术
在云环境中,主机服务设备用于向客户机设备提供各种云服务。为了增加的效率和利用率,主机服务设备可通过利用虚拟机(VM)在同一设备上主控多个服务。每个VM为每个所主控的服务提供虚拟“宾客机”设备或机器,使得所主控的服务表现为在单独的、专用的设备上被执行。
主机服务设备的虚拟机可由虚拟机监视器(VMM)管理。典型的VMM被具体化为控制主机服务设备的物理计算机硬件(例如,处理器、存储器、通信设备、盘和CD-ROM驱动器等)并用程序正在独立的物理计算机硬件上执行的错觉来呈现在虚拟机(VM)内执行的程序的软件程序。由在虚拟机中执行的程序使用的虚拟存储器可以以各种方式被映射到主机服务设备的物理存储器。然而,在一些情况下,主机服务设备可能容易被恶意软件、病毒和试图破坏虚拟机监视器的功能的其他类型的恶意软件攻击。被恶意破坏的虚拟机监视器可使实例化在主机服务设备上的虚拟机的虚拟存储器存在风险。
附图说明
在所附的附图中,以示例方式而不是以限制方式图示出本文中所描述的概念。为了说明的简单和清楚起见,附图中所图示出的元件不一定是按比例绘制的。在认为合适的情况下,已在多个附图之间重复了附图标记以指示对应的或类似的元件。
图1是用于保护主机服务设备的虚拟机存储器的系统的至少一个实施例的简化框图;
图2是可由图1的主机服务设备建立的各种环境的至少一个实施例的简化框图;
图3是可由图1的主机服务设备建立的各种环境的至少一个实施例的简化框图;
图4是可由图1-3的主机服务设备执行的用于通过将转换映射存储在安全存储器中来初始化主机安全平台的方法的至少一个实施例的简化框图;
图5是可由图1-3的系统的主机服务设备执行的用于响应于从虚拟机接收存储器访问请求来访问主机服务设备的存储器的方法的至少一个实施例的简化框图;
图6和图7是可由图1-3的系统的主机服务设备执行的用于响应于从虚拟机接收存储器访问请求来访问主机服务设备的存储器的方法的至少一个附加实施例的简化框图;以及
图8是可由图1-3的系统的主机服务设备执行的用于解锁存储在主机服务设备的安全存储器中的(多个)安全转换映射的方法的至少一个实施例的简化框图。
具体实施方式
尽管本公开的概念易于具有各种修改和替代形式,但是,在图中已通过示例的形式示出了本公开的特定实施例,并将在本文中详细描述本公开的特定实施例。然而,应当理解,没有将本公开的概念限制于所公开的特定形式的意图,相反,意图旨在涵盖符合本公开和所附权利要求书的所有修改、等效方案和替代方案。
说明书中对“一个实施例”、“实施例”、“示例性实施例”等的引用指示所描述的实施例可包括特定特征、结构或特性,但是,每一个实施例可包括或可以不一定包括该特定特征、结构或特性。此外,此类短语不一定是指同一个实施例。此外,当结合实施例描述特定特征、结构或特性时,认为结合无论是否明确描述的其他实施例来实施此类特征、结构或特性在本领域技术人员的知识范围之内。另外,应当领会,以“A、B和C中的至少一者”的形式包括在列表中的项可意指(A);(B);(C);(A和B);(A和C);(B和C);或(A、B和C)。类似地,以“A、B或C中的至少一者”的形式列出的项可以意指(A);(B);(C);(A和B);(A和C);(B和C);或(A、B和C)。
在一些情况下,所公开的实施例可在硬件、固件、软件或其任何组合中实现。所公开的实施例也可被实现为由一个或多个瞬态或非瞬态机器可读(例如,计算机可读)存储介质承载或被存储在其上的指令,这些指令可由一个或多个处理器读取和执行。机器可读存储介质可被具体化为用于以可由机器读取的形式存储或传送信息的任何存储设备、机制或其他物理结构(例如,易失性或非易失性存储器、介质盘或其他介质设备)。
在图中,一些结构或方法特征可按特定布置和/或排序示出。然而,应当领会,此类特定布置和/或排序可以不是必需的。相反,在一些实施例中,此类特征可以以与在说明性附图中示出的不同的方式和/或顺序来安排。另外,在特定附图中包括结构或方法特征不旨在暗示在所有实施例中都需要此类特征,并且在一些实施例中,可不包括此类特征,或此类特征可与其他特征相结合。
现在参考图1,在说明性实施例中,用于保护虚拟机存储器的系统100包括主机服务设备102,该主机服务设备102可以通过网络106与一个或多个客户机设备104通信以提供各种云服务或所主控的服务。在使用时,如下文更详细地所描述,主机服务设备102配置该主机服务设备102的安全存储器,以保护(多个)虚拟机的虚拟机存储器,该(多个)虚拟机由主机服务设备102的虚拟机监视器控制。如下文更详细地所讨论,当虚拟机被实例化时,该虚拟机监视器将物理地址范围(例如,宾客机物理地址)分配给所实例化的虚拟机。在说明性实施例中,与分配给虚拟机的物理地址范围相对应的虚拟地址到物理地址的转换映射被存储在主机服务设备102的安全存储器中,使得安全转换映射对于虚拟机监视器而言是不可访问的。由此,即使虚拟机监视器可能被恶意地破坏或黑客攻击,存储在安全存储器中的安全转换映射也不会被影响。另外,可通过将此类存储器转换与安全存储器映射进行比较来验证后续的存储器地址转换。
主机服务设备102可被具体化为能够执行本文中描述的功能的任何类型的计算或计算机设备,包括但不限于:计算机、服务器、机架式服务器、高性能计算节点、台式计算机、工作站、膝上型计算机、笔记本计算机、平板计算机、移动计算设备、可穿戴计算设备、网络设备、分布式计算系统、基于处理器的系统和/或消费电子设备。如图1中所示,主机服务设备102说明性地包括计算引擎120、输入/输出(“I/O”)子系统126、数据存储130、以及通信子系统128。在一些实施例中,如下文所讨论,计算引擎120可包括或可被具体化为处理器122以及集成的或分离的存储器124。另外,在一些实施例中,主机服务设备102还可包括一个或多个外围设备132。应当领会,在其他实施例中,主机服务设备102可包括其他或附加的组件,诸如通常在服务器计算机中发现的那些设备(例如,各种输入/输出设备)。另外,在一些实施例中,说明性组件中的一者或多者可被合并在另一组件中,或以其他方式形成另一组件的部分。例如,在一些实施例中,存储器124或其部分可被合并在处理器122中。
计算引擎120可被具体化为能够执行如下文所描述的各种计算功能的任何类型的设备或设备集合。在一些实施例中,计算引擎120可被具体化为单个设备,诸如集成电路、嵌入式系统、现场可编程阵列(FPGA)、片上系统(SOC)或其他集成系统或设备。在一些实施例中,计算引擎120包括或被具体化为处理器122和存储器124。处理器122可被具体化为能够执行本文中所描述的功能的任何类型的处理器。例如,处理器122可被具体化为(多个)单核或多核处理器、数字信号处理器、微控制器、或其他处理器或处理/控制电路。类似地,存储器124可被具体化为能够执行本文中所描述的功能的任何类型的易失性或非易失性存储器或数据存储。在操作时,存储器124可存储在主机服务设备102的操作期间使用的各种数据和软件,诸如操作系统、应用、程序、库以及驱动程序。存储器124经由I/O子系统126可通信地耦合至处理器122,该I/O子系统126可被具体化为用于促进与主机服务设备102的处理器122、存储器124以及其他组件之间的输入/输出操作的电路和/或组件。例如,I/O子系统126可被具体化为或以其他方式包括存储器控制器中枢、输入/输出控制中枢、固件设备、通信链路(即,点对点链路、总线链路、线路、电缆、光导、印刷电路板迹线等)和/或用于促进输入/输出操作的其他组件和子系统。在一些实施例中,I/O子系统126可以与处理器122、存储器124以及主机服务设备102的其他组件一起合并到计算引擎120中。
通信子系统128可被具体化为能够实现主机服务设备102与系统100的其他设备(例如,经由网络106的客户机设备104)之间的通信的任何类型的通信电路、设备或其集合。为此,通信子系统128可被配置成使用任何一种或多种通信技术(例如,无线或有线通信)和相关联的协议(例如,以太网、 WiMAX、LTE、5G等)来实现此类通信。
数据存储130可被具体化为被配置成用于数据的短期或长期存储的任何类型的一个或多个设备,诸如例如,存储器设备和电路、存储器卡、硬盘驱动器、固态驱动器或其他数据存储设备。如下文详细地所描述,数据存储130可存储转换映射。
在一些实施例中,主机服务设备102可包括一个或多个外围设备132。外围设备132可包括任何数量的附加外围或接口设备,诸如其他输入/输出设备、存储设备等等。包括在外围设备132中的特定设备可取决于例如主机服务设备102、客户机设备104、和/或由主机服务设备102提供的所主控的服务的类型和/或配置。
每个客户机设备104可被具体化为能够与用于主控本文中所描述的服务和功能的主机服务设备102通信的任何类型的计算或计算机设备,包括但不限于:计算机、平板计算机、智能电话、膝上型计算机、笔记本、台式计算机、超极本TM、智能设备、个人数字助理、移动互联网设备、可穿戴计算设备、网络设备、分布式计算系统、基于处理器的系统、消费者电子设备、和/或其他计算设备。由此,每个客户机设备104可包括与以上针对主机服务设备102所描述的那些组件类似的诸如处理器、存储器和通信子系统之类的组件。
网络106可被具体化为能够促进移动计算设备102与远程服务104之间的通信的任何数量的各种有线和/或无线网络。例如,网络106可被具体化为或以其他方式包括,有线或无线局域网(LAN)、有线或无线广域网(WAN)、蜂窝网络、和/或诸如互联网之类的可公开地访问的全局网络。由此,网络106可包括任何数量的附加设备,以促进其间的通信,该附加设备诸如附加计算机、路由器和交换机。
现在参考图2,在使用时,主机服务设备102可建立用于保护实例化在主机服务设备102上的虚拟机的虚拟机存储器的环境200。说明性环境200包括虚拟机监视器(VMM)202、一个或多个虚拟机(VM)204、存储器管理器206、安全存储器208以及存储器页错误检测器210。环境200的组件中的一些可被具体化为硬件、固件、软件或其组合。由此,在一些实施例中,环境200的组件中的一个或多个可被具体化为电气设备的电路或集合(例如,存储器管理器电路206、安全存储器电路208、存储器页错误检测器电路210等)。应当领会,在此类实施例中,存储器管理器电路206和/或存储器页错误检测器电路210中的一者或多者可形成以下一者或多者的部分:计算引擎120、处理器122、I/O子系统126、通信子系统128、和/或主机服务设备102的其他组件。另外,在一些实施例中,环境200的说明性组件中的一者或多者可形成另一组件的部分,和/或说明性组件中的一者或多者可彼此独立。此外,在一些实施例中,环境200的组件中的一者或多者可被具体化为虚拟化的硬件组件或仿真架构,该虚拟化的硬件组件或仿真架构可由计算引擎120或主机服务设备102的其他组件建立和维护。
虚拟机监视器(VMM)202被配置成用于将虚拟机204实例化在主机服务设备上。在这样做时,虚拟机监视202被配置成用于建立VMM页表,以存储宾客机物理地址(GPA)与主机物理地址(HPA)之间的本地转换映射并将宾客机物理地址范围分配给实例化在主机服务设备102上的(多个)虚拟机204。为此,虚拟机监视器202包括存储器映射器212,该存储器映射器212为被分配给虚拟机204的宾客机物理地址范围生成宾客机物理地址到主机物理地址的映射。换言之,虚拟机监视器202通过分配被映射到对应的主机物理地址范围的宾客机物理地址范围来将主机物理地址范围分配给每个虚拟机204。为了保持跟踪具有所分配的宾客机物理地址范围的虚拟机204,VMM页表进一步包括与每个虚拟机204相关联的虚拟机控制结构(VMCS)标识符,并且生成将被如下文所详细讨论地存储在安全存储器208中的VMCS→GPA→HPA映射304。VMCS标识符唯一地标识实例化在主机服务设备102上的每个虚拟机204。
如以上所讨论,在一些情况下,虚拟机监视器202可能被破坏或被黑客攻击,并且可能试图恶意改变所生成的转换映射。为了确保主机服务设备102不被恶意破坏,通过将VMCS→GPA→HPA映射304作为安全转换映射复制到安全存储器208来保护虚拟机204的虚拟存储器。一旦宾客机物理地址到主机物理地址的安全转换映射被存储在安全存储器208中,虚拟机监视器202就不能重新分配已经通过所分配的宾客机物理地址范围分配给虚拟机204的主机物理地址。由此,直到虚拟机204释放或解锁所分配的宾客机物理地址范围才可访问或修改与虚拟机204相关联的宾客机物理地址到主机物理地址的安全转换映射。因此,仅虚拟机204可访问主机服务设备102的与被分配给虚拟机204的宾客机物理地址范围相对应的主机物理地址。
每个虚拟机(VM)204被配置成用于执行相关联的软件或以其他方式提供云服务或主控服务。每个虚拟机204建立VM页表,以存储虚拟机的虚拟线性地址(LA)与由虚拟机监视器202提供的宾客机物理地址范围中的宾客机物理地址(GPA)之间的映射。为此,虚拟机204包括生成LA→GPA映射302的存储器映射器214,该LA→GPA映射302用于将虚拟线性地址转换为经转换的宾客机物理地址。
存储器管理器206被配置成用于管理来自虚拟机204的存储器请求,同时向虚拟机204的虚拟存储器提供安全性。为此,存储器管理器206包括存储器映射器安全性控制器216、存储器映射器聚合器218、存储器映射器锁定器220以及存储器映射器解锁器222。在使用时,存储器管理器206被配置成用于从虚拟机204接收包括虚拟线性地址的存储器访问请求。响应于该存储器访问请求,存储器管理器206使用与请求虚拟机相关联的VM页表以及与虚拟机监视器相关联的VMM页表来执行虚拟线性地址到主机服务设备102的经转换的主机物理地址的转换。
为了向虚拟机204的虚拟存储器提供安全性,存储器映射器安全性控制器216被配置成用于基于经转换的主机物理地址与使用存储在安全存储器208中的安全转换映射转换的主机物理地址的比较,来验证虚拟线性地址到经转换的主机物理地址的转换。存储器映射器安全性控制器216进一步被配置成用于控制对存储一个或多个安全转换映射(例如,如图3中所示的锁定的VMCS→LA→GPA→HPA映射306、锁定的LA→GPA映射308、和/或锁定的VMCS→GPA→HPA映射310)的安全存储器208的访问。如以上所讨论,一旦转换映射被复制在安全存储器208中,安全转换映射306、308、310对于虚拟机监视器202和虚拟机204而言就是不可访问的。
在一些实施例中,存储器映射器聚合器218被配置成用于聚合由虚拟机204生成的LA→GPA映射302和由虚拟机监视器202生成的VMCS→GPA→HPA映射304,以生成VMCS→LA→GPA→HPA映射306(参见图3)。如以上所讨论,VMCS→LA→GPA→HPA映射306用于对使用与虚拟机204相关联的VM页表以及与虚拟机监视器202相关联的VMM页表的虚拟机204的虚拟线性地址到主机服务设备102的经转换的主机物理地址的转换进行验证。
替代地,在一些实施例中,存储器映射器安全性控制器216可使用两个步骤的过程来验证经转换的主机物理地址。首先,存储器映射器安全性控制器216可使用存储在安全存储器208中的锁定的LA→GPA映射308来对使用与请求虚拟机204相关联的VM页表的虚拟机204的虚拟线性地址到经转换的宾客机物理地址的转换进行验证。如果存储器映射器安全性控制器216判定经转换的宾客机物理地址与使用锁定的LA→GPA映射308转换的宾客机物理地址不匹配,则存储器映射器安全性控制器216可生成安全性错误以执行安全性功能。然而,如果第一转换被验证,则存储器映射器安全性控制器216可使用存储在安全存储器208中的锁定的VMCS→GPA→HPA映射310来对使用与虚拟机监视器202相关联的VMM页表的经转换的宾客机物理地址到经转换的主机物理地址的转换进行验证。如果存储器映射器安全性控制器216判定经转换的主机物理地址与使用锁定的VMCS→GPA→HPA映射310转换的主机物理地址不匹配,则存储器映射器安全性控制器216可生成安全性错误以执行安全性功能。由此,通过验证(多个)安全转换映射,存储器映射器安全性控制器216可确保虚拟机监视器202不被恶意破坏。
存储器映射器锁定器220被配置成用于锁定存储在安全存储器208中的安全转换映射306、308、310。应当领会,被锁定在安全存储器208中的安全转换映射306、308、310不可由虚拟机监视器202和虚拟机204访问。换言之,VMCS→LA→GPA→HPA映射306、(多个)LA→GPA映射308、和/或VMCS→GPA→HPA映射310(参见图3)对于虚拟机监视器202和(多个)虚拟机204而言是不可访问的。为了锁定安全转换映射306、308、310,存储器映射器锁定器220可设置状态位或标志或者以其他方式提供与锁定的安全转换映射306、308、310相关联的指示。在一些实施例中,安全转换映射306、308、310仅在安全存储器208中存在是对应的安全转换映射306、308、310已经被锁定的指示。
存储器映射器解锁器222另外被配置为从安全存储器208释放一个或多个转换映射,使得虚拟机监视器202和/或一个或多个虚拟机204可访问解锁的转换映射。为此,存储器映射器解锁器222从安全存储器208移除请求被解锁的转换映射。由此,应当领会,直到虚拟机204释放由虚拟机监视器202分配给虚拟机204的主机物理地址范围,VMCS→LA→GPA→HPA映射306和/或VMCS→GPA→HPA映射310对于虚拟机监视器202而言才是可访问的。
存储器页错误检测器210被配置成用于检测存储器页错误,该存储器页错误可在使用与虚拟机204或虚拟机监视器202相关联的页表的地址转换期间发生。例如,当对应的页表中不存在经转换的物理地址(例如,经转换的宾客机物理地址和/或经转换的主机物理地址)时,存储器页错误检测器210可检测存储器页错误。例如,当存储器管理器206将虚拟机204的虚拟线性地址转换为经转换的宾客机物理地址时,存储器页错误检测器210判定经转换的宾客机物理地址是否在与虚拟机204相关联的VM页表中存在。如果经转换的宾客机物理地址不在VM页表中存在,则存储器页错误检测器210生成存储器页错误。另外,当存储器管理器206将经转换的宾客机物理地址转换为经转换的主机物理地址时,存储器页错误检测器210判定经转换的主机物理地址是否在与虚拟机监视器202相关联的VMM页表中存在。如果经转换的主机物理地址不在VMM页表中存在,则存储器页错误检测器210生成存储器页错误。在一些实施例中,存储器页错误检测器210可提醒用户主机服务设备102已经被破坏。
安全存储器208被配置成用于将安全转换映射存储在安全转换高速缓存224中。如以上所讨论,安全转换映射包括由虚拟机监视器202以及一个或多个虚拟机204生成的转换映射。在一些实施例中,如下文更详细地所讨论,由虚拟机监视器202以及一个或多个虚拟机204生成的映射(即,分别为VMCS→GPA→HPA映射304和LA→GPA映射302)可被聚合为单个VMCS→LA→GPA→HPA映射306。相应地,如图3中所示,安全存储器208可存储VMCS→LA→GPA→HPA映射306。在其他实施例中,安全存储器208可分开地存储VMCS→GPA→HPA映射310以及每个虚拟机204的一个或多个LA→GPA映射308。
现在参考图4,在使用时,主机服务设备102可执行用于初始化主机服务设备102的主机安全平台的方法400。如以上所讨论,存储器映射器安全性控制器216将安全转换映射存储并锁定在安全存储器208中,使得该安全转换映射不可由虚拟机监视器202和虚拟机204访问。方法400开始于框402,在框402中,主机服务设备102的存储器映射器安全性控制器216判定是否初始化主机服务设备102的主机安全平台。如果存储器映射器安全性控制器216判定主机安全平台的初始化不被期望,则方法400循环返回至框402以继续判定是否初始化主机安全平台。然而,如果存储器映射器安全性控制器216判定要初始化主机安全平台,则方法400进行至框404。
在框404中,存储器映射器安全性控制器216保留用于存储安全转换的主机物理地址空间的安全存储器区域。为此,在框406中,存储器映射器安全性控制器216在安全存储器208中建立安全转换高速缓存(STC)224。在框408中,存储器映射器安全性控制器216确保安全转换高速缓存224不可由(多个)虚拟机204和虚拟机监视器202访问。例如,在一些实施例中,存储器映射器安全性控制器216可确保安全转换高速缓存224的主机物理地址空间不能由虚拟机监视器202或虚拟机204映射。在一些实施例中,可在安全容器或其他安全性供应中建立安全存储器区域。
在框410中,存储器映射器安全性控制器216初始化虚拟机监视器202。为此,在框412中,存储器映射器安全性管理器216建立VMM页表,该VMM页表存储宾客机物理地址(GPA)与主机物理地址(HPA)之间的映射。
在框414中,虚拟机监视器202判定是否要实例化新的虚拟机(VM)。如果虚拟机监视器202判定不要实例化新的虚拟机204,则方法400循环返回至框414以继续判定是否要实例化新的虚拟机204。然而,如果虚拟机监视器202判定要实例化新的虚拟机204,则方法400进行至框416。
在框416中,虚拟机监视器202将主机存储器分配给新的虚拟机204。为此,在框418中,虚拟机监视器202将宾客机物理地址范围分配给新的虚拟机204。在框420中,虚拟机监视器202利用宾客机物理地址范围向新的虚拟机204的新分配来更新虚拟机监视器202的VMCS→GPA→HPA映射304。为此,虚拟机监视器202为被分配给新的虚拟机204的宾客机物理地址范围生成宾客机物理地址到主机物理地址的映射。虚拟机监视器202利用新的虚拟机204的所分配的宾客机物理地址范围的新的映射以及与新的虚拟机204相关联的虚拟机控制结构(VMCS)标识符来更新VMCS→GPA→HPA映射304。如以上所讨论,虚拟机控制结构标识符唯一地标识对应的虚拟机。
在框422中,虚拟机监视器202发起新的虚拟机204。在框424中,新的虚拟机204为由虚拟机监视器202分配给新的虚拟机204的宾客机物理地址范围生成LA→GPA映射302。为此,在框426中,新的虚拟机204建立VM页表,该VM页表存储与新的虚拟机204相关联的虚拟线性地址到宾客机物理地址的转换映射。
在框428中,存储器映射器安全性控制器216判定是否要锁定转换映射(即,VMCS→GPA→HPA映射304和LA→GPA映射302)。如果存储器映射器安全性控制器216判定不要锁定转换映射,则方法400循环返回至框414以继续判定是否要实例化新的虚拟机204。然而,如果存储器映射器安全性控制器216判定要锁定转换映射,则方法400进行至框430。
在框430中,新的虚拟机204请求转换映射的锁定。在框432中,响应于从新的虚拟机204接收锁定请求,存储器映射器安全性控制器216将转换映射复制到安全存储器208。为此,存储器映射器安全性控制器216将新的虚拟机204的LA→GPA映射302和虚拟机监视器202的VMCS→GPA→HPA映射304复制到安全存储器208。
在说明性实施例中,存储器映射器安全性控制器216的存储器映射器聚合器218可将所实例化的(多个)虚拟机204的LA→GPA映射302和虚拟机监视器202的VMCS→GPA→HPA映射304聚合为VMCS→LA→GPA→HPA映射306,并将该经聚合的映射306存储在安全存储器208中。应当领会,VMCS→LA→GPA→HPA映射306被锁定在安全存储器208中,并且对于虚拟机监视器202或(多个)虚拟机204而言是不可访问的。
如以上所讨论和在图3中所示出,在一些实施例中,LA→GPA映射302和VMCS→GPA→HPA映射304可被单独地复制和存储在安全存储器208中。在此类实施例中,一旦转换映射302、304被复制在安全存储器208中,存储器映射器安全性控制器216就锁定转换映射308、310,使得锁定的LA→GPA映射308和锁定的VMCS→GPA→HPA映射310对于虚拟机监视器202或(多个)虚拟机204而言是不可访问的。在此类实施例中,VM页表的LA→GPA映射302与存储在安全存储器208中的锁定的LA→GPA映射308初始相同,并且VMM页表的VMCS→GPA→HPA映射304与存储在安全存储器208中的锁定的VMCS→GPA→HPA映射310初始相同。然而,虚拟机监视器202可被恶意破坏,并且可试图改变转换映射。由此,页表与存储在安全存储器208中的安全转换映射之间的任何不一致可能导致安全性错误,如下文更详细地所描述,该安全性错误可指示主机服务设备102已经被破坏。
现在参考图5,在使用时,主机服务设备102可执行用于响应于从虚拟机204接收存储器访问请求而访问主机服务设备的主机物理存储器的方法500。如以上结合图4所描述,例如,方法500可在初始化主机服务设备102的主机安全平台之后被执行。方法500开始于框502,在框502中,主机服务设备102的主机服务设备102判定来自虚拟机204的存储器访问请求是否已经由存储器管理器206接收。如果否,则方法500循环返回至框502以继续等待将从虚拟机204接收的存储器访问请求。然而,如果主机服务设备102判定存储器访问请求已经被接收,则方法500进行至框504。在框504中,主机服务设备102接收与来自请求虚拟机204的存储器访问相关联的虚拟线性地址(LA)、访问类型和VMCS ID(即,VM标识符)。
在框506中,主机服务设备102使用与请求虚拟机204相关联的VM页表以及与虚拟机监视器202相关联的VMM页表来将存储器访问请求的虚拟线性地址转换为对应的主机物理地址。为此,在一些实施例中,主机服务设备102使用VM页表来将存储器访问请求的虚拟线性地址转换为经转换的宾客机物理地址,并且使用VMM页表来进一步将经转换的宾客机物理地址转换为主机物理地址。在转换过程期间,主机服务设备102判定所请求的虚拟线性地址是否被映射在请求虚拟机204的VM页表中,以及经转换的宾客机物理地址是否被映射在VMM页表中。如果主机服务设备102判定存储器访问请求的虚拟线性地址在VM页表中不存在和/或经转换的宾客机物理地址在VMM页表中不存在,则主机服务设备102在框508中引发存储器页错误,并且方法500进行至框510。在框510中,主机服务设备102调用可执行一个或多个错误处置程序的存储器页错误处置器。
然而,如果主机服务设备102判定没有存储器页错误,则方法500进行至框512。在框512中,主机服务设备102判定虚拟线性地址到主机物理地址转换映射是否被锁定。为此,在框514中,主机服务设备102可将请求虚拟机204的VMCS标识符与存储在安全存储器208中的(多个)安全转换映射(例如,VMCS→LA→GPA→HPA映射306)进行比较,以判定虚拟线性地址当前是否被存储在安全存储器208中。在框516中,如果主机服务设备102判定转换映射不被锁定,则方法500向前跳至框524,在框524中,主机服务设备102使用经转换的主机物理地址来执行所请求的存储器访问。
然而,如果主机服务设备102判定转换映射被锁定,则方法500进行至框518。在框518中,主机服务设备102验证虚拟线性地址到主机物理地址的转换。为此,在框520中,主机服务设备102基于请求虚拟机204的VMCS标识,将虚拟线性地址到主机物理地址的页表转换与存储在安全存储器208中的VMCS→LA→GPA→HPA映射306进行比较。在一些实施例中,主机服务设备102可将使用VM和VMM页表获取的经转换的主机物理地址与使用VMCS→LA→GPA→HPA映射306转换的主机物理地址进行比较。替代地或另外地,在一些实施例中,全部VM和VMM页表可与VMCS→LA→GPA→HPA映射306比较以验证转换。
在框522中,主机服务设备102判定VMCS→LA→GPA→HPA映射306是否匹配VM和VMM页表。例如,主机服务设备102可判定经转换的主机物理地址是否与使用VMCS→LA→GPA→HPA映射306转换的主机物理地址相同。如果主机服务设备102判定经转换的主机物理地址与使用VMCS→LA→GPA→HPA映射306转换的主机物理地址相同,则方法500进行至框524,在框524中,主机服务设备102使用经转换的主机物理地址来执行所请求的存储器访问。
替代地或另外地,在如以上所提到的一些实施例中,主机服务设备102可判定全部VM和VMM页表是否匹配存储在安全存储器208中的VMCS→LA→GPA→HPA映射306。如果主机服务设备102判定全部VM和VMM页表与VMCS→LA→GPA→HPA映射306相同,则方法500进行至框524,在框524中,主机服务设备102使用经转换的主机物理地址来执行所请求的存储器访问。
然而,如果主机服务设备102判定经转换的主机物理地址不同于使用VMCS→LA→GPA→HPA映射306转换的主机物理地址或VMCS→LA→GPA→HPA映射306不同于VM和VMM页表,则方法500进行至框526以生成安全性错误。在这样做时,在一些实施例中,在框528中,主机服务设备102可执行安全性功能。例如,主机服务设备102可提醒用户该主机服务设备102已经被破坏。
现在参考图6和图7,在使用时,主机服务设备102可执行用于响应于从虚拟机204接收存储器访问请求而访问主机服务设备的存储器的替代方法600。如以上结合图4所描述,例如,方法600可在初始化主机服务设备102的主机安全平台之后被执行。方法600开始于框602,在框602中,主机服务设备102判定存储器访问是否已经被接收。如果否,则方法600循环返回至框602以继续等待来自虚拟机204的存储器访问请求。然而,如果主机服务设备102判定存储器访问请求已经被接收,则方法600进行至框604。在框604中,主机服务设备102接收与来自请求虚拟机204的存储器访问相关联的虚拟线性地址(LA)、访问类型和VMCSID(即,VM标识符)。
在框606中,主机服务设备102使用与请求虚拟机204相关联的VM页表来将存储器访问请求的虚拟线性地址转换为对应的宾客机物理地址。在转换过程期间,主机服务设备102判定所请求的虚拟线性地址是否被映射在VM页表中。如果主机服务设备102判定存储器访问请求的虚拟线性地址不被映射在VM页表中,则主机服务设备102在框608中引发存储器页错误,并且方法600进行至框610。在框610中,主机服务设备102调用存储器页错误处置器来处置页错误,并且方法600循环返回至框602以监视后续存储器访问请求。
然而,如果主机服务设备102判定没有存储器页错误,则方法600进行至框612。在框612中,主机服务设备102判定虚拟线性地址到宾客机物理地址转换是否被锁定。为此,在框614中,主机服务设备102可将请求虚拟机204的线性地址和/或VMCS标识符与存储在安全存储器208中的锁定的LA→GPA映射308进行比较,以判定虚拟线性地址当前是否被存储在安全存储器208中。在框616中,如果主机服务设备102判定转换不被锁定,则方法600向前跳至图7的框628,以如下文所进一步讨论地进一步将经转换的宾客机物理地址转换为主机物理地址。
然而,如果主机服务设备102判定转换被锁定,则方法600进行至框618。在框618中,主机服务设备102验证虚拟线性地址到宾客机物理地址的转换。为此,在框620中,主机服务设备102基于请求虚拟机204的VMCS或基于虚拟线性地址自身,将虚拟线性地址到宾客机物理地址的VM页表转换与锁定的LA→GPA映射308进行比较。例如,主机服务设备102可将经转换的宾客机物理地址与使用虚拟线性地址到宾客机物理地址的安全转换映射(即,存储在安全存储器208中的LA→GPA映射308)转换的宾客机物理地址进行比较。另外地或替代地,在一些实施例中,主机服务设备102可将全部VM页表与存储在安全存储器208中的LA→GPA映射308进行比较以验证转换。
在框622中,如果主机服务设备102判定锁定的LA→GPA映射308不同于VM页表,则方法600进行至框624以生成安全性错误。在一些实施例中,在框626中,响应于判定验证已失败,主机服务设备102可执行安全性功能。例如,在一些实施例中,主机服务设备102可提醒用户该主机服务设备102已经被破坏。
然而,如果主机服务设备102判定锁定的LA→GPA映射308匹配VM页表,则方法600向前跳至图7的框628。在框628中,主机服务设备102使用VMM页表将经转换的宾客机物理地址转换为主机物理地址。在转换过程期间,主机服务设备102判定经转换的宾客机物理地址是否被映射在VMM页表中。如果主机服务设备102判定经转换的宾客机物理地址不被映射在VMM页表中,则主机服务设备102在框630中引发存储器页错误,并且方法600进行至框632。在框632中,主机服务设备102调用存储器页错误处置器来处置页错误,并且方法600随后循环返回至框602以监视后续存储器访问请求。
然而,如果主机服务设备102判定没有存储器页错误,则方法600进行至框634。在框634中,主机服务设备102判定经转换的宾客机物理地址到主机物理地址的转换是否被锁定。为此,在框636中,主机服务设备102将请求虚拟机204的VMCS标识符与存储在安全存储器208中的锁定的VMCS→GPA→HPA映射310进行比较,以判定经转换的宾客机物理地址当前是否被存储在安全存储器208中。
在框638中,如果主机服务设备102判定转换不被锁定,则方法600向前跳至框646,以使用经转换的主机物理地址来执行所请求的存储器访问。然后,方法600循环返回至框602,以监视后续存储器访问请求。
然而,如果主机服务设备102判定转换被锁定,则方法600进行至框640。在框640中,主机服务设备102验证经转换的宾客机物理地址到主机物理地址的转换。为此,在框642中,主机服务设备102基于请求虚拟机204的VMCS,将宾客机物理地址到主机物理地址的VMM页表转换与锁定的VMCS→GPA→HPA映射310进行比较。例如,主机服务设备102可将经转换的主机物理地址与使用宾客机物理地址到主机物理地址的安全转换映射(即,存储在安全存储器208中的VMCS→GPA→HPA映射310)转换的主机物理地址进行比较。另外地或替代地,在一些实施例中,主机服务设备102可将全部VMM页表与存储在安全存储器208中的VMCS→GPA→HPA映射310进行比较以验证转换。
在框644中,如果主机服务设备102判定锁定的VMCS→GPA→HPA映射310不同于VMM页表,则方法600进行至框648以生成安全性错误。为此,在一些实施例中,在框650中,主机服务设备102可执行安全性功能。例如,在一些实施例中,主机服务设备102可提醒用户该主机服务设备102已经被破坏。
然而,如果主机服务设备102判定锁定的VMCS→GPA→HPA映射310匹配VMM页表,则方法600向前跳至框646,以使用经转换的主机物理地址来执行所请求的存储器访问。然后,方法600循环返回至框602,以监视后续存储器访问请求。
现在参考图8,在使用时,主机服务设备102可执行用于响应于接收来自虚拟机204的解锁请求而解锁存储在安全存储器208中的一个或多个安全转换映射的方法800。如以上结合图4所描述,例如,方法800可在初始化主机服务设备102的主机安全平台之后被执行。方法800开始于框802,在框802中,主机服务设备102判定是否要解锁存储在安全存储器208中的一个或多个安全转换映射。如果主机服务设备102判定尚未接收到解锁请求,则方法800循环返回至框802,以继续等待来自虚拟机204的解锁请求。然而,如果主机服务设备102判定已接收到解锁请求,则方法800进行至框804。在框804中,主机服务设备102响应于接收解锁请求而从请求虚拟机204接收将要被解锁的虚拟线性地址范围。
在框806中,主机服务设备102通过从安全存储器208移除与请求虚拟机204相关联的任何安全转换映射,来释放LA→GPA→HPA地址层级结构。为此,在框808中,主机服务设备102基于将被解锁的虚拟线性地址范围来确定LA→GPA→HPA地址层级结构,该将被解锁的虚拟线性地址范围与请求虚拟机204相关联。在框810中,主机服务设备102从安全存储器208移除LA→GPA→HPA地址层级结构。例如,主机服务设备102从安全存储器208中移除对应于虚拟线性地址范围的虚拟线性地址到主机物理地址的安全转换映射。
示例
下文提供了本文中所公开的技术的说明性示例。这些技术的实施例可包括下文所描述的示例中的任何一项或多项以及其任何组合。
示例1包括用于保护计算设备的虚拟机存储器的计算设备,该计算设备包括:安全存储器;以及存储器管理器,用于(i)从由计算设备的虚拟机监视器实例化在该计算设备上的虚拟机接收包括虚拟线性地址的存储器访问请求,(ii)使用与请求虚拟机相关联的页表以及与虚拟机监视器相关联的页表,来执行虚拟线性地址到计算设备的经转换的主机物理地址的转换,(iii)判定对应于虚拟线性地址的虚拟线性地址到主机物理地址的安全转换映射是否被锁定,其中该安全转换映射被存储在安全存储器中,(iv)响应于安全转换映射被锁定的判定,基于经转换的主机物理地址与使用安全转换映射转换的主机物理地址的比较来验证转换,以及(v)响应于该转换的验证,使用经转换的主机物理地址来执行存储器访问请求。
示例2包括示例1的主题,并且其中,安全转换映射包括虚拟线性地址到宾客机物理地址的安全转换映射,并且其中用于执行转换包括用于使用与请求虚拟机相关联的页表来执行虚拟线性地址到经转换的宾客机物理地址的第一转换,用于判定安全转换映射是否被锁定包括用于判定虚拟线性地址到宾客机物理地址的安全转换映射是否被锁定;以及用于验证转换包括用于基于经转换的宾客机物理地址与使用虚拟线性地址到宾客机物理地址的安全转换映射转换的宾客机物理地址的比较来验证第一转换。
示例3包括示例1和2中任何一项的主题,其中,存储器管理器进一步用于响应于经转换的宾客机物理地址与使用虚拟线性地址到宾客机物理地址的安全转换映射转换的宾客机物理地址不匹配的判定,生成安全性错误。
示例4包括示例1-3中任何一项的主题,并且其中,用于生成安全性错误包括用于响应于经转换的宾客机物理地址与使用虚拟线性地址到宾客机物理地址的安全转换映射转换的宾客机物理地址不匹配的判定来执行安全性功能。
示例5包括示例1-4中任何一项的主题,并且其中,安全转换映射包括宾客机物理地址到主机物理地址的安全转换映射,并且其中:用于执行转换包括用于响应于第一转换的验证使用与虚拟机监视器相关联的页表来执行经转换的宾客机物理地址到经转换的主机物理地址的第二转换,用于判定安全转换映射是否被锁定包括用于判定宾客机物理地址到主机物理地址的安全转换映射是否被锁定;以及用于验证转换包括用于基于经转换的主机物理地址与使用宾客机物理地址到主机物理地址的安全转换映射转换的主机物理地址的比较来验证第二转换。
示例6包括示例1-5中任何一项的主题,其中,存储器管理器进一步用于响应于经转换的主机物理地址与使用宾客机物理地址到主机物理地址的安全转换映射转换的主机物理地址不匹配的判定来生成安全性错误。
示例7包括示例1-6中任何一项的主题,并且其中,用于生成安全性错误包括用于响应于经转换的主机物理地址与使用宾客机物理地址到主机物理地址的安全转换映射转换的主机物理地址不匹配的判定来执行安全性功能。
示例8包括示例1-7中任何一项的主题,并且其中,用于判定安全转换映射是否被锁定包括用于判定对应于虚拟线性地址的虚拟线性地址到主机物理地址的转换当前是否被存储在安全存储器中。
示例9包括示例1-8中任何一项的主题,并且其中,用于验证转换包括用于基于虚拟机的标识符使用安全转换映射来将虚拟线性地址转换为主机物理地址。
示例10包括示例1-9中任何一项的主题,其中,存储器管理器进一步用于响应于经转换的主机物理地址与使用安全转换来转换的主机物理地址不匹配的判定来生成安全性错误。
示例11包括示例1-10中任何一项的主题,并且其中,用于生成安全性错误包括用于响应于经转换的主机物理地址与使用安全转换来转换的主机物理地址不匹配的判定来执行安全性功能。
示例12包括示例1-11中任何一项的主题,并且其中,虚拟机监视器进一步用于将宾客机物理地址范围分配给虚拟机,并生成用于该虚拟机的宾客机物理地址到主机物理地址的第一映射;虚拟机进一步用于生成虚拟线性地址到宾客机物理地址的第二映射;以及存储器管理器进一步用于聚合第一映射和第二映射以形成虚拟线性地址到宾客机物理地址到主机物理地址的第三映射并将该第三映射作为安全转换映射存储在安全存储器中。
示例13包括示例1-12中任何一项的主题,并且其中,基于实例化在计算设备上的每个虚拟机的标识符来对第三映射编索引。
示例14包括示例1-13中任何一项的主题,并且其中,虚拟机监视器进一步用于将宾客机物理地址范围分配给虚拟机,并生成用于该虚拟机的宾客机物理地址到主机物理地址的第一映射;虚拟机进一步用于生成虚拟线性地址到宾客机物理地址的第二映射;以及存储器管理器进一步用于将第一映射和第二映射作为安全转换映射存储在安全存储器中。
示例15包括示例1-14中任何一项的主题,并且其中,基于实例化在计算设备上的每个虚拟机的标识符来对第一映射编索引。
示例16包括示例1-15中任何一项的主题,并且其中,存储器管理器进一步用于:从虚拟机接收将要被解锁的线性地址范围;以及从安全存储器移除对应于虚拟线性地址的虚拟线性地址到主机物理地址的映射。
示例17包括示例1-16中任何一项的主题,并且其中,用于移除虚拟线性地址到主机物理地址的映射包括用于基于将要被解锁的线性地址范围来确定指示线性地址到宾客机物理地址到主机物理地址的映射的地址层级结构,以及用于移除虚拟线性地址到主机物理地址的映射包括用于从安全存储器移除该地址层级结构。
示例18包括用于保护计算设备的虚拟机存储器的方法,该方法包括:从实例化在计算设备上的虚拟机接收包括虚拟线性地址的存储器访问请求;由计算设备使用与请求虚拟机相关联的页表以及与在所述计算设备上建立的虚拟机监视器相关联的页表,执行虚拟线性地址到计算设备的经转换的主机物理地址的转换;由所述计算设备判定对应于虚拟线性地址的虚拟线性地址到主机物理地址的安全转换映射是否被锁定,其中该安全转换映射被存储在计算设备的安全存储器中;由计算设备响应于安全转换映射被锁定的判定,基于经转换的主机物理地址与使用安全转换映射转换的主机物理地址的比较来验证转换;以及由计算设备响应于该转换的验证而使用经转换的主机物理地址来执行存储器访问请求。
示例19包括示例18的主题,并且其中,安全转换映射包括虚拟线性地址到宾客机物理地址的安全转换映射,并且其中执行转换包括使用与请求虚拟机相关联的页表来执行虚拟线性地址到经转换的宾客机物理地址的第一转换,判定安全转换映射是否被锁定包括判定虚拟线性地址到宾客机物理地址的安全转换映射是否被锁定;以及验证转换包括基于经转换的宾客机物理地址与使用虚拟线性地址到宾客机物理地址的安全转换映射转换的宾客机物理地址的比较来验证第一转换。
示例20包括示例18和19中任何一项的主题,其中,进一步包括:由计算设备响应于经转换的宾客机物理地址与使用虚拟线性地址到宾客机物理地址的安全转换映射转换的宾客机物理地址不匹配的判定而生成安全性错误。
示例21包括示例18-20中任何一项的主题,并且其中,生成安全性错误包括由计算设备响应于经转换的宾客机物理地址与使用虚拟线性地址到宾客机物理地址的安全转换映射转换的宾客机物理地址不匹配的判定而执行安全性功能。
示例22包括示例18-21中任何一项的主题,并且其中,安全转换映射包括宾客机物理地址到主机物理地址的安全转换映射,并且其中:执行转换包括响应于第一转换的验证使用与虚拟机监视器相关联的页表来执行经转换的宾客机物理地址到经转换的主机物理地址的第二转换,判定安全转换映射是否被锁定包括判定宾客机物理地址到主机物理地址的安全转换映射是否被锁定;以及验证转换包括基于经转换的主机物理地址与使用宾客机物理地址到主机物理地址的安全转换映射转换的主机物理地址的比较来验证第二转换。
示例23包括示例18-22中任何一项的主题,并且进一步包括:由计算设备响应于经转换的主机物理地址与使用宾客机物理地址到主机物理地址的安全转换映射转换的主机物理地址不匹配的判定而生成安全性错误。
示例24包括示例18-23中任何一项的主题,并且其中,生成安全性错误包括由计算设备响应于经转换的主机物理地址与使用宾客机物理地址到主机物理地址的安全转换映射转换的主机物理地址不匹配的判定而执行安全性功能。
示例25包括示例18-24中任何一项的主题,并且其中,判定安全转换映射是否被锁定包括判定对应于虚拟线性地址的虚拟线性地址到主机物理地址的转换当前是否被存储在安全存储器中。
示例26包括示例18-25中任何一项的主题,并且其中,验证转换包括基于虚拟机的标识符使用安全转换映射来将虚拟线性地址转换为主机物理地址。
示例27包括示例18-26中任何一项的主题,并且进一步包括:由计算设备响应于经转换的主机物理地址与使用安全转换来转换的主机物理地址不匹配的判定而生成安全性错误。
示例28包括示例18-27中任何一项的主题,并且其中,生成安全性错误包括由计算设备响应于经转换的主机物理地址与使用安全转换来转换的主机物理地址不匹配的判定而执行安全性功能。
示例29包括示例18-28中任何一项的主题,并且进一步包括:由虚拟机监视器将宾客机物理地址范围分配给虚拟机;由虚拟机监视器生成用于虚拟机的宾客机物理地址到主机物理地址的第一映射;由虚拟机生成虚拟线性地址到宾客机物理地址的第二映射;由计算设备聚合所述第一映射和所述第二映射,以形成虚拟线性地址到宾客机物理地址到主机物理地址的第三映射;以及由计算设备将该第三映射作为安全转换映射存储在安全存储器中。
示例30包括示例18-29中任何一项的主题,并且其中,基于实例化在计算设备上的每个虚拟机的标识符来对第三映射编索引。
示例31包括示例18-30中任何一项的主题,并且进一步包括:由虚拟机监视器将宾客机物理地址范围分配给虚拟机;由虚拟机监视器生成用于虚拟机的宾客机物理地址到主机物理地址的第一映射;由虚拟机生成虚拟线性地址到宾客机物理地址的第二映射;以及由计算设备将第一映射和第二映射作为安全转换映射存储在安全存储器中。
示例32包括示例18-31中任何一项的主题,并且其中,基于实例化在计算设备上的每个虚拟机的标识符来对第一映射编索引。
示例33包括示例18-32中任何一项的主题,并且进一步包括:从虚拟机接收将要被解锁的线性地址范围;以及从安全存储器移除对应于虚拟线性地址的虚拟线性地址到主机物理地址的映射。
示例34包括示例18-33中任何一项的主题,并且其中,移除虚拟线性地址到主机物理地址的映射包括基于将要被解锁的虚拟线性地址范围来确定指示线性地址到宾客机物理地址到主机物理地址的映射的地址层级结构,并且移除虚拟线性地址到主机物理地址的映射包括从安全存储器移除该地址层级结构。
示例35包括一种或多种计算机可读介质,包括存储于其上的多条指令,这些指令在被执行时使计算设备执行示例18-34中任何一项的方法。
示例36包括用于保护计算设备的虚拟机存储器的计算设备,该计算设备包括:用于从实例化在计算设备上的虚拟机接收包括虚拟线性地址的存储器访问请求的装置;用于使用与请求虚拟机相关联的页表以及与在所述计算设备上建立的虚拟机监视器相关联的页表来执行虚拟线性地址到计算设备的经转换的主机物理地址的转换的装置;用于判定对应于虚拟线性地址的虚拟线性地址到主机物理地址的安全转换映射是否被锁定的装置,其中该安全转换映射被存储在计算设备的安全存储器中;用于响应于安全转换映射被锁定的判定、基于经转换的主机物理地址与使用安全转换映射转换的主机物理地址的比较来验证转换的装置;以及用于响应于转换的验证使用经转换的主机物理地址来执行存储器访问请求的装置。
示例37包括示例36的主题,并且其中,安全转换映射包括虚拟线性地址到宾客机物理地址的安全转换映射,并且其中:用于执行转换的装置包括用于使用与请求虚拟机相关联的页表来执行虚拟线性地址到经转换的宾客机物理地址的第一转换的装置,用于判定安全转换映射是否被锁定的装置包括用于判定虚拟线性地址到宾客机物理地址的安全转换映射是否被锁定的装置;以及用于验证转换的装置包括用于基于经转换的宾客机物理地址与使用虚拟线性地址到宾客机物理地址的安全转换映射转换的宾客机物理地址的比较来验证第一转换的装置。
示例38包括示例36和37中任何一项的主题,并且进一步包括:用于响应于经转换的宾客机物理地址与使用虚拟线性地址到宾客机物理地址的安全转换映射转换的宾客机物理地址不匹配的判定来生成安全性错误的装置。
示例39包括示例36-38中任何一项的主题,并且其中,用于生成安全性错误的装置包括用于响应于经转换的宾客机物理地址与使用虚拟线性地址到宾客机物理地址的安全转换映射转换的宾客机物理地址不匹配的判定来执行安全性功能的装置。
示例40包括示例36-39中任何一项的主题,并且其中,安全转换映射包括宾客机物理地址到主机物理地址的安全转换映射,并且其中:用于执行转换的装置包括用于响应于第一转换的验证使用与虚拟机监视器相关联的页表来执行经转换的宾客机物理地址到经转换的主机物理地址的第二转换的装置,用于判定安全转换映射是否被锁定的装置包括用于判定宾客机物理地址到主机物理地址的安全转换映射是否被锁定的装置;以及用于验证转换的装置包括用于基于经转换的主机物理地址与使用宾客机物理地址到主机物理地址的安全转换映射转换的主机物理地址的比较来验证第二转换的装置。
示例41包括示例36-40中任何一项的主题,并且进一步包括:用于响应于经转换的主机物理地址与使用宾客机物理地址到主机物理地址的安全转换映射转换的主机物理地址不匹配的判定来生成安全性错误的装置。
示例42包括示例36-41中任何一项的主题,并且其中,用于生成安全性错误的装置包括用于响应于经转换的主机物理地址与使用宾客机物理地址到主机物理地址的安全转换映射转换的主机物理地址不匹配的判定来执行安全性功能的装置。
示例43包括示例36-42中任何一项的主题,并且其中,用于判定安全转换映射是否被锁定的装置包括用于判定对应于虚拟线性地址的虚拟线性地址到主机物理地址的转换当前是否被存储在安全存储器中的装置。
示例44包括示例36-43中任何一项的主题,并且其中,用于验证转换的装置包括用于基于虚拟机的标识符使用安全转换映射来将虚拟线性地址转换为主机物理地址的装置。
示例45包括示例36-44中任何一项的主题,并且进一步包括:用于响应于经转换的主机物理地址与使用安全转换来转换的主机物理地址不匹配的判定来生成安全性错误的装置。
示例46包括示例36-45中任何一项的主题,并且其中,用于生成安全性错误的装置包括用于响应于经转换的主机物理地址与使用安全转换来转换的主机物理地址不匹配的判定来执行安全性功能的装置。
示例47包括示例36-46中任何一项的主题,并且进一步包括:用于将宾客机物理地址范围分配给虚拟机的装置;用于生成用于虚拟机的宾客机物理地址到主机物理地址的第一映射的装置;用于生成虚拟线性地址到宾客机物理地址的第二映射的装置;用于聚合第一映射和第二映射以形成虚拟线性地址到宾客机物理地址到主机物理地址的第三映射的装置;以及用于将第三映射作为安全转换映射存储在安全存储器中的装置。
示例48包括示例36-47中任何一项的主题,并且其中,基于实例化在计算设备上的每个虚拟机的标识符来对第三映射编索引。
示例49包括示例36-48中任何一项的主题,并且进一步包括:用于将宾客机物理地址范围分配给虚拟机的装置;用于生成用于虚拟机的宾客机物理地址到主机物理地址的第一映射的装置;用于生成虚拟线性地址到宾客机物理地址的第二映射的装置;以及用于将第一映射和第二映射作为安全转换映射存储在安全存储器中的装置。
示例50包括示例36-49中任何一项的主题,并且其中,基于实例化在计算设备上的每个虚拟机的标识符来对第一映射编索引。
示例51包括示例36-50中任何一项的主题,并且进一步包括:用于从虚拟机接收将要被解锁的线性地址范围的装置;以及用于从安全存储器移除对应于虚拟线性地址的虚拟线性地址到主机物理地址的映射的装置。
示例52包括示例36-51中任何一项的主题,并且其中,用于移除虚拟线性地址到主机物理地址的映射的装置包括用于基于将要被解锁的虚拟线性地址范围来确定指示线性地址到宾客机物理地址到主机物理地址的映射的地址层级结构的装置,其中移除虚拟线性地址到主机物理地址的映射包括从安全存储器移除该地址层级结构。

Claims (25)

1.一种计算设备,用于保护所述计算设备的虚拟机存储器,所述计算设备包括:
安全存储器;以及
存储器管理器,用于(i)从由所述计算设备的虚拟机监视器实例化在所述计算设备上的虚拟机接收包括虚拟线性地址的存储器访问请求,(ii)使用与请求虚拟机相关联的页表以及与所述虚拟机监视器相关联的页表,来执行所述虚拟线性地址到所述计算设备的经转换的主机物理地址的转换,(iii)判定对应于所述虚拟线性地址的虚拟线性地址到主机物理地址的安全转换映射是否被锁定,其中所述安全转换映射被存储在所述安全存储器中,(iv)响应于所述安全转换映射被锁定的判定,基于所述经转换的主机物理地址与使用所述安全转换映射转换的主机物理地址的比较来验证所述转换,以及(v)响应于所述转换的验证,使用所述经转换的主机物理地址来执行所述存储器访问请求。
2.如权利要求1所述的计算设备,其中,所述安全转换映射包括虚拟线性地址到宾客机物理地址的安全转换映射,并且其中:
用于执行所述转换包括用于使用与所述请求虚拟机相关联的页表来执行所述虚拟线性地址到经转换的宾客机物理地址的第一转换,
用于判定所述安全转换映射是否被锁定包括用于判定所述虚拟线性地址到宾客机物理地址的安全转换映射是否被锁定;以及
用于验证所述转换包括用于基于所述经转换的宾客机物理地址与使用所述虚拟线性地址到宾客机物理地址的安全转换映射转换的宾客机物理地址的比较来验证所述第一转换。
3.如权利要求2所述的计算设备,其中,所述存储器管理器进一步用于响应于所述经转换的宾客机物理地址与使用所述虚拟线性地址到宾客机物理地址的安全转换映射转换的所述宾客机物理地址不匹配的判定,生成安全性错误。
4.如权利要求2所述的计算设备,其中,所述安全转换映射包括宾客机物理地址到主机物理地址的安全转换映射,并且其中:
用于执行所述转换包括用于响应于所述第一转换的验证、使用与所述虚拟机监视器相关联的页表来执行所述经转换的宾客机物理地址到所述经转换的主机物理地址的第二转换,
用于判定所述安全转换映射是否被锁定包括用于判定所述宾客机物理地址到主机物理地址的安全转换映射是否被锁定;以及
用于验证所述转换包括用于基于所述经转换的主机物理地址与使用所述宾客机物理地址到主机物理地址的安全转换映射转换的主机物理地址的比较来验证所述第二转换。
5.如权利要求1所述的计算设备,其中,用于判定所述安全转换映射是否被锁定包括用于判定对应于所述虚拟线性地址的虚拟线性地址到主机物理地址的转换当前是否被存储在所述安全存储器中。
6.如权利要求1所述的计算设备,其中,用于验证所述转换包括用于基于所述虚拟机的标识符使用所述安全转换映射来将所述虚拟线性地址转换为主机物理地址。
7.如权利要求1所述的计算设备,其中:
所述虚拟机监视器进一步用于将宾客机物理地址范围分配给所述虚拟机,并生成用于所述虚拟机的宾客机物理地址到主机物理地址的第一映射;
所述虚拟机进一步用于生成虚拟线性地址到宾客机物理地址的第二映射;以及
所述存储器管理器进一步用于聚合所述第一映射与所述第二映射,以形成虚拟线性地址到宾客机物理地址到主机物理地址的第三映射,并将所述第三映射作为所述安全转换映射存储在所述安全存储器中。
8.如权利要求1所述的计算设备,其中:
所述虚拟机监视器进一步用于将宾客机物理地址范围分配给所述虚拟机,并生成用于所述虚拟机的宾客机物理地址到主机物理地址的第一映射;
所述虚拟机进一步用于生成虚拟线性地址到宾客机物理地址的第二映射;以及
所述存储器管理器进一步用于将所述第一映射和所述第二映射作为所述安全转换映射存储在所述安全存储器中。
9.如权利要求1所述的计算设备,其中,所述存储器管理器进一步用于:
从所述虚拟机接收将要被解锁的线性地址范围;以及
从所述安全存储器移除对应于所述虚拟线性地址的虚拟线性地址到主机物理地址的映射。
10.一种用于保护计算设备的虚拟机存储器的方法,所述方法包括:
从实例化在所述计算设备上的虚拟机接收包括虚拟线性地址的存储器访问请求;
由所述计算设备使用与请求虚拟机相关联的页表以及与在所述计算设备上建立的虚拟机监视器相关联的页表,执行虚拟线性地址到所述计算设备的经转换的主机物理地址的转换;
由所述计算设备判定对应于所述虚拟线性地址的虚拟线性地址到主机物理地址的安全转换映射是否被锁定,其中所述安全转换映射被存储在所述计算设备的安全存储器中;
由所述计算设备响应于所述安全转换映射被锁定的判定,基于所述经转换的主机物理地址与使用所述安全转换映射转换的主机物理地址的比较来验证所述转换;以及
由所述计算设备响应于所述转换的验证,使用所述经转换的主机物理地址来执行所述存储器访问请求。
11.如权利要求10所述的方法,其中,所述安全转换映射包括虚拟线性地址到宾客机物理地址的安全转换映射,并且其中:
执行所述转换包括使用与所述请求虚拟机相关联的页表来执行所述虚拟线性地址到经转换的宾客机物理地址的第一转换,
判定所述安全转换映射是否被锁定包括判定所述虚拟线性地址到宾客机物理地址的安全转换映射是否被锁定;以及
验证所述转换包括基于所述经转换的宾客机物理地址与使用所述虚拟线性地址到宾客机物理地址的安全转换映射转换的宾客机物理地址的比较来验证所述第一转换。
12.如权利要求11所述的方法,其中,所述方法进一步包括:由所述计算设备响应于所述经转换的宾客机物理地址与使用所述虚拟线性地址到宾客机物理地址的安全转换映射转换的所述宾客机物理地址不匹配的判定,生成安全性错误。
13.如权利要求11所述的方法,其中,所述安全转换映射包括宾客机物理地址到主机物理地址的安全转换映射,并且其中:
执行所述转换包括响应于所述第一转换的验证、使用与所述虚拟机监视器相关联的页表来执行所述经转换的宾客机物理地址到所述经转换的主机物理地址的第二转换,
判定所述安全转换映射是否被锁定包括判定所述宾客机物理地址到主机物理地址的安全转换映射是否被锁定;以及
验证所述转换包括基于所述经转换的主机物理地址与使用所述宾客机物理地址到主机物理地址的安全转换映射转换的主机物理地址的比较来验证所述第二转换。
14.如权利要求10所述的方法,其中,验证所述转换包括基于所述虚拟机的标识符使用所述安全转换映射来将所述虚拟线性地址转换为主机物理地址。
15.如权利要求10所述的方法,其中,所述方法进一步包括:
由所述虚拟机监视器将宾客机物理地址范围分配给所述虚拟机;
由所述虚拟机监视器生成用于所述虚拟机的宾客机物理地址到主机物理地址的第一映射;
由所述虚拟机生成虚拟线性地址到宾客机物理地址的第二映射;
由所述计算设备聚合所述第一映射和所述第二映射,以形成虚拟线性地址到宾客机物理地址到主机物理地址的第三映射;以及
由所述计算设备将所述第三映射作为安全转换映射存储在所述安全存储器中。
16.如权利要求10所述的方法,其中,所述方法进一步包括:
由所述虚拟机监视器将宾客机物理地址范围分配给所述虚拟机;
由所述虚拟机监视器生成用于所述虚拟机的宾客机物理地址到主机物理地址的第一映射;
由所述虚拟机生成虚拟线性地址到宾客机物理地址的第二映射;以及
由所述计算设备将所述第一映射和所述第二映射作为安全转换映射存储在所述安全存储器中。
17.如权利要求10所述的方法,其中,所述方法进一步包括:
从所述虚拟机接收将要被解锁的线性地址范围;以及
从所述安全存储器移除对应于所述虚拟线性地址的虚拟线性地址到主机物理地址的映射。
18.一种计算设备,用于保护所述计算设备的虚拟机存储器,所述计算设备包括:
用于从实例化在所述计算设备上的虚拟机接收包括虚拟线性地址的存储器访问请求的装置;
用于使用与请求虚拟机相关联的页表以及与在所述计算设备上建立的虚拟机监视器相关联的页表来执行虚拟线性地址到所述计算设备的经转换的主机物理地址的转换的装置;
用于判定对应于所述虚拟线性地址的虚拟线性地址到主机物理地址的安全转换映射是否被锁定的装置,其中所述安全转换映射被存储在所述计算设备的安全存储器中;
用于响应于所述安全转换映射被锁定的判定基于所述经转换的主机物理地址与使用所述安全转换映射转换的主机物理地址的比较来验证所述转换的装置;以及
用于响应于所述转换的验证使用所述经转换的主机物理地址来执行所述存储器访问请求的装置。
19.如权利要求18所述的计算设备,其中,所述安全转换映射包括虚拟线性地址到宾客机物理地址的安全转换映射,并且其中:
用于执行所述转换的装置包括用于使用与所述请求虚拟机相关联的页表来执行所述虚拟线性地址到经转换的宾客机物理地址的第一转换的装置,
用于判定所述安全转换映射是否被锁定的装置包括用于判定所述虚拟线性地址到宾客机物理地址的安全转换映射是否被锁定的装置;以及
用于验证所述转换的装置包括用于基于所述经转换的宾客机物理地址与使用所述虚拟线性地址到宾客机物理地址的安全转换映射转换的宾客机物理地址的比较来验证所述第一转换的装置。
20.如权利要求19所述的计算设备,其中,所述计算设备进一步包括用于响应于所述经转换的宾客机物理地址与使用所述虚拟线性地址到宾客机物理地址的安全转换映射转换的所述宾客机物理地址不匹配的判定来生成安全性错误的装置。
21.如权利要求19所述的计算设备,其中,所述安全转换映射包括宾客机物理地址到主机物理地址的安全转换映射,并且其中:
用于执行所述转换的装置包括用于响应于所述第一转换的验证使用与所述虚拟机监视器相关联的页表来执行所述经转换的宾客机物理地址到所述经转换的主机物理地址的第二转换的装置,
用于判定所述安全转换映射是否被锁定的装置包括用于判定所述宾客机物理地址到主机物理地址的安全转换映射是否被锁定的装置;以及
用于验证所述转换的装置包括用于基于所述经转换的主机物理地址与使用所述宾客机物理地址到主机物理地址的安全转换映射转换的主机物理地址的比较来验证所述第二转换的装置。
22.如权利要求18所述的计算设备,其中,用于验证所述转换的装置包括用于基于所述虚拟机的标识符使用所述安全转换映射来将所述虚拟线性地址转换为主机物理地址的装置。
23.如权利要求18所述的计算设备,其中,所述计算设备进一步包括:
用于将宾客机物理地址范围分配给所述虚拟机的装置;
用于生成用于所述虚拟机的宾客机物理地址到主机物理地址的第一映射的装置;
用于生成虚拟线性地址到宾客机物理地址的第二映射的装置;
用于聚合所述第一映射和所述第二映射以形成虚拟线性地址到宾客机物理地址到主机物理地址的第三映射的装置;以及
用于将所述第三映射作为安全转换映射存储在所述安全存储器中的装置。
24.如权利要求18所述的计算设备,其中,所述计算设备进一步包括:
用于将宾客机物理地址范围分配给所述虚拟机的装置;
用于生成用于所述虚拟机的宾客机物理地址到主机物理地址的第一映射的装置;
用于生成虚拟线性地址到宾客机物理地址的第二映射的装置;以及
用于将所述第一映射和所述第二映射作为安全转换映射存储在所述安全存储器中的装置。
25.如权利要求18所述的计算设备,其中,所述计算设备进一步包括:
用于从所述虚拟机接收将要被解锁的线性地址范围的装置;以及
用于从所述安全存储器移除对应于所述虚拟线性地址的虚拟线性地址到主机物理地址的映射的装置。
CN201810645000.5A 2017-06-26 2018-06-21 用于保护虚拟机存储器的技术 Pending CN109117245A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/633,259 US10866909B2 (en) 2017-06-26 2017-06-26 Technologies for protecting virtual machine memory
US15/633,259 2017-06-26

Publications (1)

Publication Number Publication Date
CN109117245A true CN109117245A (zh) 2019-01-01

Family

ID=64567586

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810645000.5A Pending CN109117245A (zh) 2017-06-26 2018-06-21 用于保护虚拟机存储器的技术

Country Status (3)

Country Link
US (1) US10866909B2 (zh)
CN (1) CN109117245A (zh)
DE (1) DE102018115251A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11099874B2 (en) * 2019-01-28 2021-08-24 Red Hat Israel, Ltd. Efficient userspace driver isolation by shallow virtual machines
US11243864B2 (en) * 2019-09-17 2022-02-08 International Business Machines Corporation Identifying translation errors
US11221869B2 (en) * 2020-03-25 2022-01-11 Red Hat, Inc. Memory efficient host virtual address management for hypercalls
US11886351B2 (en) 2020-03-25 2024-01-30 Red Hat, Inc. Memory efficient virtual address management for system calls
US11487466B2 (en) * 2020-07-16 2022-11-01 Fujitsu Limited Information processing apparatus reading data using host physcal address and guest physical address and computer-readable recording medium recording control program reading data using host physical address and guest physical address
CN112099904B (zh) * 2020-08-25 2024-05-17 海光信息技术股份有限公司 一种虚拟机的嵌套页表管理方法、装置、处理器芯片及服务器
EP4180936A1 (en) * 2021-11-10 2023-05-17 Samsung Electronics Co., Ltd. Virtualized system and method of controlling access to nonvolatile memory device in virtualization environment

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1870814B1 (en) * 2006-06-19 2014-08-13 Texas Instruments France Method and apparatus for secure demand paging for processor devices
US7886126B2 (en) * 2005-01-14 2011-02-08 Intel Corporation Extended paging tables to map guest physical memory addresses from virtual memory page tables to host physical memory addresses in a virtual machine system
US7739466B2 (en) * 2006-08-11 2010-06-15 Intel Corporation Method and apparatus for supporting immutable memory
GB2460393B (en) * 2008-02-29 2012-03-28 Advanced Risc Mach Ltd A data processing apparatus and method for controlling access to secure memory by virtual machines executing on processing circuitry
CN104239238B (zh) * 2013-06-21 2018-01-19 格芯公司 用于管理转换旁视缓冲的方法和装置
US10152612B2 (en) * 2015-09-25 2018-12-11 Intel Corporation Cryptographic operations for secure page mapping in a virtual machine environment
US10338957B2 (en) * 2016-12-27 2019-07-02 Intel Corporation Provisioning keys for virtual machine secure enclaves

Also Published As

Publication number Publication date
US10866909B2 (en) 2020-12-15
US20180373647A1 (en) 2018-12-27
DE102018115251A1 (de) 2018-12-27

Similar Documents

Publication Publication Date Title
CN109117245A (zh) 用于保护虚拟机存储器的技术
US10726144B1 (en) Token-based storage service
US11652852B2 (en) Intrusion detection and mitigation in data processing
US10871960B2 (en) Upgrading a storage controller operating system without rebooting a storage system
CN103139159B (zh) 云计算架构中的虚拟机之间的安全通信
US8949430B2 (en) Clustered computer environment partition resolution
US9576144B2 (en) Secured file system management
WO2016153881A1 (en) Executing commands within virtual machine instances
CN109313564A (zh) 用于支持多个不同租户的高度可用虚拟桌面的服务器计算机管理系统
CN103685608B (zh) 一种自动配置安全虚拟机ip地址的方法及装置
CN105453039B (zh) 用于在高输入/输出负载环境中即时恢复虚拟机的系统和方法
US20110162069A1 (en) Suspicious node detection and recovery in mapreduce computing
US9882775B1 (en) Dependent network resources
KR20200126794A (ko) 블록체인 기반의 인증을 위한 컨테이너 클러스터 시스템
JP7475428B2 (ja) オンデマンドのファイル・システムのロックダウンおよび自動修復機能を伴う自動ランサムウェア検出
US20160078243A1 (en) Secured file system management
WO2023236397A1 (zh) 密钥管理方法、密钥管理装置、密钥管理设备及存储介质
US10652094B2 (en) Network traffic management for virtualized graphics devices
US11361100B1 (en) Systems and methods for detecting potentially malicious content in decentralized machine-learning model updates
US20230239317A1 (en) Identifying and Mitigating Security Vulnerabilities in Multi-Layer Infrastructure Stacks
CN105512553A (zh) 一种预防虚拟机逃逸攻击的访问控制方法
CN108241801A (zh) 处理系统调用的方法和装置
US10516528B2 (en) System and method for managing secret information using virtualization
US11924336B1 (en) Cryptographic artifact generation using virtualized security modules
US20220050932A1 (en) Authentication Using Pairwise Secrets Constructed from Partial Secrets

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination