畢業(yè)設(shè)計----ddos攻擊防范技術(shù)研究_第1頁
已閱讀1頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  DDOS攻擊防范技術(shù)研究</p><p>  摘要 DDOS是目前最難防御的網(wǎng)絡(luò)攻擊之一,它可以瞬間使被攻擊的網(wǎng)絡(luò)喪失正常的服務(wù)功能,本文通過此研究,力求使更多的網(wǎng)民認(rèn)識其危害,加強網(wǎng)絡(luò)防范意識,降低受害率,更進(jìn)一步保證國家信息安全。</p><p>  關(guān)鍵詞 DDOS攻擊、DDOS攻擊防范、研究</p><p>  ABSTRACT

2、</p><p>  KEY WORDS </p><p><b>  目錄</b></p><p><b>  1.前 言4</b></p><p>  2.DDOS攻擊概述4</p><p>  2.1 DOS攻擊概述4</p><p> 

3、 2.2 DDOS攻擊概述5</p><p>  3.DDOS攻擊的表現(xiàn)形式和攻擊方式6</p><p>  3.1 DDOS表現(xiàn)形式6</p><p>  3.2 DDOS攻擊方式6</p><p>  3.2.1 SYN/ACK Flood攻擊6</p><p>  3.2.2 TCP全連接攻擊7<

4、;/p><p>  3.2.3 刷Script腳本攻擊7</p><p>  4.DDOS攻擊的監(jiān)測8</p><p>  4.1 流量攻擊的檢測8</p><p>  4.2 資源耗盡攻擊的檢測8</p><p>  4.3 攻擊檢測8</p><p>  4.3.1 根據(jù)異常情況分析

5、9</p><p>  4.3.2使用DDOS檢測工具9</p><p>  5.DDOS攻擊使用的常用工具9</p><p>  5.1 Trinoo9</p><p>  5.2 TFN10</p><p>  5.3 TFN2K10</p><p>  5.4 Stacheldr

6、aht10</p><p>  6.DDOS攻擊的實例分析10</p><p>  6.1搜集了解目標(biāo)的情況10</p><p>  6.2占領(lǐng)傀儡機11</p><p>  6.3 實際攻擊12</p><p>  6.4 SYN Flood實例分析14</p><p>  7.D

7、DOS攻擊防范策略17</p><p>  7.1 采用高性能的網(wǎng)絡(luò)設(shè)備17</p><p>  7.2 盡量避免NAT的使用17</p><p>  7.3 充足的網(wǎng)絡(luò)帶寬保證17</p><p>  7.4 升級主機服務(wù)器硬件18</p><p>  7.5 把網(wǎng)站做成靜態(tài)頁面18</p>

8、<p>  7.6 增強操作系統(tǒng)的TCP/IP棧18</p><p>  7.7 安裝專業(yè)抗DDOS防火墻18</p><p>  7.8 其他防御措施19</p><p><b>  8.結(jié)論19</b></p><p><b>  致謝19</b></p>&

9、lt;p><b>  參考文獻(xiàn)20</b></p><p><b>  1.前 言</b></p><p>  DDOS攻擊可以瞬間破壞正常的網(wǎng)絡(luò)服務(wù),自出現(xiàn)DDOS攻擊以來,國內(nèi)外都非常重視,陸續(xù)出現(xiàn)了一些防DDOS攻擊的軟硬件設(shè)備,如天網(wǎng)防洪堤等,隨著對DDOS攻擊的深入研究,防御的手段將會越來越多,技術(shù)將會越來越強大,但是目前國內(nèi)外

10、還沒有一種技術(shù)或者產(chǎn)品可以徹底防御DDOS攻擊。</p><p>  本文通過對DDOS攻擊的深入了解和分析,進(jìn)而找出一種防御DDOS攻擊的最優(yōu)化的方法,進(jìn)一步使更多的網(wǎng)民認(rèn)識其危害,加強網(wǎng)絡(luò)防范意識,降低受害率,保證網(wǎng)絡(luò)服務(wù)正常運作,減少國家經(jīng)濟損失。</p><p>  2.DDOS攻擊概述</p><p>  2.1 DOS攻擊概述</p>&l

11、t;p>  在了解DDOS之前,首先我們來看看DOS,DOS的英文全稱是Denial of Service,也就是“拒絕服務(wù)”的意思。從網(wǎng)絡(luò)攻擊的各種方法和所產(chǎn)生的破壞情況來看,DOS算是一種很簡單但又很有效的進(jìn)攻方式。它的目的就是拒絕你的服務(wù)訪問,破壞組織的正常運行,最終它會使你的部分Internet連接和網(wǎng)絡(luò)系統(tǒng)失效。DOS的攻擊方式有很多種,最基本的DOS攻擊就是利用合理的服務(wù)請求來占用過多的服務(wù)資源,從而使合法用戶無法得到

