高大伟 申 杰 沈学利 王兆福
1(92941部队 辽宁葫芦岛 125000) 2(辽宁工程技术大学软件学院 辽宁葫芦岛 125105)
随着互联网技术的快速发展,人们的工作和生活已同其密不可分,人们在享受便利和快捷的同时,也正遭到多种类型的网络恶意攻击,并且这种情形变得愈加严重.分布式拒绝服务(distributed denial of service, DDoS)攻击方式相对简单且效果明显,很难被检测,成为黑客比较惯用的一种攻击手段,具有很大的威胁性.为了确保网络安全性与健壮性,如何准确、快速地对DDoS攻击进行检测成为全世界网络安全专家关注的难点问题之一[1].
陈佳[2]提出了基于知识图谱的DDoS攻击检测方法.该方法使用知识图谱的形式表述2个主机之间TCP流量的通信过程,在此基础上进行DDoS攻击检测.杨可心等人[3]构建了基于数据包长度、数据包发送时间间隔以及数据包长度变化率等6项特征的攻击流量特征模型,提出对神经网络误差调整参数进行优化的方法.李传煌等人[4]提出了基于深度学习的DDoS攻击检测方法,在特征处理阶段对输入的数据分组进行特征提取、格式转换和维度重构,在模型检测阶段将处理后的特征输入深度学习网络模型进行检测.郭伟等人[5]结合通信熵和IP熵提出一个基于熵变量的DDoS攻击溯源模型.Bhuyan等人[6]实证地评估了香农熵、广义熵的KL散度和广义信息距离测度,以及其检测低速率和高速率DDoS攻击的能力.罗梓露等人[7]阐述了一个基于Hadoop的DDoS检测框架,利用MapReduce和HDFS处理对DDoS攻击进行分析.Hoque等人[8]提出了一种利用新的相关性度量识别DDoS攻击的实时检测方法.田俊峰等人[9]提出了基于条件熵和GHSOM(growing hierarchical SOM)神经网络的DDoS攻击检测方法.周颖杰等人[10]提出一种基于流量行为特征的骨干网络DoS&DDoS攻击检测与异常流识别的方法,对异常流量进行分析并提取特征.
本文通过综合分析上述相关方法,提出了一种基于生物免疫原理的DDoS攻击检测系统,结合生物免疫原理和DDoS攻击原理,通过建立DDoS特征库和在此特征库的基础上利用DDoS检测算法来实现对DDoS攻击的识别与防范.
免疫是生物体的一种特殊保护性生理功能[11],免疫系统可以识别“自我”,排除“异己”,便于保持生物体内环境的稳定及平衡.免疫系统有3道防线,其中第1,2道防线构成生物体的非特异性免疫,第3道防则是特异性免疫.皮肤和粘膜等组成生物体的第1道防线;体液中的杀菌物质和吞噬细胞构成生物体的第2道防线;若病菌进入生物体体内,将由生物体获得性免疫系统以及自身的先天性免疫系统来抵抗病原体,其构成生物体的第3道防线.非特异性免疫又名先天性免疫,是一种天然防御系统,是在长期进化过程中逐步建立起来的;特异性免疫又称获得性免疫,是后天获得的免疫,通常只能对某特定的病原体或异物起作用.抗原进入生物体后,体液中的抗原被体液中的抗体歼灭,称为体液免疫,若侵入了细胞,抗体就无能为力了,只能被相应的免疫细胞消灭,称为细胞免疫.
DDoS攻击方式有很多种[12],最基本的DoS攻击就是利用正当的服务请求来占用过多的服务资源,使合法用户无法得到服务的响应.DDoS攻击是由DoS攻击进化而来的.DoS攻击为1对1方式,当攻击目标的硬件配置的各项指标较低时,它会有一定的攻击效果.随着服务终端硬件性能和网络带宽的不断提高,普通的DoS攻击很难再造成较大的破坏.这时分布式的拒绝服务攻击(DDoS)应运而生.DDoS攻击就是通过指令操纵更多的傀儡机[13]发起攻击,以超大流量的形式攻击目标.DDoS攻击是一种十分隐秘的网络流量攻击,攻击中的流量来自大量的不同源,DDoS攻击在每条线路上的攻击包相对少,很难被监测,DDoS攻击流量聚集后形成的攻击数据包总量非常多,具有极大破坏性.
本文方法主要由蜜罐主机、DDoS特征库以及DDoS检测器等部分构成,命名为DDBIP(DDoS attack detection based on biological immune principle).
当攻击者发起DDoS攻击时,由蜜罐主机进行诱骗,诱骗成功后,对其攻击流量进行特征提取并存入特征库,对于诱骗失败的攻击流量由检测器利用已有的特征库进行对比;检测器经过训练具有一定的发现新DDoS攻击的能力,经过特征提取后,进一步丰富特征库;正常流量通过检测转发至服务器,异常流量过滤丢弃.
蜜罐主机[14]起到缓解对被保护主机攻击的作用,相当于非特异性免疫,由于蜜罐主机具有相对容易攻击的特点,可以吸引攻击者的攻击,同时,可以记录攻击行为,供特征提取.
DDoS特征库通过存储DDoS的相关行为特征来训练DDoS检测器,使其可以检测出DDoS攻击,相当于生成记忆细胞的过程.
DDoS检测器用于检测DDoS攻击,通过高效、准确的算法检测DDoS,保护服务器不被攻击,使之能够被正常访问,相当于特异性免疫.图1示出该系统的结构图:
2.2.1 DDoS特征库的建立
1) 获取骨干网中的Netflow[15]二进制流数据,转为文本形式,提取DDoS相关的流量行为特征.本文提取以下行为特征:数据流、包数量、字节数、源IP、目的IP和目的端口.
2) 引入信息熵[16],对目的IP信息熵进行分析判断异常行为发生的时间节点.将时间划分成一个个时间片,在每个时间片内计算网络中的数据流,其中属性M为在该时间片内的信息熵,定义为
(1)
其中S为属性M中所有可能取值的个数,Qi为属性M中某个取值出现的概率.在本文中,信息熵作为网络流量信息的粗粒度[13]特征参数.
算法1.异常时间节点监测算法.
输入:流量行为特征;
输出:异常发生时间.
① floatp=p0,t1,t2,error;
② floatT=0;
③ while (t1 /*此时时间点属于待检时间点*/ ④ 计算目的IP信息熵在时间点的相对变化值c; ⑤ ifc>p ⑥error=T;/*记录异常时间点*/ ⑦ end if ⑧T++; ⑨ end while 其中p0由实际骨干网络带标记的流量数据经过学习训练获得.当p0≥0时,p0的值越小,异常时间点中DDoS攻击数目越多,即检测的漏检率越低. 3) 引入响应率和参数变化比率[17]作为细粒度的网络流量行为特征参数,监测异常流量目的IP的特征.响应率表示目的IP响应用户请求的能力,其定义为 Ge(T)=ng(T)/nq(T), (2) 其中Ge(T)为待检测目的IP在时间点T的响应率,ng(T)为该IP在时间点T发送的数据包数量,nq(T)为该IP在时间点T接收的数据包数量,待监测IP的响应率下降越大,该IP受到DDoS攻击概率越大. 进行DDoS攻击时,会引起目标主机的目的IP对应的子流流量增大.将各目的IP对应子流的流数量、包数量、字节数以及响应率这4个流量行为特征作为细粒度特征参数,通过对异常时间点细粒度特征参数进行分析,确定异常的目的IP.参数值变化比率R定义如下: (3) (4) 算法2.异常目的IP监测算法. 输入:与异常时间点相关的数据; 输出:与异常目的IP相关的数据. ① floatq=q0; ② 提取流量排名前N的目的IP; ③ 提取历史时间窗内该目的IP的子流; ④ 计算各流量行为特征参数及其变化比率; ⑤ ifR>p标记该目的IP为异常目的IP; ⑥ else 转到③; ⑦ end if 4) 综合分析异常流量的行为特征在异常时间点的变化,判断该异常流量是否为DDoS攻击. 5) 提取判断为DDoS攻击的特征参数,录入特征库. 2.2.2 DDoS检测算法 算法3.DDoS检测算法. ① 一个检测周期T内,收集诱骗失败节点的数据流,对其特征进行提取,写入表A中; ② 整理数据,约简去冗余; ③ 监测网络运行状态,若运行稳定,则在下一个检测周期继续进行监测;若网络出现异常,则与DDoS特征库进行对比,查询异常特征是否存在,若存在,则按现有方法隔离异常节点,过滤异常数据流,否则,转到④; ④ 对异常特征进行分类,使其关系清楚,判断阈值是否小于T0,若否,重复④; ⑤ 根据异常特征确定并定位攻击节点,通知其他内部节点,停止与攻击节点进行通信; ⑥ 对于未知DDoS并对网络造成异常的攻击,进行粗糙集的判断、决策,并提取特征,将异常特征写入特征库等待进入下一检测周期,图2为DDoS检测示意图: 其中利用粗糙集[18]对未知DDoS进行判断、决策.粗糙集是一种处理不确定性的方法,其主要思想是利用已有的知识库系统,将不确定、模糊的知识用已知的知识库系统中的知识数据来刻画或者近似刻画要处理的问题. 为了验证本文提出的基于生物免疫原理检测方法的性能,我们对其进行了测试,实验采用CPU Intel Q8200、内存6 GB、显卡AMD 5750的配置,在仿真软件NS2[19]的环境300 m×300 m的区域设置了50个攻击源节点、5个服务器节点(同网段),攻击节点模拟DDoS攻击.其中攻击源IP设置为192.168.1.101至192.168.1.150,服务器节点设置为192.168.2.101至192.168.2.105.本实验使用Abilence网络[20]1osa汇接节点上的网络数据,使用Netflow协议对网络流量数据进行采样,采样率为1%. 为了测试本文方法的有效性,设置了使用DDBIP和未使用DDBIP的对比实验,如图3所示,由图3可知未使用本文方法时,攻击连接数随着时间的变化不断上升,最终达到饱和,而使用本文方法后,连接数有一个上升的过程,随着时间变化,经过学习训练一段时间后,连接数逐渐下降,最后趋于平稳. 由图4可以看出,当阈值在0.8左右时,检测率最高,约为98.5%,误检率最低,约为0.95%,此时效用性较好. 将本文方法与基于小波与信息熵的方法[21]和HsMM[22]方法的检测率和误检率作比较,如表1所示,可以发现本文方法较其他方法的检测率有一些提升,误检率大大降低,其中未使用本文方法的检测率为65.6%,是防火墙本身自带的DDoS检测起到部分作用. 表1 DDBIP和其他检测方法检测率、误检率对比 % 本文提出了一种基于生物免疫原理的DDoS攻击检测方法,利用信息熵、响应率和参数变化比率等方法进行特征提取,建立DDoS特征库,在此特征库的基础上通过DDoS检测算法实现对DDoS攻击的识别与过滤.实验结果证明该方法是可行、有效的,为DDoS攻击的检测与防范提供重要依据.3 实验结果
3.1 使用DDBIP和未使用DDBIP对比
3.2 阈值T0与检测率、误检率变化关系
3.3 DDBIP与其他方法的检测率、误检率对比
4 结束语