劉偉山



關鍵詞:DDoS 攻擊;異常檢測;流量控制
中圖分類號:TP393 文獻標識碼:A
文章編號:1009-3044(2023)10-0084-03
0 引言
DDoS(Distributed Denial-of-Service)攻擊是互聯網目前面臨的最嚴峻的威脅之一,也是近幾年網絡安全研究的熱點問題。面對DDoS攻擊,雖然可以選擇提高網絡帶寬和增強網絡設備性能來抗衡,但帶寬容量不可能無限增長,而攻擊的規模則可以通過控制更多的僵尸主機(zombie)(實際執行攻擊的機器)來大大加強,而且隨著僵尸主機的性能的不斷增長,攻擊的強度也與日俱增,因此這種消極的應對方法并不值得提倡[1]。目前不少研究人員在這個安全領域進行了大量的研究,研究并總結出一些防御措施。這些方法根據其所處的防御階段可以分為攻擊發生前后的預防和追蹤以及攻擊時的控制。由于互聯網管理的分散性,攻擊前的預防通常不易實施[2]。而對攻擊機器的追蹤雖然在某種程度上可以制止攻擊的持續進行,但由于這種方法必須要求對互聯網中眾多網絡設備進行動態設置,以使它們可以聯動工作才可能取得預期的效果,所以現實中并不十分可行;于是人們紛紛將重點放在遭受攻擊過程中對攻擊的檢測與控制上。目前一個簡易可行的檢測與防御辦法,就是在網絡中一些關鍵的出口或入口處設置一個防御監控設備,這個設備有能力在攻擊到來時及時檢測出攻擊發生,并采取有效的控制措施以達到信息網絡系統的正常服務。
1 DDoS 攻擊原理
分布式阻斷服務(DDoS)攻擊的前身是所謂的阻斷服務(Denialof-Service,簡稱DoS)攻擊。DoS攻擊并不以篡改或竊取主機數據為目的,而是癱瘓系統主機使之無法正常運作[3]。換言之,由于一般網絡系統的系統資源(例如內存、磁盤空間以及網絡帶寬等)都有限,因此黑客可以根據部分網絡系統或者相關通信協議等的設計或實現上的漏洞,在一段時間內通過傳送大量且密集的數據包至特定網站,使該網站無法立即處理這些數據包而導致癱瘓,進而造成網絡用戶無法連上該網站而被阻絕在外。這種攻擊對網站本身而言并不具破壞性,只是造成系統無法及時處理信息或者宕機。
DDoS攻擊主要過程如下:攻擊者(Attacker)通過掃描從網絡中找出存在漏洞的服務器或網絡系統作為入侵控制的主控設備(Masters),通過控制主控設備重復掃描、入侵的步驟,攻擊者掌握了為數眾多的攻擊執行設備(Zombies)[4]。需要發動攻擊時,攻擊者只需操縱主控設備并植入攻擊指令和代碼在攻擊執行設備中,后者即可對受害者發起DDoS攻擊。
2 DDoS 檢測和防御系統設計
本系統設計是一個可部署在網絡關鍵出入口或者骨干網絡出入口的網絡安全設備,用于抑制異常的網絡流量以保證網絡正常的通信,使網絡即使在遭受諸如SYN泛洪、ICMP泛洪等一種或者多種已知或者未知的分布式服務攻擊情況下仍然能夠提供最大限度的正常網絡服務。
2.1 系統架構設計
本系統使用多位組統計檢測方法對網絡異常進行監測。多位組統計就是對IP網絡中的數據分組表頭的各位組進行解析,并根據需求分別分項統計。本模塊設計是在系統所完成的多位組積累數據統計的基礎上,進一步完成多位組檢測和數據流的分級控制。
整個系統設計主要包含下列三大模塊:
1)統計分類:由于網絡位組攜帶有網絡通信的各種重要信息,對它們進行統計分析有助于深入了解網絡的運行狀況。在網絡正常運行的情況下,各位組會對應網絡所提供的服務以及網絡狀況而各自出現特定統計特征,各個位組之間也會對應網絡行為而出現在數量及比例上的種種特殊聯系。
2)異常檢測:一旦發生攻擊,就極有可能破壞這些固有的特征或關系而顯現異常。針對這種特點,本模塊對各項統計數據進行異常性分析,并得出其異常程度指數,當有異常情況顯現并超出一定范圍時可以將異常程度指數最高的位組編號記錄下來(本設計中對異常指數最高的四個位組項進行記錄),然后根據此數據把流經本系統的網絡數據流程中含有這些異常位組項的數據分組,根據其異常程度指數的高低編入相應的分級速率限制隊列進行流量控制,從而抑制異常流量的影響,以保證在遭受攻擊時仍然能夠維持網絡的正常運行。
3)流量控制:流量控制應用于正常流量時,就是對正常流量根據需求進行數據流程分類并引導到不同的控制隊列,以達到根據應用需求進行帶寬管理的目的。流量控制也可以應用于異常流量的控制,這時則根據預定的策略對檢測到的異常流量進行限制以避免或降低這些流量對網絡所造成的影響,而對合理占用的則給予較高QoS的隊列調度來達到限制攻擊的目的。
當今最著名而被廣泛應用的流量控制技術莫過于TCP協議中采用的滑動窗口(Sliding Window);另外,令牌桶過濾器(Token Bucket Filter,TBF)流量控制也是一種比較常用的流量控制技術[5]。令牌桶過濾器的基本思想是通過控制令牌桶過濾器來調控網絡中流經的數據包,從而達到調控數據流速率,使網絡流量平滑,避免過大的突發流量,以達到防御的目的。
2.2 系統流程
本節系統流程以數據流程圖(Data Flow Chart)說明,以下分別是異常檢測的流程和實現和異常防御的流程和實現。
2.2.1 異常檢測流程
1)異常性檢測處理器:對數據包的統計數據中的每一個位組項求異常程度指數并對超出一定范圍的異常程度指數進行排序,得出前4位及其對應的位組編號,保存在異常指數排序表中。
2)結合異常檢測法(Anomaly Detection)和濫用檢測法(Misuse Detection)兩種檢測方法,并且采用以前者為主,后者為輔的檢測方式來對多元統計數據進行監控和分析。根據各種網絡協議自身的特點及協議之間關系的一些固有特點而顯現出特定的統計特征。
3)對正常數據流程各位組統計數據進行均值及標準差分析,求出在沒有遭受攻擊的情況下,網絡流量統計中每一個多位組項的正常特征參數。根據以上學習獲得的參數作為正常狀況的標準參數來進行異常數據流檢測。
4)數據庫控制處理器:負責對三組數據庫進行讀取以及將運算結果寫回,同時負責根據預設的定時程序去更新其他模塊的數據結構。
2.2.2 異常防御流程
異常防御的流程主要通過對令牌桶過濾器參數的控制和管理,以達到對流量進行控制。
1)數據流程以等于權重流的速率到達令牌桶過濾器。這種情況下,每個到來的數據包都能對應一個權重,然后無延遲地通過隊列。
2)數據流程以小于權重流的速度到達令牌桶過濾器。通過隊列的數據包只消耗了一部分權重,剩下的權重會在桶里積累下來,直到桶被裝滿。
3)剩下的權重可以在需要以高于權重流速率來發送數據流程的時候消耗掉,這種情況下就會產生少量而且可控的隨機傳輸流。
4)數據流程以大于權重流的速率到達令牌桶過濾器。這時桶里的權重很快就會被耗盡,而且緩沖隊列將會被占滿。如果數據包持續超出限制地到來,則超出的那部分數據包將會被丟棄。這時雖然流進令牌桶過濾器隊列的流量速率大于權重產生速率,但流出的流量將可以比較穩定地維持在權重產生速率上。
實際應用中,除了權重產生速率和桶深度外,還可以對緩沖等待隊列的長度進行調節來控制令牌桶過濾器的工作性能。一個令牌桶過濾器可以由2個基本參數描述:權重流入令牌桶過濾器的速度a(權重產生速率),令牌桶過濾器的深度(最大容量)b。
通過將數據流程關聯到權重流上,即每個到來的權重從數據隊列中收集一個數據包,然后從桶中被刪除,則某段時間t內流過令牌桶過濾器的數據包的數目c最多只能為:c=at+b,這樣便可以調控數據流達到防御的目的。
3系統評估
本實驗模擬在網絡中發動針對郵件系統服務(25) 端口(非SYN分組)的DDoS攻擊,類似于前兩個實驗,通過比較這些流量在通過本系統前后的變化便可以測試系統對其所做出的檢測與控制的表現情況。
混合端口泛洪攻擊的網絡流量進入本系統時的流量如圖4所示,而從系統出來的流量如圖5所示。從圖5中可見攻擊流于以正常流后使流量大幅飆升。這時本系統能夠檢測到位組92(port25)出現異常并對其進行了適當的流量控制。故此,與輸入端口的流量進行對比后可知,經過本系統的檢測與控制后,輸出端口的攻擊流量已經得到極大的抑制。在本實驗中雖然僅使用端口25作攻擊防御測試,但由于系統在做多元統計及檢測分析時對其他端口的處理與對端口25的處理類似,因此可以表明即使在其他端口發生類似的泛洪流量(例如針對某一未能在檢測前預知的應用程序通信端口所進行的網絡蠕蟲攻擊或攻擊者為了逃避檢測而隨機選擇攻擊端口的攻擊),本系統也能夠對其進行同樣的抑制。由此可以驗證本系統對一些未知或發生變種的分布式阻斷服務攻擊仍然具有良好的抵御能力。
4 總結
現代互聯網安全仍然面臨眾多威脅。DDoS攻擊所具有的破壞力強,易于隱藏,特征較難提取以及難以預先防范等特點,使其越來越成為互聯網的嚴峻威脅之一。而已有的DDoS攻擊檢測或控制系統均仍然存在各種不足,難以有效地抗御DDoS攻擊。
在充分研究正常流量以及DDoS攻擊流特性的基礎上,本文實現了多位組檢測控制系統模塊,采用多位組異常檢測及監控方法監測網絡流量,對異常網絡流量尤其是DDoS攻擊流進行識別并利用令牌桶過濾器技術對其做出合適的流量控制。一系列的系統性能評估實驗證明,本系統在令正常流量基本不受影響地通過的同時,能夠非常敏感地對DDoS攻擊進行識別并對攻擊流量做出非常有效的控制。