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

DDoS是目前最強(qiáng)大、最難防御的攻擊方式之一,這是一個(gè)世界性的難題,只能防御,沒(méi)有辦法徹底解決。
什么是DDoS?
DDoS,全稱(chēng)分布式拒絕服務(wù)攻擊(Distributed Denial of Service),它的攻擊目的,是讓指定目標(biāo),無(wú)法提供正常服務(wù),甚至從互聯(lián)網(wǎng)上直接消失。遭受DDoS攻擊后,不僅正常用戶(hù)無(wú)法訪問(wèn)網(wǎng)站,而且同時(shí)還會(huì)造成很大的經(jīng)濟(jì)損失。

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

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