DOSDDOS原理及攻擊防御方法淺談_第1頁
DOSDDOS原理及攻擊防御方法淺談_第2頁
DOSDDOS原理及攻擊防御方法淺談_第3頁
DOSDDOS原理及攻擊防御方法淺談_第4頁
DOSDDOS原理及攻擊防御方法淺談_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、DoS的英文全稱是DenialofService,也就是“拒絕服務(wù)”的意思。廣義的DOS攻擊是指:“任何導(dǎo)致被攻擊的服務(wù)器不能正常提供服務(wù)的攻擊方式”。DoS攻擊和其他類型的攻擊不大一樣攻擊者并不是去尋找進入內(nèi)部網(wǎng)絡(luò)的入口而是去阻止合法的用戶訪問資源或路由器。DOS攻擊的基本原理是設(shè)法使被攻擊服務(wù)器充斥大量要求回復(fù)的信息,消耗網(wǎng)絡(luò)帶寬或系統(tǒng)資源導(dǎo)致網(wǎng)絡(luò)或系統(tǒng)不勝負荷以至于癱瘓而寬或系統(tǒng)資源,導(dǎo)致網(wǎng)絡(luò)或系統(tǒng)不勝負荷以至于癱瘓而停止提供正常的網(wǎng)絡(luò)服務(wù)。DoS攻擊一般是采用一對一方式的,當(dāng)被攻擊目標CPU速度低、內(nèi)存小或者網(wǎng)絡(luò)帶寬小等等各項性能指標不高時攻擊的效果就更明顯。隨著計算機與網(wǎng)絡(luò)技術(shù)的發(fā)展

2、,計算機的處理能力迅速增長,內(nèi)存大大增加,同時也出現(xiàn)了千兆級別的網(wǎng)絡(luò),這些變化都使得目標計算機有足夠的資源來應(yīng)付這些DoS攻擊報文,這使得DoS攻擊的困難程度加大,效果減小。在這種情況下,DDoS攻擊方法就應(yīng)運而生,DDoS是英文DistributedDenialofService的縮寫,即“分布式拒絕服務(wù)”,它是一種基于DoS的特殊形式的拒絕服務(wù)攻擊。前面已經(jīng)提到了,當(dāng)今的計算機和網(wǎng)絡(luò)速度都普遍比較快,尤其是大型服務(wù)器和數(shù)據(jù)中心,那數(shù)據(jù)處理能力和網(wǎng)絡(luò)速度簡直令人嘆為觀止,因此傳統(tǒng)的基于一對一的DoS攻擊效果已不再那么明顯。于是,我們偉大的IT高手們秉承“辦法總比困難多”的勵志理念,汲取街頭打

3、架斗毆場景中的精髓,既然一個人打不過,那就來群毆。DDoS攻擊便是利用一批受控制的機器向一臺機器發(fā)起攻擊,這樣來勢迅猛的攻擊令,即使性能再高的服務(wù)器也無法應(yīng)付,因此產(chǎn)生的破壞性極大。主要目標是較大的站點,像商業(yè)公司、搜索引擎和政府部門的站點。DDoS攻擊的4個組成部分:.攻擊者攻擊者所用的主機,也稱為攻擊主控臺.主控端攻擊者侵入并控制的一些主機,分別控制大量代理攻擊主機;3).代理攻擊端攻擊者侵入并控制的一批主機,其上面運行攻擊程序,接收和運行主控端發(fā)來的命令,代理攻擊端俗稱“肉雞”;.受害者被攻擊的目標主機。DDoS攻擊示意圖如下:代理攻擊端擊端主控端主控端七冃J受害者攻擊者代理政擊端代理攻

