?

基于深度學習的網絡Web異常流量檢測方法

2024-01-12 04:39徐丞
微型電腦應用 2023年12期
關鍵詞:特征向量特征提取流量

徐丞

(成都鴻安華宇科技有限公司, 四川, 成都 610000)

0 引言

Web服務憑借便捷性強、可靠性高等優勢逐漸成為用戶獲取信息的主要方式。隨著Web應用規模的不斷擴大,越來越多的不法分子開始盜取信息,網絡面臨更多攻擊威脅。為了提高用戶隱私數據安全性,向用戶提供可靠的服務,Web異常流量檢測成為主要防護手段。流量中包含海量有用信息,是數據傳播的載體,利用有效的方式分析流量特征,就可敏銳感知網絡態勢,及時檢測出異常流量,并采取有針對性的措施,抵御非法攻擊,維護網絡安全。國外的一些檢測方法主要結合已有的攻擊類型特征,實現異常行為與正常行為的劃分。但此種措施對于新增攻擊類型而言漏報率較高,且特征提取過程中人為干擾因素較大。

為提高檢測效果,國內學者也紛紛展開研究。杜軍龍等[1]提出基于云計算和機器學習的新型入侵檢測系統,利用神經網絡和貝葉斯濾波器,構建海量流量數據集預測模型,獲取數據可視化信息組織映射,對計算機網絡實現可視化監控和監督。雖然該方法檢測率能夠滿足實際需求,但是容易出現虛報情況,虛警率較高。王琦等[2]提出基于大數據分析技術的網絡入侵檢測方法,采用神經網絡構建網絡入侵檢測的分類器,通過蟻群算法選擇最優的神經網絡連接值和連接權值,實現網絡入侵檢測,但是該方法的檢測正確率還有上升的空間。

為了解決上述問題,同時滿足高檢測率與低虛警率的要求,本文提出基于深度學習的異常流量檢測方法。深度學習也可稱為特征學習[3],此種學習方法不需要人工參與,減少主觀干擾,同時具有自組織學習能力,可最大程度在找出異常流量的同時,降低虛警發生幾率。

1 流量數據采集與預處理

1.1 基于DPDK的數據采集

在Web網絡環境下,如何高效、全面地采集流量數據是異常流量檢測的關鍵問題。為保證數據采集的實時性,設計基于DPDK(數據平面開發工具包)的流量采集架構[4],如圖1所示。

(a) DPDK整體架構

如圖(2)所示,采集架構共分為6個核心組件,具體功能如下:

環境抽象層能夠為用戶提供API接口,是DPDK架構中最為關鍵的組件,利用DPDK自身提供的數據平面庫進行數據包的處理,繞過了Linux的內核協議[5],可屏蔽網絡環境中的細節差異,加載并初始化操作接口,并進行接口調試,實現最底層資源的訪問;

堆內存管理組件在程序正常運行期間提供內存管理接口,避免系統內存過多,提高訪問速度;

緩沖區管理組件提供單個或多個的無鎖處理接口,建立MBUF對象,封裝實際數據幀,并且可實現在多進程間的相互通信,在通信過程中,還能降低系統開銷;

內存池管理組件提供儲存接口;

調試組件可以調整其他組件狀態功能,緩存報文和普通數據;

定時器組件為執行單元提供定時器服務。

利用圖1所示的流量采集架構,通過端口鏡像設備采集Web網絡流量,并將采集到的全部流量備份到檢測模型中。端口鏡像不會對數據交換造成影響,實時捕獲流量包。

1.2 數據預處理

數據預處理的主要目的是確保所有采集到的數據格式統一,便于異常特征提取。

(1) 數值化處理

流量集合中的特征屬性主要包括匹配和附加特征,其中前者表示采集到的綜合數據,也是數值化處理的主要目標,主要從如下方面進行數值化處理:

基本特征包括IP地址、字節數量、目標生存時間、丟包數量、網絡服務類型、數據傳輸速度等;

內容特征包括通告窗口大小、序列編碼、流量包大小平均值、響應速度、未壓縮數據大小;

(2) 歸一化處理

將上述特征賦予具體數值后,還需將這些數據歸一化,提高特征提取速度。利用離差標準化的方法[6]將初始數據映射在[0,1]之間,歸一化具體公式如下:

(1)

式(1)中,xmax與xmin分別代表屬性極大與極小值,x表示當前屬性值,f(x)表示經過映射后的屬性值。

2 基于小波分解的流量特征提取

小波分解的實質是利用平移等運算過程多尺度分析信號,提取其中的主要信息。其中,小波函數是決定小波分解效果的關鍵因素。綜合分析各函數差異,最終選用Daubechiesl小波函數實現信號的離散小波變換,獲取信號中的有用信息。特征提取流程如圖2所示。

