淺談入侵防御系統中的事件分析
引言
隨著通信技術的發展,與此同時,網絡的規模也在迅速增長,網絡攻擊也不可避免的有所增長。中本聰發明的比特幣拉開了網絡匿名交易的幕簾,因此催生了一大批的黑色產業,伴隨而來的是這些黑產相關的網絡攻擊,例如挖礦攻擊、勒索病毒攻擊等。隨著人與網絡的關系越來越密切,網絡的安全問題將對我們每一個人產生更加深遠的影響。
面對諸多的網絡攻擊,更加先進的防御技術便是有效的防護措施。這些防御技術可以分為被動防御和主動防御。我們所熟知的防火墻便是最具有代表性的被動防御措施。配置防火墻規則可以在很大程度上阻斷攻擊行為,但是它的缺點也同樣明顯,無法辨別這些行為是否為真的攻擊,無法為防御改進提供新的知識。入侵檢測和防御技術可以補充防火墻這種被動防御的不足,主動識別攻擊行為,發生網絡攻擊事件后可以對攻擊行為進行更加細致的分析,發現系統中存在的漏洞和弱點,及時升級被動防御系統,提升系統的安全性。
入侵檢測[1]是對企圖入侵、正在進行的入侵或者已經發生的入侵進行識別的過程[2]。入侵防御技術區別于入侵檢測技術,它不僅能識別網絡威脅,還能對網絡威脅做進一步的分析和相應的響應,是對防火墻和防病毒技術的有力補充。對于入侵防御系統而言,檢測出威脅事件只是第一步,接下來需要對威脅事件進行分析,掌握威脅事件,溯源定位威脅源頭,才能實施有效的響應處置手段。
近些年,網絡攻擊行為逐漸呈現出大規模、協同、多階段等特點,網絡攻擊不再是孤立事件。根據國家互聯網應急中心CNCERT(National Internet Emergency Center)2017年度網絡安全工作報告,攻擊事件按類型進行統計的結果,大部分攻擊(尤其是危害巨大的攻擊)幾乎都是多步攻擊。針對多步攻擊,傳統的被動防御模式能夠起到的作用十分有限,而主動防御技術則具有一定的防御能力。入侵防御系統通過分析安全設備產生的告警事件,挖掘這些事件背后所隱藏的網絡威脅事件,識別網絡中存在的多步攻擊行為,并且對其進行精準清除。入侵防御系統為了抵御更加復雜多步攻擊,需要在事件分析環節能夠準確地關聯到事件發生的源頭,串聯起事件的上下文信息。由于多步攻擊中的每一步攻擊的成功都是下一步攻擊成功的某種先決條件,研究人員利用語言模型邏輯性來描述攻擊模型。本文將從網絡威脅事件分析中的事件要素提取和事件關聯分析兩方面展開討論。
利用深度學習進行事件要素提取
入侵防御系統所接收到的數據往往都是多源異構的,并且格式十分復雜,并不適合直接人類閱讀,不能直接用于事件的關聯分析,需要確定能夠涵蓋事件顯著特征的要素字段,并且對這些要素特征進行提取。深度學習是近年來興起的一種基于表征學習思想的機器學習技術,一般使用深層神經網絡實現。它通過由神經元組成的多層神經網絡逐步學習得到原始數據的高層特征表示并進一步用于分析的任務。
深度學習采用的一般是端到端的方式,即不再需要人工對數據進行特征處理等操作,而是由神經網絡直接處理原始數據并自動學習和輸出高層特征,不再依賴于特定領域的專家知識。這個優勢使得深度學習在很多特征設計比較困難的領域得到了廣泛應用,并取得了非常好的效果。[3]
圖1 深度學習提取事件要素
深度學習可以用于將網絡威脅事件的低維數據信息提取成高質量的高維數據信息。結合事件關聯分析技術可以對網絡威脅事件進行冗余合并以及因果關聯,便于系統管理員及時有效地響應處置網絡威脅事件。根據深度學習的端到端學習特點,只需要將入侵防御系統中的網絡威脅事件輸入到模型中,如圖1所示,模型便可以將輸入的底層日志信息進行加工處理為與攻擊高度相關的高層抽象信息。這些高維信息中包含了低維信息中的重要要素。如果使用非深度學習的方法,事件要素提取的工作需要經驗豐富的網絡運維人員來參與其中,并且還無法避免存在人為因素而導致的錯誤。大量的事件來訓練模型,最終可以實現快速、無需人為干預地提取出事件的關鍵要素信息。
基于深度學習的事件要素抽取主要是借鑒文本分類的思想,對事件要素進行識別,再將其進行抽取,將事件要素的識別轉化為分類問題。如圖2所示為事件要素的具體抽取流程,在特征獲取階段獲取原始告警事件的所有特征,將機器不易處理的文本類信息進一步處理后得到模型訓練可以識別的向量特征。經過預處理后可以得到數值類型、枚舉類型、文本向量類型等可以用于模型訓練的特征數據。對事件要素識別任務中,Chieu首次在事件要素的識別任務中引入最大熵模型[8],實現對人事管理事件的要素抽取。H. Lorens等通過CRF模型進行語義標注[9],并應用于TimeML的事件抽取,提升了系統的性能。為了提高識別效果,有時將多種深度學習算法混合使用或將深度學習與模型匹配相結合[10,11]。D.Ahn結合 Megam和 TIMBL兩種深度學習方法分別實現了事件元素提取的任務,實驗結果表明,綜合方法優于單一算法。由于深度學習與領域知識無關,無需太多領域專家的指導,可移植性好。隨著相關技術的發展,深度學習在事件要素抽取領域逐漸發力。
事件關聯分析
在海量的網絡威脅事件中,關聯分析旨在發現事件之間有意義的隱式聯系、挖掘攻擊意圖、重建攻擊場景。經調研,關聯分析方法大量地被應用到入侵檢測系統的結果分析中,其中關聯規則和頻繁模式挖掘是網絡威脅事件關聯分析中常用的方法。
網絡威脅事件之間的關系可以抽象為兩類:冗余關系和因果關系。如圖3所示為事件的分析流程,根據事件的屬性對冗余關系的關聯分析合并相似事件,再對事件進行因果關聯分析,獲得事件完整的發展過程,從而了解到網絡威脅事件的全貌,發現網絡中的多步攻擊行為,消除威脅事件對系統的影響。
圖3 事件分析流程
冗余關系關聯分析基于事件攻擊特征中相關屬性之間的相似度,相似度基于概率統計。警報聚合是事件關聯分析重要的一個應用場景。警報聚合的目的是將具有某些相似度的警報聚合成為一組,將其作為整體進行處理,從而減少系統運維人員的處理數據量。H.Debar [4] 提出了一個抽象聚合方法框架,通過計算兩個警報之間不同屬性的相似度進行聚合警報。Maggif [5]等人針對時間屬性,提出了利用模糊集理論進行聚合的方法,即通過建立一個數學模型來描述時間上的距離,兩個警報之間的不同時間差距可以按照此數學模型轉換成聚合概率,通過比較此概率與閾值來確定是否對兩個警報進行聚合。
因果關系關聯分析是基于攻擊行為的前因后果進行攻擊推理。攻擊者突破進入系統之前,會有一系列的攻擊,而每一步的攻擊的成功都是下一步攻擊的某種先決條件。S.Cheung [6]等人提出了一種語言模型用于描述攻擊模型。這種模型描述語言中包含兩個概念,即先決條件和后置條件,當某個警報的后置條件與另一個警報的先決條件相匹配時則對兩個警報進行關聯,如此便能理清警報之間的邏輯關系。Cuppens和Miege[7]也提出一種攻擊模型描述語言 LAMDA,其中也提到了先決條件和后置條件的概念。通過前因后果的關聯分析可以在網絡威脅事件發生的時候發現引發當前事件的原因,不再將網絡威脅事件孤立的看待,將事件的前因后果合并為一個有機的整體。通過對這個整體進行處置,不僅“治標”還能“治本”。
結束語
深度學習將不易使用的網絡威脅事件低維數據信息提取成高質量的高維數據信息。結合事件關聯分析技術可以對網絡威脅事件進行冗余合并以及因果關聯,便于系統管理員及時有效地響應處置網絡威脅事件。雖然網絡的規模與其中存在的網絡攻擊在變得越來越復雜和多樣化,但是隨著深度學習的發展,也將會改善攻守雙方的地位。網絡威脅事件的分析工作經過新興人工智能技術的加持將由人員密集型轉向技術密集型,在減少人力參與的同時又提升工作效率。相信隨著更多新技術的出現,入侵防御技術也將會面臨更多的機遇與挑戰。
參考文獻
1. Denning D E. An intrusion-detection model[J]. IEEE Transactions on software engineering, 1987 (2): 222-232.
2. 唐正軍. 入侵檢測技術導論[M]. 機械工業出版社, 2004.
3. 仲思超, 朱磊, 蔡冰. 基于深度學習的 Web 安全事件分析系統及其實現[J]. 江蘇通信, 2019 (2): 13.
4. Debar H, Dacier M, Wespi A. Towards a taxonomy of intrusion-detection systems[J]. Computer networks, 1999, 31(8): 805-822.
5. Ussath M, Jaeger D, Cheng F, et al. Advanced persistent threats: Behind the scenes[C]//2016 Annual Conference on Information Science and Systems (CISS). IEEE, 2016: 181-186.
6. Smith R, Japkowicz N, Dondo M, et al. Using unsupervised learning for network alert correlation[C]//Conference of the Canadian Society for Computational Studies of Intelligence. Springer, Berlin, Heidelberg, 2008: 308-319.
7. Cuppens F, Ortalo R. Lambda: A language to model a database for detection of attacks[C]//International Workshop on Recent Advances in Intrusion Detection. Springer, Berlin, Heidelberg, 2000: 197-216.
8. Chieu H L, Ng H T. A maximum entropy approach to information extraction from semi-structured and free text[J]. Aaai/iaai, 2002, 2002: 786-791.
9. Llorens H, Saquete E, Navarro B. TimeML events recognition and classification: learning CRF models with semantic roles[C]//Proceedings of the 23rd International Conference on Computational Linguistics (Coling 2010). 2010: 725-733.
10. Ahn D. The stages of event extraction[C]//Proceedings of the Workshop on Annotating and Reasoning about Time and Events. 2006: 1-8.
11. 丁效, 宋凡, 秦兵, 等. 音樂領域典型事件抽取方法研究[J]. 中文信息學報, 2011, 25(2): 15-21.