基于流量镜像的异常流量检测方法及装置与流程

文档序号:14522744阅读:251来源:国知局
基于流量镜像的异常流量检测方法及装置与流程

本发明涉及网络技术,尤其涉及一种基于流量镜像的异常流量检测方法及装置。



背景技术:

随着计算机与网络技术的发展,网络流量异常检测和海量数据处理技术逐渐成为研究热点。

目前,现有的异常流量检测技术是采用流量取样的方式进行分析,对于云互联网数据中心(internationaldatacorporation,idc)流量分析的支持不足,更偏重于互联网或者确定业务的流量分析。在确定业务的条件下,流量的特征比较确定,但是在云环境下流量复杂性要高很多,遇到更大的挑战。

因此,现有的异常流量检测技术对云服务提供商的大流量分析能力不足,尤其对云idc流量进行分析和处理时的异常流量检测的准确度较低。



技术实现要素:

在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。

为了解决上述技术问题,本发明提供了一种基于流量镜像的异常流量检测方法及装置,以至少解决现有的异常流量检测技术对云idc流量进行分析和处理时存在异常流量检测准确度较低的问题。

为了达到本发明目的,根据本发明的一个方面,提供了一种基于流量镜像的异常流量检测方法,异常流量检测方法包括:采用流量镜像方法实时获取云idc的镜像流量,并将获取的镜像流量按照租户进行分流,以得到每个租户各自的镜像流量;通过对每个租户的镜像流量进行特征提取,得到其镜像流量的特征数据并进行存储;针对每个租户,根据其当前镜像流量的特征数据、历史镜像流量的特征数据,结合泊松分布以及离群点检测方法来判定当前镜像流量是否为异常流量。

进一步地,离群点检测方法包括具有噪声的基于密度的聚类方法(density-basedspatialclusteringofapplicationswithnoise,dbscan)、支持向量机(supportvectormachine,svm)、逻辑回归、线性拟合中的一种或多种。

进一步地,结合泊松分布以及离群点检测方法来判定当前镜像流量是否为异常流量的步骤包括:根据该租户的历史镜像流量的特征数据判定其是否对应于稳定业务类型;在判定该租户对应于稳定业务类型的情况下,采用卡方校验方法以及通过最小二乘法进行线性拟合来获得该租户当前镜像流量对应的特征预测值,以根据该租户当前镜像流量对应的特征预测值与实际的特征数据之差来确定该当前镜像流量是否为异常流量。

进一步地,结合泊松分布以及离群点检测方法来判定当前镜像流量是否为异常流量的步骤还包括:确定当前镜像流量之前的预定时间段内的历史镜像流量,利用该预定时间段内的历史镜像流量的特征数据,采用逻辑回归方法获得当前镜像流量的对应的特征预测值,以根据该租户当前镜像流量对应的特征预测值与实际的特征数据之差来确定该当前镜像流量是否为异常流量。

进一步地,对每个租户的镜像流量进行特征提取的步骤包括:对于每个租户的镜像流量,提取该镜像流量的多种特征,并通过计算多种特征之间的相关性来在多种特征之中选择至少部分特征,作为特征提取结果。

进一步地,镜像流量的特征数据包括以下特征中的至少部分:当前流量值;网络协议数据;应用层数据;传输速率;包转发率;源ip分布;ip特征;荷载的协议;连接数;url访问频次。

进一步地,异常流量检测方法还包括:针对每个租户,基于该租户的历史镜像流量的特征数据,判定该租户是否满足预设条件,并在其满足预设条件的情况下判定该租户存在业务异常;预设条件为:该租户的连接数、url访问频次、流量增加,并且其源ip信誉值高于预设值。

根据本发明的另一方面,还提供了一种基于流量镜像的异常流量检测装置,该异常流量检测装置包括:流量镜像单元,其用于采用流量镜像方法实时获取云idc的镜像流量;分流单元,其用于将获取的镜像流量按照租户进行分流,以得到每个租户各自的镜像流量;特征提取单元,其用于通过对每个租户的镜像流量进行特征提取,得到其镜像流量的特征数据并进行存储;异常检测单元,其用于针对每个租户,根据其当前镜像流量的特征数据、历史镜像流量的特征数据,结合泊松分布以及离群点检测方法来判定当前镜像流量是否为异常流量。

进一步地,异常检测单元采用的离群点检测方法包括dbscan、svm、逻辑回归、线性拟合中的一种或多种。

进一步地,异常检测单元还用于:针对每个租户,基于该租户的历史镜像流量的特征数据,判定该租户是否满足预设条件,并在其满足预设条件的情况下判定该租户存在业务异常;预设条件为:该租户的连接数、url访问频次、流量增加,并且其源ip信誉值高于预设值。

