一种全网络流量异常抽取方法与流程

文档序号:16703033发布日期:2019-01-22 21:51阅读:205来源:国知局
一种全网络流量异常抽取方法与流程

本发明涉及信息安全技术领域,特别涉及一种全网络流量中异常数据流抽取方法。



背景技术:

随着网络的发展,网络异常行为包括网络故障、用户误操作、网络攻击和网络病毒传播等,这些异常行为常常引起网络中单条或多条链路上网络流量偏离正常的现象。尽管异常数据流量在单条或多条链路上不表现出明显的异常特征,但网络中多条链路的异常数据流量总和较大。因而流量异常对网络及其运行于网络上的各种设备具有极大的危害性和破坏性。

现有技术中对于检测网络异常数据流量的方法包括基于非统计的异常检测方法如:基于神经网络、支持向量机SVM等,而基于统计的异常检测方法如PCA子空间检测法、与连续周期的小波分析方法等。但是,非统计的异常检测方法在样本个数量大时的效率大大降低,算法过程复杂导致它们也不易部署在在线实时异常检测系统上,基于统计的异常检测方法在检测隐蔽性的异常数据流量时实时性能和检测效果不理想。

MapReduce是Google提出的一种并行编程模型,用于大规模数据集(可以大于1TB)的并行运算。如何利用MapReduce处理程序来对大规模的网络数据进行高效地处理分析,进而达到实时地监控网络的运行状态,检测异常行为,是目前业界范围内主要研究的课题。



技术实现要素:

本发明的目的是针对上述现有技术的不足,而提供一种基于MapReduce并行编程模型,高效、准确的捕捉出异常网路流量的抽取方法。

为解决上述技术问题,本发明采用的一个技术方案是:提供一种全网络流量异常抽取方法,该方法用于对计算机网络中的数据流进行检测,找到并输出其中的异常数据流,包括以下步骤:

步骤S1:从自治系统的边界节点中选定用于流量监测的监测节点POP,形成监测节点的集合{POP1、POP2、POP3、...、POPm};

步骤S2:在确定的时间段内,以固定的时间间隔对所述集合中的每个监测节点POPy(1≤y≤m)中的网络数据流分别单独进行分割,每个监测节点POPy均得到多个连续周期的数据流文件;

步骤S3:构建并应用流量异常检测器,按照预定的检测准则,对每个监测节点POPy的所述连续周期的数据流文件分别进行预检测,确定每个监测节点POPy中的异常的数据流文件;

步骤S4:对每个监测节点POPy中所述异常的数据流文件内的数据流通过迭代计算的方法,预选出每个监测节点POPy相应的候选异常数据流集YCy(1≤y≤m);

步骤S5:将所有监测节点POPy预选出的候选异常数据流集YCy进行汇总集合,形成全网络候选异常数据流集;

步骤S6:利用关联规则挖掘对所述全网络候选异常数据流集进行挖掘,最终找到并输出全网络中真正的异常数据流集。

在本发明全网络流量异常抽取方法的另一个实施例中,在步骤S3中,该流量异常检测器为基于柱状图检测器,该基于柱状图检测器将上述数据流文件中的数据流按数据流的特征进行统计,形成该数据流文件的特征统计柱状图。

在本发明全网络流量异常抽取方法的另一个实施例中,按数据流的特征进行统计包括对数据流的源IP地址、目的IP地址、源端口号、目的端口号、协议、包、字节7个特征中的至少1个特征进行统计,形成该数据流文件的7个特征中的至少1个特征的特征统计柱状图。

在本发明全网络流量异常抽取方法的另一个实施例中,对该数据流文件进行特征统计是对该数据流文件的源IP地址特征进行统计,形成该数据流文件的基于源IP地址特征的统计柱状图,包括如下步骤:

S21A:将该的数据流文件按照文件名docname送入到mapreduce处理程序中;

S21B:提取该docname文件中的源IP地址,以该源IP地址、该文件名docname为键,以该源IP地址对应的该数据流的个数1为值,形成{docname IPn,1}格式的值列表,由该mapreduce处理程序中的map函数将值列表中相同的键对应的值进行求和处理以得到{docname IPn,number};

