版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 本科畢業(yè)設(shè)計(論文)</p><p><b> ?。ǘ?屆)</b></p><p><b> 泛洪攻擊設(shè)計與實現(xiàn)</b></p><p> 所在學院 </p><p> 專業(yè)班級 計算機科學與技術(shù)
2、 </p><p> 學生姓名 學號 </p><p> 指導教師 職稱 </p><p> 完成日期 年 月 </p><p> 摘要:簡述了泛洪攻擊的背景,詳細的介紹了TCP/IP協(xié)議首部格式和
3、與攻擊相關(guān)的面向連接的三次握手過程。之后對泛洪攻擊的概念和攻擊原理做了解析。本系統(tǒng)是以C++語言開發(fā)。通過一個循環(huán)不停地改變和填充TCP/IP的首部并向被攻擊者發(fā)送,從而達到攻擊效果。本文還對泛洪攻擊的影響和危害做了一定闡述,并在此基礎(chǔ)上對其防御的措施進行了一定建議。</p><p> 關(guān)鍵詞:DDoS;泛洪攻擊;三次握手;C++;解析;防御</p><p> Extensive fl
4、ood attack design and implementation</p><p> Abstract: Describes the background of generic flood attack, detailed introduces the TCP/IP protocol first format and and attack related connection-oriented hands
5、hake process three times. After the flood of functional concept and attack against the analytic principle. This system is developed in C + + language. Through a cycle constantly changing and filling of TCP/IP first and t
6、o send by an attacker, thus achieved the attack effect. This paper also to its attacks against the effect and harm floo</p><p> Key words: DDoS;flood attack; Shake hands three times;C++;Analytical;defense;&
7、lt;/p><p><b> 目錄</b></p><p><b> 1 緒論1</b></p><p> 1.1 課題背景1</p><p> 1.1.1 簡介1</p><p> 1.1.2 國內(nèi)外實例記錄1</p><p>
8、 1.2 研究現(xiàn)狀2</p><p> 1.3 本課題研究的意義3</p><p> 2 相關(guān)理論基礎(chǔ)4</p><p> 2.1 TCP/IP協(xié)議4</p><p> 2.1.1 TCP簡述4</p><p> 2.1.2 IP協(xié)議5</p><p> 2.2
9、 DoS及DDoS簡述5</p><p> 2.3 泛洪攻擊簡述8</p><p><b> 2.4 C++8</b></p><p> 2.4.1 C++的發(fā)展8</p><p> 3.4.2 C++的優(yōu)勢9</p><p> 2.5 開發(fā)環(huán)境VC簡介9</p
10、><p> 3 設(shè)計與實現(xiàn)10</p><p> 3.1 攻擊具體分析10</p><p> 3.1.1 基于TCP協(xié)議泛洪的分析10</p><p> 3.1.2 IP偽造11</p><p> 3.1.3 DDoS攻擊步驟11</p><p> 3.1.4 控制
11、與協(xié)同傀儡機12</p><p> 3.2程序設(shè)計14</p><p> 3.2.1 程序拓撲圖14</p><p> 3.2.2 TCP/IP首部定義14</p><p> 3.2.3 計算校驗和15</p><p> 3.2.4 SynFlooding主函數(shù)16</p>
12、<p> 3.2.5 程序流程圖19</p><p> 3.3 攻擊測試20</p><p> 4 淺談泛洪攻擊的防御21</p><p> 4.1 DDoS攻擊防護機制21</p><p> 4.2 舉例防御22</p><p><b> 5 總結(jié)24</
13、b></p><p> 致 謝錯誤!未定義書簽。</p><p><b> 參考文獻25</b></p><p><b> 1 緒論</b></p><p><b> 1.1 課題背景</b></p><p><b>
14、1.1.1 簡介</b></p><p> 隨著科技的發(fā)展,人們生活質(zhì)量的提升,Internet和個人電腦也在迅速的發(fā)展和普及。給人們帶來各種學習,工作和娛樂方便的同時也帶來了許多問題,計算機安全,網(wǎng)絡(luò)安全就是其中之一。各種網(wǎng)絡(luò)黑客技術(shù),安全隱患層出不窮。因此針對這些問題也就有了論證和研究乃至破解的必要,而要徹底的破解這些安全問題,首先要做的就是對它進行深刻的理解。因此對近年來比較常見的泛洪攻擊小
15、作論述,希望有所裨益。</p><p> 而隨著計算機技術(shù)的迅速發(fā)展,在計算機上處理的業(yè)務(wù)也由簡單的數(shù)學運算、文件處理,連接的內(nèi)部網(wǎng)絡(luò)的一些內(nèi)部業(yè)務(wù)處理等發(fā)展到復雜的內(nèi)部網(wǎng)、企業(yè)外部網(wǎng)、全球互聯(lián)網(wǎng)的企業(yè)級計算機處理系統(tǒng)以及世界范圍內(nèi)的信息共享和業(yè)務(wù)處理。在提高系統(tǒng)處理能力的同時,系統(tǒng)的連接能力也在不斷的提高。但在連接信息、流通能力提高的同時,在網(wǎng)絡(luò)連接上的安全問題也日漸突出,整體的網(wǎng)絡(luò)安全主要表現(xiàn)在以下幾個方面
16、:網(wǎng)絡(luò)的物理安全、網(wǎng)絡(luò)拓撲結(jié)構(gòu)安全、網(wǎng)絡(luò)系統(tǒng)安全、應(yīng)用系統(tǒng)安全和網(wǎng)絡(luò)管理的安全等。 </p><p> 因此計算機安全問題,應(yīng)該像每家每戶的防火防盜問題一樣,做到防范于未然。也許不知道什么時候你自己也會成為被攻擊目標,一旦發(fā)生這些情況,常常措手不及,造成極大的損失。</p><p> 1.1.2 國內(nèi)外實例記錄</p><p> DDOS 最早可追述到199
17、6年最初,在中國2002年開始頻繁出現(xiàn),2003年已經(jīng)頗具規(guī)模。近幾年由于網(wǎng)絡(luò)的普及,很多網(wǎng)站開始盈利,其中很多網(wǎng)站利潤巨大,造成同行之間互相攻擊,還有一部分人利用網(wǎng)絡(luò)攻擊來做一些非法活動如敲詐勒索等。同時由于windows平臺的漏洞大量的被公布,流氓軟件,病毒,木馬大量充斥著網(wǎng)絡(luò)。有些熟悉網(wǎng)絡(luò)技術(shù)的人可以很容易地非法入侵控制大量的個人計算機來發(fā)起DDOS攻擊從中謀利。攻擊已經(jīng)成為互聯(lián)網(wǎng)上的一種最直接的競爭方式,在利益的驅(qū)使下,攻擊已經(jīng)
18、演變成非常完善的產(chǎn)業(yè)鏈。</p><p> 下面是一些收集到得真實的網(wǎng)絡(luò)攻擊事件。其大部分來自文獻[3]的整理歸類:</p><p> 1996年初,美國舊金山的計算機安全協(xié)會與聯(lián)邦調(diào)查局通過一次聯(lián)合調(diào)查的數(shù)據(jù)顯示,有53%的企業(yè)受到過計算機病毒的侵害,有42%的企業(yè)的計算機系統(tǒng)在過去的12個月被非法使用過。同年,據(jù)五角大樓的一個研究小組稱美國一年中遭受的網(wǎng)絡(luò)攻擊就達25萬次之多。 &
19、lt;/p><p> 1994年末,俄羅斯黑客弗拉基米爾·利維與其伙伴從圣彼得堡的一家小軟件公司的聯(lián)網(wǎng)計算機上,向美國CITYBANK銀行發(fā)動了一連串攻擊,通過電子轉(zhuǎn)帳方式,從CITYBANK銀行在紐約的計算機主機里竊取1100萬美元。 </p><p> 1996年8月17日,美國司法部的網(wǎng)絡(luò)服務(wù)器曾遭到黑客入侵,并將“ 美國司法部” 的主頁改為“ 美國不公正部” ,甚至將司法
20、部部長的照片換成了阿道夫·希特勒,將司法部徽章?lián)Q成了納粹黨徽,并加上一幅色情女郎的圖片作為所謂司法部部長的助手。此外還留下了很多攻擊美國司法政策的文字。 </p><p> 1996年9月18日,黑客光顧了美國中央情報局的網(wǎng)絡(luò)服務(wù)器,將其主頁由“中央情報局” 改為“ 中央愚蠢局”。 </p><p> 1996年12月29日,黑客侵入美國空軍的全球網(wǎng)網(wǎng)址并將其主頁肆意改動,其
21、中有關(guān)空軍介紹、新聞發(fā)布等內(nèi)容被替換成一段簡短的黃色錄象,且聲稱美國政府所說的一切都是謊言。迫使美國國防部一度關(guān)閉了其他80多個軍方網(wǎng)址。 </p><p> 1996年2月,剛開通不久的Chinanet受到攻擊。 </p><p> 1997年初,北京某ISP被黑客成功侵入,并將如何免費通過其ISP進入Internet的方法公布在清華大學的BBS上。</p><p
22、> 1997年4月23日,一個遠在美國德克薩斯某網(wǎng)絡(luò)的公司的PPP用戶成功侵入中國互聯(lián)網(wǎng)信息中心的服務(wù)器,破譯了系統(tǒng)賬戶并把中國互聯(lián)網(wǎng)信息中心的主頁換成了一個骷髏頭。</p><p> 1996年初,CHINANET受到某高校的一個研究生的攻擊。96年秋,北京某用戶因與某ISP的矛盾而攻擊了改ISP服務(wù)器,導致了改服務(wù)器數(shù)小時的中斷。</p><p> 從以上實例不難看出網(wǎng)絡(luò)安
23、全的重要性。隨著人們對網(wǎng)絡(luò)安全的重視,這也促使了對各種網(wǎng)絡(luò)攻擊的防御措施的發(fā)展。但是可以看到網(wǎng)絡(luò)攻擊的手段也在同時出現(xiàn)了大量的新型攻擊,而原有的攻擊也或多或少的進化和變異,使攻擊形式趨向于多樣化、綜合化。而我所研究的泛洪攻擊也正是其中一種比較常見的DdoS攻擊的一種類型。</p><p><b> 1.2 研究現(xiàn)狀</b></p><p> 從以上實例不難看出網(wǎng)
24、絡(luò)安全的重要性。隨著人們對網(wǎng)絡(luò)安全的重視,這也促使了對各種網(wǎng)絡(luò)攻擊的防御措施的發(fā)展。但是可以看到網(wǎng)絡(luò)攻擊的手段也在同時出現(xiàn)了大量的新型攻擊,而原有的攻擊也或多或少的進化和變異,使攻擊形式趨向于多樣化、綜合化。而我所研究的泛洪攻擊也正是其中一種比較常見的DDoS攻擊的一種類型。</p><p> DDoS全名是Distributed Denial of service (分布式拒絕服務(wù)攻擊),很多DOS攻擊源一起
25、攻擊某臺服務(wù)器就組成了DDOS攻擊。第一次的DDoS攻擊發(fā)生在1994年,在一個只有10多個主機的較小網(wǎng)絡(luò)上。它利用了TCP/IP的漏洞和最小寬帶特點結(jié)合ICMP泛洪攻擊進行了組合式的綜合攻擊。之后一年,出現(xiàn)了新的攻擊工具,如trinoo,攻擊者通過盡量降低系統(tǒng)安全來大大的提高攻擊的力度。2000年2月,eBay,CNN,Buy.com,Amazon,雅虎電子貿(mào)易和 ZDNet 都受到過 DDOS 攻擊。使所有公司都遭受到了巨大的經(jīng)濟損
26、失。</p><p> 作個形象的比喻來理解DDoS。街頭的餐館為大眾提供了餐飲服務(wù),假如一群地痞流氓要攻擊餐館的話,手段會有很多,比如霸占著餐桌不結(jié)賬,堵住餐館大門不讓路,騷擾餐館的服務(wù)員或廚師不能正常干活,甚至更惡劣……相應(yīng)的,計算機和網(wǎng)絡(luò)系統(tǒng)是為Internet用戶提供互聯(lián)網(wǎng)資源的,如果有黑客要進行DDoS攻擊的話,同樣有很多種手段可以使用。今天最常見的DDoS攻擊有對計算機網(wǎng)絡(luò)的帶寬攻擊和連通性攻擊。帶
27、寬攻擊指用極大的通信量沖擊網(wǎng)絡(luò),使得所有可用網(wǎng)絡(luò)資源都被消耗殆盡,最后導致合法的用戶請求無法通過。連通性攻擊指隊計算機用大量的連接請求,讓所有可用的操作系統(tǒng)資源都被消耗殆盡,導致計算機無法再正常處理合法用戶的請求。 </p><p> 現(xiàn)在針對DDoS攻擊的防御研究在不斷的進行。歸納之下主要有以下幾種:</p><p> ?。?)優(yōu)化系統(tǒng)。通過優(yōu)化系統(tǒng)提高自身對DDoS攻擊的響應(yīng)能力。&
28、lt;/p><p> ?。?)網(wǎng)絡(luò)追查 。當遭受攻擊時,系統(tǒng)的管理人員通過詢問上一級的網(wǎng)絡(luò)運營商,了解攻擊來源。</p><p> ?。?)提高硬件。有的人試圖以購買硬件來提高系統(tǒng)的性能,來抵御攻擊。但這種方法性價比較低,且只能減緩一部分攻擊效果,并不能有效防御DDoS攻擊。</p><p> ?。?)基于路由器。通過在路由器上設(shè)置一定的措施可以有效的過濾一點的非法流量
29、。</p><p> ?。?)基于防火墻。雖然防火墻能很好的防御,但是其對攻擊的檢測能力較低,使得往往導致為了防御攻擊而拒絕整個網(wǎng)絡(luò)服務(wù)的情況出現(xiàn)。</p><p> ?。?)入侵檢測。對攻擊的及時檢測是防護的關(guān)鍵,也能大大降低攻擊效果,但是現(xiàn)在的檢測機制仍不完備,不能完全防御攻擊。</p><p> 1.3 本課題研究的意義</p><p&
30、gt; 泛洪攻擊是出現(xiàn)較早也較常見的網(wǎng)絡(luò)攻擊手段,所以它很具有研究價值。它利用的是TCP/IP協(xié)議的固有漏洞進行攻擊,它的出現(xiàn)暴露了協(xié)議的缺陷,使人們有機會去完善網(wǎng)絡(luò)中類似這樣的缺陷。同樣的道理,反過來說這也促使了黑客攻擊人士去多元化的改良黑客攻擊手段。就是這樣類似道高一尺魔高一丈的雙向循環(huán)下,互相提高。這也是本課題的研究意義之一。</p><p> 其實,關(guān)于黑客方面的知識對我來說是一個全新的領(lǐng)域,一個從未
31、接觸過的世界。以前也只是只見聞其“聲”,不明其所以。這樣一來對設(shè)計和研究方面增加了很大的難度。本課題致力于實現(xiàn)一個簡單的泛洪攻擊,或者說用設(shè)計來達到模擬這種攻擊手段,從而能更了解這種攻擊。包括其擁有怎樣的特性,有什么優(yōu)點,又有什么樣的弱點,從而促使針對其防御的發(fā)展。</p><p><b> 2 相關(guān)理論基礎(chǔ)</b></p><p> 2.1 TCP/IP協(xié)議
32、</p><p> TCP/IP協(xié)議(Transmission Control Protocol/Internet Protocol)在網(wǎng)絡(luò)運輸層上提供面向連接的服務(wù)。圖2-1為TCP連接的建立過程。</p><p> 圖2-1 TCP連接的建立過程</p><p> 2.1.1 TCP簡述</p><p> TCP是通過以下特點來
33、提供面向連接的服務(wù)的:</p><p> ?。?)差錯控制:TCP通過收到的確認信息來反應(yīng)對視或順序錯亂的數(shù)據(jù)。通過超時和重傳機制來保證數(shù)據(jù)傳輸?shù)耐暾?,以達到可靠的連接服務(wù)。</p><p> ?。?)流量控制:TCP用過滑動窗口流量控制機制來防止接受緩沖區(qū)的溢出。</p><p> ?。?)擁塞控制:TCP通過慢啟動、擁塞避免、快速重傳等機制來適應(yīng)阻塞。<
34、/p><p> TCP的首部格式如下圖2-2所示:</p><p> 圖2-2 TCP首部格式</p><p> 2.1.2 IP協(xié)議</p><p> IP協(xié)議主要負責數(shù)據(jù)包的處理或者說傳輸。但是因其傳輸只會針對數(shù)據(jù)包本身進行處理,不會考慮到其他方面,所以其傳輸是不可靠的。</p><p> IP的首部格式如
35、下圖2-3所示:</p><p> 圖2-3 IP首部格式</p><p> 2.2 DoS及DDoS簡述</p><p> DoS攻擊是用拒絕網(wǎng)絡(luò)中合法用戶對服務(wù)器的訪問,以達到破壞網(wǎng)路正常運行的目的。DoS攻擊的攻擊方式有很多,在文獻[2]中對常見的DoS攻擊進行了歸納,基本可分為一下3類:</p><p> (1)帶寬DoS
36、攻擊。這是一種初級的DoS攻擊方法,原理是利用高帶寬消耗服務(wù)器緩沖區(qū),從而消耗服務(wù)器的帶寬。</p><p> ?。?)日志文件滿載攻擊。通過構(gòu)造大量的錯誤信息發(fā)送,使服務(wù)器 日志文件因為記錄這些錯誤信息而變得非常龐大。</p><p> (3)在Windows的SMB實現(xiàn)的DoS攻擊。其只要允許匿名連接的Windows操作系統(tǒng)就可以進行遠程攻擊。</p><p>
37、; DDoS攻擊,也稱拒絕服務(wù)攻擊,是在DoS攻擊基礎(chǔ)上產(chǎn)生的一類攻擊方法,也是目前比較常見的一種網(wǎng)絡(luò)攻擊方式。之前提到的DoS攻擊一般是采用一對一方式的,當被攻擊目標的CPU速度較低、內(nèi)存較小或者網(wǎng)絡(luò)帶寬較小等等各項性能普遍指標不高的時候,它的攻擊效果是明顯的。但是隨著計算機與網(wǎng)絡(luò)技術(shù)迅猛的發(fā)展,計算機的處理能力迅速增長,內(nèi)存大大增加,同時也出現(xiàn)了千兆級別的網(wǎng)絡(luò),這使得DoS攻擊的困難程度加大了。或者說被攻擊的目標對惡意攻擊包的&q
38、uot;消化能力"加強了不少,例如你的攻擊軟件每秒鐘可以發(fā)送3,000個攻擊包,但我的主機與網(wǎng)絡(luò)帶寬每秒鐘可以處理10,000個攻擊包,這樣一來攻擊就不會產(chǎn)生什么效果。 </p><p> 這時候分布式的拒絕服務(wù)攻擊手段(DDoS)就應(yīng)運而生了。它同樣是通過消耗網(wǎng)絡(luò)寬代或者系統(tǒng)資源,進而導致網(wǎng)絡(luò)或者系統(tǒng)超負荷甚至癱瘓而停止提供正常網(wǎng)絡(luò)服務(wù)。不同的在于如果說計算機與網(wǎng)絡(luò)的處理能力加大了10倍,用一臺攻擊
39、機來攻擊不再能起作用的話,攻擊者使用10臺攻擊機同時攻擊呢?用100臺呢?DDoS就是利用更多的傀儡機來發(fā)起進攻,以比從前更大的規(guī)模來進攻受害者。</p><p> 在文獻[14]中簡要的對DDoS攻擊的特點進行了歸納,可分為一下幾點:</p><p> ?。?)分布式:攻擊者通過控制許多傀儡機完成協(xié)同攻擊。</p><p> ?。?)實行欺騙:攻擊者一般會采取I
40、P欺騙或者控制其他主機發(fā)動攻擊等手段來隱藏自己,使其不易被追蹤。</p><p> ?。?)攻擊發(fā)起容易:由于現(xiàn)下DDoS攻擊工具在網(wǎng)上的泛濫,使其使用的門檻不斷變低,易用人群大大增加。</p><p> ?。?)攻擊特征不明顯:因為DDoS攻擊利用的是協(xié)議的固有漏洞,使“看上去”合法的攻擊報文很難被一般的防御系統(tǒng)辨別,也就造成了其很難被完全防御的情況。</p><p&
41、gt; ?。?)威力強,破壞力大:DDoS攻擊一經(jīng)發(fā)起,往往會借助大量的傀儡機,這會使得被攻擊者所要面對的攻擊流會非常大,使得其造成的危害也更嚴重。</p><p> 但是無論是DoS攻擊還是DDoS攻擊,簡單的看,都只是一種破壞網(wǎng)絡(luò)服務(wù)的黑客方式,雖然具體的實現(xiàn)方式千變?nèi)f化,但都有一個共同點,就是其根本目的是使受害主機或網(wǎng)絡(luò)無法及時接收并處理外界請求,或無法及時回應(yīng)外界請求。其具體表現(xiàn)方式有以下幾種: <
42、;/p><p> ?。?)制造大流量無用數(shù)據(jù),造成通往被攻擊主機的網(wǎng)絡(luò)擁塞,使被攻擊主機無法正常和外界通信。 </p><p> ?。?)利用被攻擊主機提供服務(wù)或傳輸協(xié)議上處理重復連接的缺陷,反復高頻的發(fā)出攻擊性的重復服務(wù)請求,使被攻擊主機無法及時處理其它正常的請求。 </p><p> (3)利用被攻擊主機所提供服務(wù)程序或傳輸協(xié)議的本身實現(xiàn)缺陷,反復發(fā)送畸形的攻擊數(shù)
43、據(jù)引發(fā)系統(tǒng)錯誤的分配大量系統(tǒng)資源,使主機處于掛起狀態(tài)甚至死機。</p><p> 圖2-4 DDoS攻擊體系圖</p><p> 文獻[6]中對一個比較完整的DDoS攻擊體系結(jié)構(gòu)作出了很清晰的示意,如圖2-4所示。其將整個攻擊分成四個部分,其中第二和第三部分最為重要,他們的作用分別是控制和實際發(fā)起攻擊。這里需要注意到的是控制機和攻擊機的區(qū)別。對于作為第四部分的受害者來說,DDoS的實
44、際攻擊是從第三部分也就是數(shù)量眾多的傀儡機上發(fā)出的,而第二部分的控制機只負責對第三部分的攻擊傀儡機發(fā)布攻擊命令而不會參與到實際的攻擊中去。對于第二和第三部分的計算機,攻擊者,也就是第一部分的黑客具有控制權(quán)或者部分控制權(quán)。這里所說的控制權(quán)必須具備的是將響應(yīng)的DDoS程序發(fā)送到本機平臺上的能力。而這些DDoS程序會與正常的程序一樣運行并等待來自上一級或者攻擊者的指令。通常它還會利用各種手段想方設(shè)法隱藏自己存在的消除痕跡,以此確保自己不被別機主
45、發(fā)現(xiàn),達到黑客長期控制和潛伏的目的。而在平時,這些傀儡機并不會有什么異常,這就加大了機主發(fā)現(xiàn)的難度。但是一旦黑客連接到他們指示目標信息并下達對目標的攻擊指令時,這些傀儡機就成為了攻擊者手上最有力的工具和力量了。</p><p> 由文獻[7]對DDoS攻擊和DoS攻擊所作的闡述得它們2者的比較如下表1所示。</p><p> 表2-1 DDoS攻擊和DoS攻擊比較</p>
46、<p> 2.3 泛洪攻擊簡述</p><p> 泛洪攻擊,也稱SYN Flooding攻擊。SYN Flooding攻擊時利用TCP/IP協(xié)議的固有漏洞,對網(wǎng)絡(luò)中的客戶機、服務(wù)器進行的一種網(wǎng)絡(luò)攻擊形式[1]。其原理是通過偽造一個報文向服務(wù)器申請連接,而其源地址僅為偽造或者根本不存在的地址,當服務(wù)器接收到報文發(fā)送的SYN報文應(yīng)答時,由于攻擊報文的源地址的不可達,導致等待不到報文,這樣便造成了一
47、個半開的連接,但是在這個過程中服務(wù)器依舊處于應(yīng)答的狀態(tài),并沒有完全斷開,這就造成了服務(wù)器資源的一定占用。由此當攻擊者發(fā)送大量報文時,服務(wù)器會的大量系統(tǒng)資源會被消耗,導致其他正常訪問服務(wù)器的用戶無法正常訪問。</p><p><b> 2.4 C++</b></p><p> C++語言是一種面向?qū)ο蟮母呒壘幊陶Z言。它從C語言發(fā)展而來,并且兼容C語言的所有語法,在此
48、基礎(chǔ)上進行發(fā)展和完善,是十分強大實用性很強的編程語言。</p><p> 2.4.1 C++的發(fā)展</p><p> C++這個詞在中國通常被讀做“C加加”,而西方的程序員通常讀做“C plus plus”,即“CPP”。 它是一種使用十分廣泛的計算機編程語言。C++是一種靜態(tài)數(shù)據(jù)類型檢查的通用程序設(shè)計語言,支持多重編程范式。它具有支持過程化程序設(shè)計、數(shù)據(jù)抽象、面向?qū)ο蟪绦蛟O(shè)計、制作
49、圖標等多種程序設(shè)計風格的特點</p><p> C++語言發(fā)展大概可以分為三個階段: </p><p> 第一階段從80年代到1995年。這一時期C++語言基本上是傳統(tǒng)類型上的面向?qū)ο笳Z言,并且憑借著接近C語言的效率,在工業(yè)界使用的開發(fā)語言中被廣泛使用; </p><p> 第二階段從1995年到2000年,這一階段因為標準模板庫(STL)和后來的Boost等
50、程序庫的出現(xiàn),泛型程序設(shè)計在C++中占據(jù)了越來越多的比重。同時由于Java、C#等新語言的出現(xiàn)以及硬件價格的大規(guī)模下降,C++受到了一定的沖擊; </p><p> 第三階段從2000年至今,由于以Loki、MPL等程序庫為代表的產(chǎn)生式編程和模板元編程的出現(xiàn),C++達到了其發(fā)展史上的又一個高峰,這些新技術(shù)的出現(xiàn)以及和原有技術(shù)的融合,使C++成為當今主流程序設(shè)計語言中綜合而又復雜的語言。</p>&
51、lt;p> 3.4.2 C++的優(yōu)勢</p><p> ?。?)兼容性。C++是一種絕對不會試圖迎合某個模子的語言。它的形式可以變化多端,用以解決不同類型的問題。這主要反映在象Microsoft Visual C++和Borland C++ Builder那樣的工具身上。它們將庫、組件模型以及代碼生成工具等等合成到一起,以開發(fā)可視化的用戶應(yīng)用。與C語言一樣具有高效且可移植等的特點。</p>
52、<p> (2)性價比高。傳統(tǒng)上認為,C++相對于現(xiàn)在一些新興的語言,如Java、C#等,優(yōu)勢在于程序的運行性能。但這種觀念并不完全正確。因為眾所周知隨著CPU性能的快速提升,性能問題已不是問題所在。而另一方面,一般認為使用Java或C#的開發(fā)成本比C++低。但是,如果能夠充分分析C++和這些語言的差別,就會發(fā)現(xiàn)這句話只有在特定條件下才成立。這個條件就是:軟件規(guī)模和復雜度都比較小。如果不超過3萬行有效代碼(不包括生成器產(chǎn)生
53、的代碼),這句話基本上還能成立。反之,隨著代碼量和復雜度的增加,C++的優(yōu)勢將會越來越明顯。造成這種差別的就是C++的軟件工程性。在Java和C#大談軟件工程的時候,C++實際上已經(jīng)將軟件工程性提升到另一個高度。這一點被多數(shù)人忽視。</p><p> ?。?)面向?qū)ο?。C++作為一種面向?qū)ο蟮牡木幊陶Z言,使得其程序結(jié)構(gòu)更合理,無論在閱讀、理解或者擴充上更方便。 </p><p> 2.5
54、 開發(fā)環(huán)境VC簡介</p><p> VC是Visual C++的縮寫,是一款由微軟發(fā)布基于Windows系統(tǒng)的C++開發(fā)平臺,有微軟可視化C加加的意思。開發(fā)人員只需用 Basic 語言寫出邏輯控制部分的程序代碼,而界面只需要用 Visual Basic 提供的工具繪制一下就可以了,不再需要像過去一樣要通過書寫很復雜的代碼來實現(xiàn)。VC的源程序按C++語言的要求編寫,并加入了微軟提供的功能強大的MFC(Micr
55、osoft Foundation Class)類庫,充分體現(xiàn)了微軟公司的技術(shù)精華。配套有MFC等項目開發(fā)工具,它和Borland C++一樣,都可以進行C++語言的編譯。使用VC提供的高度可視化的應(yīng)用程序開發(fā)工具和MFC類庫,可使應(yīng)用程序開發(fā)變得更簡單。MFC提供的類庫是高度抽象的程序設(shè)計,它使得程序員的精力不再在程序設(shè)計的具體細節(jié)實現(xiàn)上消耗太多,從而更好的在功能擴展上面投入充足的精力。 </p><p><
56、;b> 3 設(shè)計與實現(xiàn)</b></p><p> 3.1 攻擊具體分析</p><p> 3.1.1 基于TCP協(xié)議泛洪的分析</p><p> 前文已經(jīng)提到SYNFlood攻擊是DoS攻擊的一種,它利用TCP/IP協(xié)議的漏洞完成攻擊。文獻[1]中提到通常一次TCP連接的建立包括3個步驟,客戶端發(fā)送SYN包給服務(wù)器端,服務(wù)器分配一定的
57、資源給這里連接并返回SYN/ACK包,并等待連接建立的最后的ACK包,最后客戶端發(fā)送ACK報文,這樣兩者之間的連接建立起來,并可以通過連接傳送數(shù)據(jù)了。而攻擊的過程就是瘋狂發(fā)送SYN報文,而不返回ACK報文,服務(wù)器占用過多資源,而導致系統(tǒng)資源占用過多,沒有能力響應(yīng)別的操作,或者不能響應(yīng)正常的網(wǎng)絡(luò)請求。</p><p> 圖3-1 TCP三次握手</p><p> 如圖3-1所示,正是T
58、CP的三次握手,同時也是泛洪攻擊所要利用的協(xié)議漏洞所在。第一次握手:建立連接時,客戶端發(fā)送請求包SYN(SEQ=k)到服務(wù)器,并進入SYN—SEND狀態(tài),等待服務(wù)器確認,請求標志syn=1;第二次握手:服務(wù)器收到請求包,必須確認客戶的請求包(ACK=k+1),同時自己也發(fā)送一個應(yīng)答包(SEQ=q),即SYN十ACK包,此時服務(wù)器進入SYN.RECV狀態(tài),應(yīng)答標志ack=1;第三次握手:客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認
59、包ACI((SEQ:q+1),此包發(fā)送完畢,客戶端和服務(wù)器進入ESTABLISHED狀態(tài),完成三次握手。而泛洪攻擊正是在第三次握手時將“手”握住不放,同時繼續(xù)申請握手,以此消耗受害者資源。</p><p> 這里提到的SYN (synchronize) 是TCP/IP建立連接時使用的握手信號。在客戶機和服務(wù)器之間建立正常的TCP網(wǎng)絡(luò)連接時,客戶機首先發(fā)出的就是SYN消息,服務(wù)器使用SYN-ACK應(yīng)答表示接收到了
60、這個消息,最后客戶機再以ACK消息響應(yīng)。這樣在客戶機和服務(wù)器之間才能建立起可靠的TCP連接,數(shù)據(jù)才可以在客戶機和服務(wù)器之間傳遞。</p><p> ACK (ACKnowledge Character)也稱確認字符。在數(shù)據(jù)通信傳輸中,是位于TCP數(shù)據(jù)包首部中的確認標志。接收站發(fā)給發(fā)送站的一種傳輸控制字符。它表示確認發(fā)來的數(shù)據(jù)已經(jīng)接受無誤。通常ACK信號有自己固定的格式,而長度大小,由接受方回復給發(fā)送方。其格式取
61、決于采取的網(wǎng)絡(luò)協(xié)議。當發(fā)送方接收到ACK信號時,就可以發(fā)送下一個數(shù)據(jù)。如果發(fā)送方?jīng)]有收到信號,那么發(fā)送方可能會重新發(fā)送當前的數(shù)據(jù)包,也可能停止傳送數(shù)據(jù)。具體情況取決于所采用的網(wǎng)絡(luò)協(xié)議。ACK信號通常是一個ASCII字符,不同的協(xié)議中ACK信號都不一樣。</p><p> 3.1.2 IP偽造</p><p> 當其實施攻擊的時候,涉及到了如偽造IP地址TCP序列號的猜測等多種相應(yīng)知識
62、。</p><p> IP地址的偽造很容易實現(xiàn),及其實現(xiàn)形式并不復雜。在文獻[5]中對如何進行IP地址偽造進行了簡述。首先創(chuàng)建一個具有IP報文格式的結(jié)構(gòu),然后在該結(jié)構(gòu)中源地址一項上填寫虛假的IP地址,最后將該報文寫入輸出設(shè)備發(fā)向Intemet。攻擊者猜測目標主機的TCP的32位的序列號,攻擊者連接到目標的一個TCP端口預先試探攻擊,完成三次握手,但是攻擊者會保存目標主機發(fā)送過來的初始序列號ISN,攻擊者需要知道
63、目標和它信任的主機問的往返時間(R]_r,round—trip time),RTT是精確計算下一個初始序列號(ISN)所必需的,只要x猜測的初始序列號大于等于A實際的初始序列號,連接就會被接受。攻擊者在攻擊過程中由于無法獲知被攻擊者的響應(yīng),因此只能通過猜測被攻擊者所處的狀態(tài)來控制住攻擊的節(jié)奏才能取得成功。猜測TCP序列號成功,則攻擊主機I可以偽裝成信任主機的IP與TCP序列號與目標主機進行通信或進行攻擊。</p><
64、p> 3.1.3 DDoS攻擊步驟</p><p> DDoS攻擊不再是簡單的一對一的入侵一臺主機那么簡單,而是多對一或者多對多的“較量”。所以要成功的組織一次DDoS攻擊也并不容易。所以進行DDoS攻擊時通常會經(jīng)過如下幾個步驟:</p><p> ?。?)搜集了解目標的情況。說穿了就是情報,而且是會直接影響到攻擊效果的情報。這些情報通常包括:被攻擊目標的主機數(shù)目、地址情況;目
65、標主機的配置、性能;以及目標的寬帶。舉例子說就是,當攻擊者要攻擊互聯(lián)網(wǎng)上的某個站點,那么其情報的重點就是確定有多少臺主機在支持這個站點,如果攻擊的只是一部分的主機,那么攻擊效果也會大打折扣。于是乎這些主機的地址也成了必不可少的信息。只有找到所有地址,并讓這些IP地址所在的機器都癱瘓才可以說進行了一次成功的攻擊。</p><p> ?。?)占領(lǐng)傀儡機。排除主觀因素,一般的攻擊者或者說黑客更喜歡侵入鏈路狀態(tài)較好,性能
66、較好,而安全管理水平較差的主機作為其傀儡機。攻擊者通過占領(lǐng)和控制被攻擊的主機,取得最高的管理權(quán)限,或者得到至少一個足夠能夠完成其攻擊任務(wù)的權(quán)限。這種攻擊和占領(lǐng)在互聯(lián)網(wǎng)上的方式有很多,首先進行掃描工作,然后有選擇的利用目標漏洞,或者目標安全措施不完備進行入侵從而完成傀儡機的建立。</p><p> ?。?)“裝備”傀儡機。當黑客占領(lǐng)一臺傀儡機時,在抹去了入侵的痕跡后,會把DDoS攻擊所需要用到的程序上載過去。形象的
67、說就像是給自己的“手下”配備上“武器彈藥”,為以后的攻擊做好準備。</p><p> ?。?)發(fā)起攻擊。經(jīng)過之前幾步的精心準備,攻擊者就可以對目標進行攻擊了。他會登陸到作為控制臺的傀儡機,然后向其余的傀儡機或者說攻擊機發(fā)出命令。這時候之前埋伏在攻擊機中的DDoS攻擊程序就會響應(yīng)控制臺的命令,一起開始以高速向攻擊目標發(fā)送大量數(shù)據(jù)包或者建立半連接,從而達到使目標癱瘓的攻擊效果。</p><p>
68、; 如圖3-2所示,是DDoS攻擊的網(wǎng)絡(luò)拓撲結(jié)構(gòu)圖。很直觀的闡述了其基本構(gòu)建原理。其中Attacker是攻擊者所使用的計算機,Master是主控機,Daeman是傀儡機。</p><p> 圖3-2 網(wǎng)絡(luò)攻擊拓撲圖</p><p> 3.1.4 控制與協(xié)同傀儡機</p><p> 前文提到,要使DDoS攻擊真正具有強大的破壞力,那么攻擊者手上掌握的“力量”
69、,也就是傀儡機的數(shù)量和質(zhì)量將是很重要的一部分。</p><p> 首先對于傀儡機初步的控制主要有兩種途徑。其一是直接從黑客處購買傀儡機,因為后者往往掌握著大量傀儡機,并以出賣傀儡機產(chǎn)生利益。其二是攻擊者自己占領(lǐng)傀儡機。而這樣的占領(lǐng)又具有多樣化的特點。一般的方法是在有一定瀏覽量的網(wǎng)站上植入與黑客軟件相關(guān)的木馬程序并使其再不被發(fā)現(xiàn)的情況下侵入目標:或者直接向目標發(fā)送含木馬程序的郵件或其他文件并盡可能誘使目標接收文件
70、。但是不管是什么方法,它的目的是很明確的,就是為了之后控制目標主機作為傀儡機打開一扇后門。當目標不知情的情況下被侵入后,攻擊者則開始利用系統(tǒng)漏洞,或者“制造”漏洞來為之后的遠程控制做好準備。接著攻擊者通過清理日志,尤其是與自己相關(guān)的日志來抹除操作后的痕跡,達到隱藏自己的目的。</p><p> 當真正需要發(fā)動攻擊時,攻擊者首先會啟動遠程控制工具,并通過之前從傀儡機處竊取的信息與植入在傀儡機的相關(guān)黑客軟件取得聯(lián)系
71、,并發(fā)送指令,激發(fā)需要進行的操作。這樣傀儡機則會在用戶不知情的情況下按照來自上一級的控制傀儡機或者攻擊者所給出的攻擊信息,“偷偷”運行攻擊程序,達到攻擊目的。</p><p> 在當今這個信息爆炸的時代,網(wǎng)絡(luò)上不但有所有你想要的信息,同時也充斥著各種病毒和黑客工具。在遠程竊取和控制方面有Radmin、灰鴿子、pcanywhere等多種常見的工具。Radimin是基于TCP/IP協(xié)議的,理論上利用它你可以控制世界
72、上任何一臺計算機。甚至于你可以利用它做任何想做的事,包括控制和被控制主機間數(shù)據(jù)的互相傳送,甚至遠程控制其關(guān)機。而且其還支持對遠程控制的窗口可視化?;银澴幼鳛橐豢钍种暮箝T程序,不但上手容易而且很擅長竊取信息,其為了成功潛伏所做的各種手段讓它如一個隱形的賊一樣很難被發(fā)現(xiàn),令人防不勝防。pcanywhere也是一款十分實用強大的遠程控制、操作軟件,它甚至可以進行對被控制端的各項配置工作。即使如有防火墻或者路由器等阻擋在前,或者目標沒有固
73、定或者公開的IP地址,它依舊可以輕松的找到目標所在。</p><p> 在進行DDoS攻擊包括泛洪攻擊時,利用以上這些軟件工具,可以很輕松地控制傀儡機。在一層接一層的金字塔型的傀儡機構(gòu)架中,通過階梯狀的指令的傳遞,可以有效的協(xié)同對受害者發(fā)起攻擊。</p><p><b> 3.2程序設(shè)計</b></p><p> 3.2.1 程序拓撲圖
74、</p><p> 程序的簡單拓撲圖如下圖3-3所示。</p><p> 圖3-3 程序拓撲圖</p><p> 3.2.2 TCP/IP首部定義</p><p> 由于需要發(fā)送的是假的TCP連接包,因此,需要分別定義一個偽TCP首部和真正的TCP首部,如圖3-4所示:</p><p> 0
75、 15 16 31</p><p> 圖3-4 TCP首部定義</p><p> 由于報文是用IP協(xié)議發(fā)送的,因此,需要自己定義IP數(shù)據(jù)包的數(shù)據(jù)結(jié)構(gòu),這樣就可以任意修改IP數(shù)據(jù)包的內(nèi)容了。圖3-5為對IP的首部各項的定義示意圖。</p><
76、p> 0 15 16 31</p><p> 圖3-5 IP定義圖</p><p> 3.2.3 計算校驗和</p><p> sourceIP和destIP可以被看做是A和B的IP。而最重要的就是check
77、sum,這個參數(shù)是一個驗證碼,用于驗證發(fā)送的IP數(shù)據(jù)包的正確性,而驗證碼則稱為校驗和。IP數(shù)據(jù)包的校驗和是根據(jù)IP首部計算出來的,而IP數(shù)據(jù)包中的數(shù)據(jù)部分則不用計算。為了計算作為校驗和的數(shù),需要首先把校驗和字段賦為0。然后,對首部中每個16位進行二進制反碼求和(將整個IP首部看成是由一組16位的字組成),將結(jié)果保存在校驗和字段中。當收到一份IP數(shù)據(jù)報后,同樣對首部中每個16位進行二進制反碼的求和。由于接收方在計算過程中包含了發(fā)送方存在首
78、部的校驗和,因此,如果首部在傳輸過程中沒有發(fā)生任何差錯,那么接收方計算的結(jié)果應(yīng)該全是1.如果結(jié)果不全是1即校驗和發(fā)生錯誤。那么就把IP丟棄到收到的數(shù)據(jù)報。但不生成差錯報文,由上層(如TCP協(xié)議)去發(fā)現(xiàn)丟失的數(shù)據(jù)報進行重傳。計算它的函數(shù)如下:</p><p> USHORT checksum(USHORT *buffer, int size)</p><
79、p><b> {</b></p><p> unsigned long cksum=0; </p><p> while(size >1) </p><p><b> {</b></p><p> cksum+=*buffer+
80、+; </p><p> size -=sizeof(USHORT); </p><p><b> }</b></p><p> if(size ) </p><p><b> { </b></p><p>
81、 cksum += *(UCHAR*)buffer; </p><p><b> }</b></p><p> cksum = (cksum >> 16) + (cksum & 0xffff);</p><p>
82、; cksum += (cksum >>16); </p><p> return (USHORT)(cksum); </p><p><b> }</b></p><p> 3.2.4 SynFlooding主函數(shù)</p><p> 在
83、以上的準備工作都完成后,是main函數(shù)中程序定義的部分,也是SynFlood主函數(shù)。</p><p> int main(int argc, char **argv) </p><p><b> { </b></p><p> int datasize,ErrorCode,counter,flag,FakeIpNet,FakeIpHost
84、; </p><p> int TimeOut=2000,SendSEQ=0; </p><p> char SendBuf[128]; </p><p> char DestIP[16];</p><p> memset(DestIP, 0, 4);</p><p> if(argc < 2)<
85、/p><p> strcpy(DestIP, SYN_DEST_IP);</p><p><b> else</b></p><p> strcpy(DestIP, argv[1]);</p><p> WSADATA wsaData; </p><p> SOCKET SockRaw=(S
86、OCKET)NULL; </p><p> struct sockaddr_in DestAddr; </p><p> IP_HEADER ip_header; </p><p> TCP_HEADER tcp_header;</p><p><b> }</b></p><p> /
87、/初始化SOCK_RAW </p><p> if((ErrorCode=WSAStartup(MAKEWORD(2,1),&wsaData))!=0) </p><p><b> { </b></p><p> fprintf(stderr,"WSAStartup failed:
88、 %d\n",ErrorCode);</p><p> ExitProcess(STATUS_FAILED); </p><p><b> } </b></p><p> SockRaw=WSASocket(AF_INET,SOCK_RAW,IPPROTO_RAW,NULL,0,WSA_
89、FLAG_OVERLAPPED); </p><p> if (SockRaw==INVALID_SOCKET) // 如果建立Socket錯誤,輸出錯誤信息</p><p><b> { </b></p><p> fprintf(stderr,"WSASocket
90、() failed: %d\n",WSAGetLastError()); </p><p> ExitProcess(STATUS_FAILED);</p><p><b> } </b></p><p> 填充剛才定義的那些數(shù)據(jù)結(jié)構(gòu)。</p><p> //設(shè)置
91、IP_HDRINCL以自己填充IP首部 </p><p> ErrorCode=setsockopt(SockRaw,IPPROTO_IP,IP_HDRINCL,(char *)&flag,sizeof(int));</p><p> if (ErrorCode==SOCKET_ERROR)printf("Set IP_HDRI
92、NCL Error!\n");</p><p><b> try{ </b></p><p><b> //設(shè)置發(fā)送超時 </b></p><p> ErrorCode=setsockopt(SockRaw,SOL_SOCKET,SO_SNDTIMEO,(char*)&
93、TimeOut,sizeof(TimeOut));</p><p> if(ErrorCode==SOCKET_ERROR)</p><p><b> { </b></p><p> fprintf(stderr,"Failed to set send TimeOut:
94、;%d\n",WSAGetLastError()); </p><p><b> __leave; </b></p><p><b> } </b></p><p> memset(&DestAddr,0,sizeof(DestAddr));</p>&l
95、t;p> DestAddr.sin_family=AF_INET; </p><p> DestAddr.sin_addr.s_addr=inet_addr(DestIP); </p><p> FakeIpNet=inet_addr(FAKE_IP); </p><p> FakeIpHost=ntohl(FakeIpN
96、et); </p><p><b> //填充IP首部</b></p><p> ip_header.h_verlen=(4<<4 | sizeof(ip_header)/sizeof(unsigned long)); </p><p> ip_header.tot
97、al_len=htons(sizeof(IP_HEADER)+sizeof(TCP_HEADER)); ip_header.ident=1; </p><p> ip_header.frag_and_flags=0; </p><p> ip_header.ttl=128; </p><p&
98、gt; ip_header.proto=IPPROTO_TCP;</p><p> ip_header.checksum=0;</p><p> ip_header.sourceIP=htonl(FakeIpHost+SendSEQ);</p><p> 3.2.5 程序流程圖</p><p> 程序流程圖如下圖3-6所示。<
99、;/p><p><b> 3.3 攻擊測試</b></p><p> 下圖3-7所示,為攻擊運行界面。當運行程序后出現(xiàn)的如下界面,127.0.0.1位設(shè)置的默認IP,而其后每一個點則代表每發(fā)送了10000個報文。</p><p> 圖3-7 攻擊運行界面</p><p> 圖3-8CPU已經(jīng)90%以上</p
100、><p> 圖3-8是我使用本機測試的結(jié)果,可以看到的是在程序運行后CUP的使用迅速上升,達到90%以上。如果通過局域網(wǎng)攻擊其它的機器,CPU未必能達到100%,但至少也在50%以上,可以使目標機器明顯變慢。</p><p> 4 淺談泛洪攻擊的防御</p><p> 4.1 DDoS攻擊防護機制</p><p> 由于泛洪攻擊即DD
101、oS攻擊的方法和特性所決定,一般認為,在特定的站點上實現(xiàn)對其攻擊的有效防護是不太可能的,除非完全不用TCP/IP協(xié)議才有可能完全抵御。所以只能通過不斷的研究提出一些可行的決絕辦法來部分防御或者降低其威脅性。文獻[9]總結(jié)了一些比較常用的DDoS攻擊防護機制和方法,如圖4-1所示。</p><p> 圖4-1 DDoS攻擊防護機制分類</p><p><b> 4.2 舉例
102、防御</b></p><p> 雖然DDoS攻擊的類型很多,但是從其過程和效果來看,針對它的防御可以歸納為最初的攻擊檢測和防止受到攻擊主機的資源耗盡兩個方面。</p><p> 在時刻存在受到DDoS攻擊威脅的情況下,首先要做的是對其的攻擊檢測。攻擊檢測是為了在攻擊開始的時候,對自身是否受到攻擊做出判斷,其檢測的準確度會大大降低攻擊效果,變相達到防御目的。在文獻[1]中對泛
103、洪攻擊的檢測進行了闡述,并列舉了基于防火墻的兩種檢測方法:</p><p> ?。?)半開連接數(shù)檢測。根據(jù)SYN Flooding攻擊的原理,針對性的在防火墻上設(shè)置一個半開連接的數(shù)值,用它和防火墻所記錄的所有客戶端向服務(wù)器發(fā)起半連接并能夠完成三次握手的正常連接數(shù)進行比較,以此來判斷服務(wù)器是否正在都到泛洪攻擊。</p><p> ?。?)新建連接速率檢測。受到泛洪攻擊時必定會使服務(wù)器在短時間
104、內(nèi)增加大量的SYN報文。而該檢測正是利用這一點對新建的報文和后續(xù)的報文進行比較以達到檢測的目的。</p><p> 在文獻[8]還提到一種名為同源SYN報文兩次接受法的檢測辦法:利用超時重傳機制,以收到客戶端第二次發(fā)送的SYN報文來判斷其是否為正常的連接請求。其原理如下圖4-2所示。</p><p> 圖4-2 同源SYN報文兩次接受法示意圖</p><p>
105、 在防御DDoS攻擊的道路上,類似的攻擊檢測好比是對攻擊的先見之明,只有做到這樣的先見之明才能為接下來的防御加大勝算。</p><p> 對于泛洪攻擊的應(yīng)對策略還有有很多,包括基于防火墻、基于服務(wù)器、基于代理和基于路由器的防御策略等等。</p><p><b> 5 總結(jié)</b></p><p> 本文針對DDOS攻擊的一種,即泛洪攻
106、擊的攻擊特點,分析了其基本的攻擊原理,模擬了基本攻擊流程。隨著現(xiàn)下網(wǎng)絡(luò)攻擊的越來越多元化,木馬,病毒等攻擊類型的不斷變化和升級,為有效的防御網(wǎng)絡(luò)侵襲,營造良好的網(wǎng)絡(luò)環(huán)境增加了不小的難度。正因如此,基于網(wǎng)絡(luò)類型的攻擊的研究也有了其相當重要的研究價值。</p><p> 不可否認對于DDoS攻擊的積極防御仍有很多缺陷,其抽象想法任未被廣泛的接受。,例如基于協(xié)議的維護效力取決于新協(xié)議的范圍和程度都很難把握。從另一面看
107、,主動防御系統(tǒng)的許多功能都基于路由器,但是一個路由器的體系結(jié)構(gòu)和加密原則很容易被破解。因此,隨著DDoS攻擊的多樣化,制定針對其攻擊的技術(shù)更顯得必要。而防御技術(shù)的革新也將變相的促進攻擊技術(shù)的出新,這也成了科學發(fā)展過程中必然出現(xiàn)的不會停止,可以說永無止境的“堆疊”。同時也會促使更多的人進行到這種對抗式的發(fā)展中去。</p><p><b> 參考文獻</b></p><p&
108、gt; [1] 趙開新,李曉月.SYN Flooding網(wǎng)絡(luò)攻擊的原理、檢測及防御技術(shù)[J].2010.(3):45-46. </p><p> [2] 劉敏娜.DDdoS攻擊原理與防御 [J].2009.(14) :54-56. </p><p> [3] linxsong.網(wǎng)絡(luò)完全案例[EB/OL].http://baike.baidu.com/view/17495.html ,
109、2010.12.22.</p><p> [4] Haining Wang,Danlu Zhang.Defence against Distributed denial of service attacks[M]. The University of Michiigan ,2002-2.</p><p> [5] 黃貽望,萬 良,李祥. 基于IP欺騙的SYN泛洪攻擊[J].2008.(
110、12):159-161.</p><p> [6] 暗黑游俠.大級別攻擊運行原理[EB/OL].</p><p> http://baike.baidu.com/view/23271.html ,2010.12.23.</p><p> [7] 張靜,胡華平.剖析DDoS攻擊對抗技術(shù)[J].2010.(9):46-54. </p><p&g
111、t; [8] 見曉春,昊振強,霍成義,張婕.同源SYN報文兩次接收法防御SYN Flood攻擊[J].2008(6):1440-1442.</p><p> [9] 吳國綱.DDoS攻擊與IP擁塞控制研究[J].2007.(3):614-616. </p><p> [10] 黃卓,君易昀.基于用戶自服務(wù)的DDoS攻擊防御方案分析與應(yīng)用[J].2010.(9):1-4. </p
112、><p> [11] Danlu Zhang,Kang G.Shin ,Detcting.SYN Flooding Attacks EECS Department,The University of Michigan Ann Arbor[J].2008.(5):2109-2122.</p><p> [12] Ejaz Ahmed, George Mohay, Alan Tickle1,
113、Sajal Bhatia1.Use of IP Addresses for High Rate Flooding Attack[M] Queensland University of Technology,2004.</p><p> [13] 李坤.基于主機擁塞量化的DDoS攻擊源端檢測[J].2010.(25):106.</p><p> [14] 谷紅恩,谷紅梅.淺談DDoS攻擊
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 泛洪攻擊設(shè)計與實現(xiàn)【畢業(yè)設(shè)計】
- gps儀的設(shè)計與實現(xiàn)【畢業(yè)設(shè)計+開題報告+文獻綜述】
- linux shell的設(shè)計與實現(xiàn)【畢業(yè)設(shè)計+開題報告+文獻綜述】
- 畢業(yè)設(shè)計開題報告+文獻綜述.doc
- 在線判題系統(tǒng)設(shè)計與實現(xiàn)【畢業(yè)設(shè)計+開題報告+文獻綜述】
- 網(wǎng)絡(luò)考試系統(tǒng)的設(shè)計與實現(xiàn)【開題報告+文獻綜述+畢業(yè)設(shè)計】
- 畢業(yè)設(shè)計開題報告+文獻綜述.doc
- 梵塔動畫演示的設(shè)計與實現(xiàn)【畢業(yè)設(shè)計+開題報告+文獻綜述】
- 圖片文字提取系統(tǒng)的設(shè)計與實現(xiàn)【畢業(yè)設(shè)計+開題報告+文獻綜述】
- 網(wǎng)上虛擬試衣系統(tǒng)的設(shè)計與實現(xiàn)【畢業(yè)設(shè)計+開題報告+文獻綜述】
- 一個簡單的泛洪攻擊系統(tǒng)【文獻綜述】
- 高校智能門禁系統(tǒng)的設(shè)計與實現(xiàn)【畢業(yè)設(shè)計+開題報告+文獻綜述】
- led燈設(shè)計與開發(fā)【開題報告+文獻綜述+畢業(yè)設(shè)計】
- 大學選課系統(tǒng)的分析、設(shè)計與實現(xiàn)【畢業(yè)設(shè)計+開題報告+文獻綜述】
- 盆花自動澆水系統(tǒng)設(shè)計與實現(xiàn)【畢業(yè)設(shè)計+開題報告+文獻綜述】
- 校園軟件屋的設(shè)計與實現(xiàn)【畢業(yè)設(shè)計+開題報告+文獻綜述】
- 運動器械設(shè)計【開題報告+文獻綜述+畢業(yè)設(shè)計】
- 遮陽雨棚設(shè)計【開題報告+文獻綜述+畢業(yè)設(shè)計】
- 畢業(yè)設(shè)計開題報告和文獻綜述.doc
- 人體檢測方法研究與實現(xiàn)【畢業(yè)設(shè)計+開題報告+文獻綜述】
評論
0/150
提交評論