圖2 基于小波分解的信號特征提取流程圖

Daubechiesl函數屬于一個正交小波函數[7],其支撐域范圍為t∈[0,1],具體定義表示為

(2)

Daubechiesl函數是不連續的,但是計算簡單,且ψ(t)不與ψ(2t)正交。

為保證特征組長度合理,設定滑動窗口提取子序列,并對序列進行初步分析,了解序列大概周期;在窗口內獲取某組特征,根據周期情況設置窗口大小,并將滑動步長設置為1;確定特征參數,確定過程中,需保證類別差異明顯且不冗余,最大程度保證最低維數。

綜合平均值、標準差和能量占比情況確定最終異常特征向量組。

(1) 平均值

反映數值序列的理想值,體現出信號的波動狀況,平均值μ在異常流量檢測中表示信號能量,其計算公式如下:

(3)

式(3)中,Xi表示點i處信號取值,N表示信號長度。

(2) 標準差

標準差σ體現數據的分散程度,計算公式如下:

(4)

(3) 能量占比

能量占比指低頻信號a5與每個高頻信號d1,d2,…,d5總能量的比值。低頻信號能量aj和高頻信號能量dj的計算公式如下:

(5)

(6)

低頻能量占比Ea5與高頻能量占比計算公式分別如下:

(7)

(8)

綜合上述平均值、標準差和能量占比3個指標可從長度序列中提取特征向量組。

3 基于深度學習的Web異常流量檢測

通過構建混合神經網絡模型實現深度學習,首先利用長短時記憶網絡(LSTM)[8]對獲取的流量特征進行學習建模,挖掘其內在時序特點;引入注意力機制對檢測貢獻較大的特征賦權;最后利用多層神經網絡[9](MLP)輸出檢測結果。此種混合深度學習網絡可以提高檢測精度,保證異常檢測的各指標均有所提高。

3.1 長短時記憶網絡建立

LSTM能夠處理時序特征較強的數據,元素輸出不但和現階段輸入相關,還和歷史狀態相關。該網絡會記憶歷史信息并用在當前運算中。由于每條流量數據均具有時序性,某兩臺主機經過多次交流生成的數據包具也有時序性,因此異常檢測過程中還需獲取流量數據的時序相關特性,為深度挖掘時序關系,本文利用LSTM處理已經提取到的特征向量。

LSTM在每個時段的輸出均取決于遺忘門fa、輸入門ia以及輸出門oa。在a時間點中,h為單元編碼的輸出,任意一個門都和上個模塊的輸出ha-1、現階段輸入pa相關,這些因素決定了記憶細胞的狀態與異常狀態。

將經過池化的特征序列P看作時間序列,同時將其輸入到LSTM網絡中。針對正向LSTM網絡,分別輸入pn1,pn2,…,pN;針對反向網絡,則輸入pN,pN-1,…,pn1,由n個神經元得到1×n維的特征向量。經過LSTM處理后,LSTM中隱含層單元數量為n,而隱含層輸出n×m維的特征向量[10]。輸出每個特征的狀態,將正向與反向的最后一個輸出級聯,獲取流量數據時間特征向量。輸入門ia、遺忘門fa和輸出門oa的表達式如下:

ia=α(Wi[ha-1,pa]+bi)

(9)

fa=α(Wf[ha-1,pa]+bf)

(10)

oa=tanh(Wo[ha-1,pa]+bo)

(11)

式(9)~式(11)中,α表示sigmoid函數,tanh屬于雙曲正切函數,Wi、Wf和Wo均代表權重矩陣,bi、bf和bo均屬于偏置項;在得到初始樣本在LSTM中的特征表達后,根據輸入輸出可以計算其對應的重構誤差。非異常的特征數據在經過LSTM處理后的重構誤差較小,相反,異常的特征數據在經過LSTM處理后的重構誤差較大??梢酝ㄟ^計算正常流量的訓練數據輸入進模型后重構誤差的分布來確定異常流量檢測的閾值τ。如果輸入的流量數據的重構誤差大于之前計算出的異常流量檢測閾值,即可判定該數據為異常流量數據[11]。設數據序列表示為x(τ)=[xi1,xi2,…,xin],n為序列長度。重構誤差計算如下:

(12)

計算重構誤差后,特征序列經過LSTM網絡處理可獲得流量數據的時間特征向量T:

T=E(τ)[a1,a2,…,an]

(13)

3.2 基于注意力機制的特征向量賦權

異常檢測過程中,不同特征的貢獻度不同,因此利用注意力機制對特征賦權,再利用特征加權求和的方式獲取新的特征表示。

針對LSTM處理后得到的時序特征ai,利用式(14)中的tanh激活函數作非線性變換生成ui,再采用式(15)中的softmax函數獲取所有分量ui的權重Wβ=[β1,β2,…,βn],使用式(16)對輸出向量加權求和,獲得Web流量特征的整體表示形式S。具體公式如下:

(14)

βi=softmax(Wui)

(15)

(16)

3.3 檢測結果輸出

多層感知機屬于前饋式神經網絡,結構簡單,泛化能力強。利用該網絡對S進行處理,通過分類器輸出最后檢測結果,MLP網絡的運算過程如下:

y=fdense(WdenseS-bdense)

(17)

(18)

式(17)~式(18)中,Wdense表示全連接層的權重矩陣,bdense表示偏置項,fdense表示激活函數,yc表示第c維特征,ρ(yc)表示檢測出的特征類別概率。

4 實驗數據分析與研究

實驗數據集選用公開數據集HTTPCSIC2020,此集合中包括海量Web請求信息。其中異常流量類型和特征如表1所示。

表1 異常流量攻擊類型和特征表

特征提取效果影響著最終檢測精度,在上述4種攻擊類型中選取相同數量樣本,利用本文方法、基于云計算機器學習方法和大數據分析方法,分別對這些樣本進行特征提取。在空間坐標系中表示提取的結果,不同流量數據的中心坐標如下:正常流量(0,0)、AQL注入流量(-15,-5)、緩沖區溢出(-15,10)、跨站腳本(20,15)、數據篡改(20,0)。3種方法的特征提取聚類結果分別如圖3~圖5所示。

圖3 本文方法特征提取結果

圖4 基于云計算機器學習方法特征提取結果

圖5 大數據分析方法特征提取結果

由圖3~圖5可知,本文方法對不同類型流量的聚類效果非常明顯,在類間距離最大情況下確保類內距離最小;而基于云計算機器學習方法雖然沒有出現錯誤聚類的現象,但是類間距離較小,分類特征不夠明顯,一旦流量樣本增加,則容易聚類錯誤;大數據分析方法出現錯誤聚類現象,類內距離較大。這是因為本文使用的特征提取算法選擇了適合的小波函數,提高特征提取能力,因此能夠取得較好的聚類效果。

為驗證不同方法的檢測效果,考慮檢測率與誤警率雙重指標,設計了Effectiveness Measure(EM)指標,假設C′代表所有流量類型,i=1描述僅取異常流量。則該指標可通過下述公式描述:

(19)

式中,DR和FAR分別代表檢出率和虛警率,計算公式分別如下:

(20)

(21)

式中,TP與TN分別代表被正確檢測為正常與異常流量的數量,FP與FN分別為被錯誤檢測為正常和異常流量的數量。

經過計算,上述3種算法的EM指標測試情況如圖6所示,EM指標值越高表明檢測算法同時滿足高檢測率與低誤警率的要求。

圖6 不同算法EM指標測試結果圖

由圖6能夠看出,本文方法隨著檢測樣本的增加,EM值沒有表現出下降趨勢,其他兩種方法均有不同程度的下降表現。因此,本文方法不僅表現出較高的檢測率還能降低誤警率,算法的整體性能較好。主要因為本文構建的混合神經網絡檢測模型具有較強的學習能力,能夠通過提取的特征經過不斷學習,判斷出流量是否存在異常,實現流量異常檢測。

5 總結

Web網絡異常流量檢測是維護網絡整體安全的重要保障。因此本文建立了混合神經網絡模型,通過深度學習過程學習異常流量特征,精準輸出檢測結果。仿真實驗證明,本文方法能夠同時滿足高檢出率和低虛警率兩個指標要求,解決了異常流量和正常流量的分類問題。

但由于時間的限制,本文只進行了初步探索,在實際應用中可能會出現一些問題,因此還需針對更多的數據樣本進行訓練,同時提高檢測設備的硬件配置。從不同方面共同提高算法的應用效果,進一步保障Web網絡安全。

猜你喜歡
特征向量特征提取流量
二年制職教本科線性代數課程的幾何化教學設計——以特征值和特征向量為例
冰墩墩背后的流量密碼
克羅內克積的特征向量
張曉明:流量決定勝負!三大流量高地裂變無限可能!
尋找書業新流量
基于Daubechies(dbN)的飛行器音頻特征提取
一類特殊矩陣特征向量的求法
EXCEL表格計算判斷矩陣近似特征向量在AHP法檢驗上的應用
Bagging RCSP腦電特征提取算法
基于MED和循環域解調的多故障特征提取
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合