一种基于虚拟机的自省自动化管理、配置与自省方法技术

技术编号:19008990 阅读:41 留言:0更新日期:2018-09-22 08:53
本发明专利技术提供一种基于虚拟机的自省自动化管理、配置与自省方法包括1)根据操作系统的操作进程的调用执行过程,筛选出需复用的系统调用从而形成傀儡系统调用,所述傀儡系统调用由目标虚拟机执行;所述目标虚拟机包括控制模块、数据交换模块以及系统调用控制模块;2)注入目标虚拟机系统调用3)保护虚拟机系统调用执行,4)隔离虚拟机内存,包括:从目标虚拟机外部跟踪目标虚拟机的VCPU调度和操作目标虚拟机内存;本方法能更加加大加强安全性,目标虚拟机执行的傀儡系统调用代码取自安全的内核镜像,复用的傀儡系统不需要依赖目标虚拟机的内核完整性。

A self guided automatic management, configuration and introspection method based on virtual machine

The invention provides a self-introspection automatic management, configuration and self-introspection method based on a virtual machine, including 1) according to the invocation execution process of an operating system operation process, a system call to be reused is screened out to form a puppet system call, the puppet system call is executed by a target virtual machine, and the target virtual machine includes control. Module, data exchange module and system call control module; 2) Injecting target virtual machine system call 3) Protecting virtual machine system call execution; 4) Isolating virtual machine memory, including: tracking target virtual machine from the outside of target virtual machine VCPU scheduling and operating target virtual machine memory; This method can enhance security even more. The puppet system call code executed by the target virtual machine is taken from the secure kernel image, and the reused puppet system does not need to rely on the kernel integrity of the target virtual machine.

