令無數(shù)站長聞風(fēng)喪膽的 DDoS 攻擊到底是什么
?DDoS 攻擊究竟是什么?
開門見山,舉個(gè)形象點(diǎn)的例子
我開了一家有五十個(gè)座位的重慶火鍋店,用料上等,童叟無欺。平時(shí)門庭若市,生意特別紅火,而對(duì)面二狗家的火鍋店卻無人問津。二狗為了對(duì)付我,想了一個(gè)辦法,叫了五十個(gè)人來我的火鍋店坐著卻不點(diǎn)菜,讓別的客人無法吃飯。
上面這個(gè)例子講的就是典型的 DDoS 攻擊,全稱是 Distributed Denial of Service,翻譯成中文就是分布式拒絕服務(wù)。一般來說是指攻擊者利用 “肉雞”(所謂肉雞就是網(wǎng)絡(luò)上被攻陷的計(jì)算機(jī)) 對(duì)目標(biāo)網(wǎng)站在較短的時(shí)間內(nèi)發(fā)起大量請(qǐng)求,以大量無用的數(shù)據(jù)消耗有限的網(wǎng)絡(luò)資源和服務(wù)器系統(tǒng)資源,讓目標(biāo)網(wǎng)站無法正常服務(wù)(輕則網(wǎng)絡(luò)阻塞,重則服務(wù)器系統(tǒng)崩潰,導(dǎo)致死機(jī))。在線游戲、互聯(lián)網(wǎng)金融等領(lǐng)域是 DDoS 攻擊的高發(fā)行業(yè)。
在 DDoS 黑色產(chǎn)業(yè)鏈中,各個(gè)角色是如何分工的?
DDoS 攻擊犯罪已經(jīng)進(jìn)入產(chǎn)業(yè)化時(shí)代,從需要專業(yè)不法黑客實(shí)施全部攻擊過程的行為,發(fā)展成由發(fā)單人、攻擊實(shí)施人、肉雞商、出量人、不法黑客攻擊軟件作者、擔(dān)保人等多個(gè)犯罪個(gè)體共同參與實(shí)施的產(chǎn)業(yè)化犯罪行為。
- 發(fā)單人:DDoS 攻擊黑色產(chǎn)業(yè)鏈中頂端的角色,也就是出資并發(fā)出對(duì)具體網(wǎng)站或服務(wù)器的攻擊需求的人
- 攻擊實(shí)施人:接到 “發(fā)單人” 指令并執(zhí)行攻擊的人
- 肉雞商:侵入計(jì)算機(jī)信息系統(tǒng)的實(shí)施人,或者買賣被侵入計(jì)算機(jī)系統(tǒng)權(quán)限的中間商。
- 出量人:擁有服務(wù)器控制權(quán)限和網(wǎng)絡(luò)流量的人。他們有一定技術(shù)能力,能夠租用專屬服務(wù)器并自行配置攻擊軟件從而獲取流量
- 擔(dān)保人:業(yè)內(nèi)“信譽(yù)”較高的不法黑客。因?yàn)榻灰椎碾p方往往并不認(rèn)識(shí),于是他們會(huì)找到 “擔(dān)保人”,負(fù)責(zé)買賣雙方的資金中轉(zhuǎn),擔(dān)保人可從中抽取一定的好處費(fèi)。
DDoS 攻擊手段具體有哪些?
ICMP Flood
ICMP 用于在 IP 主機(jī)、路由器之間傳遞控制消息,控制消息是指網(wǎng)絡(luò)通不通、主機(jī)是否可達(dá)、路由是否可用等網(wǎng)絡(luò)本身的消息,雖然并不傳輸用戶數(shù)據(jù),但是對(duì)于用戶數(shù)據(jù)的傳遞起著重要的作用。通過對(duì)目標(biāo)系統(tǒng)發(fā)送海量數(shù)據(jù)包,就可以令目標(biāo)主機(jī)癱瘓,如果大量發(fā)送就成了洪水攻擊。
UDP Flood
UDP 協(xié)議是一種無連接的服務(wù),偽造源地址很方便。在 UDP Flood 中,攻擊者通常發(fā)送大量偽造源 IP 地址的小 UDP 包沖擊 DNS 服務(wù)器或 Radius 認(rèn)證服務(wù)器、流媒體視頻服務(wù)器。100k bps 的 UDP Flood 經(jīng)常將線路上的骨干設(shè)備例如防火墻打癱,造成整個(gè)網(wǎng)段的癱瘓。
上述兩種傳統(tǒng)的流量型攻擊方式技術(shù)含量較低,傷人一千自損八百,攻擊效果通常依賴受控主機(jī)本身的網(wǎng)絡(luò)性能,而且容易被查到攻擊源頭,單獨(dú)使用的情況已不常見。于是,具有四兩拔千斤效果的放射型放大攻擊就出現(xiàn)了。
NTP Flood
NTP 是標(biāo)準(zhǔn)的基于 UDP 協(xié)議傳輸?shù)木W(wǎng)絡(luò)時(shí)間同步協(xié)議,由于 UDP 協(xié)議的無連接性,方便偽造源地址。攻擊者使用特殊的數(shù)據(jù)包,也就是 IP 地址指向作為反射器的服務(wù)器,源 IP 地址被偽造成攻擊目標(biāo)的 IP,反射器接收到數(shù)據(jù)包時(shí)就被騙了,會(huì)將響應(yīng)數(shù)據(jù)發(fā)送給被攻擊目標(biāo),耗盡目標(biāo)網(wǎng)絡(luò)的帶寬資源。一般的 NTP 服務(wù)器都有很大的帶寬,攻擊者可能只需要 1Mbps 的上傳帶寬欺騙 NTP 服務(wù)器,就可給目標(biāo)服務(wù)器帶來幾百上千 Mbps 的攻擊流量。
因此,“問-答”方式的協(xié)議都可以被反射型攻擊利用,將質(zhì)詢數(shù)據(jù)包的地址偽造為攻擊目標(biāo)地址,應(yīng)答的數(shù)據(jù)包就會(huì)都被發(fā)送至目標(biāo),一旦協(xié)議具有遞歸效果,流量就被顯著放大了,堪稱一種“借刀殺人”的流量型攻擊。
SYN Flood
這是一種利用 TCP 協(xié)議缺陷,發(fā)送大量偽造的 TCP 連接請(qǐng)求,從而使得被攻擊方資源耗盡(CPU 滿負(fù)荷或內(nèi)存不足)的攻擊方式。建立 TCP 連接,需要三次握手:客戶端發(fā)送 SYN 報(bào)文,服務(wù)端收到請(qǐng)求并返回報(bào)文表示接受,客戶端也返回確認(rèn),完成連接。
SYN Flood 就是攻擊者客戶端在短時(shí)間內(nèi)偽造大量不存在的 IP 地址,并向目標(biāo)服務(wù)器不斷地發(fā)送 SYN 包,Server 則回復(fù)確認(rèn)包,并等待客戶端確認(rèn),由于源地址不存在,因此目標(biāo)服務(wù)器需要不斷重發(fā)直至超時(shí),這些偽造的 SYN 包將長時(shí)間占用半連接隊(duì)列,導(dǎo)致正常的 SYN 請(qǐng)求因?yàn)殛?duì)列滿而被丟棄,從而引起網(wǎng)絡(luò)擁塞甚至系統(tǒng)癱瘓。
CC 攻擊
CC 攻擊是目前應(yīng)用層攻擊的主要手段之一,借助【代理服務(wù)器】生成指向目標(biāo)系統(tǒng)的合法請(qǐng)求,實(shí)現(xiàn)偽裝和 DDoS。
我們都有這樣的體驗(yàn),訪問一個(gè)靜態(tài)頁面,即使人多也不需要太長時(shí)間,但如果在高峰期訪問論壇、貼吧等,那就很慢了,因?yàn)榉?wù)器系統(tǒng)需要到數(shù)據(jù)庫中判斷訪問者否有讀帖、發(fā)言等權(quán)限。訪問的人越多,論壇的頁面越多,數(shù)據(jù)庫壓力就越大,被訪問的頻率也越高,占用的系統(tǒng)資源也就相當(dāng)可觀。
CC 攻擊就充分利用了這個(gè)特點(diǎn),模擬多個(gè)正常用戶不停地訪問如論壇這些需要大量數(shù)據(jù)操作的頁面(HTTP Flood),造成服務(wù)器資源的浪費(fèi),CPU 長時(shí)間處于 100%,永遠(yuǎn)都有處理不完的請(qǐng)求,網(wǎng)絡(luò)擁塞,正常訪問被中止。這種攻擊技術(shù)性含量高,見不到真實(shí)源 IP,見不到特別大的異常流量,但服務(wù)器就是無法進(jìn)行正常連接。
之所以選擇代理服務(wù)器是因?yàn)榇砜梢杂行У仉[藏自己的身份,也可以繞開防火墻,因?yàn)榛旧纤械姆阑饓Χ紩?huì)檢測(cè)并發(fā)的 TCP/IP 連接數(shù)目,超過一定數(shù)目一定頻率就會(huì)被認(rèn)為是 Connection-Flood。當(dāng)然也可以使用肉雞來發(fā)動(dòng) CC 攻擊,攻擊者使用 CC 攻擊軟件控制大量肉雞發(fā)動(dòng)攻擊,肉雞可以模擬正常用戶訪問網(wǎng)站的請(qǐng)求偽造成合法數(shù)據(jù)包,相比前者來說更難防御。
CC 攻擊是針對(duì) Web 服務(wù)在應(yīng)用層發(fā)起的攻擊,在越上層協(xié)議上發(fā)動(dòng) DDoS 攻擊越難以防御,上層協(xié)議與業(yè)務(wù)關(guān)聯(lián)愈加緊密,防御系統(tǒng)面臨的情況也會(huì)更復(fù)雜。
由于 CC 攻擊成本低、威力大,80% 的 DDoS 攻擊都是 CC 攻擊。
DNS Query Flood
DNS 作為互聯(lián)網(wǎng)的核心服務(wù)之一,自然也 是DDoS 攻擊的一大主要目標(biāo)。
DNS Query Flood 采用的方法是操縱大量傀儡機(jī)器,向目標(biāo)服務(wù)器發(fā)送大量的域名解析請(qǐng)求。服務(wù)器在接收到域名解析請(qǐng)求時(shí),首先會(huì)在服務(wù)器上查找是否有對(duì)應(yīng)的緩存,若查找不到且該域名無法直接解析時(shí),便向其上層 DNS 服務(wù)器遞歸查詢域名信息。
通常,攻擊者請(qǐng)求解析的域名是隨機(jī)生成或者是網(wǎng)絡(luò)上根本不存在的域名,由于在本地?zé)o法查到對(duì)應(yīng)的結(jié)果,服務(wù)器必須使用遞歸查詢向上層域名服務(wù)器提交解析請(qǐng)求,引起連鎖反應(yīng)。解析過程給服務(wù)器帶來很大的負(fù)載,每秒鐘域名解析請(qǐng)求超過一定的數(shù)量就會(huì)造成 DNS 服務(wù)器解析域名超時(shí)。
根據(jù)微軟的統(tǒng)計(jì)數(shù)據(jù),一臺(tái) DNS 服務(wù)器所能承受的動(dòng)態(tài)域名查詢的上限是每秒鐘 9000 個(gè)請(qǐng)求。而一臺(tái) P3 的 PC 機(jī)上可以輕易地構(gòu)造出每秒鐘幾萬個(gè)域名解析請(qǐng)求,足以使一臺(tái)硬件配置極高的 DNS 服務(wù)器癱瘓,由此可見 DNS 服務(wù)器的脆弱性。
混合攻擊
在實(shí)際情況中,攻擊者只求達(dá)到打垮對(duì)方的目的,發(fā)展到現(xiàn)在,高級(jí)攻擊者已經(jīng)不傾向使用單一的攻擊手段作戰(zhàn)了,而是根據(jù)目標(biāo)系統(tǒng)的具體環(huán)境靈動(dòng)組合,發(fā)動(dòng)多種攻擊手段,既具備了海量的流量,又利用了協(xié)議、系統(tǒng)的缺陷,盡其所能地展開攻勢(shì)。
對(duì)于被攻擊目標(biāo)來說,需要面對(duì)不同協(xié)議、不同資源的分布式的攻擊,分析、響應(yīng)和處理的成本就會(huì)大大增加。
如何應(yīng)對(duì) DDoS 攻擊?
高防服務(wù)器
還是拿最開始重慶火鍋店舉例,高防服務(wù)器就是給重慶火鍋店增加了兩名保安,這兩名保安可以讓保護(hù)店鋪不受流氓騷擾,并且還會(huì)定期在店鋪周圍巡邏防止流氓騷擾。
高防服務(wù)器主要是指能獨(dú)立硬防御 50Gbps 以上的服務(wù)器,能夠幫助網(wǎng)站拒絕服務(wù)攻擊,定期掃描網(wǎng)絡(luò)主節(jié)點(diǎn)等,這東西是不錯(cuò),就是貴
黑名單
面對(duì)火鍋店里面的流氓,我一怒之下將他們拍照入檔,并禁止他們踏入店鋪,但是有的時(shí)候遇到長得像的人也會(huì)禁止他進(jìn)入店鋪。這個(gè)就是設(shè)置黑名單,此方法秉承的就是 “錯(cuò)殺一千,也不放一百” 的原則,會(huì)封鎖正常流量,影響到正常業(yè)務(wù)。
DDoS 清洗
DDos 清洗,就是我發(fā)現(xiàn)客人進(jìn)店幾分鐘以后,但是一直不點(diǎn)餐,我就把他踢出店里。
DDoS 清洗會(huì)對(duì)用戶請(qǐng)求數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)控,及時(shí)發(fā)現(xiàn) DOS 攻擊等異常流量,在不影響正常業(yè)務(wù)開展的情況下清洗掉這些異常流量。
CDN 加速
CDN 加速,我們可以這么理解:為了減少流氓騷擾,我干脆將火鍋店開到了線上,承接外賣服務(wù),這樣流氓找不到店在哪里,也耍不來流氓了。
在現(xiàn)實(shí)中,CDN 服務(wù)將網(wǎng)站訪問流量分配到了各個(gè)節(jié)點(diǎn)中,這樣一方面隱藏網(wǎng)站的真實(shí) IP,另一方面即使遭遇 DDoS 攻擊,也可以將流量分散到各個(gè)節(jié)點(diǎn)中,防止源站崩潰。????