网络异常流量的检测方法和装置、计算机可读存储介质与流程

文档序号:16847947发布日期:2019-02-12 22:28阅读:163来源:国知局
网络异常流量的检测方法和装置、计算机可读存储介质与流程

本发明涉及通信领域,尤其涉及一种网络异常流量的检测方法和装置、计算机可读存储介质。



背景技术:

目前,网络运营商的机房通常配置有大量的数据通信设备,这些数据通信设备之间每天需要进行大量的流量交换。维护这些数据通信设备的正常运行,对于提高通信质量至关重要。

然而,本申请的发明人发现,由于机房内的数据通信设备(以下简称设备)数量较多,且在同一个设备上的端口的数量也较多,因此,当某一个或多个设备上的端口出现故障,导致网络流量异常时,无法及时找到故障端口。



技术实现要素:

本发明实施例提供了一种网络异常流量的检测方法和装置、计算机可读存储介质,能够及时找到故障端口。

第一方面,本发明实施例提供一种网络异常流量的检测方法,包括:

采集多个端口的当前时间段内的当前流量数据和与所述当前时间段对应的历史流量数据;

利用预设的滤波器,分别从所述当前流量数据和所述历史流量数据中提取所述端口的当前流量特征和历史流量特征;

分别从所述当前流量特征和所述历史流量特征中提取所述端口的当前流量的高层语义和历史流量的高层语义;

根据所述当前流量的高层语义和所述历史流量的高层语义,计算所述端口的当前流量和历史流量之间的语义相似度;

判断所述语义相似度是否落入预设的第一取值区间,得到所述端口的当前流量状态的判决结果;

根据各个所述端口的当前流量状态的判决结果,确认出故障端口。

在第一方面的一些实施例中,所述分别从所述当前流量特征和所述历史流量特征中提取所述端口的当前流量的高层语义和历史流量的高层语义,包括:

利用乘十取整法,分别从所述当前流量特征和所述历史流量特征中提取所述端口的当前流量的高层语义和历史流量的高层语义。

在第一方面的一些实施例中,所述分别从所述当前流量特征和所述历史流量特征中提取所述端口的当前流量的高层语义和历史流量的高层语义,包括:

计算所述当前流量的高层语义和所述历史流量的高层语义之间的卡方统计距离,将所述卡方统计距离作为所述端口的当前流量和历史流量之间的语义相似度。

在第一方面的一些实施例中,所述判断所述端口的语义相似度是否落入预设的第一取值区间,得到所述端口的当前流量状态的判决结果,包括:

判断所述端口的语义相似度是否落入预设的第一取值区间;

若所述端口的语义相似度落入所述预设的第一取值区间,则将所述端口的当前流量状态判决为正常;

若所述端口的语义相似度未落入所述预设的第一取值区间,则将所述端口的当前流量状态判决为异常。

在第一方面的一些实施例中,所述判断所述端口的语义相似度是否落入预设的第一取值区间,得到所述端口的当前流量状态的判决结果,还包括:

若所述端口的语义相似度落入所述预设的第一取值区间,则计算所述端口的当前流量中的当前流入流量和当前流出流量之间的语义相似度;

判断所述端口的当前流量中的当前流入流量和当前流出流量之间的语义相似度是否落入预设的第二取值区间;

若所述端口的当前流量中的当前流入流量和当前流出流量之间的语义相似度落入预设的第二取值区间,则将所述端口的当前流量状态判决为正常;

若所述端口的当前流量中的当前流入流量和当前流出流量之间的语义相似度未落入预设的第二取值区间,则将所述端口的当前流量状态判决为异常。

在第一方面的一些实施例中,所述利用预设的滤波器,分别从所述当前流量数据和所述历史流量数据中提取所述端口的当前流量特征和历史流量特征,包括:

利用所述预设的滤波器,分别从所述当前流量数据和所述历史流量数据中提取所述各个端口的初始流量特征,所述初始流量特征包括初始当前流量特征和初始历史流量特征;

分别对所述初始当前流量特征和所述初始历史流量特征进行特征激活,得到所述端口的当前流量特征和历史流量特征。

在第一方面的一些实施例中,所述利用预设的滤波器,分别从所述当前流量数据和所述历史流量数据中提取所述端口的当前流量特征和历史流量特征,包括:

利用所述预设的滤波器,分别从所述当前流量数据和所述历史流量数据中提取所述各个端口的低频流量特征和/或高频流量特征,所述低频流量特征包括当前低频流量特征和历史低频流量特征,所述高频流量特征包括当前高频流量特征和历史高频流量特征;

将所述当前低频流量特征和所述当前高频流量特征作为所述端口的当前流量特征,以及将所述历史低频流量特征和所述历史高频流量特征作为所述端口的历史流量特征。

在第一方面的一些实施例中,所述利用预设的滤波器,分别从所述当前流量数据和所述历史流量数据中提取所述端口的当前流量特征和历史流量特征,包括:

利用所述预设的滤波器,分别从所述当前流量数据和所述历史流量数据中提取所述各个端口的流入流量特征和/或流出流量特征,所述流入流量特征包括当前流入流量特征和历史流入流量特征,所述流出流量特征包括当前流出流量特征和历史流出流量特征;

将所述当前流入流量特征和所述当前流出流量特征作为所述端口的当前流量特征,以及将所述历史流入流量特征和所述历史流出流量特征作为所述端口的历史流量特征。

在第一方面的一些实施例中,在所述判断所述端口的语义相似度是否落入预设的第一取值区间,得到所述端口的当前流量状态的判决结果之后,所述检测方法还包括:

分别计算各个端口的当前流量状态的判决结果和预标注结果之间的误差,并将所述各个端口的误差相加,得到所有端口的总体误差;

利用所述总体误差更新所述预设的滤波器的自由参数,得到更新后的滤波器;

利用所述更新后的滤波器,重新提取所述各个端口的当前流量特征和历史流量特征,得到所有端口的当前流量状态的判决结果和各自对应的预标注结果之间的总体误差,并利用所述总体误差更新上一滤波器的自由参数,直到当前滤波器的自由参数的值溢出预设的第一取值区间,将所述总体误差最小时对应的滤波器设为最优滤波器;

根据与所述最优滤波器对应的各个端口的当前流量状态的判决结果,确定出故障端口。

第二方面,本发明实施例提供一种网络异常流量的检测装置,包括:

数据采集模块,用于采集多个端口的当前时间段内的当前流量数据和与所述当前时间段对应的历史流量数据;

特征提取模块,用于利用预设的滤波器,分别从所述当前流量数据和所述历史流量数据中提取所述端口的当前流量特征和历史流量特征;

语义提取模块,用于分别从所述当前流量特征和所述历史流量特征中提取所述端口的当前流量的高层语义和历史流量的高层语义;

相似度计算模块,用于根据所述当前流量的高层语义和所述历史流量的高层语义,计算所述端口的当前流量和历史流量之间的语义相似度;

流量状态判决模块,用于判断所述语义相似度是否落入预设的第一取值区间,得到所述端口的当前流量状态的判决结果;

确认模块,用于根据各个所述端口的当前流量状态的判决结果,确认出故障端口。

第三方面,本发明实施例提供一种网络异常流量的检测装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如上所述的网络异常流量的检测方法。

第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现如上所述的网络异常流量的检测方法。

根据本发明实施例提供的网络异常流量的检测方法,首先采集多个端口的当前时间段内的当前流量数据和与当前时间段对应的历史流量数据;接着利用预设的滤波器分别从当前流量数据和历史流量数据中提取端口的当前流量特征和历史流量特征。然后分别从当前流量特征和历史流量特征中提取端口的当前流量的高层语义和历史流量的高层语义,并根据当前流量的高层语义和历史流量的高层语义,计算端口的当前流量和历史流量之间的语义相似度,通过判断语义相似度是否落入预设的第一取值区间,可以得到端口的当前流量状态的判决结果,然后根据各个端口的当前流量状态的判决结果,就能够确认出故障端口。

由上可知,本发明实施例的网络异常流量的检测方法提取了各个端口的当前时间段和与当前时间段对应的历史时间段内的流量高层语义,即高度提取的流量特征。由于当前时间段和与其对应的历史时间段内的流量行为具有相似性,比如以天为周期的相似性,因此只需要对当前时间段和与其对应历史时间段内的流量高层语义进行比较和判决,就能够得到各端口的流量状态,从而及时找到故障端口。

附图说明

从下面结合附图对本发明的具体实施方式的描述中可以更好地理解本发明其中,相同或相似的附图标记表示相同或相似的特征。

图1为本发明一实施例的网络异常流量的检测方法的流程示意图;

图2为本发明另一实施例的网络异常流量的检测方法的流程示意图;

图3为本发明又一实施例的网络异常流量的检测方法的流程示意图;

图4为本发明又一实施例的网络异常流量的检测方法的流程示意图;

图5为本发明实施例的基于学习的滤波器自适应学习方法的流程示意图;

图6为本发明实施例的基于不同粒度输出流量的计算高层语义的流程示意图;

图7为本发明实施例的基于不同粒度输入流量的计算高层语义的流程示意图;

图8为本发明实施例的网络异常流量的检测装置的结构示意图;