S21C:由该mapreduce处理程序将{docname IPn,number}格式变换成{IPn,{docname,number}}格式,再由map函数处理方法按照该源IP地址排列,将{docname,number}对应列出,形成以该源IP地址为特征的特征统计柱状图。

在本发明全网络流量异常抽取方法的另一个实施例中,该检测准则为KL-3σ准则,利用该KL-3σ检测准则对该数据流文件进行预检测的方法包括以下步骤:

步骤S21:利用相对熵计算公式依次计算出相邻时间间隔的数据流文件的特征统计柱状图之间的KL距离,并计算所述KL距离的一阶差分值,得到KL距离一阶差分值的时间分布序列,该相对熵计算公式为:

式中,D—KL距离;Q—当前待测的数据流文件的特征统计柱状图分布;P—与当前待测的数据流文件相邻的前一个数据流文件的特征统计柱状图;X—连续周期的数据流文件;

步骤S22:利用所述KL距离的一阶差分值的时间分布序列,计算出所述KL距离一阶差分值的平均值μ和标准差σ,以3σ值作为KL距离检测门限;

步骤S23:将所述KL距离一阶差分值的时间分布序列按3σ准则进行异常检测,确定异常的数据流文件。

在本发明全网络流量异常抽取方法的另一个实施例中,在步骤S4中,该迭代计算的方法包括以下步骤:

步骤S41:将异常的数据流文件的特征统计柱状图与上一时间间隔数据流文件的特征统计柱状图对应相减,得出两个特征统计柱状图的图差的分布图;

步骤S42:将该图差的分布图按照差值由大到小降序排列;

步骤S43:选择出差值最大的特征,将异常的数据流文件的特征统计柱状图和上一时间间隔数据流文件的特征统计柱状图中对应的数值改写成两者之中较小的值;

步骤S44:将步骤S43中修改过的异常的数据流文件的特征统计柱状图和上一时间间隔的数据流文件的特征统计柱状图再次计算KL距离一阶差分值,并将KL距离一阶差分值与3σ进行比较;

步骤S45:根据步骤S44的比较结果,如果KL距离一阶差分值均不超过所述3σ检测门限,则修改值的特征对应的数据流作为候选异常数据流输出;如果仍有KL距离一阶差分值超过该3σ检测门限,将步骤S43中的最大差值的特征,按照步骤S42的图差值由第二大差值开始由大到小顺序的差值依次进行迭代替换,每替换一次,执行一次步骤S43、步骤S44、步骤S45,直至KL距离一阶差分值均不超过该3σ检测门限;

步骤S46:将S45中输出的候选异常数据流统计为候选异常数据流集YCy。

在本发明全网络流量异常抽取方法的另一个实施例中,在步骤S5中,利用关联规则挖掘对该全网络候选异常数据流集进行挖掘的方法包括:在mapreduce处理程序中按照数据流的特征统计该全网络候选异常数据流,以及生成频繁项集并过滤异常数据流。

在本发明全网络流量异常抽取方法的另一个实施例中,该关联规则挖掘采用Apriori算法。

在本发明全网络流量异常抽取方法的另一个实施例中,在步骤S1中,所述确定的时间段为12.5小时,所述固定的时间间隔为15分钟,每个监测节点POPy均得到连续周期的50个数据流文件。

在本发明全网络流量异常抽取方法的另一个实施例中,所述的在mapreduce处理程序中按照数据流的特征统计全网络候选异常数据流的方法是提取包含源端口号sport、目的端口号dport、包packet三个特征的数据流送入到mapreduce处理程序中,

以该源端口号sport、目的端口号dport、包packet为键,以该源端口号sport、该目的端口号dport、该包packet对应的数据流的个数number为值,由该mapreduce处理程序中的map函数处理方法进行求和处理得到并形成{(sport,number)、(dport、number)、(packet,number)}格式的计数结果值;

生成频繁项集并过滤异常数据流的方法是:首先,计算该全网络候选异常数据流集的最小支持度,然后由该计数结果值与该最小支持度进行比较,根据Apriori算法逐步循环过滤出频繁N项集,直至所述计数结果值不大于最小支持度为止,过滤得出全网络中的异常数据流,获得并输出该全网络中的异常数据流集。

