辛昊光,蘇思達(dá),王田原,馬 垚,陳永樂
(太原理工大學(xué) 信息與計(jì)算機(jī)學(xué)院,山西 晉中 030600)
異常流量檢測技術(shù)通過將入侵檢測系統(tǒng)部署在主干網(wǎng)絡(luò)或多個(gè)重要網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi),收集設(shè)備通信流量并對流量內(nèi)容進(jìn)行分析實(shí)現(xiàn)惡意流量檢測。網(wǎng)絡(luò)中異常行為造成流量特征變化,入侵檢測系統(tǒng)依據(jù)不同類型流量特征進(jìn)行異常檢測。特征來源為原始數(shù)據(jù)流或流量統(tǒng)計(jì)特征,然而原始數(shù)據(jù)流包含大量與流量分類無關(guān)的信息,降低識(shí)別準(zhǔn)確率,流量統(tǒng)計(jì)特征需要大量人力消耗,降低識(shí)別效率。
物聯(lián)網(wǎng)中設(shè)備具有重復(fù)性網(wǎng)絡(luò)流量模式,設(shè)備通常在多次實(shí)現(xiàn)自身功能時(shí)會(huì)體現(xiàn)出這一重復(fù)性網(wǎng)絡(luò)流量模式,例如:為了記錄日志,每隔一定時(shí)長發(fā)送數(shù)據(jù)包進(jìn)行網(wǎng)絡(luò)ping操作[1]。而異常流量,例如SYN-flood攻擊,通過在短時(shí)間內(nèi)向目標(biāo)設(shè)備發(fā)送大量SYN數(shù)據(jù)包達(dá)到長時(shí)間占用設(shè)備端口資源的目的。設(shè)備在實(shí)現(xiàn)自身功能時(shí),其發(fā)送的數(shù)據(jù)包內(nèi)容、數(shù)量、速率、傳輸數(shù)據(jù)使用的協(xié)議往往具有固定模式,即設(shè)備行為模式。利用設(shè)備正常運(yùn)行產(chǎn)生的流量特征與異常流量特征間差異性,進(jìn)而實(shí)現(xiàn)異常流量檢測。
本文提出了一種基于設(shè)備行為的異常流量檢測方法,將設(shè)備流量統(tǒng)計(jì)特征、應(yīng)用層網(wǎng)絡(luò)協(xié)議以及應(yīng)用層協(xié)議數(shù)據(jù)包內(nèi)容特征定義為設(shè)備行為特征,建立LSTM-CNN深度神經(jīng)網(wǎng)絡(luò)模型提取出有效的深層時(shí)間與空間特征,進(jìn)而通過SoftMax函數(shù)得到正?;虍惓5母怕史植疾⒆罱K實(shí)現(xiàn)異常流量檢測。
物聯(lián)網(wǎng)設(shè)備是信息產(chǎn)生的源頭以及數(shù)據(jù)傳遞的重要一環(huán),相比于傳統(tǒng)計(jì)算機(jī),由于其有限的內(nèi)存和計(jì)算能力,更容易成為黑客攻擊的主要目標(biāo)。傳統(tǒng)入侵檢測方法分為兩種,基于異常檢測和基于誤用檢測,前者收集正常用戶行為信息并建立正常流量行為模式,當(dāng)網(wǎng)絡(luò)中出現(xiàn)偏離于正常行為的信息時(shí),且偏離程度大于某一閾值時(shí)可確定為出現(xiàn)異常流量,后者將已知攻擊特征建立特征庫,當(dāng)網(wǎng)絡(luò)中出現(xiàn)與特征庫中特征相似的流量特征,則表明該流量為異常流量。
網(wǎng)絡(luò)技術(shù)的進(jìn)步導(dǎo)致通信流量復(fù)雜度不斷增加,動(dòng)態(tài)端口以及有效載荷加密等技術(shù)的發(fā)展使得傳統(tǒng)的異常流量檢測方法難以滿足當(dāng)下需求[2]。當(dāng)網(wǎng)絡(luò)環(huán)境中出現(xiàn)大量數(shù)據(jù)流時(shí),基于流量的異常檢測技術(shù)可能出現(xiàn)不針對全部流量進(jìn)行檢測的情況下丟棄大量數(shù)據(jù)包的情況[3]。傳統(tǒng)的機(jī)器學(xué)習(xí)方法SVM[4,5]被廣泛用于流量檢測領(lǐng)域,入侵檢測系統(tǒng)需要依靠大量特征來訓(xùn)練模型,隨機(jī)森林[6]能夠較好應(yīng)用于大型數(shù)據(jù)集。
目前學(xué)術(shù)界關(guān)于異常流量檢測領(lǐng)域研究集中于經(jīng)典機(jī)器學(xué)習(xí)方法的應(yīng)用,Wang等[7]將流量原始數(shù)據(jù)轉(zhuǎn)化為二維圖像數(shù)據(jù)并利用CNN實(shí)現(xiàn)惡意流量探測。Zhang等[8]將HTTP請求字符嵌入至向量內(nèi),通過CNN模型提取特征實(shí)現(xiàn)網(wǎng)絡(luò)攻擊檢測。深度學(xué)習(xí)具有較強(qiáng)的特征提取能力,能夠建造性能良好的模型,Yin等[9]設(shè)計(jì)了一種雙向遞歸神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)模型,前向傳播計(jì)算輸出值,后向傳播負(fù)責(zé)更新權(quán)值。Sagheer等[10]實(shí)現(xiàn)了一種基于LSTM的自編碼器,并在無監(jiān)督條件下對網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練。Park等[11]通過一種由改進(jìn)的CNN構(gòu)成的自動(dòng)編碼器進(jìn)行字符級的二進(jìn)制轉(zhuǎn)換,實(shí)現(xiàn)了針對HTTP的異常檢測。
CNN和LSTM的組合模型同樣被應(yīng)用到流量分類方法中。然而從網(wǎng)絡(luò)流量提取出的高維特征矢量使得傳統(tǒng)機(jī)器學(xué)習(xí)模型難以滿足需求,CNN能夠很好地處理高維特征向量從而被廣泛應(yīng)用于圖像識(shí)別。LSTM以及CNN的組合應(yīng)用也能夠發(fā)揮出各自的優(yōu)勢,能夠良好應(yīng)用于文本預(yù)測和視頻內(nèi)容識(shí)別領(lǐng)域[12],該文提出了一種名為CECoR-Net的字符級網(wǎng)絡(luò)攻擊探測神經(jīng)網(wǎng)絡(luò)模型,將HTTP請求每一字符嵌入到矩陣中生成字符矩陣作為神經(jīng)網(wǎng)絡(luò)模型的輸入,實(shí)現(xiàn)了針對已知攻擊類型和未知攻擊類型的惡意網(wǎng)絡(luò)流量分類,但這一方法只適用于包含了HTTP請求的流量檢測。Ryu等[13]提出了一種層次異常流量探測神經(jīng)網(wǎng)絡(luò),通過CNN提取單一數(shù)據(jù)流方向中由數(shù)據(jù)包特征矢量,輸入至基于注意力機(jī)制的雙向LSTM中生成具有代表性的流特征矢量,最后使用SoftMax函數(shù)實(shí)現(xiàn)流量分類,深度學(xué)習(xí)體系能夠自動(dòng)提取出數(shù)據(jù)特征,因此該方法中沒有使用人工提取的特征,且該深度神經(jīng)網(wǎng)絡(luò)模型包含三層卷積層以及二層池化層,需要大量時(shí)間優(yōu)化調(diào)整參數(shù)。
現(xiàn)有入侵檢測方法主要將大量人工選擇的特征或經(jīng)過預(yù)處理的網(wǎng)絡(luò)流量輸入至神經(jīng)網(wǎng)絡(luò)模型中進(jìn)行流量分類。前者人為選擇并生成的高維特征矢量需要消耗大量人力,后者使用的原始網(wǎng)絡(luò)流量內(nèi)往往存在無用信息,降低識(shí)別效率并對最終流量分類結(jié)果準(zhǔn)確性造成影響。本文通過分析對比設(shè)備產(chǎn)生的正常流量與異常流量進(jìn)行特征篩選,結(jié)合傳統(tǒng)流量特征以及設(shè)備產(chǎn)生的數(shù)據(jù)包內(nèi)容生成表征設(shè)備行為的特征,并訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)模型實(shí)現(xiàn)異常流量檢測。
本文提出的基于設(shè)備行為的異常檢測方法框架如圖1所示,主要分為4個(gè)階段:流量數(shù)據(jù)收集、特征選擇、設(shè)備行為特征提取和異常流量識(shí)別。本文使用的數(shù)據(jù)集為ISCX2012(詳細(xì)內(nèi)容見第4.1小節(jié))。不同于目前異常流量檢測方法僅依賴大量流量統(tǒng)計(jì)特征,本文基于設(shè)備的正常通信種類有限,每種通信狀態(tài)都有相應(yīng)的,且有著明顯差別的網(wǎng)絡(luò)模式與之對應(yīng)這一思想,提出一種表征設(shè)備網(wǎng)絡(luò)模式的設(shè)備行為特征表示方法(詳細(xì)內(nèi)容見本章第2小節(jié))。特征提取階段由基于LSTM-CNN深度神經(jīng)網(wǎng)絡(luò)模型完成。最后通過SoftMax函數(shù)得出流量類型概率分布完成異常流量檢測過程。
圖1 異常流量檢測方法框架
設(shè)備在實(shí)現(xiàn)特定功能時(shí)表征出的行為不同,設(shè)備行為特征分為3個(gè)部分,設(shè)備通信過程產(chǎn)生的數(shù)據(jù)統(tǒng)計(jì)特征,應(yīng)用層協(xié)議以及應(yīng)用層協(xié)議數(shù)據(jù)包內(nèi)容作為表征設(shè)備行為的特征。
與正常網(wǎng)絡(luò)通信流量不同,攻擊者通過在短時(shí)間內(nèi)多次發(fā)送SYN數(shù)據(jù)包嘗試與目標(biāo)設(shè)備建立連接并判斷設(shè)備某端口是否開啟,不同攻擊手段向設(shè)備不同端口發(fā)送探測數(shù)據(jù)包或者請求連接數(shù)據(jù)包,這些數(shù)據(jù)包包頭內(nèi)容以及有效載荷差異性較大,相同時(shí)間內(nèi)發(fā)送的數(shù)據(jù)包數(shù)量不同,請求持續(xù)時(shí)間不同。遭受攻擊的設(shè)備通信流量與正常設(shè)備差異較大,所表征出的設(shè)備行為不同。例如在實(shí)施探測任務(wù)中Nmap是最為常用的技術(shù),在偵測過程中使用20組報(bào)文并且需要消耗大量時(shí)間,這一過程傳輸數(shù)據(jù)包的持續(xù)時(shí)間、個(gè)數(shù)等屬性特征與設(shè)備正常通信所傳輸?shù)臄?shù)據(jù)包存在差異。本文在現(xiàn)有不同類型流量特征基礎(chǔ)上,對比正常流量間不同特征的穩(wěn)定性,以及正常和異常流量統(tǒng)計(jì)特征間的差異性,結(jié)合實(shí)驗(yàn)結(jié)果,篩選出表1中10種特征作為表征設(shè)備行為特征的第一部分。第二部分為流量傳輸過程使用的應(yīng)用層協(xié)議。數(shù)據(jù)集內(nèi)包含5種應(yīng)用層協(xié)議,分別為SMTP、SSH、POP3、HTTP、FTP。
表1 統(tǒng)計(jì)特征描述
特征第三部分提取自應(yīng)用層協(xié)議數(shù)據(jù)包字段內(nèi)容。我們將用戶與設(shè)備建立連接,發(fā)起請求,設(shè)備響應(yīng)請求,完成數(shù)據(jù)傳輸過程斷開連接這一過程稱為完整的數(shù)據(jù)流。數(shù)據(jù)流由若干消息流組成。每一消息流包含一個(gè)或多個(gè)數(shù)據(jù)包,不同協(xié)議的包頭以及有效載荷內(nèi)容不同,相同協(xié)議相同設(shè)備在實(shí)現(xiàn)不同功能時(shí)包頭以及有效載荷內(nèi)容不同。如圖2所示,協(xié)議請求內(nèi)容能夠體現(xiàn)出設(shè)備將要實(shí)現(xiàn)的功能,與設(shè)備將要產(chǎn)生的數(shù)據(jù)包內(nèi)容、速率等特征相關(guān)聯(lián)。我們將在一次完整通信過程中,第一個(gè)應(yīng)用層協(xié)議請求數(shù)據(jù)包以及響應(yīng)數(shù)據(jù)包內(nèi)容提取出來作為設(shè)備行為特征的第三部分。例如:圖2中HTTP協(xié)議內(nèi)請求方法GET,以及Accept、Accept-Encoding、SSH協(xié)議內(nèi)Protocol、SMTP內(nèi)Command等字段的值能夠體現(xiàn)出設(shè)備的不同行為。我們提取出應(yīng)用層協(xié)議數(shù)據(jù)包字段內(nèi)容后進(jìn)行獨(dú)熱編碼,將經(jīng)過數(shù)據(jù)預(yù)處理的此部分特征輸入至LSTM中。
圖2 部分?jǐn)?shù)據(jù)包信息
近年來,機(jī)器學(xué)習(xí)在各領(lǐng)域展現(xiàn)出良好的發(fā)展前景,神經(jīng)網(wǎng)絡(luò)被大量應(yīng)用于特征提取。深度神經(jīng)網(wǎng)絡(luò)由多層非線性神經(jīng)元構(gòu)成,通過模擬生物神經(jīng)鏈接方式使得信息在網(wǎng)絡(luò)模型中高效傳遞,在各領(lǐng)域得到廣泛應(yīng)用,由于其擁有良好的識(shí)別能力也被用于實(shí)現(xiàn)各類識(shí)別功能。RNN以及卷積神經(jīng)網(wǎng)絡(luò)往往被單獨(dú)應(yīng)用于惡意流量識(shí)別領(lǐng)域,二者分別用于提取原始流量的時(shí)序以及空間特征,網(wǎng)絡(luò)流量具有長期依賴的特征,傳統(tǒng)的統(tǒng)計(jì)模型難以提取這類特征[14]。RNN中,當(dāng)前時(shí)刻序列的輸出與先前時(shí)刻的輸出相關(guān)聯(lián),使得該神經(jīng)網(wǎng)絡(luò)將先前時(shí)刻提取的特征信息應(yīng)用于計(jì)算當(dāng)前時(shí)刻的輸出,但RNN在實(shí)際應(yīng)用過程中難以適應(yīng)具有長期依賴特征的識(shí)別情形。LSTM通過特殊的門結(jié)構(gòu)實(shí)現(xiàn)增加或刪除信息從而解決了長期依賴的問題,LSTM是針對復(fù)雜攻擊手段和包含無用信息的真實(shí)網(wǎng)絡(luò)環(huán)境中進(jìn)行正常或者異常流量識(shí)別的關(guān)鍵性技術(shù)[15]。
本文提出的惡意流量檢測方法使用深度神經(jīng)網(wǎng)絡(luò)模型提取流量數(shù)據(jù)的時(shí)間、空間特征。首先,將表征設(shè)備行為特征的第三部分,即獲取的應(yīng)用層數(shù)據(jù)包內(nèi)容提取后經(jīng)過數(shù)據(jù)預(yù)處理,輸入至LSTM提取時(shí)序特征,并引入注意力機(jī)制用輸出結(jié)果來生成重要性流矢量,其能夠反映原始數(shù)據(jù)中不同數(shù)據(jù)內(nèi)容的重要性。接著,將LSTM的編碼結(jié)果與經(jīng)過預(yù)處理的第一、第二部分設(shè)備行為特征結(jié)合,輸入至CNN提取空間特征,CNN能夠使用提取全局信息中的局部重要信息,顯示地建立每一特征之間的動(dòng)態(tài)非線性依賴關(guān)系,通過卷積核提供的特征重新校準(zhǔn)的能力并根據(jù)惡意流量識(shí)別任務(wù)有選擇地選擇并強(qiáng)調(diào)特征。最后SoftMax將多個(gè)神經(jīng)元的輸出映射到[0,1]得出該數(shù)據(jù)流屬于正常流量以及多種惡意流量類型的概率分布,計(jì)算交叉熵對模型進(jìn)行評估。
異常流量檢測模型用于識(shí)別輸入的流量是否為惡意流量,以及惡意流量類型,分為3個(gè)部分,流量預(yù)處理部分提取出數(shù)據(jù)流包含的數(shù)據(jù)包內(nèi)容以及設(shè)備行為特征值進(jìn)行數(shù)字化處理,轉(zhuǎn)化為統(tǒng)一的神經(jīng)網(wǎng)絡(luò)輸入形式。特征提取部分建立LSTM-CNN模型,提取輸入數(shù)據(jù)時(shí)序以及空間特征,并結(jié)合流量的統(tǒng)計(jì)特征生成最終用于惡意流量分類的特征空間。惡意流量分類部分利用嵌入了SoftMax函數(shù)的全連接層進(jìn)行分類,最后計(jì)算交叉熵進(jìn)行模型評估。模型訓(xùn)練過程如圖3所示。
圖3 模型訓(xùn)練
將表1中各特征值轉(zhuǎn)化為二進(jìn)制表示,并轉(zhuǎn)化為矢量形式,記為 (BDuration,BTotalSourceBytes,…,BProtocol)。 服務(wù)協(xié)議類型轉(zhuǎn)化為數(shù)字表示,SMTP、SSH、POP3、HTTP、FTP這5種應(yīng)用層協(xié)議使用數(shù)字1至5表示,并轉(zhuǎn)為二進(jìn)制形式的矢量表示,記為(BService)。原始數(shù)據(jù)類型為pcap文件,提取出該數(shù)據(jù)流中第一個(gè)應(yīng)用層協(xié)議請求數(shù)據(jù)包以及響應(yīng)數(shù)據(jù)包,除去數(shù)據(jù)包內(nèi)容中停詞,特殊符號等無用信息,將出余下字段內(nèi)容采用獨(dú)熱編碼處理,并轉(zhuǎn)化為矢量形式。
本文使用的機(jī)器學(xué)習(xí)模型由LSTM以及CNN組成。網(wǎng)絡(luò)流量具有長期依賴的特征,LSTM能夠很好提取此類特征并用于流量識(shí)別。LSTM是一種特殊的遞歸神經(jīng)網(wǎng)絡(luò),使用細(xì)胞狀態(tài)實(shí)現(xiàn)長期記憶,并通過增加門控制結(jié)構(gòu)提升神經(jīng)網(wǎng)絡(luò)細(xì)胞的記憶能力[16],并以此結(jié)構(gòu)判斷保留或者刪除信息到細(xì)胞狀態(tài)。
將第三部分設(shè)備行為特征經(jīng)過獨(dú)熱編碼后嵌入至高維矢量,視嵌入結(jié)果為一條具有時(shí)序特征的序列,輸入至LSTM中提取上下文語義特征以及時(shí)序特征。LSTM通過遺忘門系數(shù)f減弱或刪除細(xì)胞狀態(tài)中對識(shí)別異常流量作用不大或者無用的特征。輸入門i決定了細(xì)胞狀態(tài)中需要保存的信息,利用tanh激活函數(shù)層生成臨時(shí)細(xì)胞狀態(tài),進(jìn)而,將遺忘門系數(shù)與上層細(xì)胞狀態(tài)相乘,再加上輸入門與臨時(shí)細(xì)胞狀態(tài)的乘積,以此將新特征信息加入到細(xì)胞狀態(tài)中。最后,輸出門O決定了細(xì)胞狀態(tài)的輸出部分,與經(jīng)過tanh激活函數(shù)處理后的細(xì)胞狀態(tài)相乘,得到最終的輸出。運(yùn)算過程如式(1)所示
(1)
式中:σ為sigmod激活函數(shù),取值范圍[0,1],取值為0時(shí)表示刪除該信息,取值為1時(shí)表示完全保留此信息。W為權(quán)重矩陣,ht-1為上層隱藏層輸出,xt為當(dāng)前輸入,b為當(dāng)前權(quán)重對應(yīng)的偏移值。ft,it,Ct,Ot,ht,分別為t時(shí)刻遺忘系數(shù)、輸入、細(xì)胞狀態(tài)、輸出、隱藏層狀態(tài)。
設(shè)備數(shù)據(jù)流中的不同特征字段對最終實(shí)現(xiàn)異常流量檢測造成的影響不同,所以我們在LSTM編碼過程中引入注意力機(jī)制,針對不同特征設(shè)置不同權(quán)重,進(jìn)而將有限的注意力資源聚集到對流量識(shí)別過程起關(guān)鍵作用的信息上,進(jìn)而提高識(shí)別準(zhǔn)確率,設(shè)備行為第三部分特征經(jīng)過LSTM最終編碼結(jié)果為h,權(quán)重訓(xùn)練過程如式(2)所示
α=tanh(Wth+bt)β=SoftMax(wTα)γ=HβT
(2)
式中:tanh為激活函數(shù),Wt為權(quán)重矩陣,bt為偏移值,β為權(quán)重矢量,W為可訓(xùn)練的權(quán)重矩陣,最后計(jì)算得出帶有權(quán)重系數(shù)的時(shí)序特征矢量γ。
使用連接函數(shù)concatenate(設(shè)為Ω)將LSTM編碼后的特征矢量與流量統(tǒng)計(jì)特征矢量以及應(yīng)用層協(xié)議特征矢量結(jié)合生成新的特征矢量,計(jì)算過程如式(3)所示
V0=γΩ(BDuration,BTotalSourceBytes,…,BProtocol)Ω(BService)
(3)
將特征矢量V0輸入至CNN,CNN網(wǎng)絡(luò)結(jié)構(gòu)共有4層,包括一個(gè)卷積層、一個(gè)池化層以及兩個(gè)全連接層,卷積層與池化層疊加特征信息的映射。卷積層通過卷積核提取出輸入數(shù)據(jù)的空間特征,與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)相比,卷積核能夠提取出局部數(shù)據(jù)的空間特征并減少運(yùn)算量,進(jìn)而減少模型訓(xùn)練時(shí)間以及實(shí)現(xiàn)高效的流量異常檢測。利用線性整流單元LReLU激活函數(shù)處理經(jīng)過卷積后的特征圖以確保提取出的特征圖數(shù)據(jù)在合理范圍內(nèi),以此避免卷積層輸出的特征數(shù)據(jù)僅為輸入數(shù)據(jù)的線性變換。將卷積層提取的特征圖輸入至池化層,降采樣處理可以減少計(jì)算量并進(jìn)行歸一化,在一定程度上避免過擬合。降采樣處理選擇最大池化層(Max-Pooling),最大池化層從特征映射中獲取最大元素,在保留重要特征信息的前提下降低卷積層輸出維度。將卷積層和池化層提取出的流量空間特征輸入至兩層全連接層結(jié)合為整體特征,并進(jìn)行平坦化處理,以0.3的Dropout避免過擬合。設(shè)CNN模型的輸出為Xi。
SoftMax函數(shù)接收多個(gè)神經(jīng)元的輸入并映射到[0,1]范圍內(nèi)。將每一設(shè)備行為對應(yīng)的特征矢量經(jīng)過神經(jīng)網(wǎng)絡(luò)模型進(jìn)行特征提取后生成的矢量輸入至包含SoftMax函數(shù)的全連接層中進(jìn)行分類,得出概率Pi,計(jì)算如式(4)所示
(4)
最后,通過計(jì)算交叉熵評估模型,其值越小說明實(shí)際值與期望值的差距越小。計(jì)算方法如式(5),其中,p(xi) 為期望值,q(xi) 為實(shí)際輸出值
(5)
表2 實(shí)驗(yàn)數(shù)據(jù)集
我們通過準(zhǔn)確率(Accuracy),召回率(Recall)、精確度(Precise)以及F1值評估模型性能,計(jì)算方法如式(6)所示。TP表示為真陽性數(shù)量,F(xiàn)P為假陽性數(shù)量,F(xiàn)N為假陰性數(shù)量,TN為真陰性數(shù)量
(6)
本文設(shè)置3組對比實(shí)驗(yàn),分別利用基于注意力機(jī)制的LSTM、CNN、SVM實(shí)現(xiàn)惡意流量識(shí)別。并計(jì)算LSTM-CNN模型識(shí)別結(jié)果交叉熵,對模型進(jìn)行迭代訓(xùn)練并更新LSTM權(quán)重矩陣以及CNN參數(shù)。識(shí)別結(jié)果如圖4所示。
圖4 識(shí)別結(jié)果
由圖4(a)、圖4(b)可知,4種機(jī)器學(xué)習(xí)方法識(shí)別平均準(zhǔn)確率以及平均召回率均可達(dá)到90%以上,由此可以驗(yàn)證我們提取的設(shè)備行為特征能夠有效地應(yīng)用于異常流量檢測,其中,LSTM-CNN方法識(shí)別準(zhǔn)確率以及召回率最高,SVM次之,但訓(xùn)練SVM模型需要消耗時(shí)間較長。將所有特征輸入至基于注意力機(jī)制的LSTM或CNN模型中時(shí),只能夠提取出特征的時(shí)序或空間特征,導(dǎo)致識(shí)別準(zhǔn)確率較低。
由圖5可知,SVM模型識(shí)別效果明顯高于LSTM、CNN模型,隨著召回率提升,3種模型的識(shí)別精確度下降明顯。將LSTM與CNN模型聯(lián)合使用,建立深度神經(jīng)網(wǎng)絡(luò)模型,能夠提取設(shè)備行為時(shí)序特征以及增強(qiáng)特征關(guān)聯(lián)性,所以LSTM-CNN的模型分類效果最好。
圖5 識(shí)別結(jié)果P-R圖
一定范圍內(nèi),迭代次數(shù)越多模型識(shí)別效果越好,圖6顯示出了模型迭代次數(shù)與模型F1值以及交叉熵之間的關(guān)系,迭代次數(shù)在38以內(nèi)時(shí),次數(shù)越高,模型識(shí)別性能越強(qiáng),38次以后,識(shí)別性能變化趨于平緩。
本文提出了一種基于設(shè)備行為的異常流量檢測方法,將數(shù)據(jù)流統(tǒng)計(jì)特征、應(yīng)用層協(xié)議、數(shù)據(jù)包內(nèi)容特征定義為設(shè)備行為,對采集到的設(shè)備行為數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理,將數(shù)據(jù)中對識(shí)別結(jié)果影響不同的特征賦予不同權(quán)重,并進(jìn)行分析與深度學(xué)習(xí),使用LSTM學(xué)習(xí)數(shù)據(jù)包內(nèi)容時(shí)序特征,將時(shí)序特征與流量統(tǒng)計(jì)特征以及應(yīng)用層協(xié)議結(jié)合,利用CNN提取空間特征,最后通過SoftMax函數(shù)得出不同類型流量的概率分布,并利用交叉熵評估模型性能。模型訓(xùn)練過程在有監(jiān)督條件下進(jìn)行,未來工作中,我們繼續(xù)優(yōu)化異常流量檢測方法,在半監(jiān)督或無監(jiān)督條件下實(shí)現(xiàn)異常流量檢測。