◆程杰仁 周靜荷 唐湘滟 史佳昕
(海南大學(xué)信息科學(xué)技術(shù)學(xué)院 海南 571101)
基于時(shí)間序列預(yù)測模型的分布式拒絕服務(wù)攻擊檢測方法
◆程杰仁 周靜荷 唐湘滟 史佳昕
(海南大學(xué)信息科學(xué)技術(shù)學(xué)院 海南 571101)
分布式拒絕服務(wù)(Distributed Denial of Service,DDoS)的破壞性大、危害廣,對目前的互聯(lián)網(wǎng)安全構(gòu)成了巨大威脅。本文分析了國內(nèi)外現(xiàn)有的DDoS攻擊檢測方法,針對已有檢測方法的不足之處提出了基于時(shí)間序列預(yù)測模型的DDoS檢測方法。該方法提取正常網(wǎng)絡(luò)流時(shí)間序列特征,并對時(shí)間序列進(jìn)行平穩(wěn)性和白噪聲檢驗(yàn),根據(jù)檢驗(yàn)結(jié)果確定模型參數(shù)以建立預(yù)測模型,基于預(yù)測模型對待測流進(jìn)行預(yù)測,最后通過對正常流設(shè)置自適應(yīng)閾值和可信報(bào)警模型來識(shí)別異常流量并檢測DDoS攻擊。實(shí)驗(yàn)結(jié)果與分析表明,該方法能夠較為準(zhǔn)確區(qū)分正常流與異常流,有效地檢測分布式拒絕服務(wù)攻擊,降低了誤報(bào)率和漏報(bào)率。
分布式拒絕服務(wù)攻擊;時(shí)間序列預(yù)測;互聯(lián)網(wǎng)安全
隨著全球Internet的迅猛發(fā)展,人們越來越依賴于計(jì)算機(jī)網(wǎng)絡(luò),而網(wǎng)絡(luò)安全事件頻繁發(fā)生,攻擊手段層出不窮,計(jì)算機(jī)網(wǎng)絡(luò)的保密性、完整性和可用性受到嚴(yán)峻的考驗(yàn)。分布式拒絕服務(wù)(Distributed Denial of Service,DDoS)攻擊針對的目標(biāo)正是可用性。該攻擊方式利用目標(biāo)系統(tǒng)網(wǎng)絡(luò)服務(wù)功能缺陷或者直接消耗其系統(tǒng)資源,使得該目標(biāo)系統(tǒng)無法提供正常的服務(wù)。DDoS攻擊的破壞性大、危害廣,對互聯(lián)網(wǎng)安全構(gòu)成了巨大的威脅。面對DDoS攻擊帶來的后果,對DDoS攻擊檢測進(jìn)行深入分析和研究就顯得尤其必要和緊迫。由于DDoS攻擊是通過大量合法的請求占用大量網(wǎng)絡(luò)資源,以達(dá)到癱瘓網(wǎng)絡(luò)的目的。因此防御DDoS攻擊的關(guān)鍵是如何快速準(zhǔn)確地檢測攻擊,檢測結(jié)果將直接影響整個(gè)防御的性能。
近年來,各種抵御方案相繼提出。其中針對攻擊的檢測方面,一般可以有攻擊前的預(yù)防方面,對攻擊進(jìn)行檢測及攻擊的響應(yīng)這三部分。在預(yù)防攻擊的研究這一方面,到目前為止研究最多的側(cè)重點(diǎn)還是從提高TCP/IP協(xié)議的質(zhì)量進(jìn)行分析,比如通過縮短溢出時(shí)間值或者擴(kuò)展緩存隊(duì)列的長度,可以使得服務(wù)器能夠處理更多的數(shù)據(jù)包。另外采取一些措施也是必要的,例如設(shè)置高性能的設(shè)備、保證高帶寬、異常流量的清洗和分布式集群防御等[1]。
攻擊的檢測可以分為異常檢測、誤用檢測。異常檢測是基于行為的攻擊檢測方式,在統(tǒng)計(jì)的基礎(chǔ)上形成建立了正常的網(wǎng)絡(luò)流量行為模式,若檢測出的數(shù)據(jù)偏離了正常模式就可以判定為發(fā)生攻擊;誤用檢測是基于知識(shí)的檢測,運(yùn)用已存在的攻擊方法攻擊建立的一系列特征信息的數(shù)據(jù)庫,若檢測到的數(shù)據(jù)特征信息和建立的數(shù)據(jù)庫中的特征信息的某些參數(shù)值相互對應(yīng)就可以認(rèn)為發(fā)生攻擊。對于誤用(特征)檢測,Branch和Bivens等提出了基于時(shí)間的確定性有限的自動(dòng)機(jī)模型[2];2002年的Mukkamala和BiVens主要是針對神經(jīng)網(wǎng)絡(luò)的方法應(yīng)用在入侵檢測方面做了深入研究[3];Gavrilis將遺傳算法進(jìn)行延伸應(yīng)用到檢測部件這一方面為提取更為有效的特征信息[4]。對于異常檢測,Cheng等提出了通過使用頻譜分析的方法來檢測DDoS攻擊的方法[5];孫知信等提出了APA-ANTI-DDOS模型[6];Manikopoulos等提出了根據(jù)正常流和待測流特征值計(jì)算出相似度來識(shí)別攻擊流的方法[7];文獻(xiàn)[8]主要是基于大型規(guī)模的網(wǎng)絡(luò)流量的自相似特性提出的自適應(yīng)的聚類算法;孫欽東等提出了一種基于流連接密度FCD檢測方法[9];文獻(xiàn)[10]提出了基于小波分析方法來計(jì)算網(wǎng)絡(luò)中流量的Hurst指數(shù)值同時(shí)介紹了對信息熵的檢測算法;文獻(xiàn)[11]提出了基于模糊理論的檢測方法;文獻(xiàn)[12]提出了基于PSO優(yōu)化的RBF神經(jīng)網(wǎng)絡(luò)算法;文獻(xiàn)[13]基于自適應(yīng)學(xué)習(xí)得到的分布式的協(xié)同檢測機(jī)制和隱馬爾可夫模型(HMM)的方法對DDoS攻擊檢測模型進(jìn)行了研究。由于現(xiàn)有大多數(shù)檢測方法是假定DDoS攻擊流狀態(tài)和正常用戶流狀態(tài)是確定的,而DDoS攻擊流和正常用戶流在實(shí)際攻擊環(huán)境下有著較大的不確定性,因此在應(yīng)用中容易導(dǎo)致誤報(bào)和漏報(bào)。
按照時(shí)間的先后順序依次向后排列的觀測值所構(gòu)成的數(shù)列稱為時(shí)間序列,如各年度的國內(nèi)生產(chǎn)總值、人口數(shù)據(jù)等。本文采用時(shí)間序列預(yù)測模型對網(wǎng)絡(luò)流異常狀態(tài)進(jìn)行檢測,首先提取網(wǎng)絡(luò)流狀態(tài)特征的時(shí)間序列,對多種時(shí)序模型進(jìn)行比較,選取合適的模型通過對待測流進(jìn)行預(yù)測,最后對實(shí)驗(yàn)結(jié)果進(jìn)行分析,識(shí)別網(wǎng)絡(luò)流異常狀態(tài)。
首先提取得網(wǎng)絡(luò)流狀態(tài)特征,然后對獲取到的一組觀測值序列檢驗(yàn)其純隨機(jī)性和平穩(wěn)性這兩大性質(zhì),若是純隨機(jī)序列(又稱為白噪聲序列),則可終止對該序列的分析。在平穩(wěn)性檢驗(yàn)中,本文采用最常用的單位根檢驗(yàn)方法,對獲取到的觀測序列構(gòu)造檢驗(yàn)統(tǒng)計(jì)量。若得到平穩(wěn)的非白噪聲序列,則運(yùn)用ARMA模型來進(jìn)行建模。
計(jì)算出平穩(wěn)白噪聲序列}{tX的自相關(guān)系數(shù)和偏自相關(guān)系數(shù),再由AR(p)模型、MA(q)和ARMA(p,q)的自相關(guān)系數(shù)和偏自相關(guān)系數(shù)的性質(zhì),選擇合適的模型并進(jìn)行檢驗(yàn)優(yōu)化。

即在t時(shí)刻的隨機(jī)變量Xt的取值tx是前p期和前q期的多元線性函數(shù),誤差項(xiàng)是當(dāng)期的隨機(jī)干擾tε,為零均值的白噪聲序列。認(rèn)為Xt主要是由過去p期的序列值和過去q期的誤差項(xiàng)的共同影響。
當(dāng)q=0時(shí),是AR(p)模型;當(dāng)p=0時(shí),則是MA(q)模型。
ARMA模型識(shí)別原則如表1所示:

表1 模型識(shí)別
3.1 提取網(wǎng)絡(luò)流狀態(tài)特征
對所構(gòu)成的組使用去除規(guī)則,最后剩下目的IP地址一樣的數(shù)據(jù)包,這些類設(shè)為。定義時(shí)間序列特征網(wǎng)絡(luò)流(Time Series Network Flow,TSNF)為:

其中,

3.2 序列預(yù)處理
當(dāng)數(shù)據(jù)是平穩(wěn)序列時(shí)需要對其進(jìn)行進(jìn)一步的白噪聲檢驗(yàn)。平穩(wěn)非白噪聲時(shí)間序列的單位根檢驗(yàn)和白噪聲檢驗(yàn)如表2所示。根據(jù)自相關(guān)系數(shù)與偏自相關(guān)系數(shù)的趨勢可以判定模型類別和估計(jì)階數(shù)。

表2 原始序列的單位根檢驗(yàn)白噪聲檢驗(yàn)
3.3 模型階次的確定和參數(shù)估計(jì)
本文采用AIC準(zhǔn)則,在最小最終預(yù)測的誤差準(zhǔn)則的基礎(chǔ)之上擴(kuò)展并識(shí)別出模型階數(shù)。當(dāng)樣本長度N一定時(shí),隨著模型的兩個(gè)階數(shù)p和q的增大,若此時(shí)p和q達(dá)到某一個(gè)數(shù)值時(shí),AIC(p,q)的值是最小的,此時(shí)得到的p、q就是該模型的最佳的模型階數(shù)。本文采用ARMA(2,1)模型來對時(shí)間序列進(jìn)行分析。在階數(shù)已經(jīng)確定的前提下,還需要進(jìn)行對模型的參數(shù)的估計(jì)。ARMA模型的參數(shù)檢驗(yàn)和參數(shù)估計(jì)如表3所示。

表3 ARMA(2,1)模型的參數(shù)檢驗(yàn)和參數(shù)估計(jì)
3.4 異常檢測與可信報(bào)警
通過時(shí)間序列確定模型參數(shù),使用生成的ARMA模型進(jìn)一步預(yù)測某一時(shí)刻k即將到達(dá)的時(shí)間序列值,將得到的預(yù)測值和實(shí)際值作一系列的對比。即對時(shí)間序列,其中t>1, 1 閾值的選擇對檢測異常的判斷有著十分重要的意義,若閾值過小,則攻擊的誤判率會(huì)增高;若閾值太大,則攻擊的識(shí)別率會(huì)降低。同時(shí),不同時(shí)間段網(wǎng)絡(luò)流量又是不斷變化的,因此實(shí)現(xiàn)正常流判斷閾值的自適應(yīng)變化就顯得格外重要。計(jì)算自適應(yīng)閾值的主要思想是在序列中以滑動(dòng)窗為參照,檢測到的點(diǎn)是否落在自適應(yīng)閾值內(nèi)。范圍是在正常流的最大值減最小值的基礎(chǔ)上加上容差界限即其標(biāo)準(zhǔn)差。 本文實(shí)驗(yàn)所采用的數(shù)據(jù)集都是從MIT LINCOLN LABORA TORY在1999年采集的正常流數(shù)據(jù)集和2000年采集的DDoS攻擊流數(shù)據(jù)。 對正常流數(shù)據(jù)集進(jìn)行時(shí)間間隔為0.1s的多次采樣后獲得基于TSNF時(shí)間序列樣本。通過計(jì)算得出單位根檢驗(yàn)p值小于0.05,該序列判斷為平穩(wěn)序列。對其進(jìn)行白噪聲檢驗(yàn),計(jì)算得出該時(shí)間序列為非白噪聲序列。如圖1所示是自相關(guān)系數(shù)與偏自相關(guān)系數(shù)的趨勢,兩張圖都顯示出拖尾性,由此可以判斷使用模型ARMA。 圖1 自相關(guān)系數(shù)和偏自相關(guān)系數(shù) 基于TSNF正常流估計(jì)參數(shù)生成ARMA模型,利用200個(gè)樣本值通過建立好的模型每100個(gè)值依次滑動(dòng)預(yù)測下一個(gè)值,共預(yù)測100個(gè)值,預(yù)測結(jié)果如圖2所示。兩者趨勢基本吻合,擬合程度較高,該實(shí)驗(yàn)?zāi)P涂梢宰鳛榫W(wǎng)絡(luò)流的預(yù)測模型。 圖2 預(yù)測100個(gè)值與真實(shí)值對比 以檢測率和誤報(bào)率作為檢測效果的一個(gè)評估標(biāo)準(zhǔn),TN為被正確標(biāo)記過的正常流測試樣本數(shù),F(xiàn)N為被錯(cuò)誤標(biāo)記過的正常流測試樣本數(shù),TD為正確標(biāo)記過的異常流測試樣本數(shù),F(xiàn)D為被錯(cuò)誤標(biāo)記過的異常流測試樣本數(shù),則檢測率的計(jì)算方法為DR=TD/(TD+FD),誤報(bào)率的計(jì)算方法為FR=FN/(TN+FN)。 表4 實(shí)驗(yàn)檢測率 表5 實(shí)驗(yàn)誤報(bào)率 首先對正常流進(jìn)行采樣并估計(jì)模型參數(shù)生成ARMA(2,1)模型,然后以正常/攻擊流量為5:1的比例組合進(jìn)行檢測,得到一組針對待測異常流數(shù)據(jù)的檢測率,之后將正常流量保持不變依次加大一倍的異常流,得到共5組實(shí)驗(yàn)結(jié)果的值。對正常流采樣得到待測正常流的樣本,采用相同的實(shí)驗(yàn)步驟得到另外5組實(shí)驗(yàn)結(jié)果。實(shí)驗(yàn)結(jié)果如表4和表5所示。 實(shí)驗(yàn)結(jié)果顯示,檢測率隨著攻擊流量的不斷增大而提高,平均值為99.08%,說明該檢測方法能較準(zhǔn)確地區(qū)分異常流。實(shí)驗(yàn)發(fā)生漏檢是由于正常流相對異常流比例大,使得預(yù)測初的數(shù)據(jù)偏向正常流。而實(shí)驗(yàn)的誤報(bào)率在正常流不斷加大的情況下在逐漸減小,但還不能完全避免。在真實(shí)的實(shí)際情況中,背景流量的不斷加大和在網(wǎng)絡(luò)中會(huì)產(chǎn)生的延遲或者隨機(jī)噪聲等很多因素都會(huì)導(dǎo)師實(shí)驗(yàn)結(jié)果的誤報(bào)率和漏檢率的增高。 實(shí)驗(yàn)一至實(shí)驗(yàn)五的實(shí)驗(yàn)效果的基礎(chǔ)上進(jìn)一步分析,正常流數(shù)值小異常流大從而導(dǎo)致在預(yù)測時(shí)兩者發(fā)生變化的時(shí)候效果波動(dòng)較大,如圖3所示。 圖3 待測流實(shí)驗(yàn)預(yù)測值與真實(shí)值結(jié)果對比 于是將待測異常流中再加入一定比例的正常流,實(shí)驗(yàn)預(yù)測效果如圖4所示。 圖4 加入正常流后的實(shí)驗(yàn)預(yù)測值和真實(shí)值結(jié)果 兩張圖作對比發(fā)現(xiàn)發(fā)生攻擊時(shí)預(yù)測值波動(dòng)較大,當(dāng)攻擊完成,整個(gè)流量變?yōu)檎A鲿r(shí)預(yù)測值波動(dòng)較小。而整體值由于剛開始攻擊時(shí)的數(shù)值太大而不能明顯地看出正常流的預(yù)測狀態(tài)。將整個(gè)正常流將近放大100倍,預(yù)測結(jié)果如圖5所示。從圖中來看,在正常流的情況下放大后的流量預(yù)測值與真實(shí)值基本趨勢吻合,預(yù)測值實(shí)驗(yàn)效果較好。 圖5 放大正常流后的實(shí)驗(yàn)預(yù)測值和真實(shí)值結(jié)果 對于待測流何時(shí)攻擊開始及何時(shí)攻擊結(jié)束,對此通過兩組實(shí)驗(yàn)來進(jìn)行進(jìn)一步分析,為使實(shí)驗(yàn)效果明顯,實(shí)驗(yàn)數(shù)據(jù)采用放大正常流的實(shí)驗(yàn)數(shù)據(jù)。 (1)通過對正常流進(jìn)行自學(xué)習(xí)的方法來設(shè)置正常流閾值,將預(yù)測值和正常流閾值進(jìn)行對比,如圖6所示。 實(shí)驗(yàn)結(jié)果如圖7所示,通過預(yù)測值與閾值相差來看,可以明顯判斷出何時(shí)攻擊開始何時(shí)結(jié)束,攻擊整個(gè)過程一目了然。 圖6 預(yù)測值和正常流閾值進(jìn)行對比 圖7 預(yù)測值與正常流閾值差值 (2)通過真實(shí)值與預(yù)測值的差值來判斷何時(shí)攻擊何時(shí)結(jié)束。實(shí)驗(yàn)結(jié)果如圖8所示。由于一組數(shù)據(jù)依次滑動(dòng)取100個(gè)值來預(yù)測下一時(shí)刻的值,滑動(dòng)的實(shí)驗(yàn)數(shù)據(jù)最后一個(gè)值對整體數(shù)據(jù)影響較小,因而預(yù)測值總要相對于真實(shí)值滯后,圖中差值會(huì)等于零甚至出現(xiàn)負(fù)數(shù),整個(gè)差值的閾值為[-200,200]。當(dāng)攻擊開始時(shí)刻的預(yù)測值受之前正常流數(shù)據(jù)的影響會(huì)比真實(shí)攻擊值相差較大,由此可以判斷為攻擊開始,如圖所示紅色箭頭標(biāo)注。在攻擊開始的前一段時(shí)間內(nèi),真實(shí)值與預(yù)測值的差值出現(xiàn)超過閾值負(fù)數(shù)原因是滑動(dòng)窗口依次在每100個(gè)數(shù)據(jù)預(yù)測的過程中,其中會(huì)逐漸包括攻擊值在內(nèi)的數(shù)據(jù),在初期受攻擊值的影響預(yù)測值會(huì)比真實(shí)值大,所以會(huì)出現(xiàn)負(fù)數(shù)超出最小閾值的情況。 由于正常值相比攻擊值要小很多,因此在攻擊結(jié)束時(shí),預(yù)測值基于前面攻擊流的影響得到的值會(huì)比真實(shí)正常值大很多,則會(huì)出現(xiàn)如圖所示的負(fù)數(shù)高達(dá)-1000情況,判斷為攻擊結(jié)束。通過真實(shí)值與預(yù)測值的差值來判斷攻擊開始與攻擊結(jié)束,效果明顯。 圖8 真實(shí)值與預(yù)測值差值 本文分析了國內(nèi)外DDoS攻擊檢測的最新研究成果,并針對目前檢測的方法提出了基于時(shí)間序列預(yù)測模型的分布式拒絕服務(wù)攻擊檢測方法。該方法對網(wǎng)絡(luò)流特征進(jìn)行提取之后,基于異常檢測技術(shù),對時(shí)間序列正常流進(jìn)行模型的選取擬合,建立正常的模型來進(jìn)行預(yù)測從而實(shí)現(xiàn)對網(wǎng)絡(luò)流異常檢測,通過一系列閾值選取和可信報(bào)警分析來判定是否遭到DDoS攻擊。實(shí)驗(yàn)證明該方法能夠有效區(qū)分正常流與異常流,能準(zhǔn)確地識(shí)別出DDoS攻擊,提高檢測率。 [1]劉智泰.淺析DDoS的攻擊及防御[J].計(jì)算機(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].軟件學(xué)報(bào),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].湖南大學(xué),2011. [9]孫欽東,張德運(yùn),孫朝暉,張曉.基于流連接密度的分布式拒絕服務(wù)攻擊檢測[J].西安交通大學(xué)學(xué)報(bào),2004. [10]王新生,張錦平.基于小波分析與信息熵的DDoS攻擊檢測算法[J].計(jì)算機(jī)應(yīng)用與軟件,2013. [11]張彥波,李明.基于模糊理論的分布式拒絕服務(wù)攻擊檢測[J].計(jì)算機(jī)應(yīng)用,2005. [12]解男男.機(jī)器學(xué)習(xí)方法在入侵檢測中的應(yīng)用研究[D].吉林大學(xué),2015. [13]孫永強(qiáng).基于機(jī)器學(xué)習(xí)的分布式拒絕服務(wù)攻擊檢測方法研究[D].國防科學(xué)技術(shù)大學(xué),2006. 國家自然科學(xué)基金(61363071, 61379145,61471169);海南省自然科學(xué)基金(614220,20166217);湖南省教育科學(xué)十二五規(guī)劃課題資助項(xiàng)目(XJK011BXJ004);海南大學(xué)博士啟動(dòng)基金(kyqd1328).海南大學(xué)青年基金(qnjj1444)。4 實(shí)驗(yàn)與分析










5 結(jié)束語