4、擊端擊端主控端主控端七冃J受害者攻擊者代理政擊端代理政擊端I&代理攻擊端主控端e上圖為DDoS直接攻擊方式,另外還有一種威力更大、更隱蔽的DDoS間接攻擊方式,其原理是攻擊者偽造源地址為受害者地址的SYN連接請求包發(fā)送給大量服務(wù)器,隨后,服務(wù)器群會向源IP(也就是受害者)發(fā)出大量的SYN+ACK或RST包來進行響應(yīng),大量服務(wù)器的響應(yīng)數(shù)據(jù)包最終在受害者處匯集為洪水,使受害者網(wǎng)絡(luò)癱瘓,甚至死機,此攻擊方式隱蔽性非常強,受害方很難找到攻擊來源。其攻擊示意圖如下所示。攻擊者主控端代理攻擊端主控端代理攻擊端代理攻擊端d弋理攻擊端L代理攻擊端代理攻擊端攻擊者主控端代理攻擊端主控端代理攻擊端代理攻擊端d弋理

5、攻擊端L代理攻擊端代理攻擊端攻擊步驟1).搜集攻擊目標信息。包括目標主機的地址、配置、性能、帶寬等。并根據(jù)目標主機的相關(guān)參數(shù)設(shè)計合理的攻擊強度,做到知己知彼,百戰(zhàn)不殆;.占領(lǐng)傀儡機。攻擊者通過工具掃描互聯(lián)網(wǎng)上那些有漏洞的機器,隨后就是嘗試攻擊。攻擊成功后,就可以占領(lǐng)和控制被攻擊的主機,即“肉雞”。攻擊者可以利用FTP/TFTP等協(xié)議把DDoS攻擊用的程序上傳到“肉雞”中?!叭怆u”包括主控端和代理端主機,其中一部分主機充當(dāng)攻擊的主控端,一部分主機充當(dāng)攻擊的代理端。不過,攻擊者如果想省事的話,可以直接從網(wǎng)絡(luò)上購買“肉雞”,一般是幾角錢一只,量多優(yōu)惠。這些“肉雞”就是被黑客成功控制的計算機,并用于出

6、售目的。.實施攻擊。攻擊者登錄到作為控制臺的“肉雞”中,向所有做為代理端主機的“肉雞”發(fā)出命令,這時候埋伏在“肉雞”中的DDoS攻擊程序就會響應(yīng)控制臺的命令,同時向受害主機以高速度發(fā)送大量的數(shù)據(jù)包,導(dǎo)致受害主機死機或是無法響應(yīng)正常的請求。在DOS/DDOS原理及攻擊防御方法淺談(一)中我們已經(jīng)了解了DOS/DDOS攻擊的原理及步驟,下面我們接著介紹DOS/DDOS的常用攻擊方法及防御手段。Dos攻擊種類有很多,主要有:IPSpoofing攻擊、Land攻擊、Smurf攻擊、Fraggle攻擊、WinNuke攻擊、SYNFlood攻擊、ICMPFlood攻擊、UDPFlood攻擊、ICMP-Re

7、direct攻擊及ICMP-Unreachable攻擊等。1).IPSpoofing攻擊IPSpoofing也叫IP欺騙,其原理是攻擊者機器A利用軟件構(gòu)造一個虛假不存在的IP地址,并以此不存在地址為源IP地址向受害者機器B發(fā)送SYN報文,請求建立TCP/IP連接。目標機器B接收到這個SYN報文后,會將收到的SYN報文中的源IP地址提取出來,并將此IP作為目的IP,回復(fù)一個ACK/SYN確認報文給B,并等待接收來自B的確認報文。由于這個目的IP是攻擊者A偽造的,實際網(wǎng)絡(luò)中根本不存在,所以這個ACK/SYN確認報文也就無法到達,B也就不可能接收到它的確認報文。但是,根據(jù)TCP/IP協(xié)議規(guī)范,受害者

