ddos攻擊有什么特點(diǎn)
分布式拒絕服務(wù)(DDoS:Distributed Denial of Service)攻擊指借助于客戶/服務(wù)器技術(shù),將多個(gè)計(jì)算機(jī)聯(lián)合起來作為攻擊平臺(tái),對(duì)一個(gè)或多個(gè)目標(biāo)發(fā)動(dòng)DDoS攻擊,從而成倍地提高拒絕服務(wù)攻擊的威力。通常,攻擊者使用一個(gè)偷竊帳號(hào)將DDoS主控程序安裝在一個(gè)計(jì)算機(jī)上,在一個(gè)設(shè)定的時(shí)間主控程序?qū)⑴c大量代理程序通訊,代理程序已經(jīng)被安裝在網(wǎng)絡(luò)上的許多計(jì)算機(jī)上。代理程序收到指令時(shí)就發(fā)動(dòng)攻擊。利用客戶/服務(wù)器技術(shù),主控程序能在幾秒鐘內(nèi)激活成百上千次代理程序的運(yùn)行。
DDoS攻擊通過大量合法的請(qǐng)求占用大量網(wǎng)絡(luò)資源,以達(dá)到癱瘓網(wǎng)絡(luò)的目的。這種攻擊方式可分為以下幾種:
通過使網(wǎng)絡(luò)過載來干擾甚至阻斷正常的網(wǎng)絡(luò)通訊;
通過向服務(wù)器提交大量請(qǐng)求,使服務(wù)器超負(fù)荷;
阻斷某一用戶訪問服務(wù)器;
阻斷某服務(wù)與特定系統(tǒng)或個(gè)人的通訊。
ddos攻擊定義:
DoS是Denial of Service的簡稱,即拒絕服務(wù),造成DoS的攻擊行為被稱為DoS攻擊,其目的是使計(jì)算機(jī)或網(wǎng)絡(luò)無法提供正常的服務(wù)。最常見的DoS攻擊有計(jì)算機(jī)網(wǎng)絡(luò)帶寬攻擊和連通性攻擊。
概念理解作個(gè)形象的比喻來理解DoS。街頭的餐館是為大眾提供餐飲服務(wù),如果一群地痞流氓要DoS餐館的話,手段會(huì)很多,比如霸占著餐桌不結(jié)賬,堵住餐館的大門不讓路,騷擾餐館的服務(wù)員或廚子不能干活,甚至更惡劣……相應(yīng)的計(jì)算機(jī)和網(wǎng)絡(luò)系統(tǒng)則是為Internet用戶提供互聯(lián)網(wǎng)資源的,如果有黑客要進(jìn)行DoS攻擊的話,可以想象同樣有好多手段!今天最常見的DoS攻擊有對(duì)計(jì)算機(jī)網(wǎng)絡(luò)的帶寬攻擊和連通性攻擊。帶寬攻擊指以極大的通信量沖擊網(wǎng)絡(luò),使得所有可用網(wǎng)絡(luò)資源都被消耗殆盡,最后導(dǎo)致合法的用戶請(qǐng)求無法通過。連通性攻擊指用大量的連接請(qǐng)求沖擊計(jì)算機(jī),使得所有可用的操作系統(tǒng)資源都被消耗殆盡,最終計(jì)算機(jī)無法再處理合法用戶的請(qǐng)求。
傳統(tǒng)上,攻擊者所面臨的主要問題是網(wǎng)絡(luò)帶寬,由于較小的網(wǎng)絡(luò)規(guī)模和較慢的網(wǎng)絡(luò)速度的限制,攻擊者無法發(fā)出過多的請(qǐng)求。雖然類似“the ping of death”的攻擊類型只需要較少量的包就可以摧毀一個(gè)沒有打過補(bǔ)丁的UNIX系統(tǒng),但大多數(shù)的DoS攻擊還是需要相當(dāng)大的帶寬的,而以個(gè)人為單位的黑客們很難使用高帶寬的資源。為了克服這個(gè)缺點(diǎn),DoS攻擊者開發(fā)了分布式的攻擊。攻擊者簡單利用工具集合許多的網(wǎng)絡(luò)帶寬來同時(shí)對(duì)同一個(gè)目標(biāo)發(fā)動(dòng)大量的攻擊請(qǐng)求,這就是DDoS(Distributed Denial of Service)攻擊。
特點(diǎn):
無論是DoS攻擊還是DDoS攻擊,簡單的看,都只是一種破壞網(wǎng)絡(luò)服務(wù)的黑客方式,雖然具體的實(shí)現(xiàn)方式千變?nèi)f化,但都有一個(gè)共同點(diǎn),就是其根本目的是使受害主機(jī)或網(wǎng)絡(luò)無法及時(shí)接收并處理外界請(qǐng)求,或無法及時(shí)回應(yīng)外界請(qǐng)求。其具體表現(xiàn)方式有以下幾種:
1.制造大流量無用數(shù)據(jù),造成通往被攻擊主機(jī)的網(wǎng)絡(luò)擁塞,使被攻擊主機(jī)無法正常和外界通信。
2.利用被攻擊主機(jī)提供服務(wù)或傳輸協(xié)議上處理重復(fù)連接的缺陷,反復(fù)高頻的發(fā)出攻擊性的重復(fù)服務(wù)請(qǐng)求,使被攻擊主機(jī)無法及時(shí)處理其它正常的請(qǐng)求。
3.利用被攻擊主機(jī)所提供服務(wù)程序或傳輸協(xié)議的本身實(shí)現(xiàn)缺陷,反復(fù)發(fā)送畸形的攻擊數(shù)據(jù)引發(fā)系統(tǒng)錯(cuò)誤的分配大量系統(tǒng)資源,使主機(jī)處于掛起狀態(tài)甚至死機(jī)。
攻擊流程要理解dos攻擊,首先要理解TCP連接的三次握手過程(Three-wayhandshake)。在TCP/IP協(xié)議中,TCP協(xié)議提供可靠的連接服務(wù),采用三次握手建立一個(gè)連接。
第一次握手:建立連接時(shí),客戶端發(fā)送SYN包((SYN=i)到服務(wù)器,并進(jìn)入SYN SEND狀態(tài),等待服務(wù)器確認(rèn);
第二次握手:服務(wù)器收到SYN包,必須確認(rèn)客戶的SYN (ACK=i+1 ),同時(shí)自己也發(fā)送一個(gè)SYN包((SYN=j)}即SYN+ACK包,此時(shí)服務(wù)器進(jìn)入S
YN_RECV狀態(tài);
第三次握手:客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認(rèn)包ACK(ACK=j+1),此包發(fā)送完畢,客戶端和服務(wù)器進(jìn)入ESTABLISHED狀態(tài),完成三次握手,客戶端與服務(wù)器開始傳送數(shù)據(jù)。
在上述過程中,還有一些重要的概念:
半連接:收到SYN包而還未收到ACK包時(shí)的連接狀態(tài)稱為半連接,即尚未完全完成三次握手的TCP連接。
半連接隊(duì)列:在三次握手協(xié)議中,服務(wù)器維護(hù)一個(gè)半連接隊(duì)列,該隊(duì)列為每個(gè)客戶端的SYN包(SYN=i )開設(shè)一個(gè)條目,該條目表明服務(wù)器已收到SYN包,并向客戶發(fā)出確認(rèn),正在等待客戶的確認(rèn)包。這些條目所標(biāo)識(shí)的連接在服務(wù)器處于SYN_ RECV狀態(tài),當(dāng)服務(wù)器收到客戶的確認(rèn)包時(shí),刪除該條目,服務(wù)器進(jìn)入ESTABLISHED狀態(tài)。
Backlog參數(shù):表示半連接隊(duì)列的最大容納數(shù)目。
SYN-ACK重傳次數(shù):服務(wù)器發(fā)送完SYN-ACK包,如果未收到客戶確認(rèn)包,服務(wù)器進(jìn)行首次重傳,等待一段時(shí)間仍未收到客戶確認(rèn)包,進(jìn)行第二次重傳,如果重傳次數(shù)超過系統(tǒng)規(guī)定的最大重傳次數(shù),系統(tǒng)將該連接信息、從半連接隊(duì)列中刪除。注意,每次重傳等待的時(shí)間不一定相同。
半連接存活時(shí)間:是指半連接隊(duì)列的條目存活的最長時(shí)間,也即服務(wù)從收到SYN包到確認(rèn)這個(gè)報(bào)文無效的最長時(shí)間,該時(shí)間值是所有重傳請(qǐng)求包的最長等待時(shí)間總和。有時(shí)也稱半連接存活時(shí)間為Timeout時(shí)間、SYN_RECV存活時(shí)間。
上面三個(gè)參數(shù)對(duì)系統(tǒng)的TCP連接狀況有很大影響。
SYN洪水攻擊屬于DoS攻擊的一種,它利用TCP協(xié)議缺陷,通過發(fā)送大量的半連接請(qǐng)求,耗費(fèi)CPU和內(nèi)存資源。SYN攻擊除了能影響主機(jī)外,還可以危害路由器、防火墻等網(wǎng)絡(luò)系統(tǒng),事實(shí)上SYN攻擊并不管目標(biāo)是什么系統(tǒng),只要這些系統(tǒng)打開TCP服務(wù)就可以實(shí)施。從圖4-3可看到,服務(wù)器接收到連接請(qǐng)求(SYN=i )將此信息加入未連接隊(duì)列,并發(fā)送請(qǐng)求包給客戶端( SYN=j,ACK=i+1 ),此時(shí)進(jìn)入SYN_RECV狀態(tài)。當(dāng)服務(wù)器未收到客戶端的確認(rèn)包時(shí),重發(fā)請(qǐng)求包,一直到超時(shí),才將此條目從未連接隊(duì)列刪除。配合IP欺騙,SYN攻擊能達(dá)到很好的效果,通常,客戶端在短時(shí)間內(nèi)偽造大量不存在的IP地址,向服務(wù)器不斷地發(fā)送SYN包,服務(wù)器回復(fù)確認(rèn)包,并等待客戶的確認(rèn),由于源地址是不存在的,服務(wù)器需要不斷的重發(fā)直至超時(shí),這些偽造的SYN包將長時(shí)間占用未連接隊(duì)列,正常的SYN 請(qǐng)求
被丟棄,目標(biāo)系統(tǒng)運(yùn)行緩慢,嚴(yán)重者引起網(wǎng)絡(luò)堵塞甚至系統(tǒng)癱瘓。過程如下:
攻擊主機(jī)C(地址偽裝后為C’)—–大量SYN包—-》被攻擊主機(jī)
C‘《——-SYN/ACK包—-被攻擊主機(jī) 由于C’地址不可達(dá),被攻擊主機(jī)等待SYN包超時(shí)。攻擊主機(jī)通過發(fā)大量SYN包填滿未連接隊(duì)列,導(dǎo)致正常SYN包被拒絕服務(wù)。另外,SYN洪水攻擊還可以通過發(fā)大量ACK包進(jìn)行DoS攻擊。 攻擊手段拒絕服務(wù)攻擊是一種對(duì)網(wǎng)絡(luò)危害巨大的惡意攻擊。今天,DoS具有代表性的攻擊手段包括PingofDeath dos攻擊快閃族 、TearDrop、UDPflood、SYNflood、LandAttack、IPSpoofingDoS等。看看它們又是怎么實(shí)現(xiàn)的。
死亡之ping (pingofdeath)DengKelen ICMP(InternetControlMessageProtocol,Internet控制信息協(xié)議)在Internet上用于錯(cuò)誤處理和傳遞控制信息。最普通的ping程序就是這個(gè)功能。而在TCP/IP的RFC文檔中對(duì)包的最大尺寸都有嚴(yán)格限制規(guī)定,許多操作系統(tǒng)的TCP/IP協(xié)議棧都規(guī)定ICMP包大小為64KB,且在對(duì)包的標(biāo)題頭進(jìn)行讀取之后,要根據(jù)該標(biāo)題頭里包含的信息來為有效載荷生成緩沖區(qū)。”PingofDeath”就是故意產(chǎn)生畸形的測試Ping(PacketInternetGroper)包,聲稱自己的尺寸超過ICMP上限,也就是加載的尺寸超過64KB上限,使未采取保護(hù)措施的網(wǎng)絡(luò)系統(tǒng)出現(xiàn)內(nèi)存分配錯(cuò)誤,導(dǎo)致TCP/IP協(xié)議棧崩潰,最終接收方宕機(jī)。
淚滴 淚滴攻擊利用在TCP/IP協(xié)議棧實(shí)現(xiàn)中信任IP碎片中的包的標(biāo)題頭所包含的信息來實(shí)現(xiàn)自己的攻擊。IP分段含有指示該分段所包含的是原包的哪一段的信息,某些TCP/IP協(xié)議棧(例如NT在servicepack4以前)在收到含有重疊偏移的偽造分段時(shí)將崩潰。
UDP泛洪 (UDPflood) UDPflood攻擊:如今在Internet上UDP(用戶數(shù)據(jù)包協(xié)議)的應(yīng)用比較廣泛,很多提供WWW和Mail等服務(wù)設(shè)備通常是使用Unix的服務(wù)器,它們默認(rèn)打開一些被黑客惡意利用的UDP服務(wù)。如echo服務(wù)會(huì)顯示接收到的每一個(gè)數(shù)據(jù)包,而原本作為測試功能的chargen服務(wù)會(huì)在收到每一個(gè)數(shù)據(jù)包時(shí)隨機(jī)反饋一些字符。UDPflood假冒攻擊就是利用這兩個(gè)簡單的TCP/IP服務(wù)的漏洞進(jìn)行惡意攻擊,通過偽造與某一主機(jī)的Chargen服務(wù)之間的一次的UDP連接,回復(fù)地址指向開著Echo服務(wù)的一臺(tái)主機(jī),通過將Chargen和Echo服務(wù)互指,來回傳送毫無用處且占滿帶寬的垃圾數(shù)據(jù),在兩臺(tái)主機(jī)之間生成足夠多的無用數(shù)據(jù)流,這一拒絕服務(wù)攻擊飛快地導(dǎo)致網(wǎng)絡(luò)可用帶寬耗盡。
SYN泛洪 (SYNflood) SYNflood攻擊:我們知道當(dāng)用戶進(jìn)行一次標(biāo)準(zhǔn)的TCP(TransmissionControlProtocol)連接時(shí),會(huì)有一個(gè)3次握手過程。首先是請(qǐng)求服務(wù)方發(fā)送一個(gè)SYN(SynchronizeSequenceNumber)消息,服務(wù)方收到SYN后,會(huì)向請(qǐng)求方回送一個(gè)SYN-ACK表示確認(rèn),當(dāng)請(qǐng)求方收到SYN-ACK后,再次向服務(wù)方發(fā)送一個(gè)ACK消息,這樣一次TCP連接建立成功。“SYNFlooding”則專門針對(duì)TCP協(xié)議棧在兩臺(tái)主機(jī)間初始化連接握手的過程進(jìn)行DoS攻擊,其在實(shí)現(xiàn)過程中只進(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ù)器來說,可用的TCP連接是有限的,因?yàn)樗麄冎挥杏邢薜膬?nèi)存緩沖區(qū)用于創(chuàng)建連接,如果這一緩沖區(qū)充滿了虛假連接的初始信息,該服務(wù)器就會(huì)對(duì)接下來的連接停止響應(yīng),直至緩沖區(qū)里的連接企圖超時(shí)。如果惡意攻擊方快速連續(xù)地發(fā)送此類連接請(qǐng)求,該服務(wù)器可用的TCP連接隊(duì)列將很快被阻塞,系統(tǒng)可用資源急劇減少,網(wǎng)絡(luò)可用帶寬迅速縮小,長此下去,除了少數(shù)幸運(yùn)用戶的請(qǐng)求可以插在大量虛假請(qǐng)求間得到應(yīng)答外,服務(wù)器將無法向用戶提供正常的合法服務(wù)。
Land(LandAttack)攻擊 在Land攻擊中,黑客利用一個(gè)特別打造的SYN包–它的原地址和目標(biāo)地址都被設(shè)置成某一個(gè)服務(wù) dos攻擊 器地址進(jìn)行攻擊。此舉將導(dǎo)致接受服務(wù)器向它自己的地址發(fā)送SYN-ACK消息,結(jié)果這個(gè)地址又發(fā)回ACK消息并創(chuàng)建一個(gè)空連接,每一個(gè)這樣的連接都將保留直到超時(shí),在Land攻擊下,許多UNIX將崩潰,NT變得極其緩慢(大約持續(xù)五分鐘)。 IP欺騙 這種攻擊利用TCP協(xié)議棧的RST位來實(shí)現(xiàn),使用IP欺騙,迫使服務(wù)器把合法用戶的連接復(fù)位,影響合法用戶的連接。假設(shè)有一個(gè)合法用戶(100.100.100.100)已經(jīng)同服務(wù)器建了正常的連接,攻擊者構(gòu)造攻擊的TCP數(shù)據(jù),偽裝自己的IP為100.100.100.100,并向服務(wù)器發(fā)送一個(gè)帶有RST位的TCP數(shù)據(jù)段。
服務(wù)器接收到這樣的數(shù)據(jù)后,認(rèn)為從100.100.100.100發(fā)送的連接有錯(cuò)誤,就會(huì)清空緩沖區(qū)中已建立好的連接。這時(shí),合法用戶100.100.100.100再發(fā)送合法數(shù)據(jù),服務(wù)器就已經(jīng)沒有這樣的連接了,該用戶就被拒絕服務(wù)而只能重新開始建立新的連接。攻擊方法具體DoS攻擊方法很多,但大多都可以分為以下幾類: 利用軟件實(shí)現(xiàn)的缺陷 OOB攻擊(常用工具winnuke),teardrop攻擊(常用工具teardrop.cboink.cbonk.c),lan 軟件主流程圖 d攻擊,IGMP碎片包攻擊,jolt攻擊,Cisco2600路由器IOSversion12.0(10)遠(yuǎn)程拒絕服務(wù)攻擊等等,這些攻擊都是利用了被攻擊軟件的實(shí)現(xiàn)上的缺陷完成DoS攻擊的。
通常這些攻擊工具向被攻擊系統(tǒng)發(fā)送特定類型的一個(gè)或多個(gè)報(bào)文,這些攻擊通常都是致命的,一般都是一擊致死,而且很多攻擊是可以偽造源地址的,所以即使通過IDS或者別的sniffer軟件記錄到攻擊報(bào)文也不能找到誰發(fā)動(dòng)的攻擊,而且此類型的攻擊多是特定類型的幾個(gè)報(bào)文,非常短暫的少量的報(bào)文,如果偽造源IP地址的話,使追查工作幾乎是不可能。 那么如何造成這些攻擊的?通常是軟件開發(fā)過程中對(duì)某種特定類型的報(bào)文、或請(qǐng)求沒有處理,導(dǎo)致軟件遇到這種類型的報(bào)文運(yùn)行出現(xiàn)異常,導(dǎo)致軟件崩潰甚至系統(tǒng)崩潰。下面結(jié)合幾個(gè)具體實(shí)例解釋一下這種攻擊的成因。
1997年5月7號(hào)有人發(fā)布了一個(gè)winnuke.c。首先建立一條到Win95/NT主機(jī)的TCP連接,然后發(fā)送TCP緊急數(shù)據(jù),導(dǎo)致對(duì)端系統(tǒng)崩潰。139/TCP是Win95/NT系統(tǒng)最常見的偵聽端口,所以winnuke.c使用了該端口。之所以稱呼這種攻擊為OOB攻擊,因?yàn)镸SG_OOB標(biāo)志,實(shí)際應(yīng)該是TCP緊急數(shù)據(jù)攻擊。 原始teardrop.c只構(gòu)造了兩種碎片包,每次同時(shí)發(fā)送這兩種UDP碎片包。如果指定發(fā)送次數(shù),將完全重復(fù)先前所發(fā)送出去的兩種碎片包。它可以偽造源ip并跨越路由器進(jìn)行遠(yuǎn)程攻擊,影響的系統(tǒng)包括Linux/WinNT/Win95。使用的方法是: teardrop源ip目的ip[-s源端口][-d目的端口][-n次數(shù)] 比較新的一個(gè)DoS攻擊是Windows的SMB實(shí)現(xiàn)中的DoS攻擊,2002年8月發(fā)布,只要允許匿名連接的windows系統(tǒng)就可以進(jìn)行遠(yuǎn)程攻擊,強(qiáng)烈建議Windows用戶打相應(yīng)的補(bǔ)丁。它的方法就是先和目標(biāo)系統(tǒng)建立一個(gè)連接,然后發(fā)送一個(gè)特定的請(qǐng)求,目標(biāo)系統(tǒng)就會(huì)蘭屏。發(fā)布的測試工具SMBdie.exe是圖形界面工具,輸入目標(biāo)地址NETBIOS名稱即可。
從上面的討論可以看出,這種攻擊行為威力很大,而且難于偵察。但真實(shí)情況下它的危害僅現(xiàn)于漏洞發(fā)布后的不長的時(shí)間段內(nèi),相關(guān)廠商會(huì)很快發(fā)布補(bǔ)丁修補(bǔ)這種漏洞。所以上面提到的幾種較老的攻擊在現(xiàn)實(shí)的環(huán)境中,通常是無效的。不過最新的攻擊方法還是讓我們不寒而栗,我們可以做的就是關(guān)注安全漏洞的發(fā)布,及時(shí)打上新的補(bǔ)丁。如果你想偷懶的話,購買專業(yè)安全服務(wù)公司的相關(guān)服務(wù)應(yīng)該是個(gè)更好的選擇。利用協(xié)議的漏洞 如果說上面那種漏洞危害的時(shí)間不是很長,那么這種攻擊的生存能力卻非常強(qiáng)。為了能夠在網(wǎng)絡(luò)上進(jìn)行互通、互聯(lián),所有的軟件實(shí)現(xiàn)都必須遵循既有的協(xié)議,而如果這種協(xié)議存在漏洞的話,所有遵循此協(xié)議的軟件都會(huì)受到影響。
最經(jīng)典的攻擊是synflood攻擊,它利用TCP/IP協(xié)議的漏洞完成攻擊。通常一次TCP連接的建立包括3個(gè)步驟,客戶端發(fā)送SYN包給服務(wù)器端,服務(wù)器分配一定的資源給這里連接并返回SYN/ACK包,并等待連接建立的最后的ACK包,最后客戶端發(fā)送ACK報(bào)文,這樣兩者之間的連接建立起來,并可以通過連接傳送數(shù)據(jù)了。而攻擊的過程就是瘋狂發(fā)送SYN報(bào)文,而不返回ACK報(bào)文,服務(wù)器占用過多資源,而導(dǎo)致系統(tǒng)資源占用過多,沒有能力響應(yīng)別的操作,或者不能響應(yīng)正常的網(wǎng)絡(luò)請(qǐng)求。這個(gè)攻擊是經(jīng)典的以小搏大的攻擊,自己使用少量資源占用對(duì)方大量資源。
一臺(tái)P4的Linux系統(tǒng)大約能發(fā)到30-40M的64字節(jié)的synflood報(bào)文,而一臺(tái)普通的服務(wù)器20M的流量就基本沒有任何響應(yīng)了(包括鼠標(biāo)、鍵盤)。而且synflood不僅可以遠(yuǎn)程進(jìn)行,而且可以偽造源IP地址,給追查造成很大困難,要查找必須所有骨干網(wǎng)絡(luò)運(yùn)營商,一級(jí)一級(jí)路由器的向上查找。 對(duì)于偽造源IP的synflood攻擊,除非攻擊者和被攻擊的系統(tǒng)之間所有的路由器的管理者都配合查找,否 TCP/IP協(xié)議結(jié)構(gòu)圖 則很難追查。當(dāng)前一些防火墻產(chǎn)品聲稱有抗DoS的能力,但通常他們能力有限,包括國外的硬件防火墻大多100M防火墻的抗synflood的能力只有20-30Mbps(64字節(jié)syn包),這里涉及到它們對(duì)小報(bào)文的轉(zhuǎn)發(fā)能力,再大的流量甚至能把防火墻打死機(jī)。有些安全廠商認(rèn)識(shí)到DoS攻擊的危害,開始研發(fā)專用的抗拒絕服務(wù)產(chǎn)品
。 由于TCP/IP協(xié)議相信報(bào)文的源地址,另一種攻擊方式是反射拒絕服務(wù)攻擊,另外可以利用還有廣播地址,和組播協(xié)議輔助反射拒絕服務(wù)攻擊效果更好。不過大多數(shù)路由器都禁止廣播地址和組播協(xié)議的地址。另一類攻擊方式是使用大量符合協(xié)議的正常服務(wù)請(qǐng)求,由于每個(gè)請(qǐng)求耗費(fèi)很大系統(tǒng)資源,導(dǎo)致正常服務(wù)請(qǐng)求不能成功。如HTTP協(xié)議是無狀態(tài)協(xié)議,攻擊者構(gòu)造大量搜索請(qǐng)求,這些請(qǐng)求耗費(fèi)大量服務(wù)器資源,導(dǎo)致DoS。這種方式攻擊比較好處理,由于是正常請(qǐng)求,暴露了正常的源IP地址,禁止這些IP就可以了。 進(jìn)行資源比拼 這種攻擊方式屬于無賴打法,我憑借著手中的資源豐富,發(fā)送大量的垃圾數(shù)據(jù)侵占完你的資源,導(dǎo)致DoS。
比如,ICMPflood,mstreamflood,Connectionflood。為了獲得比目標(biāo)系統(tǒng)更多資源,通常攻擊者會(huì)發(fā)動(dòng)DDoS(DistributedDos分布式拒絕服務(wù))攻擊者控制多個(gè)攻擊傀儡發(fā)動(dòng)攻擊,這樣才能產(chǎn)生預(yù)期的效果。前兩類攻擊是可以偽造IP地址的,追查也是非常困難,第3種攻擊由于需要建立連接,可能會(huì)暴露攻擊傀儡的IP地址,通過防火墻禁止這些IP就可以了。對(duì)于難于追查,禁止的攻擊行為,我們只能期望專用的抗拒絕服務(wù)產(chǎn)品了。攻擊程序smurf、trinoo、tfn、tfn2k以及stacheldraht是比較常見的DoS攻擊程序,本文將對(duì)它們的原理以及抵御措施進(jìn)行論述,以幫助管理員有效地抵御DoS風(fēng)暴攻擊,維護(hù)站點(diǎn)安全。
“smurf攻擊”,如何抵御 Smurf是一種簡單但有效的DDoS攻擊技術(shù),它利用了ICMP(Internet控制信息協(xié)議)。ICMP在Internet 黑客 上用于錯(cuò)誤處理和傳遞控制信息。它的功能之一是與主機(jī)聯(lián)系,通過發(fā)送一個(gè)“回音請(qǐng)求”(echorequest)信息包看看主機(jī)是否“活著”。最普通的ping程序就使用了這個(gè)功能。Smurf是用一個(gè)偷來的帳號(hào)安裝到一個(gè)計(jì)算機(jī)上的,然后用一個(gè)偽造的源地址連續(xù)ping一個(gè)或多個(gè)計(jì)算機(jī)網(wǎng)絡(luò),這就導(dǎo)致所有計(jì)算機(jī)所響應(yīng)的那個(gè)計(jì)算機(jī)并不是實(shí)際發(fā)送這個(gè)信息包的那個(gè)計(jì)算機(jī)。這個(gè)偽造的源地址,實(shí)際上就是攻擊的目標(biāo),它將被極大數(shù)量的響應(yīng)信息量所淹沒。對(duì)這個(gè)偽造信息包做出響應(yīng)的計(jì)算機(jī)網(wǎng)絡(luò)就成為攻擊的不知情的同謀。下面是SmurfDDoS攻擊的基本特性以及建議采用的抵御策略:
1、Smurf的攻擊平臺(tái):smurf為了能工作,必須要找到攻擊平臺(tái),這個(gè)平臺(tái)就是:其路由器上啟動(dòng)了IP廣播功能。這個(gè)功能允許smurf發(fā)送一個(gè)偽造的ping信息包,然后將它傳播到整個(gè)計(jì)算機(jī)網(wǎng)絡(luò)中。
2、為防止系統(tǒng)成為smurf攻擊的平臺(tái),要將所有路由器上IP的廣播功能都禁止。一般來講,IP廣播功能并不需要。
3、攻擊者也有可能從LAN內(nèi)部發(fā)動(dòng)一個(gè)smurf攻擊,在這種情況下,禁止路由器上的IP廣播功能就沒有用了。為了避免這樣一個(gè)攻擊,許多操作系統(tǒng)都提供了相應(yīng)設(shè)置,防止計(jì)算機(jī)對(duì)IP廣播請(qǐng)求做出響應(yīng)。
4、如果攻擊者要成功地利用你成為攻擊平臺(tái),你的路由器必須要允許信息包以不是從你的內(nèi)網(wǎng)中產(chǎn)生的源地址離開網(wǎng)絡(luò)。配置路由器,讓它將不是由你的內(nèi)網(wǎng)中生成的信息包過濾出去,這是有可能做到的。這就是所謂的網(wǎng)絡(luò)出口過濾器功能。
5、ISP則應(yīng)使用網(wǎng)絡(luò)入口過濾器,以丟掉那些不是來自一個(gè)已知范圍內(nèi)IP地址的信息包。
6、挫敗一個(gè)smurf攻擊的最簡單方法對(duì)邊界路由器的回音應(yīng)答(echoreply)信息包進(jìn)行過濾,然后丟棄它們,這樣就能阻止“命中”Web服務(wù)器和內(nèi)網(wǎng)。對(duì)于那些使用Cisco路由器的人,另一個(gè)選擇是CAR(CommittedAccessRate,承諾訪問速率)。 丟棄所有的回音應(yīng)答信息包能使網(wǎng)絡(luò)避免被淹沒,但是它不能防止來自上游供應(yīng)者通道的交通堵塞。如果你成為了攻擊的目標(biāo),就要請(qǐng)求ISP對(duì)回音應(yīng)答信息包進(jìn)行過濾并丟棄。
如果不想完全禁止回音應(yīng)答,那么可以有選擇地丟棄那些指向你的公用Web服務(wù)器的回音應(yīng)答信息包。CAR技術(shù)由Cisco開發(fā),它能夠規(guī)定出各種信息包類型使用的帶寬的最大值。例如,使用CAR,我們就可以精確地規(guī)定回音應(yīng)答信息包所使用的帶寬的最大值。 “trinoo”,如何抵御 trinoo是復(fù)雜的DDoS攻擊程序,它使用“master”程序?qū)?shí)際實(shí)施攻擊的任何數(shù)量的“代理” 牽引流量技術(shù)在DOS攻擊中應(yīng)用程序?qū)崿F(xiàn)自動(dòng)控制。攻擊者連接到安裝了master程序的計(jì)算機(jī),啟動(dòng)master程序,然后根據(jù)一個(gè)IP地址的列表,由master程序負(fù)責(zé)啟動(dòng)所有的代理程序。接著,代理程序用UDP信息包沖擊網(wǎng)絡(luò),從而攻擊目標(biāo)。在攻擊之前,侵入者為了安裝 軟件,已經(jīng)控制了裝有master程序的計(jì)算機(jī)和所有裝有代理程序的計(jì)算機(jī)。
下面是trinooDDoS攻擊的基本特性以及建議采用的抵御策略: 1、在master程序與代理程序的所有通訊中,trinoo都使用了UDP協(xié)議。入侵檢測軟件能夠?qū)ふ沂褂肬DP協(xié)議的數(shù)據(jù)流(類型17)。 2、Trinoomaster程序的監(jiān)聽端口是27655,攻擊者一般借助telnet通過TCP連接到master程序所在計(jì)算機(jī)。入侵檢測軟件能夠搜索到使用TCP(類型6)并連接到端口27655的數(shù)據(jù)流。 3、所有從master程序到代理程序的通訊都包含字符串“l(fā)44”,并且被引導(dǎo)到代理的UDP端口27444。
入侵檢測軟件檢查到UDP端口27444的連接,如果有包含字符串l44的信息包被發(fā)送過去,那么接受這個(gè)信息包的計(jì)算機(jī)可能就是DDoS代理。 4、Master和代理之間通訊受到口令的保護(hù),但是口令不是以加密格式發(fā)送的,因此它可以被“嗅探”到并被檢測出來。使用這個(gè)口令以及來自DaveDittrich的trinot腳本,要準(zhǔn)確地驗(yàn)證出trinoo代理的存在是很可能的。 一旦一個(gè)代理被準(zhǔn)確地識(shí)別出來,trinoo網(wǎng)絡(luò)就可以安裝如下步驟被拆除: ·在代理daemon上使用”strings”命令,將master的IP地址暴露出來。
在master計(jì)算機(jī)上,識(shí)別含有代理IP地址列表的文件(默認(rèn)名“…”),得到這些計(jì)算機(jī)的IP地址列表。 ·向代理發(fā)送一個(gè)偽造“trinoo”命令來禁止代理。通過crontab文件(在UNIX系統(tǒng)中)的一個(gè)條目,代理可以有規(guī)律地重新啟動(dòng),因此,代理計(jì)算機(jī)需要一遍一遍地被關(guān)閉,直到代理系統(tǒng)的管理者修復(fù)了crontab文件為止。 ·檢查master程序的活動(dòng)TCP連接,這能顯示攻擊者與trinoomaster程序之間存在的實(shí)時(shí)連接。 ·如果網(wǎng)絡(luò)正在遭受trinoo攻擊,那么系統(tǒng)就會(huì)被UDP信息包所淹沒。Trinoo從同一源地址向目標(biāo)主機(jī)上的任意端口發(fā)送信息包。探測trinoo就是要找到多個(gè)UDP信息包,它們使用同一來源IP地址、同一目的IP地址、同一源端口,但是不同的目的端口。
2、Smurf攻擊:
原理:
發(fā)送偽裝的ICMP數(shù)據(jù)包,目的地址設(shè)為某個(gè)網(wǎng)絡(luò)的廣播地址,源地址設(shè)為要攻擊的目的主機(jī),使所有收到此ICMP數(shù)據(jù)包的主機(jī)都將對(duì)目的主機(jī)發(fā)出一個(gè)回應(yīng),使被攻擊主機(jī)在某一段時(shí)間內(nèi)收到 成千上萬的數(shù)據(jù)包
防范:
在cisco路由器上配置如下可以防止將包傳遞到廣播地址上:
Router(config-if)# no ip directed-broadcast
3、Ping of Death
原理:
“ping of death”攻擊就是我們常說的”死亡Ping”
這種攻擊通過發(fā)送大于65536字節(jié)的ICMP包使操作系統(tǒng)崩潰;通常不可能發(fā)送大于65536個(gè)字節(jié)的ICMP包,但可以把報(bào)文分割成片段,然后在目標(biāo)主機(jī)上重組;最終會(huì)導(dǎo)致被攻擊目標(biāo)緩沖區(qū)溢 出,引起拒絕服務(wù)攻擊。有些時(shí)候?qū)е聇elne和http服務(wù)停止,有些時(shí)候路由器重啟。
4、淚滴攻擊
原理:
對(duì)于一些大的IP數(shù)據(jù)包,往往需要對(duì)其進(jìn)行拆分傳送,這是為了迎合鏈路層的MTU(最大傳輸單元)的要求。比如,一個(gè)6 000字節(jié)的IP包,在MTU為2 000的鏈路上傳輸?shù)臅r(shí)候,就需要分成3個(gè)IP 包。在IP報(bào)頭中有一個(gè)偏移字段和一個(gè)拆分標(biāo)志(MF)。如果MF標(biāo)志設(shè)置為1,則表示這個(gè)IP包是一個(gè)大IP包的片段,其中偏移字段指出了這個(gè)片段在整個(gè)IP包中的位置。例如,對(duì)一個(gè)6 000字 節(jié)的IP包進(jìn)行拆分(MTU為2 000),則3個(gè)片段中偏移字段的值依次為0,2 000,4 000。這樣接收端在全部接收完IP數(shù)據(jù)包后,就可以根據(jù)這些信息重新組裝這幾個(gè)分次接收的拆分IP包。在這 里就有一個(gè)安全漏洞可以利用了,就是如果黑客們?cè)诮厝P數(shù)據(jù)包后,把偏移字段設(shè)置成不正確的值,這樣接收端在收到這些分拆的數(shù)據(jù)包后,就不能按數(shù)據(jù)包中的偏移字段值正確組合這些拆分的數(shù)據(jù)包,但接收端會(huì)不斷嘗試,這樣就可能致使目標(biāo)計(jì)算機(jī)操作系統(tǒng)因資源耗盡而崩潰。
5、DRDOS
原理:
攻擊時(shí),攻擊者巧妙的利用了反彈服務(wù)器群來將洪水?dāng)?shù)據(jù)包反彈給目標(biāo)主機(jī) 反彈服務(wù)是指某些服務(wù)器在收到一個(gè)請(qǐng)求數(shù)據(jù)報(bào)后就會(huì)產(chǎn)生一個(gè)回應(yīng)數(shù)據(jù)報(bào)。所有的 Web 服務(wù)器、DNS 服務(wù)器及路 由器都是反彈服務(wù)器,他們會(huì)對(duì) SYN 報(bào)文或其他 TCP 報(bào)文回應(yīng) SYNACKs 或 RST 報(bào)文, 以及對(duì)一些 IP 報(bào)文回應(yīng) ICMP 數(shù)據(jù)報(bào)超時(shí)或目的地不可達(dá)消息的數(shù)據(jù) 報(bào)。任何用于普通目的 TCP 連接許可的網(wǎng)絡(luò)服務(wù)器都可以用做數(shù)據(jù)包反射服務(wù)器
配置路由器、防火墻和入侵檢測系統(tǒng)來抵御常見DDoS攻擊
Smurf
·確定你是否成為了攻擊平臺(tái):對(duì)不是來自于你的內(nèi)部網(wǎng)絡(luò)的信息包進(jìn)行監(jiān)控;監(jiān)控大容量的回音請(qǐng)求和回音應(yīng)答信息包。
·避免被當(dāng)做一個(gè)攻擊平臺(tái):在所有路由器上禁止IP廣播功能;將不是來自于內(nèi)部網(wǎng)絡(luò)的信息包過濾掉。
·減輕攻擊的危害:在邊界路由器對(duì)回音應(yīng)答信息包進(jìn)行過濾,并丟棄;對(duì)于Cisco路由器,使用CAR來規(guī)定回音應(yīng)答信息包可以使用的帶寬最大值。
trinoo
·確定你是否成為攻擊平臺(tái):在master程序和代理程序之間的通訊都是使用UDP協(xié)議,因此對(duì)使用UDP
dos攻擊
協(xié)議(類別17)進(jìn)行過濾;攻擊者用TCP端口27655與master程序連接,因此對(duì)使用TCP(類別6)端口27655連接的流進(jìn)行過濾;master與代理之間的通訊必須要包含字符串“l(fā)44”,并被引導(dǎo)到代理的UDP端口27444,因此對(duì)與UDP端口27444連接且包含字符串l44的數(shù)據(jù)流進(jìn)行過濾。
·避免被用作攻擊平臺(tái):將不是來自于你的內(nèi)部網(wǎng)絡(luò)的信息包過濾掉。
·減輕攻擊的危害:從理論上說,可以對(duì)有相同源IP地址的、相同目的IP地址的、相同源端口的、不通目的端口的UDP信息包序列進(jìn)行過濾,并丟棄它們。
TFN
·確定你是否成為攻擊平臺(tái):對(duì)不是來自于內(nèi)部網(wǎng)絡(luò)的信息包進(jìn)行監(jiān)控。
·避免被用作攻擊平臺(tái):不允許一切到你的網(wǎng)絡(luò)上的ICMP回音和回音應(yīng)答信息包,當(dāng)然這會(huì)影響所有要使用這些功能的Internet程序;將不是來源于內(nèi)部網(wǎng)絡(luò)的信息包過濾掉。
Stacheldraht
·確定你是否成為攻擊平臺(tái):對(duì)ID域中包含值666、數(shù)據(jù)域中包含字符串“skillz”或ID域中包含值667、數(shù)據(jù)域中包含字符串“ficken”的ICMP回音應(yīng)答信息包進(jìn)行過濾;對(duì)源地址為“3.3.3.3”的ICMP信息包和ICMP信息包數(shù)據(jù)域中包含字符串“spoofworks”的數(shù)據(jù)流進(jìn)行過濾。
·手工防護(hù)
一般而言手工方式防護(hù)DDOS主要通過兩種形式:
系統(tǒng)優(yōu)化――主要通過優(yōu)化被攻擊系統(tǒng)的核心參數(shù),提高系統(tǒng)本身對(duì)DDoS攻擊的響應(yīng)能力。但是這種做法只能針對(duì)小規(guī)模的DDOS進(jìn)行防護(hù)。
網(wǎng)絡(luò)追查――遭受DDoS攻擊的系統(tǒng)的管理人員一般第一反應(yīng)是詢問上一級(jí)網(wǎng)絡(luò)運(yùn)營商,這有可能是ISP、IDC等,目的就是為了弄清楚攻擊源頭。
退讓策略為了抵抗DDOS攻擊,DengKelen客戶可能會(huì)通過購買硬件的方式來提高系統(tǒng)抗DDOS的能力。但是這種退讓策略的效果并不好,一方面由于這種方式的性價(jià)比過低,另一方面,黑客提高供給流量之后,這種方法往往失效,所以不能從根本意義上防護(hù)DDoS攻擊。
防火墻防火墻幾乎是最常用的安全產(chǎn)品,但是防火墻設(shè)計(jì)原理中并沒有考慮針對(duì)DDOS攻擊的防護(hù),在某些情況下,防火墻甚至成為DDOS攻擊的目標(biāo)而導(dǎo)致整個(gè)網(wǎng)絡(luò)的拒絕服務(wù)。
首先是防火墻缺乏DDOS攻擊檢測的能力。通常,防火墻作為三層包轉(zhuǎn)發(fā)設(shè)備部署在網(wǎng)絡(luò)中,一方面在保護(hù)內(nèi)部網(wǎng)絡(luò)的同時(shí),它也為內(nèi)部需要提供外部Internet服務(wù)的設(shè)備提供了通路,如果DDOS攻擊采用了這些服務(wù)器允許的合法協(xié)議對(duì)內(nèi)部系統(tǒng)進(jìn)行攻擊,防火墻對(duì)此就無能為力,無法精確的從背景流量中區(qū)分出攻擊流量。雖然有些防火墻內(nèi)置了某些模塊能夠?qū)暨M(jìn)行檢測,但是這些檢測機(jī)制一般都是基于特征規(guī)則,DDOS攻擊者只要對(duì)攻擊數(shù)據(jù)包稍加變化,防火墻就無法應(yīng)對(duì),對(duì)DDOS攻擊的檢測必須依賴于行為模式的算法。
第二個(gè)原因就是傳統(tǒng)防火墻計(jì)算能力的限制,傳統(tǒng)的防火墻是以高強(qiáng)度的檢查為代價(jià),檢查的強(qiáng)度越高,計(jì)算的代價(jià)越大。而DDOS攻擊中的海量流量會(huì)造成防火墻性能急劇下降,不能有效地完成包轉(zhuǎn)發(fā)的任務(wù)。最好防火墻的部署位置也影響了其防護(hù)DDOS攻擊的能力。傳統(tǒng)防火墻一般都是部署在網(wǎng)絡(luò)入口位置,雖然某種意義上保護(hù)了網(wǎng)絡(luò)內(nèi)部的所有資源,但是其往往也成為DDOS攻擊的目標(biāo),攻擊者一旦發(fā)起DDOS攻擊,往往造成網(wǎng)絡(luò)性能的整體下降,導(dǎo)致用戶正常請(qǐng)求被拒絕。
非常好我支持^.^
(5) 100%
不好我反對(duì)
(0) 0%
相關(guān)閱讀:
- [處理器/DSP] “協(xié)同發(fā)展,生態(tài)聚合” 開放原子1024程序員節(jié)圓滿落幕 2023-10-24
- [電子說] 監(jiān)控云服務(wù)器怎么架設(shè)? 2023-10-24
- [電子說] 服務(wù)器數(shù)據(jù)恢復(fù)-服務(wù)器藍(lán)屏重啟仍然藍(lán)屏的數(shù)據(jù)恢復(fù)案例 2023-10-24
- [電子說] 服務(wù)器硬盤通用基礎(chǔ)知識(shí) 2023-10-24
- [存儲(chǔ)技術(shù)] 三星電子和SK海力士計(jì)劃四季度全面提高DDR5產(chǎn)量 2023-10-24
- [電子說] 致遠(yuǎn)電子新一代8路串口服務(wù)器 2023-10-24
- [電子說] 服務(wù)器數(shù)據(jù)恢復(fù)-2盤raid0磁盤陣列數(shù)據(jù)恢復(fù)案例 2023-10-23
- [物聯(lián)網(wǎng)] 物聯(lián)網(wǎng)網(wǎng)絡(luò)設(shè)計(jì)實(shí)用的步驟和見解 2023-10-23
( 發(fā)表人:姚遠(yuǎn)香 )