预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共23页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN106909437A(43)申请公布日2017.06.30(21)申请号201510980458.2(22)申请日2015.12.23(71)申请人华为技术有限公司地址518129广东省深圳市龙岗区坂田华为总部办公楼(72)发明人万荣飞陈兴蜀(74)专利代理机构北京同立钧成知识产权代理有限公司11205代理人杨贝贝黄健(51)Int.Cl.G06F9/455(2006.01)权利要求书3页说明书13页附图6页(54)发明名称虚拟机内核的保护方法及装置(57)摘要本发明实施例提供一种虚拟机内核的保护方法及装置,该方法包括:截获应用程序发起的系统调用函数;根据虚拟机原始内核基地址与影子内核基地址的偏移值,将系统调用函数指向影子内核,根据影子内核中的影子SSDT确定所述系统调用函数在影子内核中对应的入口地址;其中,影子内核构建于虚拟机原始内核的非分页池中,所述影子内核为根据虚拟机原始内核的镜像文件构建的可执行内核代码。实现了系统调用路径完全在影子内核的纯净代码中执行,保证了系统调用路径的完整性,从而也保证了整个内核代码运行的完整性。且影子内核构建在虚拟机原始内核的非分页池中构建,简单易实现,也不会在注册表等其他地方留下痕迹,安全性更高。CN106909437ACN106909437A权利要求书1/3页1.一种虚拟机内核的保护方法,其特征在于,包括:截获应用程序发起的系统调用函数;根据虚拟机原始内核基地址与影子内核基地址的偏移值,将所述系统调用函数指向影子内核,根据所述影子内核中的影子系统服务描述表SSDT确定所述系统调用函数在影子内核中对应的入口地址;其中,所述影子内核构建于所述虚拟机原始内核的非分页池中,所述影子内核为根据所述虚拟机原始内核的镜像文件构建的可执行内核代码。2.根据权利要求1所述的方法,其特征在于,所述截获应用程序发起的系统调用函数之前,所述方法还包括:构建所述影子内核。3.根据权利要求2所述的方法,其特征在于,所述构建所述影子内核,包括:将所述虚拟机原始内核的文件进行复制以获取镜像文件;将所述镜像文件按照可执行格式文件映射到所述虚拟机原始内核的非分页池中,以形成影子内核初始代码;根据所述镜像文件所映射的地址以及影子内核基地址,对所述影子内核初始代码中的待重定向数据进行修复,并获取修复后的待重定向数据;将所述修复后的待重定向数据中SSDT对应的数据和影子中断描述表IDT对应的数据进行备份,以获取影子IDT和所述影子SSDT;将所述修复后的待重定向数据重定向到所述虚拟机原始内核,以获取目标重定向数据,并将所述目标重定向数据中的SSDT和IDT替换为所述影子SSDT和所述影子IDT。4.根据权利要求3所述的方法,其特征在于,所述将所述虚拟机原始内核的文件进行复制以获取镜像文件之前,所述方法还包括:在所述虚拟机原始内核的非分页池中申请缓冲区,其中,所述影子内核构建于所述缓冲区中。5.根据权利要求4所述的方法,其特征在于,所述根据所述镜像文件所映射的地址以及影子内核基地址,对所述影子内核初始代码中的待重定向数据进行修复,以获取修复后的待重定向数据,包括:根据公式Dactual-Dactual_imagebase=Ddefault-Ddefault_imagebase将所述影子内核初始代码中的待重定向数据进行修复,以获取修复后的待重定向数;其中,Ddefault为所述待重定向数据的地址,Dactual_imagebase为所述缓冲区的首地址,Ddefault_imagebase为所述影子内核基地址,Dactual为所述修复后的待重定向数的地址。6.根据权利要求1-5任一所述的方法,其特征在于,所述将所述系统调用函数指向影子内核之后,还包括:拦截所述应用程序对所述虚拟机原始内核中的SSDT的读写操作。7.根据权利要求3-6任一所述的方法,其特征在于,所述影子SSDT包括:系统调用函数的标识和在影子内核中入口地址的对应关系;相应地,所述根据所述影子内核中的影子SSDT确定所述系统调用函数在影子内核中对应的入口地址,包括:根据所述影子SSDT中系统调用函数的标识和在影子内核中入口地址的对应关系,确定2CN106909437A权利要求书2/3页所述系统调用函数在影子内核中对应的入口地址。8.根据权利要求1-7任一所述的方法,其特征在于,所述方法还包括:截获虚拟机中断处理函数;根据原始内核基地址与影子内核基地址的偏移值,将所述中断处理函数指向所述影子内核,根据所述影子内核中的影子IDT确定所述中断处理函数在影子内核中对应的入口地址。9.根据权利要求8所述的方法,其特征在于,所述将所述中断处理函数指向所述影子内核之后,还包括:拦截所述应用程序对虚拟机原始内核中的