12、服務(wù)。DOS攻擊的原理如圖1所示。</p><p>  圖1 DOS攻擊原理</p><p>  從圖1我們可以看出DOS攻擊的基本過程:首先攻擊者向服務(wù)器發(fā)送眾多的帶有虛假地址的請求,服務(wù)器發(fā)送回復(fù)信息后等待回傳信息,由于地址是偽造的,所以服務(wù)器一直等不到回傳的消息,分配給這次請求的資源就始終沒有被釋放。當(dāng)服務(wù)器等待一定的時間后,連接會因超時而被切斷,攻擊者會再度傳送新的一批請求,在這種

13、反復(fù)發(fā)送偽地址請求的情況下,服務(wù)器資源最終會被耗盡。</p><p>  2.2 DDOS攻擊概述</p><p>  DDOS(分布式拒絕服務(wù)),它的英文全稱為Distributed Denial of Service,它是一種基于DOS的特殊形式的拒絕服務(wù)攻擊,是一種分布、協(xié)作的大規(guī)模攻擊方式,主要瞄準(zhǔn)比較大的站點,像商業(yè)公司,搜索引擎和政府部門的站點。從圖1我們可以看出DOS攻擊只要

14、一臺單機和一個modem就可實現(xiàn),與之不同的是DDOS攻擊是利用一批受控制的機器向一臺機器發(fā)起攻擊,這樣來勢迅猛的攻擊令人難以防備,因此具有較大的破壞性。DDOS的攻擊原理如圖2所示。</p><p>  圖2 DDOS攻擊原理</p><p>  從圖2可以看出,DDOS攻擊分為3層:攻擊者、主控端、代理端,三者在攻擊中扮演著不同的角色。</p><p>  1、

15、攻擊者:攻擊者所用的計算機是攻擊主控臺,可以是網(wǎng)絡(luò)上的任何一臺主機,甚至可以是一個活動的便攜機。攻擊者操縱整個攻擊過程,它向主控端發(fā)送攻擊命令。</p><p>  2、主控端:主控端是攻擊者非法侵入并控制的一些主機,這些主機還分別控制大量的代理主機。在主控端主機上安裝了特定的程序,因此它們可以接受攻擊者發(fā)來的特殊指令,并且可以把這些命令發(fā)送到代理主機上。</p><p>  3、代理端:

16、代理端同樣也是攻擊者侵入并控制的一批主機,它們上面運行攻擊器程序,接受和運行主控端發(fā)來的命令。代理端主機是攻擊的執(zhí)行者,真正向受害者主機發(fā)起攻擊。</p><p>  攻擊者發(fā)起DDOS攻擊的第一步,就是尋找在Internet上有漏洞的主機,進(jìn)入系統(tǒng)后在其上面安裝后門程序,攻擊者入侵的主機越多,他的攻擊隊伍就越壯大。第二步在入侵主機上安裝攻擊程序,其中一部分主機充當(dāng)攻擊的主控端,一部分主機充當(dāng)攻擊的代理端。最后各

17、部分主機各施其職,在攻擊者的調(diào)遣下對攻擊對象發(fā)起攻擊。由于攻擊者在幕后操縱,所以在攻擊時不會受到監(jiān)控系統(tǒng)的跟蹤,身份不容易被發(fā)現(xiàn)。</p><p>  3.DDOS攻擊的表現(xiàn)形式和攻擊方式</p><p>  3.1 DDOS表現(xiàn)形式</p><p>  DDOS攻擊的表現(xiàn)形式主要有兩種,一種為流量攻擊,主要是針對網(wǎng)絡(luò)帶寬的攻擊,即大量攻擊包導(dǎo)致網(wǎng)絡(luò)帶寬被阻塞,合法

18、網(wǎng)絡(luò)包被虛假的攻擊包淹沒而無法到達(dá)主機;另一種為資源耗盡攻擊,主要是針對服務(wù)器主機的攻擊,即通過大量攻擊包導(dǎo)致主機的內(nèi)存被耗盡或CPU被內(nèi)核及應(yīng)用程序占完而造成無法提供網(wǎng)絡(luò)服務(wù)。</p><p>  3.2 DDOS攻擊方式</p><p>  3.2.1 SYN/ACK Flood攻擊</p><p>  這種攻擊方法是經(jīng)典最有效的DDOS方法,適用于各種系統(tǒng)的網(wǎng)

19、絡(luò)服務(wù),主要是通過向受害主機發(fā)送大量偽造源IP和源端口的SYN或ACK包,導(dǎo)致主機的緩存資源被耗盡或忙于發(fā)送回應(yīng)包而造成拒絕服務(wù),由于源都是偽造的,所以追蹤起來比較困難,缺點是實施起來有一定難度,需要高帶寬的僵尸主機支持。少量的這種攻擊會導(dǎo)致主機服務(wù)器無法訪問,但卻可以Ping通,在服務(wù)器上用Netstat -na命令會觀察到存在大量的SYN_RECEIVED狀態(tài),大量的這種攻擊會導(dǎo)致Ping失敗、TCP/IP棧失效,并會出現(xiàn)系統(tǒng)凝固現(xiàn)

