深度剖析SOC高性能實時事件關聯分析引擎

【引言】安全管理平臺SOC) 的一項關鍵技術就是事件關聯分析。藉助實時的事件關聯分析引擎,安全管理平臺可以發掘出複雜的海量安全日誌和事件背後隱藏的信息,引導安全管理人員發現外 部***和內部違規行爲。做爲本系列的第五篇文章,將深刻爲你們剖析安全管理系統的關聯分析引擎技術架構,並向讀者展現關聯分析的價值和前景。
1 爲何須要安全事件關聯分析?
1.1 安全建設的新階段
信息系統的安全建設已經從過去的局部優化階段進入了總體優化的階段。
當今的企業和組織在IT信息安全領域面臨比以往更爲複雜的局面。這既有來自於企業和組織外部的層出不窮的***和***,也有來自於企業和組織內部的違規和泄 漏。爲了避免斷應對新的安全挑戰,企業和組織前後部署了防病毒系統、防火牆、***檢測系統、漏洞掃描系統、UTM,等等。這種被動的安全建設過程就像是挖壕 溝,爲了抵禦某一方面的安全威脅,客戶不斷地把壕溝加深,並開鑿了一條又一條的壕溝。因爲這些安全系統都僅僅防堵來自某個方面的安全威脅,因而造成了一個 個安全防護孤島,沒法產生協同效應。另外一方面,企業和組織日益迫切的信息系統審計和內控、以及不斷加強的業務持續性需求,也對當前企業信息安全管理提出了 嚴峻的挑戰。這些內因外因合起來,都要求企業和組織創建一套橫向貫穿孤立的安全防線的總體安全管理平臺,實現對全網IT資源運行的監控、安全的監控、風險 的監控,真正讓企業管理者把握總體安全態勢,實現有效地協同防護。
1.2 海量事件帶來的新挑戰
要構建一個統一的安全管理平臺,首先就須要未來自企業和組織中複雜IT資源及其安全防護設施運行過程當中不斷產生的各種安全日誌和事件進行統一收集、分析,構建一幅企業和組織的總體安全態勢圖。
對於一個典型的用戶而言,通過較爲系統的安全建設後,都會部署較多的安全產品。這些安全產品天天產生的事件量是巨大的,以下表所示:
 數據庫

