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