于瀟菂,努爾布力,胡 亮,解男男
(1.吉林大學 計算機科學與技術學院,長春 130012;2.新疆大學 信息科學與工程學院,烏魯木齊 830046)
入侵檢測是信息系統中安全保障體系的重要組成部分,通過收集系統、用戶和網絡數據包等信息,可及時發現違背安全策略或危及系統安全的行為,在計算機應用環境下有預警和監督的作用[1].入侵檢測系統(IDS)[2]是具有入侵檢測功能的系統.傳統的入侵檢測技術存在下列不足:
1) 誤報率和漏報率較高,對真實攻擊的檢測能力有限;
2) 檢測攻擊方式單一,已有的入侵檢測系統大多數只能檢測一個數據包是否擁有攻擊特征來判別是否存在入侵,而當前的攻擊通常是團隊化的多步復雜攻擊[3],傳統的入侵檢測系統對此無能為力;
3) 入侵特征知識庫需要不斷更新以適應新的攻擊類型,維護的代價較高.
針對這些問題,需要建立更精確的安全事件檢測機制以提高對單個安全事件和聯合安全事件即多步入侵的有效檢測.根據檢測機制的不同,可將入侵檢測分為誤用檢測和異常檢測[4]:
1) 誤用檢測是通過對當前計算機行為和一直攻擊行為的特征進行對比進行入侵檢測,檢測率相對較高,但若遇到未知的新入侵行為時無法檢測;
2) 異常檢測是通過建立正常用戶和系統行為的特征模型,假設入侵行為不同于正常行為,將所有在正常行為外的行為均視為入侵,這樣可檢測未知的攻擊和入侵.異常檢測的基本方法包括統計學方法、數據挖掘、模糊理論和機器學習等,其中數據挖掘方法是一種成熟可靠的方法,可有效應用于異常檢測.
在入侵檢測系統中檢測到的多個攻擊事件可能由同一個攻擊行為產生,即一個攻擊行為可能只有一個簡單的攻擊動作,也可能由一系列復雜的攻擊組成.相關的復雜攻擊產生的警報之間也會有一定的關聯,警報之間的關系有冗余關系或因果關系.
本文通過分析已有的異常檢測和警報關聯模型,設計一種基于數據挖掘的多步入侵警報關聯模型.該模型能實現多個入侵檢測系統的警報信息融合,通過數據關聯對海量的無序警報信息進行分析,發現其中的內在聯系,精簡攻擊事件警報,并通過不斷更新場景知識庫發現融合后警報中的多步入侵行為,這種入侵檢測模型能使檢測網絡環境更安全.
入侵檢測方法較多,目前已有一系列可供參考的框架和體系結構.如最早的入侵檢測模型IDE[5]、傳統網絡入侵檢測系統NADIR和DIDSGRIDS[6]、下一代網絡入侵檢測專家系統NIDES[7]、公共入侵檢測框架CIDF[8]等.近年來,人們又引入了統計學方法、機器學習和數據挖掘等新方法解決入侵檢測問題,形成了一系列新的入侵檢測系統,這些方法具有以下特點:
1) 統計方法.不需要有安全和入侵方面的先驗知識,且隨系統的不斷運行,對惡意活動的檢測效果始終良好.基于統計方法的入侵檢測主要有基于Bayes推理的入侵檢測方法、基于Bayes聚類的入侵檢測方法和基于Bayes網絡的入侵檢測方法等.
2) 機器學習方法.系統可隨著時間的推移,通過學習提高工作能力.統計方法偏重認識的過程和產生的數據,而機器學習更注重建設一個可不斷根據已有結果改善性能的系統.基于系統調用序列分析、Bayes網絡、神經網絡、Markov模型等機器學習方法都在入侵檢測中得到了應用.
3) 數據挖掘方法.數據挖掘方法是一種有效識別攻擊行為的方法,可改善入侵檢測效果.典型數據挖掘入侵檢測方法有:基礎的入侵檢測、聚類和入侵檢測、關聯規則發現等.基于規則方法的入侵檢測系統使用規則集表示和存儲使用模式.
本文將數據挖掘應用到入侵檢測模型中.使用數據挖掘技術,可較好地解決網絡數據的分析處理問題,通過構建入侵檢測知識庫發現攻擊的關聯或聯系,發現攻擊行為,并產生相應的警報信息.同時可同其他方法結合,檢測警報信息中是否包含多步攻擊,從而更有針對性地處理發現的入侵行為,改善了入侵檢測系統的性能[9].通過使用數據挖掘技術對網絡數據、日志數據、數據倉庫等大量數據的檢測,先在這些數據中提取感興趣的、有助于入侵檢測的位置數據信息,再利用入侵檢測系統對這些數據進行檢測,減輕了入侵檢測系統的工作量,同時能發現隱藏更深的攻擊行為.
典型的基于數據挖掘的入侵檢測系統應包含下列模塊:
1) 數據采集.主要包含主機的審計記錄和日志信息;網絡中實時產生的數據包;數據倉庫中的數據信息.
2) 數據預處理.主要由格式轉換和數據融合兩部分組成.首先將復雜的數據包信息轉換成當前系統能識別的模式,然后通過數據融合保存大量的數據,提供給數據挖掘過程.
3) 數據挖掘.對經過數據預處理的數據集合,采用關聯分析和序列分析的方法進行挖掘,提取與入侵檢測相關的、包含用戶行為信息的關聯規則和頻繁序列模式,輸出到入侵檢測系統中,同時更新完善知識庫信息.
4) 入侵檢測.根據知識庫中的內容,判斷數據挖掘產生的特征信息是否為入侵行為,同時生成報警信息和日志.
基于數據挖掘的入侵檢測有兩層檢測機制,用數據挖掘發現數據信息中的異常部分,使用入侵檢測系統進行判斷發現更隱蔽的攻擊行為.通常入侵檢測系統很難從海量的數據中發現攻擊信息,但通過使用數據挖掘技術,如關聯規則,可發現數據信息中頻繁出現的屬性信息值,通過發現這些屬性信息值間的聯系可找出網絡流量信息間的聯系,從而發現攻擊信息的特征.對多種多步入侵攻擊[10]的檢測效果較好.

圖1 典型的警報關聯模型Fig.1 Typical alert correlation model
典型的警報關聯模型主要包含數據采集、預處理、警報關聯模塊、知識庫、數據庫和策略等模塊,如圖1所示.
系統處理流程如下:
1) 警報數據采集.警報數據采集器主要采集多個不同的、異構的入侵檢測系統的警報信息,采集的警報信息格式也是異構多樣的.由于警報關聯技術是對警報數據的屬性信息進行關聯,所以要先對不同格式的警報信息提取相應的屬性信息,再轉換成統一的格式信息,為警報關聯模塊的實施提供數據源支持.
2) 警報數據預處理.警報數據采集器輸出統一格式的警報數據屬性信息后,警報數據預處理先將這些統一格式的輸出信息進行融合,再將融合后的警報屬性進行一致性、冗余性檢查,如IP、端口號、協議類型等,不同入侵檢測系統的警報難免會有相同的、沖突的屬性信息,只有正確地對不同入侵檢測系統的警報數據預處理,才能更準確地進行警報關聯,反映正確的網絡運行情況.
3) 警報關聯.警報關聯模塊用特定的警報關聯算法和利用關聯知識庫對預處理后的整體網絡數據進行警報關聯,從中發現一系列關聯警報的入侵目的和意圖.警報關聯也能發現誤報的警報信息,如一個警報信息的很多屬性值(如IP、端口號、協議)與其他警報信息的屬性值內在關系差別較大,就有可能是誤報,但也有可能是一種新的未知的攻擊類型,所以還要進一步分析究竟是誤報還是另一種新的類型.經過警報關聯的警報數據屬性信息,要保存到數據庫并輸出到策略動作模塊,作為它們實施操作的數據源.此外,警報關聯階段不僅是用知識庫的階段,也是不斷完善、更新知識庫的階段,使知識庫中的信息滿足當前網絡環境的要求.
4) 數據存儲和策略的制定.將關聯后的更明確攻擊意圖的警報關聯結果存到數據庫中,便于以后分析.策略動作的制定是通過解釋警報關聯后更高層次的警報信息而觸發的,制定出防護策略,保護網絡環境更安全.
多步入侵是一種較復雜、高級的攻擊方式,主要特點是攻擊間隔時間長、攻擊未知、采用方法較多、混雜虛假信息等,這些特點都加大了入侵檢測系統對多步攻擊檢測的難度.目前,已有的入侵檢測系統多采用預制的方法對多步入侵進行檢測,該方法相對局限和滯后,針對多步入侵的特點,采用警報關聯方法對其進行檢測,能取得較好的效果.
一個特定的網絡攻擊過程通常分為幾個有相互聯系的步驟,每個步驟都相對獨立,能通過很多方法實現每個攻擊步驟的結果,所以單個攻擊步驟的檢測相對較難發現,需要對多個攻擊步驟進行關聯,發現入侵攻擊.
多個攻擊步驟在時間上相對有聯系,不管使用什么方法,如要先掃描存在性,再找脆弱點,再攻擊,它們攻擊目的的先后關系是確定的.每個單一步驟的目的、意圖也是一致的,在因果關系上相同.
多步入侵一般可分為準備階段、潛伏階段、攻擊階段和善后階段,本文根據多步攻擊的特征,設計了多步入侵的警報關聯模型.多步攻擊的警報關聯與普通的單步入侵警報關聯模型基本類似,只是在知識庫的設計中加入了多步攻擊的知識規則,將以前警報關聯后產生的數據作為經驗存儲到數據庫中,當分析多步攻擊時,使用數據庫的信息進行判斷,如傳統方法很難檢測出時間跨度較大的多步入侵行為,而通過本文方法可根據知識規則找到數據庫之前對應的警報關聯數據,從而判斷出多步入侵行為,做出警報動作.
本文設計的基于數據挖掘的多步入侵警報關聯模型主要有以下特性:
1) 可擴展性好,節省資源,配置性強,能在大規模的異構網絡中發揮入侵檢測的作用;
2) 可移植性好,與平臺無關,有較好的適應性;
3) 隨著網絡環境的變化能自動更新知識庫,可以對未知類型的攻擊和復雜的多步入侵進行檢測,有較好的學習能力.
基于數據挖掘的多步入侵警報關聯模型結構主要由4部分組成:異常檢測模塊、單個IDS警報預處理模塊、異構多IDS關聯分析模塊和警報模塊[11],模型的設計如圖2所示.