20、象,即不響應(yīng)鍵盤和鼠標(biāo)。</p><p>  3.2.2 TCP全連接攻擊</p><p>  這種攻擊是為了繞過常規(guī)防火墻的檢查而設(shè)計的,一般情況下,常規(guī)防火墻大多具備過濾TearDrop、Land等DOS攻擊的能力,但對于正常的TCP連接是放過的,殊不知很多網(wǎng)絡(luò)服務(wù)程序(如:IIS、Apache等Web服務(wù)器)能接受的TCP連接數(shù)是有限的,一旦有大量的TCP連接,即便是正常的,也會導(dǎo)致

21、網(wǎng)站訪問非常緩慢甚至無法訪問,TCP全連接攻擊就是通過許多僵尸主機不斷地與受害服務(wù)器建立大量的TCP連接,直到服務(wù)器的內(nèi)存等資源被耗盡而被拖跨,從而造成拒絕服務(wù),這種攻擊的特點是可繞過一般防火墻的防護而達(dá)到攻擊目的,缺點是需要找很多僵尸主機,并且由于僵尸主機的IP是暴露的,因此容易被追蹤。</p><p>  3.2.3 刷Script腳本攻擊</p><p>  這種攻擊主要是針對存在A

22、SP、JSP、PHP、CGI等腳本程序,并調(diào)用MSSQLServer、MySQLServer、Oracle等數(shù)據(jù)庫的網(wǎng)站系統(tǒng)而設(shè)計的,特征是和服務(wù)器建立正常的TCP連接,并不斷的向腳本程序提交查詢、列表等大量耗費數(shù)據(jù)庫資源的調(diào)用,典型的以小博大的攻擊方法。一般來說,提交一個GET或POST指令對客戶端的耗費和帶寬的占用是幾乎可以忽略的,而服務(wù)器為處理此請求卻可能要從上萬條記錄中去查出某個記錄,這種處理過程對資源的耗費是很大的,常見的數(shù)據(jù)

23、庫服務(wù)器很少能支持?jǐn)?shù)百個查詢指令同時執(zhí)行,而這對于客戶端來說卻是輕而易舉的,因此攻擊者只需通過Proxy代理向主機服務(wù)器大量遞交查詢指令,只需數(shù)分鐘就會把服務(wù)器資源消耗掉而導(dǎo)致拒絕服務(wù),常見的現(xiàn)象就是網(wǎng)站慢如蝸牛、ASP程序失效、PHP連接數(shù)據(jù)庫失敗、數(shù)據(jù)庫主程序占用CPU偏高。這種攻擊的特點是可以完全繞過普通的防火墻防護,輕松找一些Proxy代理就可實施攻擊,缺點是對付只有靜態(tài)頁面的網(wǎng)站效果會大打折扣,并且有些Proxy會暴露攻擊者的

24、IP地址。</p><p>  4.DDOS攻擊的監(jiān)測</p><p>  4.1 流量攻擊的檢測</p><p>  對于流量攻擊,可通過Ping命令來測試,若發(fā)現(xiàn)Ping超時或丟包嚴(yán)重(假定平時是正常的),則可能遭受了流量攻擊,此時若發(fā)現(xiàn)和你的主機接在同一交換機上的服務(wù)器也訪問不了了,基本可以確定是遭受了流量攻擊。當(dāng)然,這樣測試的前提是你到服務(wù)器主機之間的ICM

25、P協(xié)議沒有被路由器和防火墻等設(shè)備屏蔽,否則可采取Telnet主機服務(wù)器的網(wǎng)絡(luò)服務(wù)端口來測試,效果是一樣的。不過有一點可以肯定,假如平時Ping你的主機服務(wù)器和接在同一交換機上的主機服務(wù)器都是正常的,突然都Ping不通了或者是嚴(yán)重丟包,那么假如可以排除網(wǎng)絡(luò)故障因素的話則肯定是遭受了流量攻擊,再一個流量攻擊的典型現(xiàn)象是,一旦遭受流量攻擊,會發(fā)現(xiàn)用遠(yuǎn)程終端連接網(wǎng)站服務(wù)器會失敗。</p><p>  4.2 資源耗盡攻擊

26、的檢測</p><p>  對于資源耗盡攻擊,我們假設(shè)平時Ping網(wǎng)站主機和訪問網(wǎng)站都是正常的,發(fā)現(xiàn)突然網(wǎng)站訪問非常緩慢或無法訪問了,而Ping還可以Ping通,則很可能遭受了資源耗盡攻擊,此時若在服務(wù)器上用Netstat -na命令觀察到有大量的SYN_RECEIVED、TIME_WAIT、FIN_WAIT_1等狀態(tài)存在,而ESTABLISHED很少,則可判定肯定是遭受了資源耗盡攻擊。還有一種現(xiàn)象,Ping自己

