一种流量异常检测方法、装置、电子设备及存储介质与流程

文档序号:21886786发布日期:2020-08-18 17:23阅读:163来源:国知局
一种流量异常检测方法、装置、电子设备及存储介质与流程

本发明涉及网络安全技术领域,尤其涉及一种流量异常检测方法、装置、电子设备及存储介质。



背景技术:

现有的流量异常检测一般是针对单一的数据源环境的流量异常检测,例如针对现有的运营商的流量异常检测,客户相对了解自己网络环境中流量的趋势情况,因此能够对某些重点ip的相关流量趋势和特征进行分析,从而进行流量异常检测。

现有的流量异常检测都是通过单机或者集群的盒子产品采集器,对流量数据的实时采集分析处理。随着日益增长的流量数据,特别是在5g时代,全网大流量数据环境下,由于存在流量趋势的波动性和多变性,流量异常类型的多样性等问题,全局分析网络流量中异常流量或者突发流量,一直为业界的重点研究技术难题。

目前在大流量数据环境下,还没有一种能够实现流量异常检测的有效方案。



技术实现要素:

本发明实施例提供了一种流量异常检测方法、装置、电子设备及存储介质,用以提供一种在大流量数据环境下,能够实现流量异常检测的有效方案。

本发明实施例提供了一种流量异常检测方法,所述方法包括:

获取待检测流量的第一ip信息;

针对预先确定的每个流量趋势相似组,判断该流量趋势相似组的第二ip信息组中是否存在所述第一ip信息,如果是,将该流量趋势相似组作为命中流量趋势相似组;

计算所述待检测流量的检测数据量与预先确定的每个命中流量趋势相似组对应的预测数据量的差值,当存在差值大于预设的阈值时,确定所述待检测流量为异常流量。

进一步地,预先确定每个流量趋势相似组的过程包括:

获取历史设定时长内的每条netflow流,按照异常类型将所述每条netflow流进行划分,得到每类的netflow流;

针对所述每类的netflow流,对该类的netflow流进行聚类处理,得到该类的每个流量趋势相似组。

进一步地,所述获取历史设定时长内的每条netflow流包括:

获取距离当前时间最近的设定时长内的每条netflow流。

进一步地,所述获取历史设定时长内的每条netflow流包括:

将历史设定时长内的多源流量采集到开源大数据缓存队列组件kafka,基于所述kafka将所述多源流量进行包括七元组、数据量在内的流量统计,得到历史设定时长内的每条netflow流。

进一步地,所述按照异常类型将所述每条netflow流进行划分包括:

按照预设的异常类型以及支持可插拔式定义的异常类型将所述每条netflow流进行划分。

进一步地,预先确定每个流量趋势相似组对应的预测数据量的过程包括:

针对每个流量趋势相似组,基于长短期记忆网络lstm模型对该流量趋势相似组进行时间序列的数据量预测,得到该流量趋势相似组对应的预测数据量。

进一步地,所述对该类的netflow流进行聚类处理包括:

对该类的netflow流进行特征提取,将该类的每条netflow流转化为每个特征向量,基于最邻近knn算法对每个特征向量进行聚类处理。

进一步地,所述将该类的每条netflow流转化为每个特征向量之后,基于最临近knn算法对每个特征向量进行聚类处理之前,所述方法还包括:

根据指令对所述每个特征向量进行降维处理,滤除所述每个特征向量中指定的特征值。

另一方面,本发明实施例提供了一种流量异常检测装置,所述装置包括:

获取模块,用于获取待检测流量的第一ip信息;

第一确定模块,用于针对预先确定的每个流量趋势相似组,判断该流量趋势相似组的第二ip信息组中是否存在所述第一ip信息,如果是,将该流量趋势相似组作为命中流量趋势相似组;

检测模块,用于计算所述待检测流量的检测数据量与预先确定的每个命中流量趋势相似组对应的预测数据量的差值,当存在差值大于预设的阈值时,确定所述待检测流量为异常流量。

