什么是DDoS攻擊
DDoS攻擊,指借助于C/S技術(shù),將多個(gè)計(jì)算機(jī)聯(lián)合起來(lái)作為攻擊平臺(tái),對(duì)一個(gè)或多個(gè)目標(biāo)發(fā)動(dòng)DoS攻擊,從而成倍地提高拒絕服務(wù)攻擊的威力。
通常,攻擊者將DDoS主控程序安裝在其所擁有的計(jì)算機(jī),或使用通過(guò)非法手段獲取到的帳號(hào),將DDoS主控程序安裝在其他已淪陷的計(jì)算機(jī)上,并將DDoS代理程序安裝在網(wǎng)絡(luò)上的許多已淪陷的計(jì)算機(jī)上。當(dāng)攻擊者意圖對(duì)被害業(yè)務(wù)系統(tǒng)發(fā)起DDoS攻擊時(shí),會(huì)通過(guò)DDoS主控程序與大量DDoS代理程序通訊。DDoS代理程序在收到DDoS主控程序的指令后就會(huì)立即發(fā)動(dòng)DDoS攻擊,從而造成被害業(yè)務(wù)系統(tǒng)網(wǎng)絡(luò)幾近癱瘓,甚至于出現(xiàn)宕機(jī)。利用客戶/服務(wù)器技術(shù),DDoS主控程序能在短短幾秒鐘內(nèi)發(fā)動(dòng)成千上萬(wàn)個(gè)DDoS代理程序進(jìn)行DDoS攻擊。
DDoS攻擊的危害
首先從一個(gè)現(xiàn)實(shí)生活環(huán)境的比方來(lái)深入理解什么是DDoS攻擊。
一家商鋪試圖讓對(duì)面那家有著競(jìng)爭(zhēng)關(guān)系的商鋪無(wú)法正常營(yíng)業(yè),他們會(huì)采取什么手段呢?一般會(huì)有如下幾步:
他們首先會(huì)雇傭一群馬仔,并讓這群馬仔們扮作普通客戶;
然后命令這群馬仔們一直擁擠在對(duì)手的商鋪,賴著不走,真正的購(gòu)物者卻無(wú)法進(jìn)入;
讓馬仔們總是和營(yíng)業(yè)員有一搭沒(méi)一搭的東扯西扯,讓商鋪的工作人員不能正常服務(wù)客戶;
也可以為商鋪的經(jīng)營(yíng)者提供虛假信息,商鋪的的工作人員上上下下忙成一團(tuán)之后,卻發(fā)現(xiàn)都是一場(chǎng)空,最終跑了真正的大客戶,損失慘重。
此外馬仔們完成這些壞事有時(shí)憑單干難以完成,需要叫上很多人一起。
網(wǎng)絡(luò)空間安全領(lǐng)域中DoS和DDoS攻擊也遵循著這些思路。
在網(wǎng)絡(luò)空間安全的三要素——"保密性"、"完整性"和"可用性"中,DoS攻擊,即拒絕服務(wù)攻擊,針對(duì)的目標(biāo)正是"可用性"。該攻擊方式利用目標(biāo)系統(tǒng)網(wǎng)絡(luò)服務(wù)功能缺陷或者直接消耗其系統(tǒng)資源,使得該目標(biāo)系統(tǒng)無(wú)法提供正常的服務(wù)。
常見(jiàn)的DDoS攻擊種類
DDoS攻擊的攻擊方式有很多種,最基本的DoS攻擊就是利用合理的服務(wù)請(qǐng)求來(lái)占用過(guò)多的服務(wù)資源,從而使合法用戶無(wú)法得到服務(wù)的響應(yīng)。單一的DoS攻擊一般是采用一對(duì)一方式的,當(dāng)攻擊目標(biāo)存在有CPU速度低、內(nèi)存小或者網(wǎng)絡(luò)帶寬小等等各項(xiàng)指標(biāo)不高的性能時(shí),它的效果是明顯的。隨著計(jì)算機(jī)與網(wǎng)絡(luò)技術(shù)的發(fā)展,計(jì)算機(jī)的處理能力迅速增長(zhǎng),內(nèi)存大大增加,同時(shí)也出現(xiàn)了超大規(guī)模的網(wǎng)絡(luò),這使得DoS攻擊的困難程度顯著加大了——目標(biāo)系統(tǒng)對(duì)惡意攻擊包的"消化能力"加強(qiáng)了不少。這時(shí)候DDoS攻擊就應(yīng)運(yùn)而生了。DDoS攻擊就是利用更多的傀儡機(jī)(肉雞)來(lái)發(fā)起進(jìn)攻,以比從前更大的規(guī)模來(lái)進(jìn)攻受害者的業(yè)務(wù)系統(tǒng),從而造成被害業(yè)務(wù)系統(tǒng)網(wǎng)絡(luò)幾近癱瘓,甚至于出現(xiàn)宕機(jī)。
DDoS攻擊通過(guò)大量合法的請(qǐng)求占用大量網(wǎng)絡(luò)資源,以達(dá)到癱瘓網(wǎng)絡(luò)的目的。這種攻擊方式主要可分為以下幾種:
1. IP Spoofing
2. LAND attack
3. Smurf攻擊
4. Teardrop攻擊
5. SYN Flood攻擊
6. SYN+ACK Flood攻擊
7. ACK Flood 攻擊
8. TCP 全連接攻擊
9. UDP Flood
10. CC 攻擊
11. 以上攻擊的混合攻擊
01.IP Spoofing
IP Spoofing攻擊是指創(chuàng)建的IP 數(shù)據(jù)包中具有偽造的源 IP 地址,目的是在發(fā)動(dòng)攻擊時(shí)隱藏攻擊者的身份或冒充成另一個(gè)計(jì)算系統(tǒng)。當(dāng)攻擊者冒充網(wǎng)絡(luò)上的另一個(gè)設(shè)備或用戶以對(duì)網(wǎng)絡(luò)主機(jī)發(fā)起攻擊、竊取數(shù)據(jù)、傳播惡意軟件或繞過(guò)訪問(wèn)控制時(shí),就會(huì)發(fā)生欺騙攻擊。
防范IP 欺騙攻擊的主要方法有以下幾種:
1.針對(duì)于內(nèi)網(wǎng)環(huán)境下,可以進(jìn)行IP-mac綁定。通過(guò)將接收到的IP數(shù)據(jù)包中的源IP與已有的IP-MAC表進(jìn)行對(duì)比,若已有的IP-MAC表中的源IP對(duì)應(yīng)的MAC地址和IP數(shù)據(jù)包中的其發(fā)送者的MAC地址不符,則將其發(fā)送的數(shù)據(jù)包進(jìn)行丟棄。
2.針對(duì)于公網(wǎng)環(huán)境下,可以直接丟棄從公網(wǎng)方向接收到的IP數(shù)據(jù)包中源IP為內(nèi)網(wǎng)IP段范圍內(nèi)(10.0.0.0/8,172.16.0.0/12,192.168.0.0/16)的IP數(shù)據(jù)包。
3.針對(duì)于公網(wǎng)環(huán)境下,還可以使用URPF,通過(guò)取出從公網(wǎng)方向接收到的IP數(shù)據(jù)包中的源IP地址,然后查看自身的路由表中是否有該數(shù)據(jù)包的路由信息。如果路由表中沒(méi)有其用于數(shù)據(jù)返回的路由信息,那么極有可能是某人偽造了該數(shù)據(jù)包,于是便把它丟棄。
02.LAND attack
LAND Attack指的是攻擊者向目標(biāo)系統(tǒng)發(fā)送一個(gè)SYN的TCP包,包中的源地址被偽造為目標(biāo)系統(tǒng)的地址。當(dāng)目標(biāo)系統(tǒng)收到包后,會(huì)向自己發(fā)送一個(gè)SYN+ACK的TCP包。然后,目標(biāo)系統(tǒng)向自己發(fā)送一個(gè)ACK包,這樣就自己和自己建立一個(gè)空連接。這個(gè)空連接會(huì)一直持續(xù),直到超時(shí)。當(dāng)目標(biāo)系統(tǒng)被這樣大量欺騙,建立大量空連接,消耗大量的系統(tǒng)資源,導(dǎo)致目標(biāo)系統(tǒng)底層操作系統(tǒng)運(yùn)行緩慢,甚至崩潰。該漏洞存在于很多早期操作系統(tǒng),如windows XP和Windows 2003。
防范著陸攻擊的主要方法依賴于過(guò)濾并丟棄源地址和目標(biāo)地址相同的SYN、SYN+ACK的TCP數(shù)據(jù)包。
03.Smurf攻擊
Smurf攻擊通過(guò)使用將回復(fù)地址設(shè)置成目標(biāo)系統(tǒng)網(wǎng)絡(luò)的廣播地址的ICMP應(yīng)答請(qǐng)求(ping)數(shù)據(jù)包,來(lái)淹沒(méi)目標(biāo)系統(tǒng),最終導(dǎo)致目標(biāo)系統(tǒng)網(wǎng)絡(luò)的所有主機(jī)都對(duì)此ICMP應(yīng)答請(qǐng)求做出答復(fù),導(dǎo)致網(wǎng)絡(luò)阻塞。
防范Smurf攻擊的主要方法有以下幾種:
1.針對(duì)于網(wǎng)絡(luò)設(shè)備可以過(guò)濾并丟棄IP數(shù)據(jù)包中的源IP地址為廣播地址的IP數(shù)據(jù)包。
2.針對(duì)于終端設(shè)備,可以禁止對(duì)IP數(shù)據(jù)包中的目標(biāo)地址為廣播地址的ICMP包進(jìn)行響應(yīng)。
3.針對(duì)于網(wǎng)絡(luò)邊界設(shè)備,可以對(duì)于從本網(wǎng)絡(luò)向外部網(wǎng)絡(luò)發(fā)送的IP數(shù)據(jù)包中源地址為其他網(wǎng)絡(luò)的這部分IP數(shù)據(jù)包過(guò)濾并丟棄。
04.Teardrop攻擊
Teardrop攻擊通過(guò)向目標(biāo)系統(tǒng)發(fā)送一些分片IP報(bào)文,并且故意將“13位分片偏移”字段設(shè)置成錯(cuò)誤的值,此處既可以與上一分片數(shù)據(jù)重疊,也可以與上一分片數(shù)據(jù)錯(cuò)開(kāi),目標(biāo)系統(tǒng)在組合這種含有重疊偏移的偽造分片報(bào)文時(shí),會(huì)導(dǎo)致目標(biāo)系統(tǒng)底層操作系統(tǒng)崩潰。
防范Teardrop攻擊的主要方法依賴于把接收到的分片報(bào)文先放入緩存中,并根據(jù)源IP地址和目的IP地址對(duì)報(bào)文進(jìn)行分組,源IP地址和目的IP地址均相同的報(bào)文歸入同一組,然后對(duì)每組IP報(bào)文的相關(guān)分片信息進(jìn)行檢查,丟棄分片信息存在錯(cuò)誤的報(bào)文。為了防止緩存溢出,當(dāng)緩存快要存滿時(shí),直接丟棄后續(xù)分片報(bào)文。
05.SYN Flood 攻擊
SYN Flood攻擊指的是攻擊者在短時(shí)間內(nèi)使用大量的肉雞或偽造大量不存在的IP地址,向目標(biāo)系統(tǒng)不斷地發(fā)送SYN數(shù)據(jù)包,迫使目標(biāo)系統(tǒng)需要回復(fù)大量SYN+ACK確認(rèn)包,并等待發(fā)送源的確認(rèn)。由于源地址不對(duì)確認(rèn)包進(jìn)行響應(yīng)或者源地址是根本就不存在的,目標(biāo)系統(tǒng)需要不斷的重發(fā)SYN+ACK確認(rèn)包直至SYN包超時(shí),這些一直得不到確認(rèn)的SYN包將長(zhǎng)時(shí)間占用SYN隊(duì)列,正常的SYN請(qǐng)求被丟棄或被拒絕,導(dǎo)致目標(biāo)系統(tǒng)運(yùn)行緩慢,嚴(yán)重者會(huì)引起網(wǎng)絡(luò)堵塞甚至目標(biāo)系統(tǒng)底層操作系統(tǒng)癱瘓。
緩解SYN Flood攻擊的主要方法有以下幾種:
1.縮短SYN數(shù)據(jù)包超時(shí)(SYN Timeout)時(shí)間,減少SYN隊(duì)列內(nèi)無(wú)效SYN數(shù)據(jù)包積壓數(shù)量。
2.增加最大半連接數(shù),即增加SYN隊(duì)列大小,使得系統(tǒng)可以容納更多的SYN數(shù)據(jù)包。
3.開(kāi)啟SYN Cookies,就是給每一個(gè)請(qǐng)求連接的IP地址分配一個(gè)Cookie,當(dāng)再次收到相同五元組的SYN數(shù)據(jù)包時(shí),不再新分配ACK號(hào),而是復(fù)用之前的ACK號(hào),從而減小SYN隊(duì)列長(zhǎng)度。
4.進(jìn)行首包丟棄,一般情況下正常訪問(wèn)者在首包超時(shí)后會(huì)再次發(fā)送SYN數(shù)據(jù)包,而攻擊者一般情況下則不會(huì)重新發(fā)送SYN數(shù)據(jù)包,從而減少SYN隊(duì)列內(nèi)無(wú)效SYN數(shù)據(jù)包積壓數(shù)量。
5.進(jìn)行源地址驗(yàn)證,如果源地址是偽造的話直接丟棄該SYN數(shù)據(jù)包,從而減少SYN隊(duì)列內(nèi)無(wú)效SYN數(shù)據(jù)包積壓數(shù)量。
06.SYN+ACK Flood 攻擊
SYN_ACK Flood攻擊指的是攻擊者發(fā)送大量的SYN+ACK數(shù)據(jù)包到目標(biāo)系統(tǒng),目標(biāo)系統(tǒng)將會(huì)為處理這些報(bào)文而消耗大量的資源,導(dǎo)致目標(biāo)系統(tǒng)運(yùn)行緩慢,嚴(yán)重者會(huì)引起網(wǎng)絡(luò)堵塞甚至目標(biāo)系統(tǒng)底層操作系統(tǒng)癱瘓。
緩解SYN+ACK Flood攻擊的主要方法有以下幾種:
1.如果不需要主動(dòng)發(fā)起連接,可以將所有的SYN+ACK包丟棄。
2.進(jìn)行源地址驗(yàn)證,如果源地址是偽造的話直接丟棄該SYN+ACK數(shù)據(jù)包。
07.ACK Flood 攻擊
ACK Flood攻擊是發(fā)生在TCP連接建立之后,由于所有的數(shù)據(jù)傳輸TCP報(bào)文都帶有ACK標(biāo)志位,所以目標(biāo)系統(tǒng)在接收到一個(gè)帶有ACK標(biāo)志位的數(shù)據(jù)包的時(shí)候,需要檢查該數(shù)據(jù)包所表示的連接四元組是否存在,如果存在則檢查該數(shù)據(jù)包所表示的狀態(tài)是否合法,然后再向應(yīng)用層傳遞該數(shù)據(jù)包。如果在檢查中發(fā)現(xiàn)該數(shù)據(jù)包不合法,例如該數(shù)據(jù)包所指向的目的端口在本機(jī)并未開(kāi)放,則主機(jī)操作系統(tǒng)協(xié)議棧會(huì)回應(yīng)RST包告訴對(duì)方此端口不存在。這里,服務(wù)器要做兩個(gè)動(dòng)作:查表、回應(yīng)ACK/RST。由于攻擊者發(fā)送大量的帶有ACK標(biāo)志位的數(shù)據(jù)包,導(dǎo)致目標(biāo)系統(tǒng)需要進(jìn)行大量的查詢操作,導(dǎo)致目標(biāo)系統(tǒng)運(yùn)行緩慢,嚴(yán)重者會(huì)引起網(wǎng)絡(luò)堵塞甚至目標(biāo)系統(tǒng)底層操作系統(tǒng)癱瘓。
緩解ACK Flood攻擊的主要方法有以下幾種:
1.統(tǒng)計(jì)源地址各類型數(shù)據(jù)包分布,如果目標(biāo)系統(tǒng)從該源地址收取數(shù)據(jù)包的數(shù)量異常大于目標(biāo)系統(tǒng)發(fā)往該源地址的數(shù)據(jù)包的數(shù)量,則可以直接丟棄該源地址的ACK數(shù)據(jù)包。
2.進(jìn)行源地址驗(yàn)證,如果源地址是偽造的話直接丟棄該ACK數(shù)據(jù)包。
08.TCP全連接攻擊
TCP全連接攻擊是通過(guò)消費(fèi)目標(biāo)系統(tǒng)進(jìn)程數(shù)和連接數(shù),只連接而不進(jìn)行發(fā)送數(shù)據(jù)的一種攻擊方式。當(dāng)攻擊者連接到目標(biāo)系統(tǒng),僅僅只是連接,此時(shí)目標(biāo)系統(tǒng)會(huì)為每一個(gè)連接創(chuàng)建一個(gè)進(jìn)程來(lái)處理攻擊者發(fā)送的數(shù)據(jù)。但是攻擊者只是連接而不發(fā)送數(shù)據(jù),此時(shí)目標(biāo)系統(tǒng)會(huì)一直處在Recv或者Read的狀態(tài),如此一來(lái),多個(gè)連接,目標(biāo)系統(tǒng)的每個(gè)連接都是出于等待狀態(tài)從而導(dǎo)致目標(biāo)系統(tǒng)的崩潰。
一般來(lái)說(shuō),防范TCP全連接攻擊的主要方法依賴于限制單個(gè)源IP可與目標(biāo)系統(tǒng)建立的最大連接數(shù),從而確保目標(biāo)系統(tǒng)不會(huì)崩潰。
09.UDP Flood攻擊
UDP Flood攻擊又稱UDP淹沒(méi)攻擊,是流量型DoS攻擊的一種,常常利用大量UDP小包沖擊目標(biāo)系統(tǒng),從而耗盡目標(biāo)系統(tǒng)的帶寬。由于UDP協(xié)議是一種無(wú)連接的服務(wù),在發(fā)動(dòng)UDP Flood攻擊時(shí),攻擊者發(fā)送大量偽造源IP地址的小UDP包,也可以導(dǎo)致目標(biāo)系統(tǒng)癱瘓。
防范UDP Flood攻擊的主要方法依賴于在網(wǎng)絡(luò)邊界處限制單個(gè)源IP可發(fā)往目標(biāo)系統(tǒng)的最大包速率和最大帶寬,從而確保目標(biāo)系統(tǒng)帶寬不被耗盡且不會(huì)崩潰。
http://10.CC 攻擊
CC攻擊,其前身名為Fatboy攻擊,是利用不斷對(duì)目標(biāo)系統(tǒng)發(fā)送連接請(qǐng)求致使形成拒絕服務(wù)的目的。CC攻擊又可分為代理CC攻擊和肉雞CC攻擊。代理CC攻擊是攻擊者借助代理服務(wù)器生成指向目標(biāo)系統(tǒng)的合法網(wǎng)頁(yè)請(qǐng)求,從而導(dǎo)致目標(biāo)系統(tǒng)的CPU幾近100%,甚至宕機(jī)的現(xiàn)象。而肉雞CC攻擊是黑客使用CC攻擊軟件,控制大量肉雞,發(fā)動(dòng)攻擊,相比來(lái)后者比前者更難防御。因?yàn)槿怆u可以模擬正常用戶訪問(wèn)網(wǎng)站的請(qǐng)求。偽造成合法數(shù)據(jù)包。
緩解CC 攻擊的主要方法有以下幾種:
1.限制單源地址可被目標(biāo)系統(tǒng)處理的總請(qǐng)求數(shù),從而避免出現(xiàn)單源地址占用目標(biāo)系統(tǒng)資源過(guò)多的情況。
2.限制單源地址單位時(shí)間可被目標(biāo)系統(tǒng)處理的請(qǐng)求數(shù),從而避免出現(xiàn)單源地址占用目標(biāo)系統(tǒng)資源過(guò)多的情況。
3.網(wǎng)站頁(yè)面靜態(tài)化,使用網(wǎng)站頁(yè)面靜態(tài)化可以較大程度的減少系統(tǒng)資源消耗,從而增強(qiáng)系統(tǒng)對(duì)請(qǐng)求的處理能力。
TDR智能安全運(yùn)營(yíng)平臺(tái)
TDR智能安全運(yùn)營(yíng)平臺(tái)包含GSDN全局安全交付網(wǎng)絡(luò)、SOP安全運(yùn)營(yíng)平臺(tái)和SRC安全響應(yīng)中心。在提供NGFW、IPS、DDoS、WAF縱深安全防護(hù)能力的基礎(chǔ)上,支持集中安全審計(jì)和全局態(tài)勢(shì)感知,并整合了TI威脅情報(bào)、NTA流量分析和UEBA用戶行為分析等技術(shù),以數(shù)據(jù)驅(qū)動(dòng)安全智能,實(shí)現(xiàn)對(duì)各種網(wǎng)絡(luò)威脅的精準(zhǔn)檢測(cè)、溯源分析和快速響應(yīng),能夠?yàn)樘幱诰o急安全事件或重保期間的各類業(yè)務(wù)系統(tǒng)迅速提升安全檢測(cè)與防護(hù)能力;通過(guò)統(tǒng)一的安全平臺(tái)與響應(yīng)中心,不僅可減少安全運(yùn)維與協(xié)調(diào)的摩擦力,還可以將安全運(yùn)營(yíng)中心的各類安全專家的知識(shí)與經(jīng)驗(yàn)服務(wù)與更多企業(yè)。