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程序仅仅能够解析虚拟机的信息无法做到直接管理虚拟机。这是因为往往一个操作会引起虚拟众多内存和磁盘变化,在外部很难全面地模拟内核的所有操作。比如:当需要结束一个进程时,需要改变内核中的进程列表并且释放掉相关的所有内存,这是一系统化地操作。为了解决自动化处理语义鸿沟问题,Hypershe ...
【技术保护点】
1.一种基于虚拟机的自省自动化管理、配置与自省方法,其特征在于,包括:1)根据操作系统的操作进程的调用执行过程,筛选出需复用的系统调用从而形成傀儡系统调用,所述傀儡系统调用由目标虚拟机执行;所述目标虚拟机包括控制模块、数据交换模块以及系统调用控制模块;2)注入目标虚拟机系统调用,包括①在目标虚拟机中选取傀儡程序,并根据待处理语义,选取傀儡系统调用并等待执行;调用控制模块获取当前调用执行过程且数据交换模块传递当前调用数据传递至控制模块并保存;②控制模块操作数据交换模块,将需要执行的傀儡系统调用的参数数据传递到目标虚拟机中,由目标虚拟机按照需求辅助完成傀儡系统调用;③数据交换模块将调用执行结果传递给控制模块,所述执行结果位于内核空间或用户空间;④控制模块操作数据交换模块将傀儡程序原来调用的参数数据恢复到目标虚拟机中,之后调用控制模块会让目标虚拟机继续执行傀儡程序原来的调用;⑤在原来调用执行后,完成傀儡系统调用返回;操作系统的控制流会返回到傀儡程序;3)保护虚拟机系统调用执行,包括:①傀儡系统调用开始执行后,设置目标虚拟机中所有内核页面权限为不可执行;②当页面被执行后,暂停目标虚拟机的运行; ...
【技术特征摘要】
1.一种基于虚拟机的自省自动化管理、配置与自省方法,其特征在于,包括:1)根据操作系统的操作进程的调用执行过程,筛选出需复用的系统调用从而形成傀儡系统调用,所述傀儡系统调用由目标虚拟机执行;所述目标虚拟机包括控制模块、数据交换模块以及系统调用控制模块;2)注入目标虚拟机系统调用,包括①在目标虚拟机中选取傀儡程序,并根据待处理语义,选取傀儡系统调用并等待执行;调用控制模块获取当前调用执行过程且数据交换模块传递当前调用数据传递至控制模块并保存;②控制模块操作数据交换模块,将需要执行的傀儡系统调用的参数数据传递到目标虚拟机中,由目标虚拟机按照需求辅助完成傀儡系统调用;③数据交换模块将调用执行结果传递给控制模块,所述执行结果位于内核空间或用户空间;④控制模块操作数据交换模块将傀儡程序原来调用的参数数据恢复到目标虚拟机中,之后调用控制模块会让目标虚拟机继续执行傀儡程序原来的调用;⑤在原来调用执行后,完成傀儡系统调用返回;操作系统的控制流会返回到傀儡程序;3)保护虚拟机系统调用执行,包括:①傀儡系统调用开始执行后,设置目标虚拟机中所有内核页面权限为不可执行;②当页面被执行后,暂停目标虚拟机的运行;并根据被执行内核页面的虚拟地址找到安全虚拟机的安全镜像中对应的内存页面;将该页面写入目标虚拟机的被执行页面中并保护该内存页;③将该页面设置为可以执行后,恢复目标虚拟机运行;4)隔离虚拟机内存,包括:从目标虚拟机外部跟踪目标虚拟机的VCPU调度和操作目标虚拟机内存;具体为:在注入目标虚拟机调用过程中,在向傀儡程序写入傀儡系统调用的参数数据之前,保存即将被写入内存区域之前的数据,并通过跟踪目标虚拟机中的程序的上下文切换信息,从而防止傀儡调用的数据信息被其他进程读取或篡改。2.如权利要求1所述的一种基于虚拟机的自省自动化管理、配置与自省方法,其特征在于,所述目标虚拟机调用的调用过程中从虚拟机外部修改寄存器和内存内容改变操作系统中的控制流。3.如权利要求1所述的一种基于虚拟机的自省自动化管理、配置与自省方法,其特征在于,所述注入目标虚拟机调用,在注入调用过程中,当VCPU正在执行傀儡程序时,傀儡程序的内存是注入后的状态,当傀儡程序被切换后,在目标虚拟机外部跟踪傀儡程序内存的读写信息。4.一种基于虚拟机的自省自动化管理、配置与自省系统,其特征在于,包括傀儡系统调用形成模块、目标虚拟机调用执行模块、虚拟机调用执行保护模...
【专利技术属性】
技术研发人员:邹学强,叶麟,余翔湛,袁庆升,詹东阳,包秀国,
申请(专利权)人:哈尔滨工业大学,国家计算机网络与信息安全管理中心,
类型:发明
国别省市:黑龙江,23
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。