8、B必須一直等待接收A回復(fù)的確認報文,直到受害者B內(nèi)部的定時器超時才放棄等待。這就是一次IPSpoofing攻擊,假如攻擊者A使用軟件以每秒幾百次幾千次乃至幾萬次的速度向同一個受害者B發(fā)送虛假SYN報文,那么受害者機器B上就會產(chǎn)生大量的TCP/IP半連接,并且都要等待這些半連接超時(在等待的時候要專心,不能干別的事情的,呵呵),從而使系統(tǒng)資源耗盡,不能及時響應(yīng)正常的服務(wù)請求。如果攻擊者A控制幾百幾千臺乃至幾萬臺機器同時使用軟件分別以每秒幾百次幾千次乃至幾萬次的速度向同一個受害者B發(fā)送虛假SYN報文,這樣,受害者B所建立的TCP/IP半連接數(shù)量會呈指數(shù)上升,即使B的處理能力再強,網(wǎng)絡(luò)帶寬再寬,系統(tǒng)

9、也會在瞬間崩潰,這就是DDoS攻擊。為了大家更好的理解IPSpoofing攻擊方法,這里再補充介紹下TCP鏈接的建立過程。大家都知道,目前網(wǎng)絡(luò)中的絕大部分上層應(yīng)用程序都是基于TCP協(xié)議的。TCP是TransmissionControlProtocol的縮寫,即傳輸控制協(xié)議。TCP是一種面向連接的高可靠性協(xié)議,它的建立過程包括三個過程,簡稱“三次握手”。如下圖所示。如上圖所示,客戶A想要從服務(wù)器B取得服務(wù),首先需要向B發(fā)送一個SYN報文,請求建立TCP鏈接,這就是“第一次握手”。服務(wù)器B收到SYN報文后,會將SYN的源IP地址提取出來作為目的IP地址,回復(fù)一個SYN/ACK報文給客戶A,這就是“

10、第二次握手”。客戶A收到來自服務(wù)器B的SYN/ACK報文后,再將此報文的源IP地址提取出來作為目的IP地址,回復(fù)一個ACK確認報文給服務(wù)器B,這就是“第三次握手”。服務(wù)器B收到這個ACK報文后,立即啟動對客戶A的相應(yīng)服務(wù)。上面介紹的IPSpoofing就是因為A偽造了自己的IP,使得“第二次握手”的SYN/ACK報文不能到達A,A也不會發(fā)ACK報文進行“第三次握手”,但是B卻一直在苦苦等待“第三次握手”報文ACK的到來。在網(wǎng)絡(luò)安全設(shè)備中,是通過如下方法來防御IPSpoofing攻擊的:檢測每個接口流入的IP報文的源IP地址和目的IP地址,并對報文的源IP地址反查路由表,如果該IP報文的的入接口

11、與以該地址為目的地址的最佳出接口不相同的話,則視為IPSpoofing攻擊報文,將禁止其通過,并進行攻擊日志記錄。.Land攻擊Land攻擊其實是IPSpoofing攻擊的一個變種。其原理是攻擊者機器A向受害者機器B發(fā)送一個偽造的SYN報文,此SYN報文的源IP地址和目的IP地址都被設(shè)成受害者機器B的IP地址,源端口號和目的端口號也相同。受害者機器B接收到此SYN報文后,提取報文的源IP地址(其實是B機器自己的IP地址),并將其作為目的IP地址發(fā)送一個SYN/ACK報文(其實是向它自己發(fā)送了一個SYN/ACK報文),結(jié)果這個地址又發(fā)回ACK確認報文,從而創(chuàng)建了一個空連接,每一個這樣的空連接都將

12、保留到內(nèi)部定時器超時后才釋放,從而消耗掉大量的系統(tǒng)資源。對于Land攻擊,各種操作系統(tǒng)的反應(yīng)也有所不同,UNIX系統(tǒng)將會崩潰,而NT系統(tǒng)將變的極其緩慢,時間大約持續(xù)五分鐘。在網(wǎng)絡(luò)安全設(shè)備中,是通過如下方法來防御Land攻擊的:檢測每個接口流入的IP報文的源IP地址和目的IP地址,阻止那些源IP地址落在所保護網(wǎng)絡(luò)IP地址段內(nèi)的報文進入。但是,此方法也具有局限性,即不能防御那些從所保護網(wǎng)絡(luò)內(nèi)部發(fā)起的Land攻擊。3).SYNFlood攻擊SYNFlood是當(dāng)前最流行的DoS/與DDoS攻擊方式之一,其原理原理跟上面介紹過的IPSpoofing攻擊是一樣的,都是利用TCP協(xié)議的缺陷,偽造不存在的源I

