亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于堆疊卷積注意力的網(wǎng)絡(luò)流量異常檢測模型

        2022-09-15 06:58:46董衛(wèi)宇李海濤王瑞敏任化娟孫雪凱
        計算機工程 2022年9期
        關(guān)鍵詞:分類特征檢測

        董衛(wèi)宇,李海濤,王瑞敏,任化娟,孫雪凱

        (1.信息工程大學 網(wǎng)絡(luò)空間安全學院,鄭州 450002;2.鄭州大學 網(wǎng)絡(luò)空間安全學院,鄭州 450001)

        0 概述

        在Internet 技術(shù)被廣泛應(yīng)用且復(fù)雜性不斷提高的背景下,網(wǎng)絡(luò)攻擊數(shù)量也呈現(xiàn)日益增長的趨勢。在過去幾年中,超過90 000 個網(wǎng)站被釣魚攻擊工具包Angler Exploit Kit 的持續(xù)感染攻破[1]。隨著云計算時代的到來,從云服務(wù)和應(yīng)用程序到個人設(shè)備和遠程訪問工具,企業(yè)承受的攻擊面不斷擴大。此外,80%的安全和業(yè)務(wù)人員表示,由于遠程工作,他們的組織更容易面臨風險。據(jù)Security affairs報告[2],一種名為ERMAC 的新型病毒已經(jīng)現(xiàn)身互聯(lián)網(wǎng),其主要針對安卓平臺的銀行應(yīng)用,可以從378 個銀行的錢包APP 中竊取金融數(shù)據(jù)。同時由文獻[3]可知,2021 年發(fā)現(xiàn)了66 個0-day 漏洞,幾乎是2020 年總數(shù)的2 倍,打破了0-day 黑客攻擊的記錄。

        日益增多的網(wǎng)絡(luò)攻擊事件催生了網(wǎng)絡(luò)流量異常檢測技術(shù)的發(fā)展。通過收集網(wǎng)絡(luò)流量數(shù)據(jù)和提取相關(guān)特征,可將流量分為正常流量和異常流量。在一般情況下,當正常流量數(shù)據(jù)存在于某些隨機模型的高概率區(qū)域,而異常發(fā)生在該模型的低概率區(qū)域時,使用統(tǒng)計方法進行分類,此時隨機模型要么是先驗確定的,要么源自數(shù)據(jù)本身,這種方法的設(shè)計思想是測量異常分數(shù),可通過使用假設(shè)檢驗和決策理論來完成[4]。在某些情況下,數(shù)據(jù)實例的幾個維度(即特征)本質(zhì)上是相關(guān)的,可利用降維的方法將原始數(shù)據(jù)實例嵌入到一個維數(shù)較少的子空間中。因此,為了確定流量數(shù)據(jù)實例是正常還是異常,可將其投影到正常和異常子空間[5]。從信息論的角度來看,數(shù)據(jù)實例被看作是由網(wǎng)絡(luò)生成的一組符號,而每個實例都是以一定的概率獨立生成的。因此,人們會試圖測量每個實例所表示的平均信息量,這種方法利用了熵的概念。目前有研究通過使用信息增益或相對熵進行異常檢測,旨在測量兩個分布之間的統(tǒng)計距離。機器學習方法根據(jù)經(jīng)驗區(qū)分正常流量行為和異常流量行為,其通常會提供一種映射以適應(yīng)看不見的網(wǎng)絡(luò)異常。通過使用標記的訓練集來學習映射函數(shù)的機器學習算法被稱為監(jiān)督學習算法,而使用完全未標記實例的訓練集的機器學習算法被稱為無監(jiān)督學習算法。有監(jiān)督的異常檢測可建立正常數(shù)據(jù)模型,并在觀察到的數(shù)據(jù)中檢測與正常模型的偏差。無監(jiān)督的異常檢測將一組未標記的數(shù)據(jù)作為輸入,并嘗試找出隱藏在數(shù)據(jù)中的入侵行為。

        多數(shù)網(wǎng)絡(luò)安全解決方案都是基于人為構(gòu)建的檢索引擎,但是手動將最新的威脅和最新技術(shù)以及設(shè)備保持在最新的狀態(tài)是很難的。傳統(tǒng)的機器學習方法在進行異常流量檢測時面臨一些問題,如特征選擇困難、模型不能表示各個特征之間復(fù)雜的關(guān)系以及檢測誤報率(False Alarm Rate,F(xiàn)AR)較高。雖然目前深度學習已經(jīng)被廣泛用于各種應(yīng)用,包括圖像處理、自然語言處理、目標檢測、計算機視覺等[6],但是基于深度學習的網(wǎng)絡(luò)異常檢測研究卻仍處于起步階段。與機器學習相比,深度學習不僅能夠以表示學習的方式自動提取特征,而且還可以表示特征之間復(fù)雜的非線性關(guān)系。注意力(Attention)機制是神經(jīng)網(wǎng)絡(luò)中的一個重要概念,并在不同的領(lǐng)域得到了應(yīng)用,Attention 機制的引入可以提高神經(jīng)網(wǎng)絡(luò)的可解釋性。

        在異常流量檢測研究中已有多種方法和實踐,但無論是使用基于統(tǒng)計的方法還是基于傳統(tǒng)機器學習的方法,從數(shù)據(jù)中找出正常數(shù)據(jù)和異常數(shù)據(jù)的能力都是有限的。數(shù)據(jù)決定了機器學習模型效果的上限,模型正是為了接近這個上限而構(gòu)建。雖然深度學習方法已經(jīng)在異常流量檢測領(lǐng)域得到一些應(yīng)用,但是在圖像領(lǐng)域和自然語言處理領(lǐng)域中得到廣泛關(guān)注的深度自注意力網(wǎng)絡(luò)結(jié)構(gòu)[7]中,Attention 機制卻鮮有應(yīng)用于異常流量檢測。

        本文結(jié)合Attention 機制,基于深度學習方法建立惡意流量檢測的訓練模型。對數(shù)據(jù)進行預(yù)處理,將人工提取的惡意流量數(shù)據(jù)轉(zhuǎn)化為對應(yīng)的二進制數(shù)據(jù)集,引入Attention 機制進行特征提取,并輸入到前饋神經(jīng)網(wǎng)絡(luò)實現(xiàn)惡意流量的多分類和二分類。同時為優(yōu)化檢測效果,在Attention 網(wǎng)絡(luò)中采用有效的激活函數(shù),進一步提升異常檢測的準確率。

        1 相關(guān)工作

        文獻[8]在GRU 模型的最終輸出層引入線性支持向量機代替Softmax,實現(xiàn)對京都大學蜜罐系統(tǒng)2013 年網(wǎng)絡(luò)流量數(shù)據(jù)[9]入侵檢測的二分類,但其只使用了流量的時間特征,且模型的二分類精度不高,真正例率約為84.37%。

        文獻[10]基于邏輯回歸模型進行異常流量檢測,通過源IP、目的IP 等多個網(wǎng)絡(luò)流量基本特征建立網(wǎng)絡(luò)異常行為和正常行為訓練集,從而構(gòu)建網(wǎng)絡(luò)異常流量挖掘模型,但其構(gòu)建的模型僅適用于樣本線性可分且特征空間不大的情況。

        文獻[11]將728 維的原始流量數(shù)據(jù)轉(zhuǎn)換為圖像,并使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)以有監(jiān)督表示學習的方式從原始流量中提取空間特征,以此對惡意網(wǎng)絡(luò)流量進行分類,同時使用一維CNN 實現(xiàn)加密流量的分類[12]。該方案使用的是簡單的CNN 模型,其將PCAP 流量數(shù)據(jù)的二進制內(nèi)容映射到MNIST 數(shù)據(jù)集(大型手寫數(shù)字數(shù)據(jù)庫),進而通過深度學習庫函數(shù)讀取這些數(shù)據(jù)集。與文獻[11]的設(shè)計思想類似,文獻[13]提出一種空洞卷積自動編碼器(Dilated Convolutional AutoEncoder,DCAE)的深度學習方法,該方法結(jié)合了堆疊式自動編碼器和CNN 的優(yōu)勢,訓練過程包括無監(jiān)督的預(yù)訓練和有監(jiān)督的訓練,兩個訓練過程分別使用大量未標記的原始數(shù)據(jù)和少量標記數(shù)據(jù)。然而,DCAE 作為一種生成模型,其訓練每層的貪婪學習權(quán)值矩陣都耗費了過長的時間。

        文獻[14]通過循環(huán)神經(jīng)網(wǎng)絡(luò)學習模型來表示網(wǎng)絡(luò)中計算機之間的通信序列,并將此方法用于識別異常網(wǎng)絡(luò)流量。該文使用長短期記憶(Long Short Term Memory,LSTM)網(wǎng)絡(luò)對流序列建模,IP 流[15]的定義為在預(yù)定時間間隔內(nèi)的一組IP 數(shù)據(jù)包,這些數(shù)據(jù)包具有一組公共屬性,包括源/目標IP 地址、TCP/UDP 端口、VLAN、應(yīng)用協(xié)議類型(來自O(shè)SI 模型的第3 層)和TOS(服務(wù)類型),但該方法只能根據(jù)端口序列中前10 個端口號來預(yù)測下一個端口號,應(yīng)用范圍有限。

        文獻[16]研究基于全連接卷積網(wǎng)絡(luò)(Fully Convolutional Network,F(xiàn)CN)、變分自動編碼器(Variational AutoEncoder,VAE)和LSTM 網(wǎng)絡(luò)構(gòu)建的深度學習模型,實驗結(jié)果顯示,基于LSTM 序列到序列(Seq2Seq)結(jié)構(gòu)的模型在公共數(shù)據(jù)集上達到了99% 的二分類精度。但該文進行的實驗僅對文獻[9]中數(shù)據(jù)集進行了二分類的檢測,并沒有對多分類進行檢測,并且模型不能很好地處理文獻[9]中數(shù)據(jù)集不平衡的問題。

        文獻[17]從網(wǎng)絡(luò)流中取出網(wǎng)絡(luò)包的時序特征、一般的統(tǒng)計特征和環(huán)境特征,以提取網(wǎng)絡(luò)流數(shù)據(jù)中有效和準確的特征。文獻[18]提出基于改進的一維卷積神經(jīng)網(wǎng)絡(luò)進行異常流量檢測,為了不丟失數(shù)據(jù),其去除了卷積層之后的池化操作。

        針對NSL-KDD 數(shù)據(jù)集,也有較多異常流量檢測研究。文獻[19]將深度神經(jīng)網(wǎng)絡(luò)和關(guān)聯(lián)規(guī)則挖掘相結(jié)合設(shè)計一種異常檢測系統(tǒng),首先使用深度神經(jīng)網(wǎng)絡(luò)對NSL-KDD 數(shù)據(jù)集進行分類處理,然后在離散的特征和標簽之間建立關(guān)聯(lián)規(guī)則,從而降低神經(jīng)網(wǎng)絡(luò)處理結(jié)果的誤報率,該系統(tǒng)對NSL-KDD 測試集異常流量的多分類預(yù)測準確率為71.01%。文獻[20]對NSL-KDD 數(shù)據(jù)集進行了特征的縮減和標準化處理,使用人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)進行二分類和五分類的訓練和測試,模型的二分類測試準確率達到81.20%。文獻[21]基于NSL-KDD數(shù)據(jù)對入侵檢測系統(tǒng)(Intrusion Detection System,IDS)中的卷積神經(jīng)網(wǎng)絡(luò)進行評估,設(shè)計一種數(shù)據(jù)預(yù)處理方法將屬性(特征)數(shù)據(jù)轉(zhuǎn)換為二進制向量類型,然后將數(shù)據(jù)轉(zhuǎn)為圖像形式,采用ResNet50 和GoogLeNet 作為底層的卷積神經(jīng)網(wǎng)絡(luò)對數(shù)據(jù)集進行二分類異常檢測,該方法達到了79.41%和77.04%的二分類預(yù)測準確率。文獻[22]使用包含4 個隱藏層的深度神經(jīng)網(wǎng)絡(luò)搭建了IDS,在NSL-KDD 數(shù)據(jù)集上的實驗結(jié)果表明,該方法達到了84.70%的二分類預(yù)測準確率。

        目前,對網(wǎng)絡(luò)流量異常檢測的研究多采用深度學習的方法,如使用CNN 提取空間特征、使用RNN提取時序特征等,但現(xiàn)有模型在可解釋性和檢測效果方面仍有可提升的空間。本文將注意力(Attention)機制和CNN 相結(jié)合,提出一種基于堆疊卷積自注意力的網(wǎng)絡(luò)流量異常檢測模型。通過堆疊多個Attention 模塊增加網(wǎng)絡(luò)深度,并在Attention 模塊中引入CNN、池化層、批歸一化層和激活函數(shù)層,防止模型過擬合。在此基礎(chǔ)上,將Attention 模塊的輸出向量輸入到深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)結(jié)構(gòu)中,對模型進行有監(jiān)督的訓練,使模型能夠?qū)π碌臏y試數(shù)據(jù)進行預(yù)測,識別出對應(yīng)的網(wǎng)絡(luò)攻擊類型。

        2 基于堆疊卷積注意力的網(wǎng)絡(luò)異常檢測

        Attention 機制最早應(yīng)用于圖像領(lǐng)域,近年來,其在自然語言處理領(lǐng)域也受到了廣泛的關(guān)注。2017 年,谷歌發(fā)布的《Attention is all you need》[7]提出在機器翻譯任務(wù)中大量使用自注意力機制來學習文本表示。本文提出的模型堆疊多個Attention 模塊,并在模塊中引入CNN、池化層、批歸一化層和激活函數(shù)層,進而將Attention 模塊的輸出向量輸入到DNN中,對模型進行有監(jiān)督的訓練。

        2.1 堆疊卷積注意力模型

        卷積注意力(CON-ATTN)模型是將卷積神經(jīng)網(wǎng)絡(luò)(CNN)和注意力機制(Attention)相結(jié)合,其結(jié)構(gòu)如圖1 左部分所示。

        CON-ATTN 模型上層是卷積塊,中間是注意力塊,下層是兩個卷積塊,每個卷積塊由二維卷積、批標準化和激活函數(shù)層組成。其中:二維卷積層提取特征并擴展通道;批標準化層對每批訓練數(shù)據(jù)做標準化處理,并將分散的數(shù)據(jù)統(tǒng)一;激活函數(shù)層引入非線性因素并處理非線性可分數(shù)據(jù)。Attention 模塊處理來自上層卷積塊的輸出向量,并把該輸出向量中通道的數(shù)目平均分為三個部分,分別賦值給Q、K和V三個向量,每個向量的維度均為(b,c,w,h),其中:b為批大小(batch size);c為通道數(shù)(channel size);w為寬度(width);h為高度(height)。通道數(shù)c如式(1)所示,其中:nhead表示頭的個數(shù);dhead表示每個頭的維度。

        Attention 模塊根據(jù)Q、K向量求得注意力向量Α,如式(2)所示。其中:fsoftmax為softmax 函數(shù);fpos為位置編碼函數(shù),用于學習向量Q中各個數(shù)據(jù)的相對位置信息。將得到的位置向量作為注意力向量的一部分,可確保提取到流量數(shù)據(jù)中重要的特征。

        將注意力向量Α和V向量相乘,得到Attention模塊的輸出向量O,如式(3)所示。其中:向量O是向量V經(jīng)過注意力向量Α處理之后的輸出向量,用于使模型關(guān)注V向量中更關(guān)鍵的那部分特征。

        CON-ATTN 模型的下層是含有多個隱藏層的神經(jīng)網(wǎng)絡(luò),用于加深網(wǎng)絡(luò)深度并進一步從Attention 模塊的輸出向量中提取特征。

        本文將多個圖1 左部分所示CON-ATTN 結(jié)構(gòu)和DNN 相結(jié)合,提出一種堆疊卷積注意力網(wǎng)絡(luò)(STACON-ATTN)模型,如圖1 右部分所示。CONATTN 結(jié)構(gòu)從輸入向量中提取關(guān)鍵特征并使輸入向量的通道數(shù)發(fā)生改變或者保持不變,因此,原始輸入向量可以輸入到多個CON-ATTN 結(jié)構(gòu)中。多個CON-ATTN 結(jié)構(gòu)通過殘差連接方式結(jié)合在一起,在一定程度上避免了隨著網(wǎng)絡(luò)層數(shù)的加深而出現(xiàn)的梯度消失問題[23]。在STACON-ATTN 結(jié)構(gòu)的末尾是一個DNN 結(jié)構(gòu),本文將該DNN 結(jié)構(gòu)設(shè)計為由5 個全連接層連接而成,這是因為全連接層數(shù)過少會使得模型陷入過擬合狀態(tài),而全連接層數(shù)過多會增加模型訓練的代價且不能顯著提升模型性能。本文把DNN結(jié)構(gòu)輸出向量的維度設(shè)置為異常流量標簽類別的個數(shù),將DNN 結(jié)構(gòu)輸出向量與流量數(shù)據(jù)真實標簽一起輸入到一個損失函數(shù)中,如多分類時輸入到交叉熵損失函數(shù)中,然后通過反向傳播和梯度下降法進行模型訓練。

        圖1 STACON-ATTN 模型結(jié)構(gòu)Fig.1 Structure of STACON-ATTN model

        2.2 網(wǎng)絡(luò)流量異常檢測模型

        基于堆疊卷積注意力的網(wǎng)絡(luò)流量異常檢測模型架構(gòu)如圖2 所示,其中主要包含數(shù)據(jù)預(yù)處理、訓練和測試3 個階段。

        圖2 網(wǎng)絡(luò)流量異常檢測模型結(jié)構(gòu)Fig.2 Structure of network traffic anomaly detection model

        1)數(shù)據(jù)預(yù)處理階段。首先分別將訓練數(shù)據(jù)和測試數(shù)據(jù)中離散文本類型的特征字段轉(zhuǎn)換為數(shù)值類型,對整型和浮點型的特征字段進行類型的擴展;然后將數(shù)值128 填充到二進制特征的空缺字節(jié)中;最后將填充完成的二進制數(shù)據(jù)以二維單通道圖形的形式存儲到文件中,完成對數(shù)據(jù)集的預(yù)處理。

        2)訓練階段。向架構(gòu)中的神經(jīng)網(wǎng)絡(luò)輸入預(yù)處理之后的特征數(shù)據(jù)和標簽數(shù)據(jù),使用交叉熵損失函數(shù)和Adam 優(yōu)化器[24]對訓練的過程進行不斷調(diào)整,損失函數(shù)的輸入是真實標簽和預(yù)測標簽,模型的訓練目標是預(yù)測標簽和真實標簽之間差異最小。二分類情況和多分類情況下交叉熵損失函數(shù)的定義如式(4)所示,其中:m表示樣本的個數(shù);yi表示實際為正類的概率;表示預(yù)測為正類的概率。

        3)測試階段。對訓練好的模型,輸入測試集中的特征數(shù)據(jù)和真實的標簽數(shù)據(jù),通過分析預(yù)測出的標簽數(shù)據(jù)和真實標簽數(shù)據(jù)之間的差異,對模型的效果進行評估。

        3 實驗設(shè)置與評價標準

        3.1 數(shù)據(jù)集

        本文實驗使用公開的NSL-KDD 數(shù)據(jù)集,該數(shù)據(jù)集是KDD99 數(shù)據(jù)集[25]的進一步發(fā)展,也是第三屆國際知識發(fā)現(xiàn)與數(shù)據(jù)挖掘工具大賽使用的數(shù)據(jù)集。KDD99 數(shù)據(jù)集中存在一些固有的問題[25],NSL-KDD數(shù)據(jù)集為了解決這些問題而建立。NSL-KDD 數(shù)據(jù)集雖然不是現(xiàn)實世界真實網(wǎng)絡(luò)的反映,但由于目前缺乏基于網(wǎng)絡(luò)的IDS 公共數(shù)據(jù)集,因此仍被用于檢驗IDS 中不同的入侵檢測方法。

        3.1.1 NSL-KDD 數(shù)據(jù)集攻擊類型

        NSL-KDD 數(shù)據(jù)集所有攻擊類別下存在的攻擊類型如表1 所示。從表1 可以看出,NSL-KDD 數(shù)據(jù)集中共有4 種不同的攻擊類別、38 種不同的攻擊類型。在訓練集和測試集的每個攻擊類別下都存在若干個攻擊類型,訓練集中有22 種不同的攻擊類型,測試集中有16 種不同的攻擊類型。由于在測試集中存在訓練集中不存在的攻擊類型,因此使用NSL-KDD 數(shù)據(jù)集能夠很好地對模型的泛化能力進行檢驗。

        表1 各攻擊類別下的詳細攻擊類型Table 1 Detailed attack types under each attack category

        對原始數(shù)據(jù)集做進一步處理,將屬于同一攻擊類別不同攻擊類型的數(shù)據(jù)樣本設(shè)置為同一標簽,得到訓練集和測試集正常攻擊類別樣本數(shù)量以及其他各攻擊類別樣本數(shù)量的統(tǒng)計信息,如表2 所示。

        表2 訓練集和測試集中各類別樣本數(shù)量統(tǒng)計Table 2 Number of samples of each category in training set and test set

        3.1.2 數(shù)據(jù)預(yù)處理

        由于深度神經(jīng)網(wǎng)絡(luò)善于處理“像素”數(shù)據(jù),每個“像素”可以用一個字節(jié)(Byte)表示,因此本文對手工提取的特征進行預(yù)處理,包括數(shù)據(jù)標簽處理和數(shù)據(jù)特征處理2 個步驟。

        1)數(shù)據(jù)標簽處理。在4 種攻擊類別下共有38 種攻擊類型,因此,需要將各個攻擊類別下的所有攻擊類型標簽都轉(zhuǎn)換為其所屬的攻擊類別標簽。經(jīng)過處理后,數(shù)據(jù)標簽就從初始的樣本類型轉(zhuǎn)變?yōu)闃颖绢悇e。

        2)數(shù)據(jù)特征處理。通過查看數(shù)據(jù)文件可以發(fā)現(xiàn),如果把difficult_level 字段也考慮進去,那么數(shù)據(jù)集中共有43 個字段,由于有1 個字段表示標注信息,因此共有42 個表示特征的字段,其中有3 個字段是離散的,即協(xié)議類型(protocol_type)、服務(wù)(service)和標記(flag)字段。首先需要將這3 個離散的字段轉(zhuǎn)換為數(shù)值類型,對應(yīng)類型的數(shù)值為0,1,…,n-1(n為對應(yīng)離散字段中離散值的個數(shù))。對數(shù)據(jù)集中的各個特征只保留Int 和Float 數(shù)值類型,然后將這2 種數(shù)值類型的所有特征字段分別轉(zhuǎn)換為Int64 和Float64 類型,并進行不同程度的特征值放大,即分別將各個特征的值乘以100、104和109。

        由于本文使用了批歸一化技術(shù)[26]來對每批訓練數(shù)據(jù)進行標準化,因此不需要對原始數(shù)據(jù)進行標準化處理,每個樣本的每個特征均占用8 Byte(Int64 和Float64 類型)的內(nèi)存,42 個特征字段共占用336 Byte的內(nèi)存。將每個樣本映射到一個19×19 像素的圖中,因為每個像素占用1 Byte,所以為了便于神經(jīng)網(wǎng)絡(luò)的處理,還需要填充25 Byte(19×19-336)。由于每個字節(jié)最終都是一個Uint8 類型,一個字節(jié)表示的數(shù)值范圍是0~255,采用這256 個數(shù)的中位數(shù)填充數(shù)據(jù)可以給原始的數(shù)據(jù)集帶來較少的影響,因此本文對每個字節(jié)填充的是數(shù)值128,而非0。通過對訓練集和測試集進行同樣的處理,并將每個樣本的數(shù)據(jù)和標簽在數(shù)據(jù)集中設(shè)置為同樣的索引,由此完成二進制數(shù)據(jù)集的構(gòu)造。

        3.2 評價標準與相關(guān)設(shè)置

        為了更全面地驗證模型的效果,針對NSL-KDD數(shù)據(jù)進行多分類和二分類的異常流量檢測,并將本文模型實驗結(jié)果與文獻[19-22]模型實驗結(jié)果進行對比。本文使用整流線性單元(ReLU)函數(shù)作為模型的激活函數(shù),該函數(shù)不僅能夠加快模型的訓練速度,而且可避免使用Sigmoid 和Tanh 激活函數(shù)導致的梯度消失問題[27]。

        3.2.1 評價標準

        本文實驗采用準確率、精確率、召回率、F1 分數(shù)和ROC 曲線對模型性能進行評價。以TP表示將樣本預(yù)測為正類且預(yù)測正確的樣本數(shù),TN表示將樣本預(yù)測為負類且預(yù)測正確的樣本數(shù),F(xiàn)P表示將樣本預(yù)測為正類且預(yù)測錯誤的樣本數(shù),F(xiàn)N表示將樣本預(yù)測為負類且預(yù)測錯誤的樣本數(shù)。

        準確率為所有預(yù)測正確的正負樣本數(shù)量之和與總體樣本數(shù)量的比值,計算公式如式(5)所示:

        精確率也稱為查準率,用于評估模型找到相關(guān)目標的能力,計算公式如式(6)所示:

        召回率也稱為查全率,用于評估模型找到全部相關(guān)目標的能力,即模型給出的預(yù)測結(jié)果最多能覆蓋多少真實目標,計算公式如式(7)所示:

        F1 分數(shù)是基于精確率和召回率的調(diào)和平均,計算公式如式(8)所示:

        受試者工作特征(Receiver Operating Characteristic,ROC)曲線上點的橫坐標為假正例率,也被稱為誤報率,計算公式如式(9)所示:

        在異常流量檢測任務(wù)中,常常將攻擊類別定義為正例,將正常類別的流量定義為負例,誤報指的是把正常流量識別為了攻擊流量,而這是IDS 中最不能容忍的。

        ROC 曲線上點的縱坐標為真正例率,計算公式如式(10)所示:

        3.2.2 實驗環(huán)境與超參數(shù)設(shè)置

        實驗的軟件環(huán)境是Ubuntu18.04 操作系統(tǒng)、Pytorch1.9.1 和Cuda9.0,硬件環(huán)境是Genuine Intel?CPU @ 2.00 GHz,32 GB 內(nèi)存,Tesla K80 GPU 11 GB 顯存。

        實驗所采用的批大小設(shè)置為128。雖然可以在每次訓練之前設(shè)置不同的批大小,但經(jīng)過驗證可知,批大小的設(shè)置應(yīng)當采取折中的方案。例如當批大小設(shè)置為2、4、8 等較小的值時,雖然能夠降低顯存的占用,但帶來了訓練時間的大幅提升,而當批大小設(shè)置為512 等較大的值時,會占用5.6 GB 左右的顯存,易使模型陷入局部最優(yōu)狀態(tài),也會減慢模型訓練的速度。因此,本文實驗將批大小設(shè)置為128,使得顯存占用、訓練速度和模型的收斂達到一種比較理想的平衡狀態(tài)。

        卷積核的作用是從特征圖中提取特征,其形態(tài)和大小的設(shè)置會給模型的效果造成顯著影響。文獻[28]研究表明,當特征圖不大時,使用較小的卷積核可以獲得更好的效果,相反,較大的特征圖可使用稍大的卷積核。因此,本文實驗將卷積核大小設(shè)置為3×3。

        一般學習率的設(shè)置在0.000 1 到0.01 之間,在神經(jīng)網(wǎng)絡(luò)的訓練過程中,學習率設(shè)置得過大會導致模型很容易跨越最優(yōu)解,而學習率設(shè)置得過小會導致梯度更新不顯著從而不能到達最優(yōu)解。本文實驗設(shè)置的學習率初始大小為0.002,且學習率會隨著總輪數(shù)(Epoch)動態(tài)減小。文獻[29]研究表明,學習率的衰減可以提升模型的泛化能力,本文實驗將每10 個Epoch 作為學習率衰減的時間節(jié)點,此時將學習率設(shè)置為當前值的0.8 倍。

        4 實驗結(jié)果分析

        4.1 激活函數(shù)對模型性能的影響

        將預(yù)處理后的訓練集分別輸入到使用不同激活函數(shù)的STACON-ATTN 網(wǎng)絡(luò)中得到測試模型,再將預(yù)處理后的測試集輸入到測試模型中,測試結(jié)果如表3 所示。從表3 可以看出,GeLU 激活函數(shù)在數(shù)據(jù)量較多的Normal 類別和數(shù)據(jù)量較少的U2R 攻擊類別中表現(xiàn)較好,Mish 激活函數(shù)對U2R 這種攻擊類別識別的精確率比其他的激活函數(shù)高0.31 以上,使用ELU 激活函數(shù)使得模型的誤報率最低降到0.029 9,而ReLU 激活函數(shù)在各項評價指標上表現(xiàn)均較為優(yōu)秀。

        表3 各激活函數(shù)在STACON-ATTN 多分類測試中的檢測效果對比Table 3 Comparison of detection effect of various activation functions in STACON-ATTN multiple classification test

        4.2 不同模型在多分類情況下的性能比較

        為驗證STACON-ATTN 模型的多分類異常檢測效果,將其與傳統(tǒng)的機器學習方法進行對比,對比結(jié)果如表4所示,從表4可以看出,STACON-ATTN 模型對多種攻擊類型檢測的準確率最高(0.807 6)。除DoS 攻擊類別的F1 分數(shù)略微低于KNN 和SVM 模型以外,在Normal、Probe、R2L 和U2R 攻擊類型中的F1 分數(shù)都是最高的。F1分數(shù)是精確率和召回率的調(diào)和平均,同時結(jié)合了查準率和查全率,因此,F(xiàn)1分數(shù)能夠體現(xiàn)出一個模型的整體質(zhì)量。從表4 還可以看出,對于Normal 類別,各個模型的召回率都非常高,說明Normal 類別的樣本被各個模型識別為異常的概率非常低,因此,對Normal 類別的誤報率也不高。DoS 攻擊類別識別的精確率要高于召回率,這說明其他類型的攻擊一般不會被識別為DoS 攻擊,而DoS 攻擊有可能被識別為其他的攻擊類別。STACON-ATTN 模型可以顯著提高對Probe 和R2L攻擊類別檢測的召回率,說明模型已經(jīng)充分學習到了這2 種攻擊類別的特征。從對U2R 類別攻擊的識別結(jié)果可以看出,極低的召回率明顯拉低了F1 分數(shù),說明各個模型很難學習到U2R 攻擊類別的特征,這和該類別樣本數(shù)較少有關(guān)。

        表4 STACON-ATTN 與機器學習模型的多分類性能對比Table 4 Comparison of multiple classification performance among STACON-ATTN and machine learning models

        對各種攻擊類別以及Normal 類別識別的ROC曲線如圖3 所示,其中樣本數(shù)差異較大的4 種攻擊類型分別對應(yīng)4 條不同的ROC 曲線。從圖3 可以看出,每條曲線下方的面積(AUC 值)都超過了0.93,且最大的AUC 值達到0.97,說明本文模型對NSL-KDD數(shù)據(jù)集中各種攻擊類別識別效果較好。

        圖3 多分類情況下的ROC 曲線Fig.3 ROC curve in the case of multiple classification

        4.3 不同模型在二分類情況下的性能比較

        為進一步驗證模型效果,對NSL-KDD 數(shù)據(jù)集進行二分類的異常檢測。對預(yù)處理后的多分類數(shù)據(jù)集的標簽做進一步處理,得到2 種類別的數(shù)據(jù)集,其中:0 代表正常類別;1 代表異常(攻擊)類別。使用新處理完成的數(shù)據(jù)集進行模型的訓練和預(yù)測,并與6 種經(jīng)典的分類方法以及4 種深度學習模型進行對比,對比結(jié)果如表5 所示。

        表5 STACON-ATTN 與深度學習模型的二分類性能對比Table 5 Comparison of two classification performance among STACON-ATTN and deep learning models

        5 結(jié)束語

        本文提出一種堆疊卷積注意力網(wǎng)絡(luò)模型用于異常流量分類和檢測,并基于公開的NSL-KDD 數(shù)據(jù)集分別驗證多分類和二分類異常檢測性能。實驗結(jié)果表明,該模型能夠從輸入數(shù)據(jù)中提取出有效的空間特征信息和相對位置特征信息,F(xiàn)1 分數(shù)和AUC 值等綜合指標優(yōu)于對比的機器學習方法和深度神經(jīng)網(wǎng)絡(luò)。后續(xù)將對數(shù)據(jù)預(yù)處理和樣本增強過程進行優(yōu)化,采用自然語言處理領(lǐng)域中的詞嵌入技術(shù)將原始數(shù)據(jù)集中的特征表示為一種嵌入向量,在此基礎(chǔ)上對少數(shù)類中的惡意流量數(shù)據(jù)進行樣本增強,從而進一步提升對惡意流量樣本的檢測性能。

        猜你喜歡
        分類特征檢測
        “不等式”檢測題
        “一元一次不等式”檢測題
        “一元一次不等式組”檢測題
        分類算一算
        如何表達“特征”
        不忠誠的四個特征
        當代陜西(2019年10期)2019-06-03 10:12:04
        分類討論求坐標
        數(shù)據(jù)分析中的分類討論
        教你一招:數(shù)的分類
        抓住特征巧觀察
        精品国产免费久久久久久| 成人av一区二区三区四区| 亚洲av日韩一卡二卡| 无码人妻精品一区二区三区9厂| 亚洲va在线∨a天堂va欧美va| 色播在线永久免费视频网站| 中文字幕精品人妻丝袜| 深夜放纵内射少妇| 人妻少妇精品视频一区二区三区 | 成人精品国产亚洲欧洲| 亚洲精品国产成人久久av盗摄| 人妻丰满熟妇aⅴ无码| 最近免费中文字幕中文高清6| 国产精品一区久久综合| 久久久久亚洲av综合波多野结衣| 欧美aa大片免费观看视频| 无码国产精品一区二区AV| 久久精品国产亚洲av网站| 亚洲乱亚洲乱妇无码麻豆| 精品国精品国产自在久国产应用| 欧美日韩精品一区二区在线视频| 亚洲无码图| 亚洲中文字幕乱码一二三| 中文字幕日韩精品一区二区三区| 国产精品丝袜黑色高跟鞋| 成人午夜福利视频| 成人无码一区二区三区网站| 国产品精品久久久久中文| 国产日产亚洲系列首页| 波多野结衣久久精品99e| 美女胸又www又黄的网站| 国产三级精品三级在线观看粤语| 中文字幕乱码熟女人妻在线| 初女破初的视频| 五月婷网站| 久久精品亚洲热综合一本色婷婷| 亚洲av无码乱码国产精品久久| 粗一硬一长一进一爽一a级| 亚洲av网一区天堂福利| 免费国产在线视频自拍白浆| 天天做天天爱天天爽综合网|