代昆玉 ,胡濱,雷浩
拒絕服務DoS(Denial of Service)攻擊是指攻擊者通過向目標主機發送大量數據,消耗目標主機的計算資源或網絡資源從而破壞目標主機向其合法用戶提供服務。分布式拒絕服務DDoS(Distributed Denial of Service)攻擊是DoS攻擊的分布式形式。DDoS攻擊通過分布在整個因特網上的大量主機同時向受害主機發起大量的數據包, 使用多個受害系統運行幾個 DoS攻擊,協調一致的攻擊一個或多個受害主機。
隨著網絡層和傳輸層的 DDoS攻擊檢測技術已日漸成熟,防御措施不斷加強,針對底層的DDoS攻擊已難于達到攻擊目的,攻擊者把攻擊目標轉移到應用層。應用層DDoS攻擊通過消耗大量服務器的計算資源,阻止合法用戶的正常訪問。由于應用層攻擊使用高層協議,故可以利用合法的協議和服務發起攻擊,尤其與突發流量FC(Flash Crowd)非常相似。因此,傳統用于網絡層和傳輸層的DDoS攻擊檢測方法不能直接用于應用層DDoS攻擊檢測,研究針對應用層DDoS攻擊檢測方法已成為近年來網絡安全領域的新熱點。
當前,許多關于DDoS攻擊的研究都集中在網絡層和傳輸層。胡鴻等提出一種基于TCP 緩存的DDoS攻擊檢測算法,通過使用BP神經網絡來檢測TCP緩存的異常程度,根據異常程度判斷攻擊是否發生[1]。Ejaz等提出了通過時間序列的變化點,使用無參的累加和方法檢測SYN洪泛攻擊[2]。文獻[3]提出了一個以信息論為基礎的異常檢測算法,采用熵和條件熵,其可幫助異常檢測系統區分數據和參數設置。
然而,對于應用層的DDoS攻擊的研究相對較少。當應用層DDoS攻擊發生時,其流量特征和FC非常相似,因此,正確的區分FC和DDoS攻擊流量是十分重要的。Jung等人在文獻[4]中詳細討論了應用層DDoS和FC的區別。Li等人用混合測度來檢測流量分布的偏移,從而區分DDoS攻擊和FC事件[5]。王風宇等通過分析Web通信的外聯行為特征的穩定性,提出了一種應用層DDoS攻擊的檢測方法[6]。
本文通過對網絡流量特征進行分析,根據應用層DDoS攻擊流量和正常流量的特征區別,提出一個DDoS攻擊的檢測模型,通過對源IP地址進行分析,能夠有效地識別應用層DDoS攻擊,并且針對DDoS攻擊流量和FC流量的相似性,詳細討論兩者的流量特征,選取主要特征正確區分兩者,減少誤報率和漏報率。
DDoS攻擊的檢測模型如圖1所示:

圖1 DDoS攻擊檢測模型
由于網絡環境處于正常狀態時,其流量是有規律地變化的。一旦網絡流量發生突然改變,網絡流量分析模塊就發送一個警告信號給DDoS攻擊檢測模塊,DDoS攻擊模塊用于判斷是FC流量還是DDoS攻擊。當DDoS攻擊被檢測到時,攻擊響應模塊被激活,以過濾掉惡意流量并對真正的用戶維持不間斷的服務。另一方面,檢測到FC時,激活各種負載分擔機制,如內容分發網絡能夠容納額外的合法的客戶端訪問網絡資源,分擔網絡流量,確保網絡的正常運行。
通過對源IP地址進行分析來檢測DDoS攻擊。使用2個主要的模塊:源IP地址分析模塊和DDoS攻擊判定模塊。
源IP地址分析模塊從收到的網絡流量中抽取源IP地址信息并判斷其是一個新的還是舊的IP地址。為了實現該功能,在源IP地址分析模塊采用2個數組來保存源IP地址,即IPold和IPnew。數組IPold由已知的攻擊流量樣本和正常流量的源IP地址初始化。數組IPnew在系統開始啟動時初始化為空。IPnew數組被用來暫時保存從未見過的源IP地址,只有當DDoS攻擊判定模塊中的detect函數確定系統不再遭受攻擊時,才把IPnew數組中的數據復制到IPold數組中,以此保證IPold數組的安全性。如果detect函數確定系統正遭受攻擊,則丟棄IPnew數組。
在攻擊檢測模塊中,使用一個detect函數來檢查攻擊,其包含2個狀態:有攻擊和無攻擊。文中假設系統開始運行時是處于無攻擊狀態。detect函數周期性的運行,分析從未知源IP地址傳來的數據包的速率。使用狀態改變函數來檢測傳入的數據包速率的突發性變化。在此基礎上確定系統狀態,即是從有攻擊到無攻擊,還是從無攻擊到有攻擊。detect函數偽碼如圖2所示:

