一種改進的DDOS攻擊檢測與防御系統設計摘要_第1頁
一種改進的DDOS攻擊檢測與防御系統設計摘要_第2頁
一種改進的DDOS攻擊檢測與防御系統設計摘要_第3頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、一種改進的DDOS攻擊檢測與防御系統設計摘要摘要:提出一種檢測與防御的路由器架構,即在服務器與外界輸入之間放置具有檢測與過濾功能的路由器以防范攻擊。檢測中,運用報文差檢測算法,對網絡中當前數據流量進行監測與分析,實現攻擊檢測。防御中,將路由器作為外界與服務器之間的TCP握手代理,通過對網絡中TCP數據包進行分析篩選保證服務器的正常工作。關鍵詞:報文差檢測算法;TCP握手代理;NetFPGA;路由器架構1實現方案1.1 設計原理在正常的服務器通信中,路由器主要發揮流量監測的功能即對網絡中存在的數據流量進行實時監測,并采用報文差檢驗算法對得到的數據流量進行實時處理與分析,以判斷當前網絡數據是否存在

2、異常。當發現異常時,會認為有攻擊產生,并自動切換到防御狀態。在防御狀態中,對于每個由外界發起的TCP連接都會在路由器處進行TCP三次握手的預處理即將路由器作為服務器的代理,確認客戶端是否可完成完整的TCP三次握手。對于通過認證的TCP連接請求,路由器會再作為客戶端代理與服務器進行TCP握手,如此等價實現客戶端與服務器的TCP的握手連接,之后客戶端便可與服務器進行正常的TCP通信了。在此過程中,路由器會開辟出一塊空間作為TCP信息存儲隊列,該系統共用到了兩個隊列分別為外界TCP申請隊列、確認正常的TCP信息隊列,其功能將在中提到。下圖1對整個設計原理進行了簡要描述。圖1系統設計原理1.2 模塊化

3、設計攻擊源產生無論對于系統的設計還是測試,合理的DDOS攻擊源都必不可少即要能在短時間內產生大量的具有虛假源地址的TCP/IP數據包,并將這些數據包同時發送至同一服務器主機。對此,實驗中以TCP/IP包發送工具HPING為基礎上設計出一個能夠采用虛假源地址發送TCP包的DDOS攻擊器。其設計原理是通過更改IP包頭設置中的對應字節,得到需要類型的數據包包括IP包的源地址,目的地址以及通信協議等,然后將其從對應網絡端口發出。1.2.2 網絡數據流量監測模塊該模塊用于實現將網絡中流過服務器的TCP包數量,以圖形方式動態顯示,從而便于人員觀測當前網絡流量狀態,其設計原理主要分為數據包的獲取解析與流量圖

4、的繪制。在設計中,通過編寫接口程序,對經過網絡端口的IP包包頭進行校驗,以此判斷包的類型。當檢測到TCP的SYN包、數據包等特殊包后,響應計數器記錄加一,并將此記錄反饋至繪圖模塊,實現對網絡TCP流量的圖形觀測。攻擊檢測模塊在SYNFlooding攻擊中,攻擊者向服務器發送大量偽造源IP地址的SYN請求包,服務器返回SYN/ACK應答包后得不到確認,就會不斷地對偽造的IP地址進行重試直至超時丟棄,由于SYN連接請求的速度遠大于服務器超時丟棄的處理速度。因此,服務器的半連接列表很快就被塞滿,致使客戶的正常請求得不到響應,以實現拒絕服務的目的。介于DDOS這種攻擊特性,系統運用正確建立連接數的差別

5、實現對DDOS攻擊檢測報警。首先對TCP連接信號SYN進行抽樣,設d為檢測周期,SYN_n為抽樣間隔內源端網絡中SYN包的數量,FIN_n為FIN包的數量。記:det_n二SYN_n-FIN_n一般情況下,det_n與網絡的規模、抽樣間隔相關,為減少上述因素的影響,提高算法的通用性,對det_n進行歸一化處理:記:det_n二det_n/SYN_n二(SYN_n-FIN_n)/SYN_nn=1,2實驗中給出一個門限值h,當_n>h,則報警。連接代理模塊當路由器檢測到流量異常時,會自動進入智能防御方式。在此階段,路由器會接受到分別來自服務器與外界輸入兩個方向的TCP數據包,因此需要在路由器

