本發(fā)明涉及一種計(jì)算機(jī)網(wǎng)絡(luò)安全技術(shù),尤其是針對(duì)低速率拒絕服務(wù)(Low-rate Denial of Service,LDoS)攻擊的檢測(cè),可以高準(zhǔn)確率的檢測(cè)出攻擊。
背景技術(shù):
低速率拒絕服務(wù)LDoS攻擊是一種新型的拒絕服務(wù)(Denial of Service,DoS)攻擊方式。自LDoS攻擊被發(fā)現(xiàn)的那一天起,它就一直是網(wǎng)絡(luò)安全領(lǐng)域的研究熱點(diǎn)。LDoS攻擊的本質(zhì)是利用網(wǎng)絡(luò)系統(tǒng)中自適應(yīng)機(jī)制所存在的漏洞,造成虛假擁塞,迫使TCP連接的服務(wù)質(zhì)量大大降低。據(jù)統(tǒng)計(jì),網(wǎng)絡(luò)中80%以上的流量是TCP,因此,LDoS攻擊會(huì)產(chǎn)生巨大的威脅。LDoS攻擊不需一直維持很高的攻擊速率,只需在固定的周期發(fā)送高速率的短脈沖攻擊流。因此,LDoS攻擊的平均速率低,甚至低于正常的網(wǎng)絡(luò)流量。這種特點(diǎn)使得LDoS攻擊具有很強(qiáng)的隱蔽性,傳統(tǒng)的檢測(cè)方法難以奏效。
雖然LDoS攻擊有很多變種,但它們都是利用網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)服務(wù)的漏洞。Kuzmanovic等人提出了一種叫做地鼠攻擊的LDoS攻擊方式。攻擊者發(fā)送與RTO相同周期的高速矩形脈沖流,使TCP端系統(tǒng)頻繁的進(jìn)入超時(shí)狀態(tài)。Guirguis等人研究了另一種類型的LDoS攻擊稱為RoQ攻擊。RoQ攻擊利用網(wǎng)絡(luò)自適應(yīng)機(jī)制的漏洞,降低網(wǎng)絡(luò)的服務(wù)質(zhì)量。此外,他們采用一種控制理論模型和相關(guān)指標(biāo)來(lái)量化這些漏洞,并評(píng)估對(duì)TCPRED自適應(yīng)機(jī)制的潛在損害。Tang等研究了LDoS攻擊對(duì)反饋控制系統(tǒng)的威脅。他們建立了一個(gè)ON/OFF模型來(lái)描述系統(tǒng)的攻擊。證明LDoS攻擊可以造成ON/OFF系統(tǒng)處于不穩(wěn)定的狀態(tài)。此外,他們采用了Web服務(wù)器和IBMNotes服務(wù)器做攻擊性能的評(píng)估。Luo等進(jìn)一步推導(dǎo)了LDoS攻擊的數(shù)學(xué)模型,用于評(píng)估攻擊的影響和提取攻擊特征。該模型是基于TCP的擁塞窗口,能揭示一些LDoS攻擊和網(wǎng)絡(luò)環(huán)境之間的相互作用關(guān)系。上述對(duì)于LDoS模型或性能的研究為L(zhǎng)DoS攻擊檢測(cè)的研究提供堅(jiān)實(shí)的基礎(chǔ)。
最近許多研究表明,多重分形理論有助于分析在網(wǎng)絡(luò)流量在小時(shí)間尺度上的特征。TCP協(xié)議的擁塞控制機(jī)制是導(dǎo)致網(wǎng)絡(luò)流量多重分形特征的主要因素。當(dāng)LDoS攻擊發(fā)出,受害網(wǎng)絡(luò)頻繁的進(jìn)行擁塞控制(如超時(shí)重傳時(shí)間,快速重傳,快速恢復(fù))。在這種情況下,網(wǎng)絡(luò)的多重分形特性會(huì)出現(xiàn)不尋常特征,這可作為識(shí)別的LDoS攻擊流量的基礎(chǔ)?;谏鲜龇治?,網(wǎng)絡(luò)流量分為兩類:正常網(wǎng)絡(luò)流量和LDoS攻擊流量。LDoS攻擊流量的識(shí)別可以被視為一個(gè)網(wǎng)絡(luò)流量分類問(wèn)題。這樣分類的目標(biāo)是通過(guò)學(xué)習(xí)訓(xùn)練集的數(shù)據(jù),建立一個(gè)分類模型來(lái)預(yù)測(cè)未知的流量類別。組合神經(jīng)網(wǎng)絡(luò)是一種更優(yōu)秀的分類器,能更好的分辨這兩類流量。
到目前為止,檢測(cè)LDoS攻擊的主要方法是利用信號(hào)處理技術(shù)分析網(wǎng)絡(luò)流量的時(shí)頻域特征。Chen等人提出了一種檢測(cè)周期LDoS攻擊的頻域分析方法。首先對(duì)網(wǎng)絡(luò)包數(shù)量進(jìn)行采樣,然后計(jì)算包個(gè)數(shù)序列的歸一化累積功率譜密度(NCPSD),在固定頻點(diǎn)通過(guò)閾值比較法確定是否發(fā)生LDoS攻擊。該方法實(shí)現(xiàn)了多個(gè)路由器協(xié)同檢測(cè),只需要一點(diǎn)時(shí)間來(lái)成功檢測(cè)LDoS攻擊。Luo等發(fā)現(xiàn)LDoS攻擊導(dǎo)致上行TCP流量和下行ACK流量異常波動(dòng)?;诖?,他們利用離散小波變換(DWT)和CUSUM法檢測(cè)的變化點(diǎn)。實(shí)驗(yàn)結(jié)果表明,該方法能夠有效的鑒別LDoS攻擊,具有較低的時(shí)間復(fù)雜度。
現(xiàn)有的基于信號(hào)處理識(shí)別方法通常有三大缺點(diǎn):1)這些方法主要分析上行或下行流量,沒(méi)有提取LDoS攻擊的本質(zhì)特征。一個(gè)聰明的攻擊者可以通過(guò)隱藏已知的流量特征逃避檢測(cè)。2)這些方法的結(jié)果對(duì)檢測(cè)參數(shù)的選擇很敏感,因此,隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大和網(wǎng)絡(luò)帶寬的增加,檢測(cè)的準(zhǔn)確性和效率將會(huì)大大降低。3)在實(shí)際網(wǎng)絡(luò)中經(jīng)常出現(xiàn)的一些正常隨機(jī)突發(fā)流會(huì)影響這些算法的檢測(cè)性能,呈現(xiàn)出較低的檢測(cè)概率,更高的漏警率和更高的虛警率。
本專利設(shè)計(jì)了一種新的方法來(lái)識(shí)別LDoS攻擊流量。該方法依賴于LDoS攻擊流量的多重分形特征。將小波變換和神經(jīng)網(wǎng)絡(luò)相結(jié)合使用形成一種新的LDoS攻擊識(shí)別方法。首先,對(duì)不同的網(wǎng)絡(luò)流量(正常網(wǎng)絡(luò)流量和LDoS攻擊流量)進(jìn)行多重分形分析,使用離散小波變換獲得網(wǎng)絡(luò)流量的小波能量譜系數(shù)。然后,設(shè)計(jì)兩層的組合神經(jīng)網(wǎng)絡(luò)模型來(lái)分類小波能量頻譜系數(shù),有類似行為的屬于同一類網(wǎng)絡(luò)流量,而不同行為的屬于不同類網(wǎng)絡(luò)流量。大量的實(shí)驗(yàn)證明,所設(shè)計(jì)的方法優(yōu)于其他檢測(cè)方法,有更高的識(shí)別率,較低的虛警率,和較低的漏警率。
技術(shù)實(shí)現(xiàn)要素:
在受害端采集網(wǎng)絡(luò)流量(圖1),將所采集的數(shù)據(jù)進(jìn)行db五階小波變換,一個(gè)網(wǎng)絡(luò)流量信號(hào)X(t)可以被尺度函數(shù)和小波函數(shù)表示:
其中,是尺度系數(shù),dj,k是小波系數(shù)。
多重分形可以反應(yīng)小時(shí)間尺度上的網(wǎng)絡(luò)流量特征,而小波能量譜可以用來(lái)評(píng)估多重分形特征。假設(shè)X(t)是多重分形過(guò)程,dj,k是小波系數(shù),小波能量譜系數(shù)μj為dj,k的平方均值:
nj是小波系數(shù)在尺度j下的個(gè)數(shù),μj是可用帶寬在2-1頻率在2-1ω0能量譜系數(shù)。得出μj后,對(duì)μj進(jìn)行零均值化處理:
其中J是最大的時(shí)間尺度。這些就是標(biāo)準(zhǔn)化小波能量譜系數(shù)(Normalized Wavelet Energy Spectrum Coefficients,NWESCs)。NWESCs作為神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù)。
設(shè)計(jì)組合神經(jīng)網(wǎng)絡(luò)模型。神經(jīng)網(wǎng)絡(luò)是一種典型的機(jī)器學(xué)習(xí)算法,而組合神經(jīng)網(wǎng)絡(luò)比單神經(jīng)網(wǎng)絡(luò)模型的精度要高。組合神經(jīng)網(wǎng)絡(luò)是基于堆棧泛化理論的,即前一層的預(yù)測(cè)結(jié)果作為后一層的輸入,并在最后輸出預(yù)測(cè)值?;谏鲜隼碚?,建立一個(gè)兩層的組合神經(jīng)網(wǎng)絡(luò)模型。因?yàn)橛袃深悢?shù)據(jù)(正常流量和LDoS流量),因此第一層包含兩個(gè)子網(wǎng)絡(luò),而第二層網(wǎng)絡(luò)的輸入數(shù)據(jù)是來(lái)自第一層的輸出,兩層訓(xùn)練目標(biāo)是相同的。
對(duì)于組合神經(jīng)網(wǎng)絡(luò)的每一層,采用MLPNN(Multilayer Perceptron Neural Network)模型。對(duì)于隱含層的每一個(gè)神經(jīng)元j,輸出yj是輸入信號(hào)xi與權(quán)值wji相乘求和的函數(shù):
yj=f(∑wjixi)
f是一個(gè)激活函數(shù),它可以把所有信號(hào)的總和轉(zhuǎn)換為一個(gè)神經(jīng)元,本專利選用S型函數(shù)作為隱含層和輸出層的激活函數(shù)。后向?qū)W習(xí)算法用于訓(xùn)練多層神經(jīng)網(wǎng)絡(luò),在后向?qū)W習(xí)算法中,均方誤差作為期望與實(shí)際輸出的誤差E,可以表示為:
ydj是期望輸出神經(jīng)元,yj是實(shí)際輸出神經(jīng)元。在第一層和第二層神經(jīng)網(wǎng)絡(luò)中,Levenberg-Marquardt優(yōu)化算法可以最快的是E減小。將所分類數(shù)據(jù)分別作為訓(xùn)練序列進(jìn)入二層BP神經(jīng)網(wǎng)絡(luò),將訓(xùn)練好的網(wǎng)絡(luò)保存,做為分類器使用。
附圖說(shuō)明
圖1為TCP流量分布圖,(a)表示正常情況,(b)表示有LDoS攻擊時(shí)的流量分布圖;
圖2為實(shí)驗(yàn)環(huán)境拓?fù)鋱D;
圖3為小波能量譜比較圖,(a)表示上行流量,(b)表示下行流量,(c)表示雙向流量;
圖4為隱含層神經(jīng)元個(gè)數(shù)比較圖;
圖5為組合神經(jīng)網(wǎng)絡(luò)輸出圖,(a)為上行輸出,(b)為下行輸出,(c)為雙向輸出,(d)為上行+下行輸出,(e)為上行+下行+雙向輸出;
圖6為本專利實(shí)驗(yàn)方法流程圖。
具體實(shí)施方法
1.首先驗(yàn)證LDoS攻擊檢測(cè)效果,利用test-bed搭建實(shí)際實(shí)驗(yàn)環(huán)境。圖2為實(shí)驗(yàn)環(huán)境的拓?fù)鋱D。其中,有4個(gè)客戶端,一個(gè)攻擊端,一個(gè)FTP服務(wù)器,瓶頸鏈路帶寬為10Mbps,其余帶寬為100Mbps。FTP服務(wù)器基于TCP協(xié)議,因此服務(wù)端為受害端,用戶從FTP服務(wù)器下載資源。實(shí)驗(yàn)中,LDoS產(chǎn)生工具發(fā)送基于UDP的脈沖,阻止交換機(jī)和路由器間的瓶頸鏈路。攻擊參數(shù)為:脈寬300ms,速率10Mbps,周期1100ms。采集到的流量數(shù)據(jù),如圖1所示。
2.采集到數(shù)據(jù)后,對(duì)每組數(shù)據(jù)進(jìn)行特征提取。對(duì)所采集數(shù)據(jù)用五階db小波作為母函數(shù),經(jīng)研究,由于在不同時(shí)間尺度上的小波能量譜系數(shù)的統(tǒng)計(jì)特性,小波分解的層次越多,就能更好的反映網(wǎng)絡(luò)流量的特點(diǎn),由于識(shí)別算法的效率限制,分解層次不能無(wú)限大。根據(jù)測(cè)試結(jié)果,小波能量譜五層分解后有最小的偏差。因此,網(wǎng)絡(luò)流量被分解為五層小波系數(shù),并計(jì)算相應(yīng)的能量譜。再對(duì)分解后的小波譜系數(shù)進(jìn)行零均值標(biāo)準(zhǔn)化,對(duì)標(biāo)準(zhǔn)化后的小波譜系數(shù)進(jìn)行分組,按以下規(guī)則分類:
1)只有上行流量的NWESCs;
2)只有下行流量的NWESCs;
3)只有雙向流量的NWESCs;
4)有上行+下行流量的NWESCs;
5)有上行+下行+雙向流量的NWESCs。
其中每組各有20個(gè)數(shù)據(jù)(正常和攻擊各10個(gè)),得到NWESCs分類圖,如圖3所示,可以反映出攻擊和正常流量的尺度特性的不同。
3.對(duì)兩層組合神經(jīng)網(wǎng)絡(luò)建模,其中兩層網(wǎng)絡(luò)的學(xué)習(xí)率、訓(xùn)練目標(biāo)和迭代次數(shù)分別均為0.01,0.001和500。根據(jù)實(shí)驗(yàn)結(jié)果,如圖4所示,第一層神經(jīng)元個(gè)數(shù)為20,第二層為25個(gè)。輸出標(biāo)準(zhǔn)為:正常序列輸出為(1,0),異常(攻擊)序列輸出為(0,1)。
4.將分類好的數(shù)據(jù)各取出一組作為訓(xùn)練序列,分別訓(xùn)練神經(jīng)網(wǎng)絡(luò),將達(dá)到目標(biāo)后的神經(jīng)網(wǎng)絡(luò)保存,可以得到符合要求的分類器。訓(xùn)練成功的輸出序列如圖5所示。
對(duì)應(yīng)步驟2不同的輸入類型,采用更多的數(shù)據(jù)進(jìn)入分類器,可以得到每類輸入的檢測(cè)性能如下表所示。
從上表,我們可以觀察到,對(duì)于采用單向流量NWESCs的LDoS攻擊流量識(shí)別,它有一定的局限性。方案1的識(shí)別率,虛警率,漏警性率分別為95.7%、4.3%和6.7%,且方案2的識(shí)別率,虛警率和漏警率分別為90.4%、9.6%和8%。這些不理想的識(shí)別結(jié)果的單向流量表明攻擊流量會(huì)出現(xiàn)類似的多重分形特征。例如,一些突發(fā)流量在網(wǎng)絡(luò)上可能會(huì)導(dǎo)致錯(cuò)誤的判斷。相比之下,方案3,4,和5可以更準(zhǔn)確地確定LDoS攻擊流量。方案3,由于多重分形特性的差異不同的雙向流量的增加,它提高了識(shí)別性能。方案4,使用上行和下行的所有NWESCs,從而使特征向量的數(shù)目增加,有準(zhǔn)確的識(shí)別結(jié)果。方案5,它結(jié)合方案3和方案4的特征向量,從而獲得最佳的識(shí)別率,虛警率和漏警率分別為99.6%,0.4%,和1.3%。