本发明的基于流量镜像的异常流量检测方法及装置,其采用流量镜像方法实时获取云idc镜像流量,通过对每个租户的镜像流量进行高性能数据包预处理,得到其镜像流量的特征数据,由此基于当前镜像流量的特征数据、历史镜像流量的特征数据来检测异常流量。

本发明的上述异常流量检测方法及装置通过采用流量镜像技术来处理云idc的流量数据,具有以下有益效果:(1)能够处理海量的流量,能够准确地发现网络攻击或者系统异常,可解决现有技术在处理海量网络流量和数据的分析能力不足以及在云idc流量处理分析时不能准确检测异常流量的问题;(2)相比于现有技术,本发明的上述异常流量检测方法及装置能够提供实时检测,快速定位发生异常的对象,由此解决了现有技术在分析和检测的实时性方面存在不足的问题;(3)本发明适于在云计算idc机房实施,便于扩展。

此外,在本发明的一些实施例中,可以采用dpdk做高性能数据包处理,以及采用流式计算平台做低延时检测逻辑,由此能够降低检测的延时。

此外,在本发明的一些实施例中,通过优化检测方法,采用多种探测方法集合,避免单一方法带来的局限性,同时降低误报的概率。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1a为本发明的基于流量镜像的异常流量检测方法的一个示例性处理的流程图;

图1b为本发明的基于流量镜像的异常流量检测方法的

图1c为本发明的基于流量镜像的异常流量检测方法的网络拓扑图;

图2为第一子处理流程的流程图;

图3为第二子处理流程的流程图;

图4为本发明的基于流量镜像的异常流量检测方法的另一个示例性处理的流程图;

图5为本发明的基于流量镜像的异常流量检测装置的一种示例结构的框图。

本领域技术人员应当理解,附图中的元件仅仅是为了简单和清楚起见而示出的,而且不一定是按比例绘制的。例如,附图中某些元件的尺寸可能相对于其他元件放大了,以便有助于提高对本发明实施例的理解。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本发明的实施例提供了一种基于流量镜像的异常流量检测方法,该异常流量检测方法包括:采用流量镜像方法实时获取云idc的镜像流量,并将获取的镜像流量按照租户进行分流,以得到每个租户各自的镜像流量;通过对每个租户的镜像流量进行特征提取,得到其镜像流量的特征数据并进行存储;针对每个租户,根据其当前镜像流量的特征数据、历史镜像流量的特征数据,结合泊松分布以及离群点检测方法来判定当前镜像流量是否为异常流量。

下面结合图1a来描述上述基于流量镜像的异常流量检测方法的一个示例的处理流程。

如图1a所示,方法开始后,执行步骤s110。在步骤s110中,采用流量镜像方法实时获取云idc的镜像流量,并将获取的镜像流量按照租户进行分流,以得到每个租户各自的镜像流量。然后,执行步骤s120。

流量镜像技术是通过在如交换机或路由器上,将一个或多个源端口的数据流量转发到某一个指定端口来实现对网络的监听,指定端口称之为“镜像端口”,在不严重影响源端口正常吞吐流量的情况下,可以通过镜像端口对网络的流量进行监控分析。

此外,实时计算一般都是针对海量数据进行的,一般要求为秒级。

在步骤s120中,通过对每个租户的镜像流量进行特征提取,得到其镜像流量的特征数据并进行存储。然后,执行步骤s130。

步骤s120是高性能数据包预处理步骤,在该步骤中,可以采用dpdk(intel公司发布的一款数据包转发处理套件)来实现高性能的数据包处理,将得到的镜像流量的各个特征解析,加速镜像流量预处理。举例来说,如http协议,它包括某些特征字段,可以在此基础上建立状态机,通过对数据包的荷载内容进行匹配,来进行协议解析。由于需要性能提升,需要进行并行的匹配。

根据一种实现方式,步骤s120中所述的对每个租户的镜像流量进行特征提取的步骤可以通过如下处理来实现:对于每个租户的镜像流量,提取该镜像流量的多种特征,并通过计算多种特征之间的相关性来在多种特征之中选择至少部分特征,作为特征提取结果。

例如,镜像流量的特征数据可以包括以下特征中的至少部分:当前流量值;网络协议(tcp/udp)数据;应用层(如http)数据;传输速率(单位bps);包转发率(单位pps);源ip分布;ip特征;荷载的协议;连接数;url访问频次。

在步骤s130中,针对每个租户,根据其当前镜像流量的特征数据、历史镜像流量的特征数据,结合泊松分布以及离群点检测方法来判定当前镜像流量是否为异常流量(如攻击流量)。这样,执行完步骤s130后可以结束该处理。例如,通过匹配流量分布,分析各个特征的相关性(可以采用欧几里德距离来描述相关性,采用机器学习算法特征之间关联程度等,如贝叶斯公式),查找离群点等方法来发现异常。

