梁 瀟,林清馨
(貴州大學(xué) 貴州 貴陽 550025)
資源的共享和分布增加了網(wǎng)絡(luò)受攻擊的可能性。 目前網(wǎng)絡(luò)安全系統(tǒng)主要采用的是以防火墻為主的被動(dòng)管理,即根據(jù)設(shè)定的規(guī)則,對(duì)流入網(wǎng)絡(luò)中的流量進(jìn)行過濾,從而防止非法行為的入侵[1]。當(dāng)前在網(wǎng)絡(luò)安全問題的解決上所采取的上述技術(shù)手段對(duì)防止系統(tǒng)非法入侵具有一定的效果,但它們只是起著防御的功能,不能完全阻止入侵者通過蠻力攻擊或利用計(jì)算機(jī)軟硬件系統(tǒng)的缺陷闖入未授權(quán)的計(jì)算機(jī)或?yàn)E用計(jì)算機(jī)及網(wǎng)絡(luò)資源,這些技術(shù)手段已經(jīng)不能滿足日益變化的網(wǎng)絡(luò)安全需要了。而另一項(xiàng)技術(shù)——入侵檢測(cè)技術(shù),則有效的彌補(bǔ)了這些不足。
因此,一個(gè)安全的網(wǎng)絡(luò)系統(tǒng)應(yīng)該既要有防火墻等防御手段,也需要有能夠?qū)W(wǎng)絡(luò)安全進(jìn)行實(shí)時(shí)控制、攻擊與反攻擊的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng),實(shí)現(xiàn)網(wǎng)絡(luò)內(nèi)外的聯(lián)合安全防范,為網(wǎng)絡(luò)系統(tǒng)提供良好的安全保障。如今,黑客入侵檢測(cè)系統(tǒng)已經(jīng)成為安全研究界和產(chǎn)業(yè)界所共同關(guān)注的焦點(diǎn)[2-3]。黑客入侵檢測(cè)系統(tǒng)的應(yīng)用,能使在入侵攻擊對(duì)系統(tǒng)發(fā)生危害前,檢測(cè)到入侵攻擊,并利用報(bào)警系統(tǒng)和防護(hù)系統(tǒng)防止黑客入侵攻擊。在黑客入侵攻擊過程中,能減少入侵攻擊所造成的損失;在被入侵攻擊后,收集入侵攻擊的相關(guān)信息,作為防范系統(tǒng)的知識(shí),添加到知識(shí)庫內(nèi),以增強(qiáng)系統(tǒng)的防范能力。
本文的目的就是對(duì)人工神經(jīng)網(wǎng)絡(luò)進(jìn)行適當(dāng)?shù)母倪M(jìn),將其應(yīng)用于網(wǎng)絡(luò)黑客入侵檢測(cè)系統(tǒng)中,以提高系統(tǒng)的效率,包括檢測(cè)速度的提高、減少漏報(bào)率和誤報(bào)率。
一個(gè)黑客入侵檢測(cè)系統(tǒng)的通用模型分為4大部分:
1)事件產(chǎn)生器,2)事件分析器,3)響應(yīng)單元,4)事件數(shù)據(jù)庫。結(jié)構(gòu)如圖1所示。
黑客入侵檢測(cè)系統(tǒng)需要分析的數(shù)據(jù)統(tǒng)稱為事件,它可以是基于網(wǎng)絡(luò)的黑客入侵檢測(cè)系統(tǒng)中的數(shù)據(jù)包,也可以是基于主機(jī)的黑客入侵檢測(cè)系統(tǒng)從系統(tǒng)日志等其他途徑得到的信息。事件產(chǎn)生器的目的是從整個(gè)計(jì)算環(huán)境中獲得事件,并向系統(tǒng)的其他部分提供此事件。為促進(jìn)入侵檢測(cè)系統(tǒng)間的合作,它也對(duì)于各部件之間的信息傳遞格式、通信方法和標(biāo)準(zhǔn)API進(jìn)行了標(biāo)準(zhǔn)化[4]。事件分析器分析得到的數(shù)據(jù),并產(chǎn)生分析結(jié)果。響應(yīng)單元?jiǎng)t是對(duì)分析結(jié)果做出反應(yīng)的功能單元,它可以做出切斷連接、改變文件屬性等強(qiáng)烈反應(yīng),甚至發(fā)動(dòng)對(duì)攻擊者的反擊,也可以只是簡(jiǎn)單的報(bào)警。事件數(shù)據(jù)庫是存放各種中間和最終數(shù)據(jù)的地方的統(tǒng)稱,它可以是復(fù)雜的數(shù)據(jù)庫,也可以是簡(jiǎn)單的文本文件。
圖1 黑客入侵檢測(cè)系統(tǒng)框架Fig.1 Framework of hacker intrusion detection system
在現(xiàn)有的黑客入侵檢測(cè)系統(tǒng)中,經(jīng)常用日志提取、分析引擎和報(bào)警機(jī)制來分別代替事件產(chǎn)生器、事件分析器和響應(yīng)單元這些術(shù)語,而事件數(shù)據(jù)庫常簡(jiǎn)單表現(xiàn)為日志文件的形式。
一個(gè)完善的人工神經(jīng)網(wǎng)路的黑客入侵檢測(cè)系統(tǒng)在結(jié)構(gòu)上應(yīng)該包括事件產(chǎn)生器、事件分析器、事件數(shù)據(jù)庫和響應(yīng)單元等4大部分[5]。作為一項(xiàng)主要目的是嘗試和驗(yàn)證神經(jīng)網(wǎng)絡(luò)技術(shù)在網(wǎng)絡(luò)黑客入侵檢測(cè)系統(tǒng)中應(yīng)用的可行性和有效性的研究工作,我們的精力和重點(diǎn)更多的集中在數(shù)據(jù)的收集(代表事件產(chǎn)生器)和數(shù)據(jù)分析(代表事件分析器)上,相應(yīng)的部件在我們的系統(tǒng)里邊分別稱為數(shù)據(jù)收集模塊和神經(jīng)網(wǎng)絡(luò)分類模塊。對(duì)于事件數(shù)據(jù)庫和響應(yīng)單元,我們簡(jiǎn)單的用日志文件和報(bào)警機(jī)制來實(shí)現(xiàn)。圖2給出了系統(tǒng)的總體結(jié)構(gòu)。
圖2 基于人工神經(jīng)網(wǎng)絡(luò)的黑客入侵檢測(cè)系統(tǒng)體系結(jié)構(gòu)Fig.2 Architecture of hacker intrusion detection system based on artificial neural network
結(jié)合上圖,其工作原理是:數(shù)據(jù)收集模塊讀取主機(jī)日志文件,并捕獲所有流經(jīng)系統(tǒng)監(jiān)測(cè)網(wǎng)段的網(wǎng)絡(luò)數(shù)據(jù)流,預(yù)處理模塊對(duì)所有收集到的數(shù)據(jù)流進(jìn)行分析處理,提取出可以完備而準(zhǔn)確代表該數(shù)據(jù)流的特征向量并轉(zhuǎn)化為神經(jīng)網(wǎng)絡(luò)可識(shí)別的輸入,將該特征向量提交給神經(jīng)網(wǎng)絡(luò)分類模塊,神經(jīng)網(wǎng)絡(luò)分類模塊對(duì)這一特征向量進(jìn)行分析和處理,從而判別出是否是一種入侵行為,如果神經(jīng)網(wǎng)絡(luò)分類引擎經(jīng)過分析處理以后認(rèn)為是一種攻擊行為,則向用戶發(fā)出警告信息,并將攻擊事件相關(guān)信息記錄在日志文件里,以備事后計(jì)算機(jī)取證;如果發(fā)現(xiàn)是一種未知類型的攻擊行為,則將該次攻擊事件加入到攻擊樣本庫里,以備神經(jīng)網(wǎng)絡(luò)分類模塊的再學(xué)習(xí)。這體現(xiàn)了神經(jīng)網(wǎng)絡(luò)所具備的不斷學(xué)習(xí)以識(shí)別更多類型攻擊行為的能力,也是神經(jīng)網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)相比于一般的基于規(guī)則入侵檢測(cè)系統(tǒng)的突出優(yōu)勢(shì)和亮點(diǎn),對(duì)入侵檢測(cè)系統(tǒng)的實(shí)際應(yīng)用具有很大的價(jià)值[6]。
1)數(shù)據(jù)收集功能分析
本系統(tǒng)采用分布式入侵檢測(cè)系統(tǒng),因此其數(shù)據(jù)源來自于兩部分,該模塊主要實(shí)現(xiàn)捕獲網(wǎng)絡(luò)數(shù)據(jù)包和讀取主機(jī)日志文件的功能。其結(jié)構(gòu)如圖3所示。
2)數(shù)據(jù)預(yù)處理功能分析
圖3 數(shù)據(jù)收集模塊示意圖Fig.3 Schematic diagram of the data collection module
該模塊對(duì)數(shù)據(jù)收集模塊送來的原始數(shù)據(jù)包做進(jìn)一步的加工處理,包括對(duì)數(shù)據(jù)包進(jìn)行解碼,過濾掉其中的錯(cuò)誤數(shù)據(jù)和重復(fù)數(shù)據(jù),將原始的數(shù)據(jù)源轉(zhuǎn)化為事件分析器可以識(shí)別的數(shù)據(jù)流,即標(biāo)準(zhǔn)化數(shù)據(jù)源,并產(chǎn)生相應(yīng)的特征值作為神經(jīng)網(wǎng)絡(luò)分類模塊的輸入值。
3)神經(jīng)網(wǎng)絡(luò)分類功能分析
根據(jù)標(biāo)準(zhǔn)的數(shù)據(jù)源提供的數(shù)據(jù)進(jìn)行分析分類,做出是否有入侵行為的判斷,并將判斷結(jié)果發(fā)送給其自身的事件報(bào)告模塊,同時(shí)發(fā)送給報(bào)警機(jī)制,根據(jù)事態(tài)的嚴(yán)重程度不同,采取相應(yīng)行動(dòng),若發(fā)現(xiàn)了未知類型攻擊行為,可以在用戶參與下將該次攻擊事件加入到攻擊樣本庫里,以備神經(jīng)網(wǎng)絡(luò)分類引擎的再學(xué)習(xí),其結(jié)構(gòu)如圖4所示。
圖4 神經(jīng)網(wǎng)絡(luò)分類引擎模塊示意圖Fig.4 Schematic diagram of neural network classification engine module
4)報(bào)警機(jī)制
如果神經(jīng)網(wǎng)絡(luò)分類引擎經(jīng)過分析處理以后認(rèn)為是一種攻擊行為,則向用戶發(fā)出警告信息,并按結(jié)果的輕重緩急采取相應(yīng)的安全措施,同時(shí)將攻擊事件相關(guān)信息記錄在日志文件里,以備事后計(jì)算機(jī)取證。
5)攻擊樣本庫
將發(fā)現(xiàn)的未知類型攻擊行為,在用戶參與下將該次攻擊事件加入到攻擊樣本庫里,以備人工神經(jīng)網(wǎng)絡(luò)分類引擎的再學(xué)習(xí)。
使用人工神經(jīng)網(wǎng)絡(luò)作為獨(dú)立的分析模塊時(shí),不需要像某些實(shí)時(shí)系統(tǒng)那樣維持一個(gè)專門知識(shí)庫,而且時(shí)時(shí)更新。訓(xùn)練良好的人工神經(jīng)網(wǎng)絡(luò)有很好的推廣性,可以成功地檢測(cè)具有相同或相似特征的不同攻擊[7]。但是,由于入侵方式的多樣性和多變性,訓(xùn)練完成的人工神經(jīng)網(wǎng)絡(luò)不可能對(duì)往后遇到的所有新型入侵行為都有效,因此重新訓(xùn)練是很有必要的;再者,為了滿足事后求證的需要,要求備份某些有用信息,所以不能在提取到特征信息后就將原始數(shù)據(jù)包徹底丟棄。人工神經(jīng)網(wǎng)絡(luò)檢測(cè)模塊接收來自數(shù)據(jù)預(yù)處理模塊生成的多個(gè)檢測(cè)特征矢量,并啟動(dòng)檢測(cè)功能,以判斷是否有入侵發(fā)生。
本實(shí)驗(yàn)以1 000個(gè)樣本數(shù)據(jù)輸入神經(jīng)網(wǎng)絡(luò),其中Code Red攻擊1 000次,DoS攻擊1 000次,木馬攻擊1 000次,CodeRed變種1 000次。
本實(shí)驗(yàn)的實(shí)驗(yàn)環(huán)境:Core(TM)2,1.66 GHz,內(nèi)存 1 G,網(wǎng)卡D-Link 100 M。
下面是神經(jīng)網(wǎng)絡(luò)底檢測(cè)結(jié)果:
漏報(bào)率=[實(shí)際黑客入侵次數(shù)-正確報(bào)警數(shù)]/實(shí)際黑客入侵次數(shù)
誤報(bào)率=錯(cuò)誤報(bào)警率 /正常數(shù)據(jù)包總數(shù)(6 000)
檢測(cè)Times為檢測(cè)1 000個(gè)樣本數(shù)據(jù)包的時(shí)間
表1 使用未改進(jìn)的神經(jīng)網(wǎng)絡(luò)后的實(shí)驗(yàn)結(jié)果Tab.1 The results of using non-im proved neural network
表2 使用改進(jìn)的神經(jīng)網(wǎng)絡(luò)后的實(shí)驗(yàn)結(jié)果Tab.2 The results of using imp roved neural network
表3 未使用神經(jīng)網(wǎng)絡(luò)的實(shí)驗(yàn)結(jié)果Tab.3 The resu lts of w ithout neural network
通過上面的實(shí)驗(yàn)結(jié)果,得出以下幾點(diǎn)結(jié)論:
1)將人工神經(jīng)網(wǎng)絡(luò)應(yīng)用在網(wǎng)絡(luò)黑客入侵檢測(cè)系統(tǒng)中提高了系統(tǒng)的性能及自學(xué)習(xí)能。由于在上面的樣本數(shù)據(jù)包中,我們的規(guī)則庫中事先并沒有與CodeRed變種相對(duì)應(yīng)的規(guī)則,在對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練的時(shí)候也并不包含CodeRed變種的學(xué)習(xí)樣本,所以CodeRed變種對(duì)于入侵檢測(cè)系統(tǒng)來說是一個(gè)全新的攻擊類型,那么通過上面的實(shí)驗(yàn)結(jié)果,我們發(fā)現(xiàn),在使用神經(jīng)網(wǎng)絡(luò)的系統(tǒng)中,我們能夠鑒別出這種攻擊,檢測(cè)成功率低是因?yàn)槲覀兊臄?shù)據(jù)包數(shù)量較小,不能夠讓神經(jīng)網(wǎng)絡(luò)得到充分的學(xué)習(xí),如果有足夠的數(shù)據(jù)樣本,檢測(cè)率將很快上升。
2)將人工神經(jīng)網(wǎng)絡(luò)應(yīng)用在入侵檢測(cè)系統(tǒng)中對(duì)于降低系統(tǒng)的漏報(bào)率和誤報(bào)率起到了較大的作用。而改進(jìn)后的PB算法使其進(jìn)一步降低。
3)改進(jìn)后的BP算法提高了神經(jīng)網(wǎng)絡(luò)的收斂速度,反應(yīng)在檢測(cè)時(shí)間上,我們可以看到從12 000 ms提高到9 500 ms(這樣的檢測(cè)速度相對(duì)于商用檢測(cè)系統(tǒng)來說依然是較慢的,但是文中實(shí)現(xiàn)的只是一個(gè)簡(jiǎn)單的系統(tǒng),系統(tǒng)結(jié)構(gòu)較為簡(jiǎn)單,代碼也并未進(jìn)行優(yōu)化),而神經(jīng)網(wǎng)絡(luò)也的確可以提高檢測(cè)效率(不使用神經(jīng)網(wǎng)絡(luò)時(shí)耗時(shí)15 000 ms)。
黑客入侵檢測(cè)技術(shù)己經(jīng)發(fā)展了十多年,但是由于黑客入侵手段的復(fù)雜性和多變性,想要確定黑客入侵行為與網(wǎng)絡(luò)數(shù)據(jù)特征之間的函數(shù)關(guān)系是不可能的,因此只能對(duì)其進(jìn)行估計(jì)和逼近。人工智能技術(shù)在黑客入侵檢測(cè)中的應(yīng)用就是為了實(shí)現(xiàn)該關(guān)系函數(shù)的逼近,應(yīng)對(duì)多變的網(wǎng)絡(luò)安全現(xiàn)狀。人工神經(jīng)網(wǎng)絡(luò)是人工智能的一個(gè)研究領(lǐng)域,多年來已經(jīng)發(fā)展得比較成熟。人工神經(jīng)網(wǎng)絡(luò)具有良好的自適應(yīng)能力和泛化能力,人工神經(jīng)網(wǎng)絡(luò)的非線性處理能力和概括抽象能力非常適應(yīng)處理入侵檢測(cè)這類問題。
本文主要研究人工神經(jīng)網(wǎng)絡(luò)在入侵檢測(cè)中的應(yīng)用。研究如何將神經(jīng)網(wǎng)絡(luò)成功應(yīng)用于入侵檢測(cè),并給出了一個(gè)基于神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)的模型,該模型由數(shù)據(jù)收集模塊、預(yù)處理模塊、神經(jīng)網(wǎng)絡(luò)分類模塊、攻擊樣本庫、報(bào)警機(jī)制5部分組成,其中詳細(xì)介紹了本文的研究重點(diǎn)—神經(jīng)網(wǎng)絡(luò)分類模塊。
[1]薛俊,陳行,陶軍.一種基于神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)技術(shù)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009,19(8):148-154.XUE Jun,CHEN Xing,TAO Jun.The intrusion detection technology based on neural network[J].Computer Technology and Development,2009,19(8):148-154.
[2]朱守業(yè).基于BP神經(jīng)網(wǎng)絡(luò)和Bagging算法的入侵檢測(cè)[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(18):123-125.ZHU Shou-ye.The intrusion detection based on BP neural network and Bagging arithmetic[J].Computer Engineering and Applications,2009,45(18):123-125.
[3]林果園,曹天杰.入侵檢測(cè)系統(tǒng)研究綜述[J].計(jì)算機(jī)應(yīng)用與軟件,2009,26(3):14-17.LINGuo-yuan,CAOTian-jie.Intrusion detection system review[J].Computer Applications and Software,2009,26(3):14-17.
[4]徐暉,張衛(wèi)平.入侵檢測(cè)系統(tǒng)的發(fā)展與研究[J].微機(jī)發(fā)展,2003,13(1):67-69.XU Hui,ZHANG Wei-ping.Intrusion detection system developmentand research[J].Computer Developoment,2003,13(1):67-69.
[5]薛英花,呂述望.入侵檢測(cè)系統(tǒng)研究[J].計(jì)算機(jī)工程與應(yīng)用,2003,39(1):150-152.XUE Ying-hua,LV Shu-wang.Intrusion detection system research[J].Computer Engineering and Applications,2003,39(1):150-152.
[6]張瑞霞,王勇.入侵檢測(cè)系統(tǒng)綜述[J].計(jì)算機(jī)工程與科學(xué),2002,24(6):27-31.ZHANG Rui-xia,WANG Yong.Intrusion detection system review[J].Computer Engineering and Science,2002,24(6):27-31.
[7]李家春,李之棠.神經(jīng)模糊入侵檢測(cè)系統(tǒng)的研究[J].計(jì)算機(jī)工程與應(yīng)用,2001,37(17):37-38.LI Jia-chun,LI Zhi-tang.Research of Neuro-Fuzzy intrusion detection system[J].Computer Engineering and Applications,2001,37(17):37-38.