一种在虚拟化技术中管理内存的方法技术

技术编号:17006972 阅读:58 留言:0更新日期:2018-01-11 03:30
本发明专利技术涉及一种在虚拟化技术中管理内存的方法,该方法包括:获取客户虚拟机的状态信息;获取客户虚拟机要求访问的内存物理地址;根据物理地址查询用于记录各个内存页面的访问权限属性的线性映射表,获取所属物理地址所在页面的访问权限属性;将所述状态信息和所述访问权限属性进行匹配,根据匹配结果允许或拒绝本次内存访问。实现了虚拟化中不同客户虚拟机之间的内存物理隔离,和内存加密技术相比较,省去了加密过程带来的性能下降,提高了虚拟化的性能,同时也消除了黑客对加解密算法中的侧信道攻击,提高了客户虚拟机的安全性和性能。

【技术实现步骤摘要】
一种在虚拟化技术中管理内存的方法
本专利技术涉及虚拟化、内存隔离领域,尤其是涉及针对虚拟化技术中的内存保护方案。
技术介绍
随着大数据的日益增长,云计算的需求也呈现爆发式增长。在云计算中,虚拟化技术起着核心作用,虚拟化的好坏关系着客户机(GuestOS)的稳定、性能和安全;虚拟化中的安全涉及到内存、存储、IO等各个方面,其中对内存的保护格外重要,内存保护能够防止虚拟化中各个客户机之间的数据窃取,增加客户机的安全性。在目前主流的虚拟化方案中,客户机的内存是直接从宿主机系统中分配出来的,没有进行安全保护,例如,在基于ARM架构的虚拟化中,不同的客户机使用一块共享的物理内存,无法做到不同客户机之间的内存隔离。另外,最近也出现一些基于内存加密技术的内存保护方案,例如,在AMD的虚拟化方案SEV中采用对内存加密的方式实现宿主机上不同客户机的内存保护。加密方式会降低客户机的性能,任何内存中的数据都需要经过解密才能使用,并且加密方式依赖于加密算法实现的好坏,不好的加解密算法实现容易受到侧信道攻击,另外,基于内存加密的内存保护方案无法保证内存数据的完整性,恶意代码可能通过篡改密文数据来干扰客户机。
技术实现思路
本专利技术的目的在于,采用物理隔离的方法,解决虚拟化中对内存数据的软件攻击。和内存加密技术相比,本专利技术可以阻止恶意软件对加密过程的侧信道攻击,并且有效消除由于内存加密而引起的性能下降问题。同时,本专利技术中的内存隔离方案也可以防止虚拟机监控器(VirtualMachineMonitor,VMM)、Kernel等系统软件对客户虚拟机GuestOS的数据窃取,增加了虚拟化中GuestOS的安全性。为实现上述目的,本专利技术提供了获取客户虚拟机的状态信息;获取客户虚拟机要求访问的内存的物理地址;根据物理地址查询用于记录各个内存页面的访问权限属性的线性映射表,获取所属物理地址所在页面的访问权限属性;将状态信息和访问权限属性进行匹配,根据匹配结果允许或拒绝本次内存访问。优选地,该方法还包括:在获取客户虚拟机的状态信息后,获取安全处理器SP和虚拟机监控器VMM的状态信息。优选地,物理地址是客户虚拟机发出的虚拟地址经过内存映射单元转化得到的。优选地,客户虚拟机状态信息包括该虚拟机的VMID,即第一VMID,访问权限属性包括允许访问该内存页面的客户虚拟机的VMID,即第二VMID;将状态信息和访问权限属性进行匹配,根据匹配结果允许或拒绝本次内存访问包括:判断第一VMID与第二VMID是否相等,如果相等,则允许本次访问。优选地,线性映射包括:根据内存地址的从低到高,以映射表的第一项至最后一项,来对整个内存进行一一映射。优选地,线性映射表保存在一块物理连续的内存中。优选地,线性映射表中的表项有三种状态:未初始化状态、空闲状态和使用状态;在未初始化状态下,表项中的内容为随机值或不可信的值;在空闲状态下,线性映射表中的内容为默认值;在使用状态下,表项中的访问权限正在保护所对应的客户虚拟机。进一步优选地,根据虚拟机监控器VMM的行为改变线性映射表中表项的状态,改变线性映射表的状态包括:当VMM初始化时,线性映射表中的内容被设置为初始值,同时,将线性映射表设置为只有安全处理器SP可以访问;当VMM启动一个客户虚拟机时,SP将客户虚拟机所使用的物理内存对应的表项的空闲状态修改为使用状态;当VMM关闭一个客户虚拟机时,由SP清除线性映射表中表项的内容,设置为初始值,将性映射表中表项的使用状态修改为空闲状态。本专利技术的有益效果是:本专利技术通过一种在虚拟机系统中管理内存的方法,实现了虚拟化中不同客户虚拟机之间的内存物理隔离,和内存加密技术相比较,省去了加密过程带来的性能下降,提高了虚拟化的性能,同时也消除了黑客对加解密算法中的侧信道攻击,提高了GuestOS的安全性和性能。附图说明图1为本专利技术实施例提供的一种在虚拟机化技术中管理内存方法流程示意图;图2为本专利技术实施例提供的一种在虚拟机化技术中管理内存工作过程示意图;图3为本专利技术实施例提供的一种两个客户虚拟机对不同物理地址的访问示意图;图4为本专利技术实施例提供的一种SP、VMM、MPMU和LMAT的关系示意图;图5为本专利技术实施例提供的一种增加只读、不可执行属性的LMAT示例图;图6为本专利技术实施例提供的一种增加虚拟化客户物理地址的LMAT示例图;图7为本专利技术实施例提供的一种增加GuestOS内部线程ThreadID的LMAT示例图;图8为本专利技术实施例提供的一种LMAT三种状态的转换示意图。具体实施方式下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。图1为本专利技术实施例提供的一种在虚拟机系统中管理内存的方法流程示意图;如图1所示,该方法包括:步骤S101:获取客户虚拟机的状态信息;步骤S102:获取客户虚拟机要求访问的内存的物理地址;步骤S103:根据物理地址查询用于记录各个内存页面的访问权限属性的线性映射表,获取所属物理地址所在页面的访问权限属性;步骤S104:将状态信息和访问权限属性进行匹配,根据匹配结果允许或拒绝本次内存访问。具体的,该方法还包括:在获取客户虚拟机的状态信息后,获取安全处理器SP和虚拟机监控器VMM的状态信息。具体的,物理地址是虚拟机发出的虚拟地址经过内存映射单元转化得到的。具体的,客户虚拟机状态信息包括该虚拟机的VMID,即第一VMID,访问权限属性包括允许访问该内存页面的客户虚拟机的VMID,即第二VMID;将状态信息和访问权限属性进行匹配,根据匹配结果允许或拒绝本次内存访问包括:判断第一VMID与第二VMID是否相等,如果相等,则允许本次访问。具体的,线性映射表用于将内存进行线性映射,记录各个物理地址对应的访问权限属性。具体的,线性映射包括:根据内存地址的从低到高,以映射表的第一项至最后一项,来对整个内存进行一一映射。图2为本专利技术实施例提供的一种虚拟机系统管理内存工作过程示意图。如图2所示,该实施例中的LMAT为线性属性映射表(Linearmapattributetable,LMAT)108,中央处理器(CentralProcessingUnit,CPU)103上运行有一个或多个客户虚拟机,客户虚拟机101、客户虚拟机102代表虚拟化中两个不同的客户操作系统GuestOS;相应地,在图1的步骤S101,客户虚拟机101发出的虚拟地址112经过虚拟地址映射单元或内存映射单元105转换为物理地址114,该转换的过程可能涉及到转换检测缓冲区(TranslationLookasideBuffer,TLB)查询、系统页表查询以及虚拟化中嵌套页表(nestedpagetable)的查询等,本领域技术人员已知该转换过程,不再赘述。相应地,在图1的步骤S102,权限管理逻辑电路(memorypermissionmanagementunit,MPMU)107就可以获取到转换后的物理地址114和当前CPU中发起内存访问的虚拟机VMID113信息;其中,被访问的物理地址114位于系统内存中的第n个页面page111中,该page在LMAT108中的映射为index110;在图1的步骤S103,MPMU107根据物理地址114读取index110中的内容,即物理地址所在页面对应线性映射表中的访问权限本文档来自技高网...
一种在虚拟化技术中管理内存的方法

