作者丨小蔚
來源丨蔚可云(ID:wecloud_cn)
上網的時候,我們總能或多或少地聽到一些新聞,某某網站又遭遇DDoS攻擊了,十幾二十個小時,網站都沒辦法打開。似乎每一次DDoS的出現,都有大新聞。
2018年發生了有史以來最大的DDoS攻擊事件,黑客此次攻擊目標,是數百萬程序員使用的在線代碼管理服務平臺——Github,峰值高達1.35TB/S。受到攻擊后,服務器斷斷續續,無法訪問,好在20分鐘內防御措施才成功緩解。
兩年后幾乎同一時間,DDoS攻擊規模再創新高,亞馬遜在AWS Shield服務中,成功攔截了2.3Tbps的DDoS攻擊!
亞馬遜和Github算是比較幸運的,很多網站被DDoS攻擊后,都免不了癱瘓的命運。
2002年,雅虎、CNN、亞馬遜、eBay、ZDNet等網站,24小時內遭受到DDoS攻擊,部分網站癱瘓,僅亞馬遜和雅虎兩家公司,損失就高達110萬美元。
2007年,愛沙尼亞三周內遭遇三輪DDoS攻擊,總統府、議會、政府部門、主要政黨、主要媒體和大型銀行,全部癱瘓,北約頂級反網絡恐怖主義專家前往救援。
2016年,美國DNS服務商Dyn遭遇DDos攻擊,導致美國東海岸大量網站宕機,Twitter、Tumblr、Netflix、亞馬遜、Shopify、Reddit、Airbnb、PayPal和Yelp等網站無一幸免。
在國內,2020年年底,網易的戰網平臺,受到了一系列大型惡意DDoS攻擊,導致平臺頻繁斷線崩潰。
為什么防不住DDoS?
被DDoS攻擊的對象中,既有互聯網的大型企業,也有政府部門,按常理,他們在業界數一數二,為什么還會遭遇DDoS攻擊呢?難不成是因為技術水平較差?
其實這是由于網絡TCP/IP協議存在的天生缺陷導致的,可以說,只要互聯網用的還是TCP協議,那么DDoS就不會消失,而且還會不斷發展,越來越智能化,攻擊成本越來越低,進而更加泛濫。

DDoS是目前最強大、最難防御的攻擊方式之一,這是一個世界性的難題,只能防御,沒有辦法徹底解決。
什么是DDoS?
DDoS,全稱分布式拒絕服務攻擊(Distributed Denial of Service),它的攻擊目的,是讓指定目標,無法提供正常服務,甚至從互聯網上直接消失。遭受DDoS攻擊后,不僅正常用戶無法訪問網站,而且同時還會造成很大的經濟損失。

由于DDoS進行攻擊時,可以對源IP地址進行偽造,使得這種攻擊發生的時候,隱蔽性非常強,難以被檢測和防范。
DDoS攻擊,可以簡單地分成三種類型
攻擊帶寬
海量的數據包從互聯網的每一個角落蜂擁而來,堵塞IDC入口,讓各種強大的防御系統、應急流程毫無用武之地。就像城市堵車一樣,四面八方涌來的汽車,堵住了城市的每一條街道,只是其他車輛無法正常行駛。這種類型的攻擊,典型的代表是ICMP Flood和UDP Flood。
ICMP Flood
ICMP是Internet控制報文協議,它是TCP/IP協議族的一個子協議,用于IP主機、路由器之間傳遞控制消息,因此為攻擊者提供了極大的便利條件。
攻擊者在短時間內,向目標主機發送大量的ping包,消耗主機資源,主機資源耗盡后,就會癱瘓,無法提供服務。
UDP Flood
由于UDP協議是一種無連接的服務,所以只要開了一個UDP的端口,提供相關服務的話,攻擊者可發送大量偽造源IP地址的小UDP包,利用大量的UDP小包,沖擊DNS服務器或Radius認證服務器、流媒體視頻服務器。100k bps的UDP Flood通常就能將線路上骨干設備打癱,造成整個網段的癱瘓。
上面的兩種DDoS攻擊方式,技術含量比較低,攻擊效果基本取決于主機本身的性能,而且很容易被查到攻擊源頭,單獨使用已經不常見了。
攻擊系統
這類攻擊大多是利用協議缺陷,或者軟件本身存在的漏洞發起的,例如Slowloris攻擊、Hash沖突攻擊。
Slowloris攻擊
由于網頁服務器,對于并發的連接數都有一個上限。如果惡意占用這些連接不釋放,服務器就無法接收新的請求,導致拒絕服務。
Slowloris攻擊者以極低的速度,向服務器發送HTTP請求的方式,來達到這個目的。
混合型
既利用協議、軟件的漏洞,又具備海量的流量,例如SYN Flood攻擊、DNS Query Flood攻擊,是當前的主流攻擊方式。
SYN Flood
攻擊者會利用TCP協議的缺陷,發送大量偽造的TCP連接請求,進而使被攻擊方CPU滿負荷,或者內存不足。
SYN Flood攻擊是通過三次握手實現的。
三次握手:
- 1.攻擊者向被攻擊服務器,發送一個包含SYN標志的TCP報文,SYN即同步報文。同步報文會指明客戶端使用的端口以及TCP連接的初始序號,第一次握手達成。
- 2.受害服務器在收到攻擊者的SYN報文后,將返回一個SYN+ACK的報文,表示攻擊者的請求被接受,同時,TCP序號被加一,ACK即確認。第二次握手達成。
- 3.攻擊者也返回一個確認報文ACK給受害服務器,同樣TCP序列號被加一,到此一個TCP連接完成,三次握手完成。

