基于虚拟化环境下的安全防护方法及系统与流程

文档序号:12664809阅读:572来源:国知局
基于虚拟化环境下的安全防护方法及系统与流程

本发明涉及虚拟化技术领域,特别是涉及基于虚拟化环境下的安全防护方法及系统。



背景技术:

随着硬件虚拟化技术的广泛应用,在一台物理主机上可以同时运行多个操作系统,操作系统之间相互隔离,使得对硬件设施的管理更加有效、灵活和节约。例如:可以将资源占用率高的物理主机上的虚拟机迁移到一个资源占用率低的物理主机上,从而达到资源的合理分配;又或者将资源占用率低的物理主机上虚拟机全部迁移到其它物理主机上,并关闭本台物理主机从而来达到节能的效果。但是这样传统操作系统部署中面临的安全威胁问题,在虚拟化的部署过程中也会面临。

为了解决虚拟化环境下虚拟机安全的问题,传统的解决是在每台物理主机上的各个虚拟机中部署一套安全防护软件,从而达到与普通物理机上操作系统中安装的安全防护软件具有相同的功能。但在同一物理主机上的多个虚拟机中都部署一套安全防护产品,会造成对计算资源和存储资源的占用。为了减轻虚拟化环境中虚拟机重复部署安全防护软件造成的对计算资源和存储资源的占用,可采用一种轻代理的方式,轻代理方式是将安全防护软件中的大部分查询数据移到私有云或公有云中处理,虚拟机中只保留最低限度的安全引擎服务数据,但将安全防护软件中的数据移到云端服务器,虚拟机在进行安全引擎时,需要占用一定的网络带宽并对网络环境的响应速度有一定的要求。

使用无代理安全防护的方式可以解决上述在物理主机的各个虚拟机上都部署一套安全防护软件会造成资源的占用及采用轻代理方式会对网络环境有一定的要求的问题,但无代理安全防护方式是在物理主机的某一虚拟机上部署安全防护软件(该部署有安全防护软件的虚拟机为安全虚拟机),并为该物理主机上运行的各个虚拟机都配置各自的虚拟内存,各个虚拟内存都对应同一物理内存空间,这样当安全虚拟机对其它没有部署安全防护软件的虚拟机进行安全防护,而该被防护的虚拟机又要从当前物理主机迁移到其它物理主机时,这些被防护的虚拟机迁移到新的物理主机后,由于其自身不具备安全防护功能,且原来的物理主机上的安全虚拟机也不能继续对该被防护的虚拟机进行安全防护,因此安全防护将停止,这些被防护的虚拟机将重新面临安全威胁问题。



技术实现要素:

基于此,有必要针对传统的采用无代理安全防护方式的物理主机中被防护的虚拟机从一物理主机迁移到另一物理主机时将不能继续被防护问题,提供一种基于虚拟化环境下的安全防护方法及系统,能够使采用无代理安全防护方式的物理主机中的正在被防护的虚拟机进行迁移时,不间断地对该被防护的虚拟机进行安全防护。

为达到发明目的,提供一种基于虚拟化环境下的安全防护方法,所述方法包括:

当有虚拟机需要从其所在的源物理主机迁移到目的物理主机,且所述源物理主机的源安全虚拟机正在对需要迁移的迁移虚拟机执行安全防护事件时,所述迁移虚拟机从所述源安全虚拟机中获取所述安全防护事件的防护进度信息,并从所述源物理主机的源物理内存空间中获取所述安全防护事件对应的待防护数据;

当所述迁移虚拟机迁移到所述目的物理主机之后,所述迁移虚拟机将所述防护进度信息发送给所述目的物理主机的目的安全虚拟机,同时将所述待防护数据写入所述目的物理主机的目的物理内存空间;

所述目的安全虚拟机接收到所述防护进度信息后,根据所述防护进度信息对写入所述目的物理内存空间中的所述待防护数据继续进行安全防护。

在其中一个实施例中,所述当有虚拟机需要从其所在的源物理主机迁移到目的物理主机,且所述源物理主机的源安全虚拟机正在对需要迁移的迁移虚拟机执行安全防护事件时,所述迁移虚拟机从所述源安全虚拟机中获取所述安全防护事件的防护进度信息,并从所述源物理主机的源物理内存中获取所述安全防护事件对应的待防护数据的步骤包括:

