DDOS攻擊總結


DDOS簡介

DDOS(Distributed Denial of Service),又稱分布式拒絕服務攻擊。駭客通過控制多個肉雞或服務器組成的僵屍網絡,對目標發送大量看似合法請求,從而占用大量網絡資源,癱瘓網絡,阻止用戶對網絡資源的正常訪問。

DDOS危害

出口帶寬堵死
游戲掉線導致客戶流失
服務器連接數多,連接資源被耗盡
服務器卡、慢、死機、無法連接

攻擊來源

高性能服務器配合發包軟件
可聯網的設備(如打印機、攝像頭、電視等等)
移動設備(數量多,增長速度快,其高性能利於組建僵屍網絡)
個人PC(存在漏洞的PC或一些黑客迷自願成為DDOS一員)
駭客控制的僵屍網絡(僵屍網絡又分為IRC型、HTTP型、P2P型)

DDOS原理及分類

消耗資源分類

DDOS按消耗的資源類型可分三類:網絡帶寬資源、系統資源、應用資源。

  1. 網絡帶寬資源: 直接攻擊、反射攻擊、攻擊鏈路

    • 直接攻擊

      使用大量受控主機直接向攻擊目標發送大量數據包,達到拒絕服務的目的。 常見的有ICMP/IGMP flood ,UDP flood

    • 反射攻擊

      攻擊者偽裝成受害人,欺騙路由器或服務器產生大量響應,進而攻擊受害者; ACK應答、DNS響應數據、NTP及SNMP等協議的響應數據可以成為攻擊方式。

    • 攻擊鏈路

      攻擊的目標不是互聯網端點的服務器的帶寬資源,而是骨干網上的鏈路的帶寬資源

  2. 系統資源DDOS 人為增加連接資源進行消耗和占用,阻止正常連接的建立,從而達到拒絕服務的目的。

    • 攻擊TCP鏈接

      SYN flood短時間內產生大量的TCP半開連接,實現攻擊

    • 攻擊SSL鏈接

      安全套接層SSL協議密鑰協商、加密和解密過程會消耗大量的系統資源,也成了攻擊目標。 攻擊者需要讓服務器不停的去解密和驗證,就能夠消耗服務器計算資源。

  3. 應用資源DDOS 由於DNS和WEB服務的廣泛性和重要性,這兩種服務也就成了DDoS的主要目標。

    • 攻擊DNS服務

      DNS query與DNS NXDOMAIN

    • 攻擊Web服務

      大量正常HTTP請求

      不完整的HTTP請求

      慢速的HTTP長連接

      構造惡意的HTTP請求

攻擊報文特征分類

根據報文特征可分為:畸形報文、傳輸層DDoS攻擊、WEB應用DDoS攻擊、DNS DDoS攻擊、連接型DDoS攻擊。

畸形報文

非標准的報文格式,有些機器解析這些報文時耗時很大,甚至出錯,更甚至崩潰。大量的這種報文對目標機器構成很大威脅。 有以下畸形包種類:frag flood,smurf,land flood攻擊,IP畸形包、TCP畸形包、UDP畸形包等。

  • frag flood:如果發送總長度超過65535字節的IP碎片,一些老的系統內核在處理的時候就會出現問題,導致崩潰或拒絕服務。如果分片之間偏移量經過精心構造,一些系統就無法處理。
  • smurf:修改目的地址,並發送ICMP echo廣播報文到一個網絡中,此網絡中的所有機器都發送ICMP echo-reply到目的地址機器,此機器遭到攻擊。
  • land flood:源、目的IP相同的IPv4報文,一個特別打造的SYN包中的源地址和目標地址都被設置成某一個服務器地址,這時將導致接受服務器向它自己的地址發送SYN-ACK消息,結果這個地址又發回ACK消息並創建一個空連接,每一個這樣的連接都將保留直到超時掉。
  • IP畸形包:數據包中的總長度、版本等錯誤。
  • TCP畸形包:構造的TCP SYN/SYN-ACK里的option和payload有錯誤,導致協議棧解析錯誤。
  • UDP畸形包:包長度和payload有錯誤。

傳輸層DDoS攻擊

