一种大规模网络流量异常侦测方法及系统

摘要:

本发明提供一种大规模网络流量异常侦测方法及系统,该方法包括:实时获取大规模网络流量;对大规模网络流量分组S变换;大规模网络流量异常检测:重构各组起讫点流量中高频成分的时域信号,计算每组时域信号与其他各组时域信号的平均相关系数,若所述平均相关系数小于设定值,则大规模网络流量异常,否则,大规模网络流量正常。该系统包括:流量获取模块,用于实时获取大规模网络流量;S变换模块,用于对大规模网络流量分组S变换;异常检测模块,用于进行大规模网络流量异常检测。本发明考虑到网络拓扑信息和网络的流量,通过变换域分析,发现在变换域中异常网络流量具有一定的高频特性。将时间窗纳入大流量的网络分析中减少计算开销。

申请号: CN201610561900.2 专利名称: 一种大规模网络流量异常侦测方法及系统 申请(专利权)人: [国网辽宁省电力有限公司阜新供电公司, 国网辽宁省电力有限公司, 东北大学, 国家电网公司] 发明人: [董宏宇, 孟凡博, 路俊海, 赵宏昊, 杜春辉, 王维, 何凌杰, 王心贺, 蒋定德] 其他信息:

一种大规模网络流量异常侦测方法及系统

技术领域

本发明属于计算机通信网络技术领域,具体是一种大规模网络流量异常侦测方法 及系统。

背景技术

流量异常表现出异常的网络行为,有许多原因会造成这样的结果。异常行为往往 会引起网络流量的急剧变化,包括链路流量和起讫点流量。当网络运行异常时,网络流量会 发生异常变化。所有这些行为都有对网络活动的影响。因此,网络流量异常检测对于网络管 理和网络运行来说是一项重要的任务。

然而,进行准确检测流量异常是一个挑战。网络流量很难处理,因为它包含许多内 在性质。较大的变化往往导致故障和拥塞的网络。流量估计有助于捕获网络流量性质。网络 流量异常反映了网络中出现的异常或恶意行为。发现确切的/实际的网络流量异常就是有 效遏制这些反常的或恶意的损害网络的行为。与正常的普通流量相比,异常流量往往要小 得多,而且被淹没在大的普通流量当中。因此,它是隐藏的、难以被发现的。另一方面,一些 异常流量也具有突发特性和分布特性。所有上述特点都增加了检测异常网络流量的困难。

为了克服这些问题,人们提出了许多方法来检测网络中的异常流量。如魏塞尔等 人提出了一种可分解的PCA发现网络中的异常行为的方法。Paschalidis等人利用时空关联 性来检测网络异常。徐等分析网络流量和网络流量行为特征。但由于流量异常的多样性,不 同的异常有不同的行为特征,因此需要不同的方法来分析它们。Lakhina等利用流量特征分 布提取网络异常。此外,他们还采用主成分分析法(PCA)来检测和诊断网络流量异常。黄等 利用网络分析法对网络中断进行诊断。Singhal等调查网络探测和监测的最佳采样技术。基 姆等研究了使用分组头数据来检测流量异常的统计方法。Nychis等人探讨利用熵技术检测 交通异常的经验评价问题。网络的流量具有不同的固有特性,是难以预测和估计的。熵方法 已被广泛用于检测流量异常。Nychis等人研究了多流量分布的熵分析对流量异常检测的影 响。Lakhina等用熵来分析交通特征分布和捕捉异常。项等引入了广义熵度量和信息距离识 别低速率DDoS攻击。然而,这些方法是很难捕捉到网络的广泛性。

统计分析是一种有效的网络流量异常识别方法。Thatte等人用总流量统计来查找 网络异常。费德里克等用一个稳定的一阶模型和一个广义似然比检验,以确定网络流量异 常。主成分分析可以提取网络流量的主要特征。Lakhna等人利用主成分分析法对异常流量 进行检测和诊断。他们分析了网络的异常流量。鲁宾斯坦等分析了骨干网中主成分子空间 检测器的中毒和防御技术。魏塞尔等提出了可分解的PCA方法,但只能以较低的计算开销似 是而非的流量检测。

可见,目前对流量异常的各种侦测方法还不能够准确,都会存在一定的缺点。

发明内容

针对现有技术存在的不足,本发明提供一种大规模网络流量异常侦测方法及系 统。

本发明的技术方案是:

一种大规模网络流量异常侦测方法,包括:

实时获取大规模网络流量;

对大规模网络流量分组S变换;

大规模网络流量异常检测:重构各组起讫点流量中高频成分的时域信号,计算每 组时域信号与其他各组时域信号的平均相关系数,若所述平均相关系数小于设定值,则大 规模网络流量异常,否则,大规模网络流量正常。

所述实时获取大规模网络流量,包括:

根据网络拓扑信息和网络流量情况将物理拓扑转换为逻辑拓扑;

根据逻辑拓扑建立网络中的起讫点节点对;

提取所有起讫点节点对的端到端流量即大规模网络流量。

所述对大规模网络流量分组S变换,包括:

根据相同的源节点或者目的节点,将大规模网络流量进行分组;

对各组起讫点流量在特定时间窗口进行S变换。

所述大规模网络流量异常检测,包括:

提取S变换后的各组起讫点流量中的高频成分;

对所述高频成分执行反S变换,重构出所述高频成分的时域信号;

通过滑动特定时间窗口,计算每组所述高频成分的时域信号与其他各组时域信号 的平均相关系数;

若所述平均相关系数小于设定值,则相应组起讫点流量异常,否则,相应组起讫点 流量正常。

本发明还提供一种大规模网络流量异常侦测系统,包括:

流量获取模块,用于实时获取大规模网络流量;

S变换模块,用于对大规模网络流量分组S变换;

异常检测模块,用于进行大规模网络流量异常检测:重构各组起讫点流量中高频 成分的时域信号,计算每组时域信号与其他各组时域信号的平均相关系数,若所述平均相 关系数小于设定值,则大规模网络流量异常,否则,大规模网络流量正常。

所述流量获取模块,包括:

拓扑转换模块,用于根据网络拓扑信息和网络流量情况将物理拓扑转换为逻辑拓 扑;

节点对建立模块,用于根据逻辑拓扑建立网络中的起讫点节点对;

流量提取模块,用于提取所有起讫点节点对的端到端流量即大规模网络流量。

所述S变换模块,包括:

分组模块,用于根据相同的源节点或者目的节点,将大规模网络流量进行分组;

变换模块,用于对各组起讫点流量在特定时间窗口进行S变换。

所述异常检测模块,包括:

高频成分提取模块,用于提取S变换后的各组起讫点流量中的高频成分;

反S变换模块,用于对所述高频成分执行反S变换,重构出所述高频成分的时域信 号;

计算模块,用于通过滑动特定时间窗口,计算每组所述高频成分的时域信号与其 他各组时域信号的平均相关系数;

判断模块,用于根据所述平均相关系数判断起讫点流量:若所述平均相关系数小 于设定值,则相应组起讫点流量异常,否则,相应组起讫点流量正常。

有益效果:

通过分析变换域的特点,研究了网络流量的异常检测问题。作为链路级流量,端到 端的网络流量不明显。它拥有许多隐藏的固有特性,很难发现。不同于以往的检测方法,很 难发现隐藏在网络中的固有属性特征,本发明考虑到网络拓扑信息和网络的流量,能够从 网络高度的视角准确地检测到异常流量。

通过变换域分析,能够发现在变换域中,异常网络流量具有一定的高频特性。此 外,在不同的时间窗口的变换分析,有一定的影响;将时间窗纳入到大流量的网络分析工作 中去能够减少计算开销,并实现合理检测。因此本发明可以准确地检测出似是而非的异常 网络流量,并且不同的时间窗口具有较好的检测能力,体现了较强的稳健性,并拥有比以前 的方法更好的检测性能。

附图说明

图1为本发明具体实施方式中大规模网络流量异常侦测方法流程图;

图2为本发明具体实施方式中大规模网络流量异常检测网络模型;

图3为本发明具体实施方式中大规模网络流量异常侦测系统框图;

图4为本发明具体实施方式中正常的大规模网络流量S变换,(a)、(b)分别为不同 起讫点流量,(c)、(d)分别为(a)、(b)对应的S变换情况;

图5为本发明非正常大规模网络流量S变换,在图4流量中注入了攻击流量而形成, (a)、(b)分别为不同起讫点流量中注入了攻击流量,(c)、(d)分别为(a)、(b)对应的S变换情 况;

