CN101494567A - 一种基于负载预测的分布式拒绝服务攻击检测方法 - Google Patents

一种基于负载预测的分布式拒绝服务攻击检测方法 Download PDF

Info

Publication number
CN101494567A
CN101494567A CNA2008101194329A CN200810119432A CN101494567A CN 101494567 A CN101494567 A CN 101494567A CN A2008101194329 A CNA2008101194329 A CN A2008101194329A CN 200810119432 A CN200810119432 A CN 200810119432A CN 101494567 A CN101494567 A CN 101494567A
Authority
CN
China
Prior art keywords
data
prediction
load
training
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2008101194329A
Other languages
English (en)
Other versions
CN101494567B (zh
Inventor
胡昌振
姚淑萍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN2008101194329A priority Critical patent/CN101494567B/zh
Publication of CN101494567A publication Critical patent/CN101494567A/zh
Application granted granted Critical
Publication of CN101494567B publication Critical patent/CN101494567B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种基于负载预测的分布式拒绝服务攻击检测方法,属于网络安全技术领域。本发明的方法包括对服务器的负载值进行检测的步骤,使用检测值进行负载预测的步骤,将预测值与实际检测值比较,判断是否是异常点并采取措施的步骤,其特征在于,所述使用检测值进行负载预测的步骤包括:1)使用基于小波包的预测方法进行一步预测;2)使用基于SVR的预测方法进行一步预测;3)使用基于支持向量回归的非线性组合预测方法对两项单项预测结果进行组合,获得最终的主机负载预测结果。本发明的检测方法能够提高攻击检测精度,并有效降低攻击发现延时。

Description