当有虚拟机需要从其所在的源物理主机迁移到目的物理主机,且所述源物理主机的源安全虚拟机正在对需要迁移的所述迁移虚拟机执行安全防护事件时,所述迁移虚拟机向所述源安全虚拟机发送迁移暂停指令;

所述源安全虚拟机接收到所述迁移暂停指令后,停止对所述迁移虚拟机执行所述安全防护事件,并将所述安全防护事件的防护进度信息发送给所述迁移虚拟机;

所述迁移虚拟机接收所述防护进度信息,将所述防护进度信息保存在本地磁盘分区中,并从所述源物理内存空间中获取所述安全防护事件对应的待防护数据;

其中,所述待防护数据为被所述源安全虚拟机进行部分安全防护后的数据。

在其中一个实施例中,所述当所述迁移虚拟机迁移到所述目的物理主机之后,所述迁移虚拟机将所述防护进度信息发送给所述目的物理主机的目的安全虚拟机,同时将所述待防护数据写入所述目的物理主机的目的物理内存空间的步骤包括:

当所述迁移虚拟机迁移到所述目的物理主机之后,所述迁移虚拟机建立其与所述目的物理内存空间之间的映射关系;

所述迁移虚拟机根据所述映射关系将所述防护进度信息发送给所述目的安全虚拟机,并根据所述映射关系向所述目的物理内存空间中写入所述待防护数据。

在其中一个实施例中,在所述迁移虚拟机建立其与所述目的物理内存空间之间的映射关系的步骤之后,还包括:

所述迁移虚拟机根据所述防护进度信息和所述待防护数据在所述目的物理主机上生成迁移防护事件,并将所述迁移安全防护事件作为安全防护事件发送给所述目的安全虚拟机;

所述目的安全虚拟机接收所述迁移虚拟机发送的所述安全防护事件,由所述安全防护事件中提取所述安全防护事件的任务标识信息,并根据所述任务标识信息查询本地记录;

如果所述目的安全虚拟机查询到所述本地记录中存在与所述任务标识信息相同的本地任务标识信息,则确定所述安全防护事件不是所述迁移防护事件;

如果所述目的安全虚拟机查询到所述本地记录中不存在与所述任务标识信息相同的本地任务标识信息,则确定所述安全防护事件为所述迁移防护事件,并执行所述迁移虚拟机根据所述映射关系将所述防护进度信息发送给所述目的安全虚拟机,并根据所述映射关系向所述目的物理内存空间中写入所述待防护数据的步骤。

在其中一个实施例中,所述目的安全虚拟机接收到所述防护进度信息后,根据所述防护进度信息对写入所述目的物理内存空间中的所述待防护数据继续进行安全防护的步骤包括:

所述目的安全虚拟机接收所述防护进度信息,并由所述防护进度信息中提取未防护数据信息;

所述目的安全虚拟机根据所述未防护数据信息对写入所述目的物理内存空间中的所述待防护数据进行分析,得到所述待防护数据中的未防护数据;

所述目的安全虚拟机对所述未防护数据进行安全防护,并将安全防护的结果反馈给所述迁移后的虚拟机。

在其中一个实施例中,所述目的安全虚拟机接收到所述防护进度信息后,根据所述防护进度信息对写入所述目的物理内存空间中的所述待防护数据继续进行安全防护的步骤还包括:

所述目的安全虚拟机接收所述防护进度信息,并由所述防护进度信息中提取已防护数据信息;

所述目的安全虚拟机根据所述已防护数据信息对写入所述目的物理内存空间中的所述待防护数据进行分析,得到所述待防护数据中的已防护数据;

所述目的安全虚拟机将所述已防护数据从所述目的物理内存空间中删除。

本发明还提供一种基于虚拟化环境下的安全防护系统,所述系统至少包括源物理主机和目的物理主机,所述源物理主机中包括源安全虚拟机,所述目的物理主机中包括目的安全虚拟机,源物理主机中需要迁移的迁移虚拟机能够从所述源物理主机迁移到所述目的物理主机;所述迁移虚拟机包括获取模块和发送写入模块;所述目的安全虚拟机包括安全防护模块,其中:

所述获取模块,用于当有虚拟机需要从其所在的所述源物理主机迁移到所述目的物理主机,且所述源物理主机的源安全虚拟机正在对需要迁移的迁移虚拟机执行安全防护事件时,从所述源安全虚拟机中获取所述安全防护事件的防护进度信息,并从所述源物理主机的源物理内存空间中获取所述安全防护事件对应的待防护数据;