进一步地,所述装置还包括:

第二确定模块,用于获取历史设定时长内的每条netflow流,按照异常类型将所述每条netflow流进行划分,得到每类的netflow流;针对所述每类的netflow流,对该类的netflow流进行聚类处理,得到该类的每个流量趋势相似组。

进一步地,所述第二确定模块,具体用于获取距离当前时间最近的设定时长内的每条netflow流。

进一步地,所述第二确定模块,具体用于将历史设定时长内的多源流量采集到kafka,基于所述kafka将所述多源流量进行包括七元组、数据量在内的流量统计,得到历史设定时长内的每条netflow流。

进一步地,所述第二确定模块,具体用于按照预设的异常类型以及支持可插拔式定义的异常类型将所述每条netflow流进行划分。

进一步地,所述装置还包括:

第三确定模块,用于针对每个流量趋势相似组,基于长短期记忆网络lstm模型对该流量趋势相似组进行时间序列的数据量预测,得到该流量趋势相似组对应的预测数据量。

进一步地,所述第二确定模块,具体用于对该类的netflow流进行特征提取,将该类的每条netflow流转化为每个特征向量,基于最邻近knn算法对每个特征向量进行聚类处理。

进一步地,所述装置还包括:

滤除模块,用于根据指令对所述每个特征向量进行降维处理,滤除所述每个特征向量中指定的特征值。

另一方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述任一项所述的方法步骤。

另一方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法步骤。

本发明实施例提供了一种流量异常检测方法、装置、电子设备及存储介质,所述方法包括:获取待检测流量的第一ip信息;针对预先确定的每个流量趋势相似组,判断该流量趋势相似组的第二ip信息组中是否存在所述第一ip信息,如果是,将该流量趋势相似组作为命中流量趋势相似组;计算所述待检测流量的检测数据量与预先确定的每个命中流量趋势相似组对应的预测数据量的差值,当存在差值大于预设的阈值时,确定所述待检测流量为异常流量。

由于在本发明实施例中,预先将全网大流量划分为多个流量趋势相似组,并且预先针对每个流量趋势相似组确定出了预测数据量,在进行实时流量异常检测时,根据待检测流量的第一ip信息以及每个流量趋势相似组的第二ip信息组,确定出命中流量趋势相似组。然后根据待检测流量的检测数据量与命中流量趋势相似组对应的预测数据量来检测待检测流量是否为异常流量。从而解决了在全网大流量环境下因为无法配置阈值和业务归属导致无法进行流量异常检测的问题,提供了一种在大流量数据环境下,能够实现流量异常检测的有效方案。

附图说明

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

图1为本发明实施例提供的流量异常检测过程示意图;

图2为本发明实施例提供的lstm模型原理图;

图3为本发明实施例提供的多维度聚类示意图;

图4为本发明实施例提供的流量异常检测方法总体架构图;

图5为本发明实施例提供的流量异常检测各模块间的架构图;

图6为本发明实施例提供的流量异常检测装置结构示意图;

图7为本发明实施例提供的电子设备结构示意图。

具体实施方式

下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

实施例1:

图1为本发明实施例提供的流量异常检测过程示意图,该过程包括以下步骤:

s101:获取待检测流量的第一ip信息;

s102:针对预先确定的每个流量趋势相似组,判断该流量趋势相似组的第二ip信息组中是否存在所述第一ip信息,如果是,将该流量趋势相似组作为命中流量趋势相似组;

s103:计算所述待检测流量的检测数据量与预先确定的每个命中流量趋势相似组对应的预测数据量的差值,当存在差值大于预设的阈值时,确定所述待检测流量为异常流量。

本发明实施例提供的流量异常检测方法应用于电子设备,该电子设备可以是pc、平板电脑及其它网络安全设备。

电子设备预先确定有每个流量趋势相似组,每个流量趋势相似组可以是根据异常类型确定的。每个流量趋势相似组中的每条流量都包含ip信息,每条流量的ip信息构成了ip信息组。在本发明实施例中,将流量趋势相似组中的每条流量的ip信息称为第二ip信息,将流量趋势相似组的每条流量的第二ip信息构成了ip信息组称为第二ip信息组。

