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

文档序号:12669931阅读:363来源:国知局
基于虚拟化环境下的安全防护方法及装置与流程

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



背景技术:

随着硬件虚拟化技术的广泛应用,在一台物理主机上可以同时运行多个操作系统,操作系统之间相互隔离,使得对硬件设施的管理更加有效、灵活和节约。但基于虚拟化技术的操作系统部署中会面临的安全威胁问题。

为了解决虚拟化环境下虚拟机安全的问题,传统的解决办法需要在每台物理主机上的各个虚拟机中部署一套安全防护软件,从而达到与普通物理机上操作系统中安装的安全防护软件具有相同的功能。

然而,在同一物理主机上的多个虚拟机中都部署一套安全防护产品,会造成对计算资源和存储资源的占用,并且处理器CPU在监控的同时还要对其他虚拟机进行主动扫描,使得处理器CPU经常处于满负荷运行的状态,造成在监控过程中各个虚拟机中文件处理速率变慢。



技术实现要素:

基于此,有必要针对传统轻代理的安全防护软件无法随时随地的对虚拟机进行安全防护的问题,提供一种能够提高虚拟机中,文件处理速率的基于虚拟化环境下的安全防护方法及装置。

一种基于虚拟化环境下的安全防护方法,其中,物理主机上部署有多个客户虚拟机及安全虚拟机;所述方法包括:

所述安全虚拟机接收主动扫描任务,向所述主动扫描任务指定的客户虚拟机发送安全防护指令;

所述安全虚拟机接收客户虚拟机响应于所述安全防护指令的文件事件处理请求;

所述安全虚拟机获取安全处理流程的CPU占用率;

所述安全虚拟机将所述CPU占用率与预设阈值进行比较;

若所述CPU占用率大于所述预设阈值,则所述安全虚拟机拒绝对所述文件事件处理请求中的文件事件进行处理。

在其中一个实施例中,所述安全虚拟机接收到主动扫描任务时,向所述主动扫描任务指定的虚拟机发送安全防护指令的步骤包括:

所述安全虚拟机从主动扫描任务中提取所述主动扫描任务指定的客户虚拟机的指定标识;

所述安全虚拟机根据所述指定标识和各个客户虚拟机的预设标识,向预设标识中与所述指定标识相匹配的客户虚拟机发送安全防护指令。

在其中一个实施例中,所述安全虚拟机获取安全处理流程的CPU占用率的步骤包括:

获取预定时段内所述安全虚拟机的多个CPU负载值;

计算多个CPU负载值的平均值,获得该预定时段内的CPU负载平均值,作为安全处理流程的CPU占用率。

在其中一个实施例中,所述安全虚拟机拒绝对所述文件事件请求中的文件事件进行处理之后还包括:

继续获取所述安全处理流程的CPU占用率;

将CPU占用率与所述预设阈值继续进行比较;

当所述安全处理流程的CPU占用率小于所述CPU占用率预设阈值时,再对所述文件事件处理请求中的文件事件进行处理。

在其中一个实施例中,所述当所述安全处理流程的CPU占用率小于所述预设阈值时,再对所述文件事件进行处理的步骤还包括:

获取各个客户虚拟机返回的文件事件处理请求的优先顺序;

当安全处理流程的CPU占用率小于所述CPU占用率预设阈值时,按照优先顺序对所述文件事件处理请求中的文件事件进行处理。

一种基于虚拟化环境下的安全防护装置,其中,物理主机部署有多个客户虚拟机及安全虚拟机,所述安全防护装置应用于安全虚拟机中;所述安全防护装置包括:

指令发送模块,用于接收到主动扫描任务时,向所述主动扫描任务指定的客户虚拟机发送安全防护指令;

请求接收模块,用于接收客户虚拟机响应于所述安全防护指令的文件事件处理请求;

CPU占用率获取模块,用于获取安全处理流程的CPU占用率;

CPU占用率比较模块,用于将所述CPU占用率与安全处理流程的CPU占用率预设阈值进行比较;