所述发送写入模块,用于当所述迁移虚拟机迁移到所述目的物理主机之后,将所述防护进度信息发送给所述目的物理主机的目的安全虚拟机,同时将所述待防护数据写入所述目的物理主机的目的物理内存空间;

所述安全防护模块,用于在所述目的安全虚拟机接收到所述防护进度信息后,根据所述防护进度信息对写入所述目的物理内存空间中的所述待防护数据继续进行安全防护。

在其中一个实施例中,所述获取模块包括:

指令发送单元,用于当有虚拟机需要从其所在的源物理主机迁移到目的物理主机,且所述源物理主机的源安全虚拟机正在对需要迁移的所述迁移虚拟机执行安全防护事件时,向所述源安全虚拟机发送迁移暂停指令;

接收保存单元,用于在所述源安全虚拟机根据所述迁移暂停指令停止执行所述安全防护事件后,接收所述源安全虚拟机反馈的所述安全防护事件的防护进度信息,并将所述防护进度信息保存在本地磁盘分区中;

获取单元,用于从所述源物理内存空间中获取所述安全防护事件对应的待防护数据,其中,所述待防护数据为被所述源安全虚拟机进行部分安全防护后的数据。

在其中一个实施例中,所述发送写入模块包括:

建立单元,用于当所述迁移虚拟机迁移到所述目的物理主机之后,建立其与所述目的物理内存空间之间的映射关系;

发送写入单元,用于根据所述映射关系将所述防护进度信息发送给所述目的安全虚拟机,并根据所述映射关系向所述目的物理内存空间中写入所述待防护数据。

在其中一个实施例中,所述发送写入模块还包括:

生成单元,用于在所述迁移虚拟机建立其与所述目的物理内存空间之间的映射关系之后,根据所述防护进度信息和所述待防护数据在所述目的物理主机上生成迁移防护事件,并将所述迁移安全防护事件作为安全防护事件发送给所述目的安全虚拟机;

查询结果接收单元,用于在所述目的安全虚拟机根据所述安全防护事件中的任务标识信息查询本地记录后,接收所述目的安全虚拟机的查询结果;查询结果包括如果所述目的安全虚拟机查询到所述本地记录中存在与所述任务标识信息相同的本地任务标识信息,则确定所述安全防护事件不是所述迁移防护事件;如果所述目的安全虚拟机查询到所述本地记录中不存在与所述任务标识信息相同的本地任务标识信息,则确定所述安全防护事件为所述迁移防护事件。

在其中一个实施例中,所述安全防护模块包括:

提取单元,用于接收所述防护进度信息,并由所述防护进度信息中提取未防护数据信息和已防护数据信息;

分析单元,用于根据所述未防护数据信息和所述已防护数据信息对写入所述目的物理内存空间中的所述待防护数据进行分析,得到所述待防护数据中的未防护数据和未防护数据;

安全防护单元,用于对所述未防护数据进行安全防护,并将安全防护的结果反馈给所述迁移后的虚拟机;

删除单元,用于将所述已防护数据从所述目的物理内存空间中删除。

本发明的有益效果包括:

上述基于虚拟化环境下的安全防护方法及系统,当某一物理主机上运行的正在被防护的虚拟机进行迁移时,该虚拟机作为迁移虚拟机从其所在的物理主机的源安全虚拟机中获取源安全虚拟机执行安全防护事件的防护进度信息,同时获取其所在的物理主机的物理内存空间中的待防护数据,待该迁移虚拟机迁移到目的物理主机上时,该迁移虚拟机将防护进度信息传送给目的物理主机的安全虚拟机,同时将待防护数据写入该目的物理主机的物理内存空间中,从而使得目的物理主机中的安全虚拟机根据防护进度信息继续对该迁移虚拟机进行安全防护,从而实现虚拟机迁移过程中的不间断安全防护,保证虚拟机在迁移过程中的安全性。

附图说明

图1为一个实施例中的部署一个安全虚拟机的物理主机的结构示意图;

图2为一个实施例中的基于虚拟化环境下的安全防护方法的流程示意图;

图3为一个实施例中的基于虚拟化环境下的安全防护系统中虚拟机迁移的过程示意图;