电子设备在获取实时待检测流量之后,获取待检测流量的ip信息,本发明实施例中将待检测流量的ip信息称为第一ip信息。电子设备在获取待检测流量的第一ip信息后,在每个流量趋势相似组的第二ip信息组中查找是否存在第一ip信息,将存在第一ip信息的第二ip信息组所属的流量趋势相似组作为命中流量趋势相似组。

需要说明的是,本发明实施例中的第一ip信息可以仅包含源ip信息,也可以仅包含目的ip信息,也可以既包含源ip信息也包含目的ip信息。第二ip信息组中可以同时包含源ip信息和目的ip信息,以便第一ip信息的查找,当然,如果第一ip信息仅包含源ip信息时,第二ip信息组中也可以仅包含源ip信息,如果第一ip信息仅包含目的ip信息时,第二ip信息组中也可以仅包含目的ip信息。

电子设备预先确定出每个流量趋势相似组之后,针对每个流量趋势相似组确定有该流量趋势相似组对应的预测数据量。其中每个流量趋势相似组是时间序列的流量趋势相似组,其中包含的流量例如是历史一分钟的流量、历史五分钟的流量等等。针对每个流量趋势相似组,通过网络学习模型可以确定出该流量趋势相似组对应的预测数据量。其中,可以通过simplernn模型对该流量趋势相似组进行数据量预测,较佳的,预先确定每个流量趋势相似组对应的预测数据量的过程包括:针对每个流量趋势相似组,基于长短期记忆网络lstm模型对该流量趋势相似组进行时间序列的数据量预测,得到该流量趋势相似组对应的预测数据量。图2为lstm模型原理图,lstm模型的优势在于防止较早期的信号在处理过程中逐渐消失的影响,解决梯度消失的问题。本发明实施例中的数据量可以是每秒发送的包数或者每秒发送的字节数等。

电子设备在接收到待检测流量后,确定出待检测流量的检测数据量。然后计算待检测流量的检测数据量与每个命中流量趋势相似组对应的预测数据量的差值。电子设备中预先保存有用于检测待检测流量是否为异常流量的阈值,也就是预设的阈值。当计算出的差值中,存在大于预设的阈值的差值时,则确定待检测流量为异常流量。

并且,如果每个流量趋势相似组是根据异常类型确定的,那么在确定出存在大于预设的阈值的差值,也就是确定待检测流量为异常流量后,可以确定出大于预设的阈值的差值所对应的流量趋势相似组是哪个,然后根据确定出的对应的流量趋势相似组所对应的异常类型,便可以确定出待检测流量的异常类型,即待检测流量的异常类型与对应的流量趋势相似组所对应的异常类型相同。

由于在本发明实施例中,预先将全网大流量划分为多个流量趋势相似组,并且预先针对每个流量趋势相似组确定出了预测数据量,在进行实时流量异常检测时,根据待检测流量的第一ip信息以及每个流量趋势相似组的第二ip信息组,确定出命中流量趋势相似组。然后根据待检测流量的检测数据量与命中流量趋势相似组对应的预测数据量来检测待检测流量是否为异常流量。从而解决了在全网大流量环境下因为无法配置阈值和业务归属导致无法进行流量异常检测的问题,提供了一种在大流量数据环境下,能够实现流量异常检测的有效方案。

实施例2:

在上述实施例的基础上,在本发明实施例中,预先确定每个流量趋势相似组的过程包括:

获取历史设定时长内的每条netflow流,按照异常类型将所述每条netflow流进行划分,得到每类的netflow流;

针对所述每类的netflow流,对该类的netflow流进行聚类处理,得到该类的每个流量趋势相似组。

电子设备预先确定每个流量趋势相似组时,首先获取历史设定时长内的每条netflow流,在本发明实施例中,不对历史设定时长进行限定。将获取到的每条netflow流按照异常类型进行划分,得到每类的netflow流。其中,按照异常类型将每条netflow流进行划分包括:按照预设的异常类型以及支持可插拔式定义的异常类型将所述每条netflow流进行划分。预设的异常类型包括syn异常类型、ack异常类型等,支持可插拔式定义的异常类型可以是由用户定义的任意规则的异常类型。

电子设备针对每类的netflow流,对该类的netflow流进行聚类处理,得到该类的每个流量趋势相似组。其中,在本发明实施例中,不对聚类处理的算法进行限定。可以是kmeans算法,也可以是knn算法等。通过对每类的netflow流进行聚类处理,可以得到每类的多个流量趋势相似组。

实施例3:

由于随着时间的推移,电子设备采集到的流量也有可能发生变化,为了使对流量的异常检测更准确,在上述各实施例的基础上,在本发明实施例中,所述获取历史设定时长内的每条netflow流包括:

获取距离当前时间最近的设定时长内的每条netflow流。

例如,设定时长为5天,当前时间为5月6日,则获取5月1日至5月5日时间长度内的每条netflow流;当前时间为5月7日时,则获取5月2日至5月6日时间长度内的每条netflow流。

由于在本发明实施例中获取距离当前时间最近的设定时长内的每条netflow流,也就是通过“滚动”获取每条netflow流的方式来进行后续的流量异常检测,这样可以使得确定的每个流量趋势相似组也是实时更新的,也就是说预先确定的每个流量趋势相似组对应的预测数据量也是实时更新的,从而使得本发明实施例提供的流量异常检测方案随着时间的推移,准确性不会变差。

实施例4:

现有技术的流量异常检测存在流量检测数据源单一的问题。主要针对运营商路由器的流量进行采集,没有做到统一的流量数据源的规整。在面对某些监管单位的流量数据中心的数据源时,需要进行定制化开发修改。为了解决流量数据源统一的问题,在上述各实施例的基础上,在本发明实施例中,所述获取历史设定时长内的每条netflow流包括:

将历史设定时长内的多源流量采集到开源大数据缓存队列组件kafka,基于所述kafka将所述多源流量进行包括七元组、数据量在内的流量统计,得到历史设定时长内的每条netflow流。

kafka是由apache软件基金会开发的一个开源大数据缓存队列组件,一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。

在本发明实施例中,流量的来源主要分为两种,一种是通过采集器直接接受路由器发送出来xflow流量数据,还有一种为通过消费某些监管单位数据中心收集到下属管理单位的流量数据。电子设备将历史设定时长内的多源流量采集到kafka,基于kafka将多源流量进行包括七元组、数据量在内的流量统计,得到历史设定时长内的每条netflow流。七元组包括源ip信息址、目的ip信息、协议号、源端口、目的端口、服务类型以及接口索引。数据量包括包数、字节数等信息。另外还需要统计流量时间戳信息,从而确定流量产生的时间进而得到设定时长内流量的变化趋势,为后续确定流量趋势相似组对应的预测数据量做准备。

针对大规模网络环境下,多源流数据的采集,转换为包含xflow七元组完整信息的kafka数据源,区别于现有只采集路由器流量数据接入的方式,采用kafka集中数据源的方式,可以解决现有路由器网络和监管单位数据中心数据并行提供网络流量数据源的问题,通过统一化格式,提取出异常发现所需的必要信息化字段,即七元组和数据量字段。

实施例5:

为了使对netflow流进行聚类处理更准确,在上述各实施例的基础上,在本发明实施例中,所述对该类的netflow流进行聚类处理包括:

对该类的netflow流进行特征提取,将该类的每条netflow流转化为每个特征向量,基于最邻近knn算法对每个特征向量进行聚类处理。