通過大流量的方式對目標機器造成攻擊。有以下攻擊類型:SYN flood,SYN-ACK flood,ACK flood,FIN/RST flood,UDP flood,ICMP flood(這個屬於網絡層)等。

  • SYN flood:一個用戶向服務器發送SYN報文后,如果服務器在發出SYN-ACK報文后無法收到客戶端ACK報文,這種情況下服務器端一般會重發,並等待一段時間后丟棄這個未完成的連接,這段時間的長度我們稱為SYN timeout,一般來說這個時間是分鍾的數量級(大約為30秒到2分鍾)。一個用戶出現異常導致服務器的一個線程等待1分鍾並不是什么很大的問題,但如果有一個惡意的攻擊者大量的模擬這種情況,服務器端將為了維護一個非常大的半連接列表而消耗非常多的資源。即使是簡單的保存並遍歷也會消耗非常多的CPU時間和內存,何況還要不斷對這個列表中的IP進行SYN-ACK的重試。
  • SYN-ACK flood:SYN-ACK報文出現在第二次握手中,是用來確認第一次握手的。一方收到SYN-ACK報文后,首先會判斷該報文是不是屬於三次握手范疇之內的報文。如果都沒有進行第一次握手就直接收到了第二次握手的報文,那么就會向對方發送RST報文,告知對方其發來報文有誤,不能建立連接。SYN-ACK Flood攻擊正是利用了這一點,攻擊者利用工具或者操縱僵屍主機,向目標服務器發送大量的SYN-ACK報文,這些報文都屬於憑空出現的第二次握手報文,服務器忙於回復RST報文,導致資源耗盡,無法響應正常的請求。
  • ACK flood:在收到一個ACK報文時,如果目的端口未開放,系統會直接向源IP發送RST報文。如果端系統的相關端口是對外開放的,那么其在收到ACK報文時,首先會檢查這個ACK報文是否屬於TCP連接表中的一個已有連接(這個過程會對端系統主機CPU資源造成一定的消耗),如果是的話,則正常處理,如果不屬於任何一個已有連接,那么系統會向源IP發送RST報文。
  • FIN/RST flood:TCP交互過程中還存在FIN和RST報文,FIN報文用來關閉TCP連接,RST報文用來斷開TCP連接。這兩種報文也可能會被攻擊者利用來發起DDoS攻擊,導致目標服務器資源耗盡,無法響應正常的請求。
  • UDP flood:利用大量UDP小包沖擊DNS服務器或Radius認證服務器、流媒體視頻服務器。攻擊者發送大量的偽造源IP地址的小UDP包,因為是無連接性的協議,所以只要開了一個UDP的端口提供相關服務的話,那么就可以針對相關的服務進行攻擊。
  • ICMP flood:通過向目標發送大量的大包。

Web應用DDoS攻擊

針對WEB應用的DDoS攻擊類型可分為:HTTP GET flood, HTTP POST flood, CC攻擊等。

  • HTTP GET flood:攻擊者利用攻擊工具或者操縱僵屍主機,向目標服務器發起大量的HTTP GET報文,請求服務器上涉及數據庫操作的URI或其它消耗系統資源的URI,造成服務器資源耗盡,無法響應正常請求。
  • HTTP POST flood:攻擊者利用攻擊工具或者操縱僵屍主機,向目標服務器發起大量的HTTP POST報文,消耗服務器資源,使服務器無法響應正常請求,這就是HTTP POST Flood攻擊。
  • CC攻擊:CC攻擊利用代理服務器向網站發送大量需要較長計算時間的URL請求,如數據庫查詢等,導致服務器進行大量計算而很快達到自身的處理能力而形成DOS,而攻擊者一旦發送請求給代理后就主動斷開連接,因為代理並不因為客戶端這邊連接的斷開就不去連接目標服務器,因此攻擊機的資源消耗相對很小,而從目標服務器看來,來自代理的請求都是合法的。

DNS DDoS攻擊

域名作為廣大民眾訪問互聯網的起點和入口,是全球互聯網通信的基礎。域名解析系統作為承載全球億萬域名正常使用的系統,是互聯網的基礎設施。而域名系統又是一種公開服務,很容易被黑客作為攻擊的對象。域名系統的故障會導致互聯網陷入癱瘓,所以保護域名系統也變得至關重要。DNS DDoS攻擊類型有:DNS Request Flood、DNS Reply Flood和緩存投毒等。

  • DNS Request Flood:黑客偽造客戶端源IP發送大量的DNS請求報文,造成DNS request flood攻擊。DNS request flood是當前最常見的DNS攻擊,這類攻擊可以針對緩存服務器,也可以針對授權服務器。
  • DNS Reply Flood:DNS服務器收到DNS reply報文時,不管自己有沒有發出去過解析請求,都會對這些DNS reply報文進行處理。DNS reply flood就是黑客發送大量的DNS reply報文到DNS緩存服務器,導致緩存服務器因為處理這些DNS reply報文而資源耗盡,影響正常業務。
  • DNS反射攻擊:DNS反射攻擊是DNS reply flood的一種變異,顧名思義,黑客偽造源地址發起request,reply都返回到目標機器上。
  • DNS緩存投毒:緩存投毒攻擊就是黑客偽造了惡意的DNS reply報文,導致緩存服務器無意中將惡意的域名和IP地址映射關系存儲到自己的緩存中。當客戶端再通過緩存服務器請求這個域名解析時,就會被指向惡意主機。

連接型DDoS攻擊

連接型攻擊類型分為:TCP連接耗盡攻擊,TCP慢速連接攻擊,連接耗盡攻擊,loic, hoic, slowloris, Pyloris, xoic等慢速攻擊。

  • TCP連接耗盡攻擊:攻擊者與被攻擊目標完成三次握手后,立刻發送FIN或RST報文,釋放本端連接,同時快速發起新的連接,以此來消耗被攻擊目標的系統資源。
  • TCP慢速連接攻擊:攻擊者與被攻擊目標完成三次握手后,發送很少的報文來維持連接狀態,通過這種異常的TCP連接來消耗被攻擊目標的系統資源。攻擊者還會使用一些其他的攻擊手段,比如構造大量的並發連接、設置很小的TCP窗口、發送重傳報文等,其目的都是消耗被攻擊目標的系統資源。

參考:


免責聲明!

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



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