DDoS近年来广泛被采用并有泛滥的趋势。DDOS攻击中,入侵者利用成百上千个被控制的节点向受害目标进行大规模的协同攻击,像在淹没受害的主机或网络。由于入侵来自很多节点,使得被入侵方的受害程度更加严重。同时这种入侵的范围更广,也更难于发现。
DDOS攻击系统基于服务器/客户机体系。在典型的DDOS攻击系统中,一个入侵者往往控制一个或几个主控端,再由其控制大量分布的代理端,这些代理端直接向受害节点泛洪数据包或实施其他dos入侵。
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
完成三次握手,客户端与服务器开始传送数据。DDoS攻击是利用TCP协议三次握手的缺陷进行的,当黑客要进行DDoS攻击时,他会操纵很多僵尸主机向被攻击的服务器发送SYN数据包,当服务器回复ACK确认包后,僵尸主机不再回应,这样服务器就会保持这个半连接的存在进行等待。每一个这样的半连接都会耗费服务器的资源,如果有数量极大的半连接,服务器就会停止正常工作,
DDOS攻击的流程如下
第一步,探测扫描大量主机以寻找可入侵主机目标。
第二步,入侵有安全漏洞的主机并获取控制权,比如说RPC服务中rpc.statd、rpc.cmsd等漏洞。
第三步,在每台被侵入的主机中安装入侵成成。
第四步,利用侵入的主机继续进行扫描和入侵。
第五步,利用入侵的主机攻击目标。
总之,DDOS攻击并不难,但防御ddos攻击也不难,彻底消除难。