一种基于负载预测的分布式拒绝服务攻击检测方法
技术领域
本发明涉及一种网络攻击检测方法,特别的,涉及一种基于负载预测的分布式拒绝服务攻击检测方法,属于网络安全技术领域。
背景技术
分布式拒绝服务(Distributed Denial of Service,DDoS)是在传统的拒绝服务(Denial of Serivce,DoS)攻击基础之上产生的一类攻击方式。它的原理与DoS相似,只是改变了单一DoS的一对一攻击方式,利用更多的傀儡机来发起进攻,以更大的规模来进攻受害者。DDoS攻击采用分布、协作的大规模攻击模式,给网络的正常运行带来了极大威胁。
典型的DDoS攻击可以分为两大类:直接DDoS攻击和反射式DDoS攻击。如图1所示。
图1(a)为直接DDoS攻击。攻击主机首先入侵大量的攻击从机,并在攻击从机上安装DDoS攻击守护进程,当攻击主机认为时机成熟时,发送攻击命令给攻击从机,攻击从机就会向目标主机发出大量的服务请求数据包,最终导致目标主机网络和***资源耗尽,造成目标主机无法为正常用户提供任何服务,甚至导致***崩溃。
图1(b)为反射式DDoS攻击。该攻击的模式是:攻击主机控制攻击从机,通过攻击从机向反射服务器发送大量伪造的数据包,这些伪造数据包的源IP地址均为所要攻击的目标主机的IP。反射服务器接收到伪造数据包后,依据包中的源IP发出相应的回应数据包。这样,目标主机的资源会被大量的回应数据包耗尽,无法为合法用户提供服务。
随着DDoS攻击软件如TFN,TFN2k等的出现,发起DDoS攻击更加容易。而且,为了对抗已有的DDoS攻击检测技术,攻击的形式也发生了变化,出现了采用反射式的DDoS攻击等新方式,使攻击的检测更为困难。
与其它的攻击相比,DDoS攻击具有以下特点:
◆采取了分布式的攻击手段,改变了传统的点对点攻击模式,使得攻击数据流呈现无规律状态;
◆通常使用常见的协议与服务,仅从协议与服务类型方面难以区分正常连接请求与恶意请求;
◆攻击数据包通常经过伪装,使用伪造的源IP地址,无法识别来源。
以上特点使得对DDoS攻击的检测十分困难。
有些机制可以用来对抗目前最流行的SYN Flooding型攻击,如SYN cache,SYN cookies等。但是,这些机制都是维护状态的,也就是每个TCP连接需要维护状态,并进行状态计算。而实验表明:攻击一个没有特别保护的商业网站的SYN速率至少需要达到14000Ps个SYN请求,如果将这些检测***集成到网关设备上,显然会降低端到端TCP性能,导致建立连接的延时增加。
基于异常的检测是该类攻击最为有效的检测手段。异常检测的核心问题是如何实现负载正常状态的描述。目前普遍的做法是采集大量样本数据,基于统计或人工智能方法对样本数据进行分析,从中抽取正常模式。这种方式获得的正常行为描述完全依赖于历史数据,时效性差,以此为依据的异常判断准确性也必然受到影响。
文献《基于负载预测的分布式拒绝服务攻击检测方法研究》(科技导报.2005,23(9):11-13)提出一种基于负载预测的DDOS检测方法,首先预测待检测时刻的服务请求数,将其作为待测时段内正常服务请求的估计值,以此为参照判断异常,不仅可以明显提高检测准确性,而且可以缩减历史记录存储量。但该文献建立的小波-神经网络预测模型精度还不够高,影响检测响应时间。
发明内容
本发明的目的是基于负载预测的思想,通过构建高精度负载预测模型,提高攻击检测精度,并进一步提高DDoS攻击检测的时效性,保证在攻击造成不良影响之前有充分的时间进行防御。
本发明提供了一种基于负载预测的分布式拒绝服务攻击检测方法,该方法包括对服务器的负载值进行检测的步骤,使用检测值进行负载预测的步骤,将预测值与实际检测值比较,判断是否是异常点并采取措施的步骤,其中所述使用检测值进行负载预测的步骤包括:
1)使用基于小波包的预测方法进行一步预测,具体步骤为:
1.1对原始序列进行小波包分解与重构:设H(t)表示t时刻之前N个数据按时间顺序的排列,对原始序列H(t)进行L层小波包分解,从分解树中读取结点(L,0)~(L,2L-1-1),(1,1)的小波包分解系数,构成2L-1+1个信号分量;对各分支进行单支重构,重构后的2L-1+1个分支与原始序列的长度一致,记为 H ~ Lj ( j = 0 ~ 2 L - 1 - 1 )
Figure A20081011943200062
1.2对信号直接用AR线性模型进行预测;
1.3对信号进行支持向量回归预测,即对各分支分别执行:
1.3.1数据准备:将该分支数据分为两部分,一部分作为训练数据,另一部分作为测试数据,将训练数据以n为步长组织为学习样本对(xi,yi);
1.3.2选取适当的支持向量机模型;
1.3.3根据确定的支持向量拓扑结构,利用训练数据集训练模型;
1.3.4利用测试数据集中的数据进行预测;
1.3.5根据预测结果进行模型评价,计算预测精度,如果精度满足预先设定的阈值,则结束算法,否则调整参数,重新训练模型;
1.4使用加权移动平均法对分支数据进行预测;
1.5对各分支预测值进行合成,获得最后的预测结果;
2)使用基于SVR的预测方法进行一步预测,具体步骤为:
2.1数据准备:将原始负载数据分为两部分,一部分作为训练数据,另一部分作为测试数据,将训练数据以n为步长组织为学习样本对(xi,yi);
2.2选取适当的支持向量机模型;
2.3根据确定的支持向量拓扑结构,利用训练数据集训练模型;
2.4利用测试数据集 D te = { d j } j = M + 1 N 中的数据进行单步预测;
2.5根据预测结果进行模型评价,计算预测精度,如果精度满足预先设定的阈值,则结束算法,否则调整参数,重新训练模型;
3)使用基于支持向量回归的非线性组合预测方法对两项单项预测结果进行组合,获得最终的主机负载预测结果,具体步骤为:
3.1数据准备:将原始主机负载数据分别输入到已训练好的基于小波包的预测模型和基于SVR的预测模型中,获得两个预测值集合;
3.2将训练数据以2为步长组织为如下表所示的学习样本对(xi,yi);
Figure A20081011943200067
其中
Figure A20081011943200071
Figure A20081011943200072
分别为使用基于小波包的预测模型和基于SVR的预测模型获得的预测值;
3.3选取适当的支持向量机模型;
3.4根据确定的支持向量拓扑结构,利用训练样本训练模型;
3.5将测试数据集中的数据输入模型,进行单步预测;
3.6根据预测结果进行模型评价,计算预测精度,如果精度不满足预先设定的阈值,则调整参数,重新训练模型。
本发明提出的基于负载预测的DDoS检测方法,以预测值作为未来时段内网络正常行为的描述,不需要了解攻击的细节,能够有效区分正常的负载增加与DDoS攻击所导致的异常负载增加,改进正常行为描述的时效性,提高攻击检测精度,并有效降低攻击发现延时。
附图说明
图1DDoS攻击示意图。
图2本发明提供的攻击检测方法的检测原理图。
图3基于小波包和SVR的非线性组合预测模型。
图4三层小波包分解树。
图5基于小波包的预测模型。
图6U0 0空间的小波包划分。
图7主机负载序列的三层DB4小波包分解与单支重构。
具体实施方式
下面结合附图对本发明所述方法做进一步的描述。
DDOS的攻击目标是网络内的重点服务器,对其负载本发明采用并发连接数作为衡量指标。对基于TCP的服务,并发连接数直接取Socket数,对DNS等采用UDP非连接协议的服务,可以采用虚拟连接的方式,把五元组(协议,源地址,源端口,目的地址,目的端口)相同的访问视为一个连接,效果是一样的。
设采样的时间间隔是Δt。令x(i)表示第i个观测点的并发数,X表示服务器并发连接时间序列,则
X={x(1),x(2),x(3),…,x(k),…}
根据X构造与预测相关的历史序列。
设与待预测时刻t相关的序列为H(t),则
H(t)={x(t-i),N≥i≥1}
其中H(t)表示t时刻之前N个数据按时间顺序的排列,称为历史序列。对序列中元素分别重新编号,则H(t)可表示为 H ( t ) = { h k } k = 1 N .
利用本发明的技术方案,进行攻击检测的原理如图2所示。
本实施例考虑对历史序列 H ( t ) = { h k } k = 1 N 分别用基于小波包的预测和基于SVR的预测两种方法进行一步预测,然后将预测值进行组合,获得最终的预测结果,采用的基于小波包和SVR的非线性组合预测模型如图3所示。在实际应用中可以根据具体的需求将该机制应用于更多预测方法的组合。
图3中,
Figure A20081011943200083
表示对历史序列用基于小波包的预测模型进行一步预测获得的预测值,
Figure A20081011943200084
表示对历史序列用SVR方法进行一步预测获得的预测值,将这两个单项预测结果经支持向量回归组合之后,获得最终的预测值
Figure A20081011943200085
本实施例的具体实施过程如下:
一、对服务器的负载值进行检测
该步骤是收集服务器负载值数据集的过程。该数据集合通常可以分为两部分:训练数据集和测试数据集。训练数据集主要用来构造训练模型的样本数据;测试数据集用来构造与预测相关的历史序列。
本实施例中的实验数据取自某高校校园网的一台WWW服务器,收集该主机在一段时间内的并发连接数,连续收集10个工作日,采样间隔取Δt=2s,构成数据集source。以下实验的数据均取自该数据集。
二、使用基于小波包的预测方法进行一步预测
1、预测模型
依据小波包分解理论:在小波包分解中,每一个高频系数向量也与低频部分的分解一样,被分解成两个部分,一维情况下产生的是一个完整的二叉树。如图4所示。
小波包分解树中任一个结点都可以读取其分解系数,这样,基于小波包分解的预测可以有更多的组合方式,并非一定用最底层结点,只要所选结点对应空间的直和刚好覆盖原始信号空间,又不互相重叠即可。如选择结点((3,0),(3,1),(2,1),(1,1)),就相当于按Mallat小波多分辨分析作空间剖分。
本实施例基于小波包理论的预测模型组合方式为:选择结点(3,0),(3,1),(3,2),(3,3),(1,1)。即在三层小波分解基础上,对第二层细节信号(结点(2,1))进一步分解。考虑到第一层细节信号(结点(1,1))是原始负载信号中的随机负载分量,是由偶发事件导致的负载增量,一般在整个负载中所占的比例很小,所以预测中不需要再对其进一步分解。
令H(t)表示原始负载序列,即t时刻之前N个负载数据按时间顺序的排列。
H ( t ) = { h k } k = 1 N
基于历史序列进行一步预测,预测hN+1的值,记为。以三层小波包分解为例,预测模型如图5所示。
首先对历史序列H(t)进行三层小波包分解。从分解树中读取结点(3,0),(3,1),(3,2),(3,3),(1,1)的小波包分解系数,构成5个信号分量:
H3j={h3j,i},j=0,1,2,3;H11={h11,i}
为了使各分支的长度保持不变,对各分支进行单支重构,重构后的5个分支与原始序列的长度一致,即:
H ~ 3 j = { h ~ 3 j , i , 1 ≤ i ≤ N } , j = 0,1,2,3 H ~ 11 = { h ~ 11 , i , 1 ≤ i ≤ N }
分别对5个分支建立如图5所示的预测模型进行一步预测,获得5个预测值,将其合成得
Figure A20081011943200096
2、预测过程
从source中取20.28万个数据作为实验原始数据,将其分为两组,前17.28万个数据为第一组,作为模型训练数据,最后的3万个数据为第二组,作为模型测试数据。
2.1小波包分解与重构
首先选择一个母小波,并确定分解层数L。本实施例选定分解层数L=3。
对原始序列进行小波包分解:
分解过程如图6所示。其中U0 0表示原始序列占据的总频带空间,Uj n表示第j尺度上的第n个子空间。
由图可知:
U j - 1 n = U j 2 n ⊕ U j 2 n + 1 - - - ( 1 )
对应各子空间的序列用dj,n表示,则利用小波分解算法:
d l j , 2 n = Σ h k - 2 l d k j - 1 , n - - - ( 2 )
d l j , 2 n + 1 = Σ k k g k - 2 l d k j - 1 , n - - - ( 3 )
将小波包空间逐层细分。其中hn、gn分别是低通、高通分解滤波器系数。分解进行到第L层时,得到2L个信号分量。利用小波包重构算法:
d l j - 1 , n = Σ k [ h ~ l - 2 k d k j , 2 n + g ~ l - 2 k d k j , 2 n + 1 ] - - - ( 4 )
对各信号分量重构,得到最终的信号分量。其中
Figure A200810119432000911
Figure A200810119432000912
分别是低通、高通重构滤波器系数。
Figure A20081011943200101
重新对各信号分量编号,则:
H ( t ) = H ~ 0 + H ~ 1 + · · · + H ~ 2 L - 1 - - - ( 5 )
图7为任意截取的一段负载序列经DB4小波包三层分解与重构后的结果。
工程上,小波包分解与重构可以用以下matlab程序段实现:
load newnum.dat;%将实验原始数据文件调入内存
s=newnum(1:202800);%将文件中实验数据放入变量s中
t=wpdec(s,3,′db4′,′sure′,1);%采用DB4小波对原始数据序列进行三层小波包分解
h1=wprcoef(t,[3,0]);
h2=wprcoef(t,[3,1]);
h3=wprcoef(t,[3,2]);
h4=wprcoef(t,[3,3]);
h5=wprcoef(t,[1,1]);%对各分支进行重构
dlmwrite(sh1.dat′,h1,″);
dlmwrite(sh2.dat′,h2,″);
dlmwrite(sh3.dat′,h3,″);
dlmwrite(′sh4.dat′,h4,″);
dlmwrite(′sh5.dat′,h5,″);%将各分支存储为数据文件
2.2
Figure A20081011943200103
信号的自回归预测
图7中,H30比较平滑,较好地体现了负载的周期性,同时保持了与原负载序列完全相同的变化趋势且数值很接近,对该信号直接用AR线性模型预测。
AR模型的数学表达式为:
xt=φ1xt-12xt-2+...+φpxt-p+at    (6)
其中,p为AR模型的阶数,φ1为模型的系数,为待估参数,at是白噪声。
用AR模型预测的最关键问题是确定模型阶数及参数。本实施例中,模型的参数采用LS(最小二乘)估计法,阶采用在一定范围内从低阶到高阶逐个拟合,利用最小信息准则(AIC)确定。
对信号分支
Figure A20081011943200104
的模型选用AR(6),则
Figure A20081011943200105
信号的自回归预测可以用以下matlab程序段实现:
load sh1.dat;%将H30的数据调入内存
test=30000;
y=h1(1:202800)/1000;%归一化实验数据
len=length(y)-test;
x=y(1:len);%取出训练数据
result=zeros(test, 1);%构建全零数组
p=6;%设定模型阶数
r=zeros(p,1);
for n=0:p-1
    for t=1:len-p
                 r(p-n)=r(p-n)+x(t+p-n)*x(t);
    end
    r(p-n)=r(p-n)/len;
  end
  tt=0;
  for t=1:len
        tt=tt+x(t)*x(t);
  end
  tt=tt/len;
  a=zeros(p,p);
  for i=1:p
         for j=1:i-1
               a(i,j)=r(i-j);
               a(j,i)=a(j,i);
         end
         a(i,i)=tt;