顯然,對於安全管理平臺而言,收集和分析上述海量的安全事件是一個巨大的挑戰,而可否作到這點將直接決定一個安全管理平臺的成敗。同時,安全管理平 臺決不能簡單地將這些海量的信息直接展現給客戶,不然,用戶面對這些海量的安全事件將一籌莫展,管理運維效率將不升反降。此外,大量的安全事件匯聚到一 起,根據其安全屬性的相關性,可能隱含了新的更嚴重的安全事件,這種相關性是管理人員難以用肉眼觀察出來的。安全管理平臺的目標就是要收集這些海量事件, 並經過有效的分析手段輸出不多量的、真正值得管理員關注的安全事件。那麼,如何纔能有效地分析這些海量的異構安全事件?安全事件關聯分析應運而生。
2 事件關聯分析介紹
2.1 信息安全事件定義
什麼叫作信息安全事件?根據ISO18044和ISO27001,信息安全事件是指被識別的一種系統、服務或網絡狀態的發生,代表一次可能的信息安全策略違反或某些防禦措施失效,或者一種可能與安全相關但之前未知的狀況。
在本文中,信息安全事件簡稱事件,尤指由IT 系統自動產生的各類事件。
2.2 事件關聯分析定義
IT範疇內的事件關聯分析(Event CorrelationAnalysis)最先來自網絡管理領域,經過綜合分析各類網絡告警信息,用於尋找網絡故障的根本緣由。
定義1(來自Wiki百科):事件關聯是指找出大量事件中存在的關係,並從這些大量事件中抽取出真正重要的少許事件。
伴隨着網絡安全的發展,尤爲是受到傳統IDS大量漏報、誤報、錯報安全事件的影響,出現了基於網絡安全數據融合技術的分佈式IDS。而伴隨着前面所述的安 全建設新階段的到來,安全信息與事件管理系統(SIEM)和安全管理平臺(SOC)也紛紛出現。在這些系統的設計中都逐步引入了事件關聯分析的概念。
定義2:事件關聯分析是指用戶將海量的來自異構數據庫源的安全事件進行相關性分析,定位真正的安全事故點的過程。
定義3(來自NISTSP800-92):事件關聯是指在兩個或更多個日誌(事件)中找到它們之間的關係。
根據上述定義,事件關聯分析包括兩層含義:
1) 將大量的安全事件過濾、壓縮、歸併,提取出少許的、或者是歸納性的重要安全事件,至關於「關聯分析中的事件量變」;
2) 從大量的安全事件之中發掘隱藏的相關性,產生新的不在以前事件之中的安全事件,至關於「關聯分析中的事件質變」。咱們知道,外部***和內部違規行爲 歷來都不是單一的行爲,都是有時序或者邏輯上的聯繫的,***的***和內部的違規操做每每是分爲若干步驟的,每一個步驟都會在不一樣的設備和系統上留下蛛絲馬 跡,單看某個設備的日誌可能沒法發現問題,可是將全部這些信息合到一塊兒,就可能發現其中的隱患,而這正是關聯分析的目的所在。
2.3 事件關聯分析在安全管理平臺(SOC)中的位置
事件關聯分析在安全管理平臺(SOC)中位於核心位置,屬於 SOC的核心技術點。
1) 事件關聯分析實現海量安全事件的抽取、降噪,剝離無用信息,提高後續安全管理工做的效率,下降安全管理工做的複雜性;
2) 事件關聯分析是風險分析的基礎,關聯分析的結果導出的關聯事件能夠提高爲威脅,從而參與風險計算,而且實現風險計算自動化、定量化;
3) 事件關聯分析是計算機安全事故(Incident)應急響應處理流程的關鍵步驟。
2.4 事件關聯分析的關鍵特性
在安全管理平臺(SOC)中,完整的事件關聯分析包括了事件採集、事件歸一化、事件關聯分析引擎、預警響應、事件存儲等幾個部分。其中,最核心的就是事件關聯分析引擎。
事件關聯分析至少具備如下三個關鍵特性:
1) 海量事件處理能力:是指關聯分析可以高效地採集海量的異構安全事件,並可以進行關聯匹配和輸出,還可以將安全事件進行可視化展現,以及將海量安全事件和告警信息進行及時地存儲;
2) 實時性:是指關聯分析的整個處理過程必須保持實時、不間斷的工做;
3) 基於規則的:是指關聯分析的核心引擎至少應該包括一套實時高速的規則引擎,實現模式匹配,這也是「關聯分析中的事件質變」的要求。
3 實現事件關聯分析引擎
事件關聯分析引擎是關聯分析的核心技術部件,如何實現事件關聯分析引擎將直接決定關聯分析的效果,以及一個安全管理平臺(SOC)產品的成敗。所以,文本將重點描述事件關聯分析引擎的實現,對於事件採集和歸一化,將令文論述。
關聯分析引擎是一個典型的數據處理系統。於是,根據通常的經驗,首先會想到的就是利用數據庫系統來實現關聯分析引擎。可是,關聯分析引擎面對的數據不是通常的數據,這裏的數據(事件)具備海量、實時和流的特徵,於是,使用數據庫系統的關聯分析引擎沒法達到實時高速的目標。
顯然,對於安全管理平臺而言,收集和分析上述海量的安全事件是一個巨大的挑戰,而可否作到這點將直接決定一個安全管理平臺的成敗。同時,安全管理平臺決不 能簡單地將這些海量的信息直接展現給客戶,不然,用戶面對這些海量的安全事件將一籌莫展,管理運維效率將不升反降。此外,大量的安全事件匯聚到一塊兒,根據 其安全屬性的相關性,可能隱含了新的更嚴重的安全事件,這種相關性是管理人員難以用肉眼觀察出來的。安全管理平臺的目標就是要收集這些海量事件,並經過有 效的分析手段輸出不多量的、真正值得管理員關注的安全事件。那麼,如何纔能有效地分析這些海量的異構安全事件?安全事件關聯分析應運而生。
2 事件關聯分析介紹
2.1 信息安全事件定義
什麼叫作信息安全事件?根據ISO18044和ISO27001,信息安全事件是指被識別的一種系統、服務或網絡狀態的發生,代表一次可能的信息安全策略違反或某些防禦措施失效,或者一種可能與安全相關但之前未知的狀況。
在本文中,信息安全事件簡稱事件,尤指由IT 系統自動產生的各類事件。
2.2 事件關聯分析定義
IT範疇內的事件關聯分析(Event CorrelationAnalysis)最先來自網絡管理領域,經過綜合分析各類網絡告警信息,用於尋找網絡故障的根本緣由。
定義1(來自Wiki百科):事件關聯是指找出大量事件中存在的關係,並從這些大量事件中抽取出真正重要的少許事件。
伴隨着網絡安全的發展,尤爲是受到傳統IDS大量漏報、誤報、錯報安全事件的影響,出現了基於網絡安全數據融合技術的分佈式IDS。而伴隨着前面所述的安 全建設新階段的到來,安全信息與事件管理系統(SIEM)和安全管理平臺(SOC)也紛紛出現。在這些系統的設計中都逐步引入了事件關聯分析的概念。
定義2:事件關聯分析是指用戶將海量的來自異構數據庫源的安全事件進行相關性分析,定位真正的安全事故點的過程。
定義3(來自NISTSP800-92):事件關聯是指在兩個或更多個日誌(事件)中找到它們之間的關係。
根據上述定義,事件關聯分析包括兩層含義:
1) 將大量的安全事件過濾、壓縮、歸併,提取出少許的、或者是歸納性的重要安全事件,至關於「關聯分析中的事件量變」;
2) 從大量的安全事件之中發掘隱藏的相關性,產生新的不在以前事件之中的安全事件,至關於「關聯分析中的事件質變」。咱們知道,外部***和內部違規行爲 歷來都不是單一的行爲,都是有時序或者邏輯上的聯繫的,***的***和內部的違規操做每每是分爲若干步驟的,每一個步驟都會在不一樣的設備和系統上留下蛛絲馬 跡,單看某個設備的日誌可能沒法發現問題,可是將全部這些信息合到一塊兒,就可能發現其中的隱患,而這正是關聯分析的目的所在。
2.3 事件關聯分析在安全管理平臺(SOC)中的位置
事件關聯分析在安全管理平臺(SOC)中位於核心位置,屬於 SOC的核心技術點。
1) 事件關聯分析實現海量安全事件的抽取、降噪,剝離無用信息,提高後續安全管理工做的效率,下降安全管理工做的複雜性;
2) 事件關聯分析是風險分析的基礎,關聯分析的結果導出的關聯事件能夠提高爲威脅,從而參與風險計算,而且實現風險計算自動化、定量化;
3) 事件關聯分析是計算機安全事故(Incident)應急響應處理流程的關鍵步驟。
2.4 事件關聯分析的關鍵特性
在安全管理平臺(SOC)中,完整的事件關聯分析包括了事件採集、事件歸一化、事件關聯分析引擎、預警響應、事件存儲等幾個部分。其中,最核心的就是事件關聯分析引擎。
事件關聯分析至少具備如下三個關鍵特性:
1) 海量事件處理能力:是指關聯分析可以高效地採集海量的異構安全事件,並可以進行關聯匹配和輸出,還可以將安全事件進行可視化展現,以及將海量安全事件和告警信息進行及時地存儲;
2) 實時性:是指關聯分析的整個處理過程必須保持實時、不間斷的工做;
3) 基於規則的:是指關聯分析的核心引擎至少應該包括一套實時高速的規則引擎,實現模式匹配,這也是「關聯分析中的事件質變」的要求。
3 實現事件關聯分析引擎
事件關聯分析引擎是關聯分析的核心技術部件,如何實現事件關聯分析引擎將直接決定關聯分析的效果,以及一個安全管理平臺(SOC)產品的成敗。所以,文本將重點描述事件關聯分析引擎的實現,對於事件採集和歸一化,將令文論述。
關聯分析引擎是一個典型的數據處理系統。於是,根據通常的經驗,首先會想到的就是利用數據庫系統來實現關聯分析引擎。可是,關聯分析引擎面對的數據不是通常的數據,這裏的數據(事件)具備海量、實時和流的特徵,於是,使用數據庫系統的關聯分析引擎沒法達到實時高速的目標。安全

 