图6为本发明不同尺寸的窗口的S变换,(a)为窗口尺寸为100情况下的大规模网络 流量时间、频率二维的显示,(b)为窗口尺寸为500情况下的大规模网络流量时间、频率的二 维显示,(c)为窗口尺寸为100情况下的大规模网络流量S变换结果三维显示,(d)为窗口尺 寸为500情况下的大规模网络流量S变换结果三维显示;

图7为本发明具体实施方式中步骤2的具体流程图;

图8为本发明具体实施方式中不存在异常的大规模网络流量异常侦测结果,(a)为 起讫点流量组29不存在异常的大规模网络流量异常侦测结果,(b)为起讫点流量组65不存 在异常的大规模网络流量异常侦测结果,(c)为起讫点流量组137不存在异常的大规模网络 流量异常侦测结果;

图9为本发明具体实施方式中存在异常的大规模网络流量异常侦测结果,(a)为起 讫点流量组29存在异常的大规模网络流量异常侦测结果,(b)为起讫点流量组65存在异常 的大规模网络流量异常侦测结果,(c)为起讫点流量组137存在异常的大规模网络流量异常 侦测结果;

图10为本发明具体实施方式中四组异常流量攻击下的检测ROC曲线,(a)为异常流 量攻击1下的检测ROC曲线,(b)为异常流量攻击2下的检测ROC曲线,(c)为异常流量攻击3下 的检测ROC曲线,(d)为异常流量攻击4下的检测ROC曲线;

图11为本发明具体实施方式中不同异常流量攻击情况下的检测ROC曲线对比图;

图12为本发明具体实施方式中不同异常流量攻击情况下的不同时间窗口检测ROC 曲线,(a)为异常流量攻击1下的不同时间窗口检测ROC曲线,(b)为异常流量攻击2下的不同 时间窗口检测ROC曲线,(c)为异常流量攻击3下的不同时间窗口检测ROC曲线,(d)为异常流 量攻击4下的不同时间窗口检测ROC曲线;

图13为本发明具体实施方式中不同异常流量攻击和时间窗口下的检测ROC曲线对 比图;

图14为本发明具体实施方式中四种方法对异常流量攻击1的检测ROC曲线对比图;

图15为本发明具体实施方式中四种方法对异常流量攻击2的检测ROC曲线对比图;

图16为本发明具体实施方式中四种方法对异常流量攻击2的检测ROC曲线对比图;

图17为本发明具体实施方式中四种方法对不同异常流量攻击的检测ROC曲线对比 图;

图18为本发明具体实施方式中不同的滑动时间窗口的平均运行时间对比图;

图19为本发明具体实施方式中不同滑动时间窗口总运行时间对比图;

图20为本发明具体实施方式中流量获取模块框图;

图21为本发明具体实施方式中S变换模块框图;

图22为本发明具体实施方式中异常检测模块框图。

具体实施方式

下面结合附图对本发明的具体实施方式做详细说明。

本实施方式所涉及到的符号的定义如下:

f(t):连续信号;

S(t,ω):连续信号的S变换;

w(t,ω):窗口函数;

δ(ω):标准偏差;

F(ω):f(t)的傅里叶变换;

h[k]:k点离散时间信号;

k点离散时间信号的傅里叶变换;

fu=(fu1,fu2,…,fuq):N个离散时间点的第u组的起讫点流量;

Su:Fu的s变换;

N:大规模网络流量长度;

w:时间窗口尺寸大小;

m=round(N/w):每一部分流量长度;

corrf(x,y):x和y的相关系数;

duz:检测门槛;

一种大规模网络流量异常侦测方法,如图1所示,包括:

步骤1、实时获取大规模网络流量;

所述步骤1,包括:

步骤1-1、根据网络拓扑信息和网络流量情况将物理拓扑转换为逻辑拓扑;

为了获得大规模网络流量,将网络模型部署为图2的结构。其中底部代表与自治系 统一致的物理网络拓扑Physical topology,顶部是逻辑网络拓扑Logical topology。首先 根据网络拓扑信息和网络流量情况将物理拓扑转换为逻辑拓扑,将这个复杂的网络提取为 简单的网络,这有利于从大规模网络流量数据中提取大规模网络流量。

步骤1-2、根据逻辑拓扑建立网络中的起讫点节点对,形成起讫点节点对表;

步骤1-3、通过网络流量和逻辑拓扑提取所有起讫点节点对的端到端流量即大规 模网络流量。

步骤2、对大规模网络流量分组S变换;

要准确地完善大规模网络流量的异常特征检测,需要对大规模网络流量进行详细 分析。传统上,大规模网络流量总是作为时间序列被讨论。虽然能够提取网络流量中的异常 成分,但缺点是它仅限于时域分析。现有技术提出了许多方法来检测网络中的异常流量,但 由于流量异常的多样性,不同的异常有不同的行为特征,因此需要不同的方法来分析它们。 本实施方式采用基于变换域分析的方式对大规模网络流量异常侦测,来提取大规模网络流 量的固有特性。

S变换可以同时描述一个给定的信号的时域和频域特性。因此,它可以有有效地表 征网络流量的固有的、隐藏的特点。这有助于捕捉和提取流量异常检测过程中所需要的异 常属性。为了捕获网络流量的固有特征,利用S变换来做信号分析,进而准确把握网络流量 在变换域的时间和频率特性。S变换具有小波变换和短时傅里叶变换的优点。信号的相位信 息被S变换保存,像在短时傅里叶变换中一样,并在同一时间,可变分辨率可以被保证,像在 小波变换中一样。

非正常的大规模网络流量的S变换与正常的大规模网络流量的S变换有很大不同。 一方面,非正常的大规模网络流量的S变换拥有比正常的大规模网络流量的S变换更大的 值;另一方面,前者拥有比后者更多的高频成分。那么非正常的大规模网络流量在高频成分 的显著区别就在S变换中表现了出来。如图4(a)~(d)所示,大规模网络流量在低频成分具 有较大的能量,因为其S变换值主要集中在低频部分,而在高频部分的值要低得多;而图5 (a)~(d)中,高频成分很明显的在S变换之后表现了出来,其值较大。

由图2可以看出:一个节点可能会连接到多个节点上,多个节点也可能连到同一个 节点上。即一个目的节点可以有多个来自不同源节点的流量。这些有相同目的节点的起讫 点流必然会存在一定的空间相关性,这个空间相关性可以捕获到反常的流量。因此采用分 组的思想,将所有网络节点分组。

每一个目的节点流从一个源节点进入网络,从一个目的节点流出网络,也就是大 规模网络流量从源节点到目的节点穿过这个网络。因此根据相同的源节点或者目的节点可 以将所有起讫点流分为不同的组。这样的话,每组都会有更加相似的特性以及更强的相关 性。至于异常流量,有相同的目的地址,不同的相关性。

所述步骤2,如图7所示,包括:

步骤2-1、根据相同的源节点或者目的节点,将大规模网络流量进行分组得到多各 起讫点流量组;

本实施方式根据相同的源节点将大规模网络流量进行分组,N个离散时间点的第u 个源节点到各目的节点的流量组表示如下:

fu=(fu1,fu2,…,fuq), (1)

其中,u=1,2,…,q

对fu进行S变换得到Su

<mrow> <msub> <mi>S</mi> <mi>u</mi> </msub> <mo>=</mo> <mrow> <mo>(</mo> <msub> <mi>S</mi> <mrow> <mi>u</mi> <mn>1</mn> </mrow> </msub> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>N</mi> </mfrac> <mo>&rsqb;</mo> <mo>,</mo> <msub> <mi>S</mi> <mrow> <mi>u</mi> <mn>2</mn> </mrow> </msub> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>N</mi> </mfrac> <mo>&rsqb;</mo> <mo>,</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>S</mi> <mrow> <mi>u</mi> <mi>q</mi> </mrow> </msub> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>N</mi> </mfrac> <mo>&rsqb;</mo> <mo>)</mo> </mrow> <mo>,</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

对q个节点的网络,大规模网络流量组合如下:

f=(f1,f2,…,fq), (3)

<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>f</mi> <mn>1</mn> </msub> <mo>=</mo> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mn>11</mn> </msub> <mo>,</mo> <msub> <mi>f</mi> <mn>2</mn> </msub> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>f</mi> <mrow> <mn>1</mn> <mi>q</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>f</mi> <mn>2</mn> </msub> <mo>=</mo> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mn>21</mn> </msub> <mo>,</mo> <msub> <mi>f</mi> <mn>22</mn> </msub> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>f</mi> <mrow> <mn>2</mn> <mi>q</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>...</mn> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>f</mi> <mi>q</mi> </msub> <mo>=</mo> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mrow> <mi>q</mi> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>f</mi> <mrow> <mi>q</mi> <mn>2</mn> </mrow> </msub> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>f</mi> <mrow> <mi>q</mi> <mi>q</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&CenterDot;</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>