end
f=inv(a)*r;%AR模型的训练
nn=len;
for k=1:test
      for i=1:p
          result(k)=result(k)+y(nn-i+k)*f(i);
     end
end %用最后的三万数据进行一步预测
result2=result*1000;
dlmwrite(′ARrh1.dat′,result2,″);%预测结果存盘
2.3
Figure A20081011943200121
信号的支持向量回归预测
图7中,
Figure A20081011943200122
的数值较小,具有较强的规律性,对负载周期内的波峰、波谷也有重要影响。本实施例对其采用支持向量回归预测。
支持向量回归的基本思想是通过一个非线性映射Ф将数据x映射到高维空间中,并在这个高维空间进行线性回归,则该线性回归就对应于低维输入空间的非线性回归。
D = { d i } i = 1 N 表示任意一个分支信号,由t时刻前n个值预测t时刻的dt的问题可以表示为寻找如下对应关系F。
d ^ t = F ( d t - n , d t - n + 1 , . . . , d t - 1 ) - - - ( 7 )
对回归模型的训练来说,由N个训练样本就可以构建N-n个训练样本对,即输入(d1,d2,...,dn),对应的输出为dn+1;输入(d2,d3,...,dn+1),对应的输出为dn+2;...依此类推。
下面以
Figure A20081011943200125
为例说明具体的算法实现过程,
Figure A20081011943200126
除输入数据不同外,步骤均相同。具体算法步骤为:
2.3.1数据准备。将采集到的数据分为两部分,一部分作为训练数据,记为 D ir = { d j } j = 1 M ,另一部分作为测试数据,记为 D te = { d j } j = M + 1 N 。首先将训练数据以n为步长组织为学习样本对(xi,yi),如表1所示。
表1SVR预测模型学习样本
Figure A20081011943200129
将原始时间序列数据整理为特定格式。方法为:假设sh2.dat的前20个数据如下所示。
294 302 309 319 325 330 288 291 280 285 305 319 294 303 306 308 311 314 293 296
若以15为预测步长,则将原始数据整理为如下所示格式,存入文件sh2-2.dat。
308 1:294 2:302 3:309 4:319 5:325 6:330 7:288 8:291 9:280 10:285 11:305 12:319 13:294 14:303 15:306
311 1:302 2:309 3:319 4:325 5:330 6:288 7:291 8:280 9:285 10:305 11:319 12:294 13:303 14:306 15:308
314 1:309 2:319 3:325 4:330 5:288 6:291 7:280 8:285 9:305 10:319 11:294 12:303 13:306 14:308 15:311
293 1:319 2:325 3:330 4:288 5:291 6:280 7:285 8:305 9:319 10:294 11:303 12:306 13:308 14:311 15:314
296 1:325 2:330 3:288 4:291 5:280 6:285 7:305 8:319 9:294 10:303 11:306 12:308 13:311 14:314 15:293
每一行的含义是:用带序号的15个数据,预测出的值应该是每行的第一个数值。
2.3.2选取适当的支持向量机模型。支持向量回归算法主要由核函数、损失函数和容量控制因子确定。
目前常用的核函数有线性核函数、多项式核函数、高斯径向基核函数等,从这些核函数中选择一个最好的核函数,一种方法是通过比较各种核函数的VC维的上界,但这种方法要在非线性特征空间计算包含数据的超平面的半径。另一种方法是采用Cross validation(交叉校验)来选择核函数及其参数。免费软件包Libsvm就提供了该项功能。
损失函数选取Vapnik的ε不敏感损失函数,ε值根据具体应用的预测精度需求确定,在满足精度需求的前提下尽可能选取较大的ε值以减少计算量。
容量控制因子用来控制对超出ε的样本的惩罚程度。
本实施例中,H31~H33采用相同的ε-SVR模型,令损失函数ε=0.1,控制因子C=100,核函数选用最常用的高斯基径向核函数且取σ=50;
2.3.3根据确定的支持向量拓扑结构,利用训练数据集 D tr = { d j } j = 1 M 训练模型。
工程上该部分可以直接调用libsvm程序包中的可执行文件,在DOS下完成:
svmtrain-s 3-t 2 -p 0.1-g 0.0002-c 100 sh2-2.dat msh2
其中,msh2为生成的训练模型
2.3.4利用测试数据集 D te = { d j } j = M + 1 N 中的数据进行单步预测。
工程上可以如下实现:
svmpredict psh2.dat msh2 rsh2.dat
psh2.dat格式与sh2-2.dat一样,只是预测值位置可以填写任意数字,如下所示:
Figure A20081011943200133
rsh2.dat为预测结果文件:
264.94 274.323 282.848 263.98 255.123 259.053 268.064 267.014 267.746 247.662 234.913
2.3.5根据预测结果进行模型评价。计算预测精度,如果精度满足预先设定的阈值,则结束算法,否则调整参数,重新训练模型。
2.4
Figure A20081011943200141
信号的加权移动平均预测
依然沿用 D = { d i } i = 1 N 表示分支信号,加权移动平均法的预测公式为:
d ^ n + 1 = ( Σ i = 0 m - 1 ω i d n - i ) / m - - - ( 8 )
式中
Figure A20081011943200144
表示第n+1个采样点的负载预测值,m为移动平均的项数,即每次预测需要使用的观察值的个数,ωi为对应权值。预测时,n每次向前移动一步,就增加一个新近数据,去掉一个远期数据,得到一个新的m个数的平均数,这样不断地“吐故纳新”逐期向前移动。
Figure A20081011943200145
采用加权移动平均模型,移动窗口定为5,则工程上可以用以下matlab程序段实现:
load sh5.dat;
s=sh5(1:202800);
len=length(s);
m=5;%设定阶数
w=[0.02 0.025 0.605 0.15 0.2];%设定权值
res=zeros(len,1);
for i=1:m
       res(i)=s(i);
