[发明专利]一种基于CPU硬件特性的虚拟机自省触发方法及系统有效
| 申请号: | 201710738034.4 | 申请日: | 2017-08-24 |
| 公开(公告)号: | CN107608756B | 公开(公告)日: | 2020-10-13 |
| 发明(设计)人: | 王丽娜;刘维杰;吴頔 | 申请(专利权)人: | 武汉大学 |
| 主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F11/30 |
| 代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 鲁力 |
| 地址: | 430072 湖*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 cpu 硬件 特性 虚拟机 自省 触发 方法 系统 | ||
1.一种基于CPU硬件特性的虚拟机自省触发方法,其特征在于,包括
VMFUNC感知步骤:在用户空间中的被监控程序中插入VMFUNC指令,并读取当前的EPTP,并以此比对该EPTP是否被修改;
参数传递步骤:启动被监控程序,并在虚拟机管理器中的重载后的RDTSC模拟指令中检测虚拟机扩展页表指针值的变化,如果变化超过阈值,则判断为用户空间中被监控程序运行了,则为用户意欲触发虚拟机自省程序,此时虚拟机管理器获取用户虚拟机的Domain ID与EPTP值,写入trace buffer缓冲区中;
VMI启动步骤:虚拟机管理器触发一个VIRQ_TBUF中断,通知Dom0获取缓冲区中的内容,然后Dom0应用XenTrace解析缓冲区的内容,获取步骤四中的Domain ID与EPTP值,传入虚拟机自省程序,Dom0启动虚拟机自省程序,输出实时监控内容。
2.根据权利要求1所述的一种基于CPU硬件特性的虚拟机自省触发方法,其特征在于,所述VMFUNC感知步骤具体包括:
步骤1,VMFUNC在用户虚拟机执行;
步骤2,判断VMFUNC感知步骤是否开启,若开启则继续;若未开启,则执行步骤8;
步骤3,判断是否在RDTSC模拟函数中,若是则继续;若不是,则返回执行步骤2;
步骤4,截获TSC值并将其保存;
步骤5,读取当前EPTP值;
步骤6,判断当前EPTP值于上一次保存的EPTP值是否一样,若一样则返回执行步骤(1);若不一样,则调用参数传递步骤,将控制权交于下一步骤;
步骤7,将保存的TSC值送入eax、edx寄存器;
步骤8,结束并返回到虚拟机执行环境。
3.根据权利要求1所述的一种基于CPU硬件特性的虚拟机自省触发方法,其特征在于,所述参数传递步骤具体包括:
步骤1,计算前后EPTP的差值从而获得EPTP index;
步骤2,判断该EPTP index是否大于或等于10,若是则执行VMFUNC的正常功能并返回虚拟机;若不是则继续;
步骤3,定义index=10+x,得出x的值后,重新计算EPTP,并将新的EPTP写回到对应的VMCS中;
步骤4,执行EPTP switching功能;
步骤5,调用VMI启动模块;向VMI启动模块传入Domain ID,新的EPTP字段等用于用户启动VMI的参数。
4.根据权利要求1所述的一种基于CPU硬件特性的虚拟机自省触发方法,其特征在于,所述VMI启动步骤具体包括:
步骤1,在Dom0中启动Xentrace;
步骤2,将接下来需要传入VMI程序的参数domain ID、新的EPTP写入到Xentrace的核心函数—TRACE_ND()中;
步骤3,当TRACE_ND()第一次执行时,将需要传入的参数写入到Xentrace在Xen堆上的trace cache中;
步骤4,Dom0中的daemon程序通过轮询的方式监控该trace cache,若发现有新的参数传入,则调用Dom0中的写好的基于libVMI虚拟机自省程序。
5.一种基于CPU硬件特性的虚拟机自省触发系统,其特征在于,包括
VMFUNC感知模块:在用户空间中的被监控程序中插入VMFUNC指令,并读取当前的EPTP,并以此比对该EPTP是否被修改;
参数传递模块:启动被监控程序,并在虚拟机管理器中的重载后的RDTSC模拟指令中检测虚拟机扩展页表指针值的变化,如果变化超过阈值,则判断为用户空间中被监控程序运行了,则为用户意欲触发虚拟机自省程序,此时虚拟机管理器获取用户虚拟机的Domain ID与EPTP值,写入trace buffer缓冲区中;
VMI启动模块:虚拟机管理器触发一个VIRQ_TBUF中断,通知Dom0获取缓冲区中的内容,然后Dom0应用XenTrace解析缓冲区的内容,获取步骤四中的Domain ID与EPTP值,传入虚拟机自省程序,Dom0启动虚拟机自省程序,输出实时监控内容。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710738034.4/1.html,转载请声明来源钻瓜专利网。





