吳曉春 張豐驛
(1.防城港市環(huán)境監(jiān)測(cè)站,廣西 防城港 538001;
2.廣西廣播電視大學(xué)防城港市分校,廣西 防城港 538001)
簡(jiǎn)介基于洪泛法的分布式拒絕服務(wù)攻擊及其防范措施
吳曉春1張豐驛2
(1.防城港市環(huán)境監(jiān)測(cè)站,廣西 防城港 538001;
2.廣西廣播電視大學(xué)防城港市分校,廣西 防城港 538001)
分布式拒絕服務(wù)攻擊是利用網(wǎng)絡(luò)資源和被攻擊的目標(biāo)主機(jī)的處理能力不對(duì)稱的特點(diǎn)讓被攻擊主機(jī)由于一直處于超負(fù)荷運(yùn)行狀態(tài)而無(wú)法響應(yīng)新請(qǐng)求的一種攻擊手段。由于因特網(wǎng)的分布特性,哪怕在技術(shù)發(fā)展迅猛的今天,拒絕服務(wù)攻擊仍然是互聯(lián)網(wǎng)上需要解決的難題之一。文章回顧了基于洪泛法的分布式拒絕服務(wù)攻擊的類型并對(duì)每種類型的攻擊手段和特點(diǎn)進(jìn)行了詳細(xì)討論,最后總結(jié)了當(dāng)前針對(duì)拒絕服務(wù)攻擊的主流解決方法。
拒絕服務(wù)攻擊;Dos/Ddos;網(wǎng)絡(luò)攻擊
拒絕服務(wù)攻擊(DoS Attack)的出現(xiàn)源于讓目標(biāo)感染用戶無(wú)法正常使用網(wǎng)絡(luò)服務(wù)和網(wǎng)絡(luò)資源。盡管人們?yōu)榱朔婪端度肓司薮蟮娜肆ξ锪拓?cái)力,但仍然無(wú)法有效的解決這個(gè)棘手的問(wèn)題,原因很簡(jiǎn)單,因?yàn)橐蛱鼐W(wǎng)上的資源十分有限,不管是帶寬,服務(wù)器的處理能力,還是存儲(chǔ)空間大小等等,這些有限得資源都能被攻擊者利用。當(dāng)然,人們可以利用資源的有效合理分配算法來(lái)填補(bǔ)這些漏洞,“亡羊補(bǔ)牢”固然不晚,但是在技術(shù)飛躍發(fā)展的今天,這個(gè)漏洞卻越來(lái)越大,而這個(gè)漏洞的根本成因是因?yàn)橐蛱鼐W(wǎng)安全性是在網(wǎng)上的主機(jī)來(lái)說(shuō)是高度相關(guān)聯(lián)的,也就是說(shuō),你的個(gè)人防火墻可以做得很完美,但這并不意味著你收到的攻擊的概率或者次數(shù)就會(huì)變少,因?yàn)槟闼艿降墓纛愋图肮魯?shù)目是取決于整個(gè)互聯(lián)網(wǎng)的安全性。
拒絕服務(wù)攻擊分為幾種情況,一種比較典型的就是利用系統(tǒng)漏洞對(duì)目標(biāo)主機(jī)進(jìn)行攻擊,這一類的攻擊利用操作系統(tǒng)或者軟件設(shè)計(jì)的缺陷,能夠引起目標(biāo)主機(jī)掉入到無(wú)意義的空運(yùn)算中甚至喪失對(duì)計(jì)算機(jī)的控制能力從而無(wú)法對(duì)用戶提供相應(yīng)服務(wù)。在早期的攻擊行為中,這一種行為比較常見(jiàn),這個(gè)攻擊的解決方法就是打系統(tǒng)補(bǔ)丁,隨著人們逐漸認(rèn)識(shí)到計(jì)算機(jī)安全重要性,這一類攻擊變得越來(lái)越困難。
而分布式拒絕服務(wù)攻擊卻是利用網(wǎng)絡(luò)資源和目標(biāo)主機(jī)的處理能力不對(duì)稱的特點(diǎn)讓目標(biāo)主機(jī)由于一直處于超負(fù)荷運(yùn)行狀態(tài)而無(wú)法響應(yīng)新請(qǐng)求的一種攻擊手段,這種攻擊方法不依賴于具體的網(wǎng)絡(luò)協(xié)議或者特定的系統(tǒng)漏洞。
拒絕服務(wù)攻擊可以是有一個(gè)源主機(jī)(source)往一個(gè)目標(biāo)主機(jī)(destination)發(fā)送大量的攻擊包或者由多個(gè)源向同一個(gè)目標(biāo)主機(jī)同時(shí)發(fā)動(dòng)攻擊這一種攻擊形式也成為直接攻擊(direct attack)。單個(gè)源攻擊單個(gè)主機(jī)的方式相對(duì)簡(jiǎn)單,利用單個(gè)機(jī)器的處理能力帶寬等多方面優(yōu)勢(shì)向目標(biāo)主機(jī)發(fā)起攻擊,從而導(dǎo)致目標(biāo)主機(jī)忙于服務(wù)攻擊者而不能像其他人提供服務(wù)。正是由于其簡(jiǎn)單性,這一類型的攻擊也比較容易防范,對(duì)于攻擊者來(lái)說(shuō)投入的硬件成本也相對(duì)較高,目標(biāo)主機(jī)可以針對(duì)同一地址源來(lái)設(shè)置防火墻即可抵御。在多個(gè)源攻擊同一個(gè)目標(biāo)主機(jī)的方法中攻擊能力開(kāi)始升級(jí),同時(shí)也更加難以防范。在發(fā)動(dòng)攻擊之前,由攻擊者策劃一系列僵尸機(jī)器直接往目標(biāo)主機(jī)發(fā)送大量的攻擊包,從而導(dǎo)致目標(biāo)主機(jī)忙于處理這些垃圾信息而癱瘓。在發(fā)動(dòng)直接攻擊之前,攻擊者需要組織一個(gè)僵尸軍團(tuán),也就是往多個(gè)第三方機(jī)器植入 agent后臺(tái)病毒,這樣在需要發(fā)動(dòng)攻擊的時(shí)候能統(tǒng)一調(diào)度。這一類攻擊方法利用了互聯(lián)網(wǎng)的分布式特點(diǎn),其內(nèi)在思想和現(xiàn)在流行的“云計(jì)算”思想不謀而合。它不依賴于單個(gè)機(jī)器的硬件能力,而是利用分布式原理,利用網(wǎng)絡(luò)上的其他機(jī)器的運(yùn)算能力讓目標(biāo)機(jī)器來(lái)服務(wù)。由于其分布式特征,目標(biāo)機(jī)器無(wú)法利用簡(jiǎn)單的IP規(guī)則來(lái)判別該請(qǐng)求是否是攻擊,使得該類攻擊的成功性較之第一種攻擊更高。雖然如此,多對(duì)一的攻擊方式需要攻擊者往多個(gè)第三方機(jī)器植入后臺(tái)病毒,這種攻擊方式的門檻相對(duì)更高。
另一種攻擊手段可以稱之為映射攻擊(reflector attack),它和直接攻擊相似,只不過(guò)它不是直接往目標(biāo)主機(jī)發(fā)送攻擊包,而通過(guò)路由來(lái)實(shí)現(xiàn)大量攻擊包的傳送。我們知道,因特網(wǎng)之所以取得成功,是因?yàn)樗捎昧薎P體系結(jié)構(gòu)。IP地址隱藏了主機(jī)的實(shí)際地理位置。主機(jī)向服務(wù)器或者另一個(gè)對(duì)等體發(fā)送消息其實(shí)都要經(jīng)過(guò)路由器的轉(zhuǎn)換。路由器會(huì)根據(jù)消息中的IP頭來(lái)確定目標(biāo)主機(jī)所在的位置。如果該目標(biāo)不存在,路由器會(huì)向源主機(jī)發(fā)送目標(biāo)不可達(dá)等通知消息(ICMP)。
映射攻擊方法正是利用了網(wǎng)絡(luò)體系結(jié)構(gòu)特點(diǎn)來(lái)發(fā)起攻擊,它通過(guò)往路由器發(fā)送大量數(shù)據(jù)包,但是這些數(shù)據(jù)包所發(fā)往的目的地址都是一些垃圾地址,當(dāng)路由器發(fā)現(xiàn)無(wú)法投遞這些數(shù)據(jù)時(shí)就會(huì)往源主機(jī)發(fā)送通告消息,然而問(wèn)題出現(xiàn)在這里,所有這些數(shù)據(jù)包的源地址都修改為目標(biāo)主機(jī)的地址,由于路由器無(wú)法識(shí)別該地址是被修改過(guò)的,所以會(huì)直接發(fā)送給攻擊者要攻擊的目標(biāo)主機(jī),從而間接地發(fā)生了攻擊行為。當(dāng)整個(gè)攻擊網(wǎng)絡(luò)足夠大的時(shí)候,由于目標(biāo)主機(jī)需要接受成百上千的路由器返回的通告消息,盡管目標(biāo)主機(jī)沒(méi)有發(fā)送過(guò)這些消息,它收到路由器傳送過(guò)來(lái)的通告消息后會(huì)默認(rèn)選擇丟棄,然而這些通告消息會(huì)消耗目標(biāo)主機(jī)的帶寬資源,大量無(wú)用消息的傳送同樣會(huì)使目標(biāo)主機(jī)癱瘓。映射攻擊由于它利用了因特網(wǎng)的路由器,所以它較直接攻擊更為隱蔽也更加難以追蹤,同時(shí)防范它的措施更加困難。但是并不是說(shuō)映射攻擊就是萬(wàn)能的。由于這種方法需要用到路由器的轉(zhuǎn)發(fā)功能,為了產(chǎn)生足夠大的垃圾信息,攻擊者需要準(zhǔn)確計(jì)算路由器的轉(zhuǎn)發(fā)時(shí)間和效率才能耗費(fèi)完目標(biāo)主機(jī)的帶寬資源而使之癱瘓。然而因?yàn)橥ㄟ^(guò)路由器的信息非常龐大,攻擊者的攻擊信息并不一定能夠按照預(yù)定的時(shí)間到達(dá)目標(biāo)主機(jī)從而使攻擊失效。
為了防范分布式拒絕服務(wù)攻擊,人們提出了多種方法,一類方法是基于防火墻的方法,其中之一是在因特網(wǎng)主干網(wǎng)上面增設(shè)數(shù)據(jù)包過(guò)濾,由于主干網(wǎng)擁有 BGP信息,所以可以很容易分析通過(guò)主干網(wǎng)上面的數(shù)據(jù)的來(lái)源從而判斷出該信息是不是有效的。然而這種方法卻是以損耗主干網(wǎng)路由器的處理性能為前提的,如果數(shù)據(jù)量過(guò)大將損害主干網(wǎng)性能。另外一種方法相類似,不過(guò)它不是在主干網(wǎng)上設(shè)置,而是采用了幾個(gè)點(diǎn)做檢測(cè),然而由于缺少 BGP信息,這種方法很有可能發(fā)生誤檢的事情。
另一類方法是從目標(biāo)主機(jī)角度出發(fā),構(gòu)建更加強(qiáng)大的防火墻機(jī)制,包括利用數(shù)據(jù)挖掘技術(shù)和預(yù)測(cè)機(jī)制來(lái)判斷檢測(cè)拒絕服務(wù)攻擊。然而由于防范拒絕服務(wù)攻擊的實(shí)時(shí)性以及這些方法都需要耗費(fèi)一定的計(jì)算能力,雖然從某種角度來(lái)說(shuō)解決了問(wèn)題,但同樣也降低了主機(jī)的性能。這是系統(tǒng)設(shè)計(jì)者在設(shè)計(jì)時(shí)需要考慮的。
由于拒絕服務(wù)攻擊并不單單是個(gè)體行為,發(fā)生攻擊的同時(shí)會(huì)消耗整個(gè)互聯(lián)網(wǎng)的帶寬等資源,所以從長(zhǎng)遠(yuǎn)來(lái)說(shuō),問(wèn)題的根本解決方法是在全球的因特網(wǎng)上構(gòu)建一個(gè)安全架構(gòu),在主干網(wǎng)的路由防火墻假設(shè)一道防火墻,同時(shí)利用IPv6的安全特性解決這些問(wèn)題。
[1] Rocky K.C. Chang. Defending against Flooding-Based Distributed Denial-of-Service Attacks: A Tutorial. IEEE Communications Magazine, October 2002.
[2] Internet Denial-of-Service Considerations[M].The IETF Trust(2006).
[3] 高能,馮登國(guó),向繼.一種基于數(shù)據(jù)挖掘的拒絕服務(wù)攻擊檢測(cè)技術(shù)[J].計(jì)算機(jī)學(xué)報(bào),2006,29(6):944-950.
TP393
A
1008-1151(2011)05-0040-01
2011-02-22
吳曉春,男,防城港市環(huán)境監(jiān)測(cè)站助理工程師,研究方向?yàn)橹攸c(diǎn)污染源自動(dòng)在線監(jiān)測(cè)設(shè)施管理與網(wǎng)絡(luò)維護(hù)。