管理程序与虚拟机之间的存储器页转换监测制造技术

技术编号:22536110 阅读:14 留言:0更新日期:2019-11-13 11:38
处理系统[100]的处理器[102]的存储器访问路径中的安全模块[130]通过在存储器页在所述处理器处执行的一个或多个虚拟机(VM)[150、151]与管理程序[152]之间转换时验证所述存储器页的内容来保护安全信息,所述管理程序提供所述VM与所述处理系统的硬件之间的接口。所述处理器的所述安全模块用于在存储器页在一个或多个VM与管理程序之间转换时监测所述存储器页,使得已经由管理程序或其他VM改变的存储器页不能返回到其被转换前的VM。

Storage page conversion monitoring between hypervisor and virtual machine

The security module [130] in the memory access path of the processor [102] of the processing system [100] protects the security information by verifying the contents of the memory page when the memory page is converted between one or more virtual machines (VMS) [150, 151] executed at the processor and the management program [152], which provides an interface between the VM and the hardware of the processing system. The security module of the processor is used to monitor the memory page when the memory page is converted between one or more VMS and the hypervisor, so that the memory page that has been changed by the hypervisor or other VMS cannot be returned to the VM before it is converted.

【技术实现步骤摘要】
【国外来华专利技术】管理程序与虚拟机之间的存储器页转换监测相关申请的交叉引用本申请涉及并要求以下共同未决申请的优先权,其全部内容以引用方式并入本文:2017年3月29日提交的标题为“PSP/HVFlowswithSNP”的美国临时专利申请序列号62/478,148(代理人案卷号为1458-17TEMP01-PR)。
技术介绍
在许多处理器应用中,信息的安全性是一个重要特征。例如,处理器可以用在基础设施即服务(IAAS)环境中的服务器中,其中处理器执行一个或多个虚拟机(VM),并执行管理程序以在VM之间划分服务器硬件,并将虚拟机彼此隔离。可以代表不同的客户执行不同的VM,因此希望保护每个VM使用的信息(指令和数据)不被其他VM和管理程序访问。然而,管理程序中的缺陷(例如,错误)可能会导致管理程序本身易受攻击,从而允许管理程序或VM访问另一个VM的信息。附图说明通过参考附图,可以更好地理解本公开,并且使其许多特征和优点对于本领域技术人员来说是显而易见的。在不同的图中使用相同的附图标记来指示类似或相同的项。图1是根据一些实施方案的处理系统的框图,该处理系统结合管理程序采用安全模块来验证在VM和管理程序之间转换的存储器页的内容。图2是示出根据一些实施方案的图1的处理系统的安全模块的示例的框图,该安全模块生成并存储在VM和管理程序之间转换的存储器页的散列。图3是示出根据一些实施方案的图1的处理系统的安全模块的示例的框图,该安全模块向管理程序分配分配给VM的存储器页的子集。图4是示出根据一些实施方案的图1的处理系统的安全模块的示例的框图,该安全模块向管理程序分配分配给VM的气球池的存储器页的子集。图5是示出根据一些实施方案的在VM和管理程序之间转换时,在图1的处理系统的安全模块处验证分配给VM的存储器页子集的内容的方法的流程图。图6是示出根据一些实施方案的用于向管理程序分配分配给VM的气球池的存储器页的子集的方法的流程图。具体实施方式图1至图6示出了用于通过以下操作来保护处理系统的处理器处的安全信息的技术:在处理器的存储器访问路径中采用安全模块,以在存储器页在一个或多个在处理系统的处理器处执行的虚拟机(VM)与管理程序(其在VM与处理系统的硬件之间提供接口)之间转换时验证存储器页的内容。管理程序用于通过为每个VM指派存储器的专用部分并指派处理系统的其他资源以供其私用来隔离VM,所述存储器被划分为称为存储器页的连续块。在一些实施方案中,如果例如管理程序存储器不足,则管理程序可以请求VM将其专用存储器部分的子集转换回到管理程序。管理程序稍后可以例如响应于VM对该存储器子集的请求而将存储器子集返回给VM。然而,管理程序中的错误或者被恶意修改以充当利用工具的管理程序可允许管理程序或另一个VM检查或甚至改变存储器子集中的信息。通过使用本文描述的技术,处理器的安全模块用于在存储器页在一个或多个VM与管理程序之间转换时监测存储器页,使得可能已经被管理程序或其他VM改变的存储器页不能返回到其被转换前的VM。在一些实施方案中,当管理程序将存储器的一部分分配给VM时,所分配的存储器部分的一个子集被保护(例如,加密),并且所分配的存储器部分的剩余部分(例如,未预期将在一定时间段内由VM使用的存储器,本文称为“过多的存储器”)以未加密的形式存留,例如存留在气球池中。VM尚未向过多的存储器页写入,且因此不会有VM在过多存储器页上存储的信息可能会被管理程序破坏的安全风险。因此,如果有过多的存储器页可用,则管理程序可以使用并返回过多的存储器页,而安全模块不会监测过多的存储器页。通过绕过安全模块的监测,管理程序利用过多的存储器页可以比其使用分配给VM的安全存储器页更有效。图1示出了根据一些实施方案的支持监测在VM和管理程序之间转换的存储器页的处理系统100。处理系统100包括处理器102和存储器120。处理系统100可以被并入在例如服务器、个人计算机、平板电脑、机顶盒、游戏系统等多种电子装置中的任一个中。处理器102通常被配置为执行指令集(例如,计算机程序),这些指令集操纵处理器102的电路来执行定义的任务。存储器120通过存储处理器102使用的数据来促进这些任务的执行。存储器120可以是随机存取存储器(RAM)、非易失性存储器例如快闪存储器或硬盘驱动器(HDD)等,或其组合。在执行指令集的过程中,处理器102生成存储器访问请求,包括在存储器120处存储数据的写入请求以及从存储器120检索数据的读取请求。每个存储器访问请求都包括指示存储器120处由存储器访问请求所针对的位置的存储器地址(例如,系统物理地址)。响应于读取请求,存储器120检索存储在与读取请求的存储器地址对应的位置处的信息(数据或指令),并将所述信息提供给处理器102。响应于写入请求,存储器120将请求的写入信息存储在对应于写入请求的存储器地址的位置处。处理器102包括加密模块115。加密模块115是通用处理器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、处理器核心的操作模式或被设计和配置为执行处理系统100的安全操作的其他模块,安全操作包括要在处理器102处执行的实体的注册(例如,虚拟机、计算机程序等)、用于要执行的实体的安全密钥的生成和识别、用于安全操作的处理系统100的认证等。如本文进一步描述的,加密模块115通过生成安全密钥、识别被注册以在处理系统100处执行的实体以及实现这种密码隔离的其他操作来支持处理系统100处的信息的密码隔离。为了便于执行指令,处理器102包括一个或多个处理器核心106、高速缓存108、北桥110和安全模块130。尽管图1中仅描绘了单个处理器核心106,但是处理系统100可以包括多个处理器核心。处理器核心106是单独地并同时执行指令的处理单元。在一些实施方案中,处理器核心106中的每一个包括个别指令流水线,所述个别指令流水线提取指令、将所提取的指令解码为对应的操作并且使用处理系统100的资源来执行包括存储器访问请求的操作。处理器核心106中的每一个被配置为将每一存储器访问请求识别为以下两种类型中的一种:安全存储器访问请求,其指示对应于存储器访问请求的信息被指定用于密码保护;或者非安全存储器访问请求,其指示对应于存储器访问请求的信息未被指定用于密码保护。在一些实施方案中,处理系统100实现安全方案,其中基于对应于信息存储在存储器120中所在位置或对应于信息的类型(例如,指令或数据)的存储器地址所带的控制位来指派信息的安全性指定(信息是否将被加密保护)。这允许将大量数据集合轻松地分类为安全信息,从而提供有效的信息保护。例如,在一些实施方案中,控制位是由处理系统100设定,以便将特定类型的信息,例如指令信息,或提供虚拟地址到存储器120的物理地址的映射的页表信息,指定为安全信息,从而以加密方式保护该信息,如下面进一步描述的。指派给数据的地址的控制位可以基于例如在处理器102处执行的程序所请求的指定,以更细粒度的方式来指定。该安全方案提供对关键数据的保护(例如,防止虚拟机或其程序的未授权执行),同时仍为更通用的数据提供灵活性。在一些实施方案中,由于基于信息的对应存储器地址来指定指派给信息的安全类型,因此处理系统100使用页表本身来指示每个存储器地址的安全本文档来自技高网...

【技术保护点】
1.一种方法,所述方法包括:将至少一个存储器页[240]从在处理器[102]处执行的第一虚拟机[150]转换到在所述处理器处执行的第一管理程序[152];在所述处理器的安全模块[130]处接收来自所述第一管理程序的将所述至少一个存储器页返回到所述第一虚拟机的请求;响应于来自所述第一管理程序的将所述至少一个存储器页返回到所述第一虚拟机的所述请求,在所述处理器的所述安全模块处选择性地验证所述至少一个存储器页的内容;以及响应于验证所述至少一个存储器页的所述内容,向所述第一虚拟机提供所述至少一个存储器页。

【技术特征摘要】
【国外来华专利技术】2017.03.29 US 62/478,1481.一种方法,所述方法包括:将至少一个存储器页[240]从在处理器[102]处执行的第一虚拟机[150]转换到在所述处理器处执行的第一管理程序[152];在所述处理器的安全模块[130]处接收来自所述第一管理程序的将所述至少一个存储器页返回到所述第一虚拟机的请求;响应于来自所述第一管理程序的将所述至少一个存储器页返回到所述第一虚拟机的所述请求,在所述处理器的所述安全模块处选择性地验证所述至少一个存储器页的内容;以及响应于验证所述至少一个存储器页的所述内容,向所述第一虚拟机提供所述至少一个存储器页。2.如权利要求1所述的方法,其中选择性地验证所述至少一个存储器页的所述内容包括:响应于所述至少一个存储器页从所述第一虚拟机转换到所述第一管理程序,测量所述至少一个存储器页的至少一个特征,以生成至少一个特征测量值;将所述至少一个特征测量值存储在所述安全模块处;以及响应于所述第一管理程序返回所述至少一个存储器页,将所述至少一个特征测量值与所述至少一个存储器页进行比较。3.如权利要求2所述的方法,所述方法还包括:响应于所述至少一个特征测量值与所述至少一个存储器页不匹配,防止所述第一管理程序将所述至少一个存储器页提供给所述第一虚拟机。4.如权利要求1所述的方法,所述方法还包括:将多个存储器页[440]分配给第一虚拟机;将所述多个存储器页的第一子集[442]存储在与所述第一虚拟机相关联的气球池[424]中,其中所述第一子集包括尚未被所述第一虚拟机写入的存储器页;以及响应于第一管理程序请求至少一个存储器页,将所述多个存储器页的所述第一子集的至少一个页提供给所述第一管理程序。5.如权利要求4所述的方法,所述方法还包括:响应于所述第一管理程序请求将存储器页的所述第一子集的所述至少一个页返回到与所述第一虚拟机相关联的所述气球池,绕过对从所述第一管理程序到所述第一虚拟机的存储器页的所述第一子集的所述至少一个页的所述内容的验证。6.如权利要求1所述的方法,其中所述方法还包括:将多个存储器页[340]分配给第一虚拟机;响应于第一管理程序对至少一个存储器页的请求,将所述多个存储器页的子集[240]指定为无效;以及将所述多个存储器页的所述子集提供给所述管理程序。7.如权利要求6所述的方法,所述方法还包括:测量所述多个存储器页的所述子集的至少一个特征,以生成至少一个特征测量值;将所述至少一个特征测量值存储在所述安全模块处;响应于所述第一管理程序返回所述多个存储器页的所述子集,将所述至少一个特征测量值与所述多个存储器页的所述子集进行比较;以及响应于所述至少一个特征测量值与所述多个存储器页的所述子集匹配,将所述多个存储器页的所述子集提供给所述第一虚拟机。8.如权利要求6所述的方法,所述方法还包括:用第一密钥[316]来加密所述多个存储器页;以及用第二密钥[319]来加密所述多个存储器页的所述子集。9.如权利要求8所述的方法,其中响应于所述多个存储器页被分配给所述第一虚拟机,生成所述第二密钥。10.一种方法,所述方法包括:将第一存储器页[240]从在处理器[102]处执行的第一虚拟机[150]转换到在所述处理器处执行的第一管理程序[152];响应于所述第一管理程序请求将所述第一存储器页返回到所述第一虚拟机,在所述处理器的安全模块[130]处选择性地验证所述第一管理程序正请求返回的所述第一存储器页的内容与从所述第一虚拟机转换到所述第一管理程序的所述第一存储器页的内容匹配;以及响应于验证从所述第一虚拟机转换到所述第一管理程序的所述第一存储器页的所述内容与所述第一管理程序正请求返回的所述第一存储器页的所述内容匹配,向所述第一虚拟机提供所述第一存储器页。11.如权利要求10所述的方法,其中选择性地验证所述第一存储器页的所述内容包括:响应于所述第一存储器页从所述第一虚拟机转换到所述第一管理程序,测量所述第一存储器页的至少一个特征,以生成至少一个特征测量值;将所述至少一个特征测量值存储在所述安全模块处;以及响应于所述第一管理程序返回所述第一存储器页,将所述至少一个特征测量值与所述第一存储器页进行比较。12.如权利要求11所述的方法,所述方法还包括:响应于所述至少一个特征测量值与所述第一存储器页不匹配,拒绝来自所述第一管理程序的将所述第一存储器页返回到所述第一虚拟机的请求。13.如权利要求10所述的方法,其中选择性地验证所述第一存储器页的所述内容包括:将多个存储器页[440]分配给第一虚拟机...

【专利技术属性】
技术研发人员:戴维·卡普兰杰里米·W·鲍威尔理查德·雷尔夫
申请(专利权)人:超威半导体公司
类型:发明
国别省市:美国,US

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

1