13、P向受害者發(fā)送SYN報文,使得受害者機器建立大量TCP半連接,每個半連接差不多等待30秒2分鐘后才超時釋放?!癋lood”的中文意思是“洪水”,顧名思義,SYNFlood攻擊時,無數(shù)偽造的SYN攻擊報文就像洪水一樣涌向受害者機器,如果受害者機器的TCP/IP棧不夠強大,最后的結(jié)果往往是堆棧溢出而使系統(tǒng)崩潰,即使其系統(tǒng)足夠強大,也會因忙于處理偽造的SYN報文而無法響應(yīng)客戶的正常請求,此時從正??蛻舻慕嵌瓤磥?,服務(wù)器失去響應(yīng)。針對SYNFlood攻擊,一種有效的防御方法是限制系統(tǒng)TCP半連接的數(shù)量,并且在TCP半連接超過一定數(shù)量后,在防火墻端啟動TCP代理功能。所謂TCP代理功能,就是在客戶發(fā)起T

14、CP連接時,防火墻不把SYN報文發(fā)給目標機器而是自己偽裝成目標機器對SYN報文做出SYN/ACK應(yīng)答。.UDPFlood攻擊為了更好的介紹UDPFlood攻擊,我們先來看一下UDP協(xié)議與TCP協(xié)議的區(qū)別。TCP(TransmissionControlProtocol)是一種面向連接、可靠的字節(jié)流服務(wù)。當(dāng)客戶和服務(wù)器彼此交換數(shù)據(jù)前,必須先在雙方之間建立一個TCP連接,之后才能傳輸數(shù)據(jù)OTCP提供超時重發(fā),丟棄重復(fù)數(shù)據(jù),檢驗數(shù)據(jù),流量控制等功能,保證數(shù)據(jù)能從一端傳到另一端。UDP(UserDatagramProtocol,用戶數(shù)據(jù)報協(xié)議)是一個簡單的面向數(shù)據(jù)報的運輸層協(xié)議。UDP不提供可靠性,它只

15、是把應(yīng)用程序傳給IP層的數(shù)據(jù)報發(fā)送出去,但是并不能保證它們能到達目的地。由于UDP在傳輸數(shù)據(jù)報前不用在客戶和服務(wù)器之間建立一個連接,且沒有超時重發(fā)等機制,故而傳輸速度很快。從專業(yè)的角度說,TCP的可靠保證,是它的三次握手機制,這一機制保證校驗了數(shù)據(jù),保證了他的可靠性。而UDP就沒有了,所以不可靠。不過UDP的速度是TCP比不了的,而且UDP的反應(yīng)速度更快,QQ就是用UDP協(xié)議傳輸?shù)?,HTTP是用TCP協(xié)議傳輸?shù)?。UDPFlood攻擊的原理是攻擊者機器A偽造一個并不存在的IP地址,并以此為源IP地址向受害者機器B發(fā)送一個UDP報文,B收到UDP報文后,發(fā)現(xiàn)上層沒有任何應(yīng)用程序在等待UDP端口,于

