根据以下异常现象在网络入侵监测系统建立相应规则,能够较准确地监测出DDoS攻击。
(1)根据分析,攻击者在进行DDoS攻击前总要解析目标的主机名,BIND域名服务器能够记录这些请求。由于每台攻击服务器在进行一个攻击前会发出PTR反向查询请求,也就是说在DDoS攻击前域名服务器会接收到大量的反向解析目标IP主机名的PTR查询请求。
(2)当DDoS攻击一个站点时,会出现明显超出该网络正常工作时的极限通讯流量的现象。现在的技术能够分别对不同的源地址计算出对应的极限值。当明显超出此极限值时,就表明存在DDoS攻击的通讯。因此,可以在主干路由器端建立ACL访问控制规则以监测和过滤这些通讯。
(3)特大型的ICP和UDP数据包。正常的UDP会话一般都使用小的UDP包,通常有效数据内容不超过10字节。正常的ICMP消息也不会超过64到128字节。那些尺寸明显大得多的数据包很有可能就是控制信息通讯用的,主要含有加密后的目标地址和一些命令选项。一旦捕获到(没有经过伪造的)控制信息通讯,DDoS服务器的位置就暴露出来了,因为控制信息通讯数据包的目标地址是没有伪造的。
(4)不属于正常连接通讯的TCP和UDP数据包。最隐蔽的DDoS工具随机使用多种通讯协议(包括基于连接的协议)通过基于无连接通道发送数据。优秀的防火墙和路由规则能够发现这些数据包。另外,那些连接到高于1024而且不属于常用网络服务的目标端口的数据包也是非常值得怀疑的。
(5)数据段内容只包含文字和数字字符(例如,没有空格、标点和控制字符)的数据包。这往往是数据经过BASE64编码后而只会含有BASE64字符集字符的特征。TFN2K发送的控制信息数据包就是这种类型的数据包。TFN2K(及其变种)的特征模式是在数据段中有一串A字符(AAA),这是经过调整数据段大小和加密算法后的结果。如果没有使用BASE64编码,对于使用了加密算法数据包,这个连续的字符就是“”。
(6)数据段内容只包含二进制和high-bit字符的数据包。虽然此时可能在传输二进制文件,但如果这些数据包不属于正常有效的通讯时,可以怀疑正在传输的是没有被BASE64编码但经过加密的控制信息通讯数据包(如果实施这种规则,必须将20、21、80等端口上的传输排除在外)。