在对netflow流进行特征提取,将该类的每条netflow流转化为每个特征向量,特征向量中的特征值可以是netflow流的binned_entropy(分组熵),cid_ce(时序数据复杂度),abs_energy(平方和),mean(平均值),maximum(最大值),minimum(最小值),standard_deviation(标准差),variance(变化幅度),median(中位数)等。上述特征值构成特征向量,然后基于knn算法对每个特征向量进行聚类处理,从而实现了对netflow流的聚类。多维度聚类示意图如图3所示,不同特征的netflow流分到了不同的类别,得到了不同的流量趋势相似组。

上述特征值中,用户可以指定利用哪些特征值进行聚类。例如,用户发现标准差这一特征对聚类准确度的影响较小,或者说标准差这一特征对聚类准确度有较坏的影响,则用户可以向电子设备发送指令,从而滤除标准差这一特征。即电子设备根据指令对所述每个特征向量进行降维处理,滤除所述每个特征向量中指定的特征值。这样可以使得参与聚类的特征向量更准确,进而使得确定的流量趋势相似组更准确。

下面结合现有技术存在的问题,对本发明实施例的方案进行详细介绍。

现有技术对网络异常流量检测分析主要存在以下几点缺陷和不足:

1、流量检测数据源的单一问题。主要针对运营商路由器的流量进行采集,没有做到统一的流量数据源的规整。在面对某些监管单位的流量数据中心的数据源时,需要进行定制化开发修改。

2、大规模流量环境的流量环境处理性能上的问题。现有的流量检测都是通过单机或者集群的盒子产品采集器,对流量数据的实时采集分析处理,随着日益增长的流量数据,特别在5g环境的逐渐扩张,现有的采集环境,急需引入大数据处理技术,进行数据的采集、中间件缓存、大数据分析的处理能力。

3、针对重点客户的基线自学习已经不能满足全网阈值学习的需求。现有自动化阈值获取技术主要是基线自学习获取阈值,然后进行异常流量分析的技术手段,需要客户在了解网络环境的情况下,配置自身的网络规划业务域,在业务域内部进行相似流量的基线学习,针对不同的攻击类型进行学习,以获取该业务域内的各类型阈值,进行异常流量的检测。因此在全网环境下的异常流量检测,无法手动划定业务域范围,手动区分流量的相似性和攻击类型分类检测。

4、基线学习的滚动更新目前还未得到较好的实现和运用。

基于上述问题的考虑,为了解决常规路由器流量数据和某些监管单位流量数据的统一化处理的问题,本发明实施例通过kafka数据中间件技术,将路由器的流量数据和监管单位数据中心数据进行包括七元组数据流量统计,兼容了常规路由器流量数据采集和某些数据中心流量数据的采集分析。为了解决全网流量环境下,流量数据接入处理性能的问题,本发明采用kafka技术对数据缓存,通过sparkstreaming大数据低延迟实时处理技术,对接入数据进行并行化多维度数据分析。

针对全网复杂流量环境下,不能划分业务域进行分组学习的问题,本发明提出将流量数据进行异常攻击类型可插拔式分类并行分析,然后进行聚类分组的技术实现方式,对全网流量数据进行基线学习的数据预处理分组。

在流量数据类型分类和聚类分组的基础上,为了解决基线学习准确度的问题,本发明提出对全网流量数据分组后的各组数据分别进行lstm深度学习,对下一时刻的流量值进行学习预测。针对基线学习阈值更新不及时的问题,本发明通过滚动的聚类分组和lstm深度学习技术,能够保证持续更新时间序列上的学习阈值,同时防止较早期的流量信息在处理过程中逐渐消失的影响,解决了梯度消失的问题。

综上,在数据接入方面,通过大数据组件kafka做到流量数据统一化处理;在大网流数据环境下,采用大数据处理技术,提高数据处理效率;针对不能划分业务域的问题,提出通过对不同攻击类型进行分组分类,然后聚类相似趋势流量,通过学习进行分组分类;然后按照时间序列进行lstm深度学习获取某类型下某分组的下一时刻的流量预测值,最后通过预测值与实时实际流量进行阈值对比,进行异常流量的发现。本发明实施例提供的方法能够解决现有大网环境下无法配置阈值、手动配置业务区间的问题,实现通过自学习发现大网环境下的异常流量。

