鄭永奇
(鄭州澍青醫學高等專科學校 河南 鄭州 450000)
近些年來,以網絡異常流量監測為核心的研究受到了越來越多的關注[1-3]。其中李杰等[4]將Socket 融入到網絡通信流量異常的監測方法研究之中,在一定程度上提高了監測結果的可靠性,但是由于其需要進行的計算較多,因此對于異常流量的監測存在一定的滯后性,導致對于異常流量規模的監測結果存在一定誤差,且在非穩態的模式下,擾動因子也會對其監測穩定性造成影響。胡津銘等[5]以移動警務終端為研究對象,在對SOM 神經網絡進行改進后,將其應用到流量監測中,提高了對于流量數據信息的響應效率,對應的流量規模監測結果也更加準確,但是其對于異常流量的判斷存在一定的提升空間,部分正常流量誤識別為異常流量的情況時有發生。
結合卷積神經網絡在數據分析方面的優勢,本文提出一種基于雙向循環卷積神經網絡的網絡異常流量監測方法,并通過對比測試的方式分析驗證了設計方法對于異常流量的監測效果。
為了確保本文循環卷積神經網絡能夠根據輸入的網絡流量數據及時作出運行反饋,本文為循環卷積神經網絡設置了感知器單元,利用其獲取網絡流量信號,在對其進行加權求和處理的基礎上[6],借助非線性激活函數將其輸入到神經網絡中。感知器單元對數據的處理方式可以表示為:

其中,y表示感知器單元輸出的網絡流量數據,sigmoid表示非線性激活函數,wi表示網絡流量數據xi 的權重系數。通過這樣的方式,實現對循環卷積神經網絡感知器單元的構建。
其次,考慮到神經網絡中包含大量神經元,在對網絡流量數據信息進行識別分類的過程中,本文為了最大限度避免由于神經元飽和和學習速率緩慢導致的監測結果異常問題[7],利用交叉熵代價函數對流量數據在神經網絡各神經元之間的傳遞進行約束,具體計算方式可以表示為:

其中,c表示交叉熵代價函數的計算結果,a表示交叉熵,根據式(2)所示的方式,在卷積神經網絡運行的過程中,為了最大化各神經元輸出值與期望目標值之間的擬合度,需要最小化a,并使其無限趨近于0。
最后就是對雙向循環卷積神經網絡整體結構的設置,圖1為本文構建的循環卷積神經網絡結構示意圖。

圖1 雙向循環卷積神經網絡結構示意圖
從圖1中可以看出,本文設計卷積層提取輸入層網絡流量的特征信息,為了確保異常流量識別結果的可靠性,本文將傳統卷積神經網絡中的卷積層替換為循環卷積層,對于提取到的特征參量,在特征層數據中添加空數據后,對其進行二次抽象提取,并按照這樣的方式循環至特征層抽取的特征數據結果與上一次一致。將對應的結果輸入到池化層,將其作為異常流量判斷的基準。
在上述基礎上,本文對于網絡異常流量監測是實際的網絡流量數據與循環卷積層輸出特征參量之間的關系實現的,考慮到對于異常流量的監測需要[8-9],本文在計算過程中引入了時間參量。具體的監測流程分為以下幾個步驟:
步驟1:將網絡流量數據信息輸入到循環卷積神經網絡中,經過式(1)所示的感知器單元對其進行激活處理,并輸入到循環卷積層;
步驟2:在循環卷積層提取數據的特征參量,其計算方式可以表示為:

其中,y1(m,n)表示提取到的網絡流量數據特征參量,b表示偏置系數,wm和wn分別表示m和n循環卷積層神經元的輸出結果的權重系數,k表示卷積層的邊長,*表示卷積運算,d表示卷積的步長。通過這樣的方式計算得到初代特征參量。
步驟3:采用隨機的方式在提取到的特征結果中添加空數據,二次計算特征參量,其計算方式可以表示為:

其中,y2(m,n)表示第一次循環計算得到的二次特征參量,d+l 表示第一次循環卷積的步長,l 表示空數據的添加規模。
步驟4:按照上述的方式循環直至得到的特征參量不再隨著循環次數的增加發生變化,將其輸入到池化層,與樣本數據提取到的特征值進行比較,當二者存在差異時,則表明此時的網絡流量為異常狀態,以記錄當前數據的時間標簽,以循環神經網絡數輸出特征與池化層一致時為終止,得到對應的時間信息,結合異常流量的具體參數,計算出異常的規模。
通過這樣的方式,實現對網絡異常流量的準確監測。
本文以Linux2020 操作系統作為測試環境,對于測試數據的準備,本文選取了CIC-IDS2017 的原始網絡流量數據,通過這樣的方式確保監測方法能夠在實際的應用階段表現出更高的通用性,對應的數據的網絡協議中HTTP、HTTPS、FTP 和SSH。其次就是對異常流量數據的設置,考慮到一般情況下網絡流量出現異常的原因多為外部攻擊,為此,本文設置了9 種較為常見的攻擊流量,其具體的類型和規模如表1所示。

表1 攻擊流量設置
按照表1所示的設置結果,分別采用李杰等[4]、胡津銘等[5]以及本文的方法進行監測測試,并對比對應的測試結果。
對三種方法的監測結果進行分析,得到的結果如圖2所示。

圖2 不同方法監測結果
從圖2中可以看出,正常狀態下的流量為2.0×103~4.0×103bit,各個監測結果中對應的網絡流量峰值即為異常流量,峰值對應的時間跨度不同,意味著流量相應的規模也不同,通過對圖2中不同方法的測試結果進行分析可以看出,在李杰等[4]方法對應的2(a)監測結果中,監測到的異常流量值為10 個,在胡津銘等[5]方法對應的2(b)監測結果中,監測到的異常流量值為12 個,在本文設計方法對應的2(a)監測結果中,監測到的異常流量值為9 個,根據上述結果初步分析,本文設計方法的監測結果與測試設置階段布置的9 個攻擊流量數量上具有一致性。
在上述基礎上,統計了三種方法對各攻擊流量規模的監測結果,得到的數據信息如表2所示。

表2 不同方法網絡流量規模監測結果統計表
對表2中的數據信息進行對比可以看出,李杰等[4]方法對于網絡流量規模的監測結果與實際值之間的差異存在較大的波動性,其中,最大差值為對Normal Activity 的監測結果,達到了8.9 GB,這是因為其對異常流量的監測結果中存在將正常流量誤識別為異常流量的情況。除此之外,對于DoS、Force 和Botnet 異常攻擊流量規模的監測結果誤差也達到了1.0 GB 以上,表明該監測方法的可靠性仍存在進一步提升的空間。胡津銘等[5]方法對于網絡流量規模的監測結果整體誤差相對較低,對于設置的9 種異常攻擊流量規模,監測誤差均在1.0 GB以內,最大值僅為0.9 GB,但是在圖2所示的監測結果中已經表現出了對異常流量的判斷存在一定的不足,由于Normal Activity 識別為異常流量,因此對該部分流量的監測誤差較大,達到了15.4 GB。相比之下,本文設計方法對于異常流量規模的監測結果與設置值之間的差值始終穩定在0.3 GB 以內,在不同異常流量規模監測誤差的累積作用下,對于Normal Activity 規模的監測誤差也僅為0.6 GB。這是因為本文設計的監測方法利用雙向循環卷積神經網絡實現了對異常值的計算和校驗,提高了監測結果的可靠性。測試結果表明,本文設計的基于雙向循環卷積神經網絡的網絡異常流量監測方法具有良好的實際應用效果。
為了保障網絡的安全性和穩定性,針對異常流量情況實施有效的管理和防御措施是十分必要的,這就意味著網絡異常流量監測結果要具有更高的可靠性,能夠為后續的網絡管理工作提供準確的數據信息。針對該問題,本文提出一種基于雙向循環卷積神經網絡的網絡異常流量監測方法,在一定程度上提高了對異常流量的檢測精度。