根据一种实现方式,离群点检测方法可以包括dbscan、svm、逻辑回归、线性拟合中的一种或多种。

在一个例子中,步骤s130的处理例如可以采用如图1b所示的流程来实现。如图1b所示,首先执行步骤s131。在步骤s131中,按小时来统计当前镜像流量的bps和pps值,作为当前镜像流量的特征数据,则其对应的历史镜像流量的特征数据为过去的一段时间内每一天的同一时间段的bps和pps值。如,统计获得当天20:00~21:00的bps和pps值,其对应的历史历史镜像流量的特征数据为过去30天(或者其他时间段)每一天20:00~21:00的bps和pps值。

这样,在步骤s132中,利用对应的历史镜像流量的特征数据和当前镜像流量的特征数据,根据泊松算法来计算当前镜像流量的特征数据所出现的概率,将该概率记为p。

然后,在步骤s133中,判定概率p是否小于80%:若是,执行步骤s134;否则,判定当前镜像流量为正常流量(步骤s135)。

在步骤s134中,判定当前镜像流量存在异常,此时需要进一步计算来判定。

然后,在步骤136中,利用历史镜像流量的特征数据和当前镜像流量的特征数据进行离群点计算,以获得当前镜像流量和历史镜像流量中每段镜像流量的离群点因子。

例如,将当前镜像流量的特征数据纳入历史镜像流量的特征数据,然后利用局部离群因子(localoutlierfactor,lof)检测方法对这些数据(即历史镜像流量的特征数据与当前镜像流量的特征数据)进行距离计算,以获得每个点的离群点因子。其中,这里所说的每个点是指每段镜像流量,如当前镜像流量、每段历史镜像流量。

然后,在步骤s137中,将步骤s136中得到的所有离群点因子按从大到小顺序进行排序,并取排在最前面的k(如k可取值为3或5等)个离群点因子。

这样,在步骤s138中,判定当前镜像流量的离群点因子是否包含在上述k个离群点因子之中:若是,则判定当前镜像流量为异常流量,并报警(步骤s139);否则,判定当前镜像流量为正常流量(步骤s135)。

图1c示出了在本发明的一个示例中用于实现上述基于流量镜像的异常流量检测方法的网络拓扑结构。

如图1c所示,通过流量镜像技术从云idc获取的镜像流量(相当于图1a所示的步骤s110)被转至“流量预处理”,经过“流量预处理”后导出流量深度分析结果(相当于图1a所示的步骤s120),然后被发送至“计算集群”。其中,流量深度解析可以探测出数据包的应用协议,例如qq、bt、微信等等,增加检测异常算法特征,提升准确度。“计算集群”用于执行异常检测程序(相当于图1a所示的步骤s130),其中,“计算集群”通过与防火墙联动的方式来提高其安全性。

根据一种实现方式,步骤s130中所述的结合泊松分布以及离群点检测方法来判定当前镜像流量是否为异常流量的步骤可以包括如图2所示的第一子处理流程。如图2所示,第一子处理流程开始后,执行步骤s210。

在步骤s210中,根据该租户的历史镜像流量的特征数据判定其是否对应于稳定业务类型。若判定该租户对应于稳定业务类型,执行步骤s220;否则,结束第一子处理流程。

在步骤s220中,采用卡方校验方法以及通过最小二乘法进行线性拟合来获得该租户当前镜像流量对应的特征预测值。然后,执行步骤s230。

在步骤s230中,根据该租户当前镜像流量对应的特征预测值与实际的特征数据之差来确定该当前镜像流量是否为异常流量。结束第一子处理流程。

此外,根据另一种实现方式,步骤s130中所述的结合泊松分布以及离群点检测方法来判定当前镜像流量是否为异常流量的步骤也可以包括如图3所示的第二子处理流程。如图3所示,第二子处理流程开始后,执行步骤s310。

在步骤s310中,确定当前镜像流量之前的预定时间段内的历史镜像流量。然后,执行步骤s320。

在步骤s320中,利用该预定时间段内的历史镜像流量的特征数据,采用逻辑回归方法获得当前镜像流量的对应的特征预测值。然后,执行步骤s330。

在步骤s330中,根据该租户当前镜像流量对应的特征预测值与实际的特征数据之差来确定该当前镜像流量是否为异常流量。结束第二子处理流程。

