陳曉純
摘要:隨著網絡攻擊技術層出不窮,網絡攻擊方式呈現出多樣性和隱蔽性的特征,網絡入侵檢測的漏報和誤報頻發(fā)。為了提高入侵檢測的檢測率、降低漏報率和誤報率,利用變精度粗糙集挖掘數據之間潛在規(guī)律的特性,對測試數據集進行特征提取和屬性約簡,除去冗余信息降低屬性維度,然后通過遺傳算法進行分類和檢測。實驗測試表明該方法不僅可以提高檢測率,并能較實時地檢測其他類型的攻擊。
關鍵詞:入侵檢測;變精度粗糙集;屬性約簡
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2018)12-0171-05
Abstract: As the network attack technology after another, showing a diversity of network attacks and covert features, network intrusion detection of false negatives and false alarm frequently. In order to improve the detection rate of intrusion detection, reducing the false negative rate and false alarm rate, the use of variable precision rough set of potential characteristics between data mining law, the test data set for feature extraction and attribute reduction, removing redundant information to reduce the dimension attributes and then classify and detect genetic algorithm, test results obtained. Experimental results show that this method can improve the accuracy of a denial of service attack detection type, and can be detected more complete other types of attacks.
Key words: intrusion detection; variable rough set; attribute reduction
入侵檢測系統(tǒng)能夠識別網絡中發(fā)生的入侵行為并進行實時報警,具有實時性、動態(tài)檢測等特點,可以彌補防火墻的不足。隨著網絡攻擊技術和手段的廣泛散布與不斷更新,現有的入侵檢測技術和系統(tǒng)已不能滿足網絡安全的需求,漏報和誤報率越來越高,檢測準確率越來越低。近年來涌現了很多入侵檢測技術,FORREST[1]提出了將人工免疫理論應用于入侵檢測領域,將計算機系統(tǒng)的保護問題與免疫系統(tǒng)中學習區(qū)分自體-非自體相比較,提出了陰性選擇算法。Lee等人采用Ripper軟件包[2]挖掘出正常和異常的模式,以規(guī)則的形式描述系統(tǒng)的運行狀態(tài)。Asaka等提出了一種基于Discriminant method的入侵檢測方法,通過預先標定的正常和異常系統(tǒng)的調用序列樣本進行不斷地學習,最終確定一個最優(yōu)分類平面,以這個最優(yōu)分類面為依據,來判斷進程的系統(tǒng)調用是正常調用的還是異常入侵[3]。以上的研究表明,大部分的入侵檢測技術需要大量的先驗知識和攻擊特征來構建攻擊行為模型,Ripper要求有大量的訓練數據,產生的規(guī)則才能有較高的檢測率。
本文將變精度粗糙集理論應用于入侵檢測,通過建立正常行為模型來區(qū)分正常行為和異常行為。在保持分類能力不變的前提下,對原始數據進行離散化等預處理,刪除冗余信息,挖掘剩余屬性間的關系,生產IF-THEN規(guī)則。該方法不需要大量數據和先驗知識即可構建模型,作為初始種群。實驗證明本文的方法在檢測率和檢測時間上優(yōu)于其他檢測方法。
1 相關理論基礎
粗糙集(Rough Set)理論是由Z.Pawlak提出[4]的一種處理不精確、不確定、不完備的數據信息的數學工具,可以對大量數據進行知識約簡和屬性分類,尤其是在缺乏先驗知識時,對模糊或不確定的數據進行相應的分析和處理,快速地獲取區(qū)分和識別知識的規(guī)則。變精度粗糙集是粗糙集的擴展模型,它被成功地應用到了模式識別、機器學習、知識獲取、數據挖掘等許多領域[5,6,7]。有很多的研究成果,文獻[17]深入研究了變精度粗糙集的屬性約簡問題,給出了3種屬性約簡的概念,提出通過構造容差矩陣的屬性核的最小約簡算法,該算法可以減小屬性約簡的搜索空間,提高約簡的效率。文獻[18]分析了變精度粗糙集模型屬性約簡過程出現跳躍的原因,并給出消除跳躍現象的方法。文獻[19]提出了一種將變精度粗糙集理論與概率神經網絡相結合,建立變精度粗糙集模型,將信息系統(tǒng)中的冗余屬性剔除,求出最小的知識表示,作為神經網絡的輸入,再用概率神經網絡建立的模型進行分類和預測,其分類能力和預測精度都達到比較高的水平。變精度粗糙集理論研究[12,14,15]和實踐研究兩個方面都很成功,例如把變精度粗糙集理論應用于工作搜索[13],醫(yī)療診斷[16]。
經典的粗糙集理論對于邊界的刻畫過于簡單,所處理的對象是已知的,但是在現實中,集合的關系不單單是包含于不包含的關系,還有屬于關系,這個不足之處限制了粗糙集的適用對象。因此,有許多研究者對粗糙集理論進行擴展,其中Ziarko提出的變精度粗糙集模型[8]克服了粗糙集的局限性。通過引入閾值參數[β](0[≤β]<0.5),允許一定的錯誤分類率的存在,具有更好的抗噪聲能力和魯棒性。
它表示條件屬性集[C]所劃分的等價類能夠以[β]分類誤差分類于決策屬性集[D]的等價類中元素個數占所有元數個數的比例,體現了在[β]分類誤差下的分類能力。
在保持分類能力不變的前提下,將條件屬性集[C]中的不必要的屬性刪除,求條件屬性集的最小子集的過程就是屬性約簡。約簡算法是入侵檢測中的核心,通過約簡可以減少冗余信息,減少計算量,提高識別速度,但是也要防止約簡過度。約簡有很多種算法,例如基于屬性重要性的屬性約簡算法,基于條件信息熵的屬性約簡,[β]下分布約簡等等。本文將采用改進的基于遺傳算法的屬性約簡算法進行計算。
2 基于變精度粗糙集模型和算法
2.1 入侵檢測信息系統(tǒng)和模型
本文用變精度粗糙集理論建立入侵檢測信息系統(tǒng),信息系統(tǒng)四元組[IS=U,C?D,V,f],其中[U]是入侵檢測數據集的對象,[C]是數據的條件屬性集合,有41個連接屬性字段組成,[D]是決策集合,[V]是屬性字段值的集合,[f]是每個連接屬性對應值所構成的函數。
利用變精度粗糙集對訓練數據進行預處理,通過調節(jié)分類誤差[β]來求得網絡狀況的參數值,可以提供判斷網絡安全的依據,所提出的變精度粗糙集的模型如下:
如圖1所示,采用的數據集分為兩個部分,一部分作為訓練數據,另一部分作為測試數據,剛開始構建入侵檢測信息系統(tǒng),對數據集預處理,訓練數據要進行屬性約簡,具體約簡算法在下面將會詳細介紹,約簡后得到規(guī)則庫,最后用測試數據驗證規(guī)則庫的完備性,得出正常行為和異常行為。
2.2 基于改進的遺傳算法的屬性約簡算法
本文采用遺傳算法對多維屬性進行屬性約簡,遺傳算法在進化搜索的過程中使用是適應度函數作為進化的依據,[Fr=l-lrl+γC,D,β],[lr]表示染色體[r]中基因為1的個數。[γC,D,β]是決策屬性[D]對條件屬性[C]的[β]依賴度;對種群的個體計算適應值,根據適應值作為啟發(fā)信息進行搜索,因此,在遺傳算法中對適應度函數的設計是關鍵部分,非常重要。然而,基于粗糙集的屬性約簡遺傳算法使用正區(qū)域作為適應度函數,因為變精度粗糙集的正域是根據所選取的閾值參數[β]來確定,所以本文設計的適應度函數選取的是決策屬性對條件屬性的[β]依賴度;屬性編碼所采用的是二進制編碼方式,例如,在決策表中有屬性集{[C1,C2,C3,C4,C5]},如果求解一個屬性約簡是[C1,C3,C5],則相應的染色體表示為10101。
屬性約簡遺傳算[9]步驟如下:
1.屬性編碼。采用二進制的方式進行編碼,存在記為1,否則為0;染色體的長度是條件屬性的個數。
2.選擇算子。采用輪盤賭選擇方式[10],并且選擇一個最優(yōu)策略方式,如果得到新一代個體之后,如果其中最壞的個體適應值小于上一代最好的個體的適應值,那么舍棄新一代,用上一代的最好的個體代替新一代最壞的個體,來確保算法收斂[11]。
3.交叉因子。采用部分匹配交叉策略。
4.變異算子。采用單點變異方法。
3 實驗與分析
實驗的基本指標有檢測率,漏報率和誤報率,下面有相關的具體定義:
檢測率=正確檢測出的入侵事件個數/總的入侵事件個數;
漏報率=未檢測出的入侵事件個數/總的入侵事件個數;
誤報率=錯誤判別事件的總個數/(正確檢出的入侵事件個數+漏報的入侵事件個數+錯誤判斷的事件個數)。
3.1 實驗環(huán)境
實驗所用是Win7操作系統(tǒng)下的WEKA實驗平臺,用到的軟件包括:UltraEdit,ROSETTA,JDK等。
WEKA的全名是懷卡托智能分析環(huán)境(Waikato Environment for knowledge Analysis),它是基于JAVA環(huán)境下開發(fā)的機器學習以及數據挖掘的軟件。本文主要是利用此軟件進行分類,區(qū)分正常行為和異常行為。
ROSETTA軟件是挪威科技大學的計算機與信息科學系和波蘭華沙大學數學研究所合作開發(fā)的一個基于Rough理論框架的表格邏輯數據分析工具包。
3.2 實驗數據集
實驗數據選取KDDCUP99數據集,它是林肯實驗室通過模擬各種攻擊收集了9周的數據,很多入侵檢測競賽都選用此數據,它和真實的網絡環(huán)境相差無幾,具有權威性。KDDCUP99數據集具有42個屬性字段,,其中條件屬性有41個,1個決策屬性是一個高維數據集合。
3.3 數據的離散化
變精度粗糙集中所定義的規(guī)則是用決策表的形式,決策表要求屬性值一定是離散值,進而對原始數據集進行離散化處理。下面對數據集進行等頻離散,ROSETTA的使用界面如圖2所示。
經過離散化后的數據格式如圖3所示:
3.4 實驗數據的預處理
數據集經過離散化處理,很多屬性值為0,所以刪除無用信息和冗余信息是非常有必要的。實驗數據的預處理有如下幾個步驟:
1)從獲得的原始數據集分離出實驗所用的數據集;
2)選好的數據集隨機分為兩個部分,一部分用于訓練數據,另一部分作為測試數據;
3)分別構建信息系統(tǒng)備用于數據離散化、屬性約簡。
實驗數據經過預處理之后是比較規(guī)范的數據集合,采用不同的檢測方法進行實驗測試。
3.5 VPRS屬性約簡
對于數據集的屬性約簡在2.2已經詳細介紹過了,該部分就采用如上的辦法進行對訓練數據集合進行屬性約簡,約簡的結果如圖4:
3.6 實驗比較與分析
為了驗證所提出方法的有效性,根據不同的比較參數進行比較,比較全面的判斷方法的性能。首先是測試參數[β]對檢測率的影響,由于實驗數據非常的精細,選取了五種類型分別進行測試,每一種測試十次,去掉最高值和最低值,求平均值作為一個參考值,原因是避免偶然誤差,使實驗更加準確。下面的圖5是不同的[β]值對應的檢測率:
實驗一是基于貝葉斯的入侵檢測,使用WEKA內部自帶的貝葉斯分類器來進行訓練和分類。首先把未經過任何預處理的數據導入WEKA,再選擇貝葉斯分類器對訓練數據樣本進行訓練,可以得出訓練時間,等訓練結束后,把測試數據導入分類器進行測試。最后輸出分類器處理結果的混淆矩陣。
從上面的表2可以得出,使用實驗平臺自帶的分類器的檢測率很低,遠遠不能達到入侵檢測的要求。主要原因有選擇的測試數據集和訓練數據集的樣本量比較大,增加了系統(tǒng)額外的開銷,降低了訓練和檢測的效率;貝葉斯分類器假設變量之間是條件獨立的,對于費變量的處理有較大的誤差,因此導致檢測率低。
實驗二是基于粗糙集的入侵檢測,不同的是數據集是經過離散化的,用粗糙集理論對數據進行離散化,對數據的訓練使用簡單遺傳算法,實驗選擇80條作為初始種群,為了實驗的合理性,保證U2R和R2L不為空集,然后在WEKA平臺進行實驗,后續(xù)步驟如上。
根據上表3的結果顯示,實驗二的檢測率和誤報率較實驗一有所提高,對于相同的測試集,說明實驗二的檢測效果優(yōu)于實驗一。
主要原因是選擇的80個樣本進行遺傳算法的訓練,減少了訓練時間而且提高了檢測率,說明簡單遺傳算法的分類能力比貝葉斯分類器強。使用的數據依然是未經過屬性約簡的數據,檢測效果還有待提高。
實驗三是基于變精度粗糙集的入侵檢測,把數據集預處理即利用變精度粗糙集對屬性約簡,采用ROSETTA軟件中的Johnson Reducer算法進行屬性約簡,如圖6所示:
為了簡潔描述,把41個條件屬性從1到41進行編號,使用Johnson Reducer算法進行屬性約簡后得到結果如表4:
約簡后進行規(guī)則的提取,產生“IF(條件屬性)THEN(決策屬性)”的規(guī)則,對這些規(guī)則用改進的遺傳算法進行訓練和分類,得出混淆矩陣。實驗結果如表2所示:
從上表5可以看出,此實驗的前三種攻擊的檢測率明顯高于以上兩個實驗,誤報率也降低不少。實驗3的檢測結果表明,使用變精度粗糙集對數據進行屬性約簡和采用改進的遺傳算法分類和檢測是有效的。對于U2R和R2L的檢測率不是特別高的原因是這兩種攻擊樣本所占比例非常少。但是對于Probe攻擊和DoS攻擊的檢測率都達到了95%以上。
三種定性的實驗測試數據的結果得出了入侵攻擊檢測率對比圖,如圖7所示:
三種定性測量實驗的入侵攻擊誤報率對比結果如下如圖8所示:
以上的實驗數據結果表明,通過比較三種實驗的檢測率和誤報率兩個指標進行分析,可以直觀地看出:對于所有四種攻擊,實驗三的基于變精度粗糙集的入侵檢測的檢測率是最高的,誤報率是最低的。證明了用變精度粗糙集對數據進行屬性約簡和采用改進的遺傳算法訓練和分類是效果較好的。
對于DOS和Probe這兩種攻擊的檢測結果來看,實驗三的預測性能比較好,都達到了97%的檢測率。對于U2R和R2L兩類攻擊,其檢測的正確率只有72.8%和80.4%,究其原因是:這兩種攻擊的獲取樣本非常少,只含有少量的格式化網絡信息,網絡數據報文段的非格式化信息又不容易提取出特征,因此對U2R和R2L的檢測率不太高,同時由于KDDCUP99數據集本身收集的特征屬性不足又有一定關系。
通過在測試數據集中添加訓練集中沒有的攻擊種類即未知攻擊的種類的數據,依照上面的實驗步驟重做著三個實驗,結果也會得到混淆矩陣,計算出檢測率和誤報率等指標,下面就對得出的結果做出詳細的比較圖。
本文分別對三個實驗分別進行已知攻擊和未知攻擊的測試,為了驗證所提出的入侵檢測技術的普遍性,實驗結果比較已經如上面所示的圖7、圖8、圖9和圖10,從上面可以直觀的看出來,對于添加到測試集中的,而在訓練集中沒有的攻擊種類,基于變精度粗糙集的入侵檢測技術依然能夠有較好的檢測率,說明變精度粗糙集的挖掘數據之間潛在規(guī)律的能力是非常強的,適合應用于入侵檢測領域。
4 結論
本文主要解決了當前入侵檢測中的檢測率低、誤報率高的問題。通過將變精度粗糙集理論應用在入侵檢測領域中,對其捕捉的數據進行分析,對數據集合進行屬性約簡來降低數據的維數和刪除冗余屬性,提高了實時性和效率。然后在結合改進的遺傳算法,對約簡的數據建立模型,最后進行測試分類。實驗結果表明,采用變精度粗糙集對數據預處理確實提高了檢測率和實時性,證明方法的有效性。在以后的研究中,還要致力于如何把它用在真實的網絡環(huán)境中,對于屬性約簡的算法如何更加有效和快速的屬性約簡也是一個重要的研究方向。
參考文獻:
[1] Forrest S, Perelson A S, Allen L, Cherukuri R. Self-nonself discrimination in a computer[C]// IEEE Symposium on Security and Privacy. IEEE Computer Society, 1994:202.
[2] Cohen W W. Fast Effective Rule Induction[J]. American Journal of Kidney Diseases the Official Journal of the National Kidney Foundation, 2000, 46(2):115-123.
[3] Asaka M. A New Intrusion Detection Method Based on Discriminant Analysis[J]. IEICE Transactions on Information & Systems, 2001, E84D(5):570-577.
[4] Pawlak Z. Rough Sets: Theoretical Aspects of Reasoning about Data[M]. Kluwer Academic Publishers, 2015:26-49.
[5] Yang X, Song X, Chen Z, et al. Multi-granulation Rough Sets in Incomplete Information System[J]. International Journal of Machine Learning & Cybernetics,2012,3(3):223-232.
[6] Tian H, Kang X Y, Zhang J N, et al. Application of fuzzy rough sets in patterns recognition of bearing[C]. Quality, Reliability, Risk, Maintenance, and Safety Engineering (ICQR2MSE), 2012 International Conference on. IEEE, 2012:731-734.
[7] Zhang X, Guo J, Zou Q, et al.Vibrant fault diagnosis for hydroelectric generator units with a new combination of rough sets and support vector machine[J].Expert Systems with Applications,2012, 39(3):2621-2628.
[8] Ziarko W. Variable precision rough set model[J].Journal of Computer & System Sciences,1993,46(1):39-59.
[9] 易哲,李偉生. 基于粗糙集和遺傳約簡算法的入侵檢測方法[J].計算機工程與應用,2010,46(21):116-118.
[10] 周明. 遺傳算法原理及應用[M]. 國防工業(yè)出版社,1999:127-134.
[11] 任永功,王楊,閆德勤.基于遺傳算法的粗糙集屬性約簡算法[J].小型微型計算機系統(tǒng),2006,27(5):862-865.
[12] Liu J N K, Hu Y, He Y. A set covering based approach to find the reduct of variable precision rough set[J]. Information Sciences, 2014, 275(3):83-100.
[13] Park I K, Choi G S. A variable-precision information-entropy rough set approach for job searching[J]. Information Systems, 2015, 48:279-288.
[14] Yang Y, Chen D, Dong Z. Novel algorithms of attribute reduction with variable precision rough set model[J]. Neurocomputing, 2014, 139:336-344.
[15] Kang X, Miao D. A variable precision rough set model based on the granularity of tolerance relation[J]. Knowledge-Based Systems, 2016, 102:103-115.
[16] Roy S S, Gupta A, Sinha A, et al. Cancer data investigation using variable precision Rough set with flexible classification[C]// International Conference on Computational Science, Engineering and Information Technology. 2012:472-475.
[17] 陳昊,楊俊安,莊鎮(zhèn)泉.變精度粗糙集的屬性核和最小屬性約簡算法[J].計算機學報,2012,35(5):1011-1017.
[18] 李健,常太華,楊婷婷.變精度粗糙集模型屬性約簡分析[J].計算機工程與應用,2012,48(3):132-143.
[19] 營利榮,劉思峰.雜合VPRS與PNN的知識發(fā)現方法[J].情報學報,2005,24(4):426-432.