事件处理模块,用于在所述CPU占用率大于所述CPU占用率预设阈值时,拒绝对所述文件事件处理请求中的文件事件进行处理。

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

标识提取单元,用于从主动扫描任务中提取所述主动扫描任务指定的客户虚拟机的指定标识;

指令发送单元,用于根据所述指定标识和各个客户虚拟机的预设标识,向预设标识中与所述指定标识相匹配的客户虚拟机发送安全防护指令。

在其中一个实施例中,所述CPU占用率获取模块还包括:

CPU负载值获取单元,用于获取预定时段内所述安全虚拟机的多个CPU负载值;

CPU占用率计算单元,用于计算多个CPU负载值的平均值,获得该预定时段内的CPU负载平均值,作为安全处理流程的CPU占用率。

在其中一个实施例中,在所述事件处理模块拒绝对所述文件事件处理请求中的文件事件进行处理之后,所述CPU占用率获取模块还用于继续获取所述安全处理流程的CPU占用率;所述CPU占用率比较模块还用于将CPU占用率与所述CPU占用率预设阈值继续进行比较;直到所述安全处理流程的CPU占用率小于所述CPU占用率预设阈值时,所述事件处理模块还用于对所述文件事件处理请求中的文件事件进行处理。

在其中一个实施例中,所述事件处理模块还包括:

优先级获取单元,用于获取各个客户虚拟机返回的文件事件处理请求的优先顺序;

文件事件处理单元,用于当安全处理流程的CPU占用率小于所述CPU占用率预设阈值时,按照优先顺序再对所述文件事件处理请求中的文件事件进行处理。

上述基于虚拟化环境下的安全防护方法及装置,通过在安全虚拟机中,对主动扫描过程的CPU占用率进行限定,使得安全虚拟机能够有处理能力同时对客户虚拟机中文件监控的文件事件做出快速响应,从而提高了客户虚拟机的运行速度。

附图说明

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

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

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

具体实施方式

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

本发明实施例提供的基于虚拟化环境下的安全防护方法,可应用于图1所示的安全防护系统中,安全防护系统运行于物理主机中。该物理主机包括通过系统总线连接的处理器、非易失性存储介质、内存、网络接口、显示屏和输入系统。该物理主机上部署有多个客户虚拟机及安全虚拟机,该安全虚拟机配置有安全防护装置,用于处理监控下的文件事件,例如对客户虚拟机中的文件进行监控及处理;以及主动扫描下的文件事件,例如主动启动对客户虚拟机的病毒查杀。该处理器用于提供计算和控制能力,支撑整个物理主机的运行。该方法基于“无代理安全防护机制”,一个物理主机上部署有多个虚拟机,多个虚拟机中有预设个数的虚拟机为安全虚拟机,其余的为没有配置安全防护软件的客户虚拟机。该无代理安全防护机制由于每个虚拟机的虚拟内存对应同一物理内存空间,即相当于各个虚拟机共享一个物理内存空间,这样多个虚拟机之间便可通过该物理内存空间实现相互之间的直接通信。其中,事件管理器相当于是运行在VMM(Virtual Machine Monitor,虚拟机监管器)层的一个软件,用于实现同一物理主机内各个虚拟机之间的安全防护事件及数据的传输,其相当于各个虚拟机之间的通信管道。虚拟内存利用传统的仿真软件将VMM层中的一段存储空间仿真得到。VMM用于对各个虚拟机进行规划、部署、管路和优化。

本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的物理主机的限定,具体的物理主机可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

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

S10,安全虚拟机接收主动扫描任务,向主动扫描任务指定的客户虚拟机发送安全防护指令;

S20,安全虚拟机接收客户虚拟机响应于所述安全防护指令的文件事件处理请求;

S30,安全虚拟机获取安全处理流程的CPU占用率;

S40,安全虚拟机将所述CPU占用率与预设阈值进行比较;

S50,若所述CPU占用率大于所述CPU占用率预设阈值,则安全虚拟机拒绝执行所述文件事件处理请求。