27、的網(wǎng)站主機Ping不通或者是丟包嚴(yán)重,而Ping與自己的主機在同一交換機上的服務(wù)器則正常,造成這種原因是網(wǎng)站主機遭受攻擊后導(dǎo)致系統(tǒng)內(nèi)核或某些應(yīng)用程序CPU利用率達(dá)到100%無法回應(yīng)Ping命令,其實帶寬還是有的,否則就Ping不通接在同一交換機上的主機了。</p><p><b>  4.3 攻擊檢測</b></p><p>  4.3.1 根據(jù)異常情況分析</

28、p><p>  當(dāng)網(wǎng)絡(luò)的通訊量突然急劇增長,超過平常的極限值時,此時一定要提高警惕,檢測此時的通訊;當(dāng)網(wǎng)站的某一特定服務(wù)總是失敗時,也要多加注意;當(dāng)發(fā)現(xiàn)有特大型的ICP和UDP數(shù)據(jù)包通過或數(shù)據(jù)包內(nèi)容可疑時都要留神。總之,當(dāng)主機出現(xiàn)異常情況時,你最好分析這些情況,防患于未然。</p><p>  4.3.2使用DDOS檢測工具</p><p>  當(dāng)攻擊者想使其攻擊陰謀得

29、逞時,他們首先要掃描系統(tǒng)漏洞,我們可以利用一些網(wǎng)絡(luò)入侵檢測系統(tǒng),可以杜絕攻擊者的掃描行為。另外,一些掃描器工具甚至可以發(fā)現(xiàn)攻擊者植入系統(tǒng)的代理程序,并可以把它從系統(tǒng)中刪除。</p><p>  5.DDOS攻擊使用的常用工具</p><p>  DDOS攻擊實施起來有一定的難度,它要求攻擊者必須具備入侵他人計算機的能力。但是很不幸的是一些傻瓜式的黑客程序的出現(xiàn),這些程序可以在幾秒鐘內(nèi)完成入

30、侵和攻擊程序的安裝,使發(fā)動DDOS攻擊變成一件輕而易舉的事情。</p><p>  5.1 Trinoo</p><p>  Trinoo的攻擊方法是向被攻擊目標(biāo)主機的隨機端口發(fā)出全零的4字節(jié)UDP包,在處理這些超出其處理能力的垃圾數(shù)據(jù)包的過程中,被攻擊主機的網(wǎng)絡(luò)性能不斷下降,直到不能提供正常服務(wù),乃至崩潰。它對IP地址不做假,采用的通訊端口是:</p><p> 

31、 攻擊者主機到主控端主機:27665/TCP  主控端主機到代理端主機:27444/UDP  代理端主機到主服務(wù)器主機:31335/UDP</p><p><b>  5.2 TFN</b></p><p>  TFN由主控端程序和代理端程序兩部分組成,它主要采取的攻擊方法為:SYN風(fēng)暴、Ping風(fēng)暴、UDP炸彈和SMURF,具有偽造數(shù)據(jù)包的能力。</p&g

32、t;<p><b>  5.3 TFN2K</b></p><p>  TFN2K是由TFN發(fā)展而來的,在TFN所具有的特性上,TFN2K又新增一些特性,它的主控端和代理端的網(wǎng)絡(luò)通訊是經(jīng)過加密的,中間還可能混雜了許多虛假數(shù)據(jù)包,而TFN對ICMP的通訊沒有加密。攻擊方法增加了Mix和Targa3。并且TFN2K可配置的代理端進(jìn)程端口。</p><p> 

33、 5.4 Stacheldraht</p><p>  Stacheldraht也是從TFN派生出來的,因此它具有TFN的特性。此外它增加了主控端與代理端的加密通訊能力,它對命令源作假,可以防范一些路由器的RFC2267過濾。Stacheldrah中有一個內(nèi)嵌的代理升級模塊,可以自動下載并安裝最新的代理程序。</p><p>  6.DDOS攻擊的實例分析</p><p

34、>  6.1搜集了解目標(biāo)的情況</p><p>  下列情況是黑客非常關(guān)心的情報:</p><p>  ●被攻擊目標(biāo)主機數(shù)目、地址情況 </p><p>  ●目標(biāo)主機的配置、性能 </p><p><b>  ●目標(biāo)的帶寬</b></p><p>  對于DDOS攻擊者來說,攻擊互聯(lián)網(wǎng)上的

35、某個站點,如http://www.WWW.com,有一個重點就是確定到底有多少臺主機在支持這個站點,一個大的網(wǎng)站可能有很多臺主機利用負(fù)載均衡技術(shù)提供同一個網(wǎng)站的www服務(wù)。假設(shè)以下地址向http://www.WWW.com提供服務(wù): </p><p>  66.218.71.87  66.218.71.88  66.218.71.89  66.218.71.80  66.218.71.81  66.21