圖2 detect函數偽碼表示
Detect函數中使用了一個狀態改變函數Statechange來檢查流量達到率的一個突發變化,以此來確定系統狀態的改變,該函數主要使用CUSUM算法。CUSUM算法是一個順序分析算法,該算法假設在網絡流量發生改變時,統計屬性中被查參數的平均值。CUSUM 算法基于這一事實:如果有變化發生,隨機序列的概率分布也會改變.針對實時網絡流量分析,在惡意事件發生前后要評估流量的分布都是很困難的,在變化檢查中,這一問題可使用非參數的CUSUM算法解決[7]。文中使用非參數的CUSUM算法改變檢測技術來分析源IP地址。
由于DDoS攻擊和FC特征上的相似性,經常會把DDoS攻擊誤認為是FC事件,或者把FC事件誤認為是DDoS攻擊,從而導致漏報和誤報。因此,要想正確的區分DDoS攻擊和FC事件,必需對其特征進行詳細的討論。
在網絡環境中,突發流量是指大量合法用戶同時發送訪問請求到服務器,它集中在某個特定的時間在網絡中的某個特定的網站。例如,突發的災難(汶川地震),或重大運動賽事(世界杯的舉行)等都會引起FC的出現。這會導致傳入流量的顯著增加,從而導致服務質量QoS(Quality-of-Service)降級。
DDoS攻擊也會帶來類似的結果,例如流量水平的突然改變,由大量的請求引起的網站不可用等。DDoS攻擊流量和FC流量有兩個共同的特征:一是它們都只有一個目標,所有的數據包都是發向該目標。二是巨大的流量持續的送往目的地足以擁塞鏈路和主機。在這種情況下,服務器會因為資源的限制和帶寬耗盡而無法提供正常的服務。
但是,DDoS和FC之間仍然存在一些細微差異,如訪問意圖、客戶端的請求速率、源IP地址的分布情況等。DDoS和FC的詳細區別如表1所示:

表1 DDoS攻擊和FC特征比較
文中主要選取流量的變化率,新的源IP地址的變化率和源IP地址的請求分配率3個參數來分析網絡流量,幫助從FC流量中區分出DDoS攻擊流量。
由于公開的應用層DDoS攻擊和FC事件的真實數據集很少,故實驗中需要模擬網絡流量。為了產生具有以上特征的網絡流量,使用IP別名和Wget工具相結合。IP別名是一個可用于眾多平臺的技術,用于分配大量不同的IP到一個單一的硬件地址。wget是一個從網絡上自動下載文件的自由工具,支持通過HTTP、HTTPS、FTP3個最常見的TCP/IP協議下載,并可以使用HTTP代理。因此,采用IP別名和Wget能夠創建一組“bot”機和合法用戶的現象,每一個都帶有一個有效的IP地址和硬件地址用于模擬真實的DDoS攻擊和FC。
實驗環境由8個主機構成,分別模擬“bot”機和合法用戶,由控制機統一控制,共同發送流量到目標服務器。控制機發出命令啟動每個參與的主機創建一個“bot”實例。除了目標服務器外,其它所有的機器采用普通的PC機。實驗環境初始化為所有的攻擊者或是目標機的端口都通過交換機連接。每8個主機配置3200個“bot”,使用別名源IP綁定到硬件地址。每個“bot”配置一個唯一的源IP地址.
通過上述的配置,使用“bot”裝載產生合成的FC流量來進行實驗,使用1998年世界杯半決賽的流量來產生合成流量。為了計算相關參數,如數據包的數量,不同的源IP地址的數量,不同的訪問資源的數量以及在各個采樣間隔采集的正常資源的熵等,對這些數據進行統計分析。“bot”裝載者使用這些信息產生合成流量。
單位時間內在目標服務器注冊的源IP地址數量的變化如圖3所示:

圖3 源IP地址數量比較圖
不同的源IP地址的數量在模擬流量上非常接近原始的FC數據,雖然在整個仿真過程中,目標機看到的不同的源IP地址的總數略小于預期值。
對于FC事件,大部分用戶總是對特定事件的相關信息感興趣。這一特征對于客戶端來說是一個相對恒定的請求,因此,對于進入服務器的流量,客戶端數量以一個相似的形式變化,正如圖3所示。
文中,通過對網絡流量的分析,尤其是對源IP地址進行分析來檢測應用層DDoS攻擊,得到了較好的檢測結果,同時,針對DDoS攻擊和FC流量的相似性,通過辨識各相關特征,能夠正確的區分二者,減少了誤報率和漏報率。文中對提出的模型只進行了部分實驗,同時,實驗數據使用的是合成網絡流量數據,下一步的工作是完成對整個模型的整體實驗以及采用真實的網絡數據對模型進行評估。
[1]胡鴻, 袁津生, 郭敏哲.基于 TCP 緩存的 DDoS 攻擊檢測算法[J].計算機工程, 2009, 35(16): 112-114.
[2]Ejaz Ahamed, George Mohay, AlanTickle, Sajal Bhatia,Use of IP Addresses for High Rate Flooding Attack Detection, [c]IFIP Advances in Information and Communication Technology, 2010, pp.124-135.
[3]Runyuan Sun, Bo Yang, Lizhi Peng, Zhenxiang Chen, Lei Zhang and Shan Jing, Traffic Classification Using Probabilistic Neural Network, [J]IEEE International Conference on Natural Computation (ICNC), 2010, pp.1914-1919.
[4]J.Jung, B.Krishnamurthy, and M.Rabinovich.Flash Crowds and Denial of Service Attacks: Characterization and Implications for CDNs and Web Sites.In Proc.[c]WWW’02, 2002, pp 293–304.
[5]Li K, Zhou W L, Li P, Hai J, Liu J W.Distinguishing DDoS attacks from fash crowds using probability metrics.In: Proc.Of the 3th Int’1 Coneon Network and System Security.2009, pp.9-17.
[6]王風宇, 曹首峰, 肖軍等.一種基于Web群體外聯行為的應用層 DDoS檢測方法[J].軟件學報, 2013,24(6):1263-1273.
[7]Tartakovsky, A.G., et al.: A novel approach to detection of intrusions in computer networks via adaptive sequential and batch-sequential change-point detection methods.[c]IEEE Transactions on Signal Processing 54, 2006,pp.3372–3382.