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

文档序号:12664815阅读:169来源:国知局
基于虚拟化环境下的数据防护方法及系统与流程

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



背景技术:

在虚拟化环境下通过无代理安全防护的方式可以不用在每台虚拟机上安装安全防护软件,而是通过在每台物理主机上部署一台安装有安全防护软件的虚拟机(安全虚拟机)来实现对同一物理主机上的所有虚拟机进行安全防护。当安全虚拟机对其所在的物理主机上的其它虚拟机进行安全防护时,会对携带有病毒信息的待防护数据(文件)进行删除修改等查杀操作,而为了保存待防护数据又需要对待防护数据进行备份,传统的对待防护数据的备份为了节省安全虚拟机的本地磁盘资源,是将原始的待防护数据备份在虚拟机上,这样在安全虚拟机返回查杀处理后的数据时,还需将原始的待防护数据也返回到相应的虚拟机上,而回传原始的待防护数据显然会增加回写数据量,占用查杀处理时间,降低安全虚拟机对待防护数据的查杀性能。



技术实现要素:

基于此,有必要针对传统的数据备份方法容易降低查杀性能的问题,提供一种减少对查杀处理时间的占用、提高查杀性能的基于虚拟化环境下的数据防护方法及系统。

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

虚拟机根据安全防护事件生成所述安全防护事件对应的待防护数据,并将所述待防护数据通过物理内存空间传送给同一物理主机中的安全虚拟机;

所述安全虚拟机对所述待防护数据进行检测,并在检测到所述待防护数据中存在病毒信息时,将所述待防护数据进行备份,得到原始待防护数据和备份待防护数据;

所述安全虚拟机对所述备份待防护数据进行查杀处理,得到查杀处理后的安全数据,并将所述安全数据通过所述物理内存空间回写给所述虚拟机;

所述安全虚拟机对所述原始待防护数据进行加密处理,得到加密处理后的加密数据,并将所述加密数据写入到本地隔离区。

在其中一个实施例中,所述安全虚拟机对所述备份待防护数据进行查杀处理,得到查杀处理后的安全数据,并将所述安全数据通过所述物理内存空间回写给所述虚拟机步骤包括:

所述安全虚拟机将所述病毒信息从所述备份待防护数据中删除,得到所述安全数据;

所述安全虚拟机由所述安全防护事件中提取生成所述待防护数据的虚拟机的标记信息;

所述安全虚拟机根据所述标记信息向所述虚拟机发送查杀完成事件,并将所述安全数据写入所述物理内存空间中。

在其中一个实施例中,所述安全虚拟机根据所述标记信息向所述虚拟机发送查杀完成事件,并将所述安全数据写入所述物理内存空间中的步骤之后,还包括:

所述虚拟机接收到所述查杀完成事件后,从所述物理内存空间中读取所述安全数据,并输出安全提醒信息。

在其中一个实施例中,所述安全虚拟机对所述原始待防护数据进行加密处理,得到加密处理后的加密数据,并将所述加密数据写入到本地隔离区的步骤包括:

所述安全虚拟机由所述安全防护事件中提取发生所述安全防护事件的虚拟机的标记信息以及所述安全防护事件发生的时间信息;

所述安全虚拟机获取所述原始待防护数据的空间占用大小信息,以及所述原始待防护数据在所述虚拟机中的路径信息;

所述安全虚拟机根据所述标记信息、所述时间信息、所述空间占用大小信息和所述路径信息生成所述原始待防护数据的唯一标识符,使用所述唯一标识符对所述原始待防护数据进行加密处理,并将所述加密处理后的所述加密数据写入所述本地隔离区。

在其中一个实施例中,所述方法还包括:

所述安全虚拟机在对所述备份待防护数据进行查杀处理得到所述安全数据时,获取对所述备份待防护数据进行查杀处理的查杀信息;

所述安全虚拟机在对所述原始待防护数据进行加密处理得到所述加密数据时,获取对所述原始待防护数据进行加密处理时的隔离信息;

所述安全虚拟机将所述查杀信息和所述隔离信息上传至日志中心

本发明还提供一种基于虚拟化环境下的数据防护系统,所述系统包括物理主机,所述物理主机上部署有虚拟机和安全虚拟机;所述虚拟机包括生成传送模块,所述安全虚拟机包括备份模块,查杀模块和加密隔离模块,其中:

