基于qemu的虚拟机程序运行状态监控方法技术

技术编号:15030817 阅读:146 留言:0更新日期:2017-04-05 08:11
本发明专利技术公开了一种基于qemu的虚拟机程序运行状态监控方法,其中,包括:通过qemu在虚拟机监视器层获取虚拟机中程序运行时的信息;对获取的信息,进行底层语义分析和语义重构,根据状态特征提取算法和行为模式提取算法对状态系列和行为系列进行状态特征和行为模式提取;将获取的状态特征和行为模式与已有的状态特征库和行为模式库进行对比,进行决策;根据决策结果,进行操作。本发明专利技术基于qemu的虚拟机程序运行状态监控方法具有不容易被绕过、执行效率高以及实现简单的优点。

【技术实现步骤摘要】

本专利技术属于虚拟化安全
,是一种基于qemu的虚拟机程序运行状态监控技术的实现方案。
技术介绍
随着虚拟化技术的应用范围的不断扩大,虚拟机程序运行状态监控作为虚拟化安全领域的研究热点也在不断的向前发展。对虚拟机程序运行状态监控主要包括CPU异常行为监控、内存异常状态监控、设备异常状态监控三个方面。其中CPU异常行为监控和内存异常状态监控两者之间有着密不可分的联系,二者组成虚拟机程序运行状态监控最重要的部分。但是目前常用的CPU异常行为监控手段和内存异常状态监控手段,存在着获取的监控对象信息不够完整,信息源获取方式可信度不够高,信息源获取效率低下以及语义鸿沟等问题。
技术实现思路
本专利技术的目的在于提供一种基于qemu的虚拟机程序运行状态监控方法,用以解决上述现有技术的问题。本专利技术一种基于qemu的虚拟机程序运行状态监控方法,其中,包括:通过qemu在虚拟机监视器层获取虚拟机中程序运行时的信息;对获取的信息,进行底层语义分析和语义重构,根据状态特征提取算法和行为模式提取算法对状态系列和行为系列进行状态特征和行为模式提取;将获取的状态特征和行为模式与已有的状态特征库和行为模式库进行对比,进行决策;根据决策结果,进行操作。根据本专利技术基于qemu的虚拟机程序运行状态监控方法的一实施例,其中,通过qemu在虚拟机监视器层获取虚拟机中程序运行时的信息包括:分别获取内存信息以及寄存器信息,其中,获取内存信息的方法包括:在qemu内存申请处理模块中,添加钩子函数,截获客户操作系统提交的内存申请信息;在qemu物理内存空间分配模块中,添加钩子函数,确定分配的物理空间信息;获取内存信息;获取寄存器信息的方法包括:添加钩子函数截获目标指令翻译成中间码的过程,监听函数对目标指令进行译码的过程;当监听到函数对目标指令进行翻译的操作时,对函数中传入的指令字段和数据字段参数进行截取,并保存。根据本专利技术基于qemu的虚拟机程序运行状态监控方法的一实施例,其中,对获取的信息,进行底层语义分析和语义重构,根据状态特征提取算法和行为模式提取算法对状态系列和行为系列进行状态特征和行为模式提取包括:对获取的信息进行语义转换处理,语义转换处理的信息采用语义结构分析法以及语义状态转换图分析法,进行分解和记录,利用对提取到的状态特征采用通用单项哈希加密算法,得到状态特征值;对提取到的行为模式同样采用通用单项加密哈希算法,得到模式特征值。根据本专利技术基于qemu的虚拟机程序运行状态监控方法的一实施例,其中,将获取的状态特征和行为模式与已有的状态特征库和行为模式库进行对比,进行决策包括:抽象出合法行为和非法行为的规则模式,根据状态特征值和模式特征值,在对监视到的行为进行分析时,查询已有的行为模式库,看是否有与之相符的记录,如果有,就按照规则指定的动作进行反应;根据系统使用状况和用户行为模式对监视到的行为进行分析,根据状态特征值和模式特征值,判断行为的异常度是否超过设定阈值,如果超过设定阈值则为异常。本专利技术基于qemu的虚拟机程序运行状态监控方法,通过源码改造,添加钩子函数等手段,直接在虚拟机监视器层获取监控对象信息,还原虚拟机中程序运行过程,将状态和行为记录结果与行为特征库进行比对,对CPU异常行为和内存异常状态进行监控,具有如下优点:安全性高:本方案在虚拟机监视器关键代码路径上进行截获,对源代码直接进行改造,具有不容易被绕过的特性。执行效率高:本方案直接对虚拟化技术现有的影子页表功能及动态模拟CPU功能进行扩展,对系统性能影响较小。实现简单。只需要在模拟函数中布置部分离散探测点就可以完成监视功能,不需要实现独立的状态查询机制和函数。附图说明图1所示为本专利技术基于qemu的虚拟机程序运行状态监控方法的流程图;图2所示为虚拟机程序运行状态监控原理图;图3所示为虚拟机程序运行状态监控流程图;图4为虚拟机监视器页面转换原理图;图5所示为本专利技术基于qemu的虚拟机程序运行状态监控方法的安全策略的工作机制图;图6所示为本专利技术基于qemu的虚拟机程序运行状态监控方法的安全策略执行流程图。具体实施方式为使本专利技术的目的、内容、和优点更加清楚,下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。图1所示为本专利技术基于qemu的虚拟机程序运行状态监控方法的流程图,本专利技术为了实现对虚拟机中程序运行状态的安全监控,提出了一种位于虚拟机监视器层的具备信息获取、特征和模式分析匹配、规则比较、策略实施等功能的一种安全监控方案。本专利技术方法的具体步骤包括如下几个方面:步骤1:信息获取。由信息获取线程池来完成,通过在虚拟机监视器层放置多个钩子函数,从机器指令操作数、操作码、寄存器状态、堆栈状态多个方面获取虚拟机中程序运行时的底层信息。步骤2:状态特征和行为模式分析。对获取的信息,进行底层语义分析和语义重构,提取出系统运行状态系列和行为系列。根据状态特征提取算法和行为模式提取算法对状态系列和行为系列进行状态特征和行为模式提取。步骤3:规则比较及策略决策。将获取的状态特征和行为模式与知识库中的状态特征库和行为模式库进行对比,根据策略管理器中的相应策略,进行决策。步骤4:策略实施。根据策略管理器的决策结果,进行授权、拒绝以及告警等操作。图2所示为虚拟机程序运行状态监控原理图,如图2所示,本专利技术基于开源虚拟机软件qemu,通过在虚拟机监视器层进行源码改造,添加钩子函数等手段,获取监控对象信息,通过语义分析等手段获取虚拟机运行状态和行为系列,将提取的状态特征和行为模式记录结果与行为特征库进行比对,实现对CPU异常行为和内存异常状态进行监控。图3所示为虚拟机程序运行状态监控流程图,如图3所示,在虚拟机监视器中监视系统的运行,对于敏感的事件行为将其运行信息发给语义转换结构,通过抽象或还原,把具体的事件行为转化为策略器可以理解行为事件,并发送给策略器,策略器查询规则模式库,判断此行为事件是否合乎规则,并按照规则指定的动作进行反应,把命令发送给控制器,由控制完成操作系统或应用进程的配置,控制和管理,从而完成对操作系统的实时监控。结合上述内容进一步说明本专利技术基于qemu的虚拟机程序运行状态监控方法,包括:步骤1:信息获取信息的获取对象包括内存和寄存器两类。其中寄存器包括数据寄存器和指令寄存器两种,对程序运行状态进行监控需要实时获取数据寄存器和指令寄存器中的信息。对内存和寄存器信息获取采用不同的方式实现,下面分类进行详细的描述。(1)内存信息获取图4为虚拟机监视器页面转换原理图,如图4所示,虚拟机监视器管理着真实的内存,将目标虚拟机的虚拟地址转换为真实的物理地址,就可以实现在虚拟机监控器中对目标虚拟机的系统资源进行直接读取。qemu是一个开源的虚拟机监视器平台,它使用影子页表来解决虚拟机中的虚拟内存和实际物理内存的对应关系。本专利技术基于影子页表原理,对qemu源码进行了改造,通过添加钩子函数手段,截获影子页表转换对应关系,获取客户机虚拟地址对应的客户机物理地址信息。qemu分配给目标系统的内存是通过RAMBlock和RAMList来进行管理。本专利技术通过对RAMBlock和RAMList模块添加一系列离散钩子函数来实现对相关信息的获取。下面将进一步论述如何在模块中相应位置添加离散钩子函数。①在q本文档来自技高网...