如上圖所示,藉助數據庫管理系統(例如關係型數據庫),事件關聯分析主要就是使用SQL語句來實現。因爲數據庫系統都是基於磁盤來存儲數據的,包括 它的各類性能優化都是基於磁盤訪問來設計的,於是,藉助數據庫的關聯分析引擎不管如何也難以保證分析性能。例如一個關聯規則須要在1秒鐘內經過SQL語句 獲取10個數據,那麼關聯分析引擎就須要在1秒內進行10次磁盤存取,難以符合高性能的要求。
有的內存數據庫系統雖然能夠在性能上有所提高,可是因爲數據庫的表、字段、索引等設施都是爲了事務(Transaction)處理而設計的,難以高效的處理具備流性質的數據(事件)。必須指出的是,流數據具備一次寫屢次讀(WORM)的特性。
更重要地,使用數據庫來實現關聯分析引擎沒法真正實現模式匹配。考慮以下一個常見的模式匹配要求:「請找出在1分鐘內登陸服務器X失敗達到3次以上的源 IP」。若是利用數據庫來實現,那麼關聯分析引擎將不得不每隔一個時間間隔去進行SQL訪問,找到某個時刻符合要求的事件記錄(如上圖所示)。可見,在這 種方式,難以知足實時不間斷關聯分析的要求。
也許設計者會考慮使用數據庫的觸發器。可是,數據庫觸發器也不是爲了處理流數據而設計,沒法爲觸發器設定複雜的關聯規則條件。
所以,一個事件關聯分析引擎必須採用新的技術——流數據處理技術來實現。性能優化

