[发明专利]虚拟机监视器以及虚拟可信执行环境构建方法有效
申请号: | 201910327181.1 | 申请日: | 2019-04-23 |
公开(公告)号: | CN110119302B | 公开(公告)日: | 2023-07-21 |
发明(设计)人: | 余倩倩 | 申请(专利权)人: | 上海隔镜信息科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 上海晨皓知识产权代理事务所(普通合伙) 31260 | 代理人: | 成丽杰 |
地址: | 200240 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 虚拟机 监视器 以及 虚拟 可信 执行 环境 构建 方法 | ||
1.一种虚拟机监视器,其特征在于,基于可信硬件启动客户虚拟机,并在客户虚拟机中启动应用,所述虚拟机监视器包括:可信扩展页表管理模块、指令模拟模块;
所述可信扩展页表管理模块用于在所述应用启动时建立可信扩展页表;
所述指令模拟模块用于在所述可信扩展页表中为受保护物理内存建立映射、将所述应用的代码和数据加载至所述受保护物理内存的映射中、并验证所述代码和数据的完整性;其中,所述指令模拟模块在验证通过时,完成虚拟可信执行环境的构建;
所述虚拟机监视器还包括:二进制改写模块;
所述二进制改写模块用于在所述应用启动之前,将所述应用中的基于SGX的可信执行环境进入指令改写为虚拟可信执行环境进入指令;所述指令模拟模块用于在所述应用执行所述虚拟可信执行环境进入指令时,切换当前扩展页表为所述可信扩展页表、并将客户虚拟机的数据控制流转移至所述虚拟可信执行环境的固定入口;
其中,所述二进制改写模块还用于遍历所述应用的二进制执行文件、查找基于SGX的可信执行环境进入指令的二进制编码、将查找到的所述二进制编码替换为虚拟可信执行环境进入指令的二进制编码。
2.根据权利要求1所述的虚拟机监视器,其特征在于,
所述可信扩展页表管理模块还用于在所述应用启动时,建立普通扩展页表;
所述二进制改写模块还用于将基于SGX的可信执行环境退出指令改写为虚拟可信执行环境退出指令;
所述指令模拟模块用于在所述应用执行所述虚拟可信执行环境退出指令时,切换当前扩展页表为普通扩展页表、并控制客户虚拟机的数据控制流转移至指定跳转地址。
3.根据权利要求1所述的虚拟机监视器,其特征在于,还包括:侧信道防御模块;
所述侧信道防御模块用于将所述虚拟可信执行环境所使用的CPU缓存与非可信执行环境所使用的CPU缓存隔离开来。
4.根据权利要求3所述的虚拟机监视器,其特征在于,
所述侧信道防御模块具体用于利用CPU缓存分配特性或缓存隔离软件技术将所述虚拟可信执行环境所使用的CPU缓存与非可信执行环境所使用的CPU缓存隔离开来。
5.根据权利要求1所述的虚拟机监视器,其特征在于,
所述二进制改写模块还用于查找生成密报指令或获得密钥指令,并将指令转化为可在虚拟可信执行环境执行的指令;
所述指令模拟模块还用于在应用执行所述可在虚拟可信执行环境执行的指令时,对加载至所述受保护物理内存的所述代码和数据进行加密或解密。
6.根据权利要求1所述的虚拟机监视器,其特征在于,
所述二进制改写模块还用于查找Enclave添加内存页指令或Enclave删除内存页指令,并将所述Enclave增加内存页指令转换为虚拟可信执行环境添加内存页指令、将所述Enclave删除内存页指令转换为虚拟可信执行环境删除内存页指令;
所述扩展页表管理模块还用于在所述应用执行所述Enclave添加内存页指令或Enclave删除内存页指令时,增加或删除所述可信扩展页表的页表项。
7.根据权利要求1所述的虚拟机监视器,其特征在于,还包括:中断异常管理模块;
所述中断异常管理模块用于在所述应用运行时处理所述可信执行环境的中断异常事件。
8.一种虚拟可信执行环境构建方法,其特征在于,应用于如权利要求1至7中任一项所述的虚拟机监视器,包括:
基于可信硬件启动客户虚拟机,并在客户虚拟机中启动应用;
在所述应用启动时建立可信扩展页表,在所述可信扩展页表中为受保护物理内存建立映射;
将所述应用的代码和数据加载至所述受保护物理内存的映射中,并验证所述代码和数据的完整性;
若验证通过,则完成可信执行环境的构建;
其中,所述方法还包括:遍历所述应用的二进制执行文件、查找基于SGX的可信执行环境进入指令的二进制编码、将查找到的所述二进制编码替换为虚拟可信执行环境进入指令的二进制编码;在所述应用启动之前,将所述应用中的基于SGX的可信执行环境进入指令改写为虚拟可信执行环境进入指令;在所述应用执行所述虚拟可信执行环境进入指令时,切换当前扩展页表为所述可信扩展页表、并将客户虚拟机的数据控制流转移至所述虚拟可信执行环境的固定入口。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海隔镜信息科技有限公司,未经上海隔镜信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910327181.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种虚拟机迁移方法及系统
- 下一篇:构建虚拟主板和虚拟存储设备