何保榮,李建榮,王超智
(1.鄭州牧業工程高等專科學校 河南 鄭州 450011;3.河南省基礎教育教學研究室 河南 鄭州 450016)
隨著網絡的迅速發展,網絡攻擊的工具和手段多種多樣,而傳統的校園網絡所采用的安全技術大部分是信息加密、身份認證、防火墻、安全路由器等,它們對校園網絡的安全已經不能構成有效地保障。所以,在不影響網絡性能的情況下,如何分析融合來自各方面的安全信息和數據,提供一個良好的入侵檢測系統,提高入侵檢測系統的準確率和效率,實時保護校園網絡的誤操作、外部攻擊和內部攻擊等,已經成為目前保障校園網絡系統安全的關鍵問題。
入侵檢測系統的分類有多種,按照不同的檢測方法,可分為異常檢測系統和誤用檢測系統;按照不同的數據來源,可分為主機型和網絡型入侵檢測系統[1]。最近幾年,不斷出現了新的入侵檢測產品,同時也不斷提出新的入侵檢測方法理論,特別是把數據挖掘的相關理論應用到入侵檢測系統,為入侵檢測系統的研究開拓了新的領域[2-3]。由于篇幅限制,本文主要討論基于分類算法的校園網絡入侵檢測系統研究。
數據挖掘是一項通用的知識發展技術,從大量數據中發現未知的攻擊、提取有用的數據信息,是在入侵檢測中應用數據挖掘的目的。在入侵檢測系統中經常使用的數據挖掘算法,一般有關聯分析算法、序列分析算法和分類算法。在分類算法中,數據分類的目的是提取數據庫當中數據項的特征屬性,生成分類模型(或函數),該算法的輸出結果就是分類器,該模型(或函數)可以把數據庫中的數據映射到給定類別中的一個[4],從而應用于數據預測。分類器的構造方法有決策樹方法、統計方法、神經網絡方法和粗糙集方法[1]。
本系統模型框架主要分以下幾個部分:數據采集、數據預處理、構建特征屬性、構建分類器。
為了便于對入侵進行更為精確的判斷,數據采集器主要負責收集來自計算機網絡系統中若干不同關鍵點的相關信息,全面了解網絡上的行為。
由于從網絡上截取的數據包均是Tcpdump 文件格式,而這種格式的數據不能直接使用分類算法進行分析處理,所以需要首先對他們進行數據的預處理,從中提取出比較有意義的特征數據。
對原始數據進行預處理,就是對正常的數據使用關聯規則算法、對包含入侵模式的數據使用序列規則算法來找到相應的模式,把正常數據和入侵數據進行比較得到規則集,得到在入侵數據中存在而在正常數據中不存在的那些“純入侵”模式,最后通過對這些“純入侵”模式構建臨時的統計特征,使用分類器建立誤用檢測模型[5]。
在已經得到“純入侵”模式后,連接記錄中已經存在一組固有的特征,根據從數據集中挖掘的關聯規則和場景規則,構建附加的、更具有預言性的屬性,這些屬性也就是特征,被認為與從正常活動區分入侵活動相關。構建附加特征就是對于每一個本質特征計算相應的數據。由于附加特征是在找出“純入侵”模式基礎上抽取的,因此更能揭示入侵的實質,得到的入侵檢測模型更有效。例如,在這一步可能增加一個記錄連接數的屬性,連接數表示:針對當前連接記錄的目標m地址,在前兩秒發起的連接。實際上,所有的網絡流量可以抽象為連接記錄,連接記錄的屬性存儲諸如源碑、目標、源端口、目標端口、開始時間、持續時間、頭標記等本質連接屬性。在TCP/IP 網絡中,連接記錄表示為TCP 會話。
該步驟從擴展的訓練連接記錄(即增加新屬性的原來訓練記錄集)構建分類器。構建特征和分類器學習的詳細過程分別如圖1 和圖2 所示。

圖1 特征構建Fig.1 Feature construction

