發(fā)布時(shí)間:2024-04-11 文章來(lái)源:深度系統(tǒng)下載 瀏覽:
1.1DoS與DDoS的基本概念 “DoS”是Denial of Service,拒絕服務(wù)的縮寫。所謂的拒絕服務(wù)是當(dāng)前網(wǎng)絡(luò)攻擊手段中最常見的一種。它故意攻擊網(wǎng)絡(luò)協(xié)議的缺陷或直接通過(guò)某種手段耗盡被攻擊對(duì)象的資源,目的是讓目標(biāo)計(jì)算機(jī)或網(wǎng)絡(luò)無(wú)法提供正常的服務(wù)或資源訪問,使目標(biāo)系統(tǒng)服務(wù)停止響應(yīng)甚至崩潰,而最值得注意的是,攻擊者在此攻擊中并不入侵目標(biāo)服務(wù)器或目標(biāo)網(wǎng)絡(luò)設(shè)備,單純利用網(wǎng)絡(luò)缺陷或者暴力消耗即可達(dá)到目的。 從原理上來(lái)說(shuō),無(wú)論攻擊者的攻擊目標(biāo)(服務(wù)器、計(jì)算機(jī)或網(wǎng)絡(luò)服務(wù))的處理速度多快、內(nèi)存容量多大、網(wǎng)絡(luò)帶寬的速度多快都無(wú)法避免這種攻擊帶來(lái)的后果。任何資源都有一個(gè)極限,所以攻擊者總能找到一個(gè)方法使請(qǐng)求的值大于該極限值,導(dǎo)致所提供的服務(wù)資源耗盡。 從技術(shù)分類的角度上來(lái)說(shuō),最常見的DoS攻擊有對(duì)計(jì)算機(jī)網(wǎng)絡(luò)的帶寬攻擊和連通性攻擊。帶寬攻擊指以極大的通信量沖擊網(wǎng)絡(luò),使得所有可用網(wǎng)絡(luò)資源都被消耗殆盡,最后導(dǎo)致合法用戶的請(qǐng)求無(wú)法通過(guò)。連通性攻擊指用大量的連接請(qǐng)求沖擊服務(wù)器或計(jì)算機(jī),使得所有可用的操作系統(tǒng)資源都被消耗殆盡,最終計(jì)算機(jī)無(wú)法再處理合法用戶的請(qǐng)求。 在網(wǎng)絡(luò)還不發(fā)達(dá)的時(shí)候,單一的DoS攻擊一般是采用一對(duì)一的方式,也就是攻擊者直接利用自己的計(jì)算機(jī)或者設(shè)備,對(duì)攻擊目標(biāo)發(fā)起DoS攻擊。當(dāng)攻擊目標(biāo)處在硬件性能低下、網(wǎng)絡(luò)連接情況不好等情況的時(shí)候,一對(duì)一的DoS攻擊效果是非常明顯的,很有可能直接一個(gè)攻擊者就搞定一個(gè)網(wǎng)站或者一個(gè)服務(wù)器,讓它拒絕服務(wù)。 隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的發(fā)展,硬件設(shè)備的處理性能加速度增長(zhǎng),成本也變得非常低廉,網(wǎng)絡(luò)的快速發(fā)展更是讓帶寬、出入口節(jié)點(diǎn)寬度等大大的提升,這讓傳統(tǒng)的DoS攻擊很難湊效。 舉個(gè)不太確切的例子來(lái)說(shuō):假使20年以前,攻擊者利用自己的計(jì)算機(jī)對(duì)一個(gè)目標(biāo)服務(wù)器發(fā)起DoS攻擊,他通過(guò)編寫程序,實(shí)現(xiàn)多線程數(shù)據(jù)發(fā)送,每秒給服務(wù)器發(fā)送5000個(gè)數(shù)據(jù)包(示例數(shù)據(jù),沒有實(shí)質(zhì)意義),服務(wù)器一會(huì)就無(wú)法正常訪問了;但是換到今天,就算攻擊者的計(jì)算機(jī)使用頂級(jí)的個(gè)人計(jì)算機(jī)硬件,用最好的配置發(fā)起DoS攻擊,如果采用傳統(tǒng)的攻擊方法的話,每秒給服務(wù)器發(fā)送20000個(gè)數(shù)據(jù)包(示例數(shù)據(jù),沒有實(shí)質(zhì)意義),但是服務(wù)器每秒已經(jīng)可以輕松的處理20000000個(gè)數(shù)據(jù)包了,這樣的攻擊根本就達(dá)不到想要的拒絕服務(wù)效果。 隨著這樣情況的出現(xiàn),攻擊者研究出了新的攻擊手段,也就是DDoS。 DDoS是在傳統(tǒng)的DoS攻擊基礎(chǔ)之上產(chǎn)生的一種新的攻擊方式,即Distributed Denial Of Service,分布式拒絕服務(wù)攻擊。 如果說(shuō)計(jì)算機(jī)與網(wǎng)絡(luò)的處理能力比以往加大了10倍的話(示例數(shù)據(jù),沒有實(shí)質(zhì)意義),那攻擊者使用10臺(tái)計(jì)算機(jī)同時(shí)進(jìn)行攻擊呢?也就達(dá)到了可以讓目標(biāo)拒絕服務(wù)的目的。簡(jiǎn)單來(lái)說(shuō),DDoS就是利用更多的計(jì)算機(jī)來(lái)發(fā)起攻擊。 就技術(shù)實(shí)現(xiàn)方式來(lái)分析,分布式拒絕服務(wù)攻擊就是攻擊者利用入侵手段,控制幾百臺(tái),或者成千上萬(wàn)臺(tái)計(jì)算機(jī)(一般被控制的計(jì)算機(jī)叫做傀儡主機(jī),或者口頭被網(wǎng)絡(luò)安全相關(guān)人員稱為“肉雞”),然后在這些計(jì)算機(jī)上安裝大量的DDoS程序。這些程序接受來(lái)自攻擊者的控制命令,攻擊者同時(shí)啟動(dòng)全部傀儡主機(jī)向目標(biāo)服務(wù)器發(fā)起拒絕服務(wù)攻擊,形成一個(gè)DoS攻擊群,猛烈的攻擊目標(biāo),這樣能極為暴力的將原本處理能力很強(qiáng)的目標(biāo)服務(wù)器攻陷。 通過(guò)上面的分析,可以看出DDoS與DoS的最大區(qū)別是數(shù)量級(jí)的關(guān)系,DoS相對(duì)于DDoS來(lái)說(shuō)就像是一個(gè)個(gè)體,而DDoS是無(wú)數(shù)DoS的集合。另一方面,DDoS攻擊方式較為自動(dòng)化,攻擊者可以把他的程序安裝到網(wǎng)絡(luò)中的多臺(tái)機(jī)器上,所采用的這種攻擊方式很難被攻擊對(duì)象察覺,直到攻擊者發(fā)下統(tǒng)一的攻擊命令,這些機(jī)器才同時(shí)發(fā)起進(jìn)攻?梢哉f(shuō)DDoS攻擊是由黑客集中控制發(fā)動(dòng)的一組DoS攻擊的集合,現(xiàn)在這種方式被認(rèn)為是最有效的攻擊形式,并且非常難以抵擋。 1.2經(jīng)典DoS攻擊類型 DoS攻擊存在很多經(jīng)典的種類,從理清技術(shù)發(fā)展脈絡(luò)的角度,下面簡(jiǎn)單介紹了他們的名稱、原理和基本的攻擊方式。 1.2.1死亡之 ping “ping of death”又稱“死亡之 ping”,之所以第一個(gè)首先列舉它,是因?yàn)楹芫靡郧埃痪W(wǎng)絡(luò)媒體夸大的轟轟烈烈的“中美黑客大戰(zhàn)”上,主要的攻擊方式就是他。其實(shí)死亡之ping是利用的ICMP,F(xiàn)在微軟系列操作系統(tǒng)中的命令行中都有ping存在,ping程序?qū)嶋H就是使用的ICMP。本來(lái)在正常的情況下,TCP/IP的RFC文檔中對(duì)包的最大尺寸都有嚴(yán)格限制規(guī)定,許多操作系統(tǒng)的TCP/IP協(xié)議棧都規(guī)定ICMP 包大小為64KB,且在對(duì)包的標(biāo)題頭進(jìn)行讀取之后,要根據(jù)該標(biāo)題頭里包含的信息來(lái)為有效載荷生成緩沖區(qū)。但是“Ping of Death”故意產(chǎn)生畸形的測(cè)試Ping包,加載的尺寸超過(guò)64KB的上限,使未采取保護(hù)措施的網(wǎng)絡(luò)系統(tǒng)出現(xiàn)內(nèi)存分配錯(cuò)誤,導(dǎo)致TCP/IP協(xié)議棧崩潰,最終達(dá)到目標(biāo)拒絕服務(wù)的目的。 1.2.2淚滴 “teardrop”,又稱“淚滴”:IP數(shù)據(jù)包在網(wǎng)絡(luò)傳遞時(shí),數(shù)據(jù)包可以分成更小的片段。攻擊者可以通過(guò)發(fā)送兩段(或者更多)數(shù)據(jù)包來(lái)實(shí)現(xiàn)TearDrop攻擊。第一個(gè)包的偏移量為0,長(zhǎng)度為N,第二個(gè)包的偏移量小于N。為了合并這些數(shù)據(jù)段,TCP/IP堆棧會(huì)分配超乎尋常的巨大資源,從而造成系統(tǒng)資源的缺乏甚至機(jī)器的重新啟動(dòng),達(dá)到攻擊者需要的拒絕服務(wù)的目的。 1.2.3 UDP洪水 “UDP flood”又稱“UDP洪水”:UDP flood最開始一般應(yīng)用在針對(duì)UNIX類的服務(wù)器上,攻擊者通過(guò)偽造與某一主機(jī)的Chargen服務(wù)之間的一次的 UDP 連接,回復(fù)地址指向開著Echo 服務(wù)的一臺(tái)主機(jī),通過(guò)將Chargen 和 Echo服務(wù)互指,來(lái)回傳送毫無(wú)用處且占滿帶寬的垃圾數(shù)據(jù),在兩臺(tái)主機(jī)之間生成足夠多的無(wú)用數(shù)據(jù)流,這一拒絕服務(wù)攻擊飛快地導(dǎo)致網(wǎng)絡(luò)可用帶寬耗盡。 1.2.4 SYN洪水 “SYN flood”又稱“SYN洪水”:當(dāng)用戶進(jìn)行一次標(biāo)準(zhǔn)的TCP(Transmission Control Protocol)連接時(shí),會(huì)有一個(gè)三次握手的過(guò)程。首先請(qǐng)求服務(wù)方發(fā)送一個(gè)SYN消息,服務(wù)方收到SYN后,會(huì)向請(qǐng)求方回送一個(gè)SYN-ACK表示確認(rèn),當(dāng)請(qǐng)求方收到SYN-ACK后,再次向服務(wù)方發(fā)送一個(gè)ACK消息,這樣下來(lái)一次TCP連接就建立成功了。 “SYN Flood”專門針對(duì)TCP協(xié)議棧在兩臺(tái)主機(jī)間初始化連接握手的過(guò)程進(jìn)行DoS攻擊,它在實(shí)現(xiàn)過(guò)程中只進(jìn)行前2個(gè)步驟:當(dāng)服務(wù)方收到請(qǐng)求方的SYN-ACK確認(rèn)消息后,請(qǐng)求方由于采用源地址欺騙等手段使得服務(wù)方收不到ACK回應(yīng),于是服務(wù)方會(huì)在一定時(shí)間處于等待接收請(qǐng)求方ACK消息的狀態(tài)。而對(duì)于某臺(tái)服務(wù)器來(lái)說(shuō),可用的TCP連接是有限的,因?yàn)樗麄冎挥杏邢薜膬?nèi)存緩沖區(qū)用于創(chuàng)建連接,如果這一緩沖區(qū)充滿了虛假連接的初始信息,該服務(wù)器就會(huì)對(duì)接下來(lái)的連接停止響應(yīng),直至緩沖區(qū)里的連接企圖超時(shí)。如果惡意攻擊方快速連續(xù)地發(fā)送此類連接請(qǐng)求,該服務(wù)器可用的TCP連接隊(duì)列將很快被阻塞,系統(tǒng)可用資源急劇減少,網(wǎng)絡(luò)可用帶寬迅速縮小,長(zhǎng)此下去,除了少數(shù)幸運(yùn)用戶的請(qǐng)求可以插在大量虛假請(qǐng)求間得到應(yīng)答外,服務(wù)器將無(wú)法向用戶提供正常的合法服務(wù)。 這個(gè)攻擊方式到今天都有很多攻擊者使用,后續(xù)的章節(jié)中我們將對(duì)此攻擊方式進(jìn)行詳細(xì)分析。 1.2.5 IP欺騙攻擊 這種攻擊利用TCP協(xié)議棧的RST來(lái)實(shí)現(xiàn),使用IP欺騙迫使服務(wù)器把合法用戶的連接復(fù)位,影響合法用戶的連接。假設(shè)現(xiàn)在有一個(gè)合法用戶(123. 123. 123. 123)已經(jīng)同服務(wù)器建立了正常的連接,攻擊者構(gòu)造攻擊的TCP數(shù)據(jù),偽裝自己的IP為123. 123. 123. 123,并向服務(wù)器發(fā)送一個(gè)帶有RST位的TCP數(shù)據(jù)段。服務(wù)器接收到這樣的數(shù)據(jù)后,認(rèn)為從123. 123. 123. 123發(fā)送的連接有錯(cuò)誤,就會(huì)清空緩沖區(qū)中已建立好的連接。這時(shí),合法用戶123. 123. 123. 123再發(fā)送合法數(shù)據(jù),服務(wù)器就已經(jīng)沒有這樣的連接了,該用戶就被拒絕服務(wù)而只能重新開始建立新的連接。 1.3新型DDoS攻擊分類 隨著技術(shù)的發(fā)展,很多新的防范技術(shù)和硬件層出不窮的推出,以往老舊的DoS攻擊方式已經(jīng)被淘汰了很多,極少數(shù)單一的DoS攻擊還頑強(qiáng)的存在著,但是DDoS攻擊開始取代DoS,更多新的DDoS攻擊方式出現(xiàn)了。 從技術(shù)類別上將,目前的網(wǎng)絡(luò)情況中,DoS和DDoS當(dāng)前主要有三種流行的概括性分類。 1.3.1經(jīng)過(guò)升級(jí)和變化的SYN/ACK Flood攻擊。 這種攻擊方法是經(jīng)典最有效的DoS方法,從原理上來(lái)說(shuō)是可以通殺各種系統(tǒng)的網(wǎng)絡(luò)服務(wù),因?yàn)樗募夹g(shù)核心是通過(guò)向受害主機(jī)發(fā)送大量偽造源IP和源端口的SYN或ACK 包,導(dǎo)致主機(jī)的緩存資源被耗盡或忙于發(fā)送回應(yīng)包而造成拒絕服務(wù)。 原本單一的DoS攻擊比較好防御,但是攻擊者將整個(gè)攻擊方式應(yīng)用到了DDoS中,利用龐大的僵尸網(wǎng)絡(luò)來(lái)發(fā)起這樣的攻擊,使整個(gè)攻擊方式的威力得打極大的提升,是今天依然很流行的一種DDoS攻擊方式。 1.3.2TCP全連接攻擊。 在很多防火墻產(chǎn)品開始為網(wǎng)絡(luò)提供保護(hù)以后,出現(xiàn)了這種新的DDoS攻擊方式,可以說(shuō)它就是為了繞過(guò)或者突破常規(guī)防火墻阻擋而存在的。 一般情況下,常規(guī)防火墻大多具備過(guò)濾TearDrop、Land等傳統(tǒng)DoS攻擊的技術(shù)能力,但是他們對(duì)用戶正常的TCP連接是允許通過(guò)的,也就是說(shuō)對(duì)用戶的正常訪問不限制。但是很多網(wǎng)絡(luò)服務(wù)程序,比如IIS、Apache等Web服務(wù)器能接受的TCP連接數(shù)是有限的,一旦有大量的TCP連接,即便是正常的,也會(huì)導(dǎo)致網(wǎng)站訪問非常緩慢甚至拒絕服務(wù)無(wú)法訪問。TCP全連接攻擊就是通過(guò)許多僵尸主機(jī)不斷地與被攻擊服務(wù)器建立大量的TCP連接,直到服務(wù)器的內(nèi)存等資源被耗盡而被拖跨,從而造成拒絕服務(wù)。 這種攻擊的特點(diǎn)是可繞過(guò)一般防火墻的防護(hù)而達(dá)到攻擊目的,缺點(diǎn)是需要找很多僵尸主機(jī),并且由于僵尸主機(jī)的IP是暴露的,因此容易被追蹤。 1.3.3基于腳本的DDoS攻擊 基于腳本的DDoS攻擊是很新的一種攻擊技術(shù),它主要針對(duì)的是ASP、JSP、PHP、CGI等腳本程序,利用腳本程序一般都需要調(diào)用Microsoft SQL Server、MySQL、Oracle等數(shù)據(jù)庫(kù)的情況,利用正常的腳本功能,和服務(wù)器建立絲毫沒有異常的TCP連接,不斷的向腳本程序提交查詢、列表等大量耗費(fèi)數(shù)據(jù)庫(kù)資源的請(qǐng)求,以攻擊者極小的資源消耗,迫使服務(wù)器承受極大的運(yùn)行壓力,以達(dá)到拒絕服務(wù)的目的。 一般來(lái)說(shuō),用戶提交一個(gè)GET或POST請(qǐng)求,對(duì)用戶自己來(lái)說(shuō),耗費(fèi)和帶寬的占用是幾乎可以忽略的,而服務(wù)器為處理此請(qǐng)求卻可能要從數(shù)據(jù)庫(kù)的上萬(wàn)條記錄中去查出這個(gè)記錄,這種處理過(guò)程對(duì)資源的耗費(fèi)相對(duì)于用戶來(lái)說(shuō)是比較大的,而對(duì)于用戶來(lái)說(shuō)消耗卻是很小的。因此攻擊者只需通過(guò)代理向主機(jī)服務(wù)器大量遞交查詢或者消耗資源比較大的請(qǐng)求,只需數(shù)分鐘就會(huì)把服務(wù)器資源消耗掉而導(dǎo)致拒絕服務(wù)。 這種攻擊的特點(diǎn)是可以完全繞過(guò)普通的防火墻防護(hù),輕松找一些代理或者代理服務(wù)器就可實(shí)施攻擊。、 1.3.4穿專業(yè)的抗DDoS防火墻 這種攻擊手法是將來(lái)流行的攻擊方法,利用抗DDoS防火墻本身弱點(diǎn)發(fā)起的新型攻擊手段,都在試圖穿過(guò)抗DDoS防火墻。但現(xiàn)在這種技術(shù)都在圈內(nèi),不對(duì)外公布,所以知道的人了了無(wú)幾,如果這種方法及工具流出的話,將會(huì)引起一場(chǎng)安全界內(nèi)的動(dòng)蕩。 這就是常見的DoS/DDoS攻擊手段,有不對(duì)不處望朋友指正。 |
上一篇: