为可信域设置访客物理地址映射属性的方法和装置与流程

文档序号:34510842发布日期:2023-06-21 10:17阅读:27来源:国知局
本发明的实施例涉及计算机系统的领域;更具体而言,本发明的实施例涉及用于使用可信域的安全存储器访问的装置和方法。
背景技术
::1、在计算中,虚拟机(virtual machine,vm)是计算机系统的模拟。vm是基于特定的计算机体系结构的,并且提供底层物理计算机系统的功能。其实现可能涉及专门的硬件、软件或组合。虚拟机监视器(virtual machine monitor,vmm)(也称为超级监督者)是一种软件程序,它使得能够创建、管理和治理vm,并且管理物理主机机器之上的虚拟化环境的操作。vmm是虚拟化环境和实现背后的主要软件。当被安装在主机机器上时,vmm促进了vm的创建,每个vm具有单独的操作系统(operating system,os)和应用。vmm通过分配必要的计算、存储器、存储装置和其他输入/输出(i/o)资源来管理这些vm的后台操作。vmm还提供一种集中式接口,用于管理安装在单个主机机器上或分散在不同的互连主机上的vm的整体操作,包括状态和可用性。2、为了实现保密的和/或受保护的vm执行,主机机器的存储器和运行时处理器状态也必须得到保护。例如,以下是重要的:维持指派给vm的存储器的保密性(和完好性),并且防止恶意的或者被利用的vmm通过使用扩展页表(extended page table,ept)对存储器地址空间执行页重映射攻击,以更改vm使用的最终页映射。此外,vm本身可能对存储器地址空间执行页重映射攻击(无意中或者有意地)。到当前为止,还不存在解决方案来增强vm存储器空间的自我保护。技术实现思路1、本公开的第一方面涉及一种装置,包括:执行电路,所述执行电路用于执行多个指令中的第一一个或多个指令以使用可信域密钥建立可信域,所述可信域密钥要被用于对所述可信域的存储器页加密,并且所述执行电路用于执行所述多个指令中的第二一个或多个指令来将第一存储器页添加到所述可信域,其中,所述第一存储器页是所述可信域私有的,并且第一组页属性基于所述第二一个或多个指令而被针对所述第一存储器页设置,并且其中,所述第一组页属性指示出所述第一存储器页在安全扩展页表中如何被映射,其中,所述安全扩展页表用于将访客物理地址转译为主机物理地址;以及存储位置,所述存储位置用于响应于执行所述第二一个或多个指令,在所述安全扩展页表中存储针对所述第一存储器页的所述第一组页属性。2、本公开的第二方面涉及一种方法,包括:执行多个指令中的第一一个或多个指令以使用可信域密钥建立可信域,所述可信域密钥要被用于对所述可信域的存储器页加密;执行所述多个指令中的第二一个或多个指令来将第一存储器页添加到所述可信域,其中,所述第一存储器页是所述可信域私有的,并且第一组页属性基于所述第二一个或多个指令而被针对所述第一存储器页设置,并且其中,所述第一组页属性指示出所述第一存储器页在安全扩展页表中如何被映射,其中,所述安全扩展页表用于将访客物理地址转译为主机物理地址;以及响应于执行所述第二一个或多个指令,在存储位置处在所述安全扩展页表中存储针对所述第一存储器页的所述第一组页属性。3、本公开的第二方面涉及一种计算机可读存储介质,该介质存储代码,所述代码当被计算系统执行时,能够使得所述计算系统执行如下操作:执行多个指令中的第一一个或多个指令以使用可信域密钥建立可信域,所述可信域密钥要被用于对所述可信域的存储器页加密;执行所述多个指令中的第二一个或多个指令来将第一存储器页添加到所述可信域,其中,所述第一存储器页是所述可信域私有的,并且第一组页属性基于所述第二一个或多个指令而被针对所述第一存储器页设置,并且其中,所述第一组页属性指示出所述第一存储器页在安全扩展页表中如何被映射,其中,所述安全扩展页表用于将访客物理地址转译为主机物理地址;以及响应于执行所述第二一个或多个指令,在存储位置处在所述安全扩展页表中存储针对所述第一存储器页的所述第一组页属性。技术特征:1.一种装置,包括:2.如权利要求1所述的装置,其中,所述第一组页属性用于指示出所述第一存储器页是能够读取的、能够写入的或者能够执行的。3.如权利要求1或2所述的装置,其中,所述第一组页属性用于指示出所述第一存储器页是一组存储器页类型内的某个类型,所述一组存储器页类型包括监督者影子堆栈的类型或者超级监督者管理线性地址转译(hlat)页的类型。4.如权利要求1至3中任一项所述的装置,其中,所述hlat页的类型是hlat分页-写入(hlat-pw)页或者hlat验证分页-写入(hlat-vpw)页。5.如权利要求1至3中任一项所述的装置,其中,所述执行电路用于执行所述多个指令中的第三一个或多个指令来将第二存储器页增补到所述可信域,其中,所述第二存储器页是所述可信域私有的。6.如权利要求5所述的装置,其中,所述执行电路用于执行所述多个指令中的第四一个或多个指令来接受为所述可信域增补所述第二存储器页,其中,所述第四一个或多个指令用于针对所述第二存储器页设置第二组页属性,并且其中,所述第二组页属性指示出所述第二存储器页在所述安全扩展页表中如何被映射。7.如权利要求6所述的装置,其中,在执行所述第四一个或多个指令之前,所述可信域确定接受为所述可信域增补所述第二存储器页。8.如权利要求1至3中任一项所述的装置,其中,所述执行电路执行所述多个指令中的第五一个或多个指令以利用第三组页属性来设置第三存储器页,所述第三组页属性指示出所述第三存储器页在所述安全扩展页表中如何被映射,其中,所述第五一个或多个指令指定针对所述第三存储器页的访客物理地址并且指定映射级别。9.如权利要求1至3中任一项所述的装置,其中,在确定所述第三存储器页的映射级别与所述第五一个或多个指令所指定的映射级别之间的映射级别不匹配时,返回错误。10.一种方法,包括:11.如权利要求10所述的方法,其中,所述第一组页属性用于指示出所述第一存储器页是一组存储器页类型内的某个类型,所述一组存储器页类型包括监督者影子堆栈或者超级监督者管理线性地址转译页的类型。12.如权利要求10或11所述的方法,还包括:13.如权利要求12所述的方法,还包括:14.如权利要求13所述的方法,其中,在执行所述第四一个或多个指令之前,所述可信域确定接受为所述可信域增补所述第二存储器页。15.如权利要求10或11所述的方法,还包括:16.一种计算机可读存储介质,该介质存储代码,所述代码当被计算系统执行时,能够使得所述计算系统执行如下操作:17.如权利要求16所述的计算机可读存储介质,其中,所述第一组页属性用于指示出所述第一存储器页是能够读取的、能够写入的或者能够执行的。18.如权利要求16或17所述的计算机可读存储介质,其中,所述第一组页属性用于指示出所述第一存储器页是一组存储器页类型内的某个类型,所述一组存储器页类型包括监督者影子堆栈的类型或者超级监督者管理线性地址转译(hlat)页的类型。19.如权利要求16或17所述的计算机可读存储介质,其中,所述计算系统能够被使得还执行如下操作:20.如权利要求19所述的计算机可读存储介质,其中,所述计算系统能够被使得还执行如下操作:技术总结为可信域设置访客物理地址映射属性的方法和装置。在一个实施例中,该方法包括执行第一一个或多个指令以建立可信域并且执行第二一个或多个指令以将第一存储器页添加到可信域,其中,第一存储器页是可信域私有的,并且第一组页属性基于第二一个或多个指令而被针对第一存储器页设置,其中,第一组页属性指示出第一存储器页在安全扩展页表中如何被映射。该方法还包括,响应于执行第二一个或多个指令,在存储位置处在安全扩展页表中存储针对第一存储器页的第一组页属性。技术研发人员:德鲁尔·卡斯皮,拉维·佐日达,库纳尔·梅塔,龚天畅,霍尔木兹德·霍斯拉维受保护的技术使用者:英特尔公司技术研发日:技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1