16、是B就會生成一個ICMP報文發(fā)給該偽造的源IP地址,告訴對方剛才所發(fā)的UDP報文無法連接。如果A向B發(fā)送的足夠多的UPD報文,受害者B將忙于處理這些無用的UDP報文,造成系統(tǒng)資源耗盡,導(dǎo)致癱瘓。.ICMPFlood攻擊ICMP是InternetControlMessageProtocol的縮寫,即因特網(wǎng)控制消息協(xié)議的意思。ICMP協(xié)議是TCP/IP協(xié)議族的一個子協(xié)議,它是一種面向連接的網(wǎng)絡(luò)層協(xié)議,用于傳輸出錯報告控制信息,主要用于在主機與路由器之間傳遞控制信息,包括報告錯誤、交換受限控制和狀態(tài)信息等。當(dāng)遇到IP數(shù)據(jù)無法訪問目標、IP路由器無法按當(dāng)前的傳輸速率轉(zhuǎn)發(fā)數(shù)據(jù)包等情況時,會自動發(fā)送ICM

17、P消息。我們經(jīng)常用來檢測網(wǎng)絡(luò)通不通的“Ping”命令就是使用ICMP協(xié)議。ICMPFlood攻擊的原理就在在較短時間內(nèi)向受害者機器發(fā)送大量的ICMP請求報文,使受害者機器忙于向外發(fā)送ICMP應(yīng)答報文,造成系統(tǒng)資源耗盡,導(dǎo)致癱瘓。在DOS/DDOS原理及攻擊防御方法淺談(二)中,我們已經(jīng)介紹了IPSpoofing、Land、SYNFlood、UDPFlood、ICMPFlood五中常用的DOS/DDOS攻擊方法及防御手段,下面我們繼續(xù)介紹剩下的五中DOS/DDOS攻擊方法及防御手段。6).Smurf攻擊Smurf攻擊是以最初發(fā)動這種攻擊的程序名“Smurf”來命名的。同ICMPFlood攻擊一樣

18、,Smurf攻擊也是利用了ICMP協(xié)議的漏洞。其原理是攻擊者A向廣播地址發(fā)送ICMP請求廣播報文,不過該廣播報文的源IP地址不是攻擊者A本身,而是偽造成受害者B的IP地址,這樣,廣播域內(nèi)所有收到該ICMP請求報文的機器都會給受害者B回復(fù)ICMP應(yīng)答報文,因而產(chǎn)生大量的通信業(yè)務(wù),從而導(dǎo)致受害者B的網(wǎng)絡(luò)擁塞及系統(tǒng)癱瘓。對于Smurf攻擊,廣播域內(nèi)的機器數(shù)量越多,攻擊效果就越明顯。在網(wǎng)絡(luò)安全設(shè)備中,是通過如下方法來防御Smurf攻擊的:對通過設(shè)備的所有ICMP請求報文的目的地址進行檢查,如果是子網(wǎng)廣播地址或者子網(wǎng)的網(wǎng)絡(luò)地址,則認為是Smurf攻擊,直接拒絕通過。.Fraggle攻擊Fraggle攻擊

19、的原理與Smurf攻擊的原理類似,不過,F(xiàn)raggle攻擊發(fā)送的是UDP報文而非ICMP報文。因為發(fā)送的是UDP報文,F(xiàn)raggle攻擊可以穿過一些阻止ICMP報文進入的防火墻。Fraggle攻擊的原理是攻擊者A向廣播地址發(fā)送UDP報文,目的端口號為7(ECH0)或19(Chargen),報文的源IP地址偽裝成受害者B的IP地址。這樣,廣播域中所有啟用了此功能的計算機都會向受害者B發(fā)送回應(yīng)報文,從而產(chǎn)生大量的流量,導(dǎo)致受害網(wǎng)絡(luò)的阻塞或受害主機崩潰。如果廣播域中的主機沒有啟動這些功能,這些主機將產(chǎn)生一個ICMP不可達消息發(fā)給B,仍然消耗帶寬。Fraggle攻擊時,也可將源端口改為端口19(Cha

20、rgen),目的端口為7(ECH0),這樣會自動不停地產(chǎn)生回應(yīng)報文,其危害性更大。防御方法:關(guān)閉路由器或防火墻的廣播地址特性,并在防火墻上過濾掉UDP報文,阻止所有目的端口或源端口號為7或19的UDP報文通過。補充下計算機端口方便的知識,大家都知道通信網(wǎng)絡(luò)的上層應(yīng)用程序都是通過端口號來識別傳輸層協(xié)議的,比如常用的HTTP協(xié)議就使用了80端口,用于郵件的SMTP協(xié)議使用的是25端口。比如某傳輸層報文的端口號標識位為“80”,那么計算機收到報文后一看端口號就知道該報文是給HTTP協(xié)議的,直接轉(zhuǎn)交給它處理。同樣的,TCP/UDP協(xié)議是IP的上層協(xié)議,IP可能會被系統(tǒng)中多個應(yīng)用程序應(yīng)用,如何來區(qū)分多個

