郭嘉濤,朱敏杰,汪菲霞
(南華大學計算機學院,衡陽 421000)
隨著互聯網的發展,應用層業務變得很復雜。網絡不僅包括CDN 內容分發,還包括P2P業務。當傳統的安全裝置進行安全防范時,他們必須在所有流量上執行安全檢測。這種完整的業務檢測模式是設備處理性能瓶頸問題的根本原因。全部檢測意味著流量是否是異常的都需要設備來檢測它,而這顯著地消耗設備的性能。在實際情況下,由于攻擊流量所占的比例不會超過全部流量的千分之一,所以實際上大量的檢測任務是毫無意義的。另外,互聯網的發展雖然給予了我們很大地方便,但也因此帶來了很多隱患。隨著網絡的參與人數增多,網絡惡意攻擊等原因引起的網絡流量異常,對網絡性能有很大影響。一些異常流量的攻擊性干擾導致正常網絡的操作次序和網絡安全受到了嚴重威脅。在這種情況下,為了確保網絡的正常運行,并為用戶提供良好的網絡環境,也成為一個備受關注的問題。因此,本文基于AI 學習識別和過濾掉網絡中大量的白流量,并對惡意和可疑流量進行檢測。
傳統機器學習對流量分類特征的提取十分繁瑣,而且效率并不高效。所以本文采用卷積神經網絡進行流量分類與檢測任務。
由于流量實際上為一串二進制比特序列,且其前784字節能夠較好的映射出流量的內在特征,故而可以將流量限制為784字節的長度,并進一步轉化為28×28的灰度圖。
傳統的CNN 網絡模型通常為串行結構,即卷積-池化-全連接,但為了進一步利用原始圖像(流量)的信息,在輸入層與輸出層的Full Connection 之間建立跳層連接。另一方面傳統CNN 的池化操作可能會丟失些許圖像域的信息,故而使用卷積步長為2的卷積操作去代替池化操作。
針對上述兩點,并搭建好平臺后,將數據傳入模型進行訓練,在模型中建立一個正常流量與異常流量的特征庫,以達到全流量分類的目的。
基于全流量分類的基礎,再對異常流量進行分類識別,以達到快速檢測的目的。
訓練模型,首先要擁有數據。如果沒有數據,那么也就無法訓練模型。所以第一步就是收集所需的訓練數據。從網上收集數據,數據來源于USTC-TK2016數據集。其包含十類惡意流量與十類正常流量。訓練集數據的類型、數量及比例如表1所示。

表1 訓練集數據類型、數量及比例
本次研究使用的數據壓縮類型為pcap,采用SplitCap(開源pcap 文件分割器)按流對pcap切割,獲取到每個Flow 的pcap 文件。進一步將每一條數據的長度處理為784字節,對于數據長度小于784 字節的pcap 文件,在數據末尾進行零填充至784 字節的長度,再處理為28×28 的灰度圖(如圖2 所示),最后將數據保存為pickle 的數據格式,以便訓練時讀取數據。

圖2 各類流量的灰度圖
使用CNN 實現流量分類,將輸入數據轉化為圖像后,需進一步消除不同類型網絡流量之間的量綱關系,則需對流量進行歸一化處理。具體計算流程如下:
假設每一條數據對于表示為行列的矩陣:

求解出矩陣中的最大值:

最后得出歸一化的灰度圖:


圖1 特征工程處理流程
根據卷積神經網絡中卷積層、池化層以及全連接層的特性,決定在多個卷積層之間加入池化層,采用傳統CNN網絡結構圖(如圖3)。

圖3 傳統CNN網絡模型
卷積層中使用的卷積核大小為常用的[3,3]與[5,5],并設置步長為2,填充方式采用SAME,激活函數采用整流線性激活函數RELU。其中[3,3]與[5,5]的較小卷積核利于提取到圖像域中更細化的特征,而激活函數RELU是對卷積后的輸出做一個非線性變換,可以緩解過擬合的問題,如圖4所示。

圖4 卷積計算原理
全連接層(fully connected layers,FC)在整個結構中是作為“分類器”來使用。如果說卷積層、池化層和激活函數層等操作的作用是為了把原始數據映射到隱層特征空間的話,全連接層則是把學到的“分布式特征表示”映射到樣本標記空間。

在傳統CNN 網絡的基礎上,在輸入層與輸出層的fully connection 之間建立跳躍連接。可以進一步利用原始圖像的特征,以達到更優的效果,如圖5所示。

圖5 Skip connection CNN 模型結構
針對傳統CNN 網絡訓練的結果(表2、圖6、圖7)所得結果可知,傳統的CNN 在流量分類任務方面可達到較好的效果,但有些許不足,例如Neris、Virut、Gmail、Outlook 等 流量 預測 指標與其余流量之間有較大的差距,而在輸入層與輸出層的Full connect 之間加入skip connec?tion,可以進一步利用原始圖像特征信息,達到更優的分類效果(見表3、圖8、圖9)。

表2 傳統CNN網絡預測效果展示

表3 Skip connection CNN 網絡預測效果展示

圖6 傳統CNN預測指標recall/f1/precision

圖7 傳統CNN預測的整體效果

圖8 Skip connection CNN 預測指標recall/f1/precision

圖9 Skip connection CNN 預測的整體效果