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