当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于保护虚拟机存储器的技术制造技术

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

Technology for Protecting Virtual Machine Memory

A method and a computing device for protecting a virtual machine memory of a computing device are disclosed. The technologies used to protect the virtual machine memory of a computing device include: instantiating the virtual machine (VM) on the computing device; establishing a virtual machine monitor (VMM) on the computing device to control the operation of the VM; secure memory; and memory manager. The memory manager receives memory access requests from VM, including virtual linear address (LA), and uses one or more page tables associated with VM and VMM to perform the LA-to-computing device converted host physical address (HPA). The memory manager determines whether the LA-to-HP A secure conversion mapping corresponding to LA is locked. If the mapping is locked, the memory manager validates the conversion based on the comparison between the converted HPA and the converted HPA using the secure transformation mapping, and if the validation passes, the converted HPA is used to perform the memory access request.

【技术实现步骤摘要】
用于保护虚拟机存储器的技术
技术介绍
在云环境中,主机服务设备用于向客户机设备提供各种云服务。为了增加的效率和利用率,主机服务设备可通过利用虚拟机(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子系本文档来自技高网...

【技术保护点】
1.一种计算设备,用于保护所述计算设备的虚拟机存储器,所述计算设备包括:安全存储器;以及存储器管理器,用于(i)从由所述计算设备的虚拟机监视器实例化在所述计算设备上的虚拟机接收包括虚拟线性地址的存储器访问请求,(ii)使用与请求虚拟机相关联的页表以及与所述虚拟机监视器相关联的页表,来执行所述虚拟线性地址到所述计算设备的经转换的主机物理地址的转换,(iii)判定对应于所述虚拟线性地址的虚拟线性地址到主机物理地址的安全转换映射是否被锁定,其中所述安全转换映射被存储在所述安全存储器中,(iv)响应于所述安全转换映射被锁定的判定,基于所述经转换的主机物理地址与使用所述安全转换映射转换的主机物理地址的比较来验证所述转换,以及(v)响应于所述转换的验证,使用所述经转换的主机物理地址来执行所述存储器访问请求。

【技术特征摘要】
2017.06.26 US 15/633,2591.一种计算设备,用于保护所述计算设备的虚拟机存储器,所述计算设备包括:安全存储器;以及存储器管理器,用于(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...

【专利技术属性】
技术研发人员:P·德韦恩U·K·森古普塔S·查博拉
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1