首页 >> 技术深度文章 >> 分类技术 >> 正文
一种互联网宏观流量异常检测方法
2007年11月16日 09:43    通信世界网    评论()    
作 者:王明华

    2  主成分分析技术

    主成分分析是一种坐标变换的方法,将给定数据集的点映射到一个新轴上面,这些新轴称为主成分。主成分在代数学上是p 个随机变量X 1, X 2……X p 的一系列的线性组合,在几何学中这些现线性组合代表选取一个新的坐标系,它是以X 1,X 2……X p 为坐标轴的原来坐标系旋转得到。新坐标轴代表数据变异性最大的方向,并且提供对于协方差结果的一个较为简单但更精练的刻画。主成分只是依赖于X 1,X 2……X p 的协方差矩阵,它是通过一组变量的几个线性组合来解释这些变量的协方差结构,通常用于高维数据的解释和数据的压缩。通常p 个成分能够完全地再现全系统的变异性,但是大部分的变异性常常能够只用少量k 个主成分就能够说明,在这种情况下,这k 个主成分中所包含的信息和那p 个原变量做包含的几乎一样多,于是可以使用k 个主成分来代替原来p 个初始的变量,并且由对p 个变量的n 次测量结果所组成的原始数据集合,能够被压缩成为对于k 个主成分的n 次测量结果进行分析。

    运用主成分分析的方法常常能够揭示出一些先前不曾预料的关系,因而能够对于数据给出一些不同寻常的解释。当使用零均值的数据进行处理时,每一个主成分指向了变化最大的方向。主轴以变化量的大小为序,一个主成分捕捉到在一个轴向上最大变化的方向,另一个主成分捕捉到在正交方向上的另一个变化。

    设随机向量X '=[X 1,X 1……X p ]有协方差矩阵∑,其特征值λ1≥λ2……λp≥0。考虑线性组合:

    Y1=a 1 'X =a 11X 1+a 12X 2……a 1pX p

    Y2=a 2 'X =a 21X 1+a 22X 2……a 2pX p

    ……

    Yp=ap'X=a p 1X 1+a p 2X 2……a p pX p

    从而得到:

    Var(Yi)=ai' ∑a i ,(i =1,2……p )

    Cov(Yi,Yk )=a i '∑a k ,(i ,k =1,2……p )

    主成分就是那些不相关的Y 的线性组合,它们能够使得方差尽可能大。第一主成分是有最大方差的线性组合,也即它能够使得Var (Yi )=a i' ∑a i 最大化。我们只是关注有单位长度的系数向量,因此我们定义:

    第1主成分=线性组合a 1'X,在

    a1'a1=1时,它能够使得Var(a1 'X )最大;

    第2主成分=线性组合a2'X,在

    a2'a2=1和Cov(a1 'X,a 2 'X )=0时,它能够使得Var (a 2 'X )最大;

    第i个主成分=线性组合ai'X,在

    a1'a1=1和Cov(ai'X,ak'X )=0(k

    由此可知主成分都是不相关的,它们的方差等于协方差矩阵的特征值。总方差中属于第k个主成分(被第k个主成分所解释)的比例为:

    如果总方差相当大的部分归属于第1个、第2个或者前几个成分,而p较大的时候,那么前几个主成分就能够取代原来的p个变量来对于原有的数据矩阵进行解释,而且信息损失不多。在本项目中,对于一个包含14个特征的矩阵进行主成分分析可知,特征的最大变化基本上能够被2到3个主成分捕捉到,这种主成分变化曲线的陡降特性构成了划分正常子空间和异常子空间的基础。

    3  异常检测算法

    本项目的异常流量检测过程分为3个阶段:建模阶段、检测阶段和评估阶段。下面对每个阶段的算法进行详细的介绍。

    3.1建模阶段

    本项目采用滑动时间窗口建模,将当前时刻前的72个样本作为建模空间,这72个样本的数据构成了一个数据矩阵X。在试验中,矩阵的行向量由14个元素构成。

    主成份分为正常主成分和异常主成份,它们分别代表了网络中的正常流量和异常流量,二者的区别主要体现在变化趋势上。正常主成份随时间的变化较为平缓,呈现出明显的周期性;异常主成份随时间的变化幅度较大,呈现出较强的突发性。根据采样数据,判断正常主成分的算法是:

    依据主成分和采样数据计算出第一主成分变量,求第一主成分变量这72个数值的均值μ1和方差σ1,找出第一主成分变量中偏离均值最大的元素,判断其偏离均值的程度是否超过了3σ1。如果第一主成分变量的最大偏离超过了阈值,取第一主成份为正常主成分,其他主成份均为异常主成分,取主成份转换矩阵U =[L 1];如果最大偏离未超过阈值,转入判断第下一主成分,最后取得U =[L 1……L i -1]。第一主成份具有较强的周期性,随后的主成份的周期性渐弱,突发性渐强,这也体现了网络中正常流量和异常流量的差别。

    在得到主成份转换矩阵U后,针对每一个采样数据Sk =xk 1,xk 2……xk p ),将其主成份投影到p维空间进行重建,重建后的向量为:

    Tk =UU T (Sk -X )T

    计算该采样数据重建前与重建后向量之间的欧氏距离,称之为残差:

    dk=||Sk-Tk||

    根据采样数据,我们分别计算72次采样数据的残差,然后求其均值μd和标准差σd。转换矩阵U、残差均值μd、残差标准差σd 是我们构造的网络流量模型,也是进行流量异常检测的前提条件。

    3.2检测阶段

    在通过建模得到网络流量模型后,对于新的观测向量N,(n 1,n 2……np ),采用与建模阶段类似的分析方法,将其中心化:

    Nd=N-X

    然后将中心化后的向量投影到p维空间重建,并计算残差:

    Td=UUTNdT

    d=||Nd-Td||

    如果该观测值正常,则重建前与重建后向量应该非常相似,计算出的残差d 应该很小;如果观测值代表的流量与建模时发生了明显变化,则计算出的残差值会较大。本项目利用如下算法对残差进行量化:

    3.3评估阶段

    评估阶段的任务是根据当前观测向量的量化值q (d ),判断网络流量是否正常。根据经验,如果|q (d )|<5,网络基本正常;如果5≤|q (d )|<10,网络轻度异常;如果10≤|q (d )|,网络重度异常。

    4  实验结果分析

    利用863-917网络安全监测平台,对北京电信骨干网流量进行持续监测,我们提取6小时的观测数据,由于篇幅所限,我们给出图1—4的时间序列曲线。由图1—4可知单独利用任何一个曲线都难以判定异常,而利用本算法可以容易地标定异常发生的时间。本算法计算结果如图5所示,异常发生时间在图5中标出。我们利用863-917平台的回溯功能对于异常发生时间进行进一步的分析,发现在标出的异常时刻,一个大规模的僵尸网络对网外的3个IP地址发起了大规模的拒绝服务攻击。

[1]  [2]  [3]  编 辑:张翀
关键字搜索:互联网  流量  检测  
  [ 发 表 评 论 ]     用户昵称:   会员注册
 
 
  推 荐 新 闻
  技 术 动 态
  通 信 圈