具体的,针对日益增长的网络流量数据,和目前流量数据源的提供形式多样化,需要进行大流量全网的异常流量检测分析;同时,现有针对网络流量检测的手段技术存在以上阐述的问题,本发明实施例提供了一种基于大流量数据的网络异常流量检测方法,主要提供一种解决流量数据多样化、大流量数据处理、基线自学习准确性、滚动更新检测阈值等问题的异常流量检测方法。本发明实施例提供的流量异常检测方法总体架构如图4所示。流量异常检测各模块间的架构如图5所示。

如图4和图5所示,将多源的流量数据采集到apachekafka,保存完整的七元组流量信息到apachekafka中,实现大数据环境下的缓存和高可用性。目前提供xflow流量数据源的形式多种多样,主要可以分为两种,一种是通过采集器直接接受路由器发送出来xflow流量数据,还有一种为通过消费某些监管单位数据中心收集到下属管理单位的流量数据。以上两种都是要基于xflow中的七元组流量信息进行分析,七元组包括源ip、目的ip、源端口、目的端口、协议号、服务类型以及接口索引,进行分析的数据还包括流量时间戳、字节数和包数等信息。将统一序列化后的数据写入kafka大数据组件,进行缓存,作为后续处理的数据源。

如图4和图5所示,根据kafka数据源,通过sparkstreaming进行实时低延迟的并行化维度划分,其中,本发明实施例中的并行化维度划分例如是按照流量元素分析、信息占比分析、汇总计数分析三个维度进行并行划分,然后在三个维度分析的基础上,再进行细分为不同的异常类型分析维度,做到切片可插拔的接口提供方式,支持不同维度下不同异常类型的分析插件。针对流量元素分析可以切片为syn、ack、协议、tcpflag等元素信息的分类统计;信息占比分析可以为包长、端口+协议等占比的划分方式;汇总计数统计则可以统计源ip条目、指定端口条目的计数统计。

根据不同维度的划分统计,分别进行各自的流量趋势聚类,将统计对象在统计周期内变化趋势相似的流量进行汇聚为一个流量趋势相似组;因此,将全网流量数据划分为多个分析维度,每个维度包含一个组群,该组群中包含多个流量趋势相似组。

流量趋势相似组的汇聚包含两个主要处理流程,首先进行流量数据特征提取,提取数据的binned_entropy(分组熵),cid_ce(时序数据复杂度),abs_energy(平方和),mean(平均值),maximum(最大值),minimum(最小值),standard_deviation(标准差),variance(变化幅度),median(中位数)等特征值。通过提取上述特征,将flow时序数据转换为不同的特征值,以便深度学习层对数据进行聚类分析。根据用户需要可以进行pca数据降维和数据归一化处理。之后使用knn算法实现对数据进行聚类操作,将相同分析方向的相近流量划归为一个流量趋势相似组。其中多维度聚类示例如图3所示。

然后,根据不同分析维度中的各个流量趋势相似组,分别对每个流量相似组使用lsmt进行时间序列的预测,获取不同异常类型分析维度下各个流量趋势相似组的预测数据量。最后,获取实时待检测网络流量的ip信息,然后根据ip信息确定命中的某个异常类型分析维度的某个流量趋势相似组,然后根据检测数据量,与对应该流量趋势组深度学习出的预测数据量进行比对,识别发现待检测流量是否为异常流量,如果是,一并输出其异常类型。

如图5所示,流量异常检测各模块间的架构图中包括spark处理层、数据分类层、数据预处理层和深度学习层。spark处理层用于基于xflow中的七元组流量信息进行分析,进行分析的数据还包括流量时间戳、字节数和包数等信息。将统一序列化后的数据写入kafka大数据组件,进行缓存,作为后续处理的数据源。另外,按照预设的异常类型以及支持可插拔式定义的异常类型将所述每条netflow流进行划分也可在spark处理层进行。数据分类层用于将数据进行分类,例如分类至流量元素特征群、信息占比特征群和计数统计特征群。数据预处理层用于对数据进行特征提取、pca数据降维和特征归一化处理。深度学习层用于对数据进行分类学习、聚类、深度学习和判定性预测,判定性预测也就是数据异常类型的预测。

