谁是DDoS攻击的狙击手
文:徐松泉
今年4月开始,一股黑客攻击狂潮席卷联众、完美时空等国内多家大型网络游戏公司。攻击造成经济损失达上千万元。黑客们采用DDOS攻击手段,在短时间内,发送大量数据造成网络拥堵。作案后,便消失于网络之中。从2000年黑客大规模攻击包括Yahoo、CNN、eBay在内的十多个著名网站开始,7年间DDOS攻击愈演愈烈,己经成为互联网上最严重的威胁之一。
那么,有没有防御DDOS攻击的有效办法呢?DDOS攻击的根源在于TCP/IP协议对安全性考虑的不足,因此解决问题的关键在于采用技术手段增强协议实现的安全性。以SYN Flood攻击为例,我们可以通过对其攻击原理及防御措施的分析,对DDOS防御的原理及技术手段做一个简要说明。
SYN Flood是一种最常见的DDoS攻击,攻击者利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻击的主机资源耗尽(CPU满负荷或内存不足)。通过缩短主机或主机之前防火墙的SYN Timeout时间设置,可以对SYN Flood攻击起到一定的防御效果,但是这种办法只适用于攻击频度不高的情况,而且过低的SYN Timeout设置可能会影响客户的正常访问。
NetEye FW5200-IP391/561的SYN Cookie功能提供了一种更高效地防御SYN Flood攻击的方式。防火墙使用含有加密cookie的SYN-ACK作为其“初始序列号”(ISN)来回复每个流入的SYN请求数据包。cookie是根据SYN数据包初始源地址和端口号、目标地址和端口号以及来自初始SYN数据包的ISN计算出的散列值。发送cookie后,防火墙将丢弃初始SYN数据包,并将计算出的cookie从内存中删除。
如果防火墙后续接收到了来自客户端的ACK响应,那么防火墙从ACK数据包中提取cookie,并验证其是否是合法的ACK。如果是合法的,防火墙将创建一个会话,并且构建一个TCP SYN发送给目标主机。当防火墙接收到来自目标主机的SYN-ACK后,防火墙会给目标主机发送一个ACK数据包。客户机与目标主机之间将建立正常的TCP连接,可以直接进行通信。
如果SYN数据包的发送端未对包含cookie的SYN-ACK做出任何响应,则可以认定这个SYN数据包是SYN攻击。由于防火墙没有为SYN攻击数据包分配任何资源,因此SYN攻击对防火墙没有造成任何影响,同时目标主机也不会受到SYN攻击的影响。
NetEye FW5200-IP391/561采用的SYN-cookie技术在连接建立过程中不需要在目标主机以及防火墙自身保存任何信息,巧妙地实现了无状态的三次握手,避免了在连接信息未完全到达前进行资源分配,使得SYN Flood攻击的资源消耗失效,从而能够有效的防御SYN Flood攻击。
除此而外,NetEye FW5200-IP391/561还可以防御多达数十种DOS和DDOS攻击,包括PingFlood、UDPFlood、Land攻击、SMURF攻击、TCP RST攻击、WinNuke攻击、Ping of Death攻击、会话表泛滥、Teardrop攻击等等,是大中型行业用户骨干网络防御外部DDOS攻击的有力武器。