DDoS类型的分布,64%为容量耗尽型攻击,18%为状态耗尽型攻击,APP应用层攻击也约为18%。 目前,攻击有SYN Flood、DNS流量攻击、CC攻击等比较多的。
1. SYN Flood
这从实现操作系统的TCP/IP协议栈开始。 TCP端口开放后,端口将进入侦听状态,并不断监视发送到端口的Syn消息。 一旦接收到来自客户端的Syn消息,就必须为该请求分配传输控制块( TCB )。 通常,TCB至少需要280字节。 在某些操作系统上,TCB需要1300个字节,然后返回SYN ACK命令立即转换为SYN-RECEIVED或半连接状态。 此外,在某些操作系统上,SOCK实现最多可以打开512个半开连接,例如Linux2.4.20内核。 该过程应如下图所示。

通过以上过程可以看出,向恶意服务器端口发送大量SYN数据包会导致服务器打开大量半开连接并分配TCB,从而消耗大量服务器资源,同时无法满足正常的连接请求。 攻击源的资源消耗相对可以忽略不计。
2. DNSQuery查询攻击
该攻击是UDP Flood的变形,因为DNS服务在互联网上具有不可替代的作用,所以如果DNS服务器宕机,影响会很大。
UDP DNS Query Flood攻击采用了向被攻击的服务器发送大量域名解析请求的方法。 通常,请求解析的域名是随机生成的,或者是网络上不存在的域名。 被攻击的DNS服务器在接收到域名解析请求时,会首先检查服务器是否有对应的缓存,如果找不到,服务器无法直接解析该域名,DNS服务器会递归查询其上级DNS服务器的域名信息。 域名解析过程会对服务器造成沉重负担,如果每秒域名解析请求超过一定数量,DNS服务器的域名解析将会超时。
根据微软的统计数据,一台DNS服务器所能承受的动态域名查询上限为每秒9000个请求。 另一方面,在一台PC1上,每秒可以简单地构筑数万个域名解析请求,可以减少硬件构成非常高的DNS服务器,可以看出DNS服务器的脆弱性。 还要注意,蠕虫的扩散会带来大量的域名解析请求。
3. CC攻击
CC攻击是基于APP应用层的HTTP协议发起的DD操作系统攻击也称为http软盘。
CC攻击利用代理服务器,将数据库查询等计算时间长的URL请求大量发送到网站,服务器进行大量计算后立即到达自己的处理能力形成DOS,攻击者向代理发送请求后,自行断开连接。 代理并不是因为客户端的连接被切断就不连接目标服务器,所以攻击机的资源消耗量比较少,在目标服务器看来,来自代理的要求都是合法的。