DDOS全稱Distributed Denial of Service,翻譯成中文是‘分布式拒絕服務’,DDOS攻擊是安全領域最難解決的問題之一,由于其攻擊方式的特殊性,始終沒有一個完美的解決方案,隨著萬物互聯時代的臨近,網路設備的數量呈指數型增長,DDOS攻擊將會成為一個巨大的威脅!!!

DDOS攻擊詳解
- DDOS概述
- DDOS攻擊的優勢
- DDOS攻擊分類
- 資源消耗類攻擊
- SYN Flood
- 服務消耗類攻擊
- 應用層DDOS攻擊
- 反射類攻擊
- 資源對抗
DDOS概述
DDOS通過拒絕服務的方式來消耗服務器的資源,比如,一間自習室總共有500個座位,當座位全部坐滿人以后,再有同學想進來學習,就必須等里面有人出去才行,但如果里面的人一直賴著不走,那外面的同學就不能進去學習了,這種情況就是‘拒絕服務’,我們的服務器就像是一間自習室,服務器可用的資源就是座位,如果所有資源(座位)都被占滿了,那服務器將不能處理正常的用戶業務
實際場景中,攻擊者控制肉雞群(服務器,個人PC,智能手機,IP攝像頭)通過對目標發起大量的請求,從而導致目標服務器網路寬帶擁塞,無法正常提供業務,甚至造成服務器宕機
DDOS攻擊的優勢
- DDoS使用分布式來替代傳統的點對點的攻擊模式,沒有規律可言
- DDoS使用常見的協議和服務,并且會對資料包和源地址進行偽裝,很難進行檢測
- 相對于其他攻擊手段,DDoS的技術要求和攻擊成本很低,只需要購買部分服務器權限或控制一群肉雞即可,而且攻擊速度很快,效果明顯
- DDoS防守難度較大,服務商只有消耗大量的資源來處理這些攻擊請求才能保證客戶的正常業務請求,也正是由于這一特點,DDoS攻擊始終無法完全化解,在HW等攻防演練中是被明令禁止的
DDOS攻擊分類
常見的DDOS攻擊手段可分為三類:資源消耗類攻擊,服務消耗類攻擊,反射類攻擊
資源消耗類攻擊
典型的DDoS攻擊,最具代表性的包括:Syn Flood,Ack Flood,UDP Flood
這種攻擊的目標很簡單,就是發送大量的請求,消耗服務器的帶寬和協議堆疊處理資源的能力,使服務器無法處理客戶的正常業務
SYN Flood
SYN Flood是最經典的一種DDOS攻擊,屬于資源消耗類攻擊,發生在網路層,SYN Flood利用了TCP協議設計上的漏洞,而TCP/IP協議是整個互聯網的基礎,巨大的改動成本使得漏洞的修復幾乎成為不可能的事情
首先我們需要知道TCP的三次握手程序
- 客戶端向服務端發送一個請求的SYN資料包,告知服務端請求建立鏈接
- 服務端收到客戶端發送的SYN包后,回應一個SYN和ACK資料包,表示可以建立鏈接
- 客戶端收到服務端的回應的SYN和ACK資料包后,回傳一個ACK,同時鏈接建立成功

SYN Flood攻擊原理
使用SYN Flood攻擊時,會偽造大量的客戶端IP地址,同時向服務端發送大量的SYN包(也就是第一次握手),服務端收到請求后會回傳一個SYN/ACK資料包給客戶端,由于客戶端的IP地址是偽造的,服務端收不到回應,就會重試3-5次并等待一個SYN Time(30秒到2分鐘),直到超時才會丟棄這個連接,攻擊者大量且不間斷的發送這種偽造客戶端地址的SYN請求,服務器必須消耗巨大的資源來處理這種半連接,沒有多于的精力去處理正常的用戶請求,導致拒絕服務

服務消耗類攻擊
服務消耗類攻擊針對服務的特定進行定點打擊,比如web的CC,資料服務的檢索,檔案服務的下載等服務,使服務器始終處理高消耗性的業務,從而無法回應正常的業務
應用層DDOS攻擊
服務消耗性攻擊又稱為應用層DDOS攻擊,發生在連接建立以后,使用真實的客戶端IP地址,使用正常的用戶請求不斷的訪問資源消耗較大的業務(比如查詢資料庫,讀寫硬碟檔案等操作),從而消耗服務器的資源
針對這種攻擊可以針對客戶端的IP規定一個請求頻率的限制,比如一個客戶端在一定時間內請求過于頻繁,則拒絕請求

反射類攻擊
反射類攻擊以UDP協議為主,一般請求回應的流量要遠遠大于請求的流量,攻擊者通過流量放大的特點以較小的流量帶寬就可以制造出大規模的流量源
比如打電話給餐館說:‘我想訂一道菜,但我不知道我想吃啥,你把選單里的每一道菜都給我介紹以下,我看看我喜歡吃哪個’,幾乎不費吹灰之力,就能使服務器對客戶端產生很長時間的回應,從而達到消耗資源的目的
資源對抗
真正的勇士從來都是正面硬剛,或者說‘死扛’,通過增加大量服務器和帶寬資源,從容應對DDoS流量的效果
比如一間自習室有500個座位,來了一個惡霸帶了500個人霸占了座位,導致學生無法進去學習,著急的都快哭了,這時候老師帶來一群工人擴建自習室,由本來的500個座位增加到了5萬個,即使惡霸再次帶人來霸占座位,學生仍然有地方
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/301090.html
標籤:其他
上一篇:常見字串函式及模擬實作
下一篇:Django,啟航(一)相關準備
