一种虚拟微隔离网络的攻击面防护方法及系统与流程

文档序号:20947042发布日期:2020-06-02 19:55阅读:292来源:国知局
一种虚拟微隔离网络的攻击面防护方法及系统与流程

本申请涉及网络安全技术领域,尤其涉及一种虚拟微隔离网络的攻击面防护方法及系统。



背景技术:

现在利用虚拟化技术构建数据中心越来越普遍了,带来了新的安全问题,在虚拟化网络环境中,大量流量数据通过虚拟交换机转发,不会经过防火墙,使得传统的安全防护措施失效。虚拟机之间的通信流量变得不可控,内部虚拟机的威胁无法被检测,也无法被控制。分布式虚拟环境存在海量的虚拟机,如何动态部署安全防护策略,也是急需要解决的技术问题。

同时,当前网络通信面临越来越隐蔽的安全问题,很多攻击来自于隐蔽的、碎片化的形式,单个节点的漏洞点和攻击链路会构成多个攻击面,现有的防范网络攻击的方法会失效。

因此,急需一种针对性分布式虚拟环境的安全防护方法和系统。



技术实现要素:

本发明的目的在于提供一种虚拟微隔离网络的攻击面防护方法及系统,解决现有技术中针对海量虚拟机之间流量数据缺乏控制方法,缺乏动态部署安全防护策略,如何在海量虚拟机网络中检测攻击面的技术问题。

第一方面,本申请提供一种虚拟微隔离网络的攻击面防护方法,所述方法包括:

获取分布式虚拟网络中的流量数据,使用openflow协议收集流量统计信息,分析提取流量数据中的特征向量和流表项,根据流表项的关联关系,得到所述分布式虚拟网络中各个虚拟机的通信关系;

所述得到所述分布式虚拟网络中各个虚拟机的通信关系之前,还包括获取所述分布式虚拟网络的所有节点标识,将所述节点标识与虚拟机标识组成新的唯一标识字符串,根据该唯一标识字符串和流表项的前后关联关系,生成所述分布式虚拟网络中各个虚拟机的通信关系;

根据生成的所述各个虚拟机的通信关系、业务数据的关联程度、各个虚拟机的相邻程度进行聚类处理,将所述分布式虚拟网络中所有虚拟机分成若干个微隔离分组;

所述聚类处理还可以包括根据各个虚拟机资源的利用情况、或者业务链中是否存在不常用使用到的通信链路;

验证所述通信关系中的虚拟机之间是否存在网络攻击行为,若存在则认定被攻击的虚拟机为不安全虚拟机,升级其所在微隔离分组的安全防护策略,并标记所述不安全虚拟机,暂停所述不安全虚拟机与其他虚拟机的通信;若不存在则认定被验证的虚拟机为安全虚拟机;

当一个微隔离分组的所有虚拟机都为安全虚拟机时,则为该微隔离分组下发普通安全防护策略,允许流量数据在分组内虚拟机之间正常传输,允许分组内虚拟机与其他分组的虚拟机交换流量数据;

所述升级其所在微隔离分组的安全防护策略,包括暂停分组内不安全虚拟机的通信、禁止分组内所有虚拟机的流量数据传输、禁止分组内虚拟机与其他分组的虚拟机交换流量数据;

定期反复验证所述不安全虚拟机的通信关系是否仍然存在网络攻击行为,若该网络攻击行为消除,则将所述不安全虚拟机标记为安全虚拟机,调整其所在微隔离分组的安全防护策略;

服务器向各个虚拟机发送指令,所述指令用于命令各个虚拟机将本地数据片段上传,所述各个虚拟机接收到指令后,在微隔离分组内选举出一个临时主控点,将虚拟机本地数据片段传送给所述临时主控点;

所述临时主控点调用本地策略扫描所述数据片段,检查是否包含可被利用的攻击向量,再将所述可被利用的攻击向量以及数据片段副本打包,在业务处理间隙封装上传给服务器;所述封装包括在数据片段副本中插入数据发起者标识;

所述服务器接收到封装后的数据片段副本后,将解析后的数据片段与服务器本地的历史数据片段合并,使用分析模型对所述合并的数据片段进行分析,寻找其中可能存在的异常数据片段,将若干个异常数据片段所属的虚拟机标注为异常点,以及分析若干个异常数据片段之间是否存在逻辑关联;

所述服务器根据所述若干个异常数据片段之间存在的逻辑关联,建立异常点的前后关联关系,找到相关联的微隔离分组,升级所述相关联的微隔离分组的安全防护策略。