36、8.71.83  66.218.71.84  66.218.71.86 </p><p>  如果要進(jìn)行DDOS攻擊的話,應(yīng)該攻擊哪一個地址呢?使66.218.71.87這臺機器癱掉,但其他的主機還是能向外提供www服務(wù),所以想讓別人訪問不到http://www.WWW.com的話,要所有這些IP地址的機器都癱掉才行。在實際的應(yīng)用中,一個IP地址往往還代表著數(shù)臺機器:網(wǎng)站維護者使用了四層或七層交換機來做負(fù)載均

37、衡,把對一個IP地址的訪問以特定的算法分配到下屬的每個主機上去。這時對于DDOS攻擊者來說情況就更復(fù)雜了,他面對的任務(wù)可能是讓幾十臺主機的服務(wù)都不正常。 </p><p>  所以說事先搜集情報對DDOS攻擊者來說是非常重要的,這關(guān)系到使用多少臺傀儡機才能達(dá)到效果的問題。簡單地考慮一下,在相同的條件下,攻擊同一站點的2臺主機需要2臺傀儡機的話,攻擊5臺主機可能就需要5臺以上的傀儡機。有人說做攻擊的傀儡機越多越好,

38、不管你有多少臺主機我都用盡量多的傀儡機來攻就是了,反正傀儡機超過了時候效果更好。但在實際過程中,有很多黑客并不進(jìn)行情報的搜集而直接進(jìn)行DDOS的攻擊,這時候攻擊的盲目性就很大了,效果如何也要靠運氣。其實做黑客也像網(wǎng)管員一樣,是不能偷懶的。一件事做得好與壞,態(tài)度最重要,水平還在其次。 </p><p><b>  6.2占領(lǐng)傀儡機</b></p><p>  黑客最感興

39、趣的是有下列情況的主機: </p><p>  ●鏈路狀態(tài)好的主機 </p><p><b>  ●性能好的主機 </b></p><p>  ●安全管理水平差的主機</p><p>  這一部分實際上是使用了另一大類的攻擊手段:利用形攻擊。這是和DDOS并列的攻擊方式。簡單地說,就是占領(lǐng)和控制被攻擊的主機:取得最高的管

40、理權(quán)限,或者至少得到一個有權(quán)限完成DDOS攻擊任務(wù)的帳號。對于一個DDOS攻擊者來說,準(zhǔn)備好一定數(shù)量的傀儡機是一個必要的條件,下面說一下他是如何攻擊并占領(lǐng)它們的。 </p><p>  首先,黑客做的工作一般是掃描,隨機地或者是有針對性地利用掃描器去發(fā)現(xiàn)互聯(lián)網(wǎng)上那些有漏洞的機器,像程序的溢出漏洞、cgi、Unicode、ftp、數(shù)據(jù)庫漏洞…,都是黑客希望看到的掃描結(jié)果,其次就是嘗試入侵了。假設(shè)黑客現(xiàn)在占領(lǐng)了一臺傀

41、儡機,他會把DDOS攻擊用的程序上載過去,一般是利用ftp。在攻擊機上,會有一個DDOS的發(fā)包程序,黑客就是利用它來向受害目標(biāo)發(fā)送惡意攻擊包的。 </p><p><b>  6.3 實際攻擊</b></p><p>  經(jīng)過前2個階段的精心準(zhǔn)備之后,黑客就開始瞄準(zhǔn)目標(biāo)準(zhǔn)備攻擊了。前面的準(zhǔn)備做得好的話,實際攻擊過程反而是比較簡單的。就像圖3所示,黑客登錄到做為控制臺的

42、傀儡機,向所有的攻擊機發(fā)出命令:"預(yù)備~ ,瞄準(zhǔn)~,開火!"。這時候埋伏在攻擊機中的DDOS攻擊程序就會響應(yīng)控制臺的命令,一起向受害主機以高速度發(fā)送大量的數(shù)據(jù)包,導(dǎo)致它死機或是無法響應(yīng)正常的請求。黑客一般會以遠(yuǎn)遠(yuǎn)超出受害方處理能力的速度進(jìn)行攻擊,絕對不會手軟。</p><p>  一些攻擊者還會一邊攻擊,一邊用各種手段來監(jiān)視攻擊的效果,在需要的時候進(jìn)行一些調(diào)整。簡單些就是開個窗口不斷地ping

43、目標(biāo)主機,在能接到回應(yīng)的時候就再加大一些流量或是再命令更多的傀儡機來加入攻擊。 </p><p>  下面我們以SYN-Flood為例體驗DDOS攻擊的整個過程。</p><p>  SYN-Flood是目前最流行的DDOS攻擊手段,早期的DOS的手段在向分布式這一階段發(fā)展的時候也經(jīng)歷了浪里淘沙的過程。SYN-Flood的攻擊效果最好,應(yīng)該是多數(shù)黑客不約而同選擇它的原因吧。那么我們一起來看