在步骤S10中,安全虚拟机在接收到主动扫描任务后,根据主动扫描任务中对指定的客户虚拟机发送安全防护指令,对指定的客户虚拟机中的文件进行主动扫描。

在步骤S20中,客户虚拟机在接收到安全虚拟机发送的安全防护指令之后,向安全虚拟机返回文件事件处理请求,以将客户虚拟机中的文件发送至安全虚拟机进行扫描查杀。

在步骤S30中,安全虚拟机在接收到客户虚拟机返回的文件事件处理请求之后,先获取安全虚拟机当前的安全处理流程的CPU占用率,所述安全处理流程的CPU占用率是指所述安全处理流程使用的CPU线程占用的CPU处理能力的比例,通常以百分比表示。

在步骤S40中,安全虚拟机在获取到安全处理流程的CPU占用率之后,将该CPU占用率与安全虚拟机中预设的CPU占用率预设阈值进行比较,以判断当前安全处理流程占用的CPU是否已经超过预设的CPU占用阈值。

在步骤S50中,若安全处理流程的CPU占用率已经超过预设的CPU占用率阈值,则说明安全虚拟机当前的主动扫描事件已经达到处理能力的限定值。为避免安全虚拟机还能够及时的对客户虚拟机进行监控,以对监控下的文件事件及时响应,安全虚拟机将拒绝执行该文件事件处理请求,以使安全虚拟机中安全处理流程的CPU的占用率小于等于上述预设的CPU占用阈值。通过限定安全虚拟机CPU主动扫描时的占用率,使得安全虚拟机能够保留足够的CPU处理能力,从而能够对各可虚拟机出现的文件监控事件进行监控,因此能够及时的对监控下的文件事件进行响应。

上述基于虚拟化环境下的安全防护方法,基于无代理安全防护机制,能够实现安全虚拟机对同一物理主机中的其它虚拟机的主动安全防护,即安全虚拟机主动地扫描其它虚拟机的文件数据。并且上述方法能够避免在同一物理主机的多个虚拟机中,重复部署多个安全防护软件时对计算资源和存储资源的占用;同时,在安全虚拟机中,通过对主动扫描过程的CPU占用率进行限定,能够使得安全虚拟机能够对客户虚拟机中文件监控的文件事件做出快速响应,从而提高了客户虚拟机的运行速度。

需要说明的是,安全虚拟机进行安全检测时与传统的安装有安全防护软件的虚拟机的检测过程相似,此处不再赘述。

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

S11,安全虚拟机接收到主动扫描任务后,从主动扫描任务中提取所述主动扫描任务指定的客户虚拟机的指定标识;

S12,安全虚拟机根据所述指定标识和各个客户虚拟机的预设标识,向预设标识中与所述指定标识相匹配的客户虚拟机发送安全防护指令。

上述实施例中能够将安全防护指令发给需要进行安全防护的客户虚拟机,减少非必要的防护进程,提高安全防护的效率。

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

S31,获取预定时段内所述安全虚拟机的多个CPU负载值;

S32,计算多个CPU负载值的平均值,获得该预定时段内的CPU负载平均值,作为安全处理流程的CPU占用率。

在步骤S31中,安全虚拟机获取安全处理流程的CPU占用率时,除可实时获取安全处理流程的CPU占用率外,也可先获取预定时段内的多个CPU负载值。由于安全处理流程的CPU的瞬时占用率可能起伏频繁,但很快回落,对安全虚拟机监控下的文件事件影响相对较小。为避免后续过于频繁的将CPU占用率进行比较、限定,可先获取预定时段内的多个CPU负载值。在该预定时段内,安全虚拟机可以预定频率获取多个CPU负载值,该预定频率可以根据需要进行选择。

在步骤S32中,安全虚拟机可先获取上述预定时间内多个CPU负载值的平均值,并将该多个CPU负载值的平均值作为该预定时段内安全处理流程的CPU占用率,与预设阈值进行比较。