所述生成传送模块,用于根据安全防护事件生成所述安全防护事件对应的待防护数据,并将所述待防护数据通过物理内存空间传送给同一物理主机中的安全虚拟机;

所述备份模块,用于对所述待防护数据进行检测,并在检测到所述待防护数据中存在病毒信息时,将所述待防护数据进行备份,得到原始待防护数据和备份待防护数据;

所述查杀模块,用于对所述备份待防护数据进行查杀处理,得到查杀处理后的安全数据,并将所述安全数据通过所述物理内存空间回写给所述虚拟机;

所述加密隔离模块,用于对所述原始待防护数据进行加密处理,得到加密处理后的加密数据,并将所述加密数据写入到本地隔离区。

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

查找删除单元,用于将所述病毒信息从所述备份待防护数据中删除,得到所述安全数据;

第一提取单元,用于由所述安全防护事件中提取生成所述待防护数据的虚拟机的标记信息;

发送写入单元,用于根据所述标记信息向所述虚拟机发送查杀完成事件,并将所述安全数据写入所述物理内存空间中。

在其中一个实施例中,所述虚拟机还包括:

读取输出模块,用于接收到所述查杀完成事件后,从所述物理内存空间中读取所述安全数据,并输出安全提醒信息。

在其中一个实施例中,所述加密隔离模块包括:

第二提取单元,用于由所述安全防护事件中提取发生所述安全防护事件的虚拟机的标记信息以及所述安全防护事件发生的时间信息;

获取单元,用于获取所述原始待防护数据的空间占用大小信息,以及所述原始待防护数据在所述虚拟机中的路径信息;

加密隔离单元,用于根据所述标记信息、所述时间信息、所述空间占用大小信息和所述路径信息生成所述原始待防护数据的唯一标识符,使用所述唯一标识符对所述原始待防护数据进行加密处理,并将所述加密处理后的所述加密数据写入所述本地隔离区。

在其中一个实施例中,所述安全虚拟机还包括:

第一获取模块,用于在对所述备份待防护数据进行查杀处理得到所述安全数据时,获取对所述备份待防护数据进行查杀处理的查杀信息;

第二获取模块,用于在对所述原始待防护数据进行加密处理得到所述加密数据时,获取对所述原始待防护数据进行加密处理时的隔离信息;

上传模块,用于将所述查杀信息和所述隔离信息上传至日志中心。

本发明的有益效果包括:

上述基于虚拟化环境下的数据防护方法及系统,安全虚拟机对虚拟机发送的待防护数据进行备份,得到备份待防护数据和原始待防护数据,安全虚拟机对备份待防护数据进行查杀处理,查杀处理后的数据作为安全数据回写给虚拟机,同时对原始待防护数据进行加密处理,得到加密的原始待防护数据后写入到安全虚拟机的本地隔离区,由于其只将查杀处理后的安全数据回写到发生安全防护事件的虚拟机,而将原始待防护数据加密后保存在安全虚拟机的本地隔离区中,即没有将加密后的原始待防护数据回写给虚拟机,因此,回写的数据量明显减少,从而减少了因为回写数据量大对查杀处理时间的占用,提高了安全虚拟机对待防护数据的查杀性能。

附图说明

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

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

图3为另一个实施例中的基于虚拟化环境下的数据防护方法的流程示意图;

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

具体实施方式

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

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

S100,虚拟机根据安全防护事件生成所述安全防护事件对应的待防护数据,并将待防护数据通过物理内存空间传送给同一物理主机中的安全虚拟机。

S200,安全虚拟机对待防护数据进行检测,并在检测到待防护数据中存在病毒信息时,将待防护数据进行备份,得到原始待防护数据和备份待防护数据。

S300,安全虚拟机对备份待防护数据进行查杀处理,得到查杀处理后的安全数据,并将安全数据通过物理内存空间回写给虚拟机。

S400,安全虚拟机对原始待防护数据进行加密处理,得到加密处理后的加密数据,并将加密数据写入到本地隔离区。

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

