专利名称:一种检测网络攻击行为的方法
技术领域:
本发明涉及网络信息安全和数理统计相关理论,更具体地说,涉及一种检测网络
攻击行为的方法,该方法基于相空间和超统计理论进行网络攻击行为检测,可以及时发现 网络故障和性能问题,对提高网络的可用性、可靠性和保证网络服务质量具有重要意义。
背景技术:
已有的研究表明,多种网络业务流量都具有混沌动力学特性。相空间重构是研究 和分析混沌动力学系统的重要方法。含有攻击行为网络流量(异常网络流量)序列往往是 有许多系统因子相互作用的综合反映,它蕴藏着参与运动的全部变量的痕迹,而非系统的 真实反映。Packard等人提出的相空间重构理论认为,由于观测到的时间序列数据包含着 所有变量的痕迹,这样在时间上先后得到的数据点彼此之间是相关的,用重构到高维空间 的办法,可以更好的把时间序列中蕴涵的系统信息充分地显示出来。已经证明,当嵌入维数 m和时延t的选择适当时,重构的相空间可以具有与实际的动力系统相同的几何性质和信 息性质,具有真实空间的所有特征。因此我们采用相空间的方法来研究和分析网络异常流 量,重构后相空间能保持与原来网络流量动力系统内在结构的不变性。 超统计理论属于物理学的前沿领域并弥补了传统统计方法的不足。超统计的含义
是指"统计之统计",用于描述多个动力学子系统的复合。考虑到网络流量的非平稳性和突
发性,及其统计分布参数是随机或者是复杂变化的,由此易于导致异常检测所存在的问题,
针对复杂问题采用超统计理论,研究统计之统计,统计参量的变化最为合适。 突变分析是时间序列研究的一个重要领域。20世纪60年代中期,以法国数学家
Thom的工作为先导,逐步形成了突变理论。所谓突变就是指系统发生了突然的变化,是系统
对外界条件的光滑变化而做出的突然响应。通常所说的突变一般指初等突变,如均值突变、
频率突变、趋势突变和方差突变等。网络流量往往受多个驱动因子的控制,其行为将表现出
非线性、非平稳和复杂的特性,其内在的动力结构也可能随着驱动因子的改变而发生快速
的变化,即其内在的演化方程发生了突变——动力结构突变。 专利文献"一种基于超统计理论的网络流量异常检测方法"(公开号为 CN101286897,
公开日为2008. 10. 15)提出根据网络流量的实际特性确定一种分布模型,并 根据此分布模型计算网络流量时间序列的慢变量序列,即分布参数序列;根据慢变量序列 的异常波动来检测网络流量异常。其方法直接对整个流量数据进行统计分析,数据量大,难 以发现系统内的信息,其次依靠单一慢变量序列的进行检测,可靠性较弱,误检率高。
发明内容
本发明的目的在于提供一种检测网络攻击行为的方法,该方法具有可靠性高,误 检率低的特点。
本发明提供的检测网络攻击行为的方法,其步骤包括 第1步根据网络流量的复杂非线性特性将待检测的网络流量时间序列重构到多
4维相空间,并根据正常网络流量时间序列建立统计分布模型; 第2步对待检测的网络流量时间序列进行平稳化处理,将其分成子窗; 第3步按照统计分布模型计算平稳化处理后的网络流量时间序列的各子窗的参
数,得到一个参数序列,再根据该参数序列建立综合判决模型,检测异常。 本发明通过相空间重构先将其扩展到多维的相空间中,把原网络流量序列蕴藏的
信息充分的充分显露出来,同时降低了每个维度的计算复杂度。再针对网络流量非平稳复
杂过程这一特点运用了超统计理论,通过寻找反映流量统计模型的参数序列,变换了研究
对象,将对复杂的网络流量数据的研究集中到对某个决定系统本质变化的参数序列的研
究,既考虑到系统整体的优越性,又避免了传统有统计模型参数检验计算的复杂性更进一
步降低的计算复杂度。经过多次实验获得良好的实验效果,并且与未进过相空间重构而直
接进行超统计检验的方法进行对比,发现该方法能够在保证检出率的同时大大的降低误检率。 与对比文献所提出的技术方案相比,本发明将网络流量重构到多维空间里,一方 面可以充分显示其蕴藏在一维空间的信息,另一方面由于重构降低了每个维度空间的计算 复杂程度,提高运行的速度;另外在对分布模型的参数序列的研究,不仅仅利用单一的慢变 量序列,综合考虑多参数序列模型的综合判决模型,提高的系统的鲁棒性和准确性。此外与 其他网络流量异常检测模型相比,该方法具有计算复杂度低,检出率高和误检率低等特点。
图1为本发明提供的检测网络攻击行为方法的流程图。
图2为本发明提供的平稳化处理网络流量的方法图释
具体实施例方式
下面结合附图和实例对本发明作进一步详细的说明 (1)网络流量时间序列的相空间重构,并根据正常网络流量时间序列建立统计分 布模型。 (1. 1)根据网络流量时间序列的复杂非线性特性选择相空间重构的方法,将网络 流量时间序列重构到多维相空间。已经证明,当确定嵌入维数m和时延t的时,重构的相空 间可以具有与实际的动力系统相同的几何性质和信息性质,具有真实空间的所有特征。因 此我们采用相空间的方法来研究和分析网络异常流量,重构后相空间能保持与原来网络流 量动力系统内在结构的不变性。计算时间延迟t的常用的方法有自关联函数法、互信息 法、平均位移法等;计算嵌入维m可选择假近邻法、拉斯伯格(P. Grassberger)和普罗克西 婭(I. Procaccia)算法(简称G_P算法)等方法来计算。 (1. 2)在每个维度上研究网络流量的特征,并且根据网络流量的实际特性研究符 合其分布特性的模型。针对正常网络流量的具体特征均可以选取一种合适的分布模型拟 合局部网络流量,该分布模型必须能够描述局部网络流量时间序列的特征并且分布模型 必须通过局部网络流量的分布拟合检验,比如通用的皮尔逊拟合检验法、柯尔莫诺夫-斯 米尔诺夫检验、相关系数检验以及针对特定分布模型的检验方法,例如正态分布的W检 验、D检验等。早期的网络流量由于网络结构简单,网络业务较少,一些常用的分布模型例
5如Poisson分布模型、正态分布模型等都可以用来对局部网络流量进行拟合;离散广义 Pareto分布模型,伽马分布模型等则可以用来拟合晚期的网路流量。
步骤(1. 1)和步骤(1. 2)之间的顺序可以互换,也可以同时进行。
(2)网络流量时间序列的平稳化处理 统计分布模型的建立均需要序列满足平稳性的要求,但是已有的研究已经表明网
络流量时间序列是非平稳复杂的序列,这时首先应选择适当的方法平稳化网络流量时间序
列,将非平稳的网络流量时间序列变成平稳至少是宽平稳的子窗序列。
(3)计算子窗中统计分布模型参数,根据参数序列建立综合判决模型,检测异常。 研究每个维度的分布模型参数的变化,根据其参数序列的变化确定综合判决模型
来检测网络流量异常。在每个子窗序列研究计算符合网络流量特性的分布模型的参数,根
据前面得到的参数序列,确定控制变量个数(控制变量为其他的个数也可以,只是要采样
的突变模型不一样而已),状态变量个数为网络流量,那么就可以选择适当突变模型。计算
特征量P到分歧集的距离D,超过相应的域值,即为有异常网络行为发生。 下面结合一个实例对本发明方法作进一步详细的说明。
(1)网络流量时间序列的预处理 a)研究数据的获取 麻省理工林肯实验室的信息系统技术组在美国国防部高级研究项目署(DARPA) 及空军研究室赞助下,为计算机网络入侵检测系统评估提供了测试用数据集合。该数据集 合包含了丰富的数据包流量和许多不同类型的入侵攻击(主要有拒绝服务攻击DoS ;分布 式拒绝服务攻击DDoS ;远程攻击R2L ;本地用户非法提升权限的攻击U2R和非法监听和探 测等四类)。每一数据项包括数据包编号、数据包的头件和正文。其中数据包的头文件里 记录了这个包的起始时间、与第一个包的时间间隔、源地址、目标地址、数据包长度、网络协 议等信息。数据包主要由以下几种类型组成IP,arp,netbeui。其中IP包的长度(bytes) 为括号中的字节数加上40(IP包头长),netbeui为局域网的协议,符合该协议的数据包长 度为14字节,arp (地址解析协议)数据包的长度28字节。
(b)网络流量时间序列的产生 周期采样方法指的是以固定频率尺度对网络流量进行周期性采样的方法,它表示 每单位时间到达的字节数或数据包数量。该方法按照固定的时间间隔对数据包进行分组, 然后对该组数据包中的数据包的字节数或者包数量进行累积,每组累积数据包字节数或者 包数量组成一个时间序列。 包缓冲区队列排队所构成的时间序列指的是根据包缓冲区中的包的到来的先后 次序进行分组,每组中的数据包的数量一定,然后对该组数据包中的数据包的字节数进行 累积,每组累积的数据包字节数组成一个时间序列。
(2)网络流量时间序列的相空间重构 对于时间序列x(t),如果能确定嵌入维数m和时间延时t ,可以根据公式(1)重 构相空间y(t)。重构的相空间可以具有与原实际的动力系统相同的几何性质和信息性质, 具有真实空间的所有特征。 y(t》=[x(ti),x(ti+t),…,x(ti+(m-l) t)]i = 1,2,…n (1) 其中,t表示时间序列的样本点,i为时间序列的个数,n为正整数。下面给出时间延迟t和嵌入维数m的计算方法
A时间延迟t的计算方法 平均互信息方法是估计重构相空间时间延迟的一种有效方法,它在相空间重构中 有很广泛的应用。互信息函数法是由Shaw和Faster [FRASER A M, SWINNEY H L. Phys Rev A, 1986, 33 :1134-1140.]给出的,即选取表示一个时间序列相继点之间一般依赖关系的互 信息函数的第一个局部极小值点所对应的时间作为延迟时间。
Sk(k =
对于一个含有N个元素的变量S(l), 1 = 1,2, ...N,记Ps(Sk)为变量S处于状态
1, 2, . . . , N)的概率,则变量S的信息熵定义为 ,N
变量S(l)的延时q(l) = S(1+t))对于S(l)的条件熵定义为
<formula>formula see original document page 7</formula>
其中Psq(Si, q》是变量S和q分别取Si和qi时的联合概率,H(S, q)是变量S和q 的联合熵。变量S和q的互信息为 I (q, S) = H (q) _H (q | S) = H (q) +H (S) _H (q, S) = I (S, q) 对于一般情况,时间序x (n)与其延时序列x (n+ t )互信息In( t )可表示为 In( t ) = H(x)+H(xT)-H(x, xT) (2) 如果向量是一个延迟时间重构,则In( t )第一次达到最小值的时间可作为相空间
重构的时间延迟t 。 B嵌入维数m的计算 这里采用的方法就是由Grassberger和Procaccia (縮写G_P算法)[Grassberger P and Procaccia I 1983 Phys. Rev. Lett. 50 346]提出的时间序列计算时间序列嵌入维的方法。 将一组测量时间序列{x(i) , i = 1,, n}嵌入到m维欧氏空间Rm中(n为正整 数),组成一个集合。主要步骤如下 1)先将时间序列{x(i) , i = 1,2, . , n}转化为m维欧氏空间IT,一个重构的相 空间,得到nm个样本点,其中nm = n- (m_l) t
2)计算关联函数 从这nm个点中任选一个参考点x(i),根据公式(2)计算其余nm-l个点到x(i)的 距离ri,j
i/2
<formula>formula see original document page 7</formula>
对所有的x(i) (i = 1,2,…,nj重复该过程,得到关联积分函数Cm(r) 公式(3)中H是Heaviside函数,
当r取充分小时,关联积分函数逼近下式,其中C为常数
lnCm(r) = lnC+d(m) lnr
因此,m维空间数据的关联维数 D(m) = lim
1 当D (m)不随维数m的升高而改变时,就是该系统的维数dd = limm—①D (m)
在实际计算中为一段最光滑最佳拟合直线,直线的斜率就是d。
根据以上计算出来的时间延时和嵌入维,即可确定重构后的相空间。
(3)根据正常网络流量时间序列建立统计分布模型 A正常网络流量在局部表现出很强的突发性,并且从直方图中可以看出实际网 络表现出明显的重尾特性。因此基于正常网络流量的上述特点,在本例中选择离散广义 Pareto分布对局部网络流量进行分析。
B分布模型的检验 对模型进行分布检验,以验证其方法的准确性和有效性。这里我们采用用图检验 方法和相关系数检验方法进行检验。从图检验的结果直观发现所有点基本上拟合在一条直 线上,说明符合离散广义Pareto分布的分布图检验。在进一步计算出R"2检验的结果,从
计算的结果也比较证明分布模型建立的准确性。
(4)网络流量时间序列的平稳化处理 由于异常流量是一种复杂的非线性或随机性的变化过程,简单差分转平稳方法一 般是无效的;根据微积分的思想——分窗处理可以有效降低其在子窗显著性和复杂性,采 用非平稳序列划分成平稳子窗,在根据流量的本身统计特性确定相应的统计模型的基础之 上,由保持统计模型的参数在子窗内的宽平稳性原则进行分窗处理。 参考启发式分割算法是一种能将非平稳时间序列按照均值划分为平稳子序列的 有效方法(由Galvan在2001年提出),但其方法是按照整个序列统一来划分窗口的,而不 是按照时间序列时间增长的方向分割。我们采用的方法其主要思想介绍如下,参考附图2 :
记待测的网络流量时间序列为x(t),其包含的点数为N ;记初始窗口部分为Ls,初 始滑动窗口为Lm, Ls+Lm的区域为当前窗口,设i为当前窗口的截止位置,Ls+Lm的长度N2(i), 其Ls的长度为Nn分别计算Ls和(Ls+U部分的平均值丄(i) 、 2 (i),以及标准偏差Sl (i) 和sji),则当前窗口的合并偏差SD(i)为 <formula>formula see original document page 8</formula>(5)
其中,用统计值T(i)来量化表示Ls, Ls+Lm的差异
第2.2步若3G^T(i) ^G,其中G为设定域值,G二0.5,则进入第2.3步,否则, 按照以下规则调整Lm的长度; 若T (i) < G,则进一步縮放滑动窗口 Lm = Lm+Lf (Lm初始值为10, Lf为滑动增量, 范围为大于0,小于Lm,初始可以取3 5),重复上面的步骤; 若T (i) > 3G,则进一步縮放滑动窗口 Lm = Lm_Lf (Lm初始值为10, Lf为滑动增量,范围为大于0,小于Lm,初始可以取2 3),重复上面的步骤; 第2. 3步,根据Lm最后一个点所在位置作为第一个子窗分割点W工后,从W工位置出
按照第2. 1步计算下一个T(i),得到第二个子窗分割点W2直到序列的结尾。 即可依次求出每个子窗的大小,用皿记作子窗总数,即网络流量由皿个子窗组
成,i己<formula>formula see original document page 9</formula>
(5)计算子窗中统计分布模型参数,根据参数序列建立综合判决模型检测异常。
A参数估计方法 采用2001年Rasmussen提出了一种新的GPD参数估计方法广义概率权重矩估计 (GP丽)。GP丽方法 <formula>formula see original document page 9</formula> (x1:n《x2:n《...《xn:n)是经过排序的样本,v可以取任意实数,GP丽方法通常 取Vi = 1, v2 = 1.5。 Pj:n是样本累计分布函数的K即lan-Meier估计,即经验累计分布函 数,尺度参数b和形状参数k可以通过以下两式计算。
<formula>formula see original document page 9</formula> 通过多次叠加运算,即可计算出的离散广义pareto分布的形状参数和尺度参数。 根据公式(7)和(8)计算每一个子窗的参数值k和b,形成用于检测的参数序列{knk2,..., km}和ftv b2, , bm}(皿为子窗总数)。
B基于突变的综合决策模型 因为网络流量具有非线性、非平稳性和复杂性的特点,网络流量的异常变化是一 种突变过程,根据控制变量以及状态变量的个数,就可以选择适当的突变模型来描述网络 流量的动态特征。根据前面得到的参数序列{、, k2, . . . , km}和ftv b2, . . . , bm},控制变 量个数为2个(控制变量为其他的个数也可以,只是要采样的突变模型不一样而已),即离
散广义pareto模型的形状参数和尺度参数,状态变量为网络流量x {XWl, xw2,......, xwm},
那么就可以选择尖点突变模型。尖点突变模型是由两组状态变量(u,v)来描述系统x的一 组状态变量(u, v)所组成的参数空间也称为控制空间,其势函数可以表示如下
<formula>formula see original document page 9</formula>
其中a, b为系数,x为状态变量即网络流量x{xWl, xw2,......, xwm} , u, v为控制
变量是前面计算出来的形状参数{、, k2, . . . , km}和尺度参数ftv b2, . . . , bm}。不同控制 参数的数值组合会形成不同结构的势函数,要求出这些势函数的稳定解只需要对其微分便 可以得到他们的稳定曲面如下式。根据前面已计算的所有(x,u,v),计算公式lO和公式ll 的平方和,使得这个和最的a、 b,即为系数a、 b的值 <formula>formula see original document page 9</formula> 消去状态变量可以得到由(u, v)组成的分叉集S,如下
8a3u3+27b2v2 = 0 (11) 根据已经建立的突变模型,设定一个阈值l ,,利用新观测到的网络流量数据,应 用相空间重构方法,可以计算出对应的特征量P(u, v),根据公式11计算P到分叉集S的距 离D,当D《l,则检测出网络流量的异常。《阈值的计算可以根据最开始5个子窗的特征 量P到分叉集的距离的平均值,在实际计算中可以做相应的縮放。 以上所述为本发明的较佳实施例而已,但本发明不应该局限于该实施例和附图所 公开的内容。所以凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保 护的范围。
权利要求
一种检测网络攻击行为的方法,其步骤包括第1步根据网络流量的复杂非线性特性将待检测的网络流量时间序列重构到多维相空间,并根据正常网络流量时间序列建立统计分布模型;第2步对待检测的网络流量时间序列进行平稳化处理,将其分成子窗;第3步按照统计分布模型计算平稳化处理后的网络流量时间序列的各子窗的参数,得到一个参数序列,再根据该参数序列建立综合判决模型,检测异常。
2. 根据权利要求1所述的检测网络攻击行为的方法,其特征在于第1步包括下述过程(1. 1)先计算时间延时和嵌入维,再根据时间延时和嵌入维将待检的网络流量时间序列重构到多维空间;(1.2)根据正常网络流量时间序列的统计特性,确定一种分布模型拟合局部网络流量,该分布模型能够描述局部网络流量时间序列的特征并且该分布模型能够通过柯尔莫诺夫_斯米尔诺夫检验、相关系数检验分布拟合检验。
3. 根据权利要求2所述的检测网络攻击行为的方法,其特征在于第2步具体包括下述过程第2. 1步,记待测的网络流量时间序列为X(t),其包含的点数为N ;记初始窗口部分为Ls, Ls取值范围100 300,初始滑动窗口的长度为Lm, Lm初始值为8 15, Ls+Lm的区域为子窗,设i为子窗的序号,i为从1开始的正整数,k+Lm的长度N&),其Ls的长度为K,分别计算Ls和(Ls+Lm)部分的平均值h(i)、 i^(i),以及标准偏差Sl(i)和S2(i),则当前窗口的合并偏差S。(i)为<formula>formula see original document page 2</formula>其中,用统计值T(i)来量化表示Ls, Ls+Lm的差异<formula>formula see original document page 2</formula>第2. 2步若3G > T(i) > G,其中G为域值,取值范围为0. 3 0. 6,则进入第2. 3步,否则,根据T(i)的值按照以下规则调整Lm的长度;若T (i) < G,令Lm = Lm+Lf,其中,Lf为滑动增量,取值范围为大于0且小于0. 5L迈,转入第2. 1步;若T(i) 〉3G,则令Lm二Lm-Lf,其中,Lf为滑动增量,取值范围为大于0且小于0.5Lm,转入第2. 1步;第2. 3步,根据Lm最后一个点所在位置作为第i个子窗分割点W工后,从W工位置出按照第2. 1步计算下一个T(i),得到第i+1个子窗分割点W2直到序列的结尾;依次求出每个子窗的大小。
4.根据权利要求3所述的检测网络攻击行为的方法,其特征在于第3步具体包括下述过程是第3. 1步采用广义概率权重矩估计法或者概率权重矩法,根据第1步得到的统计分布模型对所有子窗依次进行参数估计,得到尺度和形状参数序列{kn k2, ... , km}和ftvb2, , bm} , nn表示子窗总数;第3. 2步采用尖点突变模型进行异常检测;利用尖点突变模型,设形状参数和尺度参数为状态变量,状态变量为网络流量,由此计算得到由状态变量和控制变量形成的势函数的系数值,再计算由控制变量和系数形成的分叉集;根据已经建立的突变模型,以及第3. 1步计算出来的形状参数{kpk^. . . ,km}和尺度参数ftv b2, , bm}记为u, v,即u = {、, k2, , km} , v = {b" b2, , bm},由u, v组成特征量P(u,v);设定一个阈值l,阈值《取值为最开始3 IO个子窗的特征量P到分叉集的距离的平均值,计算特征量P到所述分叉集的距离D,当D《I ,则检测出网络流量的异常。
全文摘要
本发明公开了一种检测网络攻击行为的方法,步骤为①根据网络流量的复杂非线性特性将待检测的网络流量时间序列重构到多维相空间,并根据正常网络流量时间序列建立统计分布模型;②对待检测的网络流量时间序列进行平稳化处理,将其分成子窗;③按照统计分布模型计算平稳化处理后的网络流量时间序列的各子窗的参数,得到一个参数序列,再根据该参数序列建立综合判决模型,检测异常。本发明将网络流量重构到多维空间里,充分显示其蕴藏在一维空间的信息,并降低了每个维度空间的计算复杂程度,提高运行的速度,本发明提高了系统的鲁棒性和准确性,具有计算复杂度低,检出率高和误检率低的特点。
文档编号H04L12/56GK101753381SQ20091027337
公开日2010年6月23日 申请日期2009年12月25日 优先权日2009年12月25日
发明者丁帆, 杨越, 熊伟, 胡汉平 申请人:华中科技大学