如果该预定时间内CPU负载值的平均值大于预设的CPU占用率预设阈值,则说明在该预定时段内,安全虚拟机处理主动扫描下的文件事件占用的CPU较多,则安全虚拟机在后续接到客户虚拟机发送的文件事件处理请求之后,暂不对所述文件事件处理请求进行处理。

上述实施例提供的方法,通过评估预定时段内的CPU占用率,能够更加准确的评估安全虚拟机主动扫描下的文件事件所占用的CPU,并且同时能够更充分的利用安全虚拟机CPU的处理能力。

在一个实施例中,步骤S40中安全处理流程的CPU占用率预设阈值可为70%-80%,可以根据需要进行选择,以保证安全虚拟机的CPU具有足够的能力能够对各客户虚拟机中的文件进行监控,并及时响应。例如,可将该预设阈值设定为75%。当安全处理流程的CPU占用率达过或超过75%时,则说明当前安全虚拟机对主动扫描下的文件事件的处理已经达到饱和。

在一个实施例中,当安全虚拟机中安全处理流程的CPU高于CPU占用率预设阈值,并拒绝处理所述文件事件请求中的文件事件之后,还包括:

S51,继续获取所述安全处理流程的CPU占用率;

S52,将CPU占用率与所述CPU占用率预设阈值继续进行比较;

S53,当所述安全处理流程的CPU占用率小于所述CPU占用率预设阈值时,再对所述文件事件处理请求中的文件事件进行处理。

上述实施例中,安全虚拟机中安全处理流程的CPU占用率达到预设阈值之后,继续监控安全处理流程的CPU占用率,并与预设阈值进行比较;当监测到安全处流程的CPU占用率小于预设阈值之后,再对文件事件处理请求中的文件事件进行实时处理,以提高处理效率。

在一个实施例中,当安全虚拟机中的安全处理流程的CPU占用率小于所述CPU占用率预设阈值时,再对所述文件事件处理请求中的文件事件进行处理的步骤还包括:

S531,获取各个客户虚拟机发送的文件事件处理请求的优先顺序;

S532,当安全处理流程的CPU占用率小于所述CPU占用率预设阈值时,按照优先顺序对所述文件事件处理请求中的文件事件进行处理。

在上述实施例中,安全虚拟机可按照客户虚拟机发送的文件事件处理请求的时间顺序、优先级顺序,对文件事件处理请求进行排序。若安全虚拟机的安全处理流程的CPU占用率小于预设阈值时,可安装上述优先顺序对文件事件处理请求进行处理,从而使得安全虚拟机能够更加有效的对各客户虚拟机的文件事件进行处理,提高文件事件的处理效率和时效性。

安全虚拟机在主动扫描客户虚拟机时,通常是对各客户虚拟机上特定目录下文件的主动扫描。根据安全防护事件中的文件目录信息获取指定目录下的数据,并将这些数据作为待检测数据写入物理内存空间中供安全虚拟机进行安全检测。客户虚拟机将生成的待检测数据写入物理内存空间时,可先把待检测数据缓存在自身的虚拟内存中,然后根据其虚拟内存与物理内存空间的映射关系将待检测数据写入物理内存空间中。在将待检测数据写入物理内存时,优选以串行的方式写入。

例如:安全虚拟机同时向虚拟机A、B、C、D发出安全防护事件,当A、B、C、D的优先级相同时,安全虚拟机可按照文件事件处理请求的接收时间顺序对各虚拟机的文件事件处理请求进行处理。另外,可预先设置虚拟机A和虚拟机B的优先级高于虚拟机C和虚拟机D的优先级,且虚拟机A和虚拟机B的优先级相同,虚拟机C和虚拟机D的优先级相同。在安全虚拟机的安全处理流程的CPU的占用率大于预设阈值时,安全虚拟机暂不对虚拟机的文件事件处理请求进行处理,而是对虚拟机A、B、C、D的文件事件处理请求进行排序。可通过物理内存空间与安全虚拟机的安全虚拟内存之间的映射关系,将虚拟机A、B、C和虚拟机D的待检测数据缓存在安全虚拟内存中,以减轻待检测数据对物理内存空间的占用;当安全虚拟机的安全处理流程的CPU的占用率小于预设阈值时,先将虚拟机A和虚拟机B的待检测数据写入物理内存空间,安全虚拟机对虚拟机A和虚拟机B的待检测数据同时进行安全检测,提高安全检测的效率的同时,降低对物理资源的占用,提高物理主机的处理效率。