图4为一个实施例中的基于虚拟化环境下的安全防护系统的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明基于虚拟化环境下的安全防护方法及系统进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

在一个实施例中,如图1、图2所示,提供了一种基于虚拟化环境下的安全防护方法,该方法包括以下步骤:

S100,当有虚拟机需要从其所在的源物理主机迁移到目的物理主机,且源物理主机的源安全虚拟机正在对需要迁移的迁移虚拟机执行安全防护事件时,迁移虚拟机从源安全虚拟机中获取安全防护事件的防护进度信息,并从源物理主机的源物理内存空间中获取安全防护事件对应的待防护数据。

S200,当迁移虚拟机迁移到目的物理主机之后,迁移虚拟机将防护进度信息发送给目的物理主机的目的安全虚拟机,同时将待防护数据写入目的物理主机的目的物理内存空间。

S300,目的安全虚拟机接收到防护进度信息后,根据防护进度信息对写入目的物理内存空间中的待防护数据继续进行安全防护。

其中,上述方法中至少包括两个物理主机,且每个物理主机均基于“无代理安全防护机制”,参见图1,该无代理安全防护机制指的是:一个物理主机上部署有多个虚拟机,每个虚拟机均对应有各自的虚拟内存,各个虚拟内存对应同一物理内存空间,多个虚拟机中有预设个数的虚拟机为安全虚拟机,其余的为没有配置安全防护软件的普通虚拟机。即同一物理主机中的多个虚拟机共享同一物理内存空间。优选的,任选多个虚拟机中的一个为安全虚拟机。该无代理安全防护机制由于每个虚拟机的虚拟内存对应同一物理内存空间,即相当于各个虚拟机共享一个物理内存空间,这样多个虚拟机之间便可通过该物理内存空间实现相互之间的直接通信,且多个虚拟机中有虚拟机被配置为安全虚拟机,即从多个虚拟机中选择出预设个数的虚拟机将之配置安全防护软件,例如:选择资源占用率低或物理资源大的一个、两个或多个虚拟机作为安全虚拟机,从而实现安全虚拟机对其它非安全虚拟机的安全防护。其中,事件管理器相当于是运行在VMM(Virtual Machine Monitor,虚拟机监管器)层的一个软件,用于实现同一物理主机内各个虚拟机之间的安全防护事件及数据的传输,其相当于各个虚拟机之间的通信管道。虚拟内存利用传统的仿真软件(qemu,一种开源的仿真软件)将VMM层中的一段存储空间仿真得到。VMM用于对各个虚拟机进行规划、部署、管路和优化,实现各个虚拟机的调度,VMM在调度各个虚拟机时将各个虚拟机作为一个调度单元,按照时间片轮询方式调度。

本实施例中的基于虚拟化环境下的安全防护方法,在其中一个物理主机上运行的虚拟机需要迁移到另一物理主机,而该虚拟机作为迁移虚拟机正在被其所在的物理主机上部署的安全虚拟机执行安全防护事件时,该迁移虚拟机会从其所在的物理主机的源安全虚拟机中获取防护进度信息,这样当该迁移虚拟机迁移到另一物理主机时,该防护进度信息也随该迁移虚拟机一起迁移到目的物理主机中,该迁移虚拟机将防护进度信息发送给目的物理主机的目的安全虚拟机,同时将从上述源物理内存空间中获取的待防护数据写入目的物理主机的目的物理内存空间中,从而使目的安全虚拟机能够根据防护进度信息继续对待防护数据进行安全防护,从而实现虚拟机迁移过程中不间断地进行安全防护,保证虚拟机在迁移过程中的安全性。

需要说明的是,该防护进度信息中包括安全防护事件的任务标识信息、以及安全防护事件对应的待防护数据的文件数量信息、起始信息,已防护标签信息等。其中,任务标识信息包括任务ID(identification,身份)信息。根据已防护标签信息可以容易地得到从源物理内存空间中获取的待防护数据的已防护数据和未防护数据。任务标识信息可以唯一的确定安全防护事件是哪一个。安全虚拟机迁移时与传统的安装有安全防护软件的虚拟机相同,此处不再赘述。

在一个实施例中,步骤S100包括:

S110,当有虚拟机需要从其所在的源物理主机迁移到目的物理主机,且源物理主机的源安全虚拟机正在对需要迁移的迁移虚拟机执行安全防护事件时,迁移虚拟机向所述源安全虚拟机发送迁移暂停指令。