在這三次握手中,如果有一個用戶,向服務器發送了SYN報文后,突然掉線或者死機,此時服務器將無法收到客戶端的ACK報文,服務器端一般會嘗試重試。
等待一段時間后,還無法建立鏈接,才會丟棄這個未完成的連接,這個時間一般在30秒-2分鐘左右。
攻擊者就是通過大量模擬這種情況,通過偽裝大量的IP地址,給服務器發送SYN報文,由于偽裝的IP地址不存在,也就沒有設備會給服務器返回任何應答,致使服務器端出現非常多的半連接列表,從而消耗大量的資源,進而癱瘓,無法響應。
這是目前最主流的DDoS攻擊方式之一。
DNS Query Flood
DNS作為互聯網的核心服務之一,自然成為了DDoS的一大攻擊目標。
攻擊者通過大量的傀儡機,對目標發起海量的域名查詢請求,通常請求解析的域名,都是隨機生成,或者根本不存在的域名。被攻擊的DNS服務器收到解析請求后,會先查找是否有對應的緩存,如果找不到,并且服務器無法直接解析,DNS服務器就會向其上層DNS服務器,遞歸查詢域名信息。
這一域名解析的過程,會給服務器帶來很大的負載,當每秒解析域名的請求太多,超出了一定數量,就會導致DNS服務器解析域名超時,拒絕服務。
上述的幾種DDoS攻擊方式,基本上都能做到有效的防御,比如各大云服務商產品,再比如蔚可云的DDoS云清洗服務,可以實時監測,并清洗SYN Flood、UDP Flood等各種形式的DDoS攻擊。
真正讓互聯網企業頭疼的,是CC攻擊。
CC
像SYN Flood和DNS Query Flood這類攻擊,都需要用root權限,控制大量的傀儡機,很耗費時間和精力,而且期間容易被發現,導致攻擊者資源損耗快,又無法得到快速補充,攻擊預期往往比較低,而CC攻擊則不同。
使用CC攻擊,攻擊者不需要控制大量的傀儡機,而是通過匿名代理,對攻擊目標發起HTTP請求。
而且CC攻擊,是在HTTP層發起的,極力模仿正常用戶的網頁請求行為,往往與網站的業務緊密相關,很多云服務商,很難提供一套通用,而且不會影響用戶體驗的方案。方案一旦誤殺正常用戶,帶來的傷害會遠高于攻擊本身帶來的傷害。
CC攻擊還會引起嚴重的連鎖反應,導致前端響應緩慢,還會間接攻擊到后端等業務邏輯,以及數據庫服務,甚至對日志存儲服務器帶來影響。
DDoS云清洗服務,也可以抵御CC攻擊,目前 DMS 單節點抗攻擊能力可達 800Gbps,同時 DMS 的智能調度中心能夠根據攻擊情況智能調度全網資源,總體抗攻擊能力達到 15Tbps+。
以上就是幾種常見的DDoS攻擊類型,下課啦~