圖2 分類器學習Fig.2 Classifier learning
1)用戶獲得訓練連接記錄,把它們分為正常連接記錄和入侵連接記錄。
2)從正常連接記錄和入侵連接記錄中獨立挖掘關聯規則和場景規則。比較這些規則,所有包含入侵連接記錄的規則形成入侵模型。
3)大多數自動程序僅采用入侵模式去獲得意味著入侵行為的額外屬性,這些屬性是與當前連接記錄具有某些相同屬性值的連接記錄計數、平均值和百分比。
4)對原來的訓練連接記錄添加新創建的連接記錄屬性。
5)構建分類器,學習怎樣從入侵連接記錄中區分正常連接記錄。該誤用入侵檢測系統的分類器就是基于數據挖掘技術的入侵檢測系統的最終產品。
基于分類算法的誤用入侵檢測系統所采用的技術比人工知識工程更系統、更自動化。但是,值得指出的是,它嚴重依賴于專家知識。例如,根據專家知識對挖掘過程產生的關聯規則和場景規則進行修剪,同樣,特征構建也僅增加那些專家認為很有可能與入侵相關的屬性,此外,對不同的攻擊類型需要構建獨立的分類器,隨后對這些分類器進行整合,最后根據領域知識,手工定義合適的總結包載荷特征。
決策樹算法是一種歸納學習算法,它繼承了ID3 算法的全部優點,它先從所有的事例中選取一部分構造決策樹,再用剩下的事例測試決策樹并對它進行調整,它既能處理離散類型的屬性,也能處理連續類型的屬性,還可以對屬性的取值集合進行等價類劃分。
決策樹算法采用分而治之的策略,采用信息增益來進行屬性的選取。其計算方法如下:
如果目標屬性具有C個不同的值,則數據樣例集S 相對于C個狀態的分類的熵為公式(1):

如果A 是S 中的一個屬性,Values(A)表示屬性A 所有可能的集合,Sv是S 中屬性A 的值為v 的子集,則屬性A 相對于樣例集合S 的信息增益Gain(S,A)則被定義為公式(2):

我們知道了信息增益是算法用以增長樹的每一步中選取最佳屬性的度量標準。該制約大的屬性,說明這個屬性的能力就越強。為了加快該值的計算速度,我們現在改進如下:
因為我們都知道,如果x 很小,則有ln(1+x)≈x,所以有公式(3):

又因為log2Pi=lnPi/ln2,則有公式(4):

由此我們可以看出計算復雜度顯著降低了,這樣無疑就加快了速度。
校園網絡環境的復雜化使得僅用傳統的數據加密、防火墻等技術已經不能實現對校園網絡的完全保護。本文通過入侵檢測技術的研究,提出了一種基于分類算法的關于誤用檢測和異常檢測的入侵檢測系統模型框架,并對決策樹算法進行了改進,從而降低了誤報率和漏報率,提高了入侵檢測系統的檢測率。盡管近年來入侵檢測技術取得了較快的發展,出現了很多新的檢測模型和檢測算法,但是要開發出實用的系統仍然需要進一步的研究、試驗。
[1]黃辰林.基于分布自治代理的層次入侵檢測系統設計[J].計算機工程與應用,2001(6):47-49.HUANG Chen-lin.Level intrusion detection system design based on autonomous agent[J].Computer Engineer and Applications,2001(6):47-49.
[2]張國.一種基于網絡的入侵檢測系統設計[J].微計算機信息,2009(25):70-72.ZHANG Guo.A network-based intrusion detection system[J].Micro Computer Information,2009(25):70-72.
[3]張杰,戴英俠.入侵檢測系統技術現狀及其發展趨勢[J].計算機與通信,2002(6):28-32.ZHANG Jie,DAI Ying-xia.The status quo and trend of intrusion detection system technology[J].Computer andCommunication,2002(6):28-32.
[4]曾昭蘇,王鋒波.基于數據開采技術的入侵檢測系統[J].自動化博覽,2002(8):29-31.CENG Zhao-su,WANG Feng-bo.Intrusion detection system using data mining technology[J].Automation Panorama,2002(8):29-31.
[5]田大新,劉衍珩,李賓,等.基于動態分類算法的入侵檢測系統[J].吉林大學學報:信息科學版,2006(2):71-73.TIAN Da-xin,LIU Yan-yan,LI Bin,et al.Intrusion detection system based on dynamic classification algorithm[J].Journal of Jilin University:Sciece Edition,2006(2):71-73.
[6]關心,王新.基于數據挖掘的入侵檢測系統研究[J].信息技術,2007(10):100-103.GUAN Xin,WANG Xin.The research of intrusion detection system based on data mining[J].Information Technology,2007(10):100-103.