本发明的有益效果是:本发明提供的全网络流量异常抽取方法,采用了对每个监测节点POPy分别先进行连续数据流分割,使每个监测节点POPy得到多个连续周期的数据流文件,然后通过柱状图检测器,对数据流文件进行预检测得到异常的数据流文件,通过迭代计算的方法,预选出候选异常数据流集YCy,再将所有监测节点POPy的候选异常数据流集进行统计集合,形成全网络异常数据流集,利用关联规则挖掘对全网络异常数据流集进行异常数据流挖掘,找到并输出真正的异常数据流集。每个监测节点POPy单独分开进行候选异常数据流集YCy的预选,并且预选过程能够同时进行,有效的提高了全网络的异常数据流抽取的计算效率,再将所有监测节点的POPy进行汇总分析,使分析的数据流能够涵盖在整个自治系统的网络中,涵盖的范围全面,有效的提高了异常数据流抽取的准确性。并且本发明适用在基于MapReduce并行编程模型的程序中,能够高效、准确的捕捉出异常网络数据流。进一步,本发明采用的柱状图检测器具有检测效果直观明确的特点,以KL-3σ准则为检测准则高效精确。

附图说明

图1是根据本发明全网络流量异常抽取方法的一实施例的流程图;

图2是根据本发明全网络流量异常抽取方法的一实施例的监测节点示意图;

图3是根据本发明全网络流量异常抽取方法的另一实施例中对数据流文件以源IP地址为特征形成特征统计柱状图的例子;

图4是根据本发明全网络流量异常抽取方法的另一实施例中基于源IP地址为特征的特征柱状图分布表;

图5是根据本发明全网络流量异常抽取方法的另一实施例中频繁项集生成的方法;

图6是根据本发明全网络流量异常抽取方法的另一实施例中按照数据流的特征统计候选异常数据流的方法。

具体实施方式

为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本说明书所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。

需要说明的是,除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是用于限制本发明。

图1是根据本发明一实施方式抽取异常网络流量的方法的流程图。从图1可以看出,该流程始于开始,然后,依次执行步骤S1,从自治系统的边界节点中选定用于流量监测的监测节点POP,如图2所示的监测节点示意图,形成监测节点的集合{POP1、POP2、POP3、...、POPm}。上述的自治系统是指处于一个管理机构控制之下的路由器和网络群组。它是一个单独的可管理的网络单元。所述的边界节点是指所述自治系统与外部的自治系统之间相连接的路由器所在的节点。

步骤S2:在确定的时间段内,以固定的时间间隔对所述集合中的每个监测节点POPy(1≤y≤m)中的网络数据流分别单独进行分割,每个监测节点POPy均得到多个连续周期的数据流文件。

步骤S3:构建并应用流量异常检测器,按照预定的检测准则,对每个监测节点POPy的所述连续周期的数据流文件进行预检测,确定每个监测节点POPy中的异常的数据流文件。

步骤S4:对每个监测节点POPy中所述异常的数据流文件内的数据流通过迭代计算的方法,预选出每个监测节点POPy相应的候选异常数据流集YCy(1≤y≤m)。

步骤S5:将所有监测节点POPy预选出的候选异常数据流集YCy进行汇总集合,形成全网络候选异常数据流集。

步骤S6:利用关联规则挖掘对所述全网络候选异常数据流集进行挖掘,最终找到并输出全网络中真正的异常数据流集。

优选的,在步骤S2中,确定的时间段是指在某一个确定的连续观测时间段内,例如上午8点到晚上20点,这样可以连续有12个小时用于网络流量检测分析,可以保证数据来源的连续性。进一步的,为了便于对数据流进行细化分析,可以对这样一个连续的时间段内的全部数据进行分割,形成数据量较小的多个数据流文件,而分割的方法是以固定的时间间隔在时间上进行均等分割,这样可以保证每个数据流文件都是在相同的时间间隔内获取的,保证了对数据流文件分析的有效性。

