楊 松,李宗林
(1.成都市華為賽門鐵克科技有限公司 成都 611731;2.西南交通大學信息化研究院 成都 610031)
一種DDoS攻擊的檢測算法
楊 松1,李宗林2
(1.成都市華為賽門鐵克科技有限公司 成都 611731;2.西南交通大學信息化研究院 成都 610031)
對于骨干網(wǎng)中存在的DDoS攻擊,由于背景流量巨大,且分布式指向受害者的多個攻擊流尚未匯聚,因此難以進行有效的檢測。為了解決該問題,本文提出一種基于全局流量異常相關分析的檢測方法,根據(jù)攻擊流引起流量之間相關性的變化,采用主成份分析提取多條流量中的潛在異常部分之間的相關性,并將相關性變化程度作為攻擊檢測測度。實驗結(jié)果證明了測度的可用性,能夠克服骨干網(wǎng)中DDoS攻擊流幅值相對低且不易檢測的困難,同現(xiàn)有的全局流量檢測方法相比,該方法能夠取得更高的檢測率。
網(wǎng)絡安全;DDoS攻擊;全局;相關性分析;主成份分析
分布式拒絕服務(DDoS)攻擊通過脅迫散布在網(wǎng)絡中的多臺主機,形成數(shù)目眾多的攻擊源,同時對受害者發(fā)起攻擊,使得受害主機的關鍵資源(帶寬、緩沖區(qū)、CPU資源等)迅速耗盡,使得受害者崩潰或者花費大量時間處理攻擊包而不能正常服務。近年來,攻擊者又利用僵尸網(wǎng)絡(Botnet)作為攻擊平臺,形成規(guī)模更龐大的DDoS攻擊,使得攻擊流的分布程度更廣、危害更大,對DDoS攻擊的檢測更難,給當前網(wǎng)絡和網(wǎng)絡上的計算機帶來了不容忽視的威脅。
DDoS攻擊通常由一些特定的攻擊工具或程序產(chǎn)生,對于同一次發(fā)起的眾多攻擊流,攻擊幅值可能很小、不易察覺,但在攻擊起始時間、持續(xù)時間、間隔時間、攻擊類型和攻擊強度等特征上,都存在一些相似性。攻擊流往往在用戶前端的路由器上最終匯聚形成巨大的流量幅值,部署在受害路由器前端的檢測節(jié)點能夠通過明顯的流量變化檢測出攻擊流,但此時攻擊流已到達受害者,使受害者無法做出有效的攻擊響應措施來對抗攻擊流。要有效防御DDoS攻擊,有必要在攻擊流到達受害路由器之前,即攻擊流在骨干網(wǎng)絡中傳送時,進行早期檢測。然而,此時攻擊流分布式存在于多條鏈路中,容易被巨大的背景流掩蓋,在單條鏈路或節(jié)點中并不表現(xiàn)出明顯的異常特征。
骨干網(wǎng)中的DDoS攻擊檢測通常采用多節(jié)點協(xié)作的分布式檢測以及全局檢測兩種檢測方式。
多節(jié)點協(xié)作的分布式檢測通過在網(wǎng)絡中選取一些節(jié)點建立檢測子網(wǎng)絡,各節(jié)點依靠自己搜集的信息,展開快速簡單的本地局部檢測;再利用一定的通信機制交換各節(jié)點的檢測結(jié)果,最后對部分或全部節(jié)點的檢測結(jié)果進行綜合分析,以確認是否發(fā)生異常。已提出的一些系統(tǒng)如LADS(large-scale automated DDoS detection system)[1]、DCD(distributed change-point detection)[2]等,對多個節(jié)點的局部檢測結(jié)果進行綜合分析,在一定程度上克服了僅在單點檢測的不足,能有效地提高檢測效率,但最終檢測結(jié)果仍在很大程度上依賴于局部檢測結(jié)果。然而,DDoS攻擊流在骨干網(wǎng)中的分布式特性,不利于在局部節(jié)點做出準確的檢測判斷。
與前一種在不同位置相互獨立進行檢測的方式不同,全局檢測[3]是一種同時對網(wǎng)絡中的多條流量進行分析,利用流量之間的關系進行檢測的方法。該方式從整個網(wǎng)絡的角度出發(fā),使用更豐富的全局信息,幫助克服局部少量信息對檢測的不利影響,有助于對整個網(wǎng)絡安全態(tài)勢的了解。為了處理全局高維信息,參考文獻[3]提出了一種使用基于均方誤差最小的數(shù)據(jù)降維方法——主成份分析(PCA)對全局流量進行分析的方法,能夠發(fā)現(xiàn)網(wǎng)絡中的多種異常。隨后,參考文獻[4~8]分別將PCA應用于網(wǎng)絡全局的幅值、流量特征分布以及路由更新數(shù)據(jù),進行網(wǎng)絡異常檢測,驗證了全局檢測方式的有效性。參考文獻[3,4]使用PCA根據(jù)流量間的相關性強弱將全局流量劃分為正常和異??臻g時,認為正常流量間由于相似的每日、每周流量模式,因此具有很強的相關性,屬于正常空間,而異常流量之間與正常流量相比是缺乏相關性的那部分,該劃分依據(jù)對于網(wǎng)絡中一些常見異常,尤其是局部點上的流量突變,具有較好的檢測效果,但是對于網(wǎng)絡異常中的DDoS攻擊流,可能由于其空間上存在的相關性,而將其劃分到正??臻g,導致漏檢。
本文提出了一種基于全局異常相關分析的DDoS攻擊檢測方法。根據(jù)攻擊流引起流量之間相關性的變化,通過流量預測劃分異??臻g,從而去除正常流量間相關性的影響,利用PCA提取多條源端不同但目的端相同的源到端(OD)流的潛在異常部分之間的相關性,將其變化程度作為檢測測度。從攻擊流之間的相關性角度進行檢測,而不是幅值角度,有利于檢測單條流量上的低幅值攻擊。同參考文獻[4]方法相比,使用流量預測劃分異常部分,避免了將攻擊流劃分到正常空間的情況;且與其集中式的計算方法不同,本方法可進行分布式計算,減輕了中心節(jié)點的計算負擔以及相應的通信負載,使算法能更好地適應網(wǎng)絡大小的增加。
Trinoo、TFN、TFN2K、Shaft等許多 DDoS 攻擊的產(chǎn)生工具可隨意下載,導致DDoS攻擊泛濫。這些攻擊工具產(chǎn)生的攻擊流,除了在幅值上具有相同特征外,在攻擊起始時間、持續(xù)時間、間隔時間、攻擊類型等方面也具有相似性,因而與僅利用攻擊流幅值大小檢測的方法相比,利用攻擊流間的相同特征越多,進行檢測時就越有利于揭示DDoS攻擊。
當攻擊流分布到多條OD流上時,由于攻擊流間在多方面存在相似性,導致多個OD流的相關性也同時增強,但OD流間相關性增大并不完全是由于攻擊流的影響,正常的OD流間由于相似的每日、每周流量模式存在,同樣也使得OD流間存在一定的相關性,因此在對OD流間的相關性進行分析前,需要從OD流中去除正常流量對相關性的影響,即提取出包含攻擊流的異??臻g,再對異常空間進行全局相關性分析。
流量信號異??臻g的提取是通過去除包含正常流量行為的部分取得的。在參考文獻[4]的方法中(以下稱為全局PCA方法),將流量分解為正常及異??臻g,其分解依據(jù)是提取具有強時間相關性的部分作為正常部分,該方法對于單條流量上局部點突變具有較好的檢測效果,但是對于DDoS攻擊這種分布在多條流量中的異常卻是不適用的,因為具有相關性的多個攻擊流可能被該方法劃分到正常的空間中。下面通過改變包含攻擊流的OD流數(shù)目,對全局PCA方法檢測多個攻擊流的不足進行說明。
Abilene流量數(shù)據(jù)中的26號以及50號OD流,都是以節(jié)點2為目的節(jié)點的OD流。首先在26號OD流1 000~1 004個采樣點間加入了一個5倍于其均值大小的短持續(xù)期DDoS攻擊,如圖1(a)中對應位置的尖峰,而50號 OD流流量(圖1(b))為原始流量。按照全局PCA方法,利用PCA分解所得的異??臻g如圖3所示,可以看出,26號OD流的攻擊流被劃分到異??臻g中。同樣地,對50號OD流加入同樣持續(xù)時間,且5倍于其均值大小的攻擊流,如圖2(b)所示,兩條OD流上注入的攻擊在開始時間、持續(xù)時間以及幅值上都具有一定的相似性,而對這兩條注入了相似攻擊的OD流進行PCA分解的結(jié)果如圖4所示,在1 000采樣點位置附近,這兩條OD流上的異常并沒有被劃分到異??臻g,反而因為具有一定的時間相關性,被錯誤地劃分到了正??臻g,因此全局PCA方法不能準確地將具有強相關性的分布式DDoS攻擊流劃分到異??臻g。
從OD流流量圖中可以看出,在不包含攻擊流的情況下,每條OD流中,必然包含了其本身的正常流量(如每日、每周的正常流量模式等)以及一些具有隨機性因素的流量(對用戶來說可能是一些偶然性的行為)。正常的OD流流量模式可以通過建立對應的時間序列模型來描述[9,10]。根據(jù)現(xiàn)有采集到的流量數(shù)據(jù)建立模型,再對下一時刻流量進行預測,用預測值來近似符合流量模型的正常流量,那么實際的下一時刻流量與預測流量之間的差值,則代表不符合流量模型的隨機性因素流量與攻擊流,即OD流的異??臻g。在本文中采用ARIMA(p,d,q)模型來對流量進行一步預報,將目的節(jié)點相同的多個OD流在其目的端分別進行預測,預測值Xpred(t)作為下一時刻正常流量的估計,通過求取預測值與下一時刻真實值之間的差值提取異常近似:
其中,Xae(t)為異常近似,X(t)為流量觀測值。
由于本文采用流量預測值作為正常流量估計值的目的是為了獲得下一時刻的流量趨勢,將多個OD流中與趨勢相違背的部分提取出來,考察它們之間是否存在關聯(lián)性,而并非為了獲得確切的值,故預測算法的精確性不是本文考慮的重點。
圖5為采用本文方法對圖2中的兩個攻擊流提取的異??臻g,在攻擊發(fā)生位置均準確提取到攻擊流的相似變化特征,這種相似特征的存在具有強相關性。對異??臻g之間的相關性分析將在§2.2中介紹。
DDoS攻擊流具有明顯的定向特點,總是指向受害者的接入路由器,從OD流的角度出發(fā),對應存在于多個源節(jié)點不同但目的節(jié)點相同的多條OD流中。對相同目的節(jié)點的所有OD流間的相關性進行分析,更符合攻擊流的指向性特點。由于骨干網(wǎng)中的任意節(jié)點可能是DDoS攻擊流所指向的節(jié)點,因此,異常相關性將在各個節(jié)點分別提取。
PCA是一種基于均方誤差最小的數(shù)據(jù)降維方法,已被用于多種數(shù)據(jù)集的分析當中。若數(shù)據(jù)集X的維度為m,PCA的目的是找到相互正交的n個主成分W1,…,Wn(n 由于主成分根據(jù)其具有的數(shù)據(jù)方差大小進行了排序,數(shù)據(jù) X在主成分 Wi上的映射 ui為 ui=XWi,則 u1包含了數(shù)據(jù)集中最強的相關性,u2,…,un依次遞減。由頭k個主成分形成的P=[w1,w2,…,wk]就包含了數(shù)據(jù)集中的絕大多數(shù)方差。那么X在P上的投影,包含了數(shù)據(jù)集中的具有強相關性的那部分,記為 Xc(t),其中 Xc(t)=PPTX。因此,同目的節(jié)點的OD流異常近似Xae(t)的相關性可通過向頭幾個主成分形成的空間投影得到,即求出異常近似的相關部分: 其中,Xae(t)由式(1)計算得到。由于到達各個節(jié)點的OD流數(shù)量級別不盡相同,為了便于比較,本文對不同節(jié)點提取的相關部分都進行了歸一化處理。如果某節(jié)點的相關部分Xc(t)大于預設門限d,表示該時刻t有攻擊發(fā)生,并通知相關的攻擊響應系統(tǒng)進行處理。預設門限可以通過對歷史流量的分析得到,選取可接受誤報率條件下所對應的閾值作為門限。 在全局PCA方法中,X中的相關部分Xc(t),被稱為正??臻gXn(t),該方法的中心思想是異常存在于后幾個主成分(Wk+1,…,Wn)形成的異??臻g Xa(t)中,Xc(t)=(I-PPT)X,也稱為余數(shù)向量,異常判決是通過對異常空間分析得到的,所以參考文獻[4]PCA提取的是流量的異常空間,而本文運用PCA是為了提取異常近似之間的“正??臻g”,即相關部分。 針對骨干網(wǎng)中DDoS攻擊在單條鏈路上攻擊流量幅值低,但攻擊流量之間具有相關性的特點,提出了一種基于全局流量異常相關分析的DDoS攻擊檢測方法,能克服骨干網(wǎng)流量巨大、攻擊流相對較小而不易察覺帶來的困難。仿真結(jié)果證明,該方法較現(xiàn)有全局檢測方法,能取得更高的檢測率,并且可進行分布式計算,適用于不同規(guī)模網(wǎng)絡的檢測要求。 1 Sekar V, Duffield N G, Spatscheck O,et al.LADS:large-scale automated DDoS detection system.In:USENIX06,Boston USA,June 2006 2 Chen Y,Hwang K,Ku W.Collaborative detection DDoS attacks over multiple network networks.IEEE Transaction on Parallel and Distributed Systems,2007,18(12) 3 Lakhina A,Crovella M,Diot C.Characterization of networkwide anomalies in traffic flows.In:ACM Internet Measurement Conference(IMC)'04,Taormina Sicily Italy,October 2004 4 Lakhina A,Crovella M,Diot C.Diagnosing network-wide traffic anomalies.SIGCOMM,2004(8) 5 Lakhina A,Crovella M,Diot C.Mining anomalies using traffic feature distributions.SIGCOMM,2005(8) 6 Lakhina A,Crovella M,Diot C.Detecting distributed attacks using network-wide flow traffic.In: FloCon 2005 Analysis Workshop,Pittsburgh,September 2005 7 Li X, Bian F, M Crovella, Diot C, et al.Detection and identification of network anomalies using sketch subspaces.In:ACM Internet Measurement Conference,Wisconsin USA,October 2006 8 Huang Y,F(xiàn)eamster N,Lakhina A,et al.Diagnosing network disruptions with network-wide analysis.In:SIGMETRICS,San Diego USA,June 2007 9 PapagiannakiK, TaftN, Zhang Z L, etal.Long-term forecasting of internet backbone traffic:observations and initial models.INFOCOM,2003,312(3):1178~1188 10 Box G E, Jenkins G M.Time series analysis:forecasting and control.San Francisco:Holden Day,1976 11 http://abilene.internet2.edu/ 12 Moore D,Voelker G M,Savage S.Inferring Internet denial-ofservice activity.In:USENIX,Washington D C USA,Aug 2001 13李宗林,胡光岷,楊丹等.DDoS攻擊的全局異常相關檢測方法.計算機應用,2009(11) DDoS Attack Detection Algorithm Yang Song1,Li Zonglin2 DDoS attack is hard to detect in backbone network,for the reason that attack flows are distributed in multiple links and prone to be masked by tremendous amounts of background traffic.To solve this problem,a detection method based on global abnormal correlation analysis is proposed.The change of correlation between traffic caused by attack flows is exploited for attack detection,the correlation between potentially anomalous traffic is extracted by principle component analysis,and its change degree is used as an indicator of attack.Evaluation shows its effectiveness and proves that it overcomes the difficulties in detecting relatively low volume of DDoS attack transiting in backbone network.Comparing with existing network-wide detection method,it achieves higher detection rate. network security,DDoS attack,global,correlation analysis,principle component analysis 2010-08-31) 楊松,華為賽門鐵克科技有限公司工程師,主要研究方向為通信信息領域測試技術(shù)、有線接入技術(shù)、網(wǎng)絡安全技術(shù);李宗林,西南交通大學信息化研究院助理研究員,主要研究方向為計算機通信網(wǎng)、網(wǎng)絡流量異常檢測。3 結(jié)束語
(1.Chengdu Huawei Symantec Technology Co.,Ltd.,Chengdu 611731,China;2.Information Institute of Southwest Jiaotong University,Chengdu 610031,China)