发明名称 一种网络异常事件分类方法
摘要 本发明公开了一种网络异常事件分类方法。本发明的方法首先从网络流数据中提取流量特征参数,根据检测到的异常时间点确定历史时间窗并构建异常特征多时间序列,充分利用了流量行为在时间上的相关性,能有效提高骨干网异常事件分类的准确性;同时通过分析异常特征多时间序列之间的相似性,能有效区分不同种类的、具有相似特征的异常;利用信息熵处理海量数据,能保证骨干网异常事件分类的实时性要求。
申请公布号 CN102271091B 申请公布日期 2013.09.25
申请号 CN201110261995.3 申请日期 2011.09.06
申请人 电子科技大学 发明人 胡光岷;马力;周颖杰
分类号 H04L12/70(2013.01)I;H04L12/26(2006.01)I 主分类号 H04L12/70(2013.01)I
代理机构 电子科技大学专利中心 51203 代理人 周永宏
主权项 1.一种网络异常事件分类方法,具体包括如下步骤:S1.从网络设备中获取网络中的流数据,从流数据中提取流量特征参数;S2.根据检测到的异常时间点确定历史时间窗并构建异常特征多时间序列,即用异常时间点和它之前的若干个时间点构建历史时间窗,提取历史时间窗内各时间点的流特征参数并计算相对熵,利用相对熵构建各流量特征参数在历史时间窗内的时间序列,并组合为异常特征多时间序列;S3.对于手工标记的训练数据,根据凝聚分层聚类建立初始分类树;建立初始分类树的具体过程为:对于手工标记的训练数据,首先根据手工标记将异常按照类型不同进行分簇;而后计算任意两个异常簇之间的距离;之后,比较各异常簇之间的距离,将距离最小的两个子树相连,得到初始分类树;所述的计算任意两个异常簇之间的距离的具体过程如下:首先采用两个时间序列相关系数的方法度量两个序列的相似性:相关系数的计算公式为:<maths num="0001"><![CDATA[<math><mrow><mi>r</mi><mrow><mo>(</mo><mi>X</mi><mo>,</mo><mi>Y</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><mover><mi>y</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow></mrow><mrow><msqrt><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mn>2</mn></msup></msqrt><msqrt><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mrow><mo>(</mo><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><mover><mi>y</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mn>2</mn></msup></msqrt></mrow></mfrac><mo>,</mo></mrow></math>]]></maths>式中,X和Y分别表示两个异常的同一异常特征参数在各自历史时间窗内的时间序列,x<sub>i</sub>和y<sub>i</sub>分别表示X和Y在一个时间点上的值,而<img file="FDA00003324791700014.GIF" wi="46" he="68" />和<img file="FDA00003324791700015.GIF" wi="49" he="77" />分别表示X和Y在时间上的均值,N表示历史时间窗中的时间点个数;在求出两个异常间的每一个异常特征参数的时间序列的相关系数后,将它们的平方和作为两个异常间的距离,公式如下:<maths num="0002"><![CDATA[<math><mrow><mi>d</mi><mrow><mo>(</mo><mi>X</mi><mo>,</mo><mi>Y</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>t</mi></munderover><mi>r</mi><msup><mrow><mo>(</mo><msub><mi>X</mi><mi>k</mi></msub><mo>,</mo><msub><mi>Y</mi><mi>k</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>,</mo></mrow></math>]]></maths>式中,X和Y表示两个异常,t表示异常特征参数个数,而X<sub>k</sub>和Y<sub>k</sub>分别表示X和Y的第k个异常特征参数在各自历史时间窗内的时间序列;接下来利用组平均距离的方法计算两个簇之间的距离,计算公式如下:<maths num="0003"><![CDATA[<math><mrow><mi>D</mi><mrow><mo>(</mo><mi>A</mi><mo>,</mo><mi>B</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mi>d</mi><mrow><mo>(</mo><msub><mi>a</mi><mi>i</mi></msub><mo>,</mo><msub><mi>b</mi><mi>j</mi></msub><mo>)</mo></mrow></mrow><mrow><mi>m</mi><mo>*</mo><mi>n</mi></mrow></mfrac></mrow></math>]]></maths>式中,D(A,B)表示异常簇A和B的距离,m和n分别表示A和B的元素个数,即A和B中各包含多少个异常,而d(a<sub>i</sub>,b<sub>j</sub>)表示A中的第i个异常a<sub>i</sub>和B中的第j个异常b<sub>j</sub>间的距离;S4.对于新捕获的异常数据,计算该异常与当前分类树各子树的距离,找出与新异常距离最小的子树,根据该子树包含的异常种类进行分析以得到分类结果,并更新分类树。
地址 611731 四川省成都市高新区(西区)西源大道2006号