结合第一方面,在第一方面第一种可能的实现方式中,所述得到所述分布式虚拟网络中各个虚拟机的通信关系之前,还包括对流表项的预处理,删除虚拟机与外部服务器或网关之间的通信链路,删除不相关的字段,将源ip地址和目的ip地址作为匹配条件。

结合第一方面,在第一方面第二种可能的实现方式中,所述各个虚拟机的相邻程度包括判断虚拟机是否属于同一个集群或同一个节点。

结合第一方面,在第一方面第三种可能的实现方式中,所述聚类处理使用的聚类算法包括k-means算法、均值漂移聚类算法、基于密度的聚类算法、或凝聚层次聚类算法。

第二方面,本申请提供一种虚拟微隔离网络的攻击面防护系统,所述系统包括:获取单元、分组单元、策略部署单元和服务器;

所述获取单元,用于获取分布式虚拟网络中的流量数据,使用openflow协议收集流量统计信息,分析提取流量数据中的特征向量和流表项,根据流表项的关联关系,得到所述分布式虚拟网络中各个虚拟机的通信关系;

所述得到所述分布式虚拟网络中各个虚拟机的通信关系之前,还包括获取所述分布式虚拟网络的所有节点标识,将所述节点标识与虚拟机标识组成新的唯一标识字符串,根据该唯一标识字符串和流表项的前后关联关系,生成所述分布式虚拟网络中各个虚拟机的通信关系;

所述分组单元,用于根据生成的所述各个虚拟机的通信关系、业务数据的关联程度、各个虚拟机的相邻程度进行聚类处理,将所述分布式虚拟网络中所有虚拟机分成若干个微隔离分组;

所述聚类处理还可以包括根据各个虚拟机资源的利用情况、或者业务链中是否存在不常用使用到的通信链路;

所述策略部署单元,用于验证所述通信关系中的虚拟机之间是否存在网络攻击行为,若存在则认定被攻击的虚拟机为不安全虚拟机,升级其所在微隔离分组的安全防护策略,并标记所述不安全虚拟机,暂停所述不安全虚拟机与其他虚拟机的通信;若不存在则认定被验证的虚拟机为安全虚拟机;

当一个微隔离分组的所有虚拟机都为安全虚拟机时,则为该微隔离分组下发普通安全防护策略,允许流量数据在分组内虚拟机之间正常传输,允许分组内虚拟机与其他分组的虚拟机交换流量数据;

所述升级其所在微隔离分组的安全防护策略,包括暂停分组内不安全虚拟机的通信、禁止分组内所有虚拟机的流量数据传输、禁止分组内虚拟机与其他分组的虚拟机交换流量数据;

定期反复验证所述不安全虚拟机的通信关系是否仍然存在网络攻击行为,若该网络攻击行为消除,则将所述不安全虚拟机标记为安全虚拟机,调整其所在微隔离分组的安全防护策略;

所述服务器,用于向各个虚拟机发送指令,所述指令用于命令各个虚拟机将本地数据片段上传,所述各个虚拟机接收到指令后,在微隔离分组内选举出一个临时主控点,将虚拟机本地数据片段传送给所述临时主控点;

所述临时主控点调用本地策略扫描所述数据片段,检查是否包含可被利用的攻击向量,再将所述可被利用的攻击向量以及数据片段副本打包,在业务处理间隙封装上传给服务器;所述封装包括在数据片段副本中插入数据发起者标识;

所述服务器接收到封装后的数据片段副本后,将解析后的数据片段与服务器本地的历史数据片段合并,使用分析模型对所述合并的数据片段进行分析,寻找其中可能存在的异常数据片段,将若干个异常数据片段所属的虚拟机标注为异常点,以及分析若干个异常数据片段之间是否存在逻辑关联;

所述服务器根据所述若干个异常数据片段之间存在的逻辑关联,建立异常点的前后关联关系,找到相关联的微隔离分组,升级所述相关联的微隔离分组的安全防护策略。

结合第二方面,在第二方面第一种可能的实现方式中,所述得到所述分布式虚拟网络中各个虚拟机的通信关系之前,还包括对流表项的预处理,删除虚拟机与外部服务器或网关之间的通信链路,删除不相关的字段,将源ip地址和目的ip地址作为匹配条件。

结合第二方面,在第二方面第二种可能的实现方式中,所述各个虚拟机的相邻程度包括判断虚拟机是否属于同一个集群或同一个节点。