end
for i=m+1:len
       forj=1:m
             res(i)=res(i)+w(j)*s(i-m+j-1);
       end
end%一步预测
rr=res(172801:202800);
dlmwrite(′MArh5.dat′,rr,″)%将预测结果存盘
2.5预测值合成算法
预测值合成可表示为:
h ^ 1 N + 1 = ψ ( h ~ ^ 30 , N + 1 , h ~ ^ 31 , N + 1 , h ~ ^ 32 , N + 1 , h ~ ^ 33 , N + 1 , h ~ ^ 11 , N + 1 ) - - - ( 9 )
其中,ψ为线性或非线性函数。
预测值合成方法很多,例如可以使用SVR方法对各分支的数据进行合成。最简单的是将各分支预测值直接对应相加,本实施例采用该方法。
三、使用基于SVR的主机负载预测方法进行一步预测
该方法与基于小波包的主机负载预测方法的预测算法过程2.3
Figure A20081011943200151
信号的支持向量回归预测基本相同,只是输入为原始负载序列,输出为预测值
Figure A20081011943200152
四、基于SVR的非线性组合预测
基于支持向量回归的主机负载非线性组合预测的原理为:首先确定待训练支持向量机的各项参数,然后将两种单项预测的预测结果组成二维的输入样本,对应的实际负载作为输出样本,用一定数量的输入输出训练样本对进行训练,使不同的输入向量得到相应的输出值,从而在各单项预测结果与实际负载值之间建立一种非线性映射关系,当训练及测试满足精度需求后,该***就可以应用于主机负载非线性组合预测。
该预测算法的主要步骤为:
4.1数据准备
H = { h ( i ) } i = 1 N 表示收集到的原始主机负载数据,其中N表示数据个数。以n为预测步长,将这些数据分别输入到已训练好的基于小波包的预测模型和基于SVR的预测模型中,获得两个预测值集合,表示为:
H ^ 1 = { h ^ 1 ( i ) } i = 1 M , H ^ 2 = { h ^ 2 ( i ) } i = 1 M , 其中,M=N-n,为预测值个数。
分别将数据集合
Figure A20081011943200156
Figure A20081011943200157
分为两部分,
H ^ 11 = { h ^ 1 ( j ) } j = 1 K , H ^ 12 = { h ^ 1 ( j ) } j = K + 1 M ;
H ^ 21 = { h ^ 2 ( j ) } j = 1 K , H ^ 22 = { h ^ 2 ( j ) } j = K + 1 M
其中,
Figure A200810119432001512
Figure A200810119432001513
为训练数据集,
Figure A200810119432001514
Figure A200810119432001515
为测试数据集,K为训练数据个数。
本实施例中,训练数据文件格式如下:
291 1:290.11 2:291.01
308 1:308.2 2:308.00
其中,1:后面的数字为用基于小波包方法的预测结果,2:后面的数据是基于SVR方法的预测结果,每一行最前面的数字是实际负载值。
预测数据文件格式如下:
0 1:300.11 2:299.91
0 1:208.2  2:208.00
4.2构造训练样本
将训练数据以2为步长组织为学习样本对(xi,yi),如表2所示。
表2 SVR非线性组合预测模型学习样本
Figure A200810119432001516
Figure A20081011943200161
4.3选取适当的支持向量机模型。按照2.3.2中所述方法,确定核函数、损失函数和容量控制因子。
4.4根据确定的支持向量拓扑结构,利用训练样本训练模型。工程上该步骤实现方法参见2.3.3。
4.5将测试数据集 H ^ 12 = { h ^ 1 ( j ) } j = K + 1 M , H ^ 22 = { h ^ 2 ( j ) } j = K + 1 M 中的数据输入模型,进行单步预测。工程上该步骤实现方法参见2.3.4。
4.6根据预测结果进行模型评价。计算预测精度,如果精度满足预先设定的阈值,则结束算法,否则调整参数,重新训练模型。
五、将预测值与实际检测值比较,判断是否是异常点并采取措施
异常检测采用基于滑动窗口的方式实现。***需要维护一个描述主机正常行为的历史窗口,记为Wh,窗口宽度为T。攻击检测流程为:
(1)初始化异常点计数器,使异常点数n=0;
(2)取检测时刻t前T个采样值作为Wh的初始值;
(3)利用Wh中的历史数据进行一步预测,获得t时刻的负载预测值,记为
Figure A20081011943200164
(4)获取t时刻的实际负载值,记为ft
(5)异常点的判定。比较
Figure A20081011943200165
和ft,看是否满足以下条件:
| f t = f ^ t | ≥ K ( t ) · Max _ error
其中,K(t)为预先定义的与检测时刻相关的常数,Max_error为所采用预测模型的最大绝对值误差。
如果条件不满足,则将历史窗口Wh向右滑动一步,使ft进入窗口,并修改检测时刻 t ⇐ t + 1 ,如果n>0,则执行 n ⇐ 0 ,转(3);
如果条件满足,则判定该点是负载异常点,此时,执行 n ⇐ n + 1 ,并判断是否n的值等于预先设定的异常点个数阈值N,如果是,则报警;否则,将历史窗口Wh向右滑动一步,以预测值
Figure A200810119432001610
代替实际负载值ft进入窗口,并修改检测时刻 t ⇐ t + 1 ,转(3)。
本实施例只给出了具有两种单项预测的组合方法,在实际应用中可以根据具体的需求将该机制应用于更多预测方法的组合。