【技术实现步骤摘要】
一种基于虚拟机的自省自动化管理、配置与自省方法
本专利技术涉及计算机
,具体地说,是一种基于虚拟机的自省自动化管理、配置与自省方法。
技术介绍
在云计算中虚拟机自省技术为云安全提供了安全保障手段。虚拟机自省技术(VirtualMachineIntrospection,VMI)是基于虚拟机架构监控技术的典型代表。虚拟机自省技术的体系架构是通过在目标虚拟机外部获取虚拟机底层状态数据(CPU寄存器、I/O控制器寄存器、内存、大容量存储设备等),可以在安全虚拟机中有效地监控或干预其内部运行状态。由于虚拟机管理层(VirtualMachineMonitor,VMM)具有最高权限,而且虚拟机之间有很强的隔离性,因此这种监控方式具有更高的安全性和透明性。由于这种方法能够保证监控工具的有效性和防攻击性,在入侵检测、内核完整性保护、文件保护等多方面发挥了重要作用。但是,目前虚拟机监控技术面临着语义解析的挑战。由于监控器在虚拟化平台仅能获得虚拟机的二进制执行信息,无法获悉其高层语义信息,这种语义之间的差异称为“语义鸿沟”。由于不同虚拟机不同操作系统和不同内核版本具有不同的语义知识,因此外部监控工具的通用性和可扩展性不好。尽管已经有自动化解析语义的工具如Volatility等,然而大部分VMI程序仅仅能够解析虚拟机的信息无法做到直接管理虚拟机。这是因为往往一个操作会引起虚拟众多内存和磁盘变化,在外部很难全面地模拟内核的所有操作。比如:当需要结束一个进程时,需要改变内核中的进程列表并且释放掉相关的所有内存,这是一系统化地操作。为了解决自动化处理语义鸿沟问题,Hypershell[1]、EXT[2]和PI[3]分别利用系统调用重定向和将分析程序植入目标虚拟机的方法,从而达到管理或监控的目的。但是这些方法面临着安全性、自动化、可扩展性的问题。Hypershell与PI都是需要虚拟机辅助完成管理和解析,安全性与透明性有问题,一旦虚拟机内核被破坏则无法工作。EXT则是利用安全虚拟机(SVM)来代替目标虚拟机(TVM)处理数据,之后将结果复制到目标虚拟机中,但是面临着扩展性问题。因为各个系统调用的待操作数据是不同的,需要分别处理,而Linux有众多种调用,因此难以覆盖所用功能。
技术实现思路
本专利技术提出了一种安全的基于虚拟机自省的自动化管理、配置与自省方法及系统,使监控程序可以在虚拟机外部自动化地获取虚拟机运行信息和干预虚拟机的运行。核心思想是利用目标虚拟机辅助执行我们需要的傀儡系统调用从而自动化地解析语义和干预虚拟机。采用复用系统调用的策略是因为虚拟机中的大部分的重要的操作是通过系统调用完成的。因此通过利用系统调用可以自动化地处理语义鸿沟问题。本专利技术可以采用如下方法来实现:一种基于虚拟机的自省自动化管理、配置与自省方法,包括:1)根据操作系统的操作进程的调用执行过程,筛选出复用级系统调用从而形成傀儡系统调用,所述傀儡系统调用由目标虚拟机执行;所述目标虚拟机包括控制模块、数据交换模块以及系统调用控制模块;2)注入目标虚拟机调用,包括①在目标虚拟机中选取傀儡程序,并根据待处理语义,选取傀儡系统调用并等待执行;调用控制模块获取当前调用执行过程且数据交换模块传递当前调用数据传递至控制模块并保存;②控制模块操作数据交换模块,将需要执行的傀儡系统调用的参数数据传递到目标虚拟机中,由目标虚拟机按照需求辅助完成傀儡系统调用;③数据交换模块将调用执行结果传递给控制模块,所述执行结果位于内核空间或用户空间;④控制模块操作数据交换模块将傀儡程序原来调用的参数数据恢复到目标虚拟机中,之后调用控制模块会让目标虚拟机继续执行傀儡程序原来的调用;⑤在原来调用执行后,完成傀儡系统调用返回;操作系统的控制流会返回到傀儡程序;3)保护虚拟机系统调用执行,包括:①傀儡系统调用开始执行后,设置目标虚拟机中所有内核页面权限为不可执行;②当页面被执行后,会触发异常,则暂停目标虚拟机的运行;并根据被执行内核页面的虚拟地址找到安全虚拟机的安全镜像中对应的内存页面;将该页面写入目标虚拟机的被执行页面中并保护该内存页;③将该页面设置为可以执行后,恢复目标虚拟机运行;4)隔离虚拟机内存,包括:从目标虚拟机外部跟踪目标虚拟机的VCPU调度和操作目标虚拟机内存;具体为:在注入目标虚拟机调用过程中,在向傀儡程序写入傀儡系统调用的参数数据之前,保存即将被写入内存区域之前的数据,并通过跟踪目标虚拟机中的程序的上下文切换信息,得到目标虚拟机中VCPU的调度信息。进一步地,所述注入目标虚拟机调用,在注入调用过程中,当VCPU正在执行傀儡程序时,傀儡程序的内存是注入后的状态,当傀儡程序被切换后,在目标虚拟机外部跟踪傀儡程序内存的读写信息。本专利技术还提供了一种基于虚拟机的自省自动化管理、配置与自省系统,包括傀儡系统调用形成模块、目标虚拟机调用执行模块、虚拟机调用执行保护模块以及虚拟机内存隔离模块;所述傀儡系统调用形成模块用于根据操作系统的操作进程的调用执行过程,筛选出需要复用的系统调用从而形成傀儡系统调用,所述傀儡系统调用由目标虚拟机执行;所述目标虚拟机包括控制模块、数据交换模块以及系统调用控制模块;所述目标虚拟机调用执行模块用于注入目标虚拟机调用,包括①在目标虚拟机中选取傀儡程序,并根据待处理语义,选取傀儡系统调用并等待执行;调用控制模块获取当前调用执行过程且数据交换模块传递当前调用数据传递至控制模块并保存;②控制模块操作数据交换模块,将需要执行的傀儡系统调用的参数数据传递到目标虚拟机中,由目标虚拟机按照需求辅助完成傀儡系统调用;③数据交换模块将调用执行结果传递给控制模块,所述执行结果位于内核空间或用户空间;④控制模块操作数据交换模块将傀儡程序原来调用的参数数据恢复到目标虚拟机中,之后调用控制模块会让目标虚拟机继续执行傀儡程序原来的调用;⑤在原来调用执行后,完成傀儡系统调用返回;操作系统的控制流会返回到傀儡程序;所述虚拟机调用执行保护模块用于保护虚拟机系统调用执行,包括:①傀儡系统调用开始执行后,设置目标虚拟机中所有内核页面权限为不可执行;②当页面被执行后,会触发异常,则暂停目标虚拟机的运行;并根据被执行内核页面的虚拟地址找到安全虚拟机的安全镜像中对应的内存页面;将该页面写入目标虚拟机的被执行页面中并保护该内存页;③将该页面设置为可以执行后,恢复目标虚拟机运行;所述虚拟机内存隔离模块隔离虚拟机内存,包括:从目标虚拟机外部跟踪目标虚拟机的VCPU调度和操作目标虚拟机内存;具体为:在注入目标虚拟机调用过程中,在向傀儡程序写入傀儡系统调用的参数数据之前,保存即将被写入内存区域之前的数据,并通过跟踪目标虚拟机中的程序的上下文切换信息,得到目标虚拟机中VCPU的调度信息。进一步地,所述注入目标虚拟机调用,在注入调用过程中,当VCPU正在执行傀儡程序时,傀儡程序的内存是注入后的状态,当傀儡程序被切换后,在目标虚拟机外部跟踪傀儡程序内存的读写信息。综上,本专利技术包含了以下几点:(1)基于跟踪的傀儡系统调用选取方法,当域外的监控程序需要获取虚拟机信息或干预虚拟机时,能够自动选取地需要复用的傀儡系统调用;(2)透明化的虚拟机系统调用注入,能够通过控制虚拟机系统调用执行的方式,向运行的虚拟机中注入额外的傀儡系统调本文档来自技高网
...
一种基于虚拟机的自省自动化管理、配置与自省方法

