技术资料

DDoS攻击全面解析



一 前言

DDOS全名是Distribution Denial of Service (分布式拒绝服务攻击),很多DOS攻击源一起攻击某台 服务器就组成了DDOS攻击.在中国,DDOS 最早可追溯到1996年,2002年开发频繁出现,2003年已经初具规模.当 时网络带宽普遍比较小,攻击量一般都不会超过100M,国内几乎没有防护的方法和产品. 而且攻击源IP都是伪造的,无法 找到攻击源.一个硬件配置很好的网站,每秒几兆的攻击量就可以完全瘫痪,破坏力相当惊人.由于开发防护产品需要接管网络 底层控制,和分析处理TCP/IP协议要求较高的技术门槛,当时在国内的众多安全厂商里面,只有傲盾和黑洞两家推出了专门防护DDOS攻击的产品。

DDOS攻击经过黑客多年的不断的技术积累到今天已经变化多种多样攻击形势,攻击内容和以前有了很大的改变,新 的变种攻击也几乎每月都会有,这篇文章会彻底分析攻击原理,通过攻击案例具体分析实际攻击,力图让读者从中找到解决针对自己网络的有效解决办法


二 DDoS攻击原理

我们先来研究最常见的SYN攻击, SYN攻击属于DOS Denial of Servic攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求, 耗费CPU和内存资源。TCP协议建立连接的时候需要双方相互确认信息,来防止连接被伪造和精确控制整个数据传输过程数据完整有效。所以TCP协议采用三次握手建立一个连接。

第一次握手:建立连接时,客户端发送syn包到服务器,并进入SYN_SEND状态,等待服务器确认;

第二次握手:服务器收到syn包,确认客户的SYN 同时自己也发送一个SYN包 即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

SYN攻击利用TCP协议三次握手的原理,大量发送伪造源IP的SYN包,也就是伪造第一次握手数据包,服务器每接 收到一个SYN包就会为这个连接信息分配核心内存并放入半连接队列,如果短时间内接收到的SYN太多,半连接队 列就会溢出,操作系统会把这个连接信息丢弃造成不能连接,当攻击的SYN包超过半连接队列的最大值时,正常的客 户发送SYN数据包请求连接就会被服务器丢弃. 每种操作系统半连接队列大小不一样,所以抵御SYN攻击的能力也不 一样。那么能不能把半连接队列增加到足够大来保证不会溢出呢,答案是不能,每种操作系统都有方法来调整TCP模块 的半连接队列最大数,例如Win2000操作系统在注册表 HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters里 TcpMaxHalfOpen,TcpMaxHalfOpenRetried ,Linux操作系统用变量tcp_max_syn_backlog来 定义半连接队列的最大数。但是每建立一个半连接资源就会耗费系统的核心内存,操作系统的核心内存是专门提供给系统内核 使用的,核心内存不能进行虚拟内存转换,因此是非常紧缺的资源.以windows2000系统为例,当物理内存是4g的时候 核心 内存只有不到300M,系统所有核心模块都要使用核心内存,所以能给半连接队列用的核心内存非常少。

根据傲盾公司实验室测试:
测试环境:Windows 2003操作系统默认安装
硬件配置:P4 3.0 (925),1GDDR2 内存, 160GBSATA硬盘
攻击强度:WEB SERVER的80端口每秒钟接收5000个SYN数据包
测试结果:一分钟后网站陷于瘫痪.web页面无法打开
标准SYN数据包64字节, 5000个攻击包等于 5000*64 *8(换算成bit)/1024=2500K,即 2.5M带宽, 从上面的实验情况我们看样看到,非常小的带宽攻击可以造成的巨大危害,这种危害足可以瘫痪一个配置良好带宽充足的 web服务器,并且由于攻击包的源IP是伪造的,很难追查到攻击源,导致攻击者肆无忌惮.最终结果是这种SYN攻击在互联网泛滥,给正常的网络运营造成极大的威胁.

三 DDoS攻击发展以及其趋势

近几年由于宽带的普及,很多网站开始盈利,其中很多非法网站利润巨大,造成同行之间互相攻击.同时windows 平台的大量漏洞被公布, 流氓软件,病毒,木马大量充斥着网络,有些网络知识的人可以很容易的非法入侵并控制大量的个人计算机来发起DDoS攻击从中谋利.更 可怕的情况是高利益的驱使已经是DDoS攻击演变成非常完善的产业链, 出售DDoS攻击已经成为互联网上的一种半公开商业行为. 攻击 者首先在大流量网站的网页里注入病毒木马,此木马可以通过windows平台的漏洞感染浏览网站的人,浏览者一旦中了木马,这台计算机 就会被后台操作的人控制,这台计算机也就成了所谓的”肉鸡”,每天都有人专门收集”肉鸡”然后以几毛到几块的一只的价格出售,购买者遥 控这些肉鸡攻击服务器。根据有关部门的不完全推测,这种地下链条所带来的非法收入高达几十亿人民币.还有一部分人利用DDoS网络攻击来 敲诈钱财,近期北京海淀警方就破坏一切利用DDoS攻击进行敲诈的恶性案件,攻击者竟然是上海一家经营防火墙的正规公司(京华时报 2007年7月24日报道).


四总结

现在网络发展速度飞快,新攻击每个星期都会有,传统的防火墙只能通过设置传统的规则封IP,端口,封连接数或者按照连接的一些基 本特征来封锁,很难对新的攻击做出第一时间的解决方案,通过核心升级这种方法效率太低而且每次都要段网。防火墙和攻击是矛和盾 的关系,防火墙必须做到像杀毒软件一样有迅速处理的机制才能真正把新攻击扼杀到摇篮之中,市面上有很少几款防火墙提供了漏洞规则 脚本编辑,和包分析功能,通过包分析可以迅速的抓去新的攻击数据包,然后在漏洞规则脚本编辑里可以任意定制针对数据包,针对数据连 接针对应用层协议的规则,通过多个子规则互相组合几乎可以防护90%的新攻击。攻击和防护不断斗争进化希望未来的网络可以彻底解决攻击迎接新的网络时代的到