结合第二方面,在第二方面第三种可能的实现方式中,所述聚类处理使用的聚类算法包括k-means算法、均值漂移聚类算法、基于密度的聚类算法、或凝聚层次聚类算法。

本发明提供一种虚拟微隔离网络的攻击面防护方法及系统,通过使用openflow协议收集、分析提取流量数据中的特征向量和流表项,获取分布式虚拟环境中虚拟机之间的通信关系,使用聚类处理对虚拟机进行微隔离分组,验证所述通信关系中的虚拟机之间是否存在网络攻击行为,根据验证结果对虚拟机的微隔离分组动态部署安全防护策略,通过各个虚拟机检查数据片段,提取可被利用的攻击向量,分析数据片段是否存在异常,多个异常数据片段之间是否存在逻辑关联,由此确定和标注异常点,调整相关微隔离分组的安全防护策略。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明虚拟微隔离网络的攻击面防护方法的流程图;

图2为本发明虚拟微隔离网络的攻击面防护系统的架构图。

具体实施方式

下面结合附图对本发明的优选实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。

图1为本申请提供的虚拟微隔离网络的攻击面防护方法的流程图,所述方法包括:

获取分布式虚拟网络中的流量数据,使用openflow协议收集流量统计信息,分析提取流量数据中的特征向量和流表项,根据流表项的关联关系,得到所述分布式虚拟网络中各个虚拟机的通信关系;

所述得到所述分布式虚拟网络中各个虚拟机的通信关系之前,还包括获取所述分布式虚拟网络的所有节点标识,将所述节点标识与虚拟机标识组成新的唯一标识字符串,根据该唯一标识字符串和流表项的前后关联关系,生成所述分布式虚拟网络中各个虚拟机的通信关系;

根据生成的所述各个虚拟机的通信关系、业务数据的关联程度、各个虚拟机的相邻程度进行聚类处理,将所述分布式虚拟网络中所有虚拟机分成若干个微隔离分组;

所述聚类处理还可以包括根据各个虚拟机资源的利用情况、或者业务链中是否存在不常用使用到的通信链路;

验证所述通信关系中的虚拟机之间是否存在网络攻击行为,若存在则认定被攻击的虚拟机为不安全虚拟机,升级其所在微隔离分组的安全防护策略,并标记所述不安全虚拟机,暂停所述不安全虚拟机与其他虚拟机的通信;若不存在则认定被验证的虚拟机为安全虚拟机;

当一个微隔离分组的所有虚拟机都为安全虚拟机时,则为该微隔离分组下发普通安全防护策略,允许流量数据在分组内虚拟机之间正常传输,允许分组内虚拟机与其他分组的虚拟机交换流量数据;

所述升级其所在微隔离分组的安全防护策略,包括暂停分组内不安全虚拟机的通信、禁止分组内所有虚拟机的流量数据传输、禁止分组内虚拟机与其他分组的虚拟机交换流量数据;

定期反复验证所述不安全虚拟机的通信关系是否仍然存在网络攻击行为,若该网络攻击行为消除,则将所述不安全虚拟机标记为安全虚拟机,调整其所在微隔离分组的安全防护策略;

服务器向各个虚拟机发送指令,所述指令用于命令各个虚拟机将本地数据片段上传,所述各个虚拟机接收到指令后,在微隔离分组内选举出一个临时主控点,将虚拟机本地数据片段传送给所述临时主控点;

所述临时主控点调用本地策略扫描所述数据片段,检查是否包含可被利用的攻击向量,再将所述可被利用的攻击向量以及数据片段副本打包,在业务处理间隙封装上传给服务器;所述封装包括在数据片段副本中插入数据发起者标识;

所述服务器接收到封装后的数据片段副本后,将解析后的数据片段与服务器本地的历史数据片段合并,使用分析模型对所述合并的数据片段进行分析,寻找其中可能存在的异常数据片段,将若干个异常数据片段所属的虚拟机标注为异常点,以及分析若干个异常数据片段之间是否存在逻辑关联;

所述服务器根据所述若干个异常数据片段之间存在的逻辑关联,建立异常点的前后关联关系,找到相关联的微隔离分组,升级所述相关联的微隔离分组的安全防护策略。

在一些优选实施例中,所述得到所述分布式虚拟网络中各个虚拟机的通信关系之前,还包括对流表项的预处理,删除虚拟机与外部服务器或网关之间的通信链路,删除不相关的字段,将源ip地址和目的ip地址作为匹配条件。