Claims (2)

1.一种基于负载预测的分布式拒绝服务攻击检测方法,该方法包括对服务器的负载值进行检测的步骤,使用检测值进行负载预测的步骤,将预测值与实际检测值比较,判断是否是异常点并采取措施的步骤,其特征在于,所述使用检测值进行负载预测的步骤包括:
1)使用基于小波包的预测方法进行一步预测,具体步骤为:
1.1对原始序列进行小波包分解与重构:设H(t)表示t时刻之前N个数据按时间顺序的排列,对原始序列H(t)进行L层小波包分解,从分解树中读取结点(L,0)~(L,2L-1-1),(1,1)的小波包分解系数,构成2L-1+1个信号分量;对各分支进行单支重构,重构后的2L-1+1个分支与原始序列的长度一致,记为 H ~ Lj ( j = 0 ~ 2 L - 1 - 1 )
Figure A2008101194320002C2
1.2对
Figure A2008101194320002C3
信号直接用AR线性模型进行预测;
1.3对
Figure A2008101194320002C4
信号进行支持向量回归预测,即对各分支分别执行:
1.3.1数据准备:将该分支数据分为两部分,一部分作为训练数据,另一部分作为测试数据,将训练数据以n为步长组织为学习样本对(xi,yi);
1.3.2选取适当的支持向量机模型;
1.3.3根据确定的支持向量拓扑结构,利用训练数据集训练模型;
1.3.4利用测试数据集中的数据进行预测;
1.3.5根据预测结果进行模型评价,计算预测精度,如果精度满足预先设定的阈值,则结束算法,否则调整参数,重新训练模型;
1.4使用加权移动平均法对
Figure A2008101194320002C5
分支数据进行预测;
1.5对各分支预测值进行合成,获得最后的预测结果;
2)使用基于SVR的预测方法进行一步预测,具体步骤为:
2.1数据准备:将原始负载数据分为两部分,一部分作为训练数据,另一部分作为测试数据,将训练数据以n为步长组织为学习样本对(xi,yi);
2.2选取适当的支持向量机模型;
2.3根据确定的支持向量拓扑结构,利用训练数据集训练模型;
2.4利用测试数据集 D te = { d j } j = M + 1 N 中的数据进行单步预测;
2.5根据预测结果进行模型评价,计算预测精度,如果精度满足预先设定的阈值,则结束算法,否则调整参数,重新训练模型;
3)使用基于支持向量回归的非线性组合预测方法对两项单项预测结果进行组合,获得最终的主机负载预测结果,具体步骤为:
3.1数据准备:将原始主机负载数据分别输入到已训练好的基于小波包的预测模型和基于SVR的预测模型中,获得两个预测值集合;
3.2将训练数据以2为步长组织为如下表所示的学习样本对(xi,yi);
其中
Figure A2008101194320003C2
分别为使用基于小波包的预测模型和基于SVR的预测模型获得的预测值;
3.3选取适当的支持向量机模型;
3.4根据确定的支持向量拓扑结构,利用训练样本训练模型;
3.5将测试数据集中的数据输入模型,进行单步预测;
3.6根据预测结果进行模型评价,计算预测精度,如果精度不满足预先设定的阈值,则调整参数,重新训练模型。
2、根据权利要求1所述的分布式拒绝服务攻击检测方法,其特征在于,所述服务器的负载值采用并发连接数作为衡量指标;对基于TCP的服务,并发连接数直接取Socket数,对采用UDP非连接协议的服务,采用虚拟连接的方式,把五元组(协议,源地址,源端口,目的地址,目的端口)相同的访问视为一个连接。
CN2008101194329A 2008-08-29 2008-08-29 一种基于负载预测的分布式拒绝服务攻击检测方法 Expired - Fee Related CN101494567B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101194329A CN101494567B (zh) 2008-08-29 2008-08-29 一种基于负载预测的分布式拒绝服务攻击检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101194329A CN101494567B (zh) 2008-08-29 2008-08-29 一种基于负载预测的分布式拒绝服务攻击检测方法