优选的,在步骤S2中,同时对每个监测节点POPy进行数据流分割采用的确定的时间段为12.5小时为例,固定的时间间隔为15分钟,每个监测节点POPy可以得到连续周期的50个数据流文件。这种选取方法,一方面可以保证观测的时间有足够长(12.5小时),另一方面进行数据分割的固定的时间间隔相对较短(15分钟),这样获得的数据流文件的个数相对较多(50),对于多样本分析,使数据流分析的更准确。

在步骤S3中,对每个监测节点POPy得到的连续周期的数据流文件分别单独进行分析,首先在每个监测节点POPy得到的连续周期的数据流文件中构建的流量异常检测器优选采用了基于柱状图检测器。这里,使用柱状图检测器将数据流文件中的数据流按数据流的特征进行统计,形成数据流文件的特征统计柱状图。

具体而言,使用柱状图检测器是将固定时间间隔内采集的数据流文件中的数据流按数据流的某个特征作为测度来统计数据流,形成固定时间间隔内的这个数据流特征的直方图分布,并且连续统计一段时间内采集的数据流文件,形成一系列的特征统计柱状图,因为正常情况下在相邻的两个时间间隔内的数据流的改变不会太大,所以他们所形成的特征统计柱状图在正常情况下也不会有明显的差异,特征统计柱状图可以直观的表示出一个数据流文件中数据流的分布情况,也可以直观的对两个相邻的数据流文件进行比较分析,如果相邻的两个数据流文件的特征统计柱状图差异较大时,则说明其中的数据流出现了异常。

优选的,对于步骤S3,按数据流的特征进行统计包括对数据流的源IP地址、目的IP地址、源端口号、目的端口号、协议、包、字节7个特征中的至少1个特征进行统计,形成该数据流文件的7个特征中的至少1个特征的特征统计柱状图。

为了便于对柱状图检测器以数据流的特征为测度进行特征统计进行具体说明,以下结合图3,对一个监测节点POPy得到的连续周期的数据流文件中的一个数据流文件以数据流的源IP地址为特征进行统计为例,详细描述利用mapreduce处理程序对数据流文件进行特征统计,形成特征统计柱状图的过程具体而言包括如下步骤:

S21A:将所述的数据流文件按照文件名docname送入到mapreduce处理程序中。

在图3中,数据流文件的文件名以d1来表示。

S21B:提取该docname文件中的源IP地址,以该源IP地址、该文件名docname为键,以该源IP地址对应的该数据流的个数1为值,形成{docname IPn,1}格式的值列表,由该mapreduce处理程序中的map函数将值列表中相同的键对应的值进行求和处理以得到{docname IPn,number}。

在图3中,如T2-1所示,第一列数据为数据流文件名为d1,第二列为该数据流文件d1中包含的各个数据流对应的源IP地址,从上到下依次是IP1、IP1、IP2、IP3、IP2、…、IPn,n表示第n个数据流对应的源IP地址;然后,以文件名d1和各个源IP地址为键,形成图3中T2-2所示的值列表,该值列表从上到下依次为{d1 IP1,1}、{d1 IP1,1}、{d1 IP2,1}、{d1 IP3,1}、{d1 IP2,1}、…、{1 IPn,1};进一步的,对T2-2所示内容,通过mapreduce处理程序中的map函数对该值列表中相同的键对应的值进行求和处理,就是将同一个源IP地址所对应的数据流个数进行相加求和,例如将T2-2所示的两个{d1 IP1,1}先转换成T2-3所示的{d1 IP1,{1,1}},再求和得到T2-4所示的{d1 IP1,2};由于上述都是对数据流文件d1进行的处理,最后得到针对数据流文件d1的特征统计结果如图3中T2-5所示,由T2-5可以清楚的看出在数据流文件d1中,来自源IP1地址的数据流的个数是2个,来自源IP2地址的数据流的个数也是2个,来自源IP3地址的数据流的个数是1个,对其他源IP地址的处理方法与IP1相同,此处不在赘述。

S21C:将上述图3中所示的T2-4部分内容由该mapreduce处理程序将{docname IPn,number}格式变换成{IPn,{docname,number}}格式,再由map函数按照该源IP地址排列,将{docname,number}对应列出,形成以该源IP地址为特征的特征统计柱状图。

这一步骤可以结合图3和图4进行说明。由图3已知,对于数据流文件d1,其包含的以IP1以为源IP地址的数据流的个数是2个,在图3中T2-4所示为{d1 IP1,2}。经过步骤S21C中的mapreduce处理,格式转换为{IP1,{d1,2}}。而对于其他源I P地址进行相类似的处理,例如图4中,数据流文件d2中,含有源IP1地址的数据流的个数是n21,对于n21的右下角的2表示数据流文件d2,左上角的1表示源IP1,其他数据流个数的表示方法与此类似,不再赘述。然后再由map函数,按照各个不同的源IP地址排列,将{docname,number}对应列出,形成以各个不同的源IP地址为特征的特征统计柱状图。

进一步的,在步骤S3中,优选采用的检测准则为KL-3σ准则。这里,KL-3σ准则包括KL距离和3σ准则。

KL距离也叫相对熵,它衡量的是在相同事件空间里的两个概率分布的差异。其物理意义是:在相同事件的空间里,概率分布P(x)用概率分布Q(x)编码时,平均每个基本事件(符号)编码增加了多少比特。这种差异程度叫做KL距离,通过KL距离给出的一个信息就是对一个信息源编码,按照其本身的概率分布进行编码,每个字符的平均比特数目最少。在本发明中使用前一时间间隔的数据流文件的特征统计柱状图分布作为参考分布P(x),当前时间间隔的数据流文件的特征统计柱状图分布Q(x),当两者发生改变时,它们两个分布的KL距离值也就不会等于零。分布的差异越大,KL值也就越大,相反如果两个分布是完全相同的,它们KL值就会等于零,依次计算相邻时间间隔的特征统计柱状图的KL距离,并计算KL距离的一阶差分值,用KL距离一阶差分值分析两个相邻数据流文件的变化情况,分析的数据更精确,误差小。

3σ准则又叫拉依达准则,假设一组实验数据只含有随机误差,对数据进行计算处理得到标准偏差,按一定概率确定区间,数值分布在(μ-3σ,μ+3σ)中的概率为0.9974,这样的概率几乎可以认为数据全部出现在在这个范围内,其中,μ表示平均值,σ表示标准差。但凡超过这个区间的误差数据应该去除,这种误差不属于随机误差而是因为别的原因引起的粗大误差。因此当上述得到的KL距离差值超过了3σ值,则可判定KL距离差值异常,就可以认为存在某些原因引起网络数据流的异常变化。因此,数据流文件能够根据KL-3σ准则得到精确的估计分析。

下面将对如何运用KL-3σ准则预检测数据流文件的实施例做详细描述,包括如下步骤:

步骤S21:利用相对熵计算公式依次计算出相邻时间间隔的数据流文件的特征统计柱状图之间的KL距离,计算KL距离的一阶差分值,得到KL距离一阶差分值的时间分布序列,所述相对熵计算公式为:

式中,D———KL距离;Q———当前待测的数据流文件的特征统计柱状图分布;P———与当前待测的数据流文件相邻的前一个数据流文件的特征统计柱状图;X—连续周期的数据流文件;

步骤S22:利用KL距离一阶差分值的时间分布序列,计算出KL距离一阶差分值的平均值μ和标准差σ,以3σ值作为KL距离一阶差分值的检测门限;

步骤S23:将上述KL距离一阶差分值的时间分布序列与3σ进行比较,如果有KL距离一阶差分值超过检测门限,检测器将会发出警告,可以说明当前时间间隔内数据流文件中的数据流发生了异常。确定了异常的数据流文件。

通过以上步骤的优选实施例,每个监测节点POPy可以检测发现出现异常的数据流文件,下面就对每个监测节点POPy的异常的数据流文件进行进一步的识别。

以下对图1中的步骤S4中的优选实施方法做进一步说明,对于步骤S4,通过迭代计算的方法从异常的数据流文件中进一步的分析出候选异常数据流集的过程包括以下步骤:

步骤S41:将异常的数据流文件的特征统计柱状图与上一时间间隔数据流文件的特征统计柱状图对应相减,得出两个特征统计柱状图图差的分布图;

步骤S42:将所述图差的分布图按照差值由大到小降序排列;