S120,源安全虚拟机接收到迁移暂停指令后,停止对迁移虚拟机执行安全防护事件,并将安全防护事件的防护进度信息发送给迁移虚拟机。

S130,迁移虚拟机接收防护进度信息,将防护进度信息保存在本地磁盘分区中,并从源物理内存空间中获取安全防护事件对应的待防护数据;其中,待防护数据为被源安全虚拟机进行部分安全防护后的数据。

当源物理主机接收到迁移任务时,该迁移任务中包括迁移对象,即将要执行迁移任务的虚拟机,以及该迁移虚拟机将要迁移到的目的物理主机。在源物理主机根据迁移任务得知迁移虚拟机后,通知迁移虚拟机执行迁移任务。如果该迁移虚拟机正在被源物理主机上的源安全虚拟机执行安全防护事件时,迁移虚拟机向该源安全虚拟机发送一个迁移暂停指令,从而通知该源安全虚拟机停止对该迁移虚拟机执行安全防护事件,避免不必要的安全防护,减少对源物理主机的内存的占用。同时,该源安全虚拟机将其执行的安全防护事件的防护进度信息发送给迁移虚拟机,迁移虚拟机接收到防护进度信息后,保存在本地磁盘分区中,以便于在将迁移虚拟机迁移到目的物理主机上时,将防护进度信息同时迁移到目的物理主机上。将防护进度信息存在本地磁盘分区中,是指将防护进度信息保存在迁移虚拟机所在磁盘的分区中,驱动程序能够访问的位置,方便迁移虚拟机迁移时防护进度信息随其一起迁移。

优选地,在迁移虚拟机接收源安全虚拟机发送的防护进度信息的同时,迁移虚拟机还从物理内存空间中获取安全防护事件对应的待防护数据,该待防护数据为源安全虚拟机进行部分安全防护后的数据。这样可以有效避免将没有部分安全防护的待防护数据(迁移虚拟机写入源物理内存空间之前的待防护数据)写入到目的物理内存空间时,目的安全虚拟机对源安全虚拟机已防护的数据重复防护的资源浪费。更优地,以快照的方式从源物理内存空间中获取待防护数据,即对源物理内存空间中的待防护数据创建快照,当需要在目的物理内存空间中恢复待防护数据时,利用快照将源物理内存空间中的待防护数据恢复到目的物理内存空间中。利用快照功能将待防护数据从源物理内存空间中复制到目的物理内存空间中,简单方便,易于实现,且节省迁移时对存储资源的占用。

在一个实施例中,步骤S200包括:

S210,当迁移虚拟机迁移到目的物理主机之后,迁移虚拟机建立其与目的物理内存空间之间的映射关系。

S220,迁移虚拟机根据映射关系将防护进度信息发送给目的安全虚拟机,并根据映射关系向目的物理内存空间中写入待防护数据。

当迁移虚拟机迁移到目的物理主机后,其在目的物理主机上相对于其他的虚拟机是一个独立的系统,与其它虚拟机是相互隔离的,没有数据交互的功能。因此,需要建立该迁移虚拟机在目的物理主机上与其它虚拟机的通信功能。具体地,建立迁移虚拟机的虚拟内存与目的物理主机的目的物理内存空间的映射关系,由于该目的物理内存空间已与该目的物理主机的其它虚拟机的虚拟内存存在相应的映射关系,因此,建立迁移虚拟机的虚拟内存与目的物理内存空间之间的映射关系后,便能实现该迁移虚拟机与该目的物理主机上其它虚拟共享同一物理内存空间的目的。其中,该目的物理内存空间是在目的物理主机的物理内存中划分出一块内存作为各个虚拟机的共享内存空间。虚拟机的虚拟内存是使用传统的仿真软件(qemu,一种开源的仿真软件)将VMM(Virtual Machine Monitor,虚拟机监管器)层中的一段存储空间仿真得到的,其用于缓存各个虚拟机的待防护数据。同一物理主机上的各个虚拟机通过物理内存空间实现相互之间的数据交互,使得各个虚拟机之间从外部看起来是相互透明的。

在步骤S210之后,迁移虚拟机便可根据其与目的物理内存空间之间的映射关系将迁移虚拟机迁移时带来的待防护数据的防护进度信息发送给目的安全虚拟机,同时将其迁移时带来的待防护数据写入目的物理内存空间中,这样安全虚拟机便可根据防护进度信息对待防护数据继续执行安全防护,实现虚拟机迁移过程中安全防护的不间断进行。

