郝 寬,李 昊,姜 偉
(哈爾濱師范大學 計算機科學與信息工程學院,黑龍江 哈爾濱150025)
隨著網(wǎng)絡技術的快速發(fā)展,互聯(lián)網(wǎng)已經(jīng)成為人們生活中必不可少的工具。網(wǎng)絡技術應用廣泛的同時,也會伴隨著很多網(wǎng)絡安全問題,尤其是對網(wǎng)絡使用者來說,網(wǎng)絡是否安全也是其考慮的重要因素。網(wǎng)絡不安全會導致一系列不可挽回的損失,所以對網(wǎng)絡安全問題的研究在當下和未來有著極為重要的作用。網(wǎng)絡流量由一系列的信息組成,如協(xié)議類型、端口信息等,機器學習通過對大量的數(shù)據(jù)進行分析,最后判斷出網(wǎng)絡流量是否為攻擊流量,從而達到攔截惡意流量的目的。
卷積神經(jīng)網(wǎng)絡(CNN)采用局部連接和權值共享的方式,減少了權值的數(shù)量,使得網(wǎng)絡易于優(yōu)化,同時降低了系統(tǒng)復雜度。CNN具有很好的容錯能力、并行處理能力和自學習能力,同時具有較強的泛化能力,是一種深度的監(jiān)督學習下的機器學習模型,適應能力極強,善于挖掘數(shù)據(jù)局部特征,提取全局訓練特征和分類。將網(wǎng)絡流量數(shù)據(jù)輸入CNN中[1],通過學習輸入和輸出間的映射關系,得到理想的模型。通過卷積網(wǎng)絡學習網(wǎng)絡流量的特征信息,得到理想的分類模型,達到識別惡意流量的效果。
入侵檢測概念于1980年由James Anderson提出,并不斷發(fā)展。入侵檢測技術是網(wǎng)絡安全中的一項重要技術,旨在保護網(wǎng)絡中數(shù)據(jù)的完整性、可用性和機密性,使數(shù)據(jù)免受攻擊。目前,國內外對入侵檢測方面進行廣泛的研究。隨著機器學習的研究推進,研究人員開始將機器學習與入侵檢測技術結合,從而提高檢測的準確率。Mohammad Noor Injadat等[2]提出了一種新的多階段優(yōu)化的基于機器學習的NIDS框架,該框架在保持檢測性能的同時降低了計算復雜度。
通過上述分析可知,機器學習由于其出色的學習能力已經(jīng)廣泛應用于入侵檢測領域[3],深度學習能更深一步地學習網(wǎng)絡流量特征,更好地分辨出攻擊流量[4]。本文提出了基于ECA-ResNet的網(wǎng)絡入侵檢測模型,該模型結合了殘差網(wǎng)絡ResNet[5]和通道注意力機制ECANet,ECANet對不同的任務可以根據(jù)輸入進行特征分配,提高模型檢測效率。此外,ResNet可以解決因為網(wǎng)絡深度過深而導致的梯度消失和網(wǎng)絡退化問題。
入侵檢測模型主要分為以下3個部分:第一,將數(shù)據(jù)進行預處理,原始的數(shù)據(jù)集不能夠直接輸入模型中進行訓練,需要將訓練集和測試集處理成為能夠滿足模型使用的數(shù)據(jù)。第二,將處理好的訓練集數(shù)據(jù)輸入構建的網(wǎng)絡中進行訓練。第三,使用測試集對訓練好的模型進行檢測。模型結構如圖1所示。
圖1 入侵檢測模型結構
由于深度學習的模型輸入為數(shù)字形式,而數(shù)據(jù)集網(wǎng)絡流量中的數(shù)據(jù)不是全為數(shù)字,有3項為字符型數(shù)據(jù),所以需要將字符型數(shù)據(jù)轉化為數(shù)值型。本文使用One-hot編碼方式進行類型轉化。將Protocol_Type、Service、Flag 3個特征轉化為數(shù)字類型,如Protocol_Type有Tcp、Udp和Icmp 3種屬性,經(jīng)過One-hot編碼處理后為001、010、100。
為了加快模型的訓練和收斂,對數(shù)據(jù)進行歸一化處理,歸一化能夠消除奇異樣本數(shù)據(jù)導致的不良影響。將所有數(shù)據(jù)映射到[0,1]的區(qū)間內方便模型訓練。
其中,x為原始特征,xmax、xmin為每一維所有特征值中的最大值和最小值,xn是進行歸一化處理后的值。
數(shù)據(jù)集中的一些攻擊類型的數(shù)量很少,在訓練中模型很難很好地對數(shù)據(jù)特征進行充分的學習,導致一些類型的檢測精度很低,目前的入侵檢測研究中不少研究者將數(shù)據(jù)采樣技術用于數(shù)據(jù)集的處理。GOZDEKARATAS等根據(jù)攻擊類型數(shù)量平衡提高系統(tǒng)的效率及減少分類錯誤的情況,通過使用過采樣技術(SMOTE)的合成數(shù)據(jù)生成模型降低不平衡率。對次要類執(zhí)行數(shù)據(jù)生成,并通過該技術將其數(shù)量增加到平均數(shù)據(jù)大小。該方法使得少數(shù)類入侵流量的檢測效率有所提升[6]。本文采用SMOTETomek綜合采樣方法對數(shù)據(jù)集進行處理,增加小樣本數(shù)據(jù)的比例,提高罕見攻擊類型的檢測效率。使用SMOTETomek算法對Kdd訓練集中的R2L和U2R進行采樣,增加其在訓練集中的比例,使網(wǎng)絡能夠對充分學習流量的特征,從而提升罕見攻擊的檢測率。
SMOTE算法首先找到一個要進行采樣的樣本,然后找到其周圍的K個鄰近樣本,隨機選擇其中一個,然后在它們兩個之間隨機找到一個點生成樣本。Tomek Link算法將處于邊界的互為最鄰近點的正反例樣本進行刪除,使得能有一個明顯的界限在正反樣本之間。兩個算法進行結合,能夠避免SMOTE算法產生的數(shù)據(jù)擬合問題。
人們認為隨著網(wǎng)絡深度的增加,網(wǎng)絡擬合能力會更高,會達到更好的效果,但是人們發(fā)現(xiàn)隨著網(wǎng)絡層數(shù)的不斷增加,訓練結果卻恰恰相反。這是由于隨著網(wǎng)絡深度的增加會產生網(wǎng)絡退化問題。殘差網(wǎng)絡由直接映射部分和殘差部分兩個部分構成,它的下一層的輸入是上一層的輸出和殘差相加而得到的。ResNet通過增加殘差結構使網(wǎng)絡沒有學到東西也不會比之前學到的更差。本文將ResNet用于入侵檢測模型的構建。
模型網(wǎng)絡結構如圖2所示,在卷積層后加入BN層可以加快網(wǎng)絡的訓練收斂速度,防止梯度爆炸問題,使用RELU激活函數(shù),RELU激活函數(shù)的稀疏性使模型能夠更有效地挖掘數(shù)據(jù)特征。本網(wǎng)絡使用RELU函數(shù)作為激活函數(shù)。Dropout層通過隨機減少一些神經(jīng)元,保留剩余的神經(jīng)元進行訓練,每個Batch更新不同的權重,最后集成在一起,能夠起到防止擬合的作用。
圖2 網(wǎng)絡結構
通道注意力機制在計算機視覺領域取得了很好的效果,通過給每個通道分配權重使網(wǎng)絡關注更重要的特征來提高網(wǎng)絡模型的效率,ECANet能夠在不降維的情況下進行這項工作,避免降維帶來的副作用。通過構建ECA-ResNet入侵檢測模型,運用ResNet解決網(wǎng)絡退化和梯度消失問題,利用ECANet通道注意力機制選取重要特征,提高模型效率。
選用的KDD99數(shù)據(jù)集,是使用較普遍的網(wǎng)絡入侵檢測數(shù)據(jù)集之一。數(shù)據(jù)集中存在拒絕服務(Dos)、探測(Probe)、用戶到根(U2R)和遠程到本地(R2L)4種攻擊和正常(Normal)流量。該數(shù)據(jù)集包含41個體征,其中Protocol_Type、Service、Flag為字符型特征。在使用時需要將這3類特征轉換為數(shù)值型。1~9特征為數(shù)據(jù)包中的包頭信息,10~22特征為原始數(shù)據(jù)包的信息,通過這些信息系統(tǒng)可以訪問有效載荷,23~31特征包含了一些鏈接計數(shù)和速率的相關信息,32~41特征是對一些鏈接進行的相關內容。
訓練集選用10%的KDD99數(shù)據(jù)集,測試集采用corrected數(shù)據(jù)集,數(shù)據(jù)集中的類型分類見表1。
表1 數(shù)據(jù)集分布
Intel(R)Core(TM)i5-8300HcCPU、16GB內存、NVIDIA GeForce GTX 1060顯卡、64bit Windows10操作系統(tǒng)、環(huán)境:Python3.10、Pytorch1.12.1等。
通過準確率、精確率、召回率、F1值對模型進行評價。將正常流量看為正樣本,攻擊流量看為負樣本。
(1)真陽(True Positive,TP):正類被分類為正類。
(2)真陰(True Negative,TN):負類被分為負類。
(3)假陽(False Positive,F(xiàn)P):負類被分為正類。
(4)假陰(False Negative,F(xiàn)N):正類被分為負類。
準確率為預測正確的樣本和所有樣本的比值:
精確率(Precision)為分類正確的正樣本與預測為正樣本的比值:
召回率(Recall)為分類為正確的正樣本和真正為正樣本的比值:
F1值為使用精確率和召回率進行綜合評價的一個指標:
使用測試集對建立模型進行分析,與其他算法進行對比結果見表2。
表2 實驗結果對比
從表2可以看出本模型的準確率、精確率和F1值比其他模型略高,但是召回率稍差。
對網(wǎng)絡安全中的入侵檢測問題進行了分析,提出了一種將通道注意力機制加入殘差網(wǎng)絡入侵檢測的模型。通過卷積操作對網(wǎng)絡流量進行分析,提取其中的特征,區(qū)分正常數(shù)據(jù)和攻擊數(shù)據(jù),實驗結果與其他模型對比準確率、精確率和F1值較其他模型有一定提高。雖然通過采樣技術檢測準確率有所提高,但是召回率還有待提高,所以還需加強這方面的研究。