深入淺出DDoS攻擊防御敵情篇
it專(zhuān)家網(wǎng) 發(fā)表于:12年12月03日 11:00 [轉(zhuǎn)載] DOIT.com.cn
DDoS(Distributed Denial of Service,分布式拒絕服務(wù))攻擊的主要目的是讓指定目標(biāo)無(wú)法提供正常服務(wù),甚至從互聯(lián)網(wǎng)上消失,是目前最強(qiáng)大、最難防御的攻擊之一。
DDoS攻擊基礎(chǔ)
DDoS(Distributed Denial of Service,分布式拒絕服務(wù))攻擊的主要目的是讓指定目標(biāo)無(wú)法提供正常服務(wù),甚至從互聯(lián)網(wǎng)上消失,是目前最強(qiáng)大、最難防御的攻擊之一。
按照發(fā)起的方式,DDoS可以簡(jiǎn)單分為三類(lèi)。
第一類(lèi)以力取勝,海量數(shù)據(jù)包從互聯(lián)網(wǎng)的各個(gè)角落蜂擁而來(lái),堵塞IDC入口,讓各種強(qiáng)大的硬件防御系統(tǒng)、快速高效的應(yīng)急流程無(wú)用武之地。這種類(lèi)型的攻擊典型代表是ICMP Flood和UDP Flood,現(xiàn)在已不常見(jiàn)。
第二類(lèi)以巧取勝,靈動(dòng)而難以察覺(jué),每隔幾分鐘發(fā)一個(gè)包甚至只需要一個(gè)包,就可以讓豪華配置的服務(wù)器不再響應(yīng)。這類(lèi)攻擊主要是利用協(xié)議或者軟件的漏洞發(fā)起,例如Slowloris攻擊、Hash沖突攻擊等,需要特定環(huán)境機(jī)緣巧合下才能出現(xiàn)。
第三類(lèi)是上述兩種的混合,輕靈渾厚兼而有之,既利用了協(xié)議、系統(tǒng)的缺陷,又具備了海量的流量,例如SYN Flood攻擊、DNS Query Flood攻擊,是當(dāng)前的主流攻擊方式。
本文將一一描述這些最常見(jiàn)、最具代表性攻擊方式,并介紹它們的防御方案。
SYN Flood
SYN Flood是互聯(lián)網(wǎng)上最經(jīng)典的DDoS攻擊方式之一,最早出現(xiàn)于1999年左右,雅虎是當(dāng)時(shí)最著名的受害者。SYN Flood攻擊利用了TCP三次握手的缺陷,能夠以較小代價(jià)使目標(biāo)服務(wù)器無(wú)法響應(yīng),且難以追查。
標(biāo)準(zhǔn)的TCP三次握手過(guò)程如下:
客戶端發(fā)送一個(gè)包含SYN標(biāo)志的TCP報(bào)文,SYN即同步(Synchronize),同步報(bào)文會(huì)指明客戶端使用的端口以及TCP連接的初始序號(hào);
服務(wù)器在收到客戶端的SYN報(bào)文后,將返回一個(gè)SYN+ACK(即確認(rèn)Acknowledgement)的報(bào)文,表示客戶端的請(qǐng)求被接受,同時(shí)TCP初始序號(hào)自動(dòng)加1;
客戶端也返回一個(gè)確認(rèn)報(bào)文ACK給服務(wù)器端,同樣TCP序列號(hào)被加1。
經(jīng)過(guò)這三步,TCP連接就建立完成。TCP協(xié)議為了實(shí)現(xiàn)可靠傳輸,在三次握手的過(guò)程中設(shè)置了一些異常處理機(jī)制。第三步中如果服務(wù)器沒(méi)有收到客戶端的最終ACK確認(rèn)報(bào)文,會(huì)一直處于SYN_RECV狀態(tài),將客戶端IP加入等待列表,并重發(fā)第二步的SYN+ACK報(bào)文。重發(fā)一般進(jìn)行3-5次,大約間隔30秒左右輪詢一次等待列表重試所有客戶端。另一方面,服務(wù)器在自己發(fā)出了SYN+ACK報(bào)文后,會(huì)預(yù)分配資源為即將建立的TCP連接儲(chǔ)存信息做準(zhǔn)備,這個(gè)資源在等待重試期間一直保留。更為重要的是,服務(wù)器資源有限,可以維護(hù)的SYN_RECV狀態(tài)超過(guò)極限后就不再接受新的SYN報(bào)文,也就是拒絕新的 TCP連接建立。
SYN Flood正是利用了上文中TCP協(xié)議的設(shè)定,達(dá)到攻擊的目的。攻擊者偽裝大量的IP地址給服務(wù)器發(fā)送SYN報(bào)文,由于偽造的IP地址幾乎不可能存在,也就幾乎沒(méi)有設(shè)備會(huì)給服務(wù)器返回任何應(yīng)答了。因此,服務(wù)器將會(huì)維持一個(gè)龐大的等待列表,不停地重試發(fā)送SYN+ACK報(bào)文,同時(shí)占用著大量的資源無(wú)法釋放。更為關(guān)鍵的是,被攻擊服務(wù)器的SYN_RECV隊(duì)列被惡意的數(shù)據(jù)包占滿,不再接受新的SYN請(qǐng)求,合法用戶無(wú)法完成三次握手建立起TCP連接。也就是說(shuō),這個(gè)服務(wù)器被SYN Flood拒絕服務(wù)了。
對(duì)SYN Flood有興趣的可以看看https://www.icylife.net/yunshu/show.php?id=367,這是我2006年寫(xiě)的代碼,后來(lái)做過(guò)幾次修改,修改了Bug,并降低了攻擊性,純做測(cè)試使用。
DNS Query Flood
作為互聯(lián)網(wǎng)最基礎(chǔ)、最核心的服務(wù),DNS自然也是DDoS攻擊的重要目標(biāo)之一。打垮DNS服務(wù)能夠間接打垮一家公司的全部業(yè)務(wù),或者打垮一個(gè)地區(qū)的網(wǎng)絡(luò)服務(wù)。前些時(shí)候風(fēng)頭正盛的黑客組織anonymous也曾經(jīng)宣布要攻擊全球互聯(lián)網(wǎng)的13臺(tái)根DNS服務(wù)器,不過(guò)最終沒(méi)有得手。
UDP攻擊是最容易發(fā)起海量流量的攻擊手段,而且源IP隨機(jī)偽造難以追查。但過(guò)濾比較容易,因?yàn)榇蠖鄶?shù)IP并不提供UDP服務(wù),直接丟棄UDP 流量即可。所以現(xiàn)在純粹的UDP流量攻擊比較少見(jiàn)了,取而代之的是UDP協(xié)議承載的DNS Query Flood攻擊。簡(jiǎn)單地說(shuō),越上層協(xié)議上發(fā)動(dòng)的DDoS攻擊越難以防御,因?yàn)閰f(xié)議越上層,與業(yè)務(wù)關(guān)聯(lián)越大,防御系統(tǒng)面臨的情況越復(fù)雜。
DNS Query Flood就是攻擊者操縱大量傀儡機(jī)器,對(duì)目標(biāo)發(fā)起海量的域名查詢請(qǐng)求。為了防止基于ACL的過(guò)濾,必須提高數(shù)據(jù)包的隨機(jī)性。常用的做法是UDP層隨機(jī)偽造源IP地址、隨機(jī)偽造源端口等參數(shù)。在DNS協(xié)議層,隨機(jī)偽造查詢ID以及待解析域名。隨機(jī)偽造待解析域名除了防止過(guò)濾外,還可以降低命中DNS緩存的可能性,盡可能多地消耗DNS服務(wù)器的CPU資源。
關(guān)于DNS Query Flood的代碼,我在2011年7月為了測(cè)試服務(wù)器性能曾經(jīng)寫(xiě)過(guò)一份代碼,鏈接是https://www.icylife.net/yunshu/show.php?id=832。同樣的,這份代碼人為降低了攻擊性,只做測(cè)試用途。
HTTP Flood
上文描述的SYN Flood、DNS Query Flood在現(xiàn)階段已經(jīng)能做到有效防御了,真正令各大廠商以及互聯(lián)網(wǎng)企業(yè)頭疼的是HTTP Flood攻擊。HTTP Flood是針對(duì)Web服務(wù)在第七層協(xié)議發(fā)起的攻擊。它的巨大危害性主要表現(xiàn)在三個(gè)方面:發(fā)起方便、過(guò)濾困難、影響深遠(yuǎn)。
SYN Flood和DNS Query Flood都需要攻擊者以root權(quán)限控制大批量的傀儡機(jī)。收集大量root權(quán)限的傀儡機(jī)很花費(fèi)時(shí)間和精力,而且在攻擊過(guò)程中傀儡機(jī)會(huì)由于流量異常被管理員發(fā)現(xiàn),攻擊者的資源快速損耗而補(bǔ)充緩慢,導(dǎo)致攻擊強(qiáng)度明顯降低而且不可長(zhǎng)期持續(xù)。HTTP Flood攻擊則不同,攻擊者并不需要控制大批的傀儡機(jī),取而代之的是通過(guò)端口掃描程序在互聯(lián)網(wǎng)上尋找匿名的HTTP代理或者SOCKS代理,攻擊者通過(guò)匿名代理對(duì)攻擊目標(biāo)發(fā)起HTTP請(qǐng)求。匿名代理是一種比較豐富的資源,花幾天時(shí)間獲取代理并不是難事,因此攻擊容易發(fā)起而且可以長(zhǎng)期高強(qiáng)度的持續(xù)。
公司簡(jiǎn)介 | 媒體優(yōu)勢(shì) | 廣告服務(wù) | 客戶寄語(yǔ) | DOIT歷程 | 誠(chéng)聘英才 | 聯(lián)系我們 | 會(huì)員注冊(cè) | 訂閱中心
Copyright © 2013 DOIT Media, All rights Reserved. 北京楚科信息技術(shù)有限公司 版權(quán)所有.