进一步地,在步骤S210之后,包括:

S210a,迁移虚拟机根据防护进度信息和待防护数据在目的物理主机上生成迁移防护事件,并将迁移安全防护事件作为安全防护事件发送给目的安全虚拟机。

S210b,目的安全虚拟机接收迁移虚拟机发送的安全防护事件,由安全防护事件中提取安全防护事件的任务标识信息,并根据任务标识信息查询本地记录。

S210c,如果目的安全虚拟机查询到所述本地记录中存在与任务标识信息相同的本地任务标识信息,则确定安全防护事件不是迁移防护事件。

S210d,如果目的安全虚拟机查询到本地记录中不存在与任务标识信息相同的本地任务标识信息,则确定安全防护事件为所述迁移防护事件,并执行步骤S220。

在迁移虚拟机与目的物理主机的目的内存空间建立映射关系之后,在同一物理主机中连通各个虚拟机之间的事件管理器只负责事件的传输,因此需要根据待防护数据和防护进度信息生成迁移防护事件,并通过事件管理器将迁移防护事件从迁移虚拟机传输到目的安全虚拟机,从而实现将待防护数据对应的安全防护事件的防护进度信息传递给目的安全虚拟机。建立迁移虚拟机与目的物理内存空间之间的映射关系后,迁移虚拟机上除了会产生迁移防护事件外,还可能产生其他的安全防护事件,例如:虚拟机的驱动单元捕获到的安全防护事件(网址访问、文件修改等)或安全虚拟机根据扫描任务发送的安全防护事件。如果安全防护事件是在本地(目的物理主机)产生的,则该安全防护事件在产生时本地记录中会记录其标识信息,否则则本地记录中没有该安全防护事件的标识信息。这样,当迁移虚拟机将迁移防护事件(在目的物理主机上也看成一安全防护事件)和其在本地产生的安全防护事件都发送给目的安全虚拟机时,目的安全虚拟机需要先判断该安全防护事件是否是迁移防护事件,如果接收到的安全防护事件是迁移防护事件,则目的安全虚拟机则可根据该迁移防护事件的防护进度信息对写入目的物理内存空间的待防护数据进行安全防护,从而实现虚拟机迁移时安全防护事件的不间断执行,目的安全虚拟机确认接收到的安全防护事件是否为迁移防护事件,能够进一步地确保迁移防护事件能够顺利进行,进一步保证虚拟机的安全性。如果目的安全虚拟机接收到的安全防护事件不是迁移防护事件,则按照一般的安全防护事件进行安全防护,保证迁移虚拟机的安全性。

在一个实施例中,步骤S300包括:

S310,目的安全虚拟机接收防护进度信息,并由防护进度信息中提取未防护数据信息。

S320,目的安全虚拟机根据未防护数据信息对写入目的物理内存空间中的待防护数据进行分析,得到待防护数据中的未防护数据。

S330,目的安全虚拟机对未防护数据进行安全防护,并将安全防护的结果反馈给迁移后的虚拟机。

进一步地,步骤S300还包括:

S310′,目的安全虚拟机接收防护进度信息,并由防护进度信息中提取已防护数据信息。

S320′,目的安全虚拟机根据已防护数据信息对写入目的物理内存空间中的待防护数据进行分析,得到待防护数据中的已防护数据。

S330′,目的安全虚拟机将已防护数据从目的物理内存空间中删除。

上述两个实施例为步骤S300的两个具体实施例,其中,对待防护数据中的未防护数据进行安全防护是必要的步骤,其能够减少目的安全虚拟机对已防护数据重复防护时对资源的占用,并且还能提高对待防护数据的防护效率,高效准确且节省资源。而获得待防护数据中的已防护数据,并将已防护数据从目的物理内存空间中删除,可以有效减少已防护数据为物理内存空间的占用,提高防护效率。

在一个具体的实施例中,目的安全虚拟机可以根据防护进度信息获得待防护数据中的已防护数据,将已防护数据从目的物理内存空间中删除,然后再对剩下的未防护数据进行安全防护。这样可以简化目的安全虚拟机的安全防护过程。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