物理主机中的各个虚拟机在执行安全防护事件时,需要将安全防护事件对应的待防护数据进行一定的备份,以供恢复原始待防护数据,如:当安全防护软件对其认为携带有病毒信息的待防护数据进行查杀处理后,用户需要使用该待防护数据且确定该待防护数据为安全的情况下,则可利用备份的原始待防护数据进行恢复。传统的基于无代理安全防护机制下的物理主机中的虚拟机在执行安全防护事件时,需要将安全防护事件对应的待防护数据在安全虚拟机中进行备份和查杀,并把查杀后的安全数据和原始待防护数据加密后都回写给相应的虚拟机,从而将原始待防护数据保存在虚拟机上,这样安全虚拟机在回写查杀后的安全数据时还需回写加密的原始待防护数据,虚拟机接收到查杀后的安全数据和加密的原始待防护数据后保存在同一文件中,待安全虚拟机将安全数据和加密数据全部回写完后,虚拟机中还必须存在轻代理程序将安全数据和加密的原始待防护数据进行二次隔离处理,二次隔离处理不仅增加了不必要的处理过程,而且也增加了出错的概率,由于在虚拟机中还需进行二次隔离处理的过程,因此对虚拟机来讲,安全虚拟机返回查杀处理后的安全数据的时间并不是查杀处理完成的时间(二次隔离处理后才是查杀处理完成的时间),其存在一定的查杀延时,进一步降低了安全虚拟机的查杀性能。

本实施例中的基于虚拟化环境下的数据防护方法,当虚拟机捕获到安全防护事件或接收到安全虚拟机根据主动扫描任务发送的安全防护事件后,会根据安全防护事件生成该安全防护事件对应的待防护数据,并将生成的待防护数据写入到其与同一物理主机中的安全虚拟机共享的物理内存空间中,安全虚拟机可以直接访问该物理内存空间,从而将待防护数据从该物理内存空间中读取,安全虚拟机对其读取的待防护数据进行检测,并在检测到该待防护数据中存在病毒信息(蠕虫、木马等)时,对该待防护数据进行备份,如:将待防护数据进行复制、镜像等操作得到两份相同的待防护数据,其中一份作为原始待防护数据,另一份作为备份待防护数据,并对备份待防护数据进行查杀处理,查杀处理后的数据作为安全数据回写给上述虚拟机,同时对原始待防护数据进行加密处理,得到加密的原始待防护数据,为了便于描述,此处称为加密数据,将加密数据写入到安全虚拟机的本地隔离区。在本实施例中,由于安全虚拟机只将查杀处理后的安全数据回写到发生安全防护事件的虚拟机,而将原始待防护数据加密后保存在本地隔离区中,即没有将加密后的原始待防护数据回写给虚拟机,因此,回写的数据量明显减少,从而减少了因为回写数据量大对查杀处理时间的占用,提高了安全虚拟机对待防护数据的查杀性能。

值得说明的是,上述实施例中的加密处理过程能够使原始待防护数据不会再次被查杀,否则原始待防护数据将一直处于被查杀状态,就无法利用该原始待防护数据进行后续的恢复。在一个实施例中,安全虚拟机对待防护数据进行检测,如果检测到该待防护数据中不存在病毒信息时,直接向虚拟机反馈安全事件,即告知虚拟机当前安全防护事件对应的待防护数据是安全的,这样可以减少非必要的查杀过程,提高虚拟机及物理主机的处理性能。

此处需要说明的是,上述实施例中是对备份待防护数据进行查杀处理,对原始待防护数据进行加密处理,由于备份待防护数据和原始待防护数据实质内容是一样的,因此不存在处理对象上的限制,即在另一个实施例中,可以对原始待防护数据进行查杀处理,然后对备份待防护数据进行加密处理。

在一个实施例中,参见图3,步骤S300包括:

S310,安全虚拟机将病毒信息从备份待防护数据中删除,得到安全数据。

S320,安全虚拟机由安全防护事件中提取生成待防护数据的虚拟机的标记信息。

S330,安全虚拟机根据标记信息向虚拟机发送查杀完成事件,并将安全数据写入物理内存空间中。

S340,虚拟机接收到查杀完成事件后,从所述物理内存空间中读取安全数据,并输出安全提醒信息。

