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

基于虚拟化的平台保护技术制造技术

技术编号:17216060 阅读:39 留言:0更新日期:2018-02-08 02:01
数据处理系统(DPS)使用平台保护技术(PPT)来保护属于某些软件模块的代码和数据的一部分或全部。PPT可包括虚拟机监视器(VMM),该VMM使不可信应用和可信应用能够在单个操作系统(OS)上运行,同时防止不可信应用访问可信应用所使用的存储器。对于不可信应用VMM可以使用第一扩展页表(EPT)来将客户机物理地址(GPA)转换成第一主机物理地址(HPA)。对于可信应用VMM可以使用第二EPT来将GPA转换成第二HPA。第一和第二EPT可将相同的GPA映射到不同的HPA。描述了其他实施例并要求它们的权利。

Platform protection technology based on Virtualization

The data processing system (DPS) uses platform protection (PPT) to protect part or all of the code and data that belong to some software modules. PPT can include virtual machine monitor (VMM), which enables untrusted applications and trusted applications to run on a single operation system (OS), while preventing VMM from accessing applications trusted by untrusted applications. For untrusted applications, VMM can use the first extended page table (EPT) to convert the client physical address (GPA) into the first host physical address (HPA). For trusted applications, VMM can use second EPT to convert GPA to second HPA. The first and second EPT can map the same GPA to different HPA. Other embodiments are described and their rights are required.

【技术实现步骤摘要】
【国外来华专利技术】基于虚拟化的平台保护技术
本文描述的实施例一般涉及数据处理,尤其涉及平台安全性。
技术介绍
在常规数据处理系统中,应用可使用所谓的“逻辑地址”来访问存储器。操作系统(OS)可将该逻辑地址转换成线性地址。例如,正在运行的进程可使用逻辑地址,并且当该进程中的指令请求访问存储器时,OS可使用描述符表来将该逻辑地址转换成线性地址。线性地址也可被称为虚拟地址。此外,数据处理系统可包括具有存储器管理单元(MMU)的中央处理单元(CPU),并且OS可使用该MMU来将虚拟地址转换成物理地址。例如,MMU可提供用于每一活跃进程的页目录以及用于每一页目录的一个或多个页表。具体而言,页表可包括针对虚拟存储器的每一页的页表条目(PTE)以标识对应的物理页。一般而言,MMU可将页目录和页表存储在随机存取存储器(RAM)中,但MMU可使用旁路转换缓冲区(TLB)来高速缓存最近使用的PTE。MMU还可使用其它硬件资源(例如,描述符表)来服务存储器存取请求。例如,CPU中的控制寄存器(CR)(例如,CR3)可以指向当前进程在页目录中的物理地址。当数据处理系统允许OS直接访问MMU时,以上提及的页表可被称为OS页表。不幸的是,OS可能被恶意软件感染。并且如果OS可访问存储在存储器中的所有数据,则OS可能为系统带来全部种类的严重破坏。例如,在被破解超级用户权限的内核中,攻击者可通过修改页表中的条目(例如将PTE改为指向某一恶意代码)来损害系统的安全性。这种改变可导致代码注入,并且恶意软件由此可访问关键数据。附图说明图1是示出用于平台保护技术(PPT)架构的示例实施例的某些组件和通信流程的框图。图2是示出使用PPT来执行并保护一个或多个可信应用的数据处理系统的示例实施例的框图。图3是示出根据示例实施例的如何将客户机虚拟地址转换成主机物理页的流程图。图4是示出根据示例实施例的用于动态存储器分配的示例总流程的流程图。图5是示出根据示例实施例的用于检查访问权限的示例过程的流程图。图6是示出根据示例实施例的用于清理存储器的示例总流程的流程图。图7呈现了描绘根据示例实施例的与创建断言页表(APT)相关联的操作的流程图。图8呈现了描绘根据示例实施例的与创建APT相关联的操作的另一流程图。图9是示出与创建APT相关联的某些操作的框图。图10是示出根据示例实施例的由可信中断服务例程访问的各种安全数据结构的框图。图11是示出根据示例实施例的使用可信中断服务例程来进入和退出TA的流程图。图12是示出根据示例实施例的异步的从TA的退出和到TA的恢复的流程图。图13是示出TA在虚拟地址空间和物理地址空间之间的存储器映射的框图。图14呈现了描绘根据示例实施例的与创建和保存安全cookie值相关联的操作的流程图。图15是用于创建用于存储安全cookie值的PPT数据结构的过程的示例实施例的流程图。图16是示出根据示例实施例的PPT数据结构映射的框图。图17是描绘根据示例实施例的与从富执行环境切换到可信执行环境相关联的操作的流程图。图18是示出根据示例实施例的支持调试的过程的流程图。具体实施方式为了阐示,本公开描述了一个或多个示例实施例。然而,本教导不限于这些特定实施例。具体实施方式包括以下六部分:·部分1:可信视图;·部分2:断言页表;·部分3:虚拟中断描述符表;·部分4:安全Cookie值;·部分5:异常处置机制;以及·部分6:结论。这些部分在下文中在以下介绍资料后呈现。对于支持虚拟化的数据处理系统,OS可以在虚拟机管理器(VMM)上的虚拟机(VM)中运行。在VM中运行的OS可被称为客户机OS,并且底层VMM可被称为主机OS。不同的VMM可使用不同的技术来防止客户机OS不受限地访问存储器。这些技术可涉及由客户机管理以将客户机虚拟地址(GVA)映射到客户机物理地址的页表。该页表可被称为OS页表或客户机页表。VMM然后可将客户机物理地址(GPA)转换成主机物理地址(HPA)。根据一种用于限制对存储器的客户机访问的技术,主机OS使用所谓的“影子页表”(SPT)来防止客户机改变用于地址转换的PTE。使用该技术,客户机维护客户机页表(GPT)的一个副本,并且主机在对客户机隐藏的存储器区域中维护该GPT的第二副本。第二副本被称为影子页表(SPT)。另外,主机使用MMU来维护用于从GPA到HPA的转换的页表。由VMM通过使用MMU硬件来管理的页表也可被称为硬件页表。主机通过在客户机尝试访问存储器时陷获每个页错误来维护SPT。响应于页错误,主机更新针对该页的SPT条目。随后,在地址转换期间,主机使用该SPT,而不是GPT。并且由于SPT是在隔离的存储器区域中维护的,因此甚至在来自被破解超级用户权限的内核(rootedkernel)的攻击中也无法修改该SPT。由此,主机可使用SPT来防止客户机OS访问例如某些物理页。然而,该办法增加存储器存取的成本,因为需要对每一次存储器存取执行两次地址转换:客户机OS使用影子页表来执行一次转换,并且然后VMM使用硬件页表来执行另一次转换。而且,VMM为了更新SPT而陷获每一个页错误的成本可能对系统性能产生不利影响。常规的可信执行环境(TEE)解决方案可能以以下一种或多种方式资源受限:(1)这些解决方案可能需要在单独的OS或者实时OS(RTOS)中主存TEE中的可信应用(TA)。(2)这些解决方案可能需要特殊硬件支持或微代码扩展来促成可信执行。ARM有限公司以名称或商标TRUSTZONE描述的技术具有前一需求,并且该技术需要特殊硬件模式。如由英特尔公司以名称或商标软件防护扩展(SGX)描述的技术可利用微代码扩展来支持TEE。本公开引入了支持可包括但不限于TEE中的动态存储器分配的特征的保护模型。实现该保护模型的部分或全部组件在客户机OS的层级下操作。换言之,部分或全部组件在平台级操作。因此,出于本公开的目的,本文引入的技术可被称为平台保护技术(PPT)。如以下更详细地描述的,PPT的一个好处是针对用户级(例如,环3)恶意软件并针对内核级(例如,环0)恶意软件保护属于某些软件模块的部分或全部代码和数据的能力。PPT可提供各种可信实体之间的隔离以及在运行时动态地分配、释放和重用存储器的能力。另外,除了TA之间的存储器共享以外,PPT存储器共享模型还可允许TA与不可信OS之间的存储器共享。而且,PPT可由管理程序管理,并且客户机OS不可以访问共享存储器,除非管理程序明确准许。而且,PPT可以在不复制正被共享的数据的情况下提供共享存储器。另外,TA可以向PPT管理程序发送确定TA对特定存储器缓冲区具有独占还是共享权限的请求。PPT还可以在TA崩溃或退出后和/或在创建TA的进程崩溃或退出后提供存储器清理。PPT可利用二级地址转换(SLAT)。例如,在一个实施例中,数据处理系统使用扩展页表(EPT)技术来实现SLAT。使用EPT可以比使用SPT更高效。关于EPT技术的更多细节以及用于平台安全性的其它选项在下文中提供。图1是示出用于PPT架构的示例实施例的某些组件和通信流的框图。如在图例中指示的,可信组件在图1中用点填充来示出。图1的底部示出了处在硬件和固件层的可信安全引擎180。安全引擎180可用于使用例如密码和散列操作来帮助安全引导。安全引本文档来自技高网...
基于虚拟化的平台保护技术

【技术保护点】
一种或多种存储非瞬态计算机可执行指令的有形计算机可读介质,所述指令在由设备的处理器执行时实现虚拟机监视器(VMM),所述VMM用于:通过以下操作来使不可信应用和可信应用能够在单个操作系统(OS)上运行,同时防止所述不可信应用访问由所述可信应用使用的存储器:对于所述不可信应用,使用第一扩展页表(EPT)来将客户机物理地址(GPA)转换成第一主机物理地址(HPA);以及对于所述可信应用,使用第二EPT将所述GPA转换成第二HPA;其中所述第一EPT和所述第二EPT将相同的所述GPA映射到不同的HPA。

