当前位置: 首页 > 专利查询>武汉大学专利>正文

一种基于CPU硬件特性的虚拟机自省触发方法及系统技术方案

技术编号:17097227 阅读:36 留言:0更新日期:2018-01-21 08:52
本发明专利技术公开一种基于CPU硬件特性的虚拟机自省触发方法及系统,包括三个模块:分别是VMFUNC感知模块、参数传递模块、虚拟机自省启动模块。首先在对用户空间执行VMFUNC的情况进行监控,在虚拟机管理器中通过重载后的RDTSC模拟程序感知扩展页表指针值的变化;然后,将上一步获得的扩展页表指针值与用户Domain ID写入内存缓冲区中,触发一个虚拟中断,将控制权交与虚拟机自省启动模块;最后,Domain0解析内存中的信息,将参数传入虚拟机自省程序即可启动监控程序。本发明专利技术克服了以往虚拟机自省程序常驻带来的大量资源消耗,同时通过页表切换避免虚拟机自省程序执行中断虚拟机运行的现象,提高了VM执行的效率。

【技术实现步骤摘要】
一种基于CPU硬件特性的虚拟机自省触发方法及系统
本专利技术涉及云安全
与VT-x
,尤其是云安全中虚拟机自省技术的运用。
技术介绍
在云计算已经得到普及和大规模应用的今天,其重要的技术基石虚拟化技术仍然是当前热门话题。虚拟机技术越来越多地部署在从高端服务器到台式PC的一系列平台上。在这些不同的计算环境中需要使用虚拟化的原因不断增加:服务器整合,支持多种操作系统(包括旧系统),沙盒和其他安全功能,容错,专业架构优化等等。随着零开销虚拟化的软件和硬件支持的发展,虚拟化渐渐被被包括在主流商业操作系统中,虚拟化计算环境几乎已经变得无处不在。作为一项可以将计算资源抽象、分割,使其得到统一表示的重要技术,虚拟化成为了云计算取用自由、按需付费这一构想的基础。在虚拟化技术架构中,主机资源的虚拟化抽象由虚拟机管理器(Hypervisor)提供,主机上包括HostOS在内的多台虚拟机之所以能够良好运行全都依赖着这一薄薄的软件基石提供的虚拟化环境。作为虚拟资源的总调度站,虚拟机管理器是计算机硬件与操作系统之间进行沟通管理的新层次,它能够通过监控虚拟机的行为和软硬件资源使用情况(例如执行指令等本文档来自技高网...
一种基于CPU硬件特性的虚拟机自省触发方法及系统

【技术保护点】
一种基于CPU硬件特性的虚拟机自省触发方法,其特征在于,包括VMFUNC感知步骤:在用户空间中的被监控程序中插入VMFUNC指令,并读取当前的EPTP,并以此比对该EPTP是否被修改;参数传递步骤:启动被监控程序,并在虚拟机管理器中的重载后的RDTSC模拟指令中检测虚拟机扩展页表指针值的变化,如果变化超过阈值,则判断为用户空间中被监控程序运行了,则为用户意欲触发虚拟机自省程序,此时虚拟机管理器获取用户虚拟机的Domain ID与EPTP值,写入trace buffer缓冲区中;VMI启动步骤:虚拟机管理器触发一个VIRQ_TBUF中断,通知Dom0获取缓冲区中的内容,然后Dom0应用XenTr...

【技术特征摘要】
1.一种基于CPU硬件特性的虚拟机自省触发方法,其特征在于,包括VMFUNC感知步骤:在用户空间中的被监控程序中插入VMFUNC指令,并读取当前的EPTP,并以此比对该EPTP是否被修改;参数传递步骤:启动被监控程序,并在虚拟机管理器中的重载后的RDTSC模拟指令中检测虚拟机扩展页表指针值的变化,如果变化超过阈值,则判断为用户空间中被监控程序运行了,则为用户意欲触发虚拟机自省程序,此时虚拟机管理器获取用户虚拟机的DomainID与EPTP值,写入tracebuffer缓冲区中;VMI启动步骤:虚拟机管理器触发一个VIRQ_TBUF中断,通知Dom0获取缓冲区中的内容,然后Dom0应用XenTrace解析缓冲区的内容,获取步骤四中的DomainID与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的差值从而获得EPTPindex;步骤2,判断该EPTPindex是否大于或等于10,若是则执行VMFUNC的正常功能并返回虚拟机;若不是则继续;步骤3,定义index=10+x,得出x的值后,重新计算EPTP,并将新的EPTP写回到对应的VMCS中;步骤4,执行EPTPswitching功能;步骤5,调用VMI启动模块;向VMI启动模块传入DomainID,新的EPTP字段等用于用户启动VMI的参数。4.根据权利要求1所述的一种基于CPU硬件特性的虚拟机自省触发方法,其特征在于,所述VMI启动步骤具体包括:步骤1,在Dom0中启动Xentrace;步骤2,当VMI启动步骤被调用后,将接下来需要传入VMI程序的参数(domainID、新的EPTP)写入到Xentrace的核心函数一TRACE_ND()中;步骤3,当TRACE_ND()第一次执行时,将需要传入的参数写入到Xentrace在Xen堆上的tracecache中;步骤4,Dom0中的daemon程序通过轮询的方式监控该tracecache,若发现有新的参数传入,则调用Dom0中的写好的基于libVMI虚拟机自...

【专利技术属性】
技术研发人员:王丽娜刘维杰吴頔
申请(专利权)人:武汉大学
类型:发明
国别省市:湖北,42

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

1