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