什麼是 DDOS

收藏待读

什麼是 DDOS

什麼是 DDOS

什麼是 DDOS

DDOS(Distributed Denial of Service),即分佈式拒絕服務,是一種針對於網絡服務的攻擊行為。對於 DDOS 我們可以這樣通俗地理解,假如有一家商店在售賣商品,突然涌過來一大幫人說要買東西,這裏面有的人是真正的顧客,有的人只是過來搗亂的,但是售貨員可能就會崩潰了(不知道該賣給誰),就會導致一種拒絕服務攻擊了。而分佈式拒絕服務攻擊,則是因為黑客控制了很多台肉雞來發動攻擊。這種攻擊近些年來越來越流行,對於攻擊者來說,成本小,但是相對收益大,對於受害者來說,造成的傷害卻是巨大的。因為對於服務提供者來說,一旦服務不可用,就會造成不可挽回的損失,可能會導致用戶量的流失。根據騰訊雲發佈的《2018年泛互聯網行業DDoS攻擊態勢報告》,2018年 DDOS 攻擊已經進入 TB 時代,2018 年的攻擊峰值為 1.23Tbps(同比增長121%),而業界的攻擊峰值更是達到驚人的 1.94Tbps。

有人說對於 DDOS 攻擊,有錢的話,就死命擴容,沒錢的話,就忍一忍。雖然是玩笑話,但是有一定的道理。最近也是自己了解 DDOS 攻擊這一塊知識,下面簡單介紹一下自己看到的一些。

DDOS 攻擊類型

常見的 DDOS 攻擊主要包括以下幾類:網絡層攻擊、傳輸層攻擊、會話層攻擊以及應用層攻擊。

傳輸層 DDOS 攻擊

傳輸層 DDoS 攻擊一般是針對於 TCP 以及 UDP 協議地攻擊,主要是指 Syn Flood,Ack Flood,UDP Flood,ICMP Flood、RstFlood 等攻擊。

以最常見的 DDOS 攻擊 Sync Flood 為例,它利用了 TCP 協議的三次握手機制,當服務端接收到一個 Syn 請求時,服務端必須使用一個監聽隊列將該連接保存一定時間。因此,通過向服務端不停發送 Syn 請求,但不響應 Syn+Ack 報文,從而消耗服務端的資源。當等待隊列被佔滿時,服務端將無法響應正常用戶的請求,達到拒絕服務攻擊的目的。

DNS DDoS 攻擊

DNS 服務對於企業來說是比較重要的,因此針對 DNS 服務的 DDOS 攻擊也是比較常見的。DNS DDoS 攻擊主要是指 DNS Request Flood、DNS Response Flood、虛假源+真實源 DNS Query Flood、權威服務器和 Local 服務器攻擊。

以 DNS Query Flood 攻擊為例,其本質上執行的是真實的 Query 請求,屬於正常業務行為。但如果多台肉雞同時發起海量的域名查詢請求,對服務端來說則無法為正常的 Query 請求返回結果,從而導致拒絕服務。

連接型DDoS攻擊

連接型 DDoS 攻擊主要是指TCP慢速連接攻擊,連接耗盡攻擊,Loic,Hoic,Slowloris,Pyloris,Xoic等慢速攻擊。

以 Slowloris 攻擊為例,其攻擊目標是 Web 服務容器的並發上限,當 Web 服務容器的連接並發數達到上限後,Web 服務即無法接受新的請求。具體來說,Web 服務接收到新的 HTTP 請求時,建立新的連接來處理請求,並在處理完成後關閉這個連接;如果該連接一直處於連接狀態,收到新的 HTTP 請求時則需要建立新的連接進行處理;而當所有連接都處於連接狀態時,Web 將無法處理任何新的請求。

Slowloris 攻擊利用 HTT P協議的特性來達到攻擊目的。HTTP 請求以 rnrn 標識 Headers 的結束,如果 Web 服務端只收到 rn ,則認為 HTTP Headers 部分沒有結束,將保留該連接並等待後續的請求內容。

Web應用層DDoS攻擊

Web應用層攻擊主要是指 HTTP Get Flood,HTTP Post Flood,CC 等攻擊。

通常應用層攻擊完全模擬用戶請求,類似於各種搜索引擎和爬蟲一樣,這些攻擊行為和正常的業務並沒有嚴格的邊界,難以辨別。