【技术特征摘要】
【国外来华专利技术】2015.06.15 US 14/739,5601.一种或多种存储非瞬态计算机可执行指令的有形计算机可读介质,所述指令在由设备的处理器执行时实现虚拟机监视器(VMM),所述VMM用于:通过以下操作来使不可信应用和可信应用能够在单个操作系统(OS)上运行,同时防止所述不可信应用访问由所述可信应用使用的存储器:对于所述不可信应用,使用第一扩展页表(EPT)来将客户机物理地址(GPA)转换成第一主机物理地址(HPA);以及对于所述可信应用,使用第二EPT将所述GPA转换成第二HPA;其中所述第一EPT和所述第二EPT将相同的所述GPA映射到不同的HPA。2.如权利要求1所述的计算机可读介质,其特征在于,所述VMM使所述OS、所述不可信应用以及所述可信应用能够在单个虚拟机(VM)中执行。3.如权利要求1所述的计算机可读介质,其特征在于,对于所述不可信应用和所述可信应用,所述OS使用客户机页表来将客户机虚拟地址(GVA)转换成GPA。4.如权利要求1所述的计算机可读介质,其特征在于,所述指令在被执行时还实现使所述不可信应用能够将控制转移至所述可信应用的中断服务例程(ISR)。5.如权利要求4所述的计算机可读介质,其特征在于,所述机器可访问介质中的所述指令在被执行时还实现平台保护技术(PPT)驱动程序以安装所述ISR。6.如权利要求1所述的计算机可读介质,其特征在于,所述VMM包括将不同的视图标识符与不同的EPT相关联的数据结构。7.如权利要求6所述的计算机可读介质,其特征在于,所述VMM包括指向用于当前活跃的视图的EPT的EPT指针。8.如权利要求1所述的计算机可读介质,其特征在于,所述指令在被执行时实现平台保护技术(PPT),所述PPT用于:加载所述可信应用以便在所述OS上执行,其中所述OS使用客户机页表(GPT)来将客户机虚拟地址(GVA)转换成客户机物理地址(GPA);创建用于所述可信应用的断言页表(APT),对于所述可信应用,所述APT将GVA转换成GPA;防止所述OS修改所述APT;将所述设备的所述处理器配置成使用所述APT而不是所述GPT;以及在将所述处理器配置成使用所述APT而不是所述GPT后,执行所述可信应用。9.如权利要求8所述的计算机可读介质,其特征在于,所述OS包括不可信中断描述符表(IDT),所述IDT具有将中断向量与不可信中断服务例程(ISR)相关联的门;并且所述介质还包括用于执行以下操作的PPT:创建具有将中断向量与可信ISR相关联的门的虚拟IDT(VIDT),其中所述可信ISR包括使所述设备从与所述不可信应用相关联的不可信存储器视图切换到与所述可信应用相关联的可信存储器视图的TA进入ISR;将所述设备的所述处理器配置成使用所述VIDT而不是不可信IDT(UIDT);以及在将所述处理器配置成使用所述VIDT而不是所述UIDT后,通过调用所述TA进入ISR来响应TA进入中断。10.如权利要求9所述的计算机可读介质,其特征在于,还包括:在富执行环境(REE)中在虚拟机(VM)中的OS上运行的所述不可信应用;以及在可信执行环境(TEE)中在所述VM中的所述OS上运行的所述可信应用,所述TEE防止所述不可信应用访问由所述可信应用使用的存储器;以及用于以下操作的PPT:生成用于所述可信应用的秘密cookie值(SCV);将所述SCV保存到与所述可信应用相关联的PPT数据结构;将所述SCV补入到允许将控制从所述不可信应用转移至所述可信应用的蹦床函数代码中;响应于所述不可信应用调用所述可信应用,在允许所述可信应用执行之前,确定所述蹦床函数代码和所述PPT数据结构是否包含匹配的SCV;只在所述蹦床函数代码和所述PPT数据结构包含匹配的SCV的情况下允许所述可信应用执行;在允许所述可信应用在所述TEE中执行之前,在所述TEE中创建转储缓冲区;响应于在所述可信应用执行期间的错误,将错误数据从所述TEE保存到所述转储缓冲区;以及与所述REE共享该转储缓冲区。11.一种或多种存储非瞬态计算机可执行指令的计算机可读介质,所述指令在由设备的处理器执行时实现平台保护技术(PPT),所述PPT用于:加载可信应用以便在操作系统(OS)上执行,所述OS使用客户机页表(GPT)来将客户机虚拟地址(GVA)转换成客户机物理地址(GPA);创建用于所述可信应用的断言页表(APT),对于所述可信应用,所述APT将GVA转换成GPA;防止所述OS修改所述APT;将所述设备的所述处理器配置成使用所述APT而不是所述GPT;以及在将所述处理器配置成使用所述APT而不是所述GPT后,执行所述可信应用。12.如权利要求11所述的计算机可读介质,其特征在于,所述GPT不受写保...

【专利技术属性】
技术研发人员:R·P·班金沃S·纳罗潘斯S·K·诺塔拉帕提普拉巴卡拉S·K·辛格A·莫汉R·L·萨希塔R·马尔豪特拉A·贝克什V·卡玛J·纳亚克V·萨卡R·A·平特
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1