在本发明实施例中,多数据源统一写入apachekafka中,在大规模网络环境或者某些大型数据中心能够提供统一化的接口,避免了数据源的多样性而不易接入的问题。sparkstreaming用于并行化的多维度划分,支持多个统计的维度,每一个统计维度为一种流量类型的统计,比如流量值类型,可以针对目的ip流量值分析,发现外部到内部的流量情况,也可以针对源ip流量值进行分析,发现内部到外部的流量异常情况,或者针对协议流量值进行分析,发现网路中某种协议流量的异常情况。同时占比类型维度的划分,可以分析网络中端口的占比情况,发现网络中端口流量占比出现异常的情况;分析网络中协议的占比,发现异常协议占比的情况。同时计数统计维度的划分,可以分析源ip或者目的ip在单位时间内的统计个数,发现网络中ip数突增或者异常。针对不同维度的统计,按照流量趋势进行聚类,降低在大规模网络下的性能问题;将变化趋势相同的目的ip,在不同分析维度中进行汇聚,形成为一个组别。使用lstm深度学习算法,预测下一个时序时间点的流量阈值情况,提高学习的准确度。最后,通过滚动学习时间序列,不断更新学习阈值,通过实时对比实时检测值与不同维度的不同异常类型的预测值,获取异常流量的分布情况。

本发明实施例涉及的术语解释见下表:

实施例6:

图6为本发明实施例提供的流量异常检测装置结构示意图,该装置包括:

获取模块61,用于获取待检测流量的第一ip信息;

第一确定模块62,用于针对预先确定的每个流量趋势相似组,判断该流量趋势相似组的第二ip信息组中是否存在所述第一ip信息,如果是,将该流量趋势相似组作为命中流量趋势相似组;

检测模块63,用于计算所述待检测流量的检测数据量与预先确定的每个命中流量趋势相似组对应的预测数据量的差值,当存在差值大于预设的阈值时,确定所述待检测流量为异常流量。

所述装置还包括:

第二确定模块64,用于获取历史设定时长内的每条netflow流,按照异常类型将所述每条netflow流进行划分,得到每类的netflow流;针对所述每类的netflow流,对该类的netflow流进行聚类处理,得到该类的每个流量趋势相似组。

所述第二确定模块64,具体用于获取距离当前时间最近的设定时长内的每条netflow流。

所述第二确定模块64,具体用于将历史设定时长内的多源流量采集到kafka,基于所述kafka将所述多源流量进行包括七元组、数据量在内的流量统计,得到历史设定时长内的每条netflow流。

所述第二确定模块64,具体用于按照预设的异常类型以及支持可插拔式定义的异常类型将所述每条netflow流进行划分。

所述装置还包括:

第三确定模块65,用于针对每个流量趋势相似组,基于长短期记忆网络lstm模型对该流量趋势相似组进行时间序列的数据量预测,得到该流量趋势相似组对应的预测数据量。

所述第二确定模块64,具体用于对该类的netflow流进行特征提取,将该类的每条netflow流转化为每个特征向量,基于最邻近knn算法对每个特征向量进行聚类处理。

所述装置还包括:

滤除模块66,用于根据指令对所述每个特征向量进行降维处理,滤除所述每个特征向量中指定的特征值。

实施例7:

在上述各实施例的基础上,本发明实施例中还提供了一种电子设备,如图7所示,包括:处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信;

所述存储器303中存储有计算机程序,当所述程序被所述处理器301执行时,使得所述处理器301执行如下步骤:

获取待检测流量的第一ip信息;

针对预先确定的每个流量趋势相似组,判断该流量趋势相似组的第二ip信息组中是否存在所述第一ip信息,如果是,将该流量趋势相似组作为命中流量趋势相似组;

