◆李艷斐 李海威 王 銳
(公安部第一研究所 北京 100048)
基于海量安全數(shù)據(jù)的專家分析系統(tǒng)的功能設計與實現(xiàn)
◆李艷斐 李海威 王 銳
(公安部第一研究所 北京 100048)
本文提出一種基于海量安全數(shù)據(jù)的專家分析系統(tǒng)技術框架。該框架主要劃分為數(shù)據(jù)處理引擎、數(shù)據(jù)管理引擎、專家分析引擎以及數(shù)據(jù)可視化引擎等關鍵技術。在此基礎上,通過“采集、標準化、歸約化、聚類、合并、關聯(lián)”的層次化架構設計,充分關聯(lián)海量異構數(shù)據(jù)、挖掘安全事件、感知安全態(tài)勢。最后,以入侵攻擊及流量兩類日志的數(shù)據(jù)處理、規(guī)則分析及可視化分析、智能預警為例,結合典型功能模塊闡述本系統(tǒng)的具體實現(xiàn)。
數(shù)據(jù)管理;專家分析;智能預警
隨著行業(yè)專網(wǎng)信息化工作的深入推進,應用日益多元豐富,信息數(shù)據(jù)快速膨脹,虛擬化、云計算、大數(shù)據(jù)等前沿技術得到迅速的推廣和應用。與此同時,應用非授權訪問、數(shù)據(jù)盜取、信息泄露、網(wǎng)絡攻擊、病毒傳播等問題嚴重威脅著行業(yè)專網(wǎng)的網(wǎng)絡安全和信息安全,傳統(tǒng)被動安全防護模式已經(jīng)無法適應安全管理的需要,安全保障業(yè)務人員面臨從海量報警日志中發(fā)現(xiàn)安全事件的困難。因此,迫切需要借助一套基于海量安全數(shù)據(jù)的專家分析系統(tǒng),由安全分析專家介入,實現(xiàn)安全事件的研判分析和智能推送,將業(yè)務專家從相互孤立的防御系統(tǒng)、分散的報警設備運維中解放出來,真正投入到及時發(fā)現(xiàn)、核實、處置安全事件的日常工作中,保證安全保障工作的正常開展。
目前,基于海量安全數(shù)據(jù)的專家分析系統(tǒng)普遍采用的一些技術手段包括以下四個方面:
(1)統(tǒng)一化:指對信息安全相關系統(tǒng)中常見的數(shù)據(jù)源進行采集,根據(jù)預先定義的配置,把各種類型的安全數(shù)據(jù)格式化成統(tǒng)一的格式。
(2)整合化:指對統(tǒng)一采集的日志進行過濾、去冗余處理后,根據(jù)預先定義的分類規(guī)則對日志進行歸納分類,轉發(fā)處理或直接轉存數(shù)據(jù)庫。
(3)關聯(lián)化:包括日志與環(huán)境信息(資產信息,網(wǎng)絡邏輯等)的關聯(lián);日志風險級別、優(yōu)先級、時間段關聯(lián);基于統(tǒng)計的時間窗關聯(lián);日志與固有安全漏洞的關聯(lián)等多種處理方法。
(4)可視化:分為在線和離線兩種方式,在線指通過實時獲取風險日志數(shù)據(jù)進行綜合計算和可視化來表達當前的安全態(tài)勢;離線指基于已有數(shù)據(jù)進行安全事件挖掘,并對統(tǒng)計分析的結果進行可視化輸出[1]。
綜上,所謂專家分析系統(tǒng)是指能夠利用智能信息處理技術以及描述安全事件關聯(lián)關系的先驗知識對網(wǎng)絡中的各類安全設備的報警日志信息進行智能處理和關聯(lián)分析,實現(xiàn)報警信息的精煉化和關聯(lián)化,達到提高報警信息的可用信息量、降低安全設備的虛警和誤警、發(fā)現(xiàn)網(wǎng)絡安全威脅事件的目的。因此,本系統(tǒng)設計的重點是如何實現(xiàn)高效的日志關聯(lián)分析及事件研判挖掘引擎設計,支持自由定義規(guī)則的組合方式及任務的執(zhí)行順序,通過分析結果直觀反映網(wǎng)絡安全中的典型問題并及時預警。
本系統(tǒng)在日志數(shù)據(jù)處理上采用“采集、標準化、歸約化、聚類、合并、關聯(lián)”的層次化架構[1],其中前三步將有效地降低重復、錯誤的原始安全日志,為提高海量數(shù)據(jù)環(huán)境下的相關事件關聯(lián)計算奠定基礎;而后三步能夠較好地從全局角度出發(fā),對異構網(wǎng)絡中的海量安全日志進行高效的聚類與合并,進而對相關事件進行關聯(lián)計算,從而為網(wǎng)絡安全管理中安全威脅的快速定位、態(tài)勢識別與聯(lián)動響應提供有效的機制保障。
系統(tǒng)總體劃分為數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)分析、業(yè)務應用四大功能模塊。安全數(shù)據(jù)的采集是輔助功能,安全數(shù)據(jù)的處理和分析是本系統(tǒng)的核心功能,并在此基礎上衍生出多種業(yè)務應用,其中包括:數(shù)據(jù)管理(原始日志分類查詢、原始日志關聯(lián)及分析結果查詢、原始日志歸并及統(tǒng)計結果查詢)、專家分析(源數(shù)據(jù)選擇、規(guī)則編寫、模型測試、結果論證,及典型網(wǎng)絡攻擊模型可視化呈現(xiàn))、智能預警(分析引擎配置、定時任務執(zhí)行、命中安全事件列表及詳情查詢)、系統(tǒng)配置等。
根據(jù)上述架構設計,本次主要完成數(shù)據(jù)處理引擎、數(shù)據(jù)管理引擎、專家分析引擎、可視化分析引擎等四大核心功能模塊的設計與實現(xiàn)。
數(shù)據(jù)處理引擎主要包括兩個處理過程,一是數(shù)據(jù)標準化,將原始數(shù)據(jù)通過數(shù)據(jù)規(guī)整和數(shù)據(jù)標注進行格式轉換和類型區(qū)分,形成格式統(tǒng)一的安全數(shù)據(jù),具有較好的可擴展性、兼容性及邏輯統(tǒng)一性,滿足了異構環(huán)境中對安全日志的標準化要求;二是數(shù)據(jù)規(guī)約化,對安全日志進行過濾、聚合、歸一等處理,首先,為消除冗余數(shù)據(jù)(如時序錯亂、延遲/丟失、重復和錯誤告警等),采用基于屬性約束策略的實時歸約算法,其次,將安全日志數(shù)據(jù),基于已知的特征進行合并,形成具體相同特征或屬性的日志數(shù)據(jù)族。處理完成后,所有日志數(shù)據(jù)分類入庫,并建立索引類型。
本系統(tǒng)支持將采集的異構的、結構化和非結構化的、實時和批量的數(shù)據(jù)集中到大數(shù)據(jù)分析平臺,整合成為集中、一致、多維度的數(shù)據(jù)平臺。
基于Hadoop開發(fā)的面向列的分布式數(shù)據(jù)庫Hbase[2],為海量日志的存儲提供了技術解決方案,其優(yōu)勢在于利用HDFS作為其文件存儲系統(tǒng),利用Map/Reduce來處理HBase中的海量數(shù)據(jù),利用Zookeeper作為協(xié)同服務,可以用于實時隨機讀/寫超大規(guī)模數(shù)據(jù)集。但為了實現(xiàn)更加高效的數(shù)據(jù)存儲與管理,需要對此數(shù)據(jù)庫進行優(yōu)化,以適應多樣化的日志格式。與此同時,在表中的數(shù)據(jù)量非常多的情況下,HBase很難實現(xiàn)非常高效的索引檢索機制。因此,需要借助全文檢索引擎ElasticSearch提供的索引的能力來給HBase的rowKey建立索引。
阿里呵呵呵地尾隨著阿東。路上有熟人見到阿里,都熱情地跟他打招呼。阿里,今天怎么這么開心呀!阿里,笑得蠻好咧。阿里,你比阿東帥多了!
本系統(tǒng)中 HBase只負責存儲采集的安全日志原始數(shù)據(jù)及相關統(tǒng)計、分析數(shù)據(jù),相應的檢索查詢功能由ElasticSearch[3]完成。
專家分析引擎主要包括兩個核心功能,一方面,支持數(shù)值統(tǒng)計、算法挖掘和攻擊樹推理等模型的規(guī)則設計與驗證,另一方面,可以支持任務配置,對應每次任務可以選擇數(shù)據(jù)源以及相應的測試規(guī)則,并對每次任務執(zhí)行后的結果進行保存、查詢和二次分析。
為了實現(xiàn)上述功能,首先,需要在內存中主要嵌入兩個數(shù)據(jù)庫,分別是索引數(shù)據(jù)庫和查詢語句數(shù)據(jù)庫[4]。索引數(shù)據(jù)庫負責存儲安全日志及事件的索引類型;查詢語句數(shù)據(jù)庫負責存儲需要對不同類型的數(shù)據(jù)源進行何種處理的具體業(yè)務規(guī)則,即 SQL 查詢語句等。其次,規(guī)則引擎的設計[5]主要包括模式匹配器和執(zhí)行引擎,可以為日志或事件的查詢結果提供進一步的計算以及封裝操作。模式匹配器負責根據(jù)處理對應索引類型的查詢規(guī)則匹配相關聯(lián)的監(jiān)聽器,即每套規(guī)則需與一種索引類型的監(jiān)聽器匹配;而執(zhí)行引擎則負責監(jiān)聽器內部具體的計算和封裝工作。
當用戶編寫相應規(guī)則的查詢語句并執(zhí)行后,對日志或事件查詢的結果信息會立即傳入由模式匹配器為其匹配的監(jiān)聽器中,并在監(jiān)聽器中進行事件統(tǒng)計計算、態(tài)勢計算以及對計算結果的二次事件封裝,形成新的事件再重新推入索引庫,或直接推送報警。
這種通過配置規(guī)則引擎的任務執(zhí)行列表及條件能夠很好地實現(xiàn)數(shù)據(jù)的多次交互迭代處理,按步驟完成復雜的統(tǒng)計和算法邏輯,挖掘數(shù)據(jù)的潛在價值,同時,這也是積累模型庫的一種可行性方案。
可視化分析引擎的工作包括四個步驟:選取數(shù)據(jù)源、依據(jù)不同的數(shù)據(jù)源和顯示需求選取可視化結構、設計和實現(xiàn)信息實時性顯示以及設計人機交互。由數(shù)據(jù)源的類型決定系統(tǒng)中安全數(shù)據(jù)的可視化分析及呈現(xiàn)方式。由于網(wǎng)絡結構復雜、網(wǎng)絡數(shù)據(jù)種類繁多,那么在不同的網(wǎng)絡應用場景下,網(wǎng)絡安全日志的數(shù)據(jù)源的類型也大不相同,比如入侵檢測系統(tǒng)的警報日志和防火墻日志數(shù)據(jù)使用的顯示方式就大不相同,前者注重異常的挖掘,后者注重網(wǎng)絡數(shù)據(jù)結構及數(shù)據(jù)流的展示。因此,本系統(tǒng)中僅對流量日志和入侵檢測日志這兩類顯示方式相似的數(shù)據(jù)的可視化呈現(xiàn)方式進行設計和實現(xiàn)。
根據(jù)系統(tǒng)總體架構及功能設計,系統(tǒng)實現(xiàn)了三個核心功能模塊:數(shù)據(jù)管理、專家分析和智能預警。
其中,數(shù)據(jù)管理模塊主要完成網(wǎng)絡流量和入侵攻擊兩類安全數(shù)據(jù)的采集、建模、分類管理;專家分析模塊主要完成原始日志和安全事件的數(shù)值統(tǒng)計、關聯(lián)分析[6]、攻擊樹模型等規(guī)則分析和可視化分析;智能預警模塊主要完成安全態(tài)勢展示及安全風險預警[7]等。
數(shù)據(jù)管理的主功能界面如下圖1所示,包括數(shù)據(jù)列表區(qū)和數(shù)據(jù)檢索區(qū)。
數(shù)據(jù)列表區(qū):包括表名以及相應數(shù)據(jù)條數(shù)。點擊表名右側的下拉鍵頭,可以顯示描述該表的字段列表。
數(shù)據(jù)檢索區(qū):支持兩種數(shù)據(jù)查詢模式,即檢索模式和代碼模式。其中,檢索模式下,用戶選中數(shù)據(jù)表后,可以定義需要查詢的條件,每個條件都是并且的關系。點擊查詢按鈕,篩選同時滿足設定條件的數(shù)據(jù)。代碼模式下,用戶編寫SQL代碼,進行數(shù)據(jù)的查詢。支持將編輯的代碼保存為模板,用戶可以在模板列表中可以選擇需要執(zhí)行的代碼模板。
圖1 數(shù)據(jù)管理主功能頁面
專家分析引擎的主功能界面包括規(guī)則管理區(qū)和規(guī)則內容編輯區(qū)。
規(guī)則管理區(qū):支持對規(guī)則列表進行管理。單點規(guī)則時,右側內容編輯區(qū)可以顯示該條規(guī)則的具體內容。
規(guī)則內容編輯區(qū):以原生SQL方式對規(guī)則內容進行編寫。支持對選定的規(guī)則內容進行修改。點擊保存按鈕,可保存當前的規(guī)則內容。點擊測試按鈕,可將規(guī)則下發(fā)到系統(tǒng)中,并在結果框中顯示執(zhí)行規(guī)則的狀態(tài)。點擊發(fā)布按鈕,可配置發(fā)布規(guī)則。
本系統(tǒng)針對網(wǎng)絡流量和入侵攻擊等安全數(shù)據(jù)進行規(guī)則分析后,還可以通過可視化分析工具對分析結果進行呈現(xiàn),如下圖2所示:
圖2 規(guī)則管理-可視化分析工具
本系統(tǒng)支持對專家分析得到的疑似安全事件進行基于機器學習的智能分析,如圖3所示,展示針對匹配網(wǎng)絡流量異常特征的數(shù)據(jù)集進行訓練后得到的結果,對 IP訪問流量異常的預警具有一定的參考價值。
圖3 智能分析-結果展示
本文從網(wǎng)絡安全形勢及安全監(jiān)測現(xiàn)狀出發(fā),分析了現(xiàn)有的安全監(jiān)測手段的落后及應用智能手段進行日志分析的必要性,并在此基礎上設計與實現(xiàn)了基于海量安全數(shù)據(jù)的專家分析系統(tǒng),從數(shù)據(jù)管理、專家分析、智能預警三方面詳細闡述了網(wǎng)絡流量和入侵攻擊兩類安全數(shù)據(jù)的分析處理和異常預警。因此,基于海量安全數(shù)據(jù)的專家分析系統(tǒng)能夠使業(yè)務人員從海量報警日志的運維中解放出來,借助規(guī)則分析和可視化分析等手段,有效地發(fā)現(xiàn)行業(yè)專網(wǎng)中存在的安全隱患,并及時交付處置,提高信息安全管理的工作效率。
[1]劉蘭.網(wǎng)絡安全事件管理關鍵技術研究[D].華中科技大學,2007.
[2]Tom White. Hadoop 權威指南[M].北京:清華大學出版社, 2010.
[3]程永新, 宋輝, 冼土彪.基于ElasticSearch的HBase模糊檢索系統(tǒng),CN 106682073 A[P],2017.
[4]沈建宇.基于規(guī)則事件流處理引擎的安全事件監(jiān)控系統(tǒng)研究[D].上海交通大學,2010.
[5]彭磊.規(guī)則引擎原理分析[J].福建電腦,2006.
[6]楊茜越.網(wǎng)絡安全態(tài)勢分析系統(tǒng)中關聯(lián)引擎的設計與實現(xiàn)[D].北京郵電大學,2015.
[7]劉效武.基于多源融合的網(wǎng)絡安全態(tài)勢量化感知與評估[D].哈爾濱工程大學,2009.