图9为本发明实施例的网络异常流量的检测装置的硬件结构示意图;

图10为本发明实施例的试验场景的布局示意图;

图11为本发明实施例的trunk2端口流量正常时的历史流量数据示意图;

图12为本发明实施例的trunk2端口流量异常时的当前流量数据示意图;

图13为本发明实施例的trunk1端口流量正常时的历史流量数据示意图;

图14为本发明实施例的trunk1端口流量异常时的当前史流量数据示意图。

具体实施方式

下面将详细描述本发明实施例的各个方面的特征和示例性实施例。在下面的详细描述中,提出了许多具体细节,以便提供对本发明实施例的全面理解。但是,对于本领域技术人员来说很明显的是,本发明实施例可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明实施例的示例来提供对本发明实施例的更好的理解。本发明实施例决不限于下面所提出的任何具体配置和算法,而是在不脱离本发明实施例的精神的前提下覆盖了元素、部件和算法的任何修改、替换和改进。在附图和下面的描述中,没有示出公知的结构和技术,以便避免对本发明实施例造成不必要的模糊。

本发明实施例中提供的网络异常流量的检测方法和装置,应用于通信设备的网络异常流量的故障检测,采用本发明实施例中的网络异常流量的检测方法和装置能够得到各个设备中的流量状态,及时找到故障端口。

通常,核心机房的流量行为具有以天为周期的相似性,即当天某个时段的流量行为与之前某一天的流量行为具有相似性。比如,当年当天和上一年的这一天之间某个时段的流量具有很强的相似性,当月当天和上一月的这天某个时段的流量具有很强的相似性,当年当月当周当天与上一年的这月这周这天某个时段的流量具有一定的相似性。这是由于不同的日期与人们的网络使用行为之间有一定的关系,比如,在假日部署在热点地段的设备的流量就会与平常时间不一样;在休息日由于在家用wifi上网用户增多,移动通信营运商部署的设备的流量就会下降;且不同的月份,受天气的影响,人们出行的时段不一样造成了不同月份的移动流量不一样。

目前,随着对数据采集和保存能力的提高,可以采集机房设备每个端口在较长时间范围内的流量,比如1年,以提取和利用这种以天为周期的流量行为。

图1为本发明实施例提供的网络异常流量的检测方法的流程示意图。图1中的网络异常流量的检测方法包括步骤101至步骤106。

在步骤101中,采集多个端口的当前时间段内的当前流量数据和与当前时间段对应的历史流量数据。

此处,所引入的历史流量数据不是指同一天中已经发生的流量,而是指历史上相同时刻的流量数据。通过将当前流量与历史上相同时刻的流量进行对比,使得能够采用较短时间内的频率特征,描述当前流量与历史流量的相似性或者差异性。

在步骤102中,利用预设的滤波器,分别从当前流量数据和历史流量数据中提取端口的当前流量特征和历史流量特征。

其中,滤波器的作用是提取流量特征。在一个示例中,滤波器可以是一组权值矩阵。权值矩阵可以是固定不变,也可以带有自由参数。带有自由参数的权值矩阵可以提取不同时段内具有不同变化趋势的流量特征。

实践中发现,同一个机房、同一个设备或者同一个设备的同一个端口的当前流量和之前某一天的流量相比,要么在总流量上及其接近,要么在变化趋势上极其接近,要么两者都满足。为了描述其相似性,可以将流量特征分为低频特征和高频特征,由低通滤波器来提取低频特征,用于描述流量总量,由高通滤波器提取高频特征,用于描述流量的变化趋势。在一个示例中,低通滤波器的表达式为:

对应地,高通滤波器的表达式为:

g(k)=(-1)kw(k)(2)

其中,k为误差判决区间,λ=-3/64,β为自由参数,β的表达式为:β=β+k/128。不同的β值可以提取不同流量行为的高频与低频特征,通常,β=1/32时滤波器对于非时变信号具有良好的频谱分解特性(请见anewdesignmethodof9-7biorthogonalfilterbanksbasedonoddharmonicfunction,cssp,springer,31(3):1245-1255,2012))。

具体地,可以用w(k)与流量做卷积得到流量的低频特征,用g(k)与流量做卷积得到流量的高频分量。

在步骤103中,分别从当前流量特征和历史流量特征中提取端口的当前流量的高层语义和历史流量的高层语义。

优选地,可以利用乘十取整法,分别从当前流量特征和历史流量特征中提取端口的当前流量的高层语义和历史流量的高层语义,即求取流量特征的直方图矢量作为高层语义。以使得高层语义中的每个元素都能携带足够多的流量行为的信息量。

下面对利用乘十取整法提取流量高层语义的计算过程进行举例说明,提取流量高层语义即求取流量特征的直方图矢量。

预定义一个流量特征的失量表达式:

s(n)=[0.8994,0.9541,1.0000,0,0.9414,0.9852](3)

其中,s(n)为流量特征失量,n为矢量元素个数。求取流量特征的直方图矢量的方法依次包括对s(n)中的各元素乘10取整;对各元素乘10取整后的值加1,得到矢量[9,10,11,1,10,10];统计矢量[9,10,11,1,10,10]中,1~11分别出现的次数,得到直方图矢量,即流量的高层语义[1,0,0,0,0,0,0,0,1,3,1]。

在步骤104中,根据当前流量的高层语义和历史流量的高层语义,计算端口的当前流量和历史流量之间的语义相似度。

优选地,可以计算当前流量的高层语义和历史流量的高层语义之间的卡方统计距离,将卡方统计距离作为端口的当前流量和历史流量之间的语义相似度,即引入卡方统计距离刻画历史流量与当前流量的相似性。与欧式距离相比,由于引入协方差矩阵,卡方统计距离具有更高阶的消失距,能够排除语义无关分量对相似性的影响。

在一个示例中,定义历史流量的高层语义为hist1,当前流量的高层语义为hist2,历史流量和当前流量之间的协方差为cov(hist1i,hist2i),则历史流量和当前流量之间的卡方统计距离的计算公式为:

其中,χ2(hist1,hist2)为历史流量和当前流量之间的卡方统计距离,i为高层语义的直方图矢量中的元素个数。

在步骤105中,判断端口的当前流量和历史流量之间的语义相似度是否落入预设的第一取值区间,得到端口的当前流量状态的判决结果。

在步骤106中,根据各个端口的当前流量状态的判决结果,确认出故障端口。

根据本发明实施例提供的网络异常流量的检测方法,首先采集多个端口的当前时间段内的当前流量数据和与当前时间段对应的历史流量数据;接着利用预设的滤波器分别从当前流量数据和历史流量数据中提取端口的当前流量特征和历史流量特征。然后分别从当前流量特征和历史流量特征中提取端口的当前流量的高层语义和历史流量的高层语义,并根据当前流量的高层语义和历史流量的高层语义,计算端口的当前流量和历史流量之间的语义相似度,通过判断语义相似度是否落入预设的第一取值区间,可以得到端口的当前流量状态的判决结果,然后根据各个端口的当前流量状态的判决结果,就能够确认出故障端口。

由上可知,本发明实施例的网络异常流量的检测方法提取了各个端口的当前时间段和与当前时间段对应的历史时间段内的流量高层语义,即高度提取的流量特征。由于当前时间段和与其对应的历史时间段内的流量行为具有相似性,比如以天为周期的相似性,因此只需要对当前时间段和与其对应历史时间段内的流量高层语义进行比较和判决,就能够得到各端口的流量状态,从而及时找到故障端口。

此外,由于流量的高层语义属于流量的高层概念,不受底层特征(比如低频特征和高频特征)局限性的限制,因此采用流量的高层语义作为流量是否异常的判决依据,还能够更好地体现人们对流量异常的理解与判决。

图2为本发明另一实施例提供的网络异常流量的检测方法的流程示意图。图2与图1的不同之处在于,图1中的步骤102可细化为图2中的步骤1021至步骤1022。

在步骤1021中,利用预设的滤波器,分别从当前流量数据和历史流量数据中提取各个端口的初始流量特征,初始流量特征包括初始当前流量特征和初始历史流量特征。

在步骤1022中,分别对初始当前流量特征和初始历史流量特征进行特征激活,得到端口的当前流量特征和历史流量特征。

其中,通过对流量特征做激活处理能够突显出异常流量特征,能够使地流量特征得到收敛。对流量特征做激活处理的计算过程具体参看下文的公式(15)和公式(16)。

图3为本发明又一实施例提供的网络异常流量的检测方法的流程示意图。图3与图1的不同之处在于,图1中的步骤105可细化为图3中的步骤1051至步骤1052。

在步骤1051中,判断端口的语义相似度是否落入预设的第一取值区间。

在步骤1052中,若端口的当前流量和历史流量之间的语义相似度落入预设的第一取值区间,则将端口的当前流量状态判决为正常;若端口的当前流量和历史流量之间的语义相似度未落入预设的第一取值区间,则将端口的当前流量状态判决为异常。

需要说明的是,图3中的方法主要是基于当前流量和历史流量之间的语义相似度对端口的当前流量状态进行了判决。

图4为本发明又一实施例提供的网络异常流量的检测方法的流程示意图。图4中的检测方法包括步骤1053至步骤1056。需要说明的是,图4中的步骤1053至步骤1056也是图1中的步骤105的进一步细化。

