DDOS的攻擊原理和如何防護網站和游戲惡意攻擊


                                                                        DDOS的攻擊原理和如何防護網站和游戲惡意攻擊

               


   1-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攻擊進行敲詐的惡性案件,攻擊者竟然是上海一家經營防火牆的正規公司.

 

四、DDos攻擊種類
   DDoS攻擊原理大致分為以下三種:
   1.通過發送大的數據包堵塞服務器帶寬造成服務器線路癱瘓;
   2.通過發送特殊的數據包造成服務器TCP/IP協議模塊耗費CPU內存資源最終癱瘓;
   3.通過標准的連接建立起連接后發送特殊的數據包造成服務器運行的網絡服務軟件耗費CPU
內存最終癱瘓(比如WEB SERVER、FTP SERVER、 游戲服務器等)。
DDoS攻擊種類可以分為以下幾種:
   由於肉雞的木馬可以隨時更新攻擊的數據包和攻擊方式,所以新的攻擊更新非常快這里我們
介紹幾種常見的攻擊的原理和方法
   1.SYN變種攻擊
發送偽造源IP的SYN數據包但是數據包不是64字節而是上千字節,這種攻擊會造成一些防火牆處理
錯誤導致鎖死,消耗服務器CPU內存的同時還會堵塞帶寬。
   2.TCP混亂數據包攻擊
發送偽造源IP的 TCP數據包,TCP頭的TCP Flags 部分是混亂的可能是syn ,ack ,syn+ack ,syn
+rst等等,會造成一些防火牆處理錯誤導致鎖死,消耗服務器CPU內存的同時還會堵塞帶寬。
   3.針對UDP協議攻擊
很多聊天室,視頻音頻軟件,都是通過UDP數據包傳輸的,攻擊者針對分析要攻擊的網絡軟件協議
,發送和正常數據一樣的數據包,這種攻擊非常難防護,一般防護牆通過攔截攻擊數據包的特征
碼防護,但是這樣會造成正常的數據包也會被攔截,
   4.針對WEB Server的多連接攻擊
通過控制大量肉雞同時連接訪問網站,造成網站無法處理癱瘓,這種攻擊和正常訪問網站是一樣
的,只是瞬間訪問量增加幾十倍甚至上百倍,有些防火牆可以通過限制每個連接過來的IP連接數
來防護,但是這樣會造成正常用戶稍微多打開幾次網站也會被封
   5.針對WEB Server的變種攻擊
通過控制大量肉雞同時連接訪問網站,一點連接建立就不斷開,一直發送發送一些特殊的GET訪問
請求造成網站數據庫或者某些頁面耗費大量的CPU,這樣通過限制每個連接過來的IP連接數進行防
護的方法就失效了,因為每個肉雞可能只建立一個或者只建立少量的連接。這種攻擊非常難防護
,后面給大家介紹防火牆的解決方案
   6. 針對WEB Server的變種攻擊
通過控制大量肉雞同時連接網站端口,但是不發送GET請求而是亂七八糟的字符,大部分防火牆分
析攻擊數據包前三個字節是GET字符然后來進行http協議的分析,這種攻擊,不發送GET請求就可
以繞過防火牆到達服務器,一般服務器都是共享帶寬的,帶寬不會超過10M ,所以大量的肉雞攻擊
數據包就會把這台服務器的共享帶寬堵塞造成服務器癱瘓,這種攻擊也非常難防護,因為如果只
簡單的攔截客戶端發送過來沒有GET字符的數據包,會錯誤的封鎖很多正常的數據包造成正常用戶
無法訪問,后面給大家介紹防火牆的解決方案
   7.針對游戲服務器的攻擊
因為游戲服務器非常多,這里介紹最早也是影響最大的傳奇游戲,傳奇游戲分為登陸注冊端口
7000,人物選擇端口7100,以及游戲運行端口7200,7300,7400等,因為游戲自己的協議設計的非常
復雜,所以攻擊的種類也花樣倍出,大概有幾十種之多,而且還在不斷的發現新的攻擊種類,這
里介紹目前最普遍的假人攻擊,假人攻擊是通過肉雞模擬游戲客戶端進行自動注冊、登陸、建立
人物、進入游戲活動從數據協議層面模擬正常的游戲玩家,很難從游戲數據包來分析出哪些是攻
擊哪些是正常玩家。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM