酷知百科網

位置:首頁 > 遊戲數碼 > 電腦

DDoS的攻擊實例

電腦2.36W

SYN攻擊是DDoS攻擊的一種,它利用TCP協議缺陷,透過發送大量的半連接請求,耗費CPU和內存資源。TCP協議建立連接的時候需要雙方相互確認資訊,來防止連接被僞造和精確控制整個數據傳輸過程數據完整有效。所以TCP協議採用三次握手建立一個連接,下面簡單講解一下。

操作方法

(01)SYN-Flood是目前最流行的DDoS攻擊手段,早先的DoS的手段在向分佈式這一階段發展的時候也經歷了浪裏淘沙的過程。SYN-Flood的攻擊效果最好,應該是衆黑客不約而同選擇它的原因吧。

DDoS的攻擊實例

(02)Syn Flood利用了TCP/IP協議的固有漏洞。面向連接的TCP三次握手是Syn Flood存在的基礎。如圖,客戶端向服務端提出連接請求。這時TCP SYN標誌置位。客戶端告訴服務端序列號區域合法,需要檢查。客戶端在TCP報頭的序列號區中插入自己的ISN。服務端收到該TCP分段後,在第二步以自己的ISN迴應(SYN標誌置位),同時確認收到客戶端的第一個TCP分段(ACK標誌置位)。在第三步中,客戶端確認收到服務端的ISN(ACK標誌置位)。到此爲止建立完整的TCP連接,開始全雙工模式的數據傳輸過程。

DDoS的攻擊實例 第2張

(03)假設一個用戶向服務器發送了SYN報文後突然死機或掉線,那麼服務器在發出SYN+ACK應答報文後是無法收到客戶端的ACK報文的(第三次握手無法完成),這種情況下服務器端一般會重試(再次發送SYN+ACK給客戶端)並等待一段時間後丟棄這個未完成的連接,這段時間的長度我們稱爲SYN Timeout,一般來說這個時間是分鐘的數量級(大約爲30秒-2分鐘);一個用戶出現異常導致服務器的一個線程等待1分鐘並不是什麼很大的問題,但如果有一個惡意的攻擊者大量模擬這種情況,服務器端將爲了維護一個非常大的半連接列表而消耗非常多的資源----數以萬計的半連接,即使是簡單的儲存並遍歷也會消耗非常多的CPU時間和內存,何況還要不斷對這個列表中的IP進行SYN+ACK的重試。實際上如果服務器的TCP/IP棧不夠強大,最後的結果往往是堆棧溢出崩潰---即使服務器端的系統足夠強大,服務器端也將忙於處理攻擊者僞造的TCP連接請求而無暇理睬客戶的正常請求(畢竟客戶端的正常請求比率非常之小),此時從正常客戶的角度看來,服務器失去響應,這種情況我們稱做:服務器端受到了SYN Flood攻擊。

DDoS的攻擊實例 第3張
標籤:DDoS 實例 攻擊