在步骤1053中,判断端口的语义相似度是否落入预设的第一取值区间(与步骤1051相同)。

在步骤1054中,若端口的当前流量和历史流量之间的语义相似度落入预设的第一取值区间,则计算端口的当前流量中的当前流入流量和当前流出流量之间的语义相似度。

在步骤1055中,判断端口的当前流量中的当前流入流量和当前流出流量之间的语义相似度是否落入预设的第二取值区间。

在步骤1056中,若端口的当前流量中的当前流入流量和当前流出流量之间的语义相似度落入预设的第二取值区间,则将端口的当前流量状态判决为正常;若端口的当前流量中的当前流入流量和当前流出流量之间的语义相似度未落入预设的第二取值区间,则将端口的当前流量状态判决为异常。

需要说明的是,图4中的方法主要是基于当前流量和历史流量之间的语义相似度在预设范围内的情况,进一步对当前流量的输入流量和输出流量是否守恒进行了判决,提高了端口流量的判决精度。

根据本发明实施例,还可以利用预设的滤波器,分别从当前流量数据和历史流量数据中提取各个端口的低频流量特征和/或高频流量特征,低频流量特征包括当前低频流量特征和历史低频流量特征,高频流量特征包括当前高频流量特征和历史高频流量特征;将当前低频流量特征和当前高频流量特征作为端口的当前流量特征,以及将历史低频流量特征和历史高频流量特征作为端口的历史流量特征。和/或,利用预设的滤波器,分别从当前流量数据和历史流量数据中提取各个端口的流入流量特征和/或流出流量特征,流入流量特征包括当前流入流量特征和历史流入流量特征,流出流量特征包括当前流出流量特征和历史流出流量特征;将当前流入流量特征和当前流出流量特征作为端口的当前流量特征,以及将历史流入流量特征和历史流出流量特征作为端口的历史流量特征。

如上所述,通过提取多个角度的流量特征作为端口流量的判决依据,能够提高端口流量的判决精度。

网络流量即具有瞬时性又具有长时性,需要由非固定的滤波器捕捉这种时变的网络流量特征。为捕捉时变的网络流量特征,本发明实施例还提出了基于学习的滤波器自适应学习方法,以获得不同时变特征的滤波器。

图5为本发明实施例的基于学习的滤波器自适应学习方法的流程示意图。需要说明的是,图5中的步骤107至步骤110位于图1中的步骤105之后。

在步骤107中,分别计算各个端口的当前流量状态的判决结果和预标注结果之间的误差,并将各个端口的误差相加,得到所有端口的总体误差。

在步骤108中,利用总体误差更新预设的滤波器的自由参数,得到更新后的滤波器。

在步骤109中,利用更新后的滤波器,重新提取各个端口的当前流量特征和历史流量特征,得到所有端口的当前流量状态的判决结果和各自对应的预标注结果之间的总体误差,并利用总体误差更新上一滤波器的自由参数,直到当前滤波器的自由参数的值溢出预设的第一取值区间,将总体误差最小时对应的滤波器设为最优滤波器。其中,预设的第一取值区间为[1/128,1/4]。该方法将将β设为自由参数,使β的取值区间为[1/128,1/4],以获得不同时变特征的滤波器。

在步骤110中,根据与最优滤波器对应的各个端口的当前流量状态的判决结果,确定出故障端口。

下面对基于学习的滤波器自适应学习方法的流程进行举例说明,包括以下几个步骤:

提前选取50000个包含机房各个设备各个端口的当前流量数据信息与历史流量数据信息的流量段,并根据历史故障记录对这50000个流量段的分别进行流量状态的标注,流量状态异常用1标注,流量状态正常用0标注。

然后根据上文中的网络异常流量的检测方法得到50000个流量段各自的流量状态的判决结果(参看步骤105),同样地,流量状态异常的判决结果为1,流量状态正常的判决结果为0。

接下来,求取这50000个流量段的流量状态的标注结果与判决结果之间的总体误差,计算公式为:

其中,h(yn,l(zn))为总体误差的熵,yn为流量段流量状态的标注结果,l(zn)为流量段异常判决得到的判决结果,n表示流量段编号。

对公式(5)求导,得到:

然后,将h′除以50000,使h′归一化至0~1之间,并将0~1之间的划分为256个等分作为误差判决区间,误差判决区间的编号记作k,通过判断h′落入的误差判决区间,就能够得到k值,比如,h′的值为3/256,则k=3。

为了加速最优滤波器的寻找过程,利用k对β进行更新,其中,β=β+k/128。且在遍历整个β的取值范围[1/128,1/4]后,选取h′最小时的β对应的滤波器组为最优滤波器,从而自适应地得到具有学习能力的滤波器。