21、應(yīng)用程序呢?答案是TCP/UDP端口號。TCP和UDP的端口號的編號都是獨立的,都是065535。例如DNS,可以是TCP的53號端口,也可以是UDP的53號端口。端口號只具有本地意義,是拿來標識程序的。只有01023是公認的系統(tǒng)占用,其他在通信過程中是隨機生成,此次傳輸完成即撤消。在UDP的這些端口中,有兩個很特殊的端口7和19OUDP的7號端口收到報文后,會象ICMPEchoReply一樣回應(yīng)收到的內(nèi)容,而19號端口在收到報文后,會產(chǎn)生一串字符流。.WinNuke攻擊WinNuke攻擊是以最初發(fā)動這種攻擊的程序名“WinNuke”來命名的。其攻擊原理是利用了WINDOWS操作系統(tǒng)的一個漏洞

22、,向139端口發(fā)送一些攜帶TCP帶外(00B)數(shù)據(jù)報文,但這些攻擊報文與正常攜帶OOB數(shù)據(jù)報文不同的是,其指針字段與數(shù)據(jù)的實際位置不符,即存在重疊,WINDOWS操作系統(tǒng)在處理這些數(shù)據(jù)的時候,就會崩潰。還有一種是IGMP(InternetGroupManagementProtocol)分片報文,一般情況下,IGMP報文是不會分片的,所以,不少系統(tǒng)對IGMP分片報文的處理有問題。如果收到IGMP分片報文,則基本可判定受到了攻擊。NetBIOS作為一種基本的網(wǎng)絡(luò)資源訪問接口,廣泛的應(yīng)用于文件共享,打印共享,進程間通信(IPC),以及不同操作系統(tǒng)之間的數(shù)據(jù)交換。一般情況下,NetBIOS是運行在LL

23、C2鏈路協(xié)議之上的,是一種基于組播的網(wǎng)絡(luò)訪問接口。為了在TCP/IP協(xié)議棧上實現(xiàn)NetBIOS,RFC規(guī)定了一系列交互標準,以及幾個常用的TCP/UDP端口,如下。.139:NetBIOS會話服務(wù)的TCP端口;.137:NetBIOS名字服務(wù)的UDP端口;.136:NetBIOS數(shù)據(jù)報服務(wù)的UDP端口。Windows操作系統(tǒng)實現(xiàn)了NetBIOSoverTCP/IP功能,并開放了139端口WinNuke攻擊就是利用了WINDOWS操作系統(tǒng)的一個漏洞,向這個139端口發(fā)送一些攜帶TCP帶外(00B)數(shù)據(jù)報文,但這些攻擊報文與正常攜帶00B數(shù)據(jù)報文不同的是,其指針字段與數(shù)據(jù)的實際位置不符,即存在重疊,WINDOWS操作系統(tǒng)在處理這些數(shù)據(jù)的時候,就會崩潰。還有一種是IGMP(InternetGroupManagementProtocol)分片報文,一般情況下,IGMP報文是不會分片的,所以,不少系統(tǒng)對IGMP分片報文的處理有問題。如果收到IGMP分片報文,則基本可判定受到了攻擊。補充下NetBIOS協(xié)議方面的知識

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論