在一些优选实施例中,所述各个虚拟机的相邻程度包括判断虚拟机是否属于同一个集群或同一个节点。

在一些优选实施例中,所述聚类处理使用的聚类算法包括k-means算法、均值漂移聚类算法、基于密度的聚类算法、或凝聚层次聚类算法。

图2为本申请提供的虚拟微隔离网络的攻击面防护系统的架构图,所述系统包括:获取单元、分组单元、策略部署单元和服务器;

所述获取单元,用于获取分布式虚拟网络中的流量数据,使用openflow协议收集流量统计信息,分析提取流量数据中的特征向量和流表项,根据流表项的关联关系,得到所述分布式虚拟网络中各个虚拟机的通信关系;

所述得到所述分布式虚拟网络中各个虚拟机的通信关系之前,还包括获取所述分布式虚拟网络的所有节点标识,将所述节点标识与虚拟机标识组成新的唯一标识字符串,根据该唯一标识字符串和流表项的前后关联关系,生成所述分布式虚拟网络中各个虚拟机的通信关系;

所述分组单元,用于根据生成的所述各个虚拟机的通信关系、业务数据的关联程度、各个虚拟机的相邻程度进行聚类处理,将所述分布式虚拟网络中所有虚拟机分成若干个微隔离分组;

所述聚类处理还可以包括根据各个虚拟机资源的利用情况、或者业务链中是否存在不常用使用到的通信链路;

所述策略部署单元,用于验证所述通信关系中的虚拟机之间是否存在网络攻击行为,若存在则认定被攻击的虚拟机为不安全虚拟机,升级其所在微隔离分组的安全防护策略,并标记所述不安全虚拟机,暂停所述不安全虚拟机与其他虚拟机的通信;若不存在则认定被验证的虚拟机为安全虚拟机;

当一个微隔离分组的所有虚拟机都为安全虚拟机时,则为该微隔离分组下发普通安全防护策略,允许流量数据在分组内虚拟机之间正常传输,允许分组内虚拟机与其他分组的虚拟机交换流量数据;

所述升级其所在微隔离分组的安全防护策略,包括暂停分组内不安全虚拟机的通信、禁止分组内所有虚拟机的流量数据传输、禁止分组内虚拟机与其他分组的虚拟机交换流量数据;

定期反复验证所述不安全虚拟机的通信关系是否仍然存在网络攻击行为,若该网络攻击行为消除,则将所述不安全虚拟机标记为安全虚拟机,调整其所在微隔离分组的安全防护策略;

所述服务器,用于向各个虚拟机发送指令,所述指令用于命令各个虚拟机将本地数据片段上传,所述各个虚拟机接收到指令后,在微隔离分组内选举出一个临时主控点,将虚拟机本地数据片段传送给所述临时主控点;

所述临时主控点调用本地策略扫描所述数据片段,检查是否包含可被利用的攻击向量,再将所述可被利用的攻击向量以及数据片段副本打包,在业务处理间隙封装上传给服务器;所述封装包括在数据片段副本中插入数据发起者标识;

所述服务器接收到封装后的数据片段副本后,将解析后的数据片段与服务器本地的历史数据片段合并,使用分析模型对所述合并的数据片段进行分析,寻找其中可能存在的异常数据片段,将若干个异常数据片段所属的虚拟机标注为异常点,以及分析若干个异常数据片段之间是否存在逻辑关联;

所述服务器根据所述若干个异常数据片段之间存在的逻辑关联,建立异常点的前后关联关系,找到相关联的微隔离分组,升级所述相关联的微隔离分组的安全防护策略。

在一些优选实施例中,所述得到所述分布式虚拟网络中各个虚拟机的通信关系之前,还包括对流表项的预处理,删除虚拟机与外部服务器或网关之间的通信链路,删除不相关的字段,将源ip地址和目的ip地址作为匹配条件。

在一些优选实施例中,所述各个虚拟机的相邻程度包括判断虚拟机是否属于同一个集群或同一个节点。

在一些优选实施例中,所述聚类处理使用的聚类算法包括k-means算法、均值漂移聚类算法、基于密度的聚类算法、或凝聚层次聚类算法。

具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可以存储有程序,该程序执行时可包括本发明各个实施例中的部分或全部步骤。所述的存储介质可以为磁碟、光盘、只读存储记忆体(简称:rom)或随机存储记忆体(简称:ram)等。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书各个实施例之间相同相似的部分互相参见即可。尤其,对于实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

以上所述的本发明实施方式并不构成对本发明保护范围的限定。

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