上述实施例为安全虚拟机对备份待防护数据进行查杀处理的具体实施方式,安全虚拟机将病毒信息从备份待防护数据中删除后得到安全数据,在将安全数据回写时,由于同一物理主机中一般存在多个虚拟机,为了避免将安全数据回写给其他虚拟机(不是生成待防护数据的虚拟机)的情况,通常由安全防护事件中提取生成待防护数据的虚拟机的标记信息,根据标记信息向该虚拟机发送查杀完成事件,并将安全数据写入到物理内存空间中,虚拟机接收到查杀完成事件后,知道安全虚拟机已经将查杀完成后的安全数据写入物理内存空间中,从而从物理内存空间中读取该安全数据,完成安全数据的回写。由于其只将查杀处理后的安全数据回写给相应的虚拟机,因此可以减少回写的数据量,进而减少对查杀事件的占用,提高安全虚拟机的查杀性能。

进一步地,虚拟机接收到查杀完成事件之后,输出安全提醒信息,以告知用户安全防护事件对应的待防护数据已处于安全状态,可以利用这些数据执行后续事件。优选地,在一个实施例中,安全提醒信息以弹窗的形式输出。

值得说明的是,当安全虚拟机对待防护数据进行检测,在检测到该待防护数据不存在病毒信息,直接向虚拟机反馈安全事件时,也可输出安全提醒信息。

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

S410,安全虚拟机由安全防护事件中提取发生安全防护事件的虚拟机的标记信息以及安全防护事件发生的时间信息。

S420,安全虚拟机获取原始待防护数据的空间占用大小信息,以及原始待防护数据在虚拟机中的路径信息。

S430,安全虚拟机根据标记信息、时间信息、空间占用大小信息和路径信息生成原始待防护数据的唯一标识符,使用唯一标识符对原始待防护数据进行加密处理,并将加密处理后的加密数据写入本地隔离区。

上述实施例为安全虚拟机对原始待防护数据进行加密、隔离的具体实施方式。本实施例中,在对原始待防护数据进行加密时,根据原始待防护数据的空间占用大小信息、原始待防护数据所属虚拟机的标记信息、对应的安全防护事件发生的时间信息以及其在虚拟机中的路径信息生成标记原始待防护数据的唯一标识符,并利用该唯一标识符对原始待防护数据进行加密处理,加密处理后的加密数据将不能被安全防护进行查杀,因此不构成任何威胁,最后将加密数据写入到安全虚拟机的本地隔离区中进行隔离,即任何程序将不能使用该隔离的加密数据。

需要说明的是,在物理主机中,数据通常是以文件的形式存储的,使用唯一标识符对原始待防护数据进行加密处理是以唯一标识符为文件命名,命名后的文件存入安全虚拟机的本地隔离区中。

在一个实施例中,安全虚拟机采用哈希算法将标记信息、时间信息、空间占用大小信息和路径信息生成原始待防护数据的唯一标识符。优选地,采用MD5算法(Message Digest Algorithm MD5,消息摘要算法)生成唯一标识符。哈希算法可以把任意长度的字符串经过运算生成固定长度的字符串,这个字符串中代表着原来字符串中的所有字符。MD5算法能够将任意长度的字符串计算成一个32位的字符串作为唯一标识符,计算后不同数据的唯一标识符相同的概率极低。

在一个实施例中,参见图3,该方法还包括:

S301,安全虚拟机在对备份待防护数据进行查杀处理得到安全数据时,获取对备份待防护数据进行查杀处理的查杀信息。

S402,安全虚拟机在对原始待防护数据进行加密处理得到加密数据时,获取对原始待防护数据进行加密处理时的隔离信息。

S500,安全虚拟机将查杀信息和隔离信息上传至日志中心。

安全虚拟机在进行病毒查杀时获取对备份待防护数据进行查杀处理的查杀信息,并获取对原始待防护数据进行加密处理时的隔离信息,然后将查杀信息和隔离信息上传至日志中心,此处日志中心类似于日志数据库,可以将查杀信息和隔离信息存储在日志中心,便于后续对查杀情况及隔离情况的查询。其中,查杀信息包括查杀时间信息,生成待防护数据的虚拟机的标记信息,病毒信息,查杀处理结果信息以及病毒信息在虚拟机存储的路径信息。隔离信息包括原始待防护数据的空间占用大小信息、其在虚拟机中路径信息及虚拟机的标记信息和其对应的待防护事件发生的时间信息。