公式(3)和(4)进行S变换得到:

S=(S1,S2,…,Sq), (5)

<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>S</mi> <mn>1</mn> </msub> <mo>=</mo> <mrow> <mo>(</mo> <msub> <mi>S</mi> <mn>11</mn> </msub> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>N</mi> </mfrac> <mo>&rsqb;</mo> <mo>,</mo> <msub> <mi>S</mi> <mn>12</mn> </msub> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>N</mi> </mfrac> <mo>&rsqb;</mo> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>S</mi> <mrow> <mn>1</mn> <mi>q</mi> </mrow> </msub> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>N</mi> </mfrac> <mo>&rsqb;</mo> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>S</mi> <mn>2</mn> </msub> <mo>=</mo> <mrow> <mo>(</mo> <msub> <mi>S</mi> <mn>21</mn> </msub> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>N</mi> </mfrac> <mo>&rsqb;</mo> <mo>,</mo> <msub> <mi>S</mi> <mn>22</mn> </msub> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>N</mi> </mfrac> <mo>&rsqb;</mo> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>S</mi> <mrow> <mn>2</mn> <mi>q</mi> </mrow> </msub> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>N</mi> </mfrac> <mo>&rsqb;</mo> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>...</mn> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>S</mi> <mi>q</mi> </msub> <mo>=</mo> <mrow> <mo>(</mo> <msub> <mi>S</mi> <mrow> <mi>q</mi> <mn>1</mn> </mrow> </msub> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>N</mi> </mfrac> <mo>&rsqb;</mo> <mo>,</mo> <msub> <mi>S</mi> <mrow> <mi>q</mi> <mn>2</mn> </mrow> </msub> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>N</mi> </mfrac> <mo>&rsqb;</mo> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>S</mi> <mrow> <mi>q</mi> <mi>q</mi> </mrow> </msub> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>N</mi> </mfrac> <mo>&rsqb;</mo> <mo>)</mo> </mrow> <mo>.</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>

步骤2-2、对各组起讫点流量在特定时间窗口进行S变换。

信号的S变换与信号的长度密切相关,即大规模网络流量在不同的尺寸的时间窗 的S变换的结果有很大不同。图6验证了这个情况,其中(a)、(c)所示的大规模网络流量S变 换的窗口尺寸为100,(b)、(d)所示的大规模网络流量S变换的窗口尺寸为500。从图中可以 看出,不同的尺寸的窗的S变换会有不同的时域和频域特性。更重要的,窗口尺寸大的会展 示出比窗口尺寸小的更加复杂的特性。因此考虑到大规模网络流量在特定时间窗S变换。

对于一个长度为N的大规模网络流量,用尺寸为w的窗口将其分为m个部分,m= round(N/w),那么(6)可转化为以下方程:

<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>S</mi> <mn>1</mn> <mi>w</mi> </msubsup> <mo>=</mo> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mn>11</mn> <mi>w</mi> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mi>n</mi> <mo>&rsqb;</mo> <mo>,</mo> <msubsup> <mi>S</mi> <mn>12</mn> <mi>w</mi> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mi>n</mi> <mo>&rsqb;</mo> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>S</mi> <mrow> <mn>1</mn> <mi>q</mi> </mrow> <mi>w</mi> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mi>n</mi> <mo>&rsqb;</mo> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>S</mi> <mn>2</mn> <mi>w</mi> </msubsup> <mo>=</mo> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mn>21</mn> <mi>w</mi> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mi>n</mi> <mo>&rsqb;</mo> <mo>,</mo> <msubsup> <mi>S</mi> <mn>22</mn> <mi>w</mi> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mi>n</mi> <mo>&rsqb;</mo> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>S</mi> <mrow> <mn>2</mn> <mi>q</mi> </mrow> <mi>w</mi> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mi>n</mi> <mo>&rsqb;</mo> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>...</mn> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>S</mi> <mi>q</mi> <mi>w</mi> </msubsup> <mo>=</mo> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mrow> <mi>q</mi> <mn>1</mn> </mrow> <mi>w</mi> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mi>n</mi> <mo>&rsqb;</mo> <mo>,</mo> <msubsup> <mi>S</mi> <mrow> <mi>q</mi> <mn>1</mn> </mrow> <mi>w</mi> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mi>n</mi> <mo>&rsqb;</mo> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>S</mi> <mrow> <mi>q</mi> <mi>q</mi> </mrow> <mi>w</mi> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mi>n</mi> <mo>&rsqb;</mo> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo> </mrow> </mrow>

其中:

<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mn>1</mn> </mrow> <mi>w</mi> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mi>n</mi> <mo>&rsqb;</mo> <mo>=</mo> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mn>1</mn> </mrow> <mn>1</mn> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>w</mi> </mfrac> <mo>&rsqb;</mo> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mn>1</mn> </mrow> <mrow> <mi>m</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>w</mi> </mfrac> <mo>&rsqb;</mo> <mo>,</mo> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mn>1</mn> </mrow> <mi>m</mi> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>R</mi> </mfrac> <mo>&rsqb;</mo> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mn>2</mn> </mrow> <mi>w</mi> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mi>n</mi> <mo>&rsqb;</mo> <mo>=</mo> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mn>2</mn> </mrow> <mn>1</mn> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>w</mi> </mfrac> <mo>&rsqb;</mo> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mn>2</mn> </mrow> <mrow> <mi>m</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>w</mi> </mfrac> <mo>&rsqb;</mo> <mo>,</mo> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mn>2</mn> </mrow> <mi>m</mi> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>R</mi> </mfrac> <mo>&rsqb;</mo> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>...</mn> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mi>q</mi> </mrow> <mi>w</mi> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mi>n</mi> <mo>&rsqb;</mo> <mo>=</mo> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mi>q</mi> </mrow> <mi>u</mi> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>w</mi> </mfrac> <mo>&rsqb;</mo> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mi>q</mi> </mrow> <mrow> <mi>m</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>w</mi> </mfrac> <mo>&rsqb;</mo> <mo>,</mo> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mi>q</mi> </mrow> <mi>m</mi> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>R</mi> </mfrac> <mo>&rsqb;</mo> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>8</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>u</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>...</mn> <mo>,</mo> <mi>q</mi> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>R</mi> <mo>=</mo> <mi>N</mi> <mo>-</mo> <mi>w</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>m</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>.</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>9</mn> <mo>)</mo> </mrow> </mrow>

步骤3、大规模网络流量异常检测:重构各组起讫点流量中高频成分的时域信号, 计算每组时域信号与其他各组时域信号的平均相关系数,若所述平均相关系数小于设定 值,则大规模网络流量异常,否则,大规模网络流量正常。

与正常的网络流量相比,异常的网络流量在变换域其高频成分有明显变化。对于 异常的网络流量,网络流量的相关性(如空间和时间相关性)具有隐藏特性,因此采用网络 流量分组的方法将其隐藏的相关性进行捕获。为了准确地检测到流量异常的起源,分析其 与其他来源地的流量相关系数。最后使用3-δ方法来判定检测门槛duz,确保异常流量检测的 可靠性及成功率。

所述步骤3,包括:

步骤3-1、提取S变换后的各组起讫点流量中的高频成分;

提取变换方程(7)的高频分量,获得相应的高频成分如下:

<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>S</mi> <mn>1</mn> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>=</mo> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mn>11</mn> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mi>n</mi> <mo>&rsqb;</mo> <mo>,</mo> <msubsup> <mi>S</mi> <mn>12</mn> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mi>n</mi> <mo>&rsqb;</mo> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>S</mi> <mrow> <mn>1</mn> <mi>q</mi> </mrow> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mi>n</mi> <mo>&rsqb;</mo> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>S</mi> <mn>2</mn> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>=</mo> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mn>21</mn> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mi>n</mi> <mo>&rsqb;</mo> <mo>,</mo> <msubsup> <mi>S</mi> <mn>22</mn> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mi>n</mi> <mo>&rsqb;</mo> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>S</mi> <mrow> <mn>2</mn> <mi>q</mi> </mrow> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mi>n</mi> <mo>&rsqb;</mo> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>...</mn> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>S</mi> <mi>q</mi> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>=</mo> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mrow> <mi>q</mi> <mn>1</mn> </mrow> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mi>n</mi> <mo>&rsqb;</mo> <mo>,</mo> <msubsup> <mi>S</mi> <mrow> <mi>q</mi> <mn>1</mn> </mrow> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mi>n</mi> <mo>&rsqb;</mo> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>S</mi> <mrow> <mi>q</mi> <mi>q</mi> </mrow> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mi>n</mi> <mo>&rsqb;</mo> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>10</mn> <mo>)</mo> </mrow> </mrow>