Publications (2)

Publication Number Publication Date
CN101494567A true CN101494567A (zh) 2009-07-29
CN101494567B CN101494567B (zh) 2011-04-13

Family

ID=40924983

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101194329A Expired - Fee Related CN101494567B (zh) 2008-08-29 2008-08-29 一种基于负载预测的分布式拒绝服务攻击检测方法

Country Status (1)

Country Link
CN (1) CN101494567B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101931570B (zh) * 2010-02-08 2011-05-04 中国航天科技集团公司第七一○研究所 一种基于频繁模式增长算法的网络攻击路径重构方法
CN103748992B (zh) * 2010-06-09 2012-02-08 北京理工大学 基于时间自动机的网络攻击意图动态识别***
CN103092699A (zh) * 2013-01-10 2013-05-08 中国南方电网有限责任公司超高压输电公司 一种云计算资源预分配实现方法
CN105071983A (zh) * 2015-07-16 2015-11-18 清华大学 一种面向云计算在线业务的异常负载检测方法
CN105631539A (zh) * 2015-12-25 2016-06-01 上海建坤信息技术有限责任公司 基于支持向量机的智能楼宇能耗预测方法
CN108768942A (zh) * 2018-04-20 2018-11-06 武汉绿色网络信息服务有限责任公司 一种基于自适应阈值的DDoS攻击检测方法和检测装置
CN109065176A (zh) * 2018-08-20 2018-12-21 清华-伯克利深圳学院筹备办公室 一种血糖预测方法、装置、终端和存储介质
CN109104493A (zh) * 2018-09-04 2018-12-28 南京群顶科技有限公司 一种云资源池业务负载感知与自处理装置及方法
CN109586971A (zh) * 2018-12-14 2019-04-05 广东外语外贸大学 一种基于线性关系的负载资源需求量评估方法
CN109936487A (zh) * 2019-04-19 2019-06-25 浙江中烟工业有限责任公司 一种网络广播包的实时分析与监测方法及***
CN111555897A (zh) * 2019-11-25 2020-08-18 江苏艾佳家居用品有限公司 一种基于客户输入行为的tcp报文半包粘包智能处理方法
CN113110344A (zh) * 2021-04-23 2021-07-13 南京云智控产业技术研究院有限公司 一种针对DoS攻击下的多个轮式机器人协同控制方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101931570B (zh) * 2010-02-08 2011-05-04 中国航天科技集团公司第七一○研究所 一种基于频繁模式增长算法的网络攻击路径重构方法
CN103748992B (zh) * 2010-06-09 2012-02-08 北京理工大学 基于时间自动机的网络攻击意图动态识别***
CN103092699A (zh) * 2013-01-10 2013-05-08 中国南方电网有限责任公司超高压输电公司 一种云计算资源预分配实现方法
CN105071983A (zh) * 2015-07-16 2015-11-18 清华大学 一种面向云计算在线业务的异常负载检测方法
CN105631539A (zh) * 2015-12-25 2016-06-01 上海建坤信息技术有限责任公司 基于支持向量机的智能楼宇能耗预测方法
CN108768942B (zh) * 2018-04-20 2020-10-30 武汉绿色网络信息服务有限责任公司 一种基于自适应阈值的DDoS攻击检测方法和检测装置
CN108768942A (zh) * 2018-04-20 2018-11-06 武汉绿色网络信息服务有限责任公司 一种基于自适应阈值的DDoS攻击检测方法和检测装置
CN109065176B (zh) * 2018-08-20 2020-11-10 清华-伯克利深圳学院筹备办公室 一种血糖预测方法、装置、终端和存储介质
CN109065176A (zh) * 2018-08-20 2018-12-21 清华-伯克利深圳学院筹备办公室 一种血糖预测方法、装置、终端和存储介质
CN109104493A (zh) * 2018-09-04 2018-12-28 南京群顶科技有限公司 一种云资源池业务负载感知与自处理装置及方法
CN109586971A (zh) * 2018-12-14 2019-04-05 广东外语外贸大学 一种基于线性关系的负载资源需求量评估方法
CN109586971B (zh) * 2018-12-14 2021-06-15 广东外语外贸大学 一种基于线性关系的负载资源需求量评估方法
CN109936487A (zh) * 2019-04-19 2019-06-25 浙江中烟工业有限责任公司 一种网络广播包的实时分析与监测方法及***
CN111555897A (zh) * 2019-11-25 2020-08-18 江苏艾佳家居用品有限公司 一种基于客户输入行为的tcp报文半包粘包智能处理方法
CN113110344A (zh) * 2021-04-23 2021-07-13 南京云智控产业技术研究院有限公司 一种针对DoS攻击下的多个轮式机器人协同控制方法
CN113110344B (zh) * 2021-04-23 2021-11-12 南京云智控产业技术研究院有限公司 一种针对DoS攻击下的多个轮式机器人协同控制方法