例如,在步骤s330中,可以预设一组阈值,如第一阈值s1、第二阈值s2、…第n阈值sn,其中,n为特征种数(步骤s120中所述的对每个租户的镜像流量进行特征提取的特征种类数目)。这样,每种特征各自对应一个阈值,计算每种特征对应的特征预测值与实际值之差,若当前镜像流量对应的特征数据中,存在任一种特征对应的特征预测值与实际值之差大于其对应的阈值,则判定当前镜像流量是否为异常流量。

综上可知,由于在云idc由于有大量的租户,业务具有很大的不确定性,因而在本发明的实施例中采用多种方式综合检查的方式来发现异常流量。对于流量镜像中提取的特征进行分析,对于稳定的业务,流量分布普遍符合泊松分布,可以验证来源的流量特征是否满足此分布。例如,某ip在一周的流量满足泊松分布,或者在每天的某时段满足分布,因此可以采用卡方校验方法做验证,同时采用最小二乘法来做线型拟合,做预测。流量在较小的时间区间内普遍符合线性特征,采用逻辑回归方式来预测下一个时间点的特征数据。

下面结合图4来描述上述基于流量镜像的异常流量检测方法的另一个示例的处理流程。

如图4所示,该处理流程包括步骤s410-s460。其中,步骤s410-s430分别可以和上文中结合图1a所描述的步骤s110-s130的处理相同,并且能够达到相类似的功能和效果,这里不再赘述。

执行完步骤s410-s430之后,执行步骤s440。

在步骤s440中,针对每个租户,基于该租户的历史镜像流量的特征数据,判定该租户是否满足预设条件。若判定其满足预设条件,则执行步骤s450;否则,执行步骤s460。

在步骤s450中,确定该租户存在业务异常,然后结束处理。

在步骤s460中,确定该租户不存在业务异常,然后结束处理。

其中,上述预设条件为:该租户的连接数、url访问频次、流量增加,并且其源ip信誉值高于预设值。

在一个示例中,可以通过计算租户的往返时延(round-triptime,rtt)、对其连接数据进行实时监控,定位cc(challengecollapsar,意为挑战黑洞)或者租户系统负载过高,以检测出业务型异常(如秒杀、业务突增、代码错误等)。通过对客户的流量进行协议解析,根据历史数据建立用户流量模型,如果发现客户连接数、url访问频次、流量增加,并且源ip信誉值较高,可以估计为业务异常。

现有技术在主机端对业务进行监控,可以满足需求,但是监控系统开发和部署比较困难,需要比较高技术素质,因而对于云上中小用户实施困难。本发明采用镜像流量数据分析能力,可以帮助监控和及时发现问题。

从上图可以看到,我们对于流量型的异常和业务性的异常均进行检测,给用户更加全面异常流量检测。

综上,异常流量检测是一个系统的工程,在处理能力、可扩展性和算法方面都需要改进,以实用云计算环境。

此外,本发明的实施例还提供了一种基于流量镜像的异常流量检测装置,该异常流量检测装置包括:流量镜像单元,其用于采用流量镜像方法实时获取云idc的镜像流量;分流单元,其用于将获取的镜像流量按照租户进行分流,以得到每个租户各自的镜像流量;特征提取单元,其用于通过对每个租户的镜像流量进行特征提取,得到其镜像流量的特征数据并进行存储;异常检测单元,其用于针对每个租户,根据其当前镜像流量的特征数据、历史镜像流量的特征数据,结合泊松分布以及离群点检测方法来判定当前镜像流量是否为异常流量。

下面结合图5来描述本发明的基于流量镜像的异常流量检测装置的一个示例的结构。

如图5所示,本发明的基于流量镜像的异常流量检测装置500包括流量镜像单元501、分流单元502、特征提取单元503和异常检测单元504。

其中,流量镜像单元501用于采用流量镜像方法实时获取云idc的镜像流量。

分流单元502用于将获取的镜像流量按照租户进行分流,以得到每个租户各自的镜像流量。

特征提取单元503用于通过对每个租户的镜像流量进行特征提取,得到其镜像流量的特征数据并进行存储。例如,特征提取单元503中可以设有存储模块,用于保存各租户镜像流量的特征数据。

异常检测单元504用于针对每个租户,根据其当前镜像流量的特征数据、历史镜像流量的特征数据,结合泊松分布以及离群点检测方法来判定当前镜像流量是否为异常流量。

其中,异常检测单元504例如可以采用dbscan、svm、逻辑回归、线性拟合中的一种或多种离群点检测方法。

根据一种实现方式,异常检测单元504还可以用于:针对每个租户,基于该租户的历史镜像流量的特征数据,判定该租户是否满足预设条件,并在其满足预设条件的情况下判定该租户存在业务异常;预设条件为:该租户的连接数、url访问频次、流量增加,并且其源ip信誉值高于预设值。

虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

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