【技术保护点】
1.一种基于虚拟机的自省自动化管理、配置与自省方法,其特征在于,包括:1)根据操作系统的操作进程的调用执行过程,筛选出需复用的系统调用从而形成傀儡系统调用,所述傀儡系统调用由目标虚拟机执行;所述目标虚拟机包括控制模块、数据交换模块以及系统调用控制模块;2)注入目标虚拟机系统调用,包括①在目标虚拟机中选取傀儡程序,并根据待处理语义,选取傀儡系统调用并等待执行;调用控制模块获取当前调用执行过程且数据交换模块传递当前调用数据传递至控制模块并保存;②控制模块操作数据交换模块,将需要执行的傀儡系统调用的参数数据传递到目标虚拟机中,由目标虚拟机按照需求辅助完成傀儡系统调用;③数据交换模块将调用执行结果传递给控制模块,所述执行结果位于内核空间或用户空间;④控制模块操作数据交换模块将傀儡程序原来调用的参数数据恢复到目标虚拟机中,之后调用控制模块会让目标虚拟机继续执行傀儡程序原来的调用;⑤在原来调用执行后,完成傀儡系统调用返回;操作系统的控制流会返回到傀儡程序;3)保护虚拟机系统调用执行,包括:①傀儡系统调用开始执行后,设置目标虚拟机中所有内核页面权限为不可执行;②当页面被执行后,暂停目标虚拟机的运行;并根据被执行内核页面的虚拟地址找到安全虚拟机的安全镜像中对应的内存页面;将该页面写入目标虚拟机的被执行页面中并保护该内存页;③将该页面设置为可以执行后,恢复目标虚拟机运行;4)隔离虚拟机内存,包括:从目标虚拟机外部跟踪目标虚拟机的VCPU调度和操作目标虚拟机内存;具体为:在注入目标虚拟机调用过程中,在向傀儡程序写入傀儡系统调用的参数数据之前,保存即将被写入内存区域之前的数据,并通过跟踪目标虚拟机中的程序的上下文切换信息,从而防止傀儡调用的数据信息被其他进程读取或篡改。...

【技术特征摘要】
1.一种基于虚拟机的自省自动化管理、配置与自省方法,其特征在于,包括:1)根据操作系统的操作进程的调用执行过程,筛选出需复用的系统调用从而形成傀儡系统调用,所述傀儡系统调用由目标虚拟机执行;所述目标虚拟机包括控制模块、数据交换模块以及系统调用控制模块;2)注入目标虚拟机系统调用,包括①在目标虚拟机中选取傀儡程序,并根据待处理语义,选取傀儡系统调用并等待执行;调用控制模块获取当前调用执行过程且数据交换模块传递当前调用数据传递至控制模块并保存;②控制模块操作数据交换模块,将需要执行的傀儡系统调用的参数数据传递到目标虚拟机中,由目标虚拟机按照需求辅助完成傀儡系统调用;③数据交换模块将调用执行结果传递给控制模块,所述执行结果位于内核空间或用户空间;④控制模块操作数据交换模块将傀儡程序原来调用的参数数据恢复到目标虚拟机中,之后调用控制模块会让目标虚拟机继续执行傀儡程序原来的调用;⑤在原来调用执行后,完成傀儡系统调用返回;操作系统的控制流会返回到傀儡程序;3)保护虚拟机系统调用执行,包括:①傀儡系统调用开始执行后,设置目标虚拟机中所有内核页面权限为不可执行;②当页面被执行后,暂停目标虚拟机的运行;并根据被执行内核页面的虚拟地址找到安全虚拟机的安全镜像中对应的内存页面;将该页面写入目标虚拟机的被执行页面中并保护该内存页;③将该页面设置为可以执行后,恢复目标虚拟机运行;4)隔离虚拟机内存,包括:从目标虚拟机外部跟踪目标虚拟机的VCPU调度和操作目标虚拟机内存;具体为:在注入目标虚拟机调用过程中,在向傀儡程序写入傀儡系统调用的参数数据之前,保存即将被写入内存区域之前的数据,并通过跟踪目标虚拟机中的程序的上下文切换信息,从而防止傀儡调用的数据信息被其他进程读取或篡改。2.如权利要求1所述的一种基于虚拟机的自省自动化管理、配置与自省方法,其特征在于,所述目标虚拟机调用的调用过程中从虚拟机外部修改寄存器和内存内容改变操作系统中的控制流。3.如权利要求1所述的一种基于虚拟机的自省自动化管理、配置与自省方法,其特征在于,所述注入目标虚拟机调用,在注入调用过程中,当VCPU正在执行傀儡程序时,傀儡程序的内存是注入后的状态,当傀儡程序被切换后,在目标虚拟机外部跟踪傀儡程序内存的读写信息。4.一种基于虚拟机的自省自动化管理、配置与自省系统,其特征在于,包括傀儡系统调用形成模块、目标虚拟机调用执行模块、虚拟机调用执行保护模...

【专利技术属性】
技术研发人员:邹学强叶麟余翔湛袁庆升詹东阳包秀国
申请(专利权)人:哈尔滨工业大学国家计算机网络与信息安全管理中心
类型:发明
国别省市:黑龙江,23

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

1