孫惠麗 陳維華 劉東朝



摘 ?要:針對傳統(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í)和滑動(dòng)窗口改進(jìn)貝葉斯網(wǎng)絡(luò)入侵檢測方法。利用深度學(xué)習(xí)提取特征屬性,降低數(shù)據(jù)集維數(shù);采用滑動(dòng)窗口技術(shù)實(shí)時(shí)更新貝葉斯網(wǎng)絡(luò)參數(shù),并利用特征屬性的互信息計(jì)算各屬性之間的相對歐氏距離,根據(jù)相對歐氏距離的大小及時(shí)更新貝葉斯網(wǎng)絡(luò),以提高檢測率。實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的貝葉斯網(wǎng)絡(luò)能夠提高運(yùn)算效率和檢測率。
關(guān)鍵詞:樸素貝葉斯;屬性冗余;深度學(xué)習(xí);滑動(dòng)窗口;相對歐氏距離
中圖分類號(hào):TP393 ? ? 文獻(xiàn)標(biāo)識(shí)碼: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ò)的安全性能,增強(qiáng)對網(wǎng)絡(luò)流量的監(jiān)控和異常網(wǎng)絡(luò)流量的鑒別成了人們亟待解決的問題之一。目前存在的一些入侵檢測技術(shù)能夠精準(zhǔn)地識(shí)別出入侵攻擊,但當(dāng)檢測數(shù)據(jù)集發(fā)生變化或出現(xiàn)大量未知攻擊時(shí),檢測精度急劇下降,效果達(dá)不到預(yù)期。因此,建立一個(gè)有效性與自適應(yīng)性都不錯(cuò)的入侵檢測模型成為以后研究的課題[1]。
深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)重要分支,近些年來被廣泛應(yīng)用于圖像分類,語音識(shí)別等眾多領(lǐng)域。機(jī)器學(xué)習(xí)經(jīng)歷了淺層學(xué)習(xí)和深度學(xué)習(xí)兩次浪潮。20世紀(jì),學(xué)者Rumelhart、Hinton和Williams等人提出了反向傳播算法(Back Propagation算法,BP算法)[2],給機(jī)器學(xué)習(xí)帶來了活力。20世紀(jì)90年代,各種淺層機(jī)器學(xué)習(xí)模型相繼出現(xiàn),并在機(jī)器學(xué)習(xí)領(lǐng)域取得巨大成功。多層神經(jīng)網(wǎng)絡(luò)因當(dāng)時(shí)不夠成熟的理論和相對匱乏的經(jīng)驗(yàn)而相對沉寂,直到2006年Hinton和Salakhutdinov在發(fā)布在《科學(xué)》上的一篇文章中首次提出了深度學(xué)習(xí)的概念[3],才拉開新的序幕。在深度學(xué)習(xí)研究領(lǐng)域,Google走在世界前列。2016年3月,基于深度學(xué)習(xí)的人工智能程序AlphaGo大比分擊敗圍棋世界冠軍李世石;2017年,其升級(jí)版智能程序Master連續(xù)擊敗中日韓等60名圍棋高手,震驚世界。
貝葉斯網(wǎng)絡(luò)以其強(qiáng)大的理論基礎(chǔ)和優(yōu)秀的信息提取的能力,廣泛應(yīng)用于入侵檢測、文本分類、垃圾電子郵件過濾、模式識(shí)別等領(lǐng)域。樸素貝葉斯是一種基于屬性之間相互條件獨(dú)立所建立的貝葉斯方法,只需要少量必要數(shù)據(jù)就能進(jìn)行建模,但面臨屬性冗余和計(jì)算成本過高的問題。文獻(xiàn)[4]介紹了半監(jiān)督式的樸素貝葉斯算法,該算法在處理大量數(shù)據(jù)時(shí)效果不錯(cuò),但對小型網(wǎng)絡(luò)的入侵檢測效果不佳。局部加權(quán)樸素貝葉斯[5]結(jié)合頻率估計(jì),利用樸素貝葉斯對縮小的空間區(qū)域進(jìn)行分類,提高了準(zhǔn)確率,但時(shí)間與空間復(fù)雜度過高。文獻(xiàn)[6]結(jié)合了樸素貝葉斯和權(quán)重,先估計(jì)特征數(shù)值,再利用海量數(shù)據(jù)來進(jìn)行特征選取,最終實(shí)現(xiàn)屬性減少,有效降低時(shí)間復(fù)雜度并提高準(zhǔn)確率。但該算法特征提取穩(wěn)定性差,泛化能力有待提升。
本文結(jié)合前人理論,對時(shí)間復(fù)雜度過高、泛化能力不強(qiáng)等問題,提出了一種基于深度學(xué)習(xí)和滑動(dòng)窗口的改進(jìn)貝葉斯網(wǎng)絡(luò)入侵檢測方法。該方法引入了被廣泛認(rèn)可和使用的深度學(xué)習(xí)和經(jīng)典的滑動(dòng)窗口思想,降低了數(shù)據(jù)集的維度,提高了網(wǎng)絡(luò)擴(kuò)展性,同時(shí)提升了檢測效率和準(zhǔn)確率。
2 ? 深度學(xué)習(xí)(Deep learning)
2.1 ? 神經(jīng)學(xué)研究啟示
深度學(xué)習(xí)源于對人類大腦神經(jīng)網(wǎng)絡(luò)連接結(jié)構(gòu)的不斷探索。機(jī)器學(xué)習(xí)通過一套規(guī)則,并通過大量數(shù)據(jù)訓(xùn)練,使機(jī)器學(xué)習(xí)到數(shù)據(jù)之間的關(guān)聯(lián),從而進(jìn)行分類或判別。深度學(xué)習(xí)的發(fā)展源于生物神經(jīng)網(wǎng)絡(luò)學(xué)的進(jìn)步。大腦神經(jīng)研究結(jié)果顯示,人類大腦分層次處理視覺信號(hào),從低層提取邊緣特征,在下一層提取形狀,一直到最高層的特征提取[7]。人類大腦對視覺信號(hào)的處理是逐層轉(zhuǎn)化、逐層提取的。這種多層次的結(jié)構(gòu)極大地降低了處理的數(shù)據(jù)維數(shù),而且最大程度地保留了有用信息。
2.2 ? 特征提取的需要
機(jī)器學(xué)習(xí)通過大量數(shù)據(jù)的訓(xùn)練,從中找尋重要規(guī)律特征,并用于其他數(shù)據(jù),實(shí)現(xiàn)分類預(yù)測。因此,如何尋找和描述數(shù)據(jù)特征是工作的重點(diǎn)。以往采用人工方式手動(dòng)提取,該方法嚴(yán)重依賴于經(jīng)驗(yàn),耗時(shí)長、穩(wěn)定性差。而深度學(xué)習(xí)克服了這個(gè)缺點(diǎn),可以從大量數(shù)據(jù)中自動(dòng)尋找有效特征,效率和準(zhǔn)確率都遠(yuǎn)高于人工選擇。
深度學(xué)習(xí)需要進(jìn)行多層次的學(xué)習(xí),在特征表達(dá)方面優(yōu)于單隱含層節(jié)點(diǎn)的淺層學(xué)習(xí)。如圖1所示,深度學(xué)習(xí)是一個(gè)逐層學(xué)習(xí)的過程,把每一層的輸出作為下一層的輸入,以此方式實(shí)現(xiàn)對信息的逐層表達(dá)。類似于生物學(xué)中從分子、細(xì)胞到器官、生物體的表達(dá)方式,深度學(xué)習(xí)的實(shí)質(zhì)就是模擬大腦神經(jīng)網(wǎng)絡(luò),實(shí)現(xiàn)對輸入數(shù)據(jù)從低級(jí)到高級(jí)的特征提取表達(dá),從而在不同維度抽象數(shù)據(jù)。
2.3 ? 卷積神經(jīng)網(wǎng)
卷積神經(jīng)網(wǎng)是深度學(xué)習(xí)的一種,屬于前饋深度網(wǎng)絡(luò)模型。1962年,Hubel等[8]通過研究貓的視覺機(jī)制,提出感受野的概念。1984年,F(xiàn)ukushima[9]基于感受野提出神經(jīng)感知機(jī),這是第一次在ANN領(lǐng)域成功運(yùn)用CNN模型。LeCun[10]等將BP算法應(yīng)用于CNN模型之中,并在圖像識(shí)別領(lǐng)域取得成功。
卷積神經(jīng)網(wǎng)由多個(gè)單層卷積神經(jīng)網(wǎng)構(gòu)成,主要包含卷積層,非線性變換和下采樣層。CNN中采用局部連接、權(quán)值共享的方式,每層神經(jīng)網(wǎng)絡(luò)有一對二維平面,每個(gè)二維平面有多個(gè)獨(dú)立的神經(jīng)元。每個(gè)二維平面上的神經(jīng)元只與上一層的部分神經(jīng)元相連接,負(fù)責(zé)提取局部特征。每一層卷積層和下采樣層都有多個(gè)二維特征平面,每一層的特征平面都共享權(quán)值參數(shù),不同的特征平面提取特定的特征,在提升特征表達(dá)的同時(shí)又大大減少了計(jì)算量,提高了網(wǎng)絡(luò)泛化能力。
本文算法步驟如下:
步驟1:對訓(xùn)練集T0進(jìn)行預(yù)處理(如:離散化、數(shù)值化)得到數(shù)據(jù)集T1。
步驟2:利用卷積神經(jīng)網(wǎng)對數(shù)據(jù)集T1進(jìn)行降維處理,得到數(shù)據(jù)集T2。
步驟3:基于數(shù)據(jù)集T2,采用文獻(xiàn)[12]中的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)生成算法構(gòu)造貝葉斯網(wǎng)絡(luò),并進(jìn)行參數(shù)學(xué)習(xí)。
步驟4:結(jié)合滑動(dòng)窗口機(jī)制和相對歐式距離,對測試集進(jìn)行分類。具體步驟如下:
將測試集連接到訓(xùn)練集的尾部;設(shè)置四個(gè)指針P1P2P3P4,分別指向訓(xùn)練集的首部、尾部和測試集的首部、尾部。
(1)將指針之間的數(shù)據(jù)集T作為訓(xùn)練集構(gòu)造貝葉斯網(wǎng)絡(luò)并進(jìn)行參數(shù)學(xué)習(xí)。令t=1,初始窗口為。
(2)對指針指向的樣本進(jìn)行檢測,。
(3)重復(fù)(2),直到或,其中N為實(shí)驗(yàn)設(shè)置的滑動(dòng)窗口的大小。
(4)如果,轉(zhuǎn)到(5);否則,,并計(jì)算當(dāng)前窗口和初始窗口之間的歐氏距離,如果歐氏距離大于閾值ε,轉(zhuǎn)到(1),否則轉(zhuǎn)到(2)。
(5)測試完畢,計(jì)算總正確率。
5 ?實(shí)驗(yàn)結(jié)果及分析(Experimental results and? ? ?analysis)
5.1 ? 入侵檢測數(shù)據(jù)集
本實(shí)驗(yàn)采用KDD CPU 1999數(shù)據(jù)集,該數(shù)據(jù)集收集了9周的網(wǎng)絡(luò)連接數(shù)據(jù)。其中,前兩周收集的訓(xùn)練數(shù)據(jù)集大約含有500萬個(gè)網(wǎng)絡(luò)連接,后兩周的測試數(shù)據(jù)集大約含有200萬個(gè)網(wǎng)絡(luò)連接。每個(gè)連接都有41個(gè)特征屬性和1個(gè)標(biāo)簽屬性。每個(gè)標(biāo)簽標(biāo)記著正常或異常,異常類型中又總共包括4大類、39小類攻擊類型,其中有22小類出現(xiàn)在訓(xùn)練集中,17小類出現(xiàn)在測試集當(dāng)中。異常類型的詳細(xì)描述如表1所示。
5.2 ? 實(shí)驗(yàn)結(jié)果與分析
本文從KDD CPU 1999數(shù)據(jù)集的訓(xùn)練集中隨機(jī)抽取了4萬條數(shù)據(jù)作為訓(xùn)練集,從該數(shù)據(jù)集中隨機(jī)抽取了2萬條數(shù)據(jù)作為本次實(shí)驗(yàn)的測試集。對數(shù)據(jù)預(yù)處理之后,采用深度學(xué)習(xí)進(jìn)行降維處理,將原數(shù)據(jù)集中的42個(gè)屬性約減成了9條屬性(包含標(biāo)簽屬性),然后用改進(jìn)的貝葉斯網(wǎng)絡(luò)進(jìn)行建模和分類。
實(shí)驗(yàn)在Matlab 2015b中編程完成,并將本文算法和已有的貝葉斯網(wǎng)絡(luò)算法進(jìn)行比較。實(shí)驗(yàn)表明,在本文算法中,當(dāng)滑動(dòng)窗口N為1000時(shí),檢測效果最好,得到的準(zhǔn)確率對比結(jié)果,如表2所示。在窗口滑動(dòng)過程中,貝葉斯網(wǎng)絡(luò)發(fā)生了多次變化,僅選取其中四次貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)圖,如圖5所示。
6 ? 結(jié)論(Conclusion)
本文基于KDD CPU 1999數(shù)據(jù)集,使用深度學(xué)習(xí)對數(shù)據(jù)集進(jìn)行降維處理,并引入滑動(dòng)窗口和歐氏距離來實(shí)時(shí)更新貝葉斯網(wǎng)絡(luò),來提高正確率。實(shí)驗(yàn)證明,本文的改進(jìn)算法能有效降低計(jì)算量和提高分類正確率。經(jīng)過分析,分類錯(cuò)誤的信息大部分是未知攻擊類型。雖然深度學(xué)習(xí)具有從多維數(shù)據(jù)中提取高級(jí)抽象特征表達(dá)的能力,但依然很難學(xué)習(xí)到高層應(yīng)用行為中復(fù)雜的邏輯行為。如何結(jié)合應(yīng)用層的特征行為來檢測未知攻擊或異常數(shù)據(jù)需要進(jìn)一步的學(xué)習(xí)和研究。
參考文獻(xiàn)(References)
[1] 馮祖洪,李靜.基于主成分分析的改進(jìn)貝葉斯網(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].計(jì)算機(jī)科學(xué)與探索,2012,06(10):912-918.
[5] 歐陽澤華,郭華平,范明.在逐漸縮小的空間上漸進(jìn)學(xué)習(xí)樸素貝葉斯參數(shù)[J].計(jì)算機(jī)應(yīng)用,2012,32(1):223-227.
[6] 周曉慶,肖順文,肖建瓊,等.一種基于改進(jìn)的權(quán)值調(diào)整技術(shù)數(shù)據(jù)源分類算法研究[J].計(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].計(jì)算機(jī)工程,2011,37(7):62-64.
作者簡介:
孫惠麗(1973-),女,本科,講師.研究領(lǐng)域:管理學(xué).
陳維華(1978-),女,碩士,副教授.研究領(lǐng)域:計(jì)算機(jī)應(yīng)用.
劉東朝(1992-),男,碩士,助教.研究領(lǐng)域:計(jì)算機(jī)網(wǎng)絡(luò).