可以理解地,由于不同粒度(机房、设备及端口)的流量行为存在差异,根据本发明实施例,还可以从机房粒度、设备粒度和设备粒度三个层次上分别提取各粒度层对应的高层语义,逐层对比各粒度的当前流量和历史流量之间的语义相似度,得到多个粒度上网络流量的判决结果,进而得到适应于不同粒度的流量行为的滤波器。

为便于本领域技术人员理解,下面对机房粒度、设备粒度及端口粒度对应的流量的特征提取过程进行举例说明。

假设流量的采样间隔时间为1分钟,则每个端口24小时内可以采集1440个流入流量和1440个流出流量。在以下表述中,x为连续时间,n为离散时间,n=1表示当前时间点,n=n表示当前时间往前的第n个时间点,即n为用于计算流量特征的样本数。在实践中,为了及时检测出异常的流量,n取6~30之间的值,即取当前时间点为止的前6~30个采样点。

端口的流量低频特征的提取公式为:

端口的流量高频特征的提取公式为:

其中,为第l个端口的低频特征,为第l个端口的高频特征,表示第l个端口的流量,π为提取层编号,ω(k)为低频特征提取函数,即低通滤波器对应的权值矩阵,g(k)为高频特征提取函数,即高通滤波器对应的权值矩阵,b(π)表示与提取层对应的偏置量。式(7)用于刻画某个设备第l个端口的流量在一段时间内流量的低频分量。式(8)用于刻画某个设备第l个端口的流量在一段时间内流量的高频分量。

设备的流量低频特征的提取公式为:

设备的流量高频特征的提取公式为:

其中,为第m个端口的低频特征,为第m个设备的高频特征,为第m个设备的流量,l为设备上端口的总数。式(9)用于刻画第m个设备的流量在一段时间内流量的低频分量,式(11)用于刻画第m个设备的流量在一段时间内流量的高频分量。

机房的流量低频特征的提取公式为:

sr(n)=f(zn)=f(w(ω)tr(x)+b(π))(12)

机房的流量高频特征的提取公式为:

dr(n)=f(zn)=f(g(π)tr(x)+b(π))(14)

其中,sr(n)为机房的低频特征,dr(n)为机房的低频特征,tr(n)为机房的总流量,m为机房内设备的总数。式(12)用于刻画机房的流量tr(x)在一段时间内流量的低频分量,式(14)用于刻画机房的流量tr(x)在一段时间内流量的高频分量。

接下来,可以对(7)、(8)、(9)、(11)、(12)和(14)的结果进行激活处理,激活处理的计算公式为:

其中,u为迭代次数,γ的取值为0.25,λ的取值为0.25。将式(15)的结果分别代入式(16)可以得到各层收敛后的流量特征。由于在多个层次上提取了网络的流量特征,且这些流量特征得到式(15)与式(16)的激活,因此叫做流量的深度激活特征,简称为流量特征。

图6为本发明实施例提供基于不同粒度输出流量的计算高层语义的流程示意图。其中,机房内包括多个设备,每个设备上包括多个端口。图6中示出的机房内设备的总数为m,第m个设备上包括l个端口。

参看图6,首先,根据各个端口的输出流量,分别计算各个端口的输出流量特征对应的高层语义;

然后,根据各个设备的输出流量,分别计算各个设备的输出流量特征对应的高层语义,其中,各个设备的输出流量为该设备内所有端口的输出流量的总和;

最后,计算机房的输出流量特征对应的高层语义,其中,机房的输出流量为机房内所有端口的输出流量的总和。

图7为本发明实施例提供的不同粒度输入流量的计算高层语义的流程示意图。图7与图6中各符号表示的意义相同,不同之处在于,图6为计算输出流量的高层语义,而图7为计算输入流量的高层语义。

参看图7,首先,根据各个端口的输入流量,分别计算各个端口的输入流量特征对应的高层语义;

然后,根据各个设备的输入流量,分别计算各个设备的输入流量特征对应的高层语义,其中,各个设备的输入流量为该设备内所有端口的输入流量的总和;

最后,计算机房的输入流量特征对应的高层语义,其中,机房的输入流量为机房内所有端口的输入流量的总和。

接下来,基于对机房粒度、设备粒度和端口粒度对本发明实施例的流量判决过程进行示例性说明。