44、看SYN-Flood的詳細(xì)情況。</p><p>  SYN Flood利用了TCP/IP協(xié)議的固有漏洞。面向連接的TCP三次握手是SYN Flood存在的基礎(chǔ)。 </p><p>  圖4 TCP三次握手</p><p>  如圖4,在第一步中,客戶端向服務(wù)端提出連接請求,這時TCP分段(SYN標(biāo)志置位),客戶端告訴服務(wù)端序列號區(qū)域合法,需要檢查,客戶端在TCP報

45、頭的序列號區(qū)中插入自己的ISN。服務(wù)端收到該TCP分段后,在第二步以自己的ISN回應(yīng)(SYN標(biāo)志置位),加上確認(rèn)收到客戶端的第一個TCP分段(ACK標(biāo)志置位)發(fā)給客戶端。在第三步中,客戶端確認(rèn)收到服務(wù)端的ISN(ACK標(biāo)志置位)。到此為止建立完整的TCP連接,開始全雙工模式的數(shù)據(jù)傳輸過程。 </p><p>  圖5 SYN Flood惡意地不完成三次握手</p><p>  假設(shè)一個用戶

46、向服務(wù)器發(fā)送了SYN報文后突然死機或掉線,那么服務(wù)器在發(fā)出SYN+ACK應(yīng)答報文后是無法收到客戶端的ACK報文的(第三次握手無法完成),這種情況下服務(wù)器端一般會重試(再次發(fā)送SYN+ACK給客戶端)并等待一段時間后丟棄這個未完成的連接,這段時間的長度我們稱為SYN Timeout,一般來說這個時間是分鐘的數(shù)量級(大約為30秒-2分鐘);一個用戶出現(xiàn)異常導(dǎo)致服務(wù)器的一個線程等待1分鐘并不是什么很大的問題,但如果有一個惡意的攻擊者大量模擬這

47、種情況,服務(wù)器端將為了維護一個非常大的半連接列表而消耗非常多的資源――數(shù)以萬計的半連接,即使是簡單的保存并遍歷也會消耗非常多的CPU時間和內(nèi)存,何況還要不斷對這個列表中的IP進(jìn)行SYN+ACK的重試。實際上如果服務(wù)器的TCP/IP棧不夠強大,最后的結(jié)果往往是堆棧溢出崩潰――即使服務(wù)器端的系統(tǒng)足夠強大,服務(wù)器端也將忙于處理攻擊者偽造的TCP連接請求而沒時間處理客戶的正常請求(畢竟客戶端的正常請求比率非常之小),此時從正??蛻舻慕嵌瓤磥?,服

48、務(wù)器失去響應(yīng),這種情況我們稱做:服務(wù)器端受到了SYN Flood攻擊(SYN洪水攻擊)?! ?lt;/p><p>  6.4 SYN Flood實例分析</p><p>  這一個局域網(wǎng)環(huán)境,只有一臺攻擊機(P4 2.4G/256M DDR)pc01,被攻擊的是一臺(P4 2.0/256 M DDR)pc02的主機,網(wǎng)絡(luò)設(shè)備是Cisco的百兆交換機。這是在攻擊還沒有進(jìn)行之前,在pc02上進(jìn)行s

49、noop的記錄,snoop和tcpdump等網(wǎng)絡(luò)監(jiān)聽工具一樣,也是一個很好的網(wǎng)絡(luò)抓包與分析的工具??梢钥吹焦糁?,目標(biāo)主機上接到的基本上都是一些普通的網(wǎng)絡(luò)包。</p><p>  ……     ? -> (broadcast) ETHER Type=886F (Unknown), size = 1510 bytes     ? -> (broadcast) ETHER Type=886F (U

50、nknown), size = 1510 bytes     ? -> (multicast) ETHER Type=0000 (LLC/802.3), size = 52 bytes     ? -> (broadcast) ETHER Type=886F (Unknown), size = 1510 bytes192.168.0.66 -> 192.168.0.255 NBT Datagram Service

51、 Type=17 Source=GU[0]192.168.0.210 -> 192.168.0.255 NBT Datagram Service Type=17 Source=ROOTDC[20]192.168.0.247 -> 192.168.0.255 NBT Datagram Service Type=17 Source=TSC[0]    </p><p>  接著,攻擊機開始發(fā)包,DD

52、OS開始了…,突然間pc02主機上的snoop窗口開始飛速地翻屏,顯示出接到數(shù)量巨大的SYN請求。這是在SYN Flood攻擊時的snoop輸出結(jié)果:</p><p>  ……127.0.0.178 -> lab183.lab.net AUTH C port=1352 127.0.0.178 -> lab183.lab.net TCP D=114 S=1352 SYN Seq=674711609

53、 Len=0 Win=65535127.0.0.178 -> lab183.lab.net TCP D=115 S=1352 SYN Seq=674711609 Len=0 Win=65535127.0.0.178 -> lab183.lab.net UUCP-PATH C port=1352 127.0.0.178 -> lab183.lab.net TCP D=118 S=1352 SYN Seq=67471