Web 服務中一些資源消耗較大的事務和頁面(例如,Web 應用中的分頁和分表,如果控制頁面的參數過大,頻繁的翻頁將會佔用較多的 Web 服務資源)。尤其在高並發頻繁調用的情況下,類似這樣的事務就成了早期 CC 攻擊的目標。

由於現在的攻擊大都是混合型的,摻雜在正常的業務中,因此一般存在模擬用戶行為的頻繁操作都可以被認為是 CC 攻擊。但總體來說,CC 攻擊這類應用層的攻擊特點,是和業務應用邊界模糊。例如,各種刷票軟件對網站的訪問,從某種程度上來說就是CC攻擊。

CC 攻擊瞄準的是 Web 應用的後端業務,除了導致拒絕服務外,還會直接影響 Web 應用的功能和性能,包括 Web 響應時間、數據庫服務、磁盤讀寫等,都會導致功能和性能的異常。

面對 DDOS,我們能做些什麼

擴容,這似乎是最簡單,最粗暴,也是最有效的解決辦法。因為只要你的應用地服務能力始終在 DDOS 攻擊之上,那麼你的服務就可以從容應對 DDOS 攻擊。但,擴容是要錢的,所以無限擴容理論上也不是現實的,而且如果你的服務還沒有上雲,還不能夠做到快速擴容,還是有很大問題的。面對與不同的 DDOS攻擊類型,需要不同的應對方法。

以國內抗 DDOS 設備為例,作為國內的主流網絡設備供應商,其抗 DDOS 主要針對網絡包的分析。主要防護策略主要是針對於不同協議的防護策略:包括 TCP 防護策略, UDP 防護策略, HTTP(HTTPS) 防護策略以及 DNS 防護策略。針對不同的網絡協議,也有不同的攻擊類型,主要防護策略都是結合對源 IP 包的分析,發現異常包,以及訪問頻率超過異常的包,從而來進行防護。但是這種防護策略針對於應用層的攻擊顯得就不是那麼有效了,而且有可能會造成對正常用戶的誤傷。

WAF(網絡應用防火牆),作為這幾年越來越流行的網絡安全設備,似乎成為了企業安全的鎮妖法寶。要是哪個企業出門說自己還沒有上 WAF,出門肯定會被別人嘲笑。但是 WAF 真的不是靈丹妙藥,如果說是把 WAF 拿做來抵抗 DDOS,是有一定的效果,但是 WAF 並不是用於解決 DDOS,它還是主要用於防範主流的安全攻擊,比如 SQL 注入, XSS, 文件包含等等。當然,目前不少 WAF 廠商可能宣揚可以防護 DDOS,某個國外 WAF 廠商的確很厲害,上了的確有立竿見影的效果,但是指望它能解決一切問題,可能就不太現實了。

說一千到一萬,防護 DDOS 還是需要應用本身來做出優化。如果你的應用做的足夠好,架構足夠合理,那麼你系統能夠承載的訪問量也會大大提升。針對於應用的提升也是多方面的:包括系統服務的瘦身,減少每次請求資源的消耗;包括前端方面的優化,包括資源體積的壓縮;靜態資源 CDN 化,將靜態資源部署到 CDN 上,從而避免對自身服務器資源的消耗。

DDOS 攻擊類型是多種多樣的,而往往黑客的攻擊它地攻擊方式是多種多樣的,精細化的。如果只有一種攻擊方式,那麼就很好防護了,你只要使用一種防護策略就可以了。但是人家一旦使用組合拳,你就頭大了,你就必須想出足夠好、足夠合理的防護策略。這種防護的過程將會是一個相互鬥爭的過程。

Reference

  • https://help.aliyun.com/document_detail/28401.html?spm=a2c4g.11186623.6.549.15c03c37UOcTM6

  • https://mp.weixin.qq.com/s?__biz=MjM5MDgwMzc4MA==&mid=2654867427&idx=1&sn=d09df0b09ec445005ed462507ce144e7&chksm=bd759dc88a0214de61c6a143b093a45fb08c6f6565b6930df6a6c9e191d709a2e708d585b15b&mpshare=1&scene=1&srcid=0104D90WcK7mHAPRN0Dyd39V#rd

原文 :

相關閱讀

免责声明:本文内容来源于mp.weixin.qq.com,已注明原文出处和链接,文章观点不代表立场,如若侵犯到您的权益,或涉不实谣言,敬请向我们提出检举。