表1为机房粒度、设备粒度和端口粒度的流量特征高层语义之间的语义相似度的变量命名列表。表1中的行依次对应机房粒度、设备粒度和端口粒度,表1中的列依次对应当前流入低频特征与历史流入低频特征之间的语义相似度、当前流出低频特征与历史流出低频特征之间的语义相似度、当前流入高频特征与历史流入高频特征之间的语义相似度、当前流出高频特征与历史流出高频特征之间的语义相似度、当前流入低频特征与当前流出低频特征之间的语义相似度、以及当前流入高频特征与当前流出高频特征之间的语义相似度。

为了清楚区分各变量名,语义相似度χ2的排序第一位的下标符号中:p表示端口粒度,i表示设备粒度,r表示机房粒度;其他排序位的下标符号中:i表示流量输入,o表示流量输出,s表示低频特征,g表示高频特征。

表1

表1中端口粒度的流量特征按照式(7)、式(8)和式(15)计算,设备粒度的流量特征按照式(9)、式(11)和式(15)计算,机房粒度的流量特征按照式(12)、式(14)和式(15)计算,高层语义相似度按照式(4)计算。

在一个示例中,基于对机房粒度、设备粒度和端口粒度对本发明实施例的流量判决原则为:

首先,从机房粒度的层次开始流量判决,判决规则如下:

(1a)如果满足则判断机房流入流量的低频特征正常;

(1b)如果满足则判断机房流入流量的高频特征正常;

(1c)如果满足则判断机房流出流量的低频特征正常;

(1d)如果满足则判断机房流出流量的高频特征正常;

(1e)如果(1a)与(1b)同时满足,或者(1c)与(1d)同时满足,则转至(1f),否则判断机房粒度的流量异常;

(1f)如果则判断机房的流量正常,否则判断机房粒度的流量异常。

接下来,如果机房粒度的判决结果为流量异常,则需进入(2),对机房中的各个设备做流量检测,以第m个设备为例:

(2a)如果满足则判断第m个设备流入流量的低频特征正常;

(2b)如果满足则判断机第m个设备流入流量的高频特征正常;

(2c)如果满足则判断第m个设备流出流量的低频特征正常;

(2d)如果满足则判断第m个设备流出流量的高频特征正常;

(2e)如果(2a)与(2b)同时满足,或者(2c)与(2d)同时满足,则转至(2f),否则判断第m个设备的流量异常;

(2f)如果则判断第m个设备的流量正常,否则判断第m个设备的流量异常。

接下来,如果设备粒度的判决结果为流量异常,则需进入(3),对设备中的各个端口做流量检测,以第l个端口为例:

(3a)如果满足则判断第l个端口流入流量的低频特征正常;

(3b)如果满足则判断机第l个端口流入流量的高频特征正常;

(3c)如果满足则判断第l个端口流出流量的低频特征正常;

(3d)如果满足则判断第l个端口流出流量的高频特征正常;

(3e)如果(3a)与(3b)同时满足,或者(3c)与(3d)同时满足,则转至(3f),否则判断第l个端口的流量异常;

(3f)如果则判断第l个端口的流量正常,否则判断第l个端口的流量异常。

需要说明的是,按照上述判决步骤,可以获得各个流量是否异常的标签l(zn),即1表示流量异常,0表示流量正常。根据本发明的实施例,上述判决步骤即可以用于自由参数的训练与学习,又可以用于流量异常的在线判决。

图8为本发明实施例提供的网络异常流量的检测装置的结构示意图。图8中的网络异常流量的检测装置包括:数据采集模块801、特征提取模块802、语义提取模块803、相似度计算模块804、流量状态判决模块805和确认模块806。

其中,数据采集模块801用于采集多个端口的当前时间段内的当前流量数据和与当前时间段对应的历史流量数据。

数据采集模块801的实现形式可以数据库。在一个示例中,可以分别建立一个当前数据库,用于保留当天所有的流量数据;和一个历史数据库,用于保存一年的历史流量数据。其中,在利用历史数据库进行流量数据采集的过程中,还可以对流量数据的状态进行人工判断,将认为是正常的流量数据保存在历史流量数据库。这样当收集完一整年的数据后,历史流量数据库方可准确发挥异常流量检测作用。

具体地,还可以建立一个映射数据库,用于映射上下游设备及其端口之间的对应关系。映射数据库分别于当前数据库和历史数据库连接,在进行网络的异常流量检测时,可以通过映射数据库获取某个机房中的所有设备与端口的信息,并根据所有设备与端口的信息从当前数据库获取当前的流量数据,并根据当天的具体日期,向历史流量数据库请求相关日期的历史流量。

特征提取模块802用于利用预设的滤波器,分别从当前流量数据和历史流量数据中提取端口的当前流量特征和历史流量特征。

语义提取模块803用于分别从当前流量特征和历史流量特征中提取端口的当前流量的高层语义和历史流量的高层语义。