圖2 基于數據挖掘的多步入侵警報關聯模型Fig.2 Anomaly detection based on data mining and coordinated intrusion alert correlation model
2.3.1 異常檢測模塊 主要基于異常檢測方法,將原始數據通過特征選擇進行預處理,對數據進行過濾,同時應用數據挖掘提取經過預處理后數據中包含的規則,更新知識庫,最后通過自身的知識庫判斷是否是入侵行為,同時,也可以結合其他入侵檢測系統,通過投票或評分的方式對同一個警報進行協作式評估,但該方法對時間要求較苛刻,因此不適于大范圍應用.
2.3.2 單個IDS警報預處理模塊 該模塊的主要功能是進行警報的過濾和格式的統一,警報的過濾即誤報濾除,將警報中不是入侵行為的錯誤警報排除,可通過如隱Markov或條件隨機場等方法實現.統一格式的警報利于數據的處理和交互.
2.3.3 異構多IDS關聯分析模塊 該模塊的主要功能是進行多IDS的關聯分析,本文主要考慮多步入侵警報的關聯分析,先將經過單個IDS過濾的警報進行警報融合,再將融合后的警報數據進行關聯分析,判斷是否是多步攻擊的警報,若屬于多步攻擊的警報,則進行如頻度分析和優先級設置的處理后,與多步攻擊場景知識庫進行比對,判斷是否是攻擊及攻擊的類型等信息,最后進行報警和攻擊呈現,并將報警信息記錄到日志中.主要有以下4種方法:
1) 多步攻擊關聯.隨著網絡中攻擊模式的多樣化、集團化,多步攻擊已成為網絡攻擊中越來越重要的構成因素.目前主要有基于因果關聯的關聯方法和TIAA關聯工具.
2) 警報信息融合.主要采用相似度關聯算法及聚類、分類等算法處理原始警報信息,達到減少警報數量的目的[12].但警報的屬性較多,警報的相似性難以定義,不易從眾多屬性中篩選出有效的特征值,對專家選擇屬性的正確性依賴較大,很難發現警報之間的因果關系,大量原始警報的手工分析效率較低.
3) 交叉關聯.學習警報數據中隱含的關聯模式,利用學習得出的警報關聯模式分析新產生的警報關聯數據,自動生成警報關聯模式.缺點是需要使用大量數據進行訓練,同時不能分析出訓練數據中沒包含的模式.
4) 其他關聯方法.復雜攻擊由不同階段的攻擊組合而成,這些攻擊間存在一定的關聯特征,由此產生的警報間也具有關聯性.目前主要有日志關聯方法和信息事件關聯方法等.
2.3.4 警報模塊 入侵檢測系統本質上是為了通過發現數據特征來識別攻擊,發現攻擊后,最重要的工作就是報警,通過相應的機制也可以做到入侵的響應,如iptable防火墻的聯動、入侵的反向追蹤等方法.同時,也可結合電子證據的研究,進行網絡入侵的審計采集,為大規模的多步攻擊提供確實可信的電子證據.
在模型結構方面,目前已有很多研究成果,如分布式入侵檢測系統(DIDS)在處理小規模數據時較有效,但難處理大規模數據,且容易出現單點故障;基于圖形的分層多步入侵攻擊檢測系統(GrIDS)不會出現單點故障但仍存在規模有限、不易擴展的問題;基于相似度的警報關聯系統可擴展性較好,但難處理復雜攻擊;基于多級的多步入侵警報關聯體系結構可處理未知的攻擊,但構建攻擊數據庫,進行警報關聯花費的代價較高[13].將本文模型與上述模型進行比較可見,本文模型主要有以下3個特點:
1) 已有的對入侵警報關聯的研究多數集中在異構警報數據融合處理方面,本文模型充分利用領域知識,提出了基于數據挖掘的多步入侵警報關聯模型,從多步入侵警報關聯角度出發,設計了一個適用于多步入侵檢測領域的模型,擴展性好,能處理較大規模的數據,不需要專家人工建立攻擊特征數據庫,建立知識庫花費的代價相對已有的系統較小;
2) 因為單個IDS數據和多個IDS數據融合后的數據特征可能存在不同的特性,考慮到減少關聯分析系統的負擔,增強檢測效果,本文在模型中對單個IDS的過濾和數據預處理與多個IDS的過濾和數據處理及融合分開,從而可由不同的領域考慮,提出適合不同情況的單IDS過濾器和多IDS過濾器,盡可能地發揮IDS的功能,提高檢測效率,處理更復雜的攻擊;
3) 對關聯分析方法及多步場景知識庫的構建進行了分析,同時在模型中也對諸如優先級設置和頻度分析進行了研究,能夠結合系統特性,為應用者針對特定攻擊提出特定的關聯分析工具.
綜上所述,本文提出了一種基于數據挖掘的多步入侵警報關聯模型,該模型結合多個入侵檢測系統的警報信息進行融合,對大量的、無序的警報信息進行分析,從而發現其中的內在聯系,精簡攻擊事件警報,并通過不斷更新的場景知識庫發現融合后警報中的多步入侵行為,在異構多IDS關聯、知識庫的構建效率方面具有較好的效果.
[1] HU Liang,JIN Gang,YU Man,et al.Techniques of IDS Based on Anomaly Detection [J].Journal of Jilin University: Science Edition,2009,47(6): 1264-1270.(胡亮,金剛,于漫,等.基于異常檢測的入侵檢測技術 [J].吉林大學學報: 理學版,2009,47(6):1264-1270.)
[2] Ghosh A K,Schwartzbard A.A Study in Using Neural Networks for Anomaly and Misuse Detection [C]//Proceedings of the 8th USENIX Security Symposium.Berkeley: USENIX Association,1999: 12.
[3] JIANG Qian,HU Liang,ZHAO Kuo,et al.Research on Security of Telecommunication Accounting System [J].Journal of Jilin University: Information Science Edition,2009,27(4): 383-388.(姜千,胡亮,趙闊,等.入侵檢測系統評估技術研究 [J].吉林大學學報: 信息科學版,2009,27(4):383-388.)
[4] Chandola V,Banerjee A,Kumar V.Anomaly Detection for Discrete Sequences: A Survey [J].IEEE Transactions on Knowledge and Data Engineeri,2012,24(5): 823-839.
[5] Stillerman M,Marceau C,Stillman M.Intrusion Detection for Distributed Applications [J].Communications of the ACM,1999,42(7): 62-69.
[6] XU Jing,CAO Zhong-wei.Research on Network Intrusion Detection System [J].Advanced Materials Research,2010,159: 77-82.
[7] GAO Ze-sheng,TAO Hong-cai.Implementation Mechanism of Next-Generation Intrusion Detection System [J].Journal of Yunnan University for Nationalites: Natural Sciences Edition,2003,12(4): 255-257.(高澤勝,陶宏才.下一代入侵檢測系統NIDES的實現機制 [J].云南民族學院學報: 自然科學版,2003,12(4): 255-257.)
[8] Porras P,Schnackenberg D,Staniford-chen S,et al.The Common Intrusion Detection Framework Architecture [EB/OL].2006-05-02.http://gost.isi.edu/cidf/drafts/architecture.txt.
[9] ZHANG Jin-rong,LIU Feng,ZHAO Zhi-hong,et al.Applications of Data Mining to Network Intrusion Detection [J].Computer Engineering and Design,2009,30(24): 5561-5566.(章金熔,劉峰,趙志宏,等.數據挖掘方法在網絡入侵檢測中的應用 [J].計算機工程與設計,2009,30(24):5561-5566.)
[10] LI Bo.Research on Anomaly Intrusion Detection Based on Data Mining [D].Shenyang: Northeastern University,2005.(李波.基于數據挖掘的異常模式入侵檢測研究 [D].沈陽:東北大學,2005.)
[11] Nurbol.Research on Anomaly Detection Based on Data Mining and Multi-stage Intrusion Alert Correlation [D].Changchun: Jilin University,2010.(努爾布力.基于數據挖掘的異常檢測和多步入侵警報關聯方法研究 [D].長春:吉林大學,2010.)
[12] Patcha A,Park J M.An Overview of Anomaly Detection Techniques: Existing Solutions and Latest Technological Trends [J].Computer Networks,2007,51(12): 3348-3470.
[13] Zhou C V,Karunasekera S,Leckie C.A Peer-to-Peer Collaborative Intrusion Detection System [C]//Proceedings of the IEEE International Conference on Networks.Piscataway: IEEE Press,2005: 118-123.