在分析完上述有效的DDoS攻击的工具后,我们可以发现DDoS攻击具有如下的特征:
①数据包的源IP地址被设成随机的;
②数据包的源端口和目的端口被设成随机的;
③一些标志位(URG,ACK),片断,TCP属性,TTL和客户端的SEQ序列号由伪随机数生成器产生。
DDoS攻击不需破解密码,也不要窃取系统资料,只要在网络上的任一角落都可以发动攻击。DDoS攻击由来自不同的源地址的数据包流组成,这类攻击控制Internet上合作的主机来耗尽目标机一些关键资源使得服务器合法用户的请求被拒绝。更重要的是,DDoS攻击流没有很明显的特征能够用来直接和大规模的检测和过滤。
3、基于RBF-NN的实时监测DDoS攻击的模型
3.1、模型概述
实时监测模型包括三个模块:
1)数据采集器
因为TCP协议是应用最广泛的协议而且WWW是Internet上应用最广的服务。所以这个模型是针对TCP洪水攻击的,当然这种模型也可以用到UDP和ICMP协议中。
TCP数据报格式如图2所示。

图2 TCP数据报格式
数据采集器用sniffer嗅探器抓到每个数据包的如下字段:源端口号,客户端的SEQ序列号,窗口大小,和SYN,ACK,FIN,PSH,URG,RST六个标志位。同时把每个数据包的时间戳也记录下来以便把数据包分到重叠的时间帧中。不同的源端口和窗口大小的数目用来评估每一个时间帧。SEQ序列号是由客户端产生的32位的随机数作为TCP连接的认证。估算出不同的SEQ序列号需要很大的存储空间和计算能力。实验结果显示,尽管客户端的SEQ序列号不同,但是用高16位足够可以估算出SEQ序列号的特征。16位可以存储65535字节长的信息。
每一时间帧的统计信息是来自下面六个标志出现时被设置的频率:SYN,ACK,FIN,PSH,URG,RST。实验显示,这些标志在DDoS攻击的出现时提供了重要的信息。
需要强调的是尽管源IP地址提供了重要的信息,但在采集过程中没有用到,主要是基于以下几方面的原因:
①它需要很高的计算能力来存储每个地址;
②它不能够提供有关包长度的信息;
③IP源地址可能已经被更改,而被设置成随机的地址;
由TCP/IP传输的数据包中的其它一些域例如Time- To-Live域,就没有包含关于DDoS攻击出现时的信息,所以也不记录。
2)特征估计器
用六个标志位出现的频率,源端口的地址,SEQ序列号和窗口大小来评估每个时间帧。六个标记的每个时间帧的统计特性是每个标记被设置的概率。用源端口,SEQ序列号和窗口大小的每个时间帧的数据包的总数来划分不同的值。
3)DDoS检测器
每个时间帧用9个特征向量来激活有两个输出的基于RBF的神经网络。最活跃的输出神经元检测出DDoS攻击的出现,或者判断出时间帧是常规的流量。研究显示,少量的隐单元用来检测DDoS攻击就能够获得很高的检测效率。