其中

<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mn>1</mn> </mrow> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mi>n</mi> <mo>&rsqb;</mo> <mo>=</mo> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mn>1</mn> </mrow> <mrow> <mn>1</mn> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>w</mi> </mfrac> <mo>&rsqb;</mo> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mn>1</mn> </mrow> <mrow> <mrow> <mo>(</mo> <mrow> <mi>m</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>w</mi> </mfrac> <mo>&rsqb;</mo> <mo>,</mo> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mn>1</mn> </mrow> <mrow> <mi>m</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>R</mi> </mfrac> <mo>&rsqb;</mo> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mn>2</mn> </mrow> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mi>n</mi> <mo>&rsqb;</mo> <mo>=</mo> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mn>2</mn> </mrow> <mrow> <mn>1</mn> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>w</mi> </mfrac> <mo>&rsqb;</mo> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mn>2</mn> </mrow> <mrow> <mrow> <mo>(</mo> <mrow> <mi>m</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>w</mi> </mfrac> <mo>&rsqb;</mo> <mo>,</mo> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mn>2</mn> </mrow> <mrow> <mi>m</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>R</mi> </mfrac> <mo>&rsqb;</mo> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>...</mn> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mi>q</mi> </mrow> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mi>n</mi> <mo>&rsqb;</mo> <mo>=</mo> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mi>q</mi> </mrow> <mrow> <mn>1</mn> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>w</mi> </mfrac> <mo>&rsqb;</mo> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mi>q</mi> </mrow> <mrow> <mrow> <mo>(</mo> <mrow> <mi>m</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>w</mi> </mfrac> <mo>&rsqb;</mo> <mo>,</mo> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mi>q</mi> </mrow> <mrow> <mi>m</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>R</mi> </mfrac> <mo>&rsqb;</mo> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>11</mn> <mo>)</mo> </mrow> </mrow>

其中,R=N-w*(m-1)。

步骤3-2、对所述高频成分执行反S变换,重构出所述高频成分的时域信号;

在网络流量分析中,端到端的流量样本数据,它只有在一些离散的时间有值。故进 行离散信号的S变换。k点的离散时间信号,S变换可以表示为如下:

<mrow> <mi>S</mi> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>K</mi> </mfrac> <mo>&rsqb;</mo> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>m</mi> <mo>=</mo> <mo>-</mo> <mi>K</mi> <mo>/</mo> <mn>2</mn> </mrow> <mrow> <mi>K</mi> <mo>/</mo> <mn>2</mn> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <mi>H</mi> <mo>&lsqb;</mo> <mfrac> <mrow> <mi>m</mi> <mo>+</mo> <mi>n</mi> </mrow> <mi>N</mi> </mfrac> <mo>&rsqb;</mo> <msup> <mi>e</mi> <mrow> <mo>-</mo> <mfrac> <mrow> <mn>2</mn> <msup> <mi>&pi;</mi> <mn>2</mn> </msup> <msup> <mi>m</mi> <mn>2</mn> </msup> </mrow> <msup> <mi>n</mi> <mn>2</mn> </msup> </mfrac> <mo>+</mo> <mi>i</mi> <mfrac> <mrow> <mn>2</mn> <mi>&pi;</mi> <mi>m</mi> <mi>j</mi> </mrow> <mi>K</mi> </mfrac> </mrow> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>12</mn> <mo>)</mo> </mrow> </mrow>

其中,是h[k]的傅里叶变换。

离散信号反S变换:

<mrow> <mi>h</mi> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> <mo>=</mo> <mfrac> <mn>1</mn> <mi>K</mi> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>n</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>K</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <mo>{</mo> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>K</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <mi>S</mi> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>K</mi> </mfrac> <mo>&rsqb;</mo> </mrow> <mo>}</mo> <msup> <mi>e</mi> <mfrac> <mrow> <mi>i</mi> <mn>2</mn> <mi>&pi;</mi> <mi>n</mi> <mi>k</mi> </mrow> <mi>K</mi> </mfrac> </msup> <mo>,</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>13</mn> <mo>)</mo> </mrow> </mrow>

根据(13)式,执行反S变换和重构对应高频成分的时域信号如下:

<mrow> <msup> <mi>f</mi> <mi>h</mi> </msup> <mo>=</mo> <mrow> <mo>(</mo> <msubsup> <mi>f</mi> <mn>1</mn> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>,</mo> <msubsup> <mi>f</mi> <mn>2</mn> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>,</mo> <mo>...</mo> <mo>,</mo> <msubsup> <mi>f</mi> <mi>q</mi> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>)</mo> </mrow> <mo>,</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>14</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>f</mi> <mn>1</mn> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>=</mo> <mrow> <mo>(</mo> <mrow> <msubsup> <mi>f</mi> <mn>11</mn> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> <mo>,</mo> <msubsup> <mi>f</mi> <mn>12</mn> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>f</mi> <mrow> <mn>1</mn> <mi>q</mi> </mrow> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>f</mi> <mn>2</mn> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>=</mo> <mrow> <mo>(</mo> <mrow> <msubsup> <mi>f</mi> <mn>21</mn> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> <mo>,</mo> <msubsup> <mi>f</mi> <mn>22</mn> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>f</mi> <mrow> <mn>2</mn> <mi>q</mi> </mrow> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>...</mn> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>f</mi> <mi>q</mi> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>=</mo> <mrow> <mo>(</mo> <mrow> <msubsup> <mi>f</mi> <mrow> <mi>q</mi> <mn>1</mn> </mrow> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> <mo>,</mo> <msubsup> <mi>f</mi> <mrow> <mi>q</mi> <mn>2</mn> </mrow> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>f</mi> <mrow> <mi>q</mi> <mi>q</mi> </mrow> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>15</mn> <mo>)</mo> </mrow> </mrow>

其中

<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>f</mi> <mrow> <mi>u</mi> <mn>1</mn> </mrow> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> <mo>=</mo> <mrow> <mo>(</mo> <mrow> <msubsup> <mi>f</mi> <mrow> <mi>u</mi> <mn>1</mn> </mrow> <mrow> <mn>1</mn> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>f</mi> <mrow> <mi>u</mi> <mn>1</mn> </mrow> <mrow> <mo>(</mo> <mi>m</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> <mo>,</mo> <msubsup> <mi>f</mi> <mrow> <mi>u</mi> <mn>1</mn> </mrow> <mrow> <mi>m</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>f</mi> <mrow> <mi>u</mi> <mn>2</mn> </mrow> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> <mo>=</mo> <mrow> <mo>(</mo> <mrow> <msubsup> <mi>f</mi> <mrow> <mi>u</mi> <mn>2</mn> </mrow> <mrow> <mn>1</mn> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>f</mi> <mrow> <mi>u</mi> <mn>2</mn> </mrow> <mrow> <mo>(</mo> <mi>m</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> <mo>,</mo> <msubsup> <mi>f</mi> <mrow> <mi>u</mi> <mn>2</mn> </mrow> <mrow> <mi>m</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>...</mn> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>f</mi> <mrow> <mi>u</mi> <mi>q</mi> </mrow> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> <mo>=</mo> <mrow> <mo>(</mo> <mrow> <msubsup> <mi>f</mi> <mrow> <mi>u</mi> <mi>q</mi> </mrow> <mrow> <mn>1</mn> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>f</mi> <mrow> <mi>u</mi> <mi>q</mi> </mrow> <mrow> <mo>(</mo> <mi>m</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>h</mi> <mo>&rsqb;</mo> <mo>,</mo> <msubsup> <mi>f</mi> <mrow> <mi>u</mi> <mi>q</mi> </mrow> <mrow> <mi>m</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>16</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>f</mi> <mrow> <mi>u</mi> <mi>v</mi> </mrow> <mrow> <mn>1</mn> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> <mo>=</mo> <mfrac> <mn>1</mn> <mi>w</mi> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>n</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>w</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <mrow> <mo>{</mo> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>w</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mi>v</mi> </mrow> <mrow> <mn>1</mn> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>w</mi> </mfrac> <mo>&rsqb;</mo> </mrow> <mo>}</mo> </mrow> <msup> <mi>e</mi> <mfrac> <mrow> <mi>i</mi> <mn>2</mn> <mi>&pi;</mi> <mi>n</mi> <mi>k</mi> </mrow> <mi>w</mi> </mfrac> </msup> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>...</mn> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>f</mi> <mrow> <mi>u</mi> <mi>v</mi> </mrow> <mrow> <mo>(</mo> <mi>m</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> <mo>=</mo> <mfrac> <mn>1</mn> <mi>w</mi> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>n</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>w</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <mrow> <mo>{</mo> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>w</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mi>v</mi> </mrow> <mrow> <mo>(</mo> <mi>m</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>w</mi> </mfrac> <mo>&rsqb;</mo> </mrow> <mo>}</mo> </mrow> <msup> <mi>e</mi> <mfrac> <mrow> <mi>i</mi> <mn>2</mn> <mi>&pi;</mi> <mi>n</mi> <mi>k</mi> </mrow> <mi>w</mi> </mfrac> </msup> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>f</mi> <mrow> <mi>u</mi> <mi>v</mi> </mrow> <mrow> <mi>m</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> <mo>=</mo> <mfrac> <mn>1</mn> <mi>R</mi> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>n</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>R</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <mrow> <mo>{</mo> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>R</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msubsup> <mi>S</mi> <mrow> <mi>u</mi> <mi>v</mi> </mrow> <mrow> <mi>m</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>j</mi> <mo>,</mo> <mfrac> <mi>n</mi> <mi>R</mi> </mfrac> <mo>&rsqb;</mo> </mrow> <mo>}</mo> </mrow> <msup> <mi>e</mi> <mfrac> <mrow> <mi>i</mi> <mn>2</mn> <mi>&pi;</mi> <mi>n</mi> <mi>k</mi> </mrow> <mi>R</mi> </mfrac> </msup> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>17</mn> <mo>)</mo> </mrow> </mrow>

步骤3-3、通过滑动特定时间窗口,计算每组所述高频成分的时域信号与其他各组 时域信号的平均相关系数;

根据方程(14)到(17)计算fuz以及其他在uth组的q-1起讫点流量的平均相关系数:

对于异常的网络流量,其网络相关性(如空间和时间相关性)具有隐藏的特性。一 方面由于随时间和空间异常网络表现的相似性,网络流量展示一定的相似性;另一方面,因 为异常网络流量相对于正常的网络流量来说非常小,它具有明显的隐藏性质。

为了准确地检测第u组的第z(z∈v)个起讫点流量中的异常流量,分析其与其它q- 1个起讫点流量的相关系数,因为相关系数能够表示两个起讫点流量之间的相关程度,有相 同异常流量的两个起讫点流量应该表现出更大或者更小的相关系数,因此根据(14)到(17) 式,计算第u组的起讫点流量fuz和其它q-1个起讫点流量的平均相关系数如下:

<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>c</mi> <mrow> <mi>u</mi> <mn>1</mn> </mrow> <mi>h</mi> </msubsup> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mi>q</mi> <mo>-</mo> <mn>1</mn> </mrow> </mfrac> <munder> <mo>&Sigma;</mo> <mrow> <mi>z</mi> <mo>&NotEqual;</mo> <mn>1</mn> </mrow> </munder> <mi>c</mi> <mi>o</mi> <mi>r</mi> <mi>r</mi> <mi>f</mi> <mrow> <mo>(</mo> <msubsup> <mi>f</mi> <mrow> <mi>u</mi> <mn>1</mn> </mrow> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> <mo>,</mo> <msubsup> <mi>f</mi> <mrow> <mi>u</mi> <mi>z</mi> </mrow> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>c</mi> <mrow> <mi>u</mi> <mn>2</mn> </mrow> <mi>h</mi> </msubsup> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mi>q</mi> <mo>-</mo> <mn>1</mn> </mrow> </mfrac> <munder> <mo>&Sigma;</mo> <mrow> <mi>z</mi> <mo>&NotEqual;</mo> <mn>2</mn> </mrow> </munder> <mi>c</mi> <mi>o</mi> <mi>r</mi> <mi>r</mi> <mi>f</mi> <mrow> <mo>(</mo> <msubsup> <mi>f</mi> <mrow> <mi>u</mi> <mn>2</mn> </mrow> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> <mo>,</mo> <msubsup> <mi>f</mi> <mrow> <mi>u</mi> <mi>z</mi> </mrow> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>...</mn> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>c</mi> <mrow> <mi>u</mi> <mi>q</mi> </mrow> <mi>h</mi> </msubsup> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mi>q</mi> <mo>-</mo> <mn>1</mn> </mrow> </mfrac> <munder> <mo>&Sigma;</mo> <mrow> <mi>z</mi> <mo>&NotEqual;</mo> <mi>q</mi> </mrow> </munder> <mi>c</mi> <mi>o</mi> <mi>r</mi> <mi>r</mi> <mi>f</mi> <mrow> <mo>(</mo> <msubsup> <mi>f</mi> <mrow> <mi>u</mi> <mn>2</mn> </mrow> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> <mo>,</mo> <msubsup> <mi>f</mi> <mrow> <mi>u</mi> <mi>z</mi> </mrow> <mrow> <mi>w</mi> <mi>h</mi> </mrow> </msubsup> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>18</mn> <mo>)</mo> </mrow> </mrow>

其中,corrf(x,y)是x和y之间的相关系数,之间的相关系数。

使用滑动时间窗口来计算相关系数,来获得整个采样时间内的每组所述高频成分 的时域信号与其他各组时域信号的平均相关系数。

步骤3-4、若所述平均相关系数小于设定值即z=1,2,…,q,则相应组起讫点流量异常,否则,相应组起讫点流量正常。

本实施方式中的大规模网络流量异常侦测方法用TDAD,英文全称为:Transform Domain-Based Anomaly Detection)表示,为了验证本发明方法的效果,利用从真正的骨干 网(Abilene网络)得到的大规模网络流量作为背景流量,然后注入四个攻击合成综合异常 流量,其中包括两个统计攻击(即attack1和attack2),真正的DDoS攻击(即attack3),和混 合攻击(即attack4)。因为Abilene网络主要服务于美国的教育和研究,其中包含12个路由 器节点,因而具有144起讫点流量,使用12台电脑作为在Abilene网络的12个路由器。然后利 用网络流量回放模拟异常流量。

在Abilene网络中,根据共同的目的地址(目的节点)将大规模网络流量分组得到12组起讫点流量,对各组起讫点流量特定时间窗口进行S变换,提取S变换后的各组起讫点流量中的高频成分,执行反S变换和重构对应高频成分的信号通过滑动特定时间窗口,计算每组所述高频成分的时域信号与其他各组时域信号的平均相关系数,使用3-δ方法来判定检测门槛duz.起讫点流量fuz异常,则:

分析本发明方法TDAD与现有方法PCA(主成分分析法)、SPAD(Distributed Spatial Anomaly Detection)方法的大规模网络流量异常侦测性能。

图8为本发明具体实施方式中不存在异常的大规模网络流量异常侦测结果,(a)为 起讫点流量组29不存在异常的大规模网络流量异常侦测结果,(b)为起讫点流量组65不存 在异常的大规模网络流量异常侦测结果,(c)为起讫点流量组137不存在异常的大规模网络 流量异常侦测结果。图9为本发明具体实施方式中存在异常的大规模网络流量异常侦测结 果,(a)为起讫点流量组29存在异常的大规模网络流量异常侦测结果,(b)为起讫点流量组 65存在异常的大规模网络流量异常侦测结果,(c)为起讫点流量组137存在异常的大规模网 络流量异常侦测结果;可以看出本发明方法TDAD能够准确发现大规模网络流量异常部分, 如图9(a)~(c)标记为矩形的部分。

图10为本发明具体实施方式中四组异常流量攻击下的检测ROC曲线,(a)为异常流 量攻击1下的检测ROC曲线,(b)为异常流量攻击2下的检测ROC曲线,(c)为异常流量攻击3下 的检测ROC曲线,(d)为异常流量攻击4下的检测ROC曲线;七周的网络流量数据下,对于异常 流量攻击1、2、3、4,ROC曲线(receiver operating characteristic curve简称ROC曲线)远 远超过对角线。异常流量攻击1、2、3、4分别为低频,中频,高频,混合频率攻击,分别验证大 规模网络流量异常侦测性能。由图10(a)~(d)可以看出,本发明方法TDAD持有较强的大规 模网络流量异常侦测能力。

为了进一步分析本发明方法TDAD的大规模网络流量异常侦测能力,图11为在不同 异常流量攻击情况下的ROC曲线对比图。图11表明TDAD对异常流量攻击1、2、3具有接近的大 规模网络流量异常侦测能力,对于异常流量攻击4,TDAD表现出较差的大规模网络流量异常 侦测结果。但是所有的ROC曲线都在对角线之上,这进一步表明本发明方法TDAD能够有效的 发现不同的异常。

图12为本发明不同异常流量攻击情况下的不同时间窗口检测ROC曲线,(a)为异常 流量攻击1下的不同时间窗口检测ROC曲线,(b)为异常流量攻击2下的不同时间窗口检测 ROC曲线,(c)为异常流量攻击3下的不同时间窗口检测ROC曲线,(d)为异常流量攻击4下的 不同时间窗口检测ROC曲线;可以看出,不同的时间窗口对本发明方法TDAD有明显影响。此 外,在不同的时间窗口下,本发明方法TDAD展示出了在不同的异常流量攻击情况下一致的 大规模网络流量异常侦测效果。这意味着,本发明方法TDAD在不同的时间窗口下对不同流 量攻击有相同的大规模网络流量异常侦测能力。

图13揭露了TDAD在不同时间窗下对不同异常流量的检测结果。在不同的时间窗口 下,本发明方法TDAD依然能够对异常流量攻击1、2、3表现出接近相同的大规模网络流量异 常侦测结果。同时也可以发现它总能够提供较好的大规模网络流量异常侦测结果。

由图14可知,对异常流量攻击1,本发明方法TDAD具有最好的效果,SPAD次之,然后 是DSAD(deviation score anomaly detection),PCA最差。

由图15可知,对异常流量攻击2,本发明方法TDAD具有最好的效果,SPAD次之,然后 是PCA,DSAD最差。

由图16可知,对异常流量攻击3,本发明方法TDAD具有最好的效果,SPAD次之,然后 是DSAD,PCA最差。

由图17可知,对于任意一个攻击,TDAD总是比其他三个算法表现效果要好,除了 At3-SPAD。在其他三种算法中,只有SPAD对攻击3能够保持比较好的检测性能。

图18,19描绘了不同尺寸的滑动时间窗口的TDAD算法随时间的性能变化。图18描 绘了TDAD在每一个滑动时间窗口的运行时间。从图18可以看出当窗口尺寸为300时,TDAD对 4个攻击的平均运行时间分别为0.0016s,0.0018s,0.0017s,和0.0020s。当窗口变大时,平 均运行时间也是递增的。

图19描绘了在每一个时间窗口,对于4个攻击,TDAD总的运行时间。从图19可知,当 窗口尺寸为200时,总的运行时间,对于攻击1,2,3,4分别是0.0354s,0.0392s,0.0318s,和 0.0308s。而当窗口尺寸为700时,对应时间为0.1357s,0.1373s,0.1360s和0.0385s。因此对 比可以说明TDAD有比较强的检测性能。

结果表明,本发明方法具有较好的大规模网络流量异常侦测能力,体现了较强的 稳定性,在不同的时间窗口,比现有的方法拥有更好的大规模网络流量异常侦测性能。

本发明还提供一种大规模网络流量异常侦测系统,如图3所示,包括:

流量获取模块,用于实时获取大规模网络流量;

S变换模块,用于对大规模网络流量分组S变换;

异常检测模块,用于进行大规模网络流量异常检测:重构各组起讫点流量中高频 成分的时域信号,计算每组时域信号与其他各组时域信号的平均相关系数,若所述平均相 关系数小于设定值,则大规模网络流量异常,否则,大规模网络流量正常。

所述流量获取模块,如图20所示,包括:

拓扑转换模块,用于根据网络拓扑信息和网络流量情况将物理拓扑转换为逻辑拓 扑;

节点对建立模块,用于根据逻辑拓扑建立网络中的起讫点节点对;

流量提取模块,用于提取所有起讫点节点对的端到端流量即大规模网络流量。

所述S变换模块,如图21所示,包括:

分组模块,用于根据相同的源节点或者目的节点,将大规模网络流量进行分组;

变换模块,用于对各组起讫点流量在特定时间窗口进行S变换。

所述异常检测模块,如图22所示,包括:

高频成分提取模块,用于提取S变换后的各组起讫点流量中的高频成分;

反S变换模块,用于对所述高频成分执行反S变换,重构出所述高频成分的时域信 号;

计算模块,用于通过滑动特定时间窗口,计算每组所述高频成分的时域信号与其 他各组时域信号的平均相关系数;

判断模块,用于根据所述平均相关系数判断起讫点流量:若所述平均相关系数小 于设定值,则相应组起讫点流量异常,否则,相应组起讫点流量正常。

下面结合附图对本发明的具体实施方式做详细说明。

本实施方式所涉及到的符号的定义如下:

f(t):连续信号;

S(t,ω):连续信号的S变换;

w(t,ω):窗口函数;

δ(ω):标准偏差;

F(ω):f(t)的傅里叶变换;

h[k]:k点离散时间信号;

k点离散时间信号的傅里叶变换;

fu=(fu1,fu2,…,fuq):N个离散时间点的第u组的起讫点流量;

Su:Fu的s变换;

N:大规模网络流量长度;

w:时间窗口尺寸大小;

m=round(N/w):每一部分流量长度;

corrf(x,y):x和y的相关系数;

duz:检测门槛;

一种大规模网络流量异常侦测方法,如图1所示,包括:

步骤1、实时获取大规模网络流量;

所述步骤1,包括:

步骤1-1、根据网络拓扑信息和网络流量情况将物理拓扑转换为逻辑拓扑;

为了获得大规模网络流量,将网络模型部署为图2的结构。其中底部代表与自治系 统一致的物理网络拓扑Physical topology,顶部是逻辑网络拓扑Logical topology。首先 根据网络拓扑信息和网络流量情况将物理拓扑转换为逻辑拓扑,将这个复杂的网络提取为 简单的网络,这有利于从大规模网络流量数据中提取大规模网络流量。

步骤1-2、根据逻辑拓扑建立网络中的起讫点节点对,形成起讫点节点对表;

步骤1-3、通过网络流量和逻辑拓扑提取所有起讫点节点对的端到端流量即大规 模网络流量。

步骤2、对大规模网络流量分组S变换;

要准确地完善大规模网络流量的异常特征检测,需要对大规模网络流量进行详细 分析。传统上,大规模网络流量总是作为时间序列被讨论。虽然能够提取网络流量中的异常 成分,但缺点是它仅限于时域分析。现有技术提出了许多方法来检测网络中的异常流量,但 由于流量异常的多样性,不同的异常有不同的行为特征,因此需要不同的方法来分析它们。 本实施方式采用基于变换域分析的方式对大规模网络流量异常侦测,来提取大规模网络流 量的固有特性。

S变换可以同时描述一个给定的信号的时域和频域特性。因此,它可以有有效地表 征网络流量的固有的、隐藏的特点。这有助于捕捉和提取流量异常检测过程中所需要的异 常属性。为了捕获网络流量的固有特征,利用S变换来做信号分析,进而准确把握网络流量 在变换域的时间和频率特性。S变换具有小波变换和短时傅里叶变换的优点。信号的相位信 息被S变换保存,像在短时傅里叶变换中一样,并在同一时间,可变分辨率可以被保证,像在 小波变换中一样。

非正常的大规模网络流量的S变换与正常的大规模网络流量的S变换有很大不同。 一方面,非正常的大规模网络流量的S变换拥有比正常的大规模网络流量的S变换更大的 值;另一方面,前者拥有比后者更多的高频成分。那么非正常的大规模网络流量在高频成分 的显著区别就在S变换中表现了出来。如图4(a)~(d)所示,大规模网络流量在低频成分具 有较大的能量,因为其S变换值主要集中在低频部分,而在高频部分的值要低得多;而图5 (a)~(d)中,高频成分很明显的在S变换之后表现了出来,其值较大。

由图2可以看出:一个节点可能会连接到多个节点上,多个节点也可能连到同一个 节点上。即一个目的节点可以有多个来自不同源节点的流量。这些有相同目的节点的起讫 点流必然会存在一定的空间相关性,这个空间相关性可以捕获到反常的流量。因此采用分 组的思想,将所有网络节点分组。

每一个目的节点流从一个源节点进入网络,从一个目的节点流出网络,也就是大 规模网络流量从源节点到目的节点穿过这个网络。因此根据相同的源节点或者目的节点可 以将所有起讫点流分为不同的组。这样的话,每组都会有更加相似的特性以及更强的相关 性。至于异常流量,有相同的目的地址,不同的相关性。

所述步骤2,如图7所示,包括:

步骤2-1、根据相同的源节点或者目的节点,将大规模网络流量进行分组得到多各 起讫点流量组;

本实施方式根据相同的源节点将大规模网络流量进行分组,N个离散时间点的第u 个源节点到各目的节点的流量组表示如下:

fu=(fu1,fu2,…,fuq), (1)

其中,u=1,2,…,q

对fu进行S变换得到Su:

S u = ( S u 1 [ j , n N ] , S u 2 [ j , n N ] , ... , S u q [ j , n N ] ) , - - - ( 2 )

对q个节点的网络,大规模网络流量组合如下:

f=(f1,f2,…,fq), (3)

f 1 = ( f 11 , f 2 , ... , f 1 q ) , f 2 = ( f 21 , f 22 , ... , f 2 q ) , ... , f q = ( f q 1 , f q 2 , ... , f q q ) · - - - ( 4 )

公式(3)和(4)进行S变换得到:

S=(S1,S2,…,Sq), (5)

S 1 = ( S 11 [ j , n N ] , S 12 [ j , n N ] , ... , S 1 q [ j , n N ] ) , S 2 = ( S 21 [ j , n N ] , S 22 [ j , n N ] , ... , S 2 q [ j , n N ] ) , ... , S q = ( S q 1 [ j , n N ] , S q 2 [ j , n N ] , ... , S q q [ j , n N ] ) . - - - ( 6 )

步骤2-2、对各组起讫点流量在特定时间窗口进行S变换。

信号的S变换与信号的长度密切相关,即大规模网络流量在不同的尺寸的时间窗 的S变换的结果有很大不同。图6验证了这个情况,其中(a)、(c)所示的大规模网络流量S变 换的窗口尺寸为100,(b)、(d)所示的大规模网络流量S变换的窗口尺寸为500。从图中可以 看出,不同的尺寸的窗的S变换会有不同的时域和频域特性。更重要的,窗口尺寸大的会展 示出比窗口尺寸小的更加复杂的特性。因此考虑到大规模网络流量在特定时间窗S变换。

对于一个长度为N的大规模网络流量,用尺寸为w的窗口将其分为m个部分,m= round(N/w),那么(6)可转化为以下方程:

S 1 w = ( S 11 w [ j , n ] , S 12 w [ j , n ] , ... , S 1 q w [ j , n ] ) , S 2 w = ( S 21 w [ j , n ] , S 22 w [ j , n ] , ... , S 2 q w [ j , n ] ) , ... , S q w = ( S q 1 w [ j , n ] , S q 1 w [ j , n ] , ... , S q q w [ j , n ] ) , - - - ( 7 )

其中:

S u 1 w [ j , n ] = ( S u 1 1 [ j , n w ] , ... , S u 1 m - 1 [ j , n w ] , S u 1 m [ j , n R ] ) , S u 2 w [ j , n ] = ( S u 2 1 [ j , n w ] , ... , S u 2 m - 1 [ j , n w ] , S u 2 m [ j , n R ] ) , ... , S u q w [ j , n ] = ( S u q u [ j , n w ] , ... , S u q m - 1 [ j , n w ] , S u q m [ j , n R ] ) , - - - ( 8 )

u = 1 , 2 , ... , q , R = N - w * ( m - 1 ) . - - - ( 9 )

步骤3、大规模网络流量异常检测:重构各组起讫点流量中高频成分的时域信号, 计算每组时域信号与其他各组时域信号的平均相关系数,若所述平均相关系数小于设定 值,则大规模网络流量异常,否则,大规模网络流量正常。

与正常的网络流量相比,异常的网络流量在变换域其高频成分有明显变化。对于 异常的网络流量,网络流量的相关性(如空间和时间相关性)具有隐藏特性,因此采用网络 流量分组的方法将其隐藏的相关性进行捕获。为了准确地检测到流量异常的起源,分析其 与其他来源地的流量相关系数。最后使用3-δ方法来判定检测门槛duz,确保异常流量检测的 可靠性及成功率。

所述步骤3,包括:

步骤3-1、提取S变换后的各组起讫点流量中的高频成分;

提取变换方程(7)的高频分量,获得相应的高频成分如下:

S 1 w h = ( S 11 w h [ j , n ] , S 12 w h [ j , n ] , ... , S 1 q w h [ j , n ] ) , S 2 w h = ( S 21 w h [ j , n ] , S 22 w h [ j , n ] , ... , S 2 q w h [ j , n ] ) , ... , S q w h = ( S q 1 w h [ j , n ] , S q 1 w h [ j , n ] , ... , S q q w h [ j , n ] ) , - - - ( 10 )

其中

S u 1 w h [ j , n ] = ( S u 1 1 h [ j , n w ] , ... , S u 1 ( m - 1 ) h [ j , n w ] , S u 1 m h [ j , n R ] ) , S u 2 w h [ j , n ] = ( S u 2 1 h [ j , n w ] , ... , S u 2 ( m - 1 ) h [ j , n w ] , S u 2 m h [ j , n R ] ) , ... , S u q w h [ j , n ] = ( S u q 1 h [ j , n w ] , ... , S u q ( m - 1 ) h [ j , n w ] , S u q m h [ j , n R ] ) , - - - ( 11 )

其中,R=N-w*(m-1)。

步骤3-2、对所述高频成分执行反S变换,重构出所述高频成分的时域信号;

在网络流量分析中,端到端的流量样本数据,它只有在一些离散的时间有值。故进 行离散信号的S变换。k点的离散时间信号,S变换可以表示为如下:

S [ j , n K ] = Σ m = - K / 2 K / 2 - 1 H [ m + n N ] e - 2 π 2 m 2 n 2 + i 2 π m j K - - - ( 12 )

其中,是h[k]的傅里叶变换。

离散信号反S变换:

h [ k ] = 1 K Σ n = 0 K - 1 { Σ j = 0 K - 1 S [ j , n K ] } e i 2 π n k K , - - - ( 13 )

根据(13)式,执行反S变换和重构对应高频成分的时域信号如下:

f h = ( f 1 w h , f 2 w h , ... , f q w h ) , - - - ( 14 )

f 1 w h = ( f 11 w h [ k ] , f 12 w h [ k ] , ... , f 1 q w h [ k ] ) , f 2 w h = ( f 21 w h [ k ] , f 22 w h [ k ] , ... , f 2 q w h [ k ] ) , ... , f q w h = ( f q 1 w h [ k ] , f q 2 w h [ k ] , ... , f q q w h [ k ] ) , - - - ( 15 )

其中

f u 1 w h [ k ] = ( f u 1 1 h [ k ] , ... , f u 1 ( m - 1 ) h [ k ] , f u 1 m h [ k ] ) , f u 2 w h [ k ] = ( f u 2 1 h [ k ] , ... , f u 2 ( m - 1 ) h [ k ] , f u 2 m h [ k ] ) , ... , f u q w h [ k ] = ( f u q 1 h [ k ] , ... , f u q ( m - 1 ) h [ h ] , f u q m h [ k ] ) , - - - ( 16 )

f u v 1 h [ k ] = 1 w Σ n = 0 w - 1 { Σ j = 0 w - 1 S u v 1 h [ j , n w ] } e i 2 π n k w , ... , f u v ( m - 1 ) h [ k ] = 1 w Σ n = 0 w - 1 { Σ j = 0 w - 1 S u v ( m - 1 ) h [ j , n w ] } e i 2 π n k w f u v m h [ k ] = 1 R Σ n = 0 R - 1 { Σ j = 0 R - 1 S u v m h [ j , n R ] } e i 2 π n k R - - - ( 17 )

步骤3-3、通过滑动特定时间窗口,计算每组所述高频成分的时域信号与其他各组 时域信号的平均相关系数;

根据方程(14)到(17)计算fuz以及其他在uth组的q-1起讫点流量的平均相关系数:

对于异常的网络流量,其网络相关性(如空间和时间相关性)具有隐藏的特性。一 方面由于随时间和空间异常网络表现的相似性,网络流量展示一定的相似性;另一方面,因 为异常网络流量相对于正常的网络流量来说非常小,它具有明显的隐藏性质。

为了准确地检测第u组的第z(z∈v)个起讫点流量中的异常流量,分析其与其它q- 1个起讫点流量的相关系数,因为相关系数能够表示两个起讫点流量之间的相关程度,有相 同异常流量的两个起讫点流量应该表现出更大或者更小的相关系数,因此根据(14)到(17) 式,计算第u组的起讫点流量fuz和其它q-1个起讫点流量的平均相关系数如下:

c u 1 h = 1 q - 1 Σ z 1 c o r r f ( f u 1 w h [ k ] , f u z w h [ k ] ) , c u 2 h = 1 q - 1 Σ z 2 c o r r f ( f u 2 w h [ k ] , f u z w h [ k ] ) , ... c u q h = 1 q - 1 Σ z q c o r r f ( f u 2 w h [ k ] , f u z w h [ k ] ) , - - - ( 18 )

其中,corrf(x,y)是x和y之间的相关系数,
之间的相关系数。

使用滑动时间窗口来计算相关系数,来获得整个采样时间内的每组所述高频成分 的时域信号与其他各组时域信号的平均相关系数。

步骤3-4、若所述平均相关系数小于设定值即z=1,2,…,q,则相应组起讫
点流量异常,否则,相应组起讫点流量正常。

本实施方式中的大规模网络流量异常侦测方法用TDAD,英文全称为:Transform Domain-Based Anomaly Detection)表示,为了验证本发明方法的效果,利用从真正的骨干 网(Abilene网络)得到的大规模网络流量作为背景流量,然后注入四个攻击合成综合异常 流量,其中包括两个统计攻击(即attack1和attack2),真正的DDoS攻击(即attack3),和混 合攻击(即attack4)。因为Abilene网络主要服务于美国的教育和研究,其中包含12个路由 器节点,因而具有144起讫点流量,使用12台电脑作为在Abilene网络的12个路由器。然后利 用网络流量回放模拟异常流量。

在Abilene网络中,根据共同的目的地址(目的节点)将大规模网络流量分组得到
12组起讫点流量,对各组起讫点流量特定时间窗口进行S变换,提取S变换后的各组起讫点
流量中的高频成分,执行反S变换和重构对应高频成分的信号通过
滑动特定时间窗口,计算每组所述高频成分的时域信号与其他各组时域信号的平均相关系
数,使用3-δ方法来判定检测门槛duz.起讫点流量fuz异常,则:

分析本发明方法TDAD与现有方法PCA(主成分分析法)、SPAD(Distributed Spatial Anomaly Detection)方法的大规模网络流量异常侦测性能。

图8为本发明具体实施方式中不存在异常的大规模网络流量异常侦测结果,(a)为 起讫点流量组29不存在异常的大规模网络流量异常侦测结果,(b)为起讫点流量组65不存 在异常的大规模网络流量异常侦测结果,(c)为起讫点流量组137不存在异常的大规模网络 流量异常侦测结果。图9为本发明具体实施方式中存在异常的大规模网络流量异常侦测结 果,(a)为起讫点流量组29存在异常的大规模网络流量异常侦测结果,(b)为起讫点流量组 65存在异常的大规模网络流量异常侦测结果,(c)为起讫点流量组137存在异常的大规模网 络流量异常侦测结果;可以看出本发明方法TDAD能够准确发现大规模网络流量异常部分, 如图9(a)~(c)标记为矩形的部分。

图10为本发明具体实施方式中四组异常流量攻击下的检测ROC曲线,(a)为异常流 量攻击1下的检测ROC曲线,(b)为异常流量攻击2下的检测ROC曲线,(c)为异常流量攻击3下 的检测ROC曲线,(d)为异常流量攻击4下的检测ROC曲线;七周的网络流量数据下,对于异常 流量攻击1、2、3、4,ROC曲线(receiver operating characteristic curve简称ROC曲线)远 远超过对角线。异常流量攻击1、2、3、4分别为低频,中频,高频,混合频率攻击,分别验证大 规模网络流量异常侦测性能。由图10(a)~(d)可以看出,本发明方法TDAD持有较强的大规 模网络流量异常侦测能力。

为了进一步分析本发明方法TDAD的大规模网络流量异常侦测能力,图11为在不同 异常流量攻击情况下的ROC曲线对比图。图11表明TDAD对异常流量攻击1、2、3具有接近的大 规模网络流量异常侦测能力,对于异常流量攻击4,TDAD表现出较差的大规模网络流量异常 侦测结果。但是所有的ROC曲线都在对角线之上,这进一步表明本发明方法TDAD能够有效的 发现不同的异常。

图12为本发明不同异常流量攻击情况下的不同时间窗口检测ROC曲线,(a)为异常 流量攻击1下的不同时间窗口检测ROC曲线,(b)为异常流量攻击2下的不同时间窗口检测 ROC曲线,(c)为异常流量攻击3下的不同时间窗口检测ROC曲线,(d)为异常流量攻击4下的 不同时间窗口检测ROC曲线;可以看出,不同的时间窗口对本发明方法TDAD有明显影响。此 外,在不同的时间窗口下,本发明方法TDAD展示出了在不同的异常流量攻击情况下一致的 大规模网络流量异常侦测效果。这意味着,本发明方法TDAD在不同的时间窗口下对不同流 量攻击有相同的大规模网络流量异常侦测能力。

图13揭露了TDAD在不同时间窗下对不同异常流量的检测结果。在不同的时间窗口 下,本发明方法TDAD依然能够对异常流量攻击1、2、3表现出接近相同的大规模网络流量异 常侦测结果。同时也可以发现它总能够提供较好的大规模网络流量异常侦测结果。

由图14可知,对异常流量攻击1,本发明方法TDAD具有最好的效果,SPAD次之,然后 是DSAD(deviation score anomaly detection),PCA最差。

由图15可知,对异常流量攻击2,本发明方法TDAD具有最好的效果,SPAD次之,然后 是PCA,DSAD最差。

由图16可知,对异常流量攻击3,本发明方法TDAD具有最好的效果,SPAD次之,然后 是DSAD,PCA最差。

由图17可知,对于任意一个攻击,TDAD总是比其他三个算法表现效果要好,除了 At3-SPAD。在其他三种算法中,只有SPAD对攻击3能够保持比较好的检测性能。

图18,19描绘了不同尺寸的滑动时间窗口的TDAD算法随时间的性能变化。图18描 绘了TDAD在每一个滑动时间窗口的运行时间。从图18可以看出当窗口尺寸为300时,TDAD对 4个攻击的平均运行时间分别为0.0016s,0.0018s,0.0017s,和0.0020s。当窗口变大时,平 均运行时间也是递增的。

图19描绘了在每一个时间窗口,对于4个攻击,TDAD总的运行时间。从图19可知,当 窗口尺寸为200时,总的运行时间,对于攻击1,2,3,4分别是0.0354s,0.0392s,0.0318s,和 0.0308s。而当窗口尺寸为700时,对应时间为0.1357s,0.1373s,0.1360s和0.0385s。因此对 比可以说明TDAD有比较强的检测性能。

结果表明,本发明方法具有较好的大规模网络流量异常侦测能力,体现了较强的 稳定性,在不同的时间窗口,比现有的方法拥有更好的大规模网络流量异常侦测性能。

本发明还提供一种大规模网络流量异常侦测系统,如图3所示,包括:

流量获取模块,用于实时获取大规模网络流量;

S变换模块,用于对大规模网络流量分组S变换;

异常检测模块,用于进行大规模网络流量异常检测:重构各组起讫点流量中高频 成分的时域信号,计算每组时域信号与其他各组时域信号的平均相关系数,若所述平均相 关系数小于设定值,则大规模网络流量异常,否则,大规模网络流量正常。

所述流量获取模块,如图20所示,包括:

拓扑转换模块,用于根据网络拓扑信息和网络流量情况将物理拓扑转换为逻辑拓 扑;

节点对建立模块,用于根据逻辑拓扑建立网络中的起讫点节点对;

流量提取模块,用于提取所有起讫点节点对的端到端流量即大规模网络流量。

所述S变换模块,如图21所示,包括:

分组模块,用于根据相同的源节点或者目的节点,将大规模网络流量进行分组;

变换模块,用于对各组起讫点流量在特定时间窗口进行S变换。

所述异常检测模块,如图22所示,包括:

高频成分提取模块,用于提取S变换后的各组起讫点流量中的高频成分;

反S变换模块,用于对所述高频成分执行反S变换,重构出所述高频成分的时域信 号;

计算模块,用于通过滑动特定时间窗口,计算每组所述高频成分的时域信号与其 他各组时域信号的平均相关系数;

判断模块,用于根据所述平均相关系数判断起讫点流量:若所述平均相关系数小 于设定值,则相应组起讫点流量异常,否则,相应组起讫点流量正常。

个性化你的检索平台
使用键盘键 进行切换

© Copyright  2017  江苏佰腾科技有限公司  版权所有  |

苏ICP备09077504号  

 苏公网安备 32041202001279号

系统日志

数据更新

 建议使用Chrome、360浏览器

联系我们
群号:580132322
客服-小倩
3326349102
客服-柠檬味の草
190306821
意见反馈