[李俊濤]
隨著互聯網的快速發展,人們可以利用互聯網獲得更多的資源,并實現相互之間的資源共享。為此互聯網中的任何終端都可能成為不法分子的攻擊對象,例如個人信息的泄露、病毒的傳播、合法信息篡改等。面對如此嚴峻的網絡安全問題,保護網絡安全以及完善網絡安全的防御機制刻不容緩。傳統的保護策略有:訪問認證、漏洞掃描、SSL 加密、數據驗證等。這些都是被動防御策略,不能主動去發現入侵,對網絡安全的保護遠遠不足。而入侵檢測系統能夠做到主動防御,對系統和網絡進行主動檢測,具備完善的安全保護策略,可以為系統數據提供實時有效的安全保障[1]。
入侵檢測顧名思義就是對外部入侵行為的尋找與追蹤,是對計算機信息的識別與驗證[2]。在網絡安全防御機制中,入侵檢測系統對整個網絡活動進行實時監控,為網絡環境提供保障。多數入侵檢測系統存在三方面的問題:一是缺乏適用性,網絡的發展瞬息萬變,目前現有檢測規則的更新速度,遠遠趕不上新型網絡攻擊出現的速度,因此編制完整的規則庫幾乎不可能實現;二是缺乏時效性,目前互聯網以及物聯網等各種網絡交叉運行,網絡環境異常復雜,攻擊的手段和方式也不斷進步,僅憑現有經驗編制的規則難以全面覆蓋;三是缺乏可移植性,目前大多的規則包都是在特定的網絡環境下編制的,改變網絡運行環境后,就難免出現各種問題。
根據系統部署實施的方式可分為:基于主機型(HIDS)和基于網絡型(NIDS)[3]。
HIDS 主要用于監測主機的系統和事件,通過對主機系統上的審計記錄、日志文件等數據進行查看和分析,識別入侵者的入侵行為,并啟動相應程序來處理入侵行為,向管理員報警。檢測系統的響應速度,與定期對檢測數據進行校驗的頻率有直接的關系。HIDS 有以下幾方面的優點:一是識別攻擊行為明晰,在目標主機遭受入侵時,系統數據會有明顯變化,檢測系統可以快速明確識別攻擊行為;二是檢測范圍明確,針對主機系統中的數據如:系統日志、安全審計等文件來驗證攻擊行為的發生;三是配置靈活,在具體的實際應用要求下,每臺主機上的檢測系統都可以按照自身要求進行配置;四是對網絡環境不敏感,數據的傳輸一般情況下都需要加密處理,HIDS 只對主機狀態和系統文件進行檢測,不受交換環境和網絡流量的影響。盡管HIDS 具有眾多優點,但也有不足之處:一方面兼容性弱,挑剔運行環境,在很多平臺下無法正常有效運行。另一方面占用部署主機的資源,對主機系統本身的性能會產生影響。
NIDS 一般部署在網絡鏈路中的入口,實現對整個網絡入侵行為的有效檢測。在混雜的網絡模式下,通過抓取關鍵入口的數據,采集分析網絡中的通訊業務,辨別入侵行為。相比HIDS 優點如下:一是檢測速度快,NIDS 只需對流入主機的網絡流量數據包進行排查,不需要排查主機的所有文件,檢測時間非常短;二是覆蓋范圍廣,一個局域網中只需部署一臺NIDS,就可以對多個主機起到保護作用;三是適用性強,NIDS 是基于網絡的,有自己特定的硬件設備,因此不受網絡中其他主機操作系統及硬件設備的影響。相比之下NIDS 也有許多不足例如:檢測區域僅限于局域網、檢測結果存在較大誤差、無法定位對外來入侵行為。
通過以上對比,我們將入侵檢測系統的功能歸納如下:
(1)可以對漏洞攻擊行為和用戶非法行為進行實時監測。
(2)可以對入侵行為進行檢測和報警,并對受保護系統的異常事件進行統計和分析。
(3)可以對受保護文件的完整性進行審計和評估。
根據匹配數據規則特征庫的類型可分為:誤用檢測和異常檢測技術[4]。
誤用檢測技術,在檢測系統運行時,通過已知的攻擊特征庫,來和待檢行為進行匹配,這種技術稱作誤用檢測。檢測時先制定出非法行為的規則特征庫,將采集分析好的行為數據和該庫進行匹配,匹配則判定入侵,不匹配則判定正常。其主要的技術手段包括:表達式模式、語言分析和專家判斷等。誤用檢測技術在面對已知的入侵行為表現的較好,但面對未知的攻擊則表現出低效,易錯。
異常檢測技術,首先檢測前制定出用戶或系統正常行為的規則特征庫,將被檢測數據和該庫進行比較,并設立一個合適的閾值。如果偏高,則認定該行為偏離正常行為視為入侵。如果偏低,則認定該行為吻合正常行為模式,視為正常。其主要的技術手段有:神經網絡、規則檢測等。異常入侵檢測系統中如何正確建立合適的檢測規則庫是核心所在[5]。為了確保異常檢測系統的有效運行,其檢測規則特征庫需要被不斷的修正和更新,判斷的閾值也需不斷的更改,只有這樣異常檢測系統的識別度和靈敏度才會不斷地提高。
通過以上兩種檢測技術的分析,我們得到它們的共同點,都需要通過已知數據類型,來構建檢測規則庫,不同點在于誤用檢測技術提取攻擊數據,而異常檢測技術提取正常行為數據。從效能來看,誤用檢測技術是參照已知的攻擊特征庫,所以漏報率高,誤報率低。而異常檢測技術則是參照正常的行為特征庫,所以漏報率和誤報率都高。
參考上文的介紹和分析,本文提出了一種新的混合型檢測的模型,這種模型融合了兩種技術優點,最大限度地發揮了各自的特長,模型如圖1 所示。

圖1 混合型入侵檢測模型
檢測流程為:首先數據獲取部分,采集并分析原始數據,將數據加工和處理成能夠被混合系統識別的數據集。其次誤用檢測部分,根據已知的攻擊規則特征庫,對數據集進行模式匹配,如匹配則作出響應動作。再將剩下的和未檢出的數據集,流轉到異常檢測部分。最后由異常檢測部分,根據已知正常行為規則特征庫,對流轉來的數據集進行模式匹配,將匹配不成功的數據類型記錄到檢測系統中,并進行專家判斷。如果屬于攻擊數據,則將該特征更新到誤用檢測規則特征庫中,如果屬于正常數據,則將該特征更新到異常檢測規則特征庫中,以便下一次的檢測。
混合型模式的優點在于,可以更多地檢測出攻擊類型,無論是已知的還為未知的,大大提高了檢測效果。在精確度方面,它比誤用檢測低,比異常檢測高。在誤報率方面,混合型檢測有效地降低了單一異常檢測的誤報率。
數據挖掘是在大量模糊的、有噪聲的、無規則的數據中,發掘潛在的、有關聯性的模式或規則。數據挖掘的實現主要由3 個階段構成:第一階段數據的籌備,包括數據目標獲取數據對象、不同類型數據的預處理和噪聲消除、數據的降維變換等;第二階段數據挖掘,根據不同的數據挖掘模型,確定與之匹配的挖掘算法,從大量不完整、無規則的數據中發現潛在有關聯性的數據,以便對結果進行預測;第三階段數據的表示和評估,對數據挖掘得到的信息進行關聯規則、分揀分類、聚類分析后得到挖掘數據的價值,再以明析的形式表現出來,實現數據的可視化。
面向入侵檢測的數據挖掘算法是入該系統中最重要的一環,不同的數據挖掘算法針對不同的模型有不同的優缺點。統計分析、特征分析、變化和偏差分析、聚類是數據挖掘的經常使用的分析方法,而關聯規則是數據挖掘算法的重點,代表數據相互之間的關系。關聯規則的Apriori算法基本思路為:找出頻繁性滿足支持度閾值的所有數據,并建立數據集,然后由該數據集生成支持度和置信度都不小于最少支持度和最小置信度的強關聯規則[6],算法過程如下:首先假設有一個由若干個不同項組成的頻繁項集的數據集K={K1,K2,…,KL},其次掃描整個數據D,獲得候選項集的所有1 項集作為算法輸入的初始值,并計算候選項集L-1 的支持度,忽略支持度小于最小支持度的候選項集,得到項集KL。如果得該項集只有一項或者為空,則輸出L-1 個項集的K={K1,K2,…,KL-1}。反之則生成候選L+1 項集,并重復上述過程。
本文總體設計的核心為數據挖掘之間的關聯規則,實現對數據及時有效地分析。以前文提出的混合型入侵檢測模型為例,將其進行改進,改進后的系統如圖2 所示。

