The invention relates to a method for real-time saving process state in a client based on virtualization technology. The method comprises the following steps: 1) will inform the specific process of the client in PID for virtualization monitoring layer; 2) monitoring process scheduling in virtual monitoring layer, when the specific process is active in scheduling the client virtualization monitoring layer, virtualization monitoring layer in client memory in specific location code injection; 3) the client resumes execution after the execution of injected code to complete the process of state backup; 4) into active client by injecting code into the process control, according to the change in the current client process flow; 5) in the context of the recovery process when the code into the position of recovery, at the same time wake state backup process. In the client, when the process context state of the client needs to be saved, it is backed up in a process entity and can be run directly after the recovery needs, without the need for additional memory recovery.
【技术实现步骤摘要】
基于虚拟化技术的实时保存客户机中进程状态的方法
本专利技术属于虚拟化
,涉及基于虚拟化技术的实时保存客户机中进程状态的方法,尤其涉及一种基于虚拟化技术的不需修改客户机内核的、对客户机透明的进程状态保存方法。
技术介绍
虚拟化技术最主要的作用是解决物理资源的使用效率,虚拟机监控器替代操作系统内核所在层次,对底层物理资源进行抽象。硬件经过虚拟化层的分配和管理被上层所有虚拟机所共享,上层的虚拟机由虚拟化层创建、调度和分配资源。处于虚拟化层之上的虚拟机相互隔离,需要相互访问或通信时需要由虚拟化层进行控制和管理。虚拟化技术从诞生至今,已衍生出多种相关技术与应用。虚拟化技术由于其自身隔离、访问和干预等特性,被广泛应用在在安全防护领域。这些特征使基于虚拟化架构的安全工具能够有效监控虚拟机内部状态,同时抵御受监控系统内部的攻击。总体来说,利用虚拟化技术将恶意程序监控系统放在独立的虚拟化环境中,负责对虚拟机的监控,可以做到有效抵御恶意程序的隐藏与攻击手段,并且易于升级和维护。对于虚拟化平台上的客户机来说,虚拟机状态的备份是一项重要需求,尤其是当虚拟机内部或所处平台遭遇攻击时,为保证虚拟机快速恢复到应有状态,需要在受到攻击的某一个或多个时刻进行状态备份,以便之后的快速达到正常运行状态。对虚拟机状态的备份存在多种对象,如虚拟磁盘、进程上下文、CPU等。常见的虚拟机备份通过快照、克隆等方式进行,备份后的存储主要是将目标数据复制到存储设备上。通常需要暂停虚拟机的运行,将内存作为文件进行备份,或通过动态迁移的方法实现内存备份。虚拟机的实时备份是解决备份检查点与虚拟机当前运行状态 ...
【技术保护点】
一种基于虚拟化技术的实时保存客户机中进程状态的方法,其步骤包括:1)将客户机中特定进程的PID通知给虚拟化监控层;2)在虚拟化监控层中监控进程调度,当特定进程被调度时客户机主动陷入虚拟化监控层,虚拟化监控层在客户机内存中的特定位置注入代码;3)客户机恢复执行后,执行注入的代码以完成进程状态的备份;4)通过注入的代码实现客户机的主动陷入,根据陷入的进程改变客户机当前进程的控制流;5)在需要恢复进程上下文时对代码注入的位置进行恢复,同时唤醒备份的进程状态。
【技术特征摘要】
1.一种基于虚拟化技术的实时保存客户机中进程状态的方法,其步骤包括:1)将客户机中特定进程的PID通知给虚拟化监控层;2)在虚拟化监控层中监控进程调度,当特定进程被调度时客户机主动陷入虚拟化监控层,虚拟化监控层在客户机内存中的特定位置注入代码;3)客户机恢复执行后,执行注入的代码以完成进程状态的备份;4)通过注入的代码实现客户机的主动陷入,根据陷入的进程改变客户机当前进程的控制流;5)在需要恢复进程上下文时对代码注入的位置进行恢复,同时唤醒备份的进程状态。2.如权利要求1所述的方法,其特征在于:虚拟化监控层收到客户机中特定进程的PID后,根据PID获得进程的task_struct结构,进而获取页目录表地址,即cr3寄存器的值;然后开启对cr3寄存器写操作的监控,当cr3寄存器被写入指定进程的页目录表地址时,则开始对客户机内存中特定位置注入代码。3.如权利要求1所述的方法,其特征在于:通过注入的代码实现系统调用的注入和客户机的主动陷入。4.如权利要求3所述的方法,其特征在于:通过int80指令实现系统调用的注入,通过int3指令实...
【专利技术属性】
技术研发人员:贾晓启,李津津,杜海超,白璐,武希耀,唐静,
申请(专利权)人:中国科学院信息工程研究所,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。