如上圖所示,是一個基於流數據處理的關聯分析引擎工做示意圖。首先,這個關聯分析引擎是在內存中進行的,關聯分析引擎分析的事件流是在內存中,與事 件入庫持久化存儲分離。其次,關聯分析引擎是一個不間斷工做的實時引擎。它不斷地讀取事件流,利用狀態機(StateMachine)的技術進行模式匹配 (Pattern Match),實現實時事件關聯。
在這個技術原型架構之下,事件流相對於關聯分析引擎就至關於一個「流數據庫」(SteamingDatabase)。這個流數據庫與傳統的關係型數據庫具備如下區別:服務器

所以,基於數據庫的關聯分析引擎只能是一個被動工做的引擎、基於對數據的查詢,是離散的,不連續的,難以保證效率和實時性。而基於流數據的關聯分析 引擎則是一個主動工做的引擎,基於事件查詢和模式匹配,是連續的,可以保證效率和實時性。  對於安全管理平臺(SOC)而言,在利用關聯分析引擎進行實 時事件分析的同時,也具有對事件進行歷史分析的功能。於是,在安全管理平臺中,數據庫也是須要的,數據存儲也是須要的,而且用於進行歷史事件挖掘 (Data Mining)、模式發現(PatternDiscovery)等。網絡


除了要基於流數據處理技術,關聯分析引擎還必須具有一套較爲完備的模式匹配技術。模式匹配就是基於規則的狀態機系統。架構


4 SOC2.0時代的事件關聯分析及其應用

  


在SOC2.0時代,安全將更加緊密地與客戶業務進行融合,不只體如今風險與運維管理的思想和方法論上,更體如今安全管理平臺的落地上。運維


在SOC2.0時代的初期,安全管理平臺首先將成爲一個面向業務的系統,即針對承載業務運行的IT支撐系統及其資源進行監測、分析和運維。在這個時期,安 全管理平臺的關聯分析引擎更多地是對來自IT資源的工做日誌和告警事件進行相關性分析,分析業務系統運行是否正常,是否面臨惡意***,是否發生了信息泄 漏。分佈式


在SOC2.0的第二個階段,安全管理平臺在實現IT安全管理的同時,將更多地成爲一個IT安全合規管理平臺。此時,安管平臺的關聯分析引擎將針對IT資 源日誌中與業務相關的信息,以及部分業務自身運行日誌進行相關性分析,發現業務人員的操做異常或違規。例如,發現內部IT人員竊取公司的員工工資數據庫信 息,修改公司的客戶記錄,等等。ide


在SOC2.0的第三個階段,安全管理平臺將與業務深度融合,實現針對業務的安全管理,成爲一個業務風險與合規管理平臺。例如,藉助此時的關聯分析引擎去發現異常的銀行交易,協助銀行識別金融欺詐或者洗錢交易。性能


注意,SOC2.0的這三個發展階段不是替代關係,而是覆蓋關係,安全管理平臺的外延將不斷擴大,逐步與業務融合。


由上不難發現,事件關聯分析將始終做爲安全管理平臺的核心技術,不斷向前發展。而一個成熟的、高速的、實時關聯分析引擎將構築起安全管理平臺的核心競爭力。


5 小結

本文詳細闡述了安全管理平臺(SOC)下的安全事件關聯分析及其核心技術,以及關聯分析引擎的做用、設計思想和基本技術架構。


按照SOC2.0的基本要求,事件關聯分析引擎是整個安全管理架構的核心技術,具備舉足輕重的做用,安全管理平臺自動化、精確化、實時化水平的提高很大程度上有賴於事件關聯分析引擎。


固然,對於安全管理平臺而言,僅有關聯分析引擎仍是遠遠不夠的,還須要其餘各部分平臺組件的配合,而且還須要不一樣角色的參與者的支持。安全管理平臺要可以 真正得以運用,除了須要平臺及其引擎的開發者參與,還須要可以寫出關聯規則的領域知識專家,須要負責系統實施前期規劃的業務領域專家、項目實施與運維團 隊。固然,必定還須要用戶的參與。可見,安全管理平臺是一個很大的用例(Use Case)。

相關文章
相關標籤/搜索