[发明专利]增强用户空间与内核空间的隔离性的方法和装置有效
申请号: | 201880004375.1 | 申请日: | 2018-07-11 |
公开(公告)号: | CN110892388B | 公开(公告)日: | 2022-07-22 |
发明(设计)人: | 夏虞斌;华志超;翟征德 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/14 | 分类号: | G06F12/14 |
代理公司: | 北京龙双利达知识产权代理有限公司 11329 | 代理人: | 时林;毛威 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 增强 用户 空间 内核 隔离 方法 装置 | ||
本申请提供一种增强用户空间与内核空间的隔离性的方法和装置,将扩展页表拆分为内核态扩展页表和用户态扩展页表,使得用户态代码不能访问内核空间中的部分或全部内容,和/或,使得内核态代码不能访问用户空间中的部分内容,从而增强了用户空间和内核空间的隔离性,避免内核空间中的内容发生泄漏。
技术领域
本申请涉及计算机领域,尤其涉及一种增强用户空间与内核空间的隔离性方法和装置。
背景技术
由于处理器访问内存的速度相对处理器自身的计算速度差距很大,现代处理器为了提高性能,广泛采用了缓存(Cache)机制来对内存中的数据进行高速缓存。处理器在访问内存地址时,先检查该内存地址的内容是否已经被缓存到缓存模块中,如果是,处理器直接从缓存模块中获取该内容,此时会大幅节省访问时间;如果不是,则处理器从内存中读取数据,并缓存到缓存模块中,下次处理器访问该地址时,就可以直接从缓存模块中获取相应的内容。
上述机制有利于提高计算机的性能,然而缓存系统的复杂化也容易引起一些设计缺陷,进而造成可以被恶意利用的系统漏洞。恶意应用可以利用这些漏洞突破应用与内核的隔离,造成内核信息泄露,或者,恶意应用可以利用这些漏洞欺骗内核执行恶意代码。例如,众所周知的熔毁(meltdown)漏洞形成的原因是由于处理器预测执行时对缓存造成的影响在处理器回滚时没有被清除,从而形成了缓存侧信道,造成恶意应用可以探测任意内核地址内容。再比如,恶意应用可以利用应用空间和内核空间都处于同一个进程地址空间的特点,欺骗内核直接跳转执行应用代码,从而实现提权攻击。这些都是由于应用与内核的隔离被突破所造成的结果,这种隔离失效会造成内核机密数据泄露或内核被欺骗执行恶意应用代码等。
发明内容
本申请提供一种增强用户空间与内核空间的隔离性的方法和装置,将扩展页表拆分为内核态扩展页表和用户态扩展页表,使得用户态代码不能访问内核空间中的部分或全部内容,和/或,使得内核态代码不能访问用户空间中的部分内容,从而增强了用户空间和内核空间的隔离性,避免内核空间中的内容发生泄漏。
第一方面,提供了一种增强用户空间与内核空间的隔离性的方法,应用于包括虚拟机和虚拟机监控器的虚拟化系统,虚拟机监控器用于管理虚拟机,该方法包括:虚拟机监控器创建至少两个扩展页表,该至少两个扩展页表包括用户态扩展页表和内核态扩展页表,其中,用户态扩展页表用于在虚拟机执行用户态代码时被运行所述虚拟机的处理器调用,内核态扩展页表用于在虚拟机执行内核态代码时被运行所述虚拟机的处理器调用;虚拟机监控器对用户态扩展页表和/或内核态扩展页表执行映射处理,其中,客户页表中部分或全部用于翻译内核态客户机虚拟地址的页表页通过用户态扩展页表被映射至无效页表页,和/或,客户页表中部分用于翻译用户态客户机虚拟地址的页表页通过内核态扩展页表被映射至无效页表页。
当应用请求访问客户机虚拟地址时,该虚拟地址首先被翻译成客户机物理地址。若当前虚拟机执行内核态代码,则处理器查找内核态扩展页表;若当前虚拟机执行用户态代码,则处理器查找用户态扩展页表。随后处理器根据目标扩展页表确定与上述客户机物理地址对应的主机物理地址,随后读取该主机物理地址存储的内容。由于用户态扩展页表将客户页表中用于翻译内核态客户机虚拟地址的页表页映射至无效页表页,因此,该内核态客户机虚拟地址无法被成功翻译成主机物理地址,也就是对该主机物理地址的访问无法获得成功,从而增强了用户空间与内核空间的隔离性。另外,由于内核态扩展页表将客户页表中部分用于翻译用户态客户机虚拟地址的页表页映射至无效页表页,因此,该用户态客户机虚拟地址无法被成功翻译成主机物理地址,也就是对该主机物理地址访问无法获得成功,从而增强了用户空间与内核空间的隔离性。
此外,由于上述方案仅需切换扩展页表,而切换扩展页表的速率快于切换客户页表的速率,并且,切换扩展页表无需清空转换检测缓冲区(translation lookasidebuffer,TLB),因此,相对于通过切换客户页表增强用户空间与内核空间的隔离性的方案,本申请提供的方案在避免内核空间中的内容发生泄漏的同时减小了对应用性能的影响。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201880004375.1/2.html,转载请声明来源钻瓜专利网。