计算所述待检测流量的检测数据量与预先确定的每个命中流量趋势相似组对应的预测数据量的差值,当存在差值大于预设的阈值时,确定所述待检测流量为异常流量。

基于同一发明构思,本发明实施例中还提供了一种电子设备,由于上述电子设备解决问题的原理与流量异常检测方法相似,因此上述电子设备的实施可以参见方法的实施,重复之处不再赘述。

本发明实施例提供的电子设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(personaldigitalassistant,pda)、网络侧设备等。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口302用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述处理器可以是通用处理器,包括中央处理器、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。

在本发明实施例中处理器执行存储器上所存放的程序时,实现获取待检测流量的第一ip信息;针对预先确定的每个流量趋势相似组,判断该流量趋势相似组的第二ip信息组中是否存在所述第一ip信息,如果是,将该流量趋势相似组作为命中流量趋势相似组;计算所述待检测流量的检测数据量与预先确定的每个命中流量趋势相似组对应的预测数据量的差值,当存在差值大于预设的阈值时,确定所述待检测流量为异常流量。

由于在本发明实施例中,预先将全网大流量划分为多个流量趋势相似组,并且预先针对每个流量趋势相似组确定出了预测数据量,在进行实时流量异常检测时,根据待检测流量的第一ip信息以及每个流量趋势相似组的第二ip信息组,确定出命中流量趋势相似组。然后根据待检测流量的检测数据量与命中流量趋势相似组对应的预测数据量来检测待检测流量是否为异常流量。从而解决了在全网大流量环境下因为无法配置阈值和业务归属导致无法进行流量异常检测的问题,提供了一种在大流量数据环境下,能够实现流量异常检测的有效方案。

实施例8:

在上述各实施例的基础上,本发明实施例还提供了一种计算机存储可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:

获取待检测流量的第一ip信息;

针对预先确定的每个流量趋势相似组,判断该流量趋势相似组的第二ip信息组中是否存在所述第一ip信息,如果是,将该流量趋势相似组作为命中流量趋势相似组;

计算所述待检测流量的检测数据量与预先确定的每个命中流量趋势相似组对应的预测数据量的差值,当存在差值大于预设的阈值时,确定所述待检测流量为异常流量。

基于同一发明构思,本发明实施例中还提供了一种计算机可读存储介质,由于处理器在执行上述计算机可读存储介质上存储的计算机程序时解决问题的原理与流量异常检测方法相似,因此处理器在执行上述计算机可读存储介质存储的计算机程序的实施可以参见方法的实施,重复之处不再赘述。

上述计算机可读存储介质可以是电子设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(mo)等、光学存储器如cd、dvd、bd、hvd等、以及半导体存储器如rom、eprom、eeprom、非易失性存储器(nandflash)、固态硬盘(ssd)等。

在本发明实施例中提供的计算机可读存储介质内存储计算机程序,计算机程序被处理器执行时实现获取待检测流量的第一ip信息;针对预先确定的每个流量趋势相似组,判断该流量趋势相似组的第二ip信息组中是否存在所述第一ip信息,如果是,将该流量趋势相似组作为命中流量趋势相似组;计算所述待检测流量的检测数据量与预先确定的每个命中流量趋势相似组对应的预测数据量的差值,当存在差值大于预设的阈值时,确定所述待检测流量为异常流量。

由于在本发明实施例中,预先将全网大流量划分为多个流量趋势相似组,并且预先针对每个流量趋势相似组确定出了预测数据量,在进行实时流量异常检测时,根据待检测流量的第一ip信息以及每个流量趋势相似组的第二ip信息组,确定出命中流量趋势相似组。然后根据待检测流量的检测数据量与命中流量趋势相似组对应的预测数据量来检测待检测流量是否为异常流量。从而解决了在全网大流量环境下因为无法配置阈值和业务归属导致无法进行流量异常检测的问题,提供了一种在大流量数据环境下,能够实现流量异常检测的有效方案。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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