54、1609 Len=0 Win=65535127.0.0.178 -> lab183.lab.net NNTP C port=1352 127.0.0.178 -> lab183.lab.net TCP D=121 S=1352 SYN Seq=674711609 Len=0 Win=65535127.0.0.178 -> lab183.l</p><p>  這時候內(nèi)容完全不同了,再也收不

55、到剛才那些正常的網(wǎng)絡(luò)包,只有DDOS包。大家注意一下,這里所有的SYN Flood攻擊包的源地址都是偽造的,給追查工作帶來很大困難。這時我們用netstat命令來查一下被攻擊主機上積累了多少SYN的半連接: </p><p>  # netstat -an | grep SYN </p><p>  ……192.168.0.183.9    127.0.0.79.1801     0 

56、  0 24656   0 SYN_RCVD192.168.0.183.13   127.0.0.79.1801     0   0 24656   0 SYN_RCVD192.168.0.183.19   127.0.0.79.1801     0   0 24656   0 SYN_RCVD192.168.0.183.21   127.0.0.79.1801     0   0 24656   0 SYN_RCVD192.1

57、68.0.183.22   127.0.0.79.1801     0   0 24656   0 SYN_RCVD192.168.0.183.23   127.0.0.79.1801     0   0 24656   0 SYN_RCVD192.168.0.183.25   127.0.0.79.1801     0   0 24656   0 SYN_RCVD192.168.0.183.37   127.0.0.79.180

58、1    0 0</p><p>  其中SYN_RCVD表示當(dāng)前未完成的TCP SYN隊列,統(tǒng)計一下:  # netstat -an | grep SYN | wc -l  5273  # netstat -an | grep SYN | wc -l  5154  # netstat -an | grep SYN | wc -l  5267  …..</p><

59、p>  共有五千多個SYN的半連接存儲在內(nèi)存中。這時候被攻擊機已經(jīng)不能響應(yīng)新的服務(wù)請求了,系統(tǒng)運行非常慢,也無法ping通。</p><p>  這是在攻擊發(fā)起后僅僅70秒左右時的情況。</p><p>  7.DDOS攻擊防范策略</p><p>  對付DDOS是一個系統(tǒng)工程,僅僅依靠某種系統(tǒng)或產(chǎn)品防范DDOS是不現(xiàn)實的,可以肯定的是,完全杜絕DDOS攻擊

60、,目前是不可能的,但通過適當(dāng)?shù)拇胧┑钟?0%的DDOS攻擊是可以做到的,基于攻擊和防御都有成本開銷的緣故,若通過適當(dāng)?shù)霓k法增強了抵御DDOS的能力,也就意味著加大了攻擊者的攻擊成本,那么絕大多數(shù)攻擊者將無法繼續(xù)下去而放棄,也就相當(dāng)于成功的抵御了DDOS攻擊。</p><p>  7.1 采用高性能的網(wǎng)絡(luò)設(shè)備</p><p>  首先要保證網(wǎng)絡(luò)設(shè)備不能成為瓶頸,因此選擇路由器、交換機、硬件防

61、火墻等設(shè)備的時候要盡量選用知名度高、口碑好的產(chǎn)品。再次,假如和網(wǎng)絡(luò)提供商有特殊關(guān)系或協(xié)議的話就更好了,當(dāng)大量攻擊發(fā)生的時候請他們在網(wǎng)絡(luò)接點處做一下流量限制來對抗某些種類的DDOS攻擊是非常有效的。</p><p>  7.2 盡量避免NAT的使用</p><p>  無論是路由器還是硬件防護墻設(shè)備要盡量避免采用網(wǎng)絡(luò)地址轉(zhuǎn)換NAT的使用,因為采用此技術(shù)會較大降低網(wǎng)絡(luò)通信能力,其實原因很簡單,

62、因為NAT需要對地址來回轉(zhuǎn)換,轉(zhuǎn)換過程中需要對網(wǎng)絡(luò)包的校驗和進(jìn)行計算,因此浪費了很多CPU的時間,但有些時候必須使用NAT,那就沒有好辦法了。</p><p>  7.3 充足的網(wǎng)絡(luò)帶寬保證</p><p>  網(wǎng)絡(luò)帶寬直接決定了能抗受攻擊的能力,假若僅僅有10M帶寬的話,無論采取什么措施都很難對抗現(xiàn)在的SYN Flood攻擊,當(dāng)前至少要選擇100M的共享帶寬,最好的當(dāng)然是掛在1000M的

63、主干上了。但需要注意的是,主機上的網(wǎng)卡是1000M的并不意味著它的網(wǎng)絡(luò)帶寬就是千兆的,若把它接在100M的交換機上,它的實際帶寬不會超過100M,再就是接在100M的帶寬上也不等于就有了百兆的帶寬,因為網(wǎng)絡(luò)服務(wù)商很可能會在交換機上限制實際帶寬為10M,這點一定要搞清楚。</p><p>  7.4 升級主機服務(wù)器硬件</p><p>  在有網(wǎng)絡(luò)帶寬保證的前提下,請盡量提升硬件配置,要有效