圖2 基于數據挖掘的入侵檢測系統
總體設計思路如下:
(1)在混合型檢測系統里增加合法的行為模塊,通過關聯分析和聚類分析,將正常的網絡行為排除在外,得到異常數據。
(2)增添相應的規則匹配模塊,對異常數據進行匹配,減少系統的誤報漏報,提升檢測成效。
(3)增添動態規則生成模塊,及時有效的對現有規則庫進行迭代更新,提升規則庫的完備性。
為了通過對大量已知網絡行為數據的數據挖掘和分析,找出其攻擊特征來作為本文入侵系統的檢測依據。我們采用了NSL-KDD 數據集,該數據集信息充足,包含多種未經訓練的數據作為測試集,模擬真實的網絡攻擊環境[7]。為了能夠準確識別出各種攻擊類型,首先要對采集到的原始數據進行去噪音、去沉余等處理。然后將原始數據轉換成入侵測試系統可識別的標準數據。最后將標準化處理后的數據采用Apriori 決策樹算法得到關聯規則,進而實現數據挖掘。其算法流程為:
(1)對采集到的數據進行標準化處理,找尋出決策樹項集;
(2)往復循環處理,歸納出訓練集的決策樹K項集合;
(3)對每個待測數據進行遍歷,得出目標數據的決策樹項支持頻度;
(4)通過計算網絡數據包與決策樹正常選項集的支持頻度來確定是異常數據還是正常數據,進而實現入侵檢測。
本文實驗驗證采用軟件環境windows7 操作系統,軟件開發語言為VC++6.0,實驗數據為NSL-KDD 數據集。通過對不同檢測方法入侵檢測系統的檢測率,誤報率及檢測時間進行驗證,來評價系統的有效性,實驗數據比較見表1。

表1 不同檢測方法的檢測性能比較
由表1 可知,采用同一個測試樣本,本文設計的檢測系統具有較高的準確率,同時誤報率、漏報率也低于其他測試系統,具有一定的優勢。同時為了驗證系統的時效性,要對不同方法在檢測時間上進行對比,以驗證系統檢測效率,具體效果見表2。

表2 相同檢測樣本的檢測性能比較
由表2 可知,本文的檢測系統在保證準確率的同時,檢測時間也大大減少,具有一定的理論價值和應用價值。
本文首先介紹了入侵檢測系統概念,詳細對比了它的分類和應用技術,并提出了一種新的混合檢測模型。在此基礎上,介紹了常用的數據挖掘算法,并將數據挖掘算法與混合檢測模型結合起來,通過Apriori算法得到關聯規則,進行數據挖掘,構建了基于數據挖掘的混合型入侵檢測系統。最后為了驗證該系統,通過實驗室數據對比,表明本系統和其他單一系統相比,無論是檢測效果,還是檢測時間上都有一定的優勢,對今后構建多元化、多樣化的入侵檢測系統有一定的借鑒意義。