需要说明的是,采用哈希算法生成的唯一标识符中虽然是根据原始待防护数据的空间占用大小信息、其在虚拟机中路径信息及虚拟机的标记信息和其对应的待防护事件发生的时间信息生成的,但哈希算法是一种单向密码体制,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程,因此如果想查看隔离情况或想将数据恢复至查杀之前的状态时,是无法使用唯一标识符查看隔离情况或进行数据恢复的,借助在日志中心记录原始待防护数据的相关信息,可有效地实现隔离情况的查看和数据的恢复。

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

在一个实施例中,如图4所示,还提供了一种基于虚拟化环境下的数据防护系统,该系统包括物理主机,物理主机上部署有虚拟机和安全虚拟机。虚拟机100包括生成传送模块110,安全虚拟机200包括备份模块210,查杀模块220和加密隔离模块230。其中:生成传送模块110,用于根据安全防护事件生成安全防护事件对应的待防护数据,并将待防护数据通过物理内存空间传送给同一物理主机中的安全虚拟机。备份模块210,用于对待防护数据进行检测,并在检测到待防护数据中存在病毒信息时,将待防护数据进行备份,得到原始待防护数据和备份待防护数据。查杀模块220,用于对备份待防护数据进行查杀处理,得到查杀处理后的安全数据,并将安全数据通过所述物理内存空间回写给虚拟机。加密隔离模块230,用于对原始待防护数据进行加密处理,得到加密处理后的加密数据,并将加密数据写入到本地隔离区。

本实施例中的基于虚拟化环境下的数据防护系统,虚拟机根据安全防护事件生成该安全防护事件对应的待防护数据,并将生成的待防护数据写入到其与同一物理主机中的安全虚拟机共享的物理内存空间中,安全虚拟机将待防护数据从该物理内存空间中读取,对其读取的待防护数据进行检测,并在检测到该待防护数据中存在病毒信息时,对该待防护数据进行备份,得到备份待防护数据和原始待防护数据,安全虚拟机对备份待防护数据进行查杀处理,查杀处理后的数据作为安全数据回写给上述虚拟机,同时对原始待防护数据进行加密处理,得到加密的原始待防护数据后写入到安全虚拟机的本地隔离区,由于其只将查杀处理后的安全数据回写到发生安全防护事件的虚拟机,而将原始待防护数据加密后保存在安全虚拟机的本地隔离区中,即没有将加密后的原始待防护数据回写给虚拟机,因此,回写的数据量明显减少,从而减少了因为回写数据量大对查杀处理时间的占用,提高了安全虚拟机对待防护数据的查杀性能。

在一个实施例中,查杀模块220包括:查找删除单元221,用于将病毒信息从备份待防护数据中删除,得到所述安全数据。第一提取单元222,用于由安全防护事件中提取生成待防护数据的虚拟机的标记信息。发送写入单元223,用于根据所述标记信息向所述虚拟机发送查杀完成事件,并将所述安全数据写入所述物理内存空间中。

在一个实施例中,虚拟机100还包括:读取输出模块120,用于接收到查杀完成事件后,从物理内存空间中读取所述安全数据,并输出安全提醒信息。

在一个实施例中,加密隔离模块230包括:第二提取单元231,用于由安全防护事件中提取发生安全防护事件的虚拟机的标记信息以及安全防护事件发生的时间信息。获取单元232,用于获取原始待防护数据的空间占用大小信息,以及原始待防护数据在所述虚拟机中的路径信息。加密隔离单元233,用于根据标记信息、时间信息、空间占用大小信息和路径信息生成所述原始待防护数据的唯一标识符,使用唯一标识符对原始待防护数据进行加密处理,并将加密处理后的加密数据写入所述本地隔离区。

在一个实施例中,安全虚拟机200还包括:第一获取模块240,用于在对备份待防护数据进行查杀处理得到安全数据时,获取对备份待防护数据进行查杀处理的查杀信息。第二获取模块250,用于在对原始待防护数据进行加密处理得到加密数据时,获取对原始待防护数据进行加密处理时的隔离信息。上传模块260,用于将查杀信息和隔离信息上传至日志中心。

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

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

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

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