【技术保护点】
一种在虚拟机化技术中管理内存的方法,其特征在于,所述方法包括:获取客户虚拟机的状态信息;获取客户虚拟机要求访问的内存的物理地址;根据物理地址查询用于记录各个内存页面的访问权限属性的线性映射表,获取所属物理地址所在页面的访问权限属性;将所述状态信息和所述访问权限属性进行匹配,根据匹配结果允许或拒绝本次内存访问。

【技术特征摘要】
1.一种在虚拟机化技术中管理内存的方法,其特征在于,所述方法包括:获取客户虚拟机的状态信息;获取客户虚拟机要求访问的内存的物理地址;根据物理地址查询用于记录各个内存页面的访问权限属性的线性映射表,获取所属物理地址所在页面的访问权限属性;将所述状态信息和所述访问权限属性进行匹配,根据匹配结果允许或拒绝本次内存访问。2.根据权利要求1所述的方法,其特征在于,还包括:在获取客户虚拟机的状态信息后,获取安全处理器SP和虚拟机监控器VMM的状态信息。3.根据权利要求1所述的方法,其特征在于,所述物理地址是客户虚拟机发出的虚拟地址经过内存映射单元转化得到的。4.根据权利要求1所述的方法,其特征在于:所述客户虚拟机的状态信息包括该虚拟机的VMID,即第一VMID,所述访问权限属性包括允许访问该内存页面的客户虚拟机的VMID,即第二VMID;所述将所述状态信息和所述访问权限属性进行匹配,根据匹配结果允许或拒绝本次内存访问包括:判断所述第一VMID与第二VMID是否相等,如果相等,则允许本次访问。5.根据权利要求1所述的方法,其...

【专利技术属性】
技术研发人员:马振克应志伟杜朝晖
申请(专利权)人:致象尔微电子科技上海有限公司
类型:发明
国别省市:上海,31

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

1