白鵬翔,張清華,段 富,楊忠明
(1.太原理工大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,山西 太原030024;2.廣東石油化工學(xué)院 計算機(jī)與電子信息學(xué)院,廣東 茂名525000;3.廣東科學(xué)技術(shù)職業(yè)學(xué)院 計算機(jī)工程技術(shù)學(xué)院,廣東 珠海519090)
到目前為止,基于最基本的入侵檢測系統(tǒng)[1]可以分為兩類,一類是誤用檢測[2],即首先建立一個已知的攻擊片段的數(shù)據(jù)集,通過將監(jiān)測到的行為與該數(shù)據(jù)集中的攻擊數(shù)據(jù)進(jìn)行匹配來判斷該行為是否異常;另一類是異常檢測[3],即首先為系統(tǒng)建立一個正常行為的文件集,通過將檢測到行為與之比對做出判斷。然而,不論是誤用檢測還是異常檢測都會在檢測系統(tǒng)中產(chǎn)生大量的報警,其中有絕大部分的報警是誤報警,給管理人員和系統(tǒng)造成巨大的壓力,因此找到能夠減少誤報警數(shù)量的方法是很迫切的。文獻(xiàn) [4]提出了一種利用信息熵的方法來降低誤報率,大量減少誤報警個數(shù);文獻(xiàn) [5]中介紹一種混合的方法來降低誤報率;文獻(xiàn) [6]中提出了利用收集機(jī)制來降低入侵系統(tǒng)中的誤報警數(shù)量;文獻(xiàn) [7]中提出了利用基于Agent的關(guān)聯(lián)模型來過濾誤報警。在此基礎(chǔ)上,本文通過研習(xí)人工免疫算法具有強(qiáng)大的自學(xué)習(xí)能力以及很好的魯棒性等特點(diǎn),在模糊規(guī)則的基礎(chǔ)上提出一種免疫算法模型來對網(wǎng)絡(luò)入侵中產(chǎn)生的報警進(jìn)行二次優(yōu)化,以達(dá)到減少報警的個數(shù)從而減輕系統(tǒng)的負(fù)載。通過實(shí)驗(yàn)仿真并與一些算法比較驗(yàn)證了本文方法具有一定的可行性和高效性。
假定給定一個目標(biāo)問題P 和一個條件庫T ,為了解決目標(biāo)問題P,我們從條件庫中選擇一些滿足問題的P 的條件t,由這些條件t組成的一條路徑可以稱為一條模糊規(guī)則[8,9],由這些條件在不同的情況下可以相互組合成為不同的模糊規(guī)則,進(jìn)而這些模糊規(guī)則組合在一起成為模糊規(guī)則庫。所謂模糊規(guī)則庫,是模糊系統(tǒng)中重要的組成部分,模糊系統(tǒng)基于模糊規(guī)則的使用在模糊控制、圖像處理以及通信和模式識別方面具有重大的應(yīng)用;鑒于模糊規(guī)則的廣泛使用性,將其應(yīng)用在本文對網(wǎng)絡(luò)入侵誤報警的研究中,以此獲得高性能的方法。因此,將模糊規(guī)則作為一種判定準(zhǔn)則引入進(jìn)來具有其特定的優(yōu)勢:
(1)模糊規(guī)則if-then 模式是一種比較普遍的規(guī)則,在為某兩個事件的相似性上提供相關(guān)知識時,它要比基于距離的匹配函數(shù)更加靈活;擁有更豐富、更完整的模糊規(guī)則可以更好的對事件進(jìn)行評價,從而獲得更好的實(shí)用性并使其應(yīng)用在更廣闊的問題空間中;
(2)包含有模糊規(guī)則的規(guī)則庫的本質(zhì)是利用模糊規(guī)則可以從多源的地方獲取知識,從而使規(guī)則庫更加完善;同時我們不僅可以采用知識工程的方法從單個或者多個專家領(lǐng)域中獲取更高質(zhì)量的模糊規(guī)則,而且也可以通過機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘的方法從某個事件中的現(xiàn)有數(shù)據(jù)中學(xué)習(xí)得到模糊規(guī)則;
(3)通過個體語言規(guī)則的解釋方式,模糊知識庫可以被很好的理解。因此,用戶可以通過回顧檢查已有的模糊規(guī)則很簡單的明白是如何并且為什么選擇該事件,這就為用戶和動態(tài)的系統(tǒng)之間提供一個機(jī)會,使用戶和系統(tǒng)之間能夠更好的交互。
假定報警a2是由入侵檢測系統(tǒng)產(chǎn)生的一個報警,a1是從已經(jīng)存在的報警中選取的一個報警;為了確定報警a2與報警a1之間的關(guān)聯(lián)程度,我們需要從兩個報警中選取一些特征,從而產(chǎn)生一個特征向量。基于此,選取以下的5 個特征[10]作為我們本實(shí)驗(yàn)的特征:
(1)F1:報警a1與報警a2之間源IP 的相似度,在0到1之間;
(2)F2:報警a1與報警a2之間目的IP的相似度,在0到1之間;
(3)F3:報警a1與報警a2之間目的端口的相似度,或?yàn)?或?yàn)?;
(4)F4:報 警a1的 目 的IP 與 報 警a2的 源IP 的 相 似度,或?yàn)?或?yàn)?;
(5)F5:報警a1比報警a2早產(chǎn)生的程度,在0 到1之間。
對于特征F1和F2,首先將報警a1和a2的十進(jìn)制IP地址轉(zhuǎn)化成二進(jìn)制的IP地址,之后得到兩個報警高序位的相同個數(shù)再除以32就可得到F1和F2的值,例如兩個報警的IP為19.168.20.43和192.168.34.17,則其對應(yīng)的有18個相同的高序位,則相似度為0.56;對于特征F3可以判斷a1與a2的端口號是否相同,相同則為1,不同則為0;對于特征F4,是一個比較重要的特征,因?yàn)樵谝粋€多步攻擊的環(huán)境中,第一步的成功攻擊往往是后續(xù)攻擊的開始,黑客可以通過攻擊某一個主機(jī)后攻擊與之相連的主機(jī),即a1的目的IP與a2的源IP要么相同要么不同,因此F4的值或?yàn)?或?yàn)?;對于特征F5,可以表示兩個報警在1小時內(nèi)產(chǎn)生的先后順序,F(xiàn)5的計算方式如式 (1)所示
其 中,t的值 為3600,a1.time與a2.time分別 為報 警a1與a2產(chǎn) 生的時間。
假定報警a1與a2產(chǎn)生的事件分別為3:16:30與4:09:27,則特征F5的值約為0.06。
由上一小節(jié)中的特征值可以得到兩個報警之間的關(guān)聯(lián)概率即為F1,F(xiàn)2,F(xiàn)3,F(xiàn)4,F(xiàn)5,用Pi,j(k)表示,其中k的取值范圍為1,2,3,4,5,i與j 分別表示第i 個和第j個報警。由此可以通過式 (2)計算得到兩個報警之間的相關(guān)權(quán)重為
假定產(chǎn)生的報警為a1,a2,…,an,則由上式可以得到一個報警關(guān)聯(lián)矩陣,如式 (3)所示
為了對兩個報警之間的關(guān)聯(lián)概率做更進(jìn)一步的研究,需要運(yùn)用第一節(jié)中提到的模糊規(guī)則。這些模糊規(guī)則可以定義上述5個特征值與分類等級間的對應(yīng)關(guān)系。例如,如果兩個報警之間的源IP地址與目的IP地址的相似程度很高、兩個報警之間的目的端口號也是不同的、以及第一個報警的目的IP地址與第二個報警的源IP 地址也不相同、第一個報警比第二個報警產(chǎn)生的事件早,那么由這些特征值組成的特征向量的分類等級可表示為C。每個規(guī)則的形式可以如下表示
其中,V1,…,V5為關(guān)聯(lián)概率F1,…,F(xiàn)5對應(yīng)的值。
為了給定義的等級轉(zhuǎn)化成一個數(shù)字表示,采用映射函數(shù)對其進(jìn)行處理,如式 (5)所示
表1 部分規(guī)則
為了將輸入的特征向量進(jìn)行歸類處理,將其與規(guī)則中的每條規(guī)則進(jìn)行相容性計算,計算方式如式 (6)所示
式中:n——特征數(shù)量,F(xiàn)i——第i個特征值,Vi——對應(yīng)規(guī)則部分的值,μ——在規(guī)則上的隸屬度函數(shù)。
本文中采用的人工免疫算法是由Watkins提出的監(jiān)督學(xué)習(xí)算法[11],算法的目的是通過對訓(xùn)練集中的數(shù)據(jù)進(jìn)行訓(xùn)練產(chǎn)生大量的記憶細(xì)胞,從而對測試集中的數(shù)據(jù)進(jìn)行分類。該方法包含多個免疫系統(tǒng)中的多個組成部分,有克隆選擇、親和度匹配、記憶細(xì)胞存儲。
在本算法中,外來的特征向量被看作是抗原 (Ag),系統(tǒng)中的單元被當(dāng)作抗體 (Ab),相似的抗體可以看作是識別球。該方法包含3 個階段:產(chǎn)生識別球,資源競爭,選取候選記憶細(xì)胞。具體步驟如下所示:
(1)將特征向量作為抗原輸入到訓(xùn)練系統(tǒng)中,使系統(tǒng)產(chǎn)生大量的記憶細(xì)胞,并對那些頻繁的被刺激的記憶細(xì)胞進(jìn)行復(fù)制克隆,將其儲存在識別球存儲單元中;產(chǎn)生的克隆數(shù)量依賴于抗原與記憶細(xì)胞之間親和度的大小,親和度是由歐氏距離所決定,如式 (7)所示
(2)接下來,將訓(xùn)練抗原再次與識別球存儲單元中的識別球進(jìn)行匹配,根據(jù)識別球與抗原之間的親和度距離的大小來對識別球進(jìn)行標(biāo)記,直到將所有的識別球標(biāo)記完畢后,選擇將那些不具有競爭資源能力的識別球從存儲單元中刪去,將剩下的識別球作為對測試抗原的元素保留下來。
(3)將受刺激度大的識別球作為候選記憶細(xì)胞,如果它與訓(xùn)練抗原之間的親和度比 (1)中最初的記憶細(xì)胞與訓(xùn)練抗原的親和度要高,則該識別球替代原來的記憶細(xì)胞并將其放倒記憶池中;否則保留原先記憶細(xì)胞。如此重復(fù)執(zhí)行直到達(dá)到預(yù)定的記憶細(xì)胞個數(shù)。
為了后續(xù)的實(shí)驗(yàn)需要將前面所述的模糊規(guī)則中的非數(shù)值進(jìn)行轉(zhuǎn)化處理為數(shù)值,以便做數(shù)值計算,例如將表1中的文字‘高’‘中’‘低’做處理后可得到對應(yīng)的數(shù)值表,見表2。
表2 處理后數(shù)值
綜上所述可以得到本文算法的基本流程如圖1所示。
圖1 本文算法基本流程
流程圖對應(yīng)的算法步驟如下所示:
步驟1 產(chǎn)生初始的報警流,令初始值i=0;
步驟2 將報警流中的報警依次與先前報警進(jìn)行關(guān)聯(lián)處理產(chǎn)生特征向量,并計算關(guān)聯(lián)概率;
步驟3 把計算所得的關(guān)聯(lián)概率P 與所給模糊規(guī)則閾值r 做比較:如果P <r,則輸入的報警是真報警,并對i進(jìn)行i++計算后判斷,若i<Max,轉(zhuǎn)到步驟2,否則轉(zhuǎn)到步驟5;如果P >r,則轉(zhuǎn)到步驟4;
步驟4 將特征向量輸入到免疫算法系統(tǒng)中并計算親和度A 的大?。喝绻鸄 >T,則報警為真報警,否則為假報警,并對i進(jìn)行i++計算后判斷,若i<Max,轉(zhuǎn)到步驟2,否則轉(zhuǎn)到步驟5;
步驟5 如果滿足i>Max,Max 為報警流中報警的個數(shù),則算法運(yùn)行結(jié)束。
為了驗(yàn)證本文所提的基于模糊規(guī)則的免疫算法在過濾誤報警時所起的作用,實(shí)驗(yàn)選用1999年美國國防部高級研究計劃局 (DARPA)入侵檢測數(shù)據(jù)作為原始網(wǎng)絡(luò)流量數(shù)據(jù),并使用Snort產(chǎn)生報警數(shù)據(jù)作為本實(shí)驗(yàn)的實(shí)驗(yàn)數(shù)據(jù)。
本實(shí)驗(yàn)從DARPA99數(shù)據(jù)集中選取2000條正常的和異常的數(shù)據(jù)作為初始訓(xùn)練數(shù)據(jù),利用Snort產(chǎn)生報警并對報警作標(biāo)記,選取100條標(biāo)記的真報警和400條標(biāo)記的假報警作為本文算法的訓(xùn)練樣本集;同理,從DARPA99 數(shù)據(jù)集選取10 000條正常與異常的數(shù)據(jù)作為初始測試數(shù)據(jù),經(jīng)過Snort產(chǎn)生報警并對其作標(biāo)記,從中選取400條標(biāo)記的真報警和1600條標(biāo)記的假報警作為本文算法的測試樣本集,將測試樣本集分為200條、400條、600條、800條測試集來對算法做測試。所謂真報警即入侵檢測系統(tǒng)正確判斷異常數(shù)據(jù)為入侵并產(chǎn)生報警;假報警即為入侵檢測系統(tǒng)錯誤判斷正常數(shù)據(jù)為入侵并產(chǎn)生報警。本實(shí)驗(yàn)選取平均檢測率、平均漏檢率、平均測試時間、訓(xùn)練時間為評判標(biāo)準(zhǔn)并與KNN 分類算法作比較來對本文算法做出評估,檢測率和漏檢率的定義如式 (8)、式 (9)所示
其中,檢測出的誤報警表示正確判斷誤報警對應(yīng)的數(shù)據(jù)為正常數(shù)據(jù),漏檢的真報警表示將異常數(shù)據(jù)判定為正常數(shù)據(jù)。實(shí)驗(yàn)平臺為Windows7,Matlab,經(jīng)過實(shí)驗(yàn)仿真參數(shù)設(shè)置為r=0.9,T =0.7效果較好,最大迭代次數(shù)為20,所得結(jié)果見表3。
表3 兩種算法的實(shí)驗(yàn)比對
本文通過采用模糊規(guī)則的方法對網(wǎng)絡(luò)入侵中的誤報警數(shù)量進(jìn)行約減,在此基礎(chǔ)上再次利用免疫優(yōu)化算法進(jìn)行二次約減,并與KNN 算法相比較具有一定的先進(jìn)性,同時實(shí)驗(yàn)仿真效果表明本文算法具有一定的高效性,但是本文算法在測試時間上面仍略顯不足,同時在漏檢率中雖比KNN算法低,卻仍然偏高,另外本文只選取報警行為的部分特征進(jìn)行研究,不能全權(quán)代表所有的報警行為,因而會出現(xiàn)少許偏差,仍需要進(jìn)行改進(jìn)。
[1]JI Xiangmin,JING Lin,SHU Zhaogang.Study on intrusion detection system for next-generation internet [J].Computer Simulation,2013,30 (10):337-340 (in Chinese).[紀(jì)祥敏,景林,舒兆港.下一代互聯(lián)網(wǎng)絡(luò)入侵檢測系統(tǒng)研究 [J].計算機(jī)仿真,2013,30 (10):337-340.]
[2]Bahrbegi H,Navin A H,Ahrabi A,et al.A new system to evaluate GA-based clustering algorithms in Intrusion detection alert management system [C]//Second World Congress on Nature and Biologically Inspired Computing.IEEE,2010:115-120.
[3]Mahdi Mohammadi,Ahmad Akbari,Hassan Asgharian.A fast anomaly detection system using probabilistic artificial immune algorithm capable of learning new attacks [J].Evolutionary Intelligence,2014,6 (3):135-156.
[4]XIA Qin,WANG Zhiwen,LU Ke.A method to detect network attacks using entropy in the intrusion detection system[J].Journal of Xi’an Jiaotong University,2013,47 (2):14-20 (in Chinese). [夏秦,王志文,盧柯.入侵檢測系統(tǒng)利用信息熵檢測網(wǎng)絡(luò)攻擊的方法 [J].西安交通大學(xué)學(xué)報,2013,47 (2):14-20.]
[5]Beng L Y,Ramadass S,Manickam S.A comparative study of alert correlations for intrusion detection [C]//International Conference on Advanced Computer Science Applications and Technologies.IEEE,2013:85-88.
[6]Al-Saedi K H,Ramadass S,Almomani A,et al.Collection mechanism and reduction of ids alert[J].International Journal of Computer Applications,2012,58 (4):40-48.
[7]Taha A E,Ghaffar I A,Eldin A M B,et al.Agent based correlation model for intrusion detection alerts [C]//Proceeding of IEEE International Conference on Intelligence and Security Informatics,2010:89-94.
[8]Ning Xiong.Learning fuzzy rules for similarity assessment in case-based reasoning [J].Expert Systems with Applications,2011,38 (9):10780-10786.
[9]SHI Xiaomei,MEI Hongyan,ZHU Tianhua,et al.A new fuzzy rule extraction method [J].Journal of Liaoning University of Technology (Natural Science Edition),2012,32 (1):22-26 (in Chinese).[史曉梅,梅紅巖,朱田華,等.一種新的模糊規(guī)則提取方法 [J].遼寧工業(yè)大學(xué)學(xué)報 (自然科學(xué)版),2012,32 (1):22-26.]
[10]Huwaida Tagelsir Elshoush,Izzeldin Mohamed Osman.Alert correlation in collaborative intelligent intrusion detection sys-tems—A survey [J].Applied Soft Computing,2011,11(7):4349-4365.
[11]SHU Zhenqiu,ZHAO Chunxia,ZHANG Haofeng.Sparse coding based supervised learning and its application to data representation [J].Control and Decision,2014,29 (6):1115-1120 (in Chinese).[舒振球,趙春霞,張浩峰.基于監(jiān)督學(xué)習(xí)的稀疏編碼及在數(shù)據(jù)表示中的應(yīng)用 [J].控制與決策,2014,29 (6):1115-1120.]