◆程杰仁 周靜荷 唐湘滟 史佳昕
(海南大學信息科學技術(shù)學院 海南 571101)
基于時間序列預(yù)測模型的分布式拒絕服務(wù)攻擊檢測方法
◆程杰仁 周靜荷 唐湘滟 史佳昕
(海南大學信息科學技術(shù)學院 海南 571101)
分布式拒絕服務(wù)(Distributed Denial of Service,DDoS)的破壞性大、危害廣,對目前的互聯(lián)網(wǎng)安全構(gòu)成了巨大威脅。本文分析了國內(nèi)外現(xiàn)有的DDoS攻擊檢測方法,針對已有檢測方法的不足之處提出了基于時間序列預(yù)測模型的DDoS檢測方法。該方法提取正常網(wǎng)絡(luò)流時間序列特征,并對時間序列進行平穩(wěn)性和白噪聲檢驗,根據(jù)檢驗結(jié)果確定模型參數(shù)以建立預(yù)測模型,基于預(yù)測模型對待測流進行預(yù)測,最后通過對正常流設(shè)置自適應(yīng)閾值和可信報警模型來識別異常流量并檢測DDoS攻擊。實驗結(jié)果與分析表明,該方法能夠較為準確區(qū)分正常流與異常流,有效地檢測分布式拒絕服務(wù)攻擊,降低了誤報率和漏報率。
分布式拒絕服務(wù)攻擊;時間序列預(yù)測;互聯(lián)網(wǎng)安全
隨著全球Internet的迅猛發(fā)展,人們越來越依賴于計算機網(wǎng)絡(luò),而網(wǎng)絡(luò)安全事件頻繁發(fā)生,攻擊手段層出不窮,計算機網(wǎng)絡(luò)的保密性、完整性和可用性受到嚴峻的考驗。分布式拒絕服務(wù)(Distributed Denial of Service,DDoS)攻擊針對的目標正是可用性。該攻擊方式利用目標系統(tǒng)網(wǎng)絡(luò)服務(wù)功能缺陷或者直接消耗其系統(tǒng)資源,使得該目標系統(tǒng)無法提供正常的服務(wù)。DDoS攻擊的破壞性大、危害廣,對互聯(lián)網(wǎng)安全構(gòu)成了巨大的威脅。面對DDoS攻擊帶來的后果,對DDoS攻擊檢測進行深入分析和研究就顯得尤其必要和緊迫。由于DDoS攻擊是通過大量合法的請求占用大量網(wǎng)絡(luò)資源,以達到癱瘓網(wǎng)絡(luò)的目的。因此防御DDoS攻擊的關(guān)鍵是如何快速準確地檢測攻擊,檢測結(jié)果將直接影響整個防御的性能。
近年來,各種抵御方案相繼提出。其中針對攻擊的檢測方面,一般可以有攻擊前的預(yù)防方面,對攻擊進行檢測及攻擊的響應(yīng)這三部分。在預(yù)防攻擊的研究這一方面,到目前為止研究最多的側(cè)重點還是從提高TCP/IP協(xié)議的質(zhì)量進行分析,比如通過縮短溢出時間值或者擴展緩存隊列的長度,可以使得服務(wù)器能夠處理更多的數(shù)據(jù)包。另外采取一些措施也是必要的,例如設(shè)置高性能的設(shè)備、保證高帶寬、異常流量的清洗和分布式集群防御等[1]。
攻擊的檢測可以分為異常檢測、誤用檢測。異常檢測是基于行為的攻擊檢測方式,在統(tǒng)計的基礎(chǔ)上形成建立了正常的網(wǎng)絡(luò)流量行為模式,若檢測出的數(shù)據(jù)偏離了正常模式就可以判定為發(fā)生攻擊;誤用檢測是基于知識的檢測,運用已存在的攻擊方法攻擊建立的一系列特征信息的數(shù)據(jù)庫,若檢測到的數(shù)據(jù)特征信息和建立的數(shù)據(jù)庫中的特征信息的某些參數(shù)值相互對應(yīng)就可以認為發(fā)生攻擊。對于誤用(特征)檢測,Branch和Bivens等提出了基于時間的確定性有限的自動機模型[2];2002年的Mukkamala和BiVens主要是針對神經(jīng)網(wǎng)絡(luò)的方法應(yīng)用在入侵檢測方面做了深入研究[3];Gavrilis將遺傳算法進行延伸應(yīng)用到檢測部件這一方面為提取更為有效的特征信息[4]。對于異常檢測,Cheng等提出了通過使用頻譜分析的方法來檢測DDoS攻擊的方法[5];孫知信等提出了APA-ANTI-DDOS模型[6];Manikopoulos等提出了根據(jù)正常流和待測流特征值計算出相似度來識別攻擊流的方法[7];文獻[8]主要是基于大型規(guī)模的網(wǎng)絡(luò)流量的自相似特性提出的自適應(yīng)的聚類算法;孫欽東等提出了一種基于流連接密度FCD檢測方法[9];文獻[10]提出了基于小波分析方法來計算網(wǎng)絡(luò)中流量的Hurst指數(shù)值同時介紹了對信息熵的檢測算法;文獻[11]提出了基于模糊理論的檢測方法;文獻[12]提出了基于PSO優(yōu)化的RBF神經(jīng)網(wǎng)絡(luò)算法;文獻[13]基于自適應(yīng)學習得到的分布式的協(xié)同檢測機制和隱馬爾可夫模型(HMM)的方法對DDoS攻擊檢測模型進行了研究。由于現(xiàn)有大多數(shù)檢測方法是假定DDoS攻擊流狀態(tài)和正常用戶流狀態(tài)是確定的,而DDoS攻擊流和正常用戶流在實際攻擊環(huán)境下有著較大的不確定性,因此在應(yīng)用中容易導(dǎo)致誤報和漏報。
按照時間的先后順序依次向后排列的觀測值所構(gòu)成的數(shù)列稱為時間序列,如各年度的國內(nèi)生產(chǎn)總值、人口數(shù)據(jù)等。本文采用時間序列預(yù)測模型對網(wǎng)絡(luò)流異常狀態(tài)進行檢測,首先提取網(wǎng)絡(luò)流狀態(tài)特征的時間序列,對多種時序模型進行比較,選取合適的模型通過對待測流進行預(yù)測,最后對實驗結(jié)果進行分析,識別網(wǎng)絡(luò)流異常狀態(tài)。
首先提取得網(wǎng)絡(luò)流狀態(tài)特征,然后對獲取到的一組觀測值序列檢驗其純隨機性和平穩(wěn)性這兩大性質(zhì),若是純隨機序列(又稱為白噪聲序列),則可終止對該序列的分析。在平穩(wěn)性檢驗中,本文采用最常用的單位根檢驗方法,對獲取到的觀測序列構(gòu)造檢驗統(tǒng)計量。若得到平穩(wěn)的非白噪聲序列,則運用ARMA模型來進行建模。
計算出平穩(wěn)白噪聲序列}{tX的自相關(guān)系數(shù)和偏自相關(guān)系數(shù),再由AR(p)模型、MA(q)和ARMA(p,q)的自相關(guān)系數(shù)和偏自相關(guān)系數(shù)的性質(zhì),選擇合適的模型并進行檢驗優(yōu)化。
即在t時刻的隨機變量Xt的取值tx是前p期和前q期的多元線性函數(shù),誤差項是當期的隨機干擾tε,為零均值的白噪聲序列。認為Xt主要是由過去p期的序列值和過去q期的誤差項的共同影響。
當q=0時,是AR(p)模型;當p=0時,則是MA(q)模型。
ARMA模型識別原則如表1所示:
表1 模型識別
3.1 提取網(wǎng)絡(luò)流狀態(tài)特征
對所構(gòu)成的組使用去除規(guī)則,最后剩下目的IP地址一樣的數(shù)據(jù)包,這些類設(shè)為。定義時間序列特征網(wǎng)絡(luò)流(Time Series Network Flow,TSNF)為:
其中,
3.2 序列預(yù)處理
當數(shù)據(jù)是平穩(wěn)序列時需要對其進行進一步的白噪聲檢驗。平穩(wěn)非白噪聲時間序列的單位根檢驗和白噪聲檢驗如表2所示。根據(jù)自相關(guān)系數(shù)與偏自相關(guān)系數(shù)的趨勢可以判定模型類別和估計階數(shù)。
表2 原始序列的單位根檢驗白噪聲檢驗
3.3 模型階次的確定和參數(shù)估計
本文采用AIC準則,在最小最終預(yù)測的誤差準則的基礎(chǔ)之上擴展并識別出模型階數(shù)。當樣本長度N一定時,隨著模型的兩個階數(shù)p和q的增大,若此時p和q達到某一個數(shù)值時,AIC(p,q)的值是最小的,此時得到的p、q就是該模型的最佳的模型階數(shù)。本文采用ARMA(2,1)模型來對時間序列進行分析。在階數(shù)已經(jīng)確定的前提下,還需要進行對模型的參數(shù)的估計。ARMA模型的參數(shù)檢驗和參數(shù)估計如表3所示。
表3 ARMA(2,1)模型的參數(shù)檢驗和參數(shù)估計
3.4 異常檢測與可信報警
通過時間序列確定模型參數(shù),使用生成的ARMA模型進一步預(yù)測某一時刻k即將到達的時間序列值,將得到的預(yù)測值和實際值作一系列的對比。即對時間序列,其中t>1, 1 閾值的選擇對檢測異常的判斷有著十分重要的意義,若閾值過小,則攻擊的誤判率會增高;若閾值太大,則攻擊的識別率會降低。同時,不同時間段網(wǎng)絡(luò)流量又是不斷變化的,因此實現(xiàn)正常流判斷閾值的自適應(yīng)變化就顯得格外重要。計算自適應(yīng)閾值的主要思想是在序列中以滑動窗為參照,檢測到的點是否落在自適應(yīng)閾值內(nèi)。范圍是在正常流的最大值減最小值的基礎(chǔ)上加上容差界限即其標準差。 本文實驗所采用的數(shù)據(jù)集都是從MIT LINCOLN LABORA TORY在1999年采集的正常流數(shù)據(jù)集和2000年采集的DDoS攻擊流數(shù)據(jù)。 對正常流數(shù)據(jù)集進行時間間隔為0.1s的多次采樣后獲得基于TSNF時間序列樣本。通過計算得出單位根檢驗p值小于0.05,該序列判斷為平穩(wěn)序列。對其進行白噪聲檢驗,計算得出該時間序列為非白噪聲序列。如圖1所示是自相關(guān)系數(shù)與偏自相關(guān)系數(shù)的趨勢,兩張圖都顯示出拖尾性,由此可以判斷使用模型ARMA。 圖1 自相關(guān)系數(shù)和偏自相關(guān)系數(shù) 基于TSNF正常流估計參數(shù)生成ARMA模型,利用200個樣本值通過建立好的模型每100個值依次滑動預(yù)測下一個值,共預(yù)測100個值,預(yù)測結(jié)果如圖2所示。兩者趨勢基本吻合,擬合程度較高,該實驗?zāi)P涂梢宰鳛榫W(wǎng)絡(luò)流的預(yù)測模型。 圖2 預(yù)測100個值與真實值對比 以檢測率和誤報率作為檢測效果的一個評估標準,TN為被正確標記過的正常流測試樣本數(shù),F(xiàn)N為被錯誤標記過的正常流測試樣本數(shù),TD為正確標記過的異常流測試樣本數(shù),F(xiàn)D為被錯誤標記過的異常流測試樣本數(shù),則檢測率的計算方法為DR=TD/(TD+FD),誤報率的計算方法為FR=FN/(TN+FN)。 表4 實驗檢測率 表5 實驗誤報率 首先對正常流進行采樣并估計模型參數(shù)生成ARMA(2,1)模型,然后以正常/攻擊流量為5:1的比例組合進行檢測,得到一組針對待測異常流數(shù)據(jù)的檢測率,之后將正常流量保持不變依次加大一倍的異常流,得到共5組實驗結(jié)果的值。對正常流采樣得到待測正常流的樣本,采用相同的實驗步驟得到另外5組實驗結(jié)果。實驗結(jié)果如表4和表5所示。 實驗結(jié)果顯示,檢測率隨著攻擊流量的不斷增大而提高,平均值為99.08%,說明該檢測方法能較準確地區(qū)分異常流。實驗發(fā)生漏檢是由于正常流相對異常流比例大,使得預(yù)測初的數(shù)據(jù)偏向正常流。而實驗的誤報率在正常流不斷加大的情況下在逐漸減小,但還不能完全避免。在真實的實際情況中,背景流量的不斷加大和在網(wǎng)絡(luò)中會產(chǎn)生的延遲或者隨機噪聲等很多因素都會導(dǎo)師實驗結(jié)果的誤報率和漏檢率的增高。 實驗一至實驗五的實驗效果的基礎(chǔ)上進一步分析,正常流數(shù)值小異常流大從而導(dǎo)致在預(yù)測時兩者發(fā)生變化的時候效果波動較大,如圖3所示。 圖3 待測流實驗預(yù)測值與真實值結(jié)果對比 于是將待測異常流中再加入一定比例的正常流,實驗預(yù)測效果如圖4所示。 圖4 加入正常流后的實驗預(yù)測值和真實值結(jié)果 兩張圖作對比發(fā)現(xiàn)發(fā)生攻擊時預(yù)測值波動較大,當攻擊完成,整個流量變?yōu)檎A鲿r預(yù)測值波動較小。而整體值由于剛開始攻擊時的數(shù)值太大而不能明顯地看出正常流的預(yù)測狀態(tài)。將整個正常流將近放大100倍,預(yù)測結(jié)果如圖5所示。從圖中來看,在正常流的情況下放大后的流量預(yù)測值與真實值基本趨勢吻合,預(yù)測值實驗效果較好。 圖5 放大正常流后的實驗預(yù)測值和真實值結(jié)果 對于待測流何時攻擊開始及何時攻擊結(jié)束,對此通過兩組實驗來進行進一步分析,為使實驗效果明顯,實驗數(shù)據(jù)采用放大正常流的實驗數(shù)據(jù)。 (1)通過對正常流進行自學習的方法來設(shè)置正常流閾值,將預(yù)測值和正常流閾值進行對比,如圖6所示。 實驗結(jié)果如圖7所示,通過預(yù)測值與閾值相差來看,可以明顯判斷出何時攻擊開始何時結(jié)束,攻擊整個過程一目了然。 圖6 預(yù)測值和正常流閾值進行對比 圖7 預(yù)測值與正常流閾值差值 (2)通過真實值與預(yù)測值的差值來判斷何時攻擊何時結(jié)束。實驗結(jié)果如圖8所示。由于一組數(shù)據(jù)依次滑動取100個值來預(yù)測下一時刻的值,滑動的實驗數(shù)據(jù)最后一個值對整體數(shù)據(jù)影響較小,因而預(yù)測值總要相對于真實值滯后,圖中差值會等于零甚至出現(xiàn)負數(shù),整個差值的閾值為[-200,200]。當攻擊開始時刻的預(yù)測值受之前正常流數(shù)據(jù)的影響會比真實攻擊值相差較大,由此可以判斷為攻擊開始,如圖所示紅色箭頭標注。在攻擊開始的前一段時間內(nèi),真實值與預(yù)測值的差值出現(xiàn)超過閾值負數(shù)原因是滑動窗口依次在每100個數(shù)據(jù)預(yù)測的過程中,其中會逐漸包括攻擊值在內(nèi)的數(shù)據(jù),在初期受攻擊值的影響預(yù)測值會比真實值大,所以會出現(xiàn)負數(shù)超出最小閾值的情況。 由于正常值相比攻擊值要小很多,因此在攻擊結(jié)束時,預(yù)測值基于前面攻擊流的影響得到的值會比真實正常值大很多,則會出現(xiàn)如圖所示的負數(shù)高達-1000情況,判斷為攻擊結(jié)束。通過真實值與預(yù)測值的差值來判斷攻擊開始與攻擊結(jié)束,效果明顯。 圖8 真實值與預(yù)測值差值 本文分析了國內(nèi)外DDoS攻擊檢測的最新研究成果,并針對目前檢測的方法提出了基于時間序列預(yù)測模型的分布式拒絕服務(wù)攻擊檢測方法。該方法對網(wǎng)絡(luò)流特征進行提取之后,基于異常檢測技術(shù),對時間序列正常流進行模型的選取擬合,建立正常的模型來進行預(yù)測從而實現(xiàn)對網(wǎng)絡(luò)流異常檢測,通過一系列閾值選取和可信報警分析來判定是否遭到DDoS攻擊。實驗證明該方法能夠有效區(qū)分正常流與異常流,能準確地識別出DDoS攻擊,提高檢測率。 [1]劉智泰.淺析DDoS的攻擊及防御[J].計算機與網(wǎng)絡(luò),2016. [2]Branch,Bivens,Chan Denial of Service IntrusionDetection Using Time Dependent Deterministic Finite Automata.In:Proc.Graduate Research Conference,Troy,NY,2002. [3]S.Mukkamala,G.Janoski and A.Sung,"Intrusion detection using neural networks and support vector machines," Neural Networks,2002.IJCNN '02.Proceedings of the 2002 International Joint Conference on,Honolulu,HI,2002. [4]Gavrilis,Ioannis,and Evangelos.Feature Selection for Robust Detection of Distributed Denial of Service Attacks Using Genetic Algorithms.GA.Vouros and T.Panayiotopoulos(EDS.):SETN 2004,LNAI 3025,pp.276-281,2004. [5]Cheng C,Kung H,Tan K.Use of spectral analysis in defense against DoS attacks [C] Proc of IEEE GLOBECOM.Los Alamitos,CA:IEEE Computer Society,2002. [6]孫知信,姜舉良,焦琳.DDOS攻擊檢測和防御模型[J].軟件學報,2007. [7]Manikopoulos C,Papavassiliou S.Network intrusion and fault detection:A statistical anomaly approach[J].IEEE Communications Magazine,2002. [8]李少東.基于自適應(yīng)聚類算法的DDoS攻擊檢測方法研究[D].湖南大學,2011. [9]孫欽東,張德運,孫朝暉,張曉.基于流連接密度的分布式拒絕服務(wù)攻擊檢測[J].西安交通大學學報,2004. [10]王新生,張錦平.基于小波分析與信息熵的DDoS攻擊檢測算法[J].計算機應(yīng)用與軟件,2013. [11]張彥波,李明.基于模糊理論的分布式拒絕服務(wù)攻擊檢測[J].計算機應(yīng)用,2005. [12]解男男.機器學習方法在入侵檢測中的應(yīng)用研究[D].吉林大學,2015. [13]孫永強.基于機器學習的分布式拒絕服務(wù)攻擊檢測方法研究[D].國防科學技術(shù)大學,2006. 國家自然科學基金(61363071, 61379145,61471169);海南省自然科學基金(614220,20166217);湖南省教育科學十二五規(guī)劃課題資助項目(XJK011BXJ004);海南大學博士啟動基金(kyqd1328).海南大學青年基金(qnjj1444)。4 實驗與分析
5 結(jié)束語