步骤S43:选择出差值最大的特征,将异常的数据流文件的特征统计柱状图和上一时间间隔数据流文件的特征统计柱状图中对应的数值改写成两者之中较小的值;

步骤S44:将步骤S43中修改过的异常的数据流文件的特征统计柱状图和上一时间间隔的数据流文件的特征统计柱状图再次计算KL距离一阶差分值,并将其与3σ进行比较;

步骤S45:根据步骤S44的比较结果,如果KL距离一阶差分值均不超过所述3σ检测门限,则修改值的特征对应的数据流作为候选异常数据流输出;如果仍有KL距离一阶差分值超过所述3σ检测门限,将步骤S43中的最大差值的特征,按照步骤S42的图差值由第二大差值开始由大到小顺序的差值依次进行迭代替换,每替换一次,执行一次步骤S43、步骤S44、步骤S45,直至KL距离一阶差分值均不超过所述3σ检测门限;

步骤S46:将S45中输出的候选异常数据流统计为候选异常数据流集YCy。

在步骤S4中仍然采用了KL-3σ准则,使用迭代的算法做数据流的移除,每一层的循环移除一部分数据流,能够为后面计算过程减少数据量,提高算法的效率,能够快速准确的移除异常的数据流,把这些被移除的数据流集合,为下一步抽取真正的异常的数据流做准备,简化了计算程序,减少了计算时间。

通过以上步骤,已经将每个监测节点POPy中的候选异常数据流集提取出来{YC1、YC2、YC3、…、YCm},需要将所有监测节点POPy的候选异常数据流集进行统计集合,形成全网络的候选异常数据流集,以便能够实现对全网络的数据流集进行异常数据流的抽取,这样抽取的异常数据流能够涵盖在全网络的数据流量中,抽取的异常数据流全面、准确,不会遗漏异常数据流,更不会出现以偏概全的现象。

以下对图1中的步骤S6中的优选实施方法做进一步说明,对于步骤S6,其中的关联规则表示两个或者多个变量之间存在着的关联关系,关联规则挖掘是从数据库中找出其中两个或者多个变量中隐藏的关联关系。由于在异常的数据流抽取的问题上,通常异常的数据流都具有相似的特征,比如,相同的IP地址,端口号,或者流长度,而它们具有相似特征是因为他们拥有共同的原因,比如它们是由网络错误,僵尸网络,或者有组织的DOS攻击所引起的。这些相似的特征就是数据流中的关联规则,因此采用关联规则挖掘异常的数据流能够有效准确的抽取出隐藏在正常的背景数据流之下的异常的数据流。

采用最小支持度的Apriori算法可以快速的发现网络用户的行为模式,能够快速的锁定异常数据流,提高了基于关联规则的全网络异常网络流量抽取的检测性。

Apriori算法的核心思想是生成频繁项集,下面对Apriori算法生成频繁N项集举例说明,其中N代表生成的频繁项集中特征的种类。如图5所示为频繁三项集生成频繁四项集过程,在mapreduce处理程序中,将前两个特征作为键,第三个特征作为值,形成键值对。例如,图5中将T5-1所示的{80 443 57}处理成T5-2对应所示的{80443:57}这样的键值对。然后,mapreduce处理程序中对相同的键对应的所有的值进行排序分布形成值列表,如图5中的T5-3部分所示。最后,在mapreduce处理程序中对值列表中每一项进行两两组合,接着与键进行组合,形成新的键值对,得到频繁四项集。例如,如图5中T5-3所示中的{80 443}的值列表{57 40 100}进行两两组合,可以得到{40 57}、{40 100}、{57 100},再与键进行组合,形成如图5中T5-4所示的频繁四项集。

优选的,在步骤S6中对全网络候选异常数据流集进行挖掘的过程包括:按照数据流的特征统计全网络候选异常数据流和生成频繁项集并过滤异常数据流。

其中,按照数据流的特征统计全网络候选异常数据流的过程具体举例说明如图6所示。提取包含源端口号sport、目的端口号dport、包packet三个特征的数据流送入到mapreduce处理程序中,并由mapreduce处理程序分成两部分进行处理。例如,图6中T6-1所示的内容中第一行所示的{80 443 40},其中包含了源端口号80、目的端口443号和包40。以源端口号sport、目的端口号dport、包packet为键,以源端口号sport、目的端口号dport、包packet对应的数据流的个数number为值,得到并形成{(sport,number)、(dport、number)、(packet,number)}格式的计数结果值。