相似度计算模块804用于根据当前流量的高层语义和历史流量的高层语义,计算端口的当前流量和历史流量之间的语义相似度。

流量状态判决模块805用于判断语义相似度是否落入预设的第一取值区间,得到端口的当前流量状态的判决结果。

确认模块806,用于根据各个端口的当前流量状态的判决结果,确认出故障端口。

图9为本发明实施例提供的网络异常流量的检测装置的硬件结构示意图。如图9所示,本发明实施例中的网络异常流量的检测装置包括:处理器901、存储器902、通信接口903和总线910。其中,处理器901、存储器902和通信接口903通过总线910连接并完成相互间的通信。

具体地,上述处理器901可以包括中央处理器901(cpu),或者特定集成电路(asic),或者可以被配置成实施本发明实施例的一个或多个集成电路。

存储器902可以包括用于数据或指令的大容量存储器902。举例来说而非限制,存储器902可包括hdd、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线910(usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器902可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器902可在资源接口设备的内部或外部。在特定实施例中,存储器902是非易失性固态存储器902。在特定实施例中,存储器902包括只读存储器902(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。

通信接口903,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。

也就是说,网络异常流量的检测装置可以被实现为包括:处理器901、存储器902、通信接口903和总线910。处理器901、存储器902和通信接口903通过总线910连接并完成相互间的通信。存储器902用于存储程序代码;处理器901通过读取存储器902中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行上文所述的网络异常流量的检测方法,从而实现结合图1至图8所述的网络异常流量的检测方法和装置。

图10为根据本发明实施例的试验场景的布局示意图。图10中示出的网络设备包括:两个防火墙(fw13和fw14),两个交换机(sw07和sw08),两个路由器(rt05和rt06)以及一个抽象的sae网关池(saegw)。当前流量数据来自于2016年3月14日11时10分至11时40分。实验的目的是验证提出方案的有效性,并测试低频特征与高频特征对当前流量与历史流量短时行为的捕捉能力。

表2和表3分别为机房和设备的流量特征的语义相似度。

表2

表3

参看表2,机房当前流入低频特征与历史流入低频特征虽然在判决式(1a)的范围内,然而当前低频特征与历史低频特征相比大约降低了1/6。当前高频特征大约为历史高频特征的6倍以上,因此可以判定该机房出现了异常流量及潜在的设备故障。

参看表3,通过逐个提取机房中设备的短时流量特征,发现fw13与fw14这两个设备的当前高频特征明显大于它们的历史高频特征,通过它们各自端口粒度的流量特征分析,可以确定fw13与fw14发生异常流量的端口。参看图11和图12,图11中数据为采集自2015年3月23日11时40分trunk2端口的正常流量数据,图12中的数据为采集自2016年3月14日11时40分trunk2端口的异常流量。对比图11和图12中的fw13部分端口的流量曲线,发现端口trunk2出现了流量奇异点(参看图12中的箭头指示),验证了提出方案对异常流量检测的有效性。

参看表3,rt06的高频特征不满足(1c)式,且其当前低频特征明显小于历史低频特征。计算发现rt06的trunk1端口低频特征与高频特征有明显的异常。参看图13和图14,图13中的数据为采集自2015年3月23日11时40分trunk1端口的正常流量数据,图14中数据为采集自2016年3月14日11时40分trunk1端口发生故障时的异常流量数据。对比图13和图14中的rt06部分端口的流量曲线,发现端口trunk1没有采集到流量(即图13中的箭头指示的流量曲线),则说明端口trunk1发生了故障,验证了提出方案对异常流量检测的有效性。

参看表3,rt06、fw13、fw14这几个设备当前的流入特征与流出特征均比较匹配,而sw08设备的流入特征与流出特征并不匹配,如果以此作为判定流量状态的依据将发生误判。这也从另一个方面说明了利用历史流量做异常流量检测的重要性。

需要明确的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。对于装置实施例而言,相关之处可以参见方法实施例的说明部分。本发明实施例并不局限于上文所描述并在图中示出的特定步骤和结构。本领域的技术人员可以在领会本发明实施例的精神之后作出各种改变、修改和添加,或者改变步骤之间的顺序。并且,为了简明起见,这里省略对已知方法技术的详细描述。

本发明实施例可以以其他的具体形式实现,而不脱离其精神和本质特征。例如,特定实施例中所描述的算法可以被修改,而系统体系结构并不脱离本发明实施例的基本精神。因此,当前的实施例在所有方面都被看作是示例性的而非限定性的,本发明实施例的范围由所附权利要求而非上述描述定义,并且,落入权利要求的含义和等同物的范围内的全部改变从而都被包括在本发明实施例的范围之中。

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