64、對抗每秒10萬個SYN攻擊包,服務(wù)器的配置至少應(yīng)該為:P4 2.4G/DDR512M/SCSI-HD,起關(guān)鍵作用的主要是CPU和內(nèi)存,內(nèi)存一定要選擇DDR的高速內(nèi)存,硬盤要盡量選擇SCSI的,別只貪IDE價格不貴量還足的便宜,否則會付出高昂的性能代價,再就是網(wǎng)卡一定要選用3COM或Intel等名牌的,若是Realtek的還是用在自己的PC上吧。</p><p>  7.5 把網(wǎng)站做成靜態(tài)頁面</p>

65、<p>  大量事實證明,把網(wǎng)站盡可能做成靜態(tài)頁面,不僅能大大提高抗攻擊能力,而且還給黑客入侵帶來不少麻煩,至少到現(xiàn)在為止關(guān)于HTML的溢出還沒有出現(xiàn),新浪、搜狐、網(wǎng)易等門戶網(wǎng)站主要都是靜態(tài)頁面,若你非需要動態(tài)腳本調(diào)用,那就把它弄到另外一臺單獨主機去,免的遭受攻擊時連累主服務(wù)器,當(dāng)然,適當(dāng)放一些不做數(shù)據(jù)庫調(diào)用腳本還是可以的,此外,最好在需要調(diào)用數(shù)據(jù)庫的腳本中拒絕使用代理的訪問,因為經(jīng)驗表明使用代理訪問你網(wǎng)站的80%屬于惡意行

66、為。</p><p>  7.6 增強操作系統(tǒng)的TCP/IP棧</p><p>  Win2000和Win2003作為服務(wù)器操作系統(tǒng),本身就具備一定的抵抗DDOS攻擊的能力,只是默認(rèn)狀態(tài)下沒有開啟而已,若開啟的話可抵擋約10000個SYN攻擊包,若沒有開啟則僅能抵御數(shù)百個。</p><p>  7.7 安裝專業(yè)抗DDOS防火墻</p><p>

67、;  國內(nèi)有一款可全功能免費試用的“冰盾防火墻”,是專門針對DDOS攻擊和黑客入侵而設(shè)計的專業(yè)級防火墻,據(jù)測試可有效對抗每秒數(shù)十萬的SYN/ACK攻擊、TCP全連接攻擊、刷腳本攻擊等DDOS攻擊,而且可識別2000多種黑客行為的入侵檢測模塊,能夠有效防范端口掃描、SQL注入、木馬上傳等攻擊。</p><p>  7.8 其他防御措施</p><p>  以上的七條對抗DDOS建議,適合絕大

68、多數(shù)擁有自己主機的用戶,假如采取以上措施后仍然不能解決DDOS問題,就有些麻煩了,可能需要更多投資,增加服務(wù)器數(shù)量并采用DNS輪巡或負(fù)載均衡技術(shù),甚至需要購買七層交換機設(shè)備,從而使得抗DDOS攻擊能力成倍提高,只要投資足夠深入,總有攻擊者會放棄的時候,那時候你就成功了!</p><p><b>  8.結(jié)論</b></p><p>  對DDoS的原理與應(yīng)付方法的研究

69、一直在進(jìn)行中,找到一個既有效又切實可行的方案不是一朝一夕的事情,但目前我們至少可以做到把自己的網(wǎng)絡(luò)與主機維護好,首先讓自己的主機不成為別人利用的對象去攻擊別人;其次,在受到攻擊的時候,要盡量地保存證據(jù),以便事后追查,一個良好的網(wǎng)絡(luò)和日志系統(tǒng)是必要的。無論DDoS的防御向何處發(fā)展,這都將是一個社會工程,需要IT界的同行們來一起關(guān)注,通力合作。</p><p><b>  致謝</b></

70、p><p>  在畢業(yè)論文完成之際,首先,要感謝我的導(dǎo)師***老師在我的畢業(yè)設(shè)計與論文撰寫過程中,給了我大量的悉心指導(dǎo)和幫助,在老師的耐心幫助下才能順利的完成論文的寫作,在此向老師表示最誠摯的謝意。</p><p>  感謝我們專業(yè)的所有老師和在一起朝夕相處四年的同學(xué)們,在這四年來,在學(xué)習(xí)中、研究工作中、在生活上,他們給了我許多鼓勵和幫助。在論文工作中提了許多寶貴的建議意見和指導(dǎo),真正是我的良

71、師益友。</p><p>  感謝在大學(xué)的四年里始終給了我無盡的支持的父母,正是他們的鞭策、鼓勵、理解和幫助是我克服困難、不斷進(jìn)步的精神支柱,是我勇往直前的精神動力,我的任何成績都是和他們的支持分不開的。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 飛思科技產(chǎn)品研發(fā)中心,居安思危-電腦防黑防毒急救,電子工業(yè)出版社

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論