6、上建立兩個緩存隊列,分別為外界TCP隊列以及確認正常的TCP信息隊列。外界TCP隊列(隊列1)主要用于記錄外界向服務器發起的TCP連接信息,其中主要包括該TCP連接的MAC源地址、IP源地址、IP源端口、IP目的端口、路由器向外部提供的序列號SEQ、連接狀態標志位States通過此隊列所記錄的信息,路由器實現了與外界輸入的模擬TCP三次握手過程。表1外界TCP隊列的數據單元存儲信息MAC源地址(48bits)IP源地址(32bits)IP源端口(16bits)IP目的端口(16bits)向外界提供的序列號SEQ(32bits)表1描述了外界TCP隊列存儲單元信息,經計算,一個數據單元所占空間為

7、144bits=18Byte確認正常的TCP信息隊列(隊列2),主要用來完成對TCP數據包過濾即符合條件的TCP包可以直接通過,否則丟棄,以緩解服務器壓力。下面主要討論了TCP包有外界發起與TCP包有服務器發起兩個過程中,路由器的工作流程。當TCP包由外界發起時,工作流程如圖2所示。圖2外界發起TCP時路由器工作流程當TCP包由服務器發起時,工作流程如圖3所示:圖3服務器發起TCP時路由器工作流程1.3系統的功能與指標實驗中分別從路由器所能承受的Syn攻擊速度與隊列占用空間容量兩個指標對其進行分析,下面是理論計算中用到的符號:Syn_speed表示DDOS的攻擊速度T表示正常TCP握手連接中第

8、一次握手與第三次握手的時間間隔即TCP建立時間L表示路由器中用來存儲外界TCP信息的隊列長度速度指標:根據分析,要想保證一個正常的TCP連接信號不會因隊列過滿而擠掉,要求L>Syn_speed*T(1)查詢數據手冊,路由器(以NETFPGA為例)的工作頻率為125MHZ,并且假設掃描一個數據單元需要4個時鐘信號,則要想保證每個SYN包到來時,路由器能夠對整個數據隊列進行一次完整掃描,要求1Syn_speed>1125M(2)容量指標:查詢數據手冊,NETFPGA可用于存儲數據的空間有4.5MB,假設開辟的數據隊列空間為2MB,對于外界TCP隊列中每一個數據單元根據之前所述其長度為1

9、8B,因此從容量角度考慮要求:L*18V2*106(3)指標分析:結合以上3式,可以得到Syn_speed*T*18w2*106路由器本身容量限制Syn_speed2*T<1254*106路由器主頻限制以上兩式反應出DDOS攻擊速度Syn_speed與握手間隔T之間的制約關系。同時通過對比計算,發現在T<105s時,主頻限制占主導因素,且時間越小其影響作用越大。考慮到實際情況只需分析主頻限制條件下,SYN極限速率與建立時間T的關系情況。圖4SYN攻擊速率、隊列空間與TCP建立時間關系圖4所示兩圖中,左圖描述的是Syn_speed極限速率與TCP建立時間的關系示意圖,可以發現在TCP

10、建立時間增大時,SYN_speed明顯減小,受到嚴重制約。當T=0.1sSyn_speed=17000當T=1sSyn_speed=5500當T=30sSyn_speed=1000右圖描述了隊列所占空間隨TCP建立時間變化。經計算得,當T<30s時,隊列空間均小于600K,完全不受硬件空間限制。經過分析:(1)在硬件設施中,運算速度成為制約Syn_speed的主要因素。要想提高路由器抗DDOS攻擊能力,需要提高運算速度;(2)硬件條件一定的情況下,Syn_speed主要受TCP建立時間的制約。在網絡狀況不佳時(設建立TCP所需時間為1s),Syn_speed的極限為5500;在網絡狀況良

11、好時(建立TCP所需時間為0.1s),Syn_speed的極限為17000;(3)在硬件狀況不變的情況下,要想提高服務器的抗擊能力,可嘗試路由器級聯結構,將網絡流量分割給多個路由器處理。2性能測試2.1測試環境在測試中共需要4臺電腦,完成整個過程測試。4臺電腦的要求及其作用分別為:一臺要求是裝有NefFPGA開發板的臺式電腦,其系統為CentOS5.0。該電腦主要用于與NetFPGA進行通信;另外3臺電腦對系統無明顯限制,正常WindowsXP及其以上的操作系統均可。在測試中,使用一臺作為服務器用于接收外界發送的數據,剩余兩臺作為數據的發送源,其中一臺正常發送TCP數據包,另一臺對服務器進行D