在一个实施例中,如图3、4所示,还提供了一种基于虚拟化环境下的安全防护系统,该系统至少包括源物理主机和目的物理主机,源物理主机中包括源安全虚拟机,目的物理主机中包括目的安全虚拟机,源物理主机中需要迁移的迁移虚拟机能够从源物理主机迁移到目的物理主机;迁移虚拟机包括获取模块100和发送写入模块200;目的安全虚拟机包括安全防护模块300。其中:

获取模块100,,用于当有虚拟机需要从其所在的源物理主机迁移到目的物理主机,且源物理主机的源安全虚拟机正在对需要迁移的迁移虚拟机执行安全防护事件时,从源安全虚拟机中获取安全防护事件的防护进度信息,并从源物理主机的源物理内存空间中获取安全防护事件对应的待防护数据。发送写入模块200,用于当迁移虚拟机迁移到目的物理主机之后,将防护进度信息发送给目的物理主机的目的安全虚拟机,同时将待防护数据写入目的物理主机的目的物理内存空间。安全防护模块300,在用于在目的安全虚拟机接收到防护进度信息后,根据防护进度信息对写入目的物理内存空间中的待防护数据继续进行安全防护。

本实施例中的基于虚拟化环境下的安全防护系统,当某一物理主机上运行的正在被防护的虚拟机进行迁移时,该虚拟机作为迁移虚拟机从其所在的物理主机的源安全虚拟机中获取源安全虚拟机执行安全防护事件的防护进度信息,同时获取其所在的物理主机的物理内存空间中的待防护数据,待该迁移虚拟机迁移到目的物理主机上时,该迁移虚拟机将防护进度信息传送给目的物理主机的安全虚拟机,同时将待防护数据写入该目的物理主机的物理内存空间中,从而使得目的物理主机中的安全虚拟机根据防护进度信息继续对该迁移虚拟机进行安全防护,从而实现虚拟机迁移过程中的不间断安全防护,保证虚拟机在迁移过程中的安全性。

在一个实施例中,获取模块100包括:指令发送单元110,用于当有虚拟机需要从其所在的源物理主机迁移到目的物理主机,且源物理主机的源安全虚拟机正在对需要迁移的迁移虚拟机执行安全防护事件时,向源安全虚拟机发送迁移暂停指令。接收保存单元120,用于在源安全虚拟机根据迁移暂停指令停止执行安全防护事件后,接收源安全虚拟机反馈的安全防护事件的防护进度信息,并将防护进度信息保存在本地磁盘分区中。获取单元130,用于从源物理内存空间中获取安全防护事件对应的待防护数据,其中,待防护数据为被源安全虚拟机进行部分安全防护后的数据。

在一个实施例中,发送写入模块200包括:建立单元210,用于当迁移虚拟机迁移到目的物理主机之后,建立其与目的物理内存空间之间的映射关系。发送写入单元220,用于根据映射关系将防护进度信息发送给目的安全虚拟机,并根据映射关系向目的物理内存空间中写入待防护数据。

在一个实施例中,发送写入模块200还包括:生成单元210a,用于在迁移虚拟机建立其与目的物理内存空间之间的映射关系之后,根据防护进度信息和待防护数据在目的物理主机上生成迁移防护事件,并将迁移安全防护事件作为安全防护事件发送给目的安全虚拟机。查询结果接收单元210b,用于在目的安全虚拟机根据安全防护事件中的任务标识信息查询本地记录后,接收目的安全虚拟机的查询结果;查询结果包括如果目的安全虚拟机查询到本地记录中存在与任务标识信息相同的本地任务标识信息,则确定安全防护事件不是迁移防护事件;如果目的安全虚拟机查询到本地记录中不存在与任务标识信息相同的本地任务标识信息,则确定安全防护事件为迁移防护事件。

在一个实施例中,安全防护模块300包括:提取单元310,用于接收防护进度信息,并由防护进度信息中提取未防护数据信息和已防护数据信息。分析单元320,用于根据未防护数据信息和已防护数据信息对写入目的物理内存空间中的待防护数据进行分析,得到待防护数据中的未防护数据和未防护数据。安全防护单元330,用于对未防护数据进行安全防护,并将安全防护的结果反馈给迁移后的虚拟机。删除单元340,用于将已防护数据从目的物理内存空间中删除。

由于此系统解决问题的原理与前述一种基于虚拟化环境下的安全防护方法相似,因此该系统的实施可以参见前述方法的实施,重复之处不再赘述。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1