Also Published As

Publication number Publication date
CN101494567B (zh) 2011-04-13

Similar Documents

Publication Publication Date Title
CN101494567A (zh) 一种基于负载预测的分布式拒绝服务攻击检测方法
Li et al. Detection and defense of DDoS attack–based on deep learning in OpenFlow‐based SDN
Muna et al. Identification of malicious activities in industrial internet of things based on deep learning models
Kumar et al. UIDS: a unified intrusion detection system for IoT environment
Shin et al. Advanced probabilistic approach for network intrusion forecasting and detection
CN102271091B (zh) 一种网络异常事件分类方法
Rahman et al. Attacks classification in adaptive intrusion detection using decision tree
Ye et al. EWMA forecast of normal system activity for computer intrusion detection
CN108600200A (zh) 域名检测方法、装置、计算机设备及存储介质
Yan et al. A hybrid intrusion detection system of cluster-based wireless sensor networks
CN102111312A (zh) 基于多尺度主成分分析的网络异常检测方法
CN101931570B (zh) 一种基于频繁模式增长算法的网络攻击路径重构方法
Xu et al. A reinforcement learning approach for host-based intrusion detection using sequences of system calls
Li et al. Dynamic traffic feature camouflaging via generative adversarial networks
Alkasassbeh et al. Intrusion detection systems: A state-of-the-art taxonomy and survey
CN112152962A (zh) 一种威胁检测方法及***
Singh Samom et al. Distributed denial of service (DDoS) attacks detection: A machine learning approach
CN114037145B (zh) 一种网络安全态势预测方法及***
Mora-Gimeno et al. Intrusion detection system based on integrated system calls graph and neural networks
Nalayini et al. A new IDS for detecting DDoS attacks in wireless networks using spotted hyena optimization and fuzzy temporal CNN
CN112653680B (zh) 模型训练方法、网络态势预测方法、装置、设备及介质
CN110708296B (zh) 一种基于长时间行为分析的vpn账号失陷智能检测模型
Zhang et al. IDS alert classification model construction using decision support techniques
Jia et al. Bidirectional RNN-Based Few-Shot Training for Detecting Multi-stage Attack
Lu et al. Stealthy malware detection based on deep neural network

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110413

Termination date: 20140829

EXPY Termination of patent right or utility model