请一并参阅图3,在一个实施例中,还提供了一种基于虚拟化环境下的安全防护装置,配置于物理主机中,物理主机部署有多个客户虚拟机及安全虚拟机;该安全防护装置可设置于安全虚拟机中,该安全防护装置包括:

指令发送模块100,用于接收到主动扫描任务时,向所述主动扫描任务指定的客户虚拟机发送安全防护指令;

请求接收模块200,用于接收客户虚拟机响应于所述安全防护指令的文件事件处理请求;

CPU占用率获取模块300,用于获取安全处理流程的CPU占用率;

CPU占用率比较模块400,用于将所述CPU占用率与安全处理流程的CPU占用率预设阈值进行比较;

事件处理模块500,用于在所述CPU占用率大于所述CPU占用率预设阈值时,拒绝对所述文件事件处理请求中的文件事件进行处理。

上述基于虚拟化环境下的安全防护装置,基于无代理安全防护机制,安全虚拟机能够实现对同一物理主机中的其它虚拟机的主动安全防护,即安全虚拟机主动地扫描其它虚拟机的文件数据。同时,在安全虚拟机中,通过对主动扫描过程的CPU占用率进行限定,能够使得安全虚拟机能够对客户虚拟机中监控下的文件事件做出快速响应,从而提高了客户虚拟机的运行速度。

在一个实施例中,所述指令发送模块100包括:标识提取单元110,用于从主动扫描任务中提取所述主动扫描任务指定的客户虚拟机的指定标识;指令发送单元120,用于根据所述指定标识和各个客户虚拟机的预设标识,向预设标识中与所述指定标识相匹配的客户虚拟机发送安全防护指令。

上述实施例中,指令发送模块100能够根据指定标识,将安全防护指令发给需要进行安全防护的客户虚拟机,减少非必要的防护进程,提高安全防护的效率。

在一个实施例中,所述CPU占用率获取模块300还包括:CPU负载值获取单元310,用于获取预定时段内安全虚拟机的多个CPU负载值;CPU占用率计算单元320,用于计算多个CPU负载值的平均值,获得该预定时段内的CPU负载平均值,作为安全处理流程的CPU占用率。

上述实施例中,通过CPU负载值获取单元310评估预定时段内的CPU占用率,能够更加准确的评估处理主动扫描下的文件事件所占用的CPU,并且同时更充分的利用安全虚拟机CPU的处理能力。

在一个实施例中,事件处理模块500拒绝对文件事件处理请求中的文件事件进行处理之后,CPU占用率获取模块500还用于继续获取安全处理流程的CPU占用率;CPU占用率比较模块400则将CPU占用率与所述CPU占用率预设阈值继续进行比较;若所述安全处理流程的CPU占用率小于所述CPU占用率预设阈值时,所述事件处理模块500还用于对所述文件事件处理请求中的文件事件进行处理。

在一个实施例中,所述事件处理模块500还包括:优先级获取单元510,用于获取各个客户虚拟机返回的文件事件处理请求的优先顺序;文件事件处理单元520,用于当安全处理流程的CPU占用率小于所述CPU占用率预设阈值时,按照优先顺序再对所述文件事件处理请求中的文件事件进行处理。

在上述实施例中,安全虚拟机可按照客户虚拟机发送的文件事件处理请求的时间顺序、优先级顺序,对文件事件处理请求进行排序。若安全虚拟机的安全处理流程的CPU占用率小于预设阈值时,可安装上述优先顺序对文件事件处理请求进行处理,从而使得安全虚拟机能够更加有效的对各客户虚拟机的文件事件进行处理,提高文件事件的处理效率和时效性。

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

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

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

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