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攻擊也不難,徹底消除難。