12、DOS攻擊。將4臺電腦連成局域網模擬整個過程。2.2 系統測試流程無DDOS攻擊正常情況測試測試目的:得出正常情況下的TCP鏈接情況,便于和DDOS攻擊的情況比較。 操作描述:設定發送信息(A)和接收信息(B)主機的IP;由主機Aping主機B,在終端里輸入:hping192.168.0.1-iu1000;抓取TCP鏈接的SEQ,ACK等信息,觀察是否完成了三次握手。結果分析:圖5正常情況下抓包程序顯示結果圖5中可以看到主機A的IP為,主機B的IP為。首先由主機A向B發送SYN請求連接信號,然后主機B回復A一個SYN/ACK,表明已經接到請求,并且將ACK至1,主機A在接到返回信號后再向B發送

13、一個ACK信號,這樣主機A與B的連接就建立了。測試結果與預期相同。遭受DDOS攻擊下的測試測試目的:觀察DDOS攻擊下的TCP鏈接情況,便于數據包的篩選。操作描述:設定發送信息(A)和接收信息(B)主機的IP;主機A通過設定虛假IP(),向主機B發送DDOS攻擊,在終端里輸入hping-iu1000;比較DDOS攻擊下的TCP鏈接與正常情況下的區別。結果分析:圖6遭受攻擊境況下抓包程序顯示結果主機A的IP為,主機B的IP為。從圖中可以看出,在遭受DDOS攻擊時,由主機B向A發送SYN請求連接信號,且使用的是虛假源地址,且該地址在動態變化中,然后主機A回復B一個SYN/ACK,但之后主機B不會在

14、給A發ACK確認信號,也就是TCP三次握手連接并沒有真正建立。針對DDOS攻擊的檢測測試本文采用2000年DARPA第5周第2天的檢測評估數據作為實驗背景數據圖7描述了正常情況中,SYN與FIN包的變化關系在此基礎上,通過hping由主機A對主機B進行DDOS攻擊,以50packets/s的速率發送SYNflooding,攻擊檢測算法在發包3分鐘后開始檢測,我們以10s為檢測周期,連續抽樣200次,測量在不同的門限值的條件下,算法的誤警率。表3給出了該過程的計算結果:圖7正常情況下SYN與FIN包關系表2DDOS攻擊檢測結果攻擊次數判決門限正確判斷次數誤警次數誤警率2000.751574321

15、.5%2000.651643618%2000.551722814%2000.451663417%由此得到當門限值取0.55時,誤警率最低,正確判斷率達到86%,與其余門限值相比已經足夠高,基本上能夠對DDOS攻擊做出檢測。224針對DDOS攻擊的防御測試測試目的:通過比較一臺遭遇攻擊的主機和一臺加上了防御模塊的主機遭受攻擊程度,得出該防御系統的性能。操作描述:設定發送信息主機(A和C)和接收信息主機(B和D)的IP;讓主機A擬造虛假IP發送DDOS攻擊,主機C發送正常的TCP數據包;主機B和主機C同時接收來自主機A和主機C的數據包,其中主機B加上了防御模塊,而主機D是直接接受;分別檢測兩種情況

16、下的數據流量,通過流量圖顯示差別。結果分析:圖8正常情況下的發包量上圖為正常TCP包的累計量,主機C以每秒2個包的速度進行發包。圖9遭受DDOS攻擊時的發包量在上圖中主機A以每秒400包左右的速度發送DDOS攻擊。從主機B上接收到得數據流量如上圖所示,從中可以看出其中DDOS攻擊的數據包基本被濾除,留下的數據包基本上是有主機C發送的正確的數據包。測試結果與預期相同。圖10路由器過濾后數據流量3結束語防范DDOS攻擊是一個系統工程,本系統也僅能做到防御SYNFLOOD類的DDOS攻擊,防范總類繁多的DDOS攻擊僅依靠某一種技術是不現實的。只有事先增強對DDOS攻擊的防御能力,DDOS攻擊時及時對其進行檢測,受到DDOS攻擊后及時進行可靠的防御,綜合運用各種技術,對DDOS攻擊進行抵抗,從而增加攻擊者的攻擊成本,使絕大多數攻擊因成本開銷過大而放棄。本文的探究僅僅只是一個開始,因為時間和知識儲備的不足,仍然有待改進。參考文獻:劉志雷基于變動和式累積檢驗算法的DDOS攻擊檢測J.計算機仿真,2009(8).ALBERTOLEONGARCIA,INDRAWIDJAJA.

溫馨提示

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

評論

0/150

提交評論