【技术保护点】
一种基于qemu的虚拟机程序运行状态监控方法,其特征在于,包括:通过qemu在虚拟机监视器层获取虚拟机中程序运行时的信息;对获取的信息,进行底层语义分析和语义重构,根据状态特征提取算法和行为模式提取算法对状态系列和行为系列进行状态特征和行为模式提取;将获取的状态特征和行为模式与已有的状态特征库和行为模式库进行对比,进行决策;根据决策结果,进行操作。

【技术特征摘要】
1.一种基于qemu的虚拟机程序运行状态监控方法,其特征在于,包括:通过qemu在虚拟机监视器层获取虚拟机中程序运行时的信息;对获取的信息,进行底层语义分析和语义重构,根据状态特征提取算法和行为模式提取算法对状态系列和行为系列进行状态特征和行为模式提取;将获取的状态特征和行为模式与已有的状态特征库和行为模式库进行对比,进行决策;根据决策结果,进行操作。2.如权利要求1所述的基于qemu的虚拟机程序运行状态监控方法,其特征在于,通过qemu在虚拟机监视器层获取虚拟机中程序运行时的信息包括:分别获取内存信息以及寄存器信息,其中,获取内存信息的方法包括:在qemu内存申请处理模块中,添加钩子函数,截获客户操作系统提交的内存申请信息;在qemu物理内存空间分配模块中,添加钩子函数,确定分配的物理空间信息;获取内存信息;获取寄存器信息的方法包括:添加钩子函数截获目标指令翻译成中间码的过程,监听函数对目标指令进行译码的过程;当监听到函数对目标指令进行翻译的操作时,对函数中传入的指令字段和数据字段参数进行截取,并保存。3.如...

【专利技术属性】
技术研发人员:刘刚夏旸王硕单联强马书磊张继业金丽华
申请(专利权)人:北京计算机技术及应用研究所
类型:发明
国别省市:北京;11

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

1