对于图6中的T6-2所示的值列表,以相同的键的值进行集合排序,得到如图6中的T6-3所示的内容,如第1组为{80,{1,1}},最后1组为({120,{1}}。然后,先由mapreduce处理程序中的map函数分别对每部分的值列表进行求和处理,得到如图6中T6-4所示内容。例如,T6-3中第1组为{80,{1,1}}求和对应得到T6-4中的{80,2}。最后再由mapreduce处理程序中的map函数处理方法将两部分内容结合,求和得到并形成{(sport,number)、(dport、number)、(packet,number)}格式的值列表集合。如图6中T6-5所示的{80,4}是由T6-4中两个{80,2}求和得到的。另外,生成频繁项集并过滤异常数据流过程包括:首先,计算全网络候选异常数据流集的最小支持度,再由mapreduce处理程序中的map函数处理方法处理得到的值列表集合中的值与该最小支持度进行比较,将大于最小支持度的全网络候选异常数据流过滤输出形成频繁一项集,然后基于频繁一项集两两结合构造频繁二项集的候选集,在与最小支持度进行比较,过滤得出频繁二项集,由频繁二项集在生成频繁三项集,在与最小支持度进行比较,过滤得出频繁四项集,依此根据所述Apriori算法原理逐步循环过滤出频繁N项集,N大于或等于1,直至特征对应的number值没有大于最小支持度为止,过滤得出全网络中的异常数据流,获得并输出全网络中的异常数据流集。

下面对从频繁项集过滤异常数据流过程举例说明。在使用过的15分钟的网络数据流记录中内,目的端口号7000是唯一被柱状图检测器标记的特征值。有53467条候选异常数据流拥有这个特征值。为了使抽取异常问题更具有挑战性,手动增加一些候选异常数据流集,这些候选异常数据流集是三个最频繁的目的端口号,但是却没有被柱状图检测器标记。端口号80匹配252069条数据流,端口号9022匹配22667条数据流,端口号25匹配22659条数据流。因此,候选异常数据流集总共包括350862条候选异常数据流。设置最小支持度参数为10000条数据流。在首个循环中,总共60条频繁一项集被找出来,然而有59条从输出中移出作为频繁二项集的子集。在第二个循环中,总共78条频繁二项集被找出来,72条被移除,因为它们是频繁三项集的子集。在第三个循环中,41条频繁三项集被找出来,都没有被输出移除。在第四个循环中,10条频繁四项集被找到,但仅有其中的1条留了下来。在第五个循环中,2条频繁五项集被找出。最后,没有满足最小支持度的频繁六项集被找出来,算法结束。

本发明提供的全网络流量异常抽取方法,采用了对每个监测节点POPy分别先进行连续数据流分割,使每个监测节点POPy得到多个连续周期的数据流文件,然后通过柱状图检测器,对数据流文件进行预检测得到异常的数据流文件,通过迭代计算的方法,预选出候选异常数据流集YCy,再将所有监测节点POPy的候选异常数据流集进行统计集合,形成全网络异常数据流集,利用关联规则挖掘对全网络异常数据流集进行异常数据流挖掘,找到并输出真正的异常数据流集。本发明提供的全网络流量异常抽取方法,每个监测节点POPy单独分开进行候选异常数据流集YCy的预选,并且预选过程能够同时进行,有效的提高了全网络的异常数据流抽取的计算效率,再将所有监测节点的POPy进行汇总分析,使分析的数据流能够涵盖在整个自治系统的网络中,涵盖的范围全面,有效的提高了异常数据流抽取的准确性。并且本发明适用在基于MapReduce并行编程模型的程序中,对数据流信息进行并行运算,进一步提高了工作效率,能够高效、准确的捕捉出异常网络数据流。进一步,本发明采用的柱状图检测器具有检测效果直观明确的特点,以KL-3σ准则为检测准则高效精确。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均包括在本发明的专利保护范围内。

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