专利名称:安全检测虚拟机的动态调整方法及动态调整装置的制作方法
技术领域:
本发明涉及通信技术,尤其涉及一种安全检测虚拟机的动态调整方法及动态调整
直O
背景技术:
随着虚拟化技术的发展,虚拟计算环境中的安全问题逐渐突出。如何保证虚拟计算环境中网络通信的安全,且不损失虚拟机网络隔离、异构、可移植、可部署等特性成为虚拟计算环境网络发展的热点。现有技术中,将安全系统(如杀毒软件,入侵检测系统,防火墙等)封装于虚拟机镜像中,形成用于监测的虚拟机计算系统。由此,可利用虚拟机自身的隔离性、封装性等特性,将被监测的虚拟机计算系统与安全系统本身隔离开,保证安全系统自身的完整性和安全性;另外,由于安全系统位于虚拟机计算系统内,进而能够有效监控虚拟机内部的状态, 如CPU、内存、磁盘文件、网络流量等。然而,上述的安全系统绝大部分是基于硬件的产品,其部署起来不方便,且多位置、全方位的部署无疑带来高昂的成本。进一步地,在上述的虚拟计算系统中,安全系统的部署方式依赖于具体的网络拓扑结构,且需要额外的硬件支持。一旦部署,难以动态的调整监控的范围,且无法有针对性地对可疑网络流量和入侵行为进行检测,从而导致误报率和漏报率过高,降低了安全系统的效率。
发明内容
本发明一方面提供一种安全检测虚拟机的动态调整方法,用以解决现有技术中安全系统的部署不方便、且成本高、效率低的技术问题。本发明另一方面提供一种安全检测虚拟机的动态调整装置,能够在虚拟计算系统中方便部署安全检测虚拟机。本发明第一个方面的目的是提供一种安全检测虚拟机的动态调整方法,其包括第一主机接收一个以上的第二主机发送的拓扑信息,所述拓扑信息包括第二主机内部各虚拟机的代码、与所述虚拟机代码对应的虚拟机的网卡信息;所述第一主机根据所述虚拟机网卡信息识别异常虚拟机,根据异常虚拟机代码向所述异常虚拟机所在的第二主机部署安全检测虚拟机,并使所述安全检测虚拟机监控所述异常虚拟机的报文流量,进而第一主机通过分析报文流量,以获知异常虚拟机是否被攻击。本发明第二个方面的目的是提供一种安全检测虚拟机的动态调整装置,其包括接收模块,用于接收一个以上的第二主机发送的拓扑信息,所述拓扑信息包括虚拟机代码、与虚拟机代码对应的虚拟机的网卡信息;识别模块,用于根据所述虚拟机网卡信息识别异常虚拟机;部署模块,用于根据异常虚拟机代码向所述异常虚拟机所在的第二主机部署安全检测虚拟机,并使所述安全检测虚拟机监控所述异常虚拟机的报文流量。由上述技术方案可知,本发明第一个方面的技术效果是,第一主机通过虚拟机的网卡信息识别异常虚拟机,进而向异常虚拟机所在的第二主机部署需监控异常虚拟机的安全检测虚拟机,从而对计算机系统中的网络节点进行安全防护,解决了现有技术中安全系统的部署不方便、成本高,且检测效率低的技术问题。本发明第二个方面的技术效果是,采用识别模块根据虚拟机网卡信息识别异常虚拟机,进而通过部署模块在异常虚拟机所在的第二主机上部署安全检测虚拟机,以使该安全检测虚拟机监控异常虚拟机的报文流量,确定该异常虚拟机是否被攻击。
图1为本发明提供的计算机系统结构示意图;图2为本发明一实施例提供的安全检测虚拟机的部署方法的流程示意图;图3为本发明一实施例提供的安全检测虚拟机的动态调整装置的结构示意图;图4为本发明一实施例提供的第二主机的结构示意图;图5为本发明一实施例提供的安全检测虚拟机与监控目标建立隧道的结构示意图。
具体实施例方式本发明的安全检测虚拟机的部署方法是基于虚拟机技术来实现的。虚拟机技术可以通过软件来模拟具有完整硬件系统功能的计算机系统。其中,虚拟机技术为软件的分发与部署提供了新的方式,如将软件封装在虚拟机镜像中,利用虚拟机的部署、迁移等技术, 可以在网络环境下灵活地实现软件的分发与部署。如图1所示为本发明提供的计算机系统结构示意图,计算机系统包括第一主机11 和第二主机12。其中,各虚拟机120设置于第二主机12中。该第一主机11和一个以上的第二主机12均为同一物理网络中的各节点的物理计算机。其中,每一第二主机内的各虚拟机120连接于第二主机内的虚拟机交换机131。虚拟交换机131是以软件形式实现的具有与硬件交换机相同的功能的网络互联设备,其位于虚拟机监控层。各虚拟机120上分别配置有一块普通虚拟网卡121,普通虚拟网卡121通过虚拟交换机131与物理网络相连来交互报文。本发明中的第二主机中除虚拟交换机131 等其他原有模块外,还增设了安全检测虚拟机122。安全检测虚拟机位于需检测的虚拟机 120和虚拟交换机131之间,用于监测虚拟机120的流量。进一步地,本发明中的安全检测虚拟机122与目标变更器132相连,以便安全检测虚拟机122根据目标变更器132的指令变更监控目标。本发明的安全检测虚拟机部署方法即是基于虚拟机技术来部署安全检测虚拟机,从而实现对该计算机系统中的网络节点进行安全防护。如图2所示,图2为本发明一实施例提供的安全检测虚拟机的部署方法的流程示意图,本实施例中的安全检测虚拟机的部署方法如下文所述。步骤201、第一主机接收一个以上的第二主机发送的拓扑信息,拓扑信息包括虚拟机代码、与虚拟机代码对应的虚拟机的网卡信息。举例来说,第一主机检测/查看各虚拟机的网卡信息中的CPU占用率和内存使用率;若CPU占用率和内存使用率中的任一个达到设定阈值时,则识别对应的虚拟机为异常虚拟机即需要监控的虚拟机。在具体应用中,拓扑信息还包括虚拟机磁盘大小、虚拟机连接的虚拟交换机名、 该虚拟交换机飞端口号、虚拟机是否被监控等信息。步骤202、第一主机根据虚拟机网卡信息识别异常虚拟机,根据异常虚拟机代码向异常虚拟机所在的第二主机部署安全检测虚拟机,并使安全检测虚拟机监控异常虚拟机的报文流量。当然,上述第一主机接收安全检测虚拟机发送的异常虚拟机的报文流量,以对异常虚拟机进行入侵检测分析,以确定异常虚拟机是否被攻击。可以理解的是,每一安全检测虚拟机将获得的报文流量写入安全检测虚拟机所在的第二主机的虚拟机数据库中,以便第二主机将该些报文流量的相关数据发送至第一主机,该第一主机通过分析报文流量,以确定异常虚拟机是否被攻击。当然,若异常虚拟机检测被攻击,则第二主机还用于将攻击的源、攻击类型等信息以图形方式展现至用户。在实际使用中,第一主机中存储有第二主机与虚拟机代码的对应关系表,即可以直接从虚拟机的代码获知该虚拟机所在的第二主机。另外,第一主机在接收多个第二主机发送的拓扑信息之后,该第一主机还用于汇聚并整理该些拓扑信息,并将该些拓扑信息或者将异常虚拟机的拓扑信息以图形方式展现。由上述实施例可知,本发明的安全检测虚拟机的部署方法中第一主机通过虚拟机的网卡信息识别异常虚拟机,进而向异常虚拟机所在的第二主机部署需监控异常虚拟机的安全检测虚拟机,从而对计算机系统中的网络节点进行安全防护,解决了现有技术中安全系统的部署不方便、成本高,且检测效率低的技术问题。在一种优选实施例中,前述步骤201中的拓扑信息还可包括第二主机代码;此时,在步骤202中的向所述异常虚拟机所在的第二主机部署安全检测虚拟机之前,前述的部署方法还需包括如下图2中未示出的步骤2011和/或步骤2012。步骤2011、第一主机根据第二主机代码查看预部署安全检测虚拟机的第二主机的内存信息,确定第二主机能否容纳预部署的安全检测虚拟机。若第二主机能够容纳预部署的安全检测虚拟机,则向第二主机部署安全检测虚拟机。在其它实施例中,第一主机根据第二主机的内存信息确定该第二主机无法容纳安全检测虚拟机时,向另一第二主机部署安全检测虚拟机,并使部署在另一第二主机内的安全检测虚拟机与异常虚拟机建立监控流量隧道。在实际应用中,另一第二主机为消耗资源最小的第二主机。该处的消耗资源最小可为消耗内存资源最小的第二主机。特别地,另一第二主机内部无安全检测虚拟机且该第二主机内部无异常虚拟机。 若另一第二主机内部有安全检测虚拟机但该第二主机内部无异常虚拟机,则变更另一第二主机内的安全检测虚拟机的监控目标,以使另一第二主机内的安全检测虚拟机与异常虚拟机建立监控流量隧道。步骤2012、第一主机根据第二主机代码确定预部署安全检测虚拟机的第二主机内部是否存在安全检测虚拟机。
若第二主机内部无安全检测虚拟机,则向该第二主机部署安全检测虚拟机。当然,第一主机若根据第二主机代码确定预部署安全检测虚拟机的第二主机内部已有一安全检测虚拟机,则第一主机向第二主机发送变更监控的命令,以使第二主机内的安全检测虚拟机的监控目标变更为当前的异常虚拟机。通常,第二主机内部设置有目标变更器,其部署于第二主机内部的任一安全检测虚拟机均与目标变更器连接,以便目标变更器接收第一主机的变更监控的命令,以控制安全检测虚拟机变更监控目标。如果监控目标与安全检测虚拟机不在同一第二主机中,则使安全检测虚拟机与监控目标之间建立监控流量隧道如VPN隧道。由上,在处于运行状态的虚拟计算网络中部署、启动安全检测虚拟机,进而安全检测虚拟机将需要监控的虚拟机的报文流量发送至第一主机,以便对其进行入侵检测分析。进一步地,通过安全检测虚拟机的在线部署和对监控目标的动态监测,提高了入侵检测系统的灵活性、可扩展性,同时提供了入侵检测的准确率,降低了整个计算机系统的负载。在其他实施例中,第一主机还可接收用户输入的操作命令,以对用户选择的虚拟机进行监控。具体地,第一主机接收用户输入的包括虚拟机代码的操作指令,并获取操作指令中虚拟机代码,进而根据该虚拟机代码向该虚拟机所在的第二主机部署安全检测虚拟机,以使安全检测虚拟机连接指定虚拟交换机,同时启动安全检测虚拟机以监控上述的虚拟机。或者,第一主机接收用户输入的包括虚拟机代码、第二主机的IP地址等的操作指令,并获取操作指令中的虚拟机代码和该虚拟机所在的第二主机代码,此时,第一主机在与第二主机代码对应的第二主机上部署安全检测虚拟机,以使安全检测虚拟机连接指定虚拟交换机,同时启动安全检测虚拟机以监控上述的虚拟机。根据本发明的另一方面,本发明还提供一种安全检测虚拟机的动态调整装置,该安全检测虚拟机的动态调整装置设置在第一主机内。如图3所示,图3示出了本发明一实施例提供的安全检测虚拟机的动态调整装置的结构示意图,动态调整装置包括接收模块31、识别模块32和部署模块33 ;接收模块31 用于接收一个以上的第二主机发送的拓扑信息,拓扑信息包括虚拟机代码、与虚拟机代码对应的虚拟机的网卡信息;识别模块32用于根据虚拟机网卡信息识别异常虚拟机;部署模块33用于根据异常虚拟机代码向异常虚拟机所在的第二主机部署安全检测虚拟机,并使安全检测虚拟机监控异常虚拟机的报文流量,进而第一主机接收安全检测虚拟机发送的异常虚拟机的报文流量,以对异常虚拟机进行入侵检测分析,如获取发起攻击的源、攻击类型、攻击时间等。进一步地,上述的拓扑信息还包括第二主机代码;此时,安全检测虚拟机的动态调整装置还包括第一确定模块和/或第二确定模块;该第一确定模块用于根据第二主机代码查看预部署安全检测虚拟机的第二主机的内存信息,确定第二主机能否容纳预部署的安全检测虚拟机;第二确定模块用于根据第二主机代码确定预部署安全检测虚拟机的第二主机内部是否存在安全检测虚拟机。需要说明的是,前述的识别模块具体用于检测各虚拟机的CPU占用率和内存使用率;若CPU占用率和内存使用率中的任一个达到设定阈值时,则识别对应的虚拟机为异常虚拟机。在其他实施例中,安全检测虚拟机的动态调整装置还包括发送模块;该发送模块用于在第一确定模块确定预部署安全检测虚拟机的第二主机内部已有一安全检测虚拟机,则向第二主机发送变更监控命令,以使第二主机内的安全检测虚拟机的监控目标变更为异常虚拟机。另外,第二主机承载虚拟环境的主要设备,如前述的虚拟机120、虚拟交换机131、 安全检测虚拟机122等虚拟设备。进一步地,如图4所示,图4示出了本发明一实施例提供的第二主机的结构示意图,其图4中所示的第二主机还可包括拓扑采集模块41,用于采集第二主机内的虚拟设备的拓扑信息;部署执行模块42,用于执行第一主机的部署模块的部署任务和启动任务;目标变更器132,用于根据第一主机的变更监控的命令控制安全检测虚拟机122变更监控目标。此外,第二主机还包括位于虚拟交换机内部的镜像端口模块43,用于将虚拟交换机131中针对异常虚拟机的端口的流量复制到对应安全检测虚拟机122的端口上,从而实现安全检测虚拟机122对异常虚拟机的报文流量的监控。在实际应用中,第二主机可使用内部拓扑采集模块41中的1 ibvirt提供的工具收集内部各虚拟机120的网卡信息、虚拟机代码等拓扑信息,以及第二主机使用拓扑采集模块41中的brctl工具收集虚拟交换机131的拓扑信息,如虚拟交换机代码、虚拟交换机端口号等,进而第二主机将内部拓扑采集模块41中收集的拓扑信息发送至第一主机,以使第一主机根据该拓扑信息识别异常虚拟机。举例来说,前述的第一主机的部署模块的部署任务包括准备安全检测虚拟机 122所需的镜像文件、配置文件,以及所需连接网络的配置文件等;前述的第一主机的部署模块的启动任务包括从安全检测虚拟机122的镜像文件中开启安全检测虚拟机122,以使该安全检测虚拟机122自动连接上所配置的虚拟交换机131。例如,部署任务可为在序列号为imid的虚拟交换机131上部署安全检测虚拟机122,进而启动该安全检测虚拟机122。在实际的计算机系统中,一安全检测虚拟机还用于监控以第二主机内的整个虚拟子网,此时,前述的镜像端口模块需要将虚拟交换机与虚拟路由器所连接的端口流量复制到安全检测虚拟机中。通常,安全检测虚拟机122监控与其连接的虚拟交换机131上的虚拟机120的报文流量。然而,在实际中,由于虚拟交换机是跨第二主机即物理计算机分布式的交换机,因此,可能出现监控目标即异常虚拟机和安全检测虚拟机不再同一第二主机的情况。以下通过图5详细说明上述异常虚拟机和安全检测虚拟机不再同一第二主机时如何获取监控目标的报文流量。应注意,图5中的各模块的标记不同于上述各模块的标记,仅用于更好的说明安全检测虚拟机与监控目标建立隧道的过程。如果监控目标即虚拟机61和安全检测虚拟机51不在同一物理计算机上,此时采用在安全检测虚拟机51和虚拟机61之间建立虚拟专用隧道(VPN),以获取虚拟机61的报
文流量。通常,VPN包括VPN客户端和VPN服务端,将多个VPN客户端连接于VPN服务端中,以实现多个客户端之间的数据通信。具体地,安全检测虚拟机51所在的第二主机50的目标变更器55首先要找到虚拟机61所在的第二主机60,在虚拟机61所连接的虚拟交换机62上加上源端口 2和镜像端口 2’,并使源端口 2和虚拟机61连接,镜像端口 2’和VPN客户端63连接;相应地,在安全检测虚拟机51所连接的虚拟交换机52上加上源端口 1’和镜像端口 1,并使镜像端口 1和安全检测虚拟机51连接,源端口 1’和VPN客户端53连接;由此,启动VPN客户端5354和服务端56,此时,监控的虚拟机所在第二主机60的镜像端口模块64将监控的虚拟机61所在虚拟交换机62端口(如上的源端口 2、的流量复制到建立的VPN所在端口(如上的镜像端口 2’ )中,然后调用安全检测虚拟机51所在第二主机50的镜像端口模块M将VPN所在虚拟交换机52端口(如上的源端口 1’)流量复制到安全检测虚拟机51所在端口(镜像端口 1)中,以使安全检测虚拟机51在镜像端口 1 中获得上述的虚拟机61的报文流量,以实现安全检测虚拟机51对分布式网络中虚拟机61 的监控。由上述实施例可知,本发明的计算机系统,位于第一主机内的动态调整装置通过识别模块识别拓扑信息中反应的异常虚拟机,进而通过部署模块向异常虚拟机所在的第二主机部署需监控异常虚拟机的安全检测虚拟机,从而对计算机系统中的网络节点进行安全防护,解决了现有技术中安全系统的部署不方便、成本高,且检测效率低的技术问题。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
权利要求
1.一种安全检测虚拟机的动态调整方法,其特征在于,包括第一主机接收一个以上的第二主机发送的拓扑信息,所述拓扑信息包括第二主机内部各虚拟机的代码、与所述虚拟机代码对应的虚拟机的网卡信息;所述第一主机根据所述虚拟机网卡信息识别异常虚拟机,根据异常虚拟机代码向所述异常虚拟机所在的第二主机部署安全检测虚拟机,并使所述安全检测虚拟机监控所述异常虚拟机的报文流量。
2.根据权利要求1所述的动态调整方法,其特征在于,所述拓扑信息还包括第二主机代码;在向所述异常虚拟机所在的第二主机部署安全检测虚拟机之前,所述部署方法还包括所述第一主机根据所述第二主机代码查看预部署安全检测虚拟机的第二主机的内存信息,确定所述第二主机能否容纳预部署的安全检测虚拟机。
3.根据权利要求1所述的动态调整方法,其特征在于,所述拓扑信息还包括第二主机代码;在向所述异常虚拟机所在的第二主机部署安全检测虚拟机之前,所述部署方法还包括所述第一主机根据所述第二主机代码确定预部署安全检测虚拟机的第二主机内部是否存在安全检测虚拟机。
4.根据权利要求3所述的动态调整方法,其特征在于,所述第一主机若根据所述第二主机代码确定预部署安全检测虚拟机的第二主机内部已有一安全检测虚拟机,则第一主机向所述第二主机发送变更监控命令,以使第二主机内的安全检测虚拟机的监控目标变更为异常虚拟机。
5.根据权利要求1所述的动态调整方法,其特征在于,所述第一主机根据所述虚拟机网卡信息识别异常虚拟机,包括所述第一主机检测各虚拟机的CPU占用率和内存使用率;若CPU占用率和内存使用率中的任一个达到设定阈值时,则识别对应的虚拟机为异常虚拟机。
6.一种安全检测虚拟机的动态调整装置,其特征在于,包括接收模块,用于接收一个以上的第二主机发送的拓扑信息,所述拓扑信息包括虚拟机代码、与所述虚拟机代码对应的虚拟机的网卡信息;识别模块,用于根据所述虚拟机网卡信息识别异常虚拟机;部署模块,用于根据异常虚拟机代码向所述异常虚拟机所在的第二主机部署安全检测虚拟机,并使所述安全检测虚拟机监控所述异常虚拟机的报文流量。
7.根据权利要求6所述的动态调整装置,其特征在于,所述拓扑信息还包括第二主机代码;相应地,所述安全检测虚拟机的动态调整装置还包括第一确定模块,用于根据所述第二主机代码查看预部署安全检测虚拟机的第二主机的内存信息,确定所述第二主机能否容纳预部署的安全检测虚拟机。
8.根据权利要求7所述的动态调整装置,其特征在于,所述拓扑信息还包括第二主机代码;相应地,所述安全检测虚拟机的动态调整装置还包括第二确定模块,用于根据所述第二主机代码确定预部署安全检测虚拟机的第二主机内部是否存在安全检测虚拟机。
9.根据权利要求8所述的动态调整装置,其特征在于,还包括发送模块,用于在所述第一确定模块确定预部署安全检测虚拟机的第二主机内部已有一安全检测虚拟机,则向所述第二主机发送变更监控命令,以使第二主机内的安全检测虚拟机的监控目标变更为异常虚拟机。
10.根据权利要求6所述的动态调整装置,其特征在于,所述识别模块,具体用于检测各虚拟机的CPU占用率和内存使用率;若CPU占用率和内存使用率中的任一个达到设定阈值时,则识别对应的虚拟机为异常虚拟机。
全文摘要
本发明提供一种安全检测虚拟机的动态调整方法及动态调整装置,其中,安全检测虚拟机的动态调整方法包括第一主机接收一个以上的第二主机发送的拓扑信息,所述拓扑信息包括第二主机内部各虚拟机的代码、与所述虚拟机代码对应的虚拟机的网卡信息;所述第一主机根据所述虚拟机网卡信息识别异常虚拟机,根据异常虚拟机代码向所述异常虚拟机所在的第二主机部署安全检测虚拟机,并使所述安全检测虚拟机监控所述异常虚拟机的报文流量。上述的部署方法能够解决现有技术中安全系统的部署不方便、且成本高、效率低的技术问题。
文档编号H04L12/26GK102523209SQ201110401939
公开日2012年6月27日 申请日期2011年12月6日 优先权日2011年12月6日
发明者吴旭东, 怀进鹏, 李博, 李建欣 申请人:北京航空航天大学