邵伯樂(lè)
(亳州職業(yè)技術(shù)學(xué)院網(wǎng)絡(luò)中心,安徽亳州 236800)
一種基于禁忌神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測(cè)模型
邵伯樂(lè)
(亳州職業(yè)技術(shù)學(xué)院網(wǎng)絡(luò)中心,安徽亳州 236800)
隨著互聯(lián)網(wǎng)的發(fā)展和普及,傳統(tǒng)網(wǎng)絡(luò)入侵防范方法如防火墻、數(shù)據(jù)加密等已經(jīng)很難保證系統(tǒng)和網(wǎng)絡(luò)資源的安全。為此,本文設(shè)計(jì)了基于改進(jìn)禁忌算法和神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測(cè)方法。首先建立三層的BP神經(jīng)網(wǎng)絡(luò)模型用于實(shí)現(xiàn)入侵檢測(cè)。然后通過(guò)BP反向傳播算法獲取網(wǎng)絡(luò)的權(quán)值和閥值等參數(shù),并設(shè)計(jì)了一種基于雙禁忌表的改進(jìn)禁忌優(yōu)化算法,采用此改進(jìn)的禁忌優(yōu)化算法對(duì)BP算法優(yōu)化得到的權(quán)值和閥值進(jìn)行進(jìn)一步尋優(yōu)。最后,將禁忌算法優(yōu)化后的神經(jīng)網(wǎng)絡(luò)用于網(wǎng)絡(luò)入侵檢測(cè)。仿真實(shí)驗(yàn)表明,此方法能夠有效地實(shí)現(xiàn)網(wǎng)絡(luò)入侵檢測(cè),具有較快的收斂速度和較高的檢測(cè)率,是一種適合網(wǎng)絡(luò)入侵檢測(cè)的可行方法。
網(wǎng)絡(luò)入侵檢測(cè);神經(jīng)網(wǎng)絡(luò);禁忌算法;優(yōu)化
隨著互聯(lián)網(wǎng)的飛速發(fā)展和普及,計(jì)算機(jī)病毒和黑客攻擊等網(wǎng)絡(luò)安全問(wèn)題日益嚴(yán)重,據(jù)不完全統(tǒng)計(jì),每年全球因計(jì)算機(jī)安全問(wèn)題而導(dǎo)致的系統(tǒng)破壞造成的損失就高達(dá)百億美元,因此,網(wǎng)絡(luò)安全問(wèn)題已經(jīng)引起政府、工業(yè)和科學(xué)界的高度關(guān)注[1-2]。入侵檢測(cè)(Intrusion Detection)是一種解決網(wǎng)絡(luò)安全問(wèn)題的重要手段,能實(shí)現(xiàn)網(wǎng)絡(luò)攻擊的全面檢測(cè)[3],入侵檢測(cè)方法一般可以分為兩類:誤用檢測(cè)和異常檢測(cè)。誤用檢測(cè)方法是在首先獲得了各類攻擊行為組成的攻擊特征數(shù)據(jù)庫(kù)的基礎(chǔ)上,將樣本與特征數(shù)據(jù)庫(kù)進(jìn)行匹配以確定攻擊事件;異常檢測(cè)方法則與誤用檢測(cè)方法相反,是通過(guò)建立正常行為對(duì)應(yīng)的正常特征數(shù)據(jù)庫(kù),然后將用戶行為與數(shù)據(jù)庫(kù)中的特征匹配以檢測(cè)是否發(fā)生攻擊。
圖1 三層BP神經(jīng)網(wǎng)絡(luò)模型
目前,異常檢測(cè)技術(shù)由于具有匹配數(shù)據(jù)量較小和實(shí)現(xiàn)簡(jiǎn)單的優(yōu)點(diǎn),因此已經(jīng)成為網(wǎng)絡(luò)安全領(lǐng)域的研究熱點(diǎn),目前已出現(xiàn)的方法主要是基于專家系統(tǒng)[4]、支持向量機(jī)[5]和神經(jīng)網(wǎng)絡(luò)[6]的方法。基于神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測(cè)方法可以在大量樣本對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練的基礎(chǔ)上實(shí)現(xiàn)網(wǎng)絡(luò)模型的泛化,使得入侵檢測(cè)系統(tǒng)具有很好的攻擊預(yù)測(cè)能力。但是經(jīng)典的BP反向傳播算法對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練時(shí),往往采用梯度下降算法,具有學(xué)習(xí)速度慢和容易陷入局部最優(yōu)解的缺點(diǎn)。因此,文中提出了一種基于禁忌算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測(cè)方法,能有效克服BP反向傳播算法的不足,并通過(guò)實(shí)驗(yàn)證明了該方法的有效性。
BP神經(jīng)網(wǎng)絡(luò)是由Rumelhart和McCelland為首的科學(xué)家小組在1986年提出的一種根據(jù)誤差反向傳播(Back Propogation,BP)算法進(jìn)行訓(xùn)練的前饋型網(wǎng)絡(luò),是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一。BP網(wǎng)絡(luò)能通過(guò)樣本訓(xùn)練學(xué)習(xí)和存儲(chǔ)大量輸入-輸出模式映射關(guān)系,通過(guò)梯度下降算法來(lái)不斷調(diào)整網(wǎng)絡(luò)權(quán)值和閥值,使得樣本經(jīng)過(guò)網(wǎng)絡(luò)輸出后與真實(shí)的輸出之間的誤差平方和最小。
三層的BP神經(jīng)網(wǎng)絡(luò)是一個(gè)包含一個(gè)輸入層(Input Layer)、隱含層(Hide Layer)和輸出層(Output Layer)的BP神經(jīng)網(wǎng)絡(luò),一個(gè)三層的BP神經(jīng)網(wǎng)絡(luò)如圖1所示。
輸入層輸入的樣本數(shù)據(jù)可以表示為X={x1,x2,…,xn},輸入層與隱藏層之間的權(quán)值為uij=(i=1,2,…,n;j=1,2,…,m),其中m為隱藏層神經(jīng)元個(gè)數(shù),nij=(i=1,2,…,m;j=1,2,…,q),q為隱藏層神經(jīng)元個(gè)數(shù),bj為閥值,f(·)為激勵(lì)函數(shù),第j個(gè)神經(jīng)元yj(j=1,2,…,q)的輸出可以表示為:
(1)
其中,si為隱藏層神經(jīng)元的輸出。
2.1 入侵檢測(cè)原理
當(dāng)神經(jīng)網(wǎng)絡(luò)通過(guò)樣本數(shù)據(jù)訓(xùn)練完畢后,就可以將新的樣本數(shù)據(jù)輸入網(wǎng)絡(luò)來(lái)判斷是否發(fā)生了攻擊以及對(duì)應(yīng)的攻擊類型,因此,首先對(duì)神經(jīng)網(wǎng)絡(luò)的權(quán)值采用BP算法進(jìn)行初始值求解,然后通過(guò)改進(jìn)的禁忌算法對(duì)其進(jìn)行優(yōu)化,最后將測(cè)試樣本數(shù)據(jù)輸入網(wǎng)絡(luò)判斷攻擊類別。
2.2 神經(jīng)網(wǎng)絡(luò)參數(shù)的初始訓(xùn)練
假設(shè)存在N個(gè)訓(xùn)練樣本對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,誤差平方和如公式(2)所示:
(2)
其中,yij為第i個(gè)樣本的第個(gè)輸出值,^yij為第i個(gè)樣本的真實(shí)值。
從輸出層開(kāi)始向輸入層反向進(jìn)行傳播,對(duì)各神經(jīng)元連接的權(quán)值和閥值進(jìn)行調(diào)整,如公式(3)所示。
(3)
其中,η為學(xué)習(xí)率,t表示訓(xùn)練過(guò)程中的當(dāng)前迭代次數(shù),r表示當(dāng)前層。采用式(3)對(duì)神經(jīng)網(wǎng)絡(luò)的權(quán)值和閥值等參數(shù)進(jìn)行不斷訓(xùn)練,直到網(wǎng)絡(luò)的輸出誤差滿足誤差閥值。
2.3 禁忌算法
禁忌算法[7](Tabu Search,TS)是由Glover于1986年提出的一種智能優(yōu)化算法,是一種擴(kuò)展的局部鄰域搜索算法。TS算法采用線性表來(lái)存儲(chǔ)禁忌對(duì)象,即已經(jīng)獲取的最優(yōu)解,并通過(guò)禁忌準(zhǔn)則來(lái)避免迂回搜索,采用藐視準(zhǔn)則來(lái)赦免一些被禁忌的最優(yōu)解,可以增加算法尋優(yōu)過(guò)程中獲取最優(yōu)解的能力,最終可以保證算法具有較強(qiáng)的全局搜索能力,經(jīng)典禁忌優(yōu)化的流程如圖2所示。
2.4 改進(jìn)的禁忌算法
為了對(duì)經(jīng)典的禁忌算法進(jìn)行改進(jìn),進(jìn)一步加快收斂速度和獲取全局最優(yōu)解,對(duì)禁忌表進(jìn)行改進(jìn),引入雙禁忌表,即對(duì)于不同對(duì)象設(shè)置不同的禁忌范圍,先以解向量的分量即權(quán)值閥值向量的分量作為禁忌對(duì)象,當(dāng)搜索過(guò)程結(jié)束后,再以當(dāng)前求取的最優(yōu)解為初始解進(jìn)行禁忌搜索,直到滿足算法結(jié)束條件,如圖3所示。其中,F(xiàn)lag為T(mén)rue表示網(wǎng)絡(luò)預(yù)測(cè)誤差小于指定閥值。
采用MATLAB工具對(duì)文中方法進(jìn)行驗(yàn)證,從KDD99 CUP入侵檢測(cè)數(shù)據(jù)庫(kù)中提取數(shù)據(jù)作為訓(xùn)練樣本和測(cè)試樣本,KDD99 CUP入侵檢測(cè)數(shù)據(jù)庫(kù)是DARPA入侵檢測(cè)項(xiàng)目數(shù)據(jù)庫(kù)的子集,共包含4類攻擊共22種,分別為拒絕服務(wù)攻擊(DOS)、遠(yuǎn)程用戶未授權(quán)訪問(wèn)攻擊(R2L)、本地用戶權(quán)限提升攻擊(U2R)和探測(cè)攻擊(Probe),這些攻擊樣本數(shù)據(jù)共41個(gè)特征,第42~46分別表示正常、DOS攻擊、R2L攻擊、U2R攻擊和Probe攻擊,神經(jīng)網(wǎng)絡(luò)的輸入層神經(jīng)元個(gè)數(shù)為41,輸出層神經(jīng)元個(gè)數(shù)為5,隱藏層神經(jīng)元個(gè)數(shù)選取為10個(gè),從KDD99 CUP中選取1500組,其中900組為訓(xùn)練樣本數(shù)據(jù),600組為測(cè)試樣本數(shù)據(jù),目標(biāo)誤差為0.0001,在迭代次數(shù)達(dá)到400次以上,文中方法的檢測(cè)誤差如圖4所示。
圖2 禁忌算法流程
圖3 改進(jìn)的禁忌算法
圖4 檢測(cè)結(jié)果
從圖4中可以看出,在迭代500次后,檢測(cè)結(jié)果的平均誤差降到了0.0001,BP神經(jīng)網(wǎng)絡(luò)的輸出誤差仍為0.08,且在迭代次數(shù)為400時(shí)就陷入早熟收斂。為了驗(yàn)證本文方法的優(yōu)越性,將該方法與文獻(xiàn)[8]以及經(jīng)典的BP神經(jīng)網(wǎng)絡(luò)從迭代次數(shù)、訓(xùn)練時(shí)間、檢測(cè)率和誤檢率等4個(gè)方面進(jìn)行比較,檢測(cè)率可以定義為:
(4)
誤檢率FPR可以通過(guò)下式進(jìn)行計(jì)算:
FPR=KR+MR.
(5)
其中,KR為虛警率,MR為漏警率,KR通過(guò)下式計(jì)算:
(6)
MR通過(guò)下式計(jì)算:
(7)
3種方法對(duì)應(yīng)的迭代次數(shù)、訓(xùn)練時(shí)間、檢測(cè)率DR和FPR誤檢率結(jié)果如表1所示:
表1 各類方法比較結(jié)果
表1中可以看出,文中方法對(duì)應(yīng)的迭代次數(shù)、訓(xùn)練時(shí)間、檢測(cè)率和誤檢率遠(yuǎn)遠(yuǎn)優(yōu)于經(jīng)典的BP神經(jīng)網(wǎng)絡(luò)方法和文獻(xiàn)[8]所示方法。
為了實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)進(jìn)行有效檢測(cè),本文設(shè)計(jì)了一種基于禁忌神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測(cè)方法。在通過(guò)BP算法對(duì)網(wǎng)絡(luò)進(jìn)行初始訓(xùn)練的基礎(chǔ)上,采用禁忌算法對(duì)其進(jìn)行進(jìn)一步優(yōu)化,然后再將攻擊樣本數(shù)據(jù)庫(kù)的測(cè)試樣本數(shù)據(jù)用于網(wǎng)絡(luò)入侵檢測(cè)。實(shí)驗(yàn)結(jié)果表明了本文方法能有效地進(jìn)行網(wǎng)絡(luò)檢測(cè),且具有訓(xùn)練時(shí)間少、檢測(cè)效率高和檢測(cè)精度高的優(yōu)點(diǎn)。
[1]De P,Liu Yong-he.Das S K.Deploymen-aware modeling of node compromise spread in wireless sensor networks using epidemic theory[J].ACM Transactions on Sensor Networks,2009,5(3):413-425.
[2]楊照峰,樊愛(ài)京,樊愛(ài)宛.基于自適應(yīng)蟻群聚類的入侵檢測(cè)[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(12):90-96.
[3]Fulp E W.Parallel firewall designs for high—speed networks[C]//25th IEEE International Conference on Computer Communications,Barcelona.Spain,2006:1-4.
[4]何波,程勇軍,涂飛,等.自適應(yīng)入侵檢測(cè)專家系統(tǒng)模型[J].計(jì)算機(jī)工程,2007,33(10):158-160.
[5]黃艷秋.IA-SVM算法在網(wǎng)絡(luò)入侵檢測(cè)中的研究[J].計(jì)算機(jī)仿真,2011,1(28):182-185.
[6]汪潔.基于神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2013,5(30):320-322.
[7]Palubeckis G.Multistart tabu search strategies for the unconstrained binary quadratic optimization problem[J].Annals of Operations Research,2004,131(1-4):259-282.
[8]袁浩.基于量子粒子群的BP網(wǎng)絡(luò)用于入侵檢測(cè)[J].傳感器與微系統(tǒng),2010,2(29):108-111.
A Network Intrusion Detection Model Based on Tabu Neural Network
SHAO Bo-le
(Bozhou Vocational and Technical College, Bozhou Anhui 236800, China)
With the further development of the Internet and the popularization of network, the traditional network detection methods such as firewall and data encryption cannot guarantee the security of system and network resource. Therefore, the network intrusion method based on the improved tabu algorithm and neural network is proposed in this paper. Firstly, the three-layer BP model for network intrusion detection is set up, then the BP back propagation algorithm is used to obtain the parameters such as weight and threshold, and an improved tabu algorithm based on double tabu table is designed and used to optimize the parameters such as weight and threshold. Finally, the tabu algorism optimizing neural network is put forward to detect network intrusion. The simulation experiments show that this method can effectively realize the network intrusion detection. The method has faster convergence speed and higher detection rate, so it is suitable for a feasible way to detect network intrusion.
network intrusion detection; neural network; tabu algorithm; optimization
2014-02-06
邵伯樂(lè)(1976- ),男,安徽亳州人,亳州職業(yè)技術(shù)學(xué)院網(wǎng)絡(luò)中心助教,碩士,從事網(wǎng)絡(luò)應(yīng)用與信息安全研究。
TP393
A
2095-7602(2014)04-0047-04