孫惠麗 陳維華 劉東朝
摘 ?要:針對傳統(tǒng)的樸素貝葉斯網(wǎng)絡(luò)入侵檢測技術(shù)存在訓(xùn)練數(shù)據(jù)集中屬性冗余的問題,以及沒有考慮到網(wǎng)絡(luò)環(huán)境的變化導(dǎo)致貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)改變的問題,提出一種結(jié)合深度學(xué)習(xí)和滑動窗口改進貝葉斯網(wǎng)絡(luò)入侵檢測方法。利用深度學(xué)習(xí)提取特征屬性,降低數(shù)據(jù)集維數(shù);采用滑動窗口技術(shù)實時更新貝葉斯網(wǎng)絡(luò)參數(shù),并利用特征屬性的互信息計算各屬性之間的相對歐氏距離,根據(jù)相對歐氏距離的大小及時更新貝葉斯網(wǎng)絡(luò),以提高檢測率。實驗結(jié)果表明,改進后的貝葉斯網(wǎng)絡(luò)能夠提高運算效率和檢測率。
關(guān)鍵詞:樸素貝葉斯;屬性冗余;深度學(xué)習(xí);滑動窗口;相對歐氏距離
中圖分類號:TP393 ? ? 文獻標(biāo)識碼:A
Abstract:In view of the problem of training data set attribute redundancy and the lack of considering the changes in the network environment of the traditional Naive Bayesian network intrusion detection technology,this paper proposes an improved Bayesian network intrusion detection method,combining deep learning and sliding window.In this method,deep learning is utilized to extract feature attribute,reducing dimension data sets;the sliding window technology updates Bayesian network parameters,calculating the relative Euclidean distance between the various properties;the Bayesian network is updated according to the size of the relative Euclidean distance in order to improve the detection rate.The experimental results show that the improved Bayesian network can improve the operation efficiency and detection rate.
Keywords:Naive Bayesian Model;attribute redundant;deep learning;sliding window;relative Euclidean distance
1 ? 引言(Introduction)
隨著互聯(lián)網(wǎng)的興起和各種智能終端設(shè)備的普及,網(wǎng)絡(luò)數(shù)據(jù)流量與日俱增,網(wǎng)絡(luò)安全問題也是層出不窮,如何提高網(wǎng)絡(luò)的安全性能,增強對網(wǎng)絡(luò)流量的監(jiān)控和異常網(wǎng)絡(luò)流量的鑒別成了人們亟待解決的問題之一。目前存在的一些入侵檢測技術(shù)能夠精準地識別出入侵攻擊,但當(dāng)檢測數(shù)據(jù)集發(fā)生變化或出現(xiàn)大量未知攻擊時,檢測精度急劇下降,效果達不到預(yù)期。因此,建立一個有效性與自適應(yīng)性都不錯的入侵檢測模型成為以后研究的課題[1]。
深度學(xué)習(xí)是機器學(xué)習(xí)的一個重要分支,近些年來被廣泛應(yīng)用于圖像分類,語音識別等眾多領(lǐng)域。機器學(xué)習(xí)經(jīng)歷了淺層學(xué)習(xí)和深度學(xué)習(xí)兩次浪潮。20世紀,學(xué)者Rumelhart、Hinton和Williams等人提出了反向傳播算法(Back Propagation算法,BP算法)[2],給機器學(xué)習(xí)帶來了活力。20世紀90年代,各種淺層機器學(xué)習(xí)模型相繼出現(xiàn),并在機器學(xué)習(xí)領(lǐng)域取得巨大成功。多層神經(jīng)網(wǎng)絡(luò)因當(dāng)時不夠成熟的理論和相對匱乏的經(jīng)驗而相對沉寂,直到2006年Hinton和Salakhutdinov在發(fā)布在《科學(xué)》上的一篇文章中首次提出了深度學(xué)習(xí)的概念[3],才拉開新的序幕。在深度學(xué)習(xí)研究領(lǐng)域,Google走在世界前列。2016年3月,基于深度學(xué)習(xí)的人工智能程序AlphaGo大比分擊敗圍棋世界冠軍李世石;2017年,其升級版智能程序Master連續(xù)擊敗中日韓等60名圍棋高手,震驚世界。
貝葉斯網(wǎng)絡(luò)以其強大的理論基礎(chǔ)和優(yōu)秀的信息提取的能力,廣泛應(yīng)用于入侵檢測、文本分類、垃圾電子郵件過濾、模式識別等領(lǐng)域。樸素貝葉斯是一種基于屬性之間相互條件獨立所建立的貝葉斯方法,只需要少量必要數(shù)據(jù)就能進行建模,但面臨屬性冗余和計算成本過高的問題。文獻[4]介紹了半監(jiān)督式的樸素貝葉斯算法,該算法在處理大量數(shù)據(jù)時效果不錯,但對小型網(wǎng)絡(luò)的入侵檢測效果不佳。局部加權(quán)樸素貝葉斯[5]結(jié)合頻率估計,利用樸素貝葉斯對縮小的空間區(qū)域進行分類,提高了準確率,但時間與空間復(fù)雜度過高。文獻[6]結(jié)合了樸素貝葉斯和權(quán)重,先估計特征數(shù)值,再利用海量數(shù)據(jù)來進行特征選取,最終實現(xiàn)屬性減少,有效降低時間復(fù)雜度并提高準確率。但該算法特征提取穩(wěn)定性差,泛化能力有待提升。
本文結(jié)合前人理論,對時間復(fù)雜度過高、泛化能力不強等問題,提出了一種基于深度學(xué)習(xí)和滑動窗口的改進貝葉斯網(wǎng)絡(luò)入侵檢測方法。該方法引入了被廣泛認可和使用的深度學(xué)習(xí)和經(jīng)典的滑動窗口思想,降低了數(shù)據(jù)集的維度,提高了網(wǎng)絡(luò)擴展性,同時提升了檢測效率和準確率。
2 ? 深度學(xué)習(xí)(Deep learning)
2.1 ? 神經(jīng)學(xué)研究啟示
深度學(xué)習(xí)源于對人類大腦神經(jīng)網(wǎng)絡(luò)連接結(jié)構(gòu)的不斷探索。機器學(xué)習(xí)通過一套規(guī)則,并通過大量數(shù)據(jù)訓(xùn)練,使機器學(xué)習(xí)到數(shù)據(jù)之間的關(guān)聯(lián),從而進行分類或判別。深度學(xué)習(xí)的發(fā)展源于生物神經(jīng)網(wǎng)絡(luò)學(xué)的進步。大腦神經(jīng)研究結(jié)果顯示,人類大腦分層次處理視覺信號,從低層提取邊緣特征,在下一層提取形狀,一直到最高層的特征提取[7]。人類大腦對視覺信號的處理是逐層轉(zhuǎn)化、逐層提取的。這種多層次的結(jié)構(gòu)極大地降低了處理的數(shù)據(jù)維數(shù),而且最大程度地保留了有用信息。
2.2 ? 特征提取的需要
機器學(xué)習(xí)通過大量數(shù)據(jù)的訓(xùn)練,從中找尋重要規(guī)律特征,并用于其他數(shù)據(jù),實現(xiàn)分類預(yù)測。因此,如何尋找和描述數(shù)據(jù)特征是工作的重點。以往采用人工方式手動提取,該方法嚴重依賴于經(jīng)驗,耗時長、穩(wěn)定性差。而深度學(xué)習(xí)克服了這個缺點,可以從大量數(shù)據(jù)中自動尋找有效特征,效率和準確率都遠高于人工選擇。
深度學(xué)習(xí)需要進行多層次的學(xué)習(xí),在特征表達方面優(yōu)于單隱含層節(jié)點的淺層學(xué)習(xí)。如圖1所示,深度學(xué)習(xí)是一個逐層學(xué)習(xí)的過程,把每一層的輸出作為下一層的輸入,以此方式實現(xiàn)對信息的逐層表達。類似于生物學(xué)中從分子、細胞到器官、生物體的表達方式,深度學(xué)習(xí)的實質(zhì)就是模擬大腦神經(jīng)網(wǎng)絡(luò),實現(xiàn)對輸入數(shù)據(jù)從低級到高級的特征提取表達,從而在不同維度抽象數(shù)據(jù)。
2.3 ? 卷積神經(jīng)網(wǎng)
卷積神經(jīng)網(wǎng)是深度學(xué)習(xí)的一種,屬于前饋深度網(wǎng)絡(luò)模型。1962年,Hubel等[8]通過研究貓的視覺機制,提出感受野的概念。1984年,F(xiàn)ukushima[9]基于感受野提出神經(jīng)感知機,這是第一次在ANN領(lǐng)域成功運用CNN模型。LeCun[10]等將BP算法應(yīng)用于CNN模型之中,并在圖像識別領(lǐng)域取得成功。
卷積神經(jīng)網(wǎng)由多個單層卷積神經(jīng)網(wǎng)構(gòu)成,主要包含卷積層,非線性變換和下采樣層。CNN中采用局部連接、權(quán)值共享的方式,每層神經(jīng)網(wǎng)絡(luò)有一對二維平面,每個二維平面有多個獨立的神經(jīng)元。每個二維平面上的神經(jīng)元只與上一層的部分神經(jīng)元相連接,負責(zé)提取局部特征。每一層卷積層和下采樣層都有多個二維特征平面,每一層的特征平面都共享權(quán)值參數(shù),不同的特征平面提取特定的特征,在提升特征表達的同時又大大減少了計算量,提高了網(wǎng)絡(luò)泛化能力。
本文算法步驟如下:
步驟1:對訓(xùn)練集T0進行預(yù)處理(如:離散化、數(shù)值化)得到數(shù)據(jù)集T1。
步驟2:利用卷積神經(jīng)網(wǎng)對數(shù)據(jù)集T1進行降維處理,得到數(shù)據(jù)集T2。
步驟3:基于數(shù)據(jù)集T2,采用文獻[12]中的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)生成算法構(gòu)造貝葉斯網(wǎng)絡(luò),并進行參數(shù)學(xué)習(xí)。
步驟4:結(jié)合滑動窗口機制和相對歐式距離,對測試集進行分類。具體步驟如下:
將測試集連接到訓(xùn)練集的尾部;設(shè)置四個指針P1P2P3P4,分別指向訓(xùn)練集的首部、尾部和測試集的首部、尾部。
(1)將指針之間的數(shù)據(jù)集T作為訓(xùn)練集構(gòu)造貝葉斯網(wǎng)絡(luò)并進行參數(shù)學(xué)習(xí)。令t=1,初始窗口為。
(2)對指針指向的樣本進行檢測,。
(3)重復(fù)(2),直到或,其中N為實驗設(shè)置的滑動窗口的大小。
(4)如果,轉(zhuǎn)到(5);否則,,并計算當(dāng)前窗口和初始窗口之間的歐氏距離,如果歐氏距離大于閾值ε,轉(zhuǎn)到(1),否則轉(zhuǎn)到(2)。
(5)測試完畢,計算總正確率。
5 ?實驗結(jié)果及分析(Experimental results and? ? ?analysis)
5.1 ? 入侵檢測數(shù)據(jù)集
本實驗采用KDD CPU 1999數(shù)據(jù)集,該數(shù)據(jù)集收集了9周的網(wǎng)絡(luò)連接數(shù)據(jù)。其中,前兩周收集的訓(xùn)練數(shù)據(jù)集大約含有500萬個網(wǎng)絡(luò)連接,后兩周的測試數(shù)據(jù)集大約含有200萬個網(wǎng)絡(luò)連接。每個連接都有41個特征屬性和1個標(biāo)簽屬性。每個標(biāo)簽標(biāo)記著正?;虍惓#惓n愋椭杏挚偣舶?大類、39小類攻擊類型,其中有22小類出現(xiàn)在訓(xùn)練集中,17小類出現(xiàn)在測試集當(dāng)中。異常類型的詳細描述如表1所示。
5.2 ? 實驗結(jié)果與分析
本文從KDD CPU 1999數(shù)據(jù)集的訓(xùn)練集中隨機抽取了4萬條數(shù)據(jù)作為訓(xùn)練集,從該數(shù)據(jù)集中隨機抽取了2萬條數(shù)據(jù)作為本次實驗的測試集。對數(shù)據(jù)預(yù)處理之后,采用深度學(xué)習(xí)進行降維處理,將原數(shù)據(jù)集中的42個屬性約減成了9條屬性(包含標(biāo)簽屬性),然后用改進的貝葉斯網(wǎng)絡(luò)進行建模和分類。
實驗在Matlab 2015b中編程完成,并將本文算法和已有的貝葉斯網(wǎng)絡(luò)算法進行比較。實驗表明,在本文算法中,當(dāng)滑動窗口N為1000時,檢測效果最好,得到的準確率對比結(jié)果,如表2所示。在窗口滑動過程中,貝葉斯網(wǎng)絡(luò)發(fā)生了多次變化,僅選取其中四次貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)圖,如圖5所示。
6 ? 結(jié)論(Conclusion)
本文基于KDD CPU 1999數(shù)據(jù)集,使用深度學(xué)習(xí)對數(shù)據(jù)集進行降維處理,并引入滑動窗口和歐氏距離來實時更新貝葉斯網(wǎng)絡(luò),來提高正確率。實驗證明,本文的改進算法能有效降低計算量和提高分類正確率。經(jīng)過分析,分類錯誤的信息大部分是未知攻擊類型。雖然深度學(xué)習(xí)具有從多維數(shù)據(jù)中提取高級抽象特征表達的能力,但依然很難學(xué)習(xí)到高層應(yīng)用行為中復(fù)雜的邏輯行為。如何結(jié)合應(yīng)用層的特征行為來檢測未知攻擊或異常數(shù)據(jù)需要進一步的學(xué)習(xí)和研究。
參考文獻(References)
[1] 馮祖洪,李靜.基于主成分分析的改進貝葉斯網(wǎng)絡(luò)入侵檢測研究[J].現(xiàn)代電子技術(shù),2012,35(19):73-75.
[2] Rumelhart D,Hinton G,Williams R.Learning representations by back-propagating errors[J].Nature,1986,323(6088):533-536.
[3] Hinton G,Salakhutdinov R.Reducing the dimensionality of data with neural networks[J].Science,2006,313(5786):504-507.
[4] 江凱,高陽.并行化的半監(jiān)督樸素貝葉斯分類算法[J].計算機科學(xué)與探索,2012,06(10):912-918.
[5] 歐陽澤華,郭華平,范明.在逐漸縮小的空間上漸進學(xué)習(xí)樸素貝葉斯參數(shù)[J].計算機應(yīng)用,2012,32(1):223-227.
[6] 周曉慶,肖順文,肖建瓊,等.一種基于改進的權(quán)值調(diào)整技術(shù)數(shù)據(jù)源分類算法研究[J].計算機應(yīng)用研究,2012,29(3):916-918.
[7] Ding Shi-fei,Zhang Yan-an,Chen Jin-rong,et al.Research on Using Genetic Algorithms to Optimize Elman Neural Networks[J].Neural Computing and Applications,2013,23(2):293-297.
[8] Hubel D H,Weisel T N.Receptive fields,binocular interaction and functional architecture in cat's visual cortex[J].The Journal of Physiology,1962,160:106-154.
[9] Fukushima K.Neocognitron:A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position[J].Biological Cybernetics,1980,36(4):193-202.
[10] LeCun Y,Bottou L,Bengio Y,et al.Gradient-based learning applied to document recognition[J].Proceedings of the IEEE,1998,86(11):2278-2324.
[11] HINTON G E.How neural networks learn from experience [J].Scientific America,1992,267(3):145-151.
[12] 王越,譚暑秋,劉亞輝.基于互信息的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)學(xué)習(xí)算法[J].計算機工程,2011,37(7):62-64.
作者簡介:
孫惠麗(1973-),女,本科,講師.研究領(lǐng)域:管理學(xué).
陳維華(1978-),女,碩士,副教授.研究領(lǐng)域:計算機應(yīng)用.
劉東朝(1992-),男,碩士,助教.研究領(lǐng)域:計算機網(wǎng)絡(luò).