楊宏宇 李博超
摘 要:針對網(wǎng)絡(luò)異常行為檢測中因數(shù)據(jù)不平衡而導(dǎo)致召回率低的問題,提出一種基于逆向習(xí)得推理(ALI)的網(wǎng)絡(luò)異常行為檢測模型。首先,去除數(shù)據(jù)集中用離散數(shù)據(jù)表示的特征項,并對處理后的數(shù)據(jù)集進(jìn)行歸一化以提高模型的收斂速度與精度;然后,提出改進(jìn)的ALI模型,通過ALI訓(xùn)練算法用僅由正樣本所構(gòu)成的數(shù)據(jù)對其進(jìn)行訓(xùn)練,并利用已訓(xùn)練完成的改進(jìn)ALI模型處理檢測數(shù)據(jù)以生成處理后的檢測數(shù)據(jù)集;最后,依據(jù)異常檢測函數(shù)計算檢測數(shù)據(jù)與處理后的檢測數(shù)據(jù)之間的距離來判斷數(shù)據(jù)是否異常。與單類支持向量機(OC-SVM)、深層結(jié)構(gòu)能量模型(DSEBM)、深度自編碼高斯混合模型(DAGMM)和生成對抗網(wǎng)絡(luò)異常檢測模型(AnoGAN)的對比實驗結(jié)果表明,所提模型的準(zhǔn)確率提升了5.8~17.4個百分點,召回率提升了1.4~31.4個百分點,F(xiàn)1值提升了14.18~19.7個百分點??芍岢龅幕谀嫦蛄?xí)得推理的網(wǎng)絡(luò)異常行為檢測模型在數(shù)據(jù)不平衡時仍具有較高的召回率和檢測精度。
關(guān)鍵詞:逆向習(xí)得推理;異常行為檢測;數(shù)據(jù)不平衡;數(shù)據(jù)歸一化
Abstract: In order to solve the problem of low recall rate caused by data imbalance in network abnormal behavior detection, a network abnormal behavior detection model based on Adversarially Learned Inference (ALI) was proposed. Firstly, the feature items represented by discrete data in a dataset were removed, and the processed dataset was normalized to improve the convergence speed and accuracy of the model. Then, an improved ALI model was proposed and trained by ALI training algorithm with a dataset only consisting of positive samples, and the improved ALI model which had been trained was used to process the detection data to generate the processed detection dataset. Finally, the distance between detection data and the processed detection data was calculated based on abnormality detection function to determine whether the data was abnormal. The experimental results show that compared with One-Class Support Vector Machine (OC-SVM), Deep Structured Energy Based Model (DSEBM), Deep Autoencoding Gaussian Mixture Model (DAGMM) and Anomaly detection model with Generative Adversarial Network (AnoGAN), the accuracy of the proposed model is improved by 5.8-17.4 percentage points, the recall rate is increased by 1.4-31.4 percentage points, and the F1 value is increased by 14.18-19.7 percentage points. It can be seen that the network abnormal behavior detection model based on ALI has high recall rate and detection accuracy when the data is unbalanced.
Key words: Adversarially Learned Inference (ALI); abnormal behavior detection; data imbalance; min-max scaling
0 引言
網(wǎng)絡(luò)異常行為是指由網(wǎng)絡(luò)用戶實施的對網(wǎng)絡(luò)正常運行造成影響的行為。這些行為具有隱蔽性強、竊取機密文件和造成網(wǎng)絡(luò)服務(wù)質(zhì)量急劇下降等特點。隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展和應(yīng)用,網(wǎng)絡(luò)異常行為的新變種更是層出不窮,其威脅也日益嚴(yán)重。對網(wǎng)絡(luò)異常行為進(jìn)行高效檢測已成為目前的研究熱點。
隨著機器學(xué)習(xí)算法的廣泛應(yīng)用,許多學(xué)者使用機器學(xué)習(xí)方法進(jìn)行網(wǎng)絡(luò)異常行為檢測研究。文獻(xiàn)[1]采用單類支持向量機(One-Class Support Vector Machine, OC-SVM)算法通過將One-Class SVM和Online訓(xùn)練算法應(yīng)用于入侵檢測中,能夠在有噪聲的數(shù)據(jù)集中進(jìn)行訓(xùn)練,同時解決了基于支持向量機(Support Vector Machine, SVM)的入侵檢測實時訓(xùn)練的問題。上述方法的主要不足是復(fù)雜度較高,且對于大型數(shù)據(jù)集的計算代價很大,由于選擇了全局閾值,無法有效處理不同密度區(qū)域的數(shù)據(jù)集。文獻(xiàn)[2]通過使用主成分分析法(Principal Component Analysis, PCA)對原始數(shù)據(jù)集進(jìn)行數(shù)據(jù)降維并消除冗余數(shù)據(jù),找到具有最優(yōu)分類效果的主成分屬性集, 解決了對于大型數(shù)據(jù)集計算代價大的問題,但檢測準(zhǔn)確度較低。
使用機器學(xué)習(xí)算法檢測網(wǎng)絡(luò)異常行為檢測準(zhǔn)確率低的主要原因是可收集到的異常行為樣本種類少且數(shù)量有限,造成收集到的數(shù)據(jù)集不平衡。文獻(xiàn)[3-4]中提出通過使用變分自編碼器(Variational Auto-Encoder, VAE)模型訓(xùn)練正常行為,雖解決了網(wǎng)絡(luò)異常檢測中數(shù)據(jù)集不平衡問題,但該方法在對數(shù)據(jù)集的處理過程中易出現(xiàn)關(guān)鍵特征提取效率不高,造成生成數(shù)據(jù)集“失真”的情況,導(dǎo)致檢測結(jié)果準(zhǔn)確率波動較大。
為解決以上問題,文獻(xiàn)[5]中提出基于優(yōu)化數(shù)據(jù)處理的深度置信網(wǎng)絡(luò)入侵檢測方法;文獻(xiàn)[6]中提出基于深度置信網(wǎng)絡(luò)的入侵檢測模型;文獻(xiàn)[7]中提出多種群克隆選擇算法,通過改變該算法的匹配規(guī)則以提高識別異常數(shù)據(jù)的效率。上述方法雖然提高了入侵檢測的準(zhǔn)確率,但對于模型的參數(shù)調(diào)優(yōu)較為困難,且特征提取效率較低,導(dǎo)致模型計算任務(wù)量大。針對上述不足,文獻(xiàn)[8]建立了一種卷積神經(jīng)網(wǎng)絡(luò)模型,通過提高該網(wǎng)絡(luò)提取特征的效率,進(jìn)而提高了分類的準(zhǔn)確性;文獻(xiàn)[9]中提出了一種基于卷積神經(jīng)網(wǎng)路算法的網(wǎng)絡(luò)入侵檢測系統(tǒng),該系統(tǒng)通過自動提取入侵樣本的有效特征,從而提升分類的準(zhǔn)確性。上述兩種方法的主要不足在于模型訓(xùn)練過程中收斂速度不理想,泛化能力差,導(dǎo)致誤報率較高。
綜上所述,在對網(wǎng)絡(luò)異常行為的檢測過程中,使用機器學(xué)習(xí)算法檢測主要存在如下問題:
1)由于難以收集異常行為樣本,導(dǎo)致數(shù)據(jù)集中異常數(shù)據(jù)與正常數(shù)據(jù)的量級存在嚴(yán)重偏差,使得訓(xùn)練后的結(jié)果偏向于正常行為,產(chǎn)生誤判,因而這種方法對于網(wǎng)絡(luò)異常行為的檢測正確率較低。
2)機器學(xué)習(xí)算法對較小數(shù)據(jù)量的樣本具有較好的分類效果,而且對樣本的數(shù)據(jù)特征敏感,尤其是處于分類邊界上的樣本,若分類邊界上存在被錯誤分配的樣本,則會嚴(yán)重影響分類的準(zhǔn)確性[1]。
基于逆向習(xí)得推理(Adversarially Learned Inference,ALI)模型[9]是一種成功應(yīng)用于模擬復(fù)雜和高維分布的數(shù)據(jù)生成模型,其主要優(yōu)勢為:
1)無需利用馬爾可夫鏈反復(fù)采樣,無需在學(xué)習(xí)過程中進(jìn)行推斷,回避了棘手的概率計算難題;
2)如果判別器訓(xùn)練良好,生成網(wǎng)絡(luò)則可以有效地學(xué)習(xí)到訓(xùn)練樣本的分布。
因此,本文考慮通過設(shè)計一個模型首先來學(xué)習(xí)正常數(shù)據(jù)的分布,然后將檢測數(shù)據(jù)輸入訓(xùn)練完的模型并計算出其正常分布,最后將處理后的檢測數(shù)據(jù)與檢測數(shù)據(jù)通過異常檢測函數(shù)進(jìn)行對比判斷此數(shù)據(jù)的異常情況。
1 ALI基本內(nèi)涵
ALI模型是一種無監(jiān)督數(shù)據(jù)生成模型,由編碼器、解碼器和判別器組成。其學(xué)習(xí)過程就是編碼器、解碼器和判別器之間的一種競爭過程。文獻(xiàn)[10]將這一思想表示為:
當(dāng)將ALI模型訓(xùn)練用于生成數(shù)據(jù)時,解碼器將真實訓(xùn)練樣本x映射到潛在變量空間,得到z_hat;編碼器將潛在變量z轉(zhuǎn)化為生成樣本x_tilde。假設(shè)解碼器的輸入輸出(x,z_hat)分類為1,編碼器的輸入輸出(x_tilde,z)分類為0。判別器的目標(biāo)是將盡可能多的(x,z_hat)判別為1,同時將盡可能多的(x_tilde,z)判別為0,即D(x,Gz(x))≈1且D(Gx(z),z)≈0。當(dāng)編碼器、解碼器和判別器在訓(xùn)練中經(jīng)過多輪競爭最終達(dá)到平衡時,此時編碼器生成數(shù)據(jù)x_tilde與真實訓(xùn)練樣本x將非常相似。ALI理論上經(jīng)過訓(xùn)練可以完全逼近真實數(shù)據(jù)的分布,這是ALI模型的最大優(yōu)勢和特點。
1)數(shù)據(jù)預(yù)處理模塊。
操作處理過程為:
①因ALI模型只能處理連續(xù)性數(shù)據(jù),故去掉使用離散數(shù)據(jù)表示的特征項。
②遍歷數(shù)據(jù)集對數(shù)據(jù)進(jìn)行歸一化處理,將數(shù)據(jù)變?yōu)閇0,1]區(qū)間的小數(shù),以提高模型收斂速度和異常檢測函數(shù)計算精度。生成預(yù)處理后數(shù)據(jù)集。
2)異常檢測模塊。
在異常檢測模塊包括訓(xùn)練和檢測過程,處理過程為:
①將預(yù)處理后的數(shù)據(jù)集按照標(biāo)簽分為正常數(shù)據(jù)與異常數(shù)據(jù)兩類,隨機從正常數(shù)據(jù)中抽取80%的數(shù)據(jù)組成訓(xùn)練數(shù)據(jù)集,剩余的20%和異常數(shù)據(jù)組成檢測數(shù)據(jù)集。
②構(gòu)建ALI模型,確定其生成網(wǎng)絡(luò)和推理網(wǎng)絡(luò)的構(gòu)成,然后用訓(xùn)練數(shù)據(jù)集訓(xùn)練ALI模型,重復(fù)訓(xùn)練并調(diào)整網(wǎng)絡(luò)內(nèi)部神經(jīng)元的權(quán)重。
③將檢測數(shù)據(jù)集輸入到訓(xùn)練后的ALI模型中,由該模型對所輸入的數(shù)據(jù)進(jìn)行處理,輸出處理后的檢測數(shù)據(jù)。
④將處理后的檢測數(shù)據(jù)和檢測數(shù)據(jù)作為數(shù)據(jù)源,使用異常檢測函數(shù)計算兩者之間的距離,判斷異常狀態(tài)并輸出檢測結(jié)果。
3 數(shù)據(jù)預(yù)處理
在數(shù)據(jù)預(yù)處理模塊,首先去除數(shù)據(jù)集中使用離散數(shù)據(jù)表示的特征項,然后對處理后的數(shù)據(jù)集進(jìn)行數(shù)據(jù)歸一化(Min-Max scaling),以提高模型的收斂速度與精度。具體處理過程設(shè)計如下:
步驟1 首先,統(tǒng)計數(shù)據(jù)集中以離散數(shù)據(jù)表示的特征項的名稱;然后,遍歷數(shù)據(jù)集并將所有用離散數(shù)據(jù)表示的特征項數(shù)據(jù)去掉。
步驟2 在數(shù)據(jù)集中,連續(xù)型特征數(shù)據(jù)之間取值范圍差異明顯。例如特征項duration和protocol_type在數(shù)據(jù)集中的取值范圍分別為[0,58329]和[1,3],可見兩者之間的取值范圍差距很大。為了便于異常檢測函數(shù)運算和消除量綱,運用函數(shù)歸一化方法,將數(shù)據(jù)集中所有數(shù)據(jù)變?yōu)閇0,1]區(qū)間的小數(shù)。歸一化公式如下:
步驟1 將數(shù)據(jù)集D中按照標(biāo)簽分為正常數(shù)據(jù)與異常數(shù)據(jù)分類,組成正常數(shù)據(jù)集D_normal與異常數(shù)據(jù)集D_anomal。隨機從D_normal中抽取80%的數(shù)據(jù)組成訓(xùn)練數(shù)據(jù)D_train,剩余的20%數(shù)據(jù)和D_anomal組成檢測數(shù)據(jù)D_test。
步驟2 使用ALI算法訓(xùn)練D_train,經(jīng)過k次迭代訓(xùn)練,確定生成網(wǎng)絡(luò)、推理網(wǎng)絡(luò)內(nèi)部神經(jīng)元的權(quán)重。設(shè)生成網(wǎng)絡(luò)為G、推理網(wǎng)絡(luò)為I、判別網(wǎng)絡(luò)為D,處理流程如算法2所述。
其中假設(shè)數(shù)據(jù)集有m個屬性,xaj和xbj分別表示D_test_fin中的記錄xa與D_test中的記錄xb對應(yīng)的第j個屬性值。本文認(rèn)為擁有較大檢測結(jié)果值的樣本異常可能性大。
4.2 改進(jìn)ALI模型
在ALI模型中,推理網(wǎng)絡(luò)的訓(xùn)練只是簡單地將輸入復(fù)制到輸出,雖保留了原始數(shù)據(jù)的特征,并不能確保隱變量獲得有用的特征表示。為了增強提高推理網(wǎng)絡(luò)與生成網(wǎng)絡(luò)的訓(xùn)練效率,本文考慮首先通過引入一個損壞過程C(x′|x),得到受損數(shù)據(jù)作為ALI模型的輸入,然后在ALI模型的隱含層填加一些約束,讓這些約束使模型對輸入數(shù)據(jù)中有用的特征優(yōu)先學(xué)習(xí),使模型可以學(xué)習(xí)到能更好表達(dá)樣本的特征。
改進(jìn)ALI的基本結(jié)構(gòu)由推理網(wǎng)絡(luò)I、生成網(wǎng)絡(luò)G和判斷器D三部分構(gòu)成,都是由輸入層、隱含層和輸出層構(gòu)成的神經(jīng)網(wǎng)絡(luò)。
改進(jìn)ALI模型首先對訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練,確定推理網(wǎng)絡(luò)I、生成網(wǎng)絡(luò)G和判別器D的內(nèi)部神經(jīng)元的權(quán)重。之后使用訓(xùn)練好的生成網(wǎng)絡(luò)G對檢測數(shù)據(jù)進(jìn)行處理,得到處理后的檢測數(shù)據(jù)。ALI模型結(jié)構(gòu)流程如圖4所示。
改進(jìn)ALI模型的處理流程如下。
輸入:訓(xùn)練數(shù)據(jù)D_train,檢測數(shù)據(jù)D_test。
輸出:處理后的檢測數(shù)據(jù)D_test_fin。
步驟1 網(wǎng)絡(luò)采用分批次訓(xùn)練,每次訓(xùn)練都從訓(xùn)練數(shù)據(jù)D_train中隨機選取固定大小的塊(batch)作為輸入數(shù)據(jù)x,根據(jù)文獻(xiàn)[11]提供的方法,通過引入一個損壞過程C(x′|x),得到受損數(shù)據(jù)x′作為推理網(wǎng)絡(luò)的輸入。
其中:z_hat為推理網(wǎng)絡(luò)輸出結(jié)果;x_tilde為生成網(wǎng)絡(luò)輸出結(jié)果;θ={W1,b1,W2,b2}表示參數(shù)的集合;f和g代表激活函數(shù)為sigmod,即當(dāng)神經(jīng)元的輸出接近于1時為激活狀態(tài),而輸出為0時為抑制狀態(tài)。推理網(wǎng)絡(luò)和生成網(wǎng)絡(luò)的目標(biāo)是最小化輸入數(shù)據(jù)x與生成網(wǎng)絡(luò)重構(gòu)數(shù)據(jù)x_tilde之間的平均重構(gòu)誤差。為了防止模型過擬合,對損失函數(shù)加入懲罰項,損失函數(shù)如式(8)所示:
其中,ρ是稀疏性參數(shù)。式(10)表示讓推理網(wǎng)絡(luò)和生成網(wǎng)絡(luò)隱含層中神經(jīng)元j的平均活躍度接近于ρ。為達(dá)到這一稀疏限制的目標(biāo),在優(yōu)化目標(biāo)函數(shù)中加入一個額外的懲罰因子,即通過最小化這一懲罰因子來實現(xiàn)ρj′趨近于ρ的效果,所以懲罰因子可由式(9)此處的描述不通順,另外,式(9)是否應(yīng)該為式(10)?請明確。表示:
步驟3 生成網(wǎng)絡(luò)從服從高斯分布的p(z)中隨機采樣作為輸入,經(jīng)生成網(wǎng)絡(luò)處理生成x_hat。
步驟4 將x、x_hat和x_tilde輸入判別器。判別器的目標(biāo)是將生成網(wǎng)絡(luò)的輸出x_hat和x_tilde從真實樣本x中盡可能分辨出來,而生成網(wǎng)絡(luò)則要盡可能地欺騙判別器。兩個網(wǎng)絡(luò)相互對抗,不斷調(diào)整參數(shù)。判別器的損失函數(shù)為:
5 實驗分析
5.1 數(shù)據(jù)集與環(huán)境配置
KDD99數(shù)據(jù)集建立的目的是為入侵檢測系統(tǒng)提供統(tǒng)一的性能評價基準(zhǔn)。本實驗使用KDD99 10%數(shù)據(jù)集作為本次實驗的數(shù)據(jù)集,數(shù)據(jù)集以CSV格式存儲,共計494021條記錄,每條記錄由41個特征項和1個標(biāo)記位組成,標(biāo)記位分為正常(normal)或異常(attack)兩大類,異常類型被細(xì)分為4大類,分別為拒絕服務(wù)攻擊(Denial of Service, DoS)、未授權(quán)遠(yuǎn)程主機訪問(unauthorized access from a Remote machine to a Local machine, R2L)、本地未授權(quán)超級用戶特權(quán)訪問(Unauthorized access to local superuseR privileges by a local unprivileged user, U2R)和端口監(jiān)視或掃描(surveillance and probing, PROBE)。數(shù)據(jù)集類別分布如表1所示。
實驗中主機配置為Intel Core i5-6300HQ CPU,NVIDIA GeForce GTX960 GPU,內(nèi)存4GB,使用Python 3.5.3編程實現(xiàn),深度學(xué)習(xí)框架使用Tensorflow 1.1.0。
5.2 參數(shù)設(shè)置
ALI中訓(xùn)練階段采用小批量梯度下降方法(Mini-batch Gradient Decent)對內(nèi)部神經(jīng)元權(quán)重進(jìn)行調(diào)整,以達(dá)到降低梯度下降的計算量,即每次迭代使用固定的樣本個數(shù)對參數(shù)進(jìn)行更新,實現(xiàn)了并行計算,使模型收斂速度相比批量梯度下降和隨機梯度下降方法有所提高。本文將訓(xùn)練集中每50個樣本分為一組,每次按順序選取一組進(jìn)行訓(xùn)練,所有組均訓(xùn)練一次記為一個循環(huán),共循環(huán)進(jìn)行50次訓(xùn)練。
為了防止過擬合,本文在小批量梯度下降方法中每次訓(xùn)練過程中都暫時隨機丟棄所有神經(jīng)元節(jié)點的20%。具體參數(shù)設(shè)置如表2所示。
5.3 評估指標(biāo)
在檢測實驗中,為客觀評估檢測模型的有效性,本文將準(zhǔn)確率和召回率的加權(quán)調(diào)和平均值F1值作為模型的最終評估指標(biāo),為此定義如下3個基本指標(biāo)量。
TP(True Positive)表示網(wǎng)絡(luò)異常行為被正確識別的數(shù)量;FP(False Positive)表示網(wǎng)絡(luò)正常行為被錯誤識別為異常行為的數(shù)量;FN(False Negative)表示網(wǎng)絡(luò)異常行為被錯誤識別為正常行為的數(shù)量。利用上述3個基本指標(biāo),定義如下3個度量指標(biāo)。
由表3可知數(shù)據(jù)集一共有9項特征使用離散型數(shù)據(jù)描述,首先遍歷數(shù)據(jù)集將以上特征項的數(shù)據(jù)刪除。之后由算法1得到歸一化后的數(shù)據(jù)集,至此,數(shù)據(jù)預(yù)處理完成。
5.5 檢測實驗
為驗證本文模型對網(wǎng)絡(luò)異常行為檢測的有效性,實驗步驟如下:
1)首先對連續(xù)化的數(shù)據(jù)集D按照每條記錄的第42項標(biāo)記位分為正常數(shù)據(jù)集D_normal與異常數(shù)據(jù)集D_anomal;
然后使用Pandas工具庫中sample函數(shù),設(shè)置frac參數(shù)為0.8,隨機從D_normal中抽取80%的數(shù)據(jù)組成訓(xùn)練集D_train;
最后,將D_train中剩余的20%數(shù)據(jù)和D_anomal組成檢測數(shù)據(jù)D_test,刪除D_train和D_test數(shù)據(jù)中的第42項標(biāo)記位,生成CSV格式文件。數(shù)據(jù)集D拆分結(jié)果如表4所示。
3)將檢測數(shù)據(jù)集D_test輸入已訓(xùn)練好的ALI模型中處理,輸出D_test_fin。將D_test_fin和D_test輸入異常檢測函數(shù)公式(3),計算D_test每條記錄的結(jié)果并與網(wǎng)絡(luò)異常行為檢測中常用的算法模型進(jìn)行對比實驗。實驗樣本均來自同一數(shù)據(jù)集(D_train),選擇的模型分別為:OC-SVM[1]、深層結(jié)構(gòu)能量模型(Deep Structured Energy Based Model, DSEBM)[12]、深度自編碼高斯混合模型(Deep Autoencoding Gaussian Mixture Model, DAGMM)[13]和生成對抗網(wǎng)絡(luò)異常檢測模型(Anomaly detection model with Generative Adversarial Network, AnoGAN)[14]。以上模型均為筆者Python編程實現(xiàn),重復(fù)進(jìn)行10次實驗并計算10次檢測結(jié)果中準(zhǔn)確率、召回率和F1值的平均值,結(jié)果如表5所示。
由表5可見,本文模型在召回率和F1兩項指標(biāo)方面均優(yōu)于其他的檢測模型。分析對比模型如下:
1)OC-SVM模型與本文模型相比,模型在分類過程中無法有效判定異常行為的數(shù)據(jù)邊界,故導(dǎo)致準(zhǔn)確率、召回率和F1值相對于其他模型偏低。
2)DSEBM采用逐層次進(jìn)行訓(xùn)練,每一層訓(xùn)練完成之后才進(jìn)行下一層疊加并計算上一層的參數(shù)。無法有效對本文高維度復(fù)雜數(shù)據(jù)集進(jìn)行特征學(xué)習(xí),模型誤判率很高,故其評估指標(biāo)FN值偏大,導(dǎo)致相比本文模型檢測準(zhǔn)確度偏低。
3)AnoGAN生成網(wǎng)絡(luò)的梯度更新來源于判別網(wǎng)絡(luò),導(dǎo)致生成網(wǎng)絡(luò)更傾向生成重復(fù)但不會被判別網(wǎng)絡(luò)認(rèn)為異常的樣本,而對于與生成網(wǎng)絡(luò)生成的相似的檢測數(shù)據(jù),該模型有很高的檢測準(zhǔn)確度。AnoGAN因缺少諸如本文模型的推理網(wǎng)絡(luò),導(dǎo)致模型經(jīng)訓(xùn)練未得到正常行為的全部數(shù)據(jù)分布,導(dǎo)致模式崩潰(mode collapse)[15]。
4)考慮到DAGMM雖對數(shù)據(jù)集使用高斯概率密度函數(shù)(正態(tài)分布曲線)進(jìn)行精確量化,并分解為若干基于高斯概率密度函數(shù)形成的模型,提高了檢測準(zhǔn)確率;但受本文訓(xùn)練樣本數(shù)量少的限制,DAGMM內(nèi)每個混合模型沒有足夠多的樣本,協(xié)方差計算結(jié)果不準(zhǔn)確,故F1值相對于本文模型較低。
為了進(jìn)一步驗證本文模型在較少訓(xùn)練樣本情況下的有效性,針對DAGMM和本文模型,縮小實驗樣本量,在D_train中隨機抽取2000條數(shù)據(jù),重復(fù)進(jìn)行10次實驗,并計算檢測結(jié)果中準(zhǔn)確率、召回率和F1值,結(jié)果如表6所示。
由表6可見,在訓(xùn)練樣本較少時,本文模型相對于DAGMM,在準(zhǔn)確率、召回率和F1三項指標(biāo)方面均有明顯提高。
本文模型的優(yōu)勢在于運用逆向習(xí)得推理機制,結(jié)合無監(jiān)督的模型訓(xùn)練和有監(jiān)督的分類與回歸任務(wù),無需顯性表達(dá)生成分布,也沒有繁雜的變分下限,有效避免了在傳統(tǒng)生成模型中復(fù)雜的馬爾可夫鏈的采樣和推斷,在大幅度降低了訓(xùn)練復(fù)雜度的同時提高了檢測準(zhǔn)確度。
上述實驗結(jié)果表明,本文提出的基于逆向習(xí)得推理的網(wǎng)絡(luò)異常行為檢測模型具有較高的召回率和檢測精度。
6 結(jié)語
本文針對網(wǎng)絡(luò)異常行為數(shù)據(jù)收集不均衡以及現(xiàn)有檢測算法檢出率低等問題,提出基于逆向習(xí)得推理的網(wǎng)絡(luò)異常行為檢測模型。對數(shù)據(jù)集通過去掉離散數(shù)據(jù)項,使用線性函數(shù)歸一化提高了模型的收斂速度和模型的精度,該模型首先通過ALI算法訓(xùn)練正常行為數(shù)據(jù)的分布;之后使用已經(jīng)訓(xùn)練好的ALI算法處理檢測數(shù)據(jù)的正常分布;最后使用異常檢測函數(shù)對比判斷檢測數(shù)據(jù)是否異常,解決了因數(shù)據(jù)不平衡問題導(dǎo)致的檢測正確率低的問題。實驗結(jié)果表明,本文模型在樣本數(shù)據(jù)不平衡時相比OC-SVM、DSEBM、DAGMM和AnoGAN四種模型具有較高的召回率和檢測精度。
下一步對本文模型的改進(jìn)重點集中在以下兩個方面:1)對異常檢測結(jié)果分類,得出異常行為的準(zhǔn)確攻擊類別;2)嘗試使用其他數(shù)據(jù)集訓(xùn)練和測試驗證本文模型,根據(jù)實驗結(jié)果對本文模型繼續(xù)優(yōu)化,進(jìn)一步提高檢測準(zhǔn)確度。
參考文獻(xiàn) (References)
[1] 黃謙,王震,韋韜,等.基于One-Class SVM的實時入侵檢測系統(tǒng)[J].計算機工程,2006,32(16):133-135.(HUANG Q, WANG Z, WEI T, et al. A Real-time intrusion detection system based on One-Class SVM[J]. Computer Engineering, 2006, 32(16): 133-135.)
[2] 戚名鈺,劉銘,傅彥銘.基于PCA的SVM網(wǎng)絡(luò)入侵檢測研究[J].信息網(wǎng)絡(luò)安全,2015(2):15-18.(QI M Y, LIU M, FU Y M. Research on network intrusion detection using support vector machines based on principal component analysis[J]. Netinfo Security, 2015(2): 15-18.)
[3] ZHOU C, PAFFENROTH R C. Anomaly detection with robust deep autoencoders[C]// Proceedings of the 2017 ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York: ACM, 2017: 665-674.
[4] 袁靜,章毓晉.融合梯度差信息的稀疏去噪自編碼網(wǎng)絡(luò)在異常行為檢測中的應(yīng)用[J].自動化學(xué)報,2017,43(4):604-610.(YUAN J, ZHANG Y J. Application of sparse denoising auto encoder network with gradient difference information for abnormal action detection[J]. Acta Automatica Sinica, 2017, 43(4):604-610.)
[5] 陳虹,萬廣雪,肖振久.基于優(yōu)化數(shù)據(jù)處理的深度信念網(wǎng)絡(luò)模型的入侵檢測方法[J].計算機應(yīng)用,2017,37(6):1636-1643.(CHEN H, WAN G X, XIAO Z J. Intrusion detection method of deep belief network model based on optimization of data processing [J]. Journal of Computer Applications, 2017, 37 (6): 1636-1643.)
[6] QU F, ZHANG J, SHAO Z, et al. An intrusion detection model based on deep belief network[C]// Proceedings of the 2017 VI International Conference on Network, Communication and Computing. Kunming: [s.n.], 2017: 97-101.
[7] 魏明軍,王月月,金建國.一種改進(jìn)免疫算法的入侵檢測設(shè)計[J].西安電子科技大學(xué)學(xué)報,2016,43(2):126-131.(WEI M J, WANG Y Y, JIN J G. Intrusion detection design of the impoved immune algorithm[J]. Journal of Xidian University, 2016, 43(2): 126-131.)
[8] 賈凡,孔令智.基于卷積神經(jīng)網(wǎng)絡(luò)的入侵檢測算法[J].北京理工大學(xué)學(xué)報,2017,37(12):1271-1275.(JIA F, KONG L Z. Intrusion detection algorithm based on convolutional neural network[J]. Transactions of Beijing Institute of Technology, 2017, 37(12): 1271-1275.)
[9] 王明,李劍.基于卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測系統(tǒng)[J].信息安全研究,2017,3(11):990-994.(WANG M, LI J. Network intrusion detection model based on convolutional neural network[J]. Journal of Information Security Research, 2017, 3(11): 990-994.)
[10] DUMOULIN V, BELGHAZI I, POOLE B, et al. Adversarially learned inference[J]. ArXiv Preprint, 2016, 2016: 1606.00704.(https://arxiv.org/pdf/1606.00704.pdf)
[11] VINCENT P, LAROCHELLE H, BENGIO Y, et al. Extracting and composing robust features with denoising autoencoders [C]// Proceedings of the 25th International Conference on Machine Learning. New York: ACM, 2008: 1096-1103.
[12] ZHAI S, CHENG Y, LU W, et al. Deep structured energy based models for anomaly detection[J]. ArXiv Preprint, 2016, 2016: 1605.00717.
[13] ZONG B, SONG Q, MIN M R, et al. Deep autoencoding Gaussian mixture model for unsupervised anomaly detection [C]// Proceedings of the 2018 International Conference on Learning Representations. Vancouver: ICLR, 2018: 1203-1224.
[14] SCHLEGL T, SEEBCK P, WALDSTEIN S M, et al. Unsupervised anomaly detection with generative adversarial networks to guide marker discovery [C]// Proceedings of the 2017 International Conference on Information Processing in Medical Imaging. Berlin: Springer, 2017: 146-157.
[15] METZ L, POOLE B, PFAU D, et al. Unrolled generative adversarial networks[J]. ArXiv Preprint, 2016, 2016: 1611.02163.