天天看點

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

【引言】安全管理平台(SOC)的一項關鍵技術就是事件關聯分析。借助實時的事件關聯分析引擎,安全管理平台能夠發掘出複雜的海量安全日志和事件背後隐藏的資訊,引導安全管理人員發現外部入侵和内部違規行為。作為本系列的第五篇文章,将深入為大家剖析安全管理系統的關聯分析引擎技術架構,并向讀者展示關聯分析的價值和前景。

1 為什麼需要安全事件關聯分析?

1.1 安全建設的新階段

資訊系統的安全建設已經從過去的局部優化階段進入了整體優化的階段。

當今的企業群組織在IT資訊安全領域面臨比以往更為複雜的局面。這既有來自于企業群組織外部的層出不窮的入侵和攻擊,也有來自于企業群組織内部的違規和洩漏。為了不斷應對新的安全挑戰,企業群組織先後部署了防病毒系統、防火牆、入侵檢測系統、漏洞掃描系統、UTM,等等。這種被動的安全建設過程就像是挖壕溝,為了抵禦某一方面的安全威脅,客戶不斷地把壕溝加深,并開鑿了一條又一條的壕溝。由于這些安全系統都僅僅防堵來自某個方面的安全威脅,于是形成了一個個安全防禦孤島,無法産生協同效應。另一方面,企業群組織日益迫切的資訊系統審計和内控、以及不斷增強的業務持續性需求,也對目前企業資訊安全管理提出了嚴峻的挑戰。這些内因外因合起來,都要求企業群組織建立一套橫向貫穿孤立的安全防線的整體安全管理平台,實作對全網IT資源運作的監控、安全的監控、風險的監控,真正讓企業管理者把握整體安全态勢,實作有效地協同防禦。

1.2 海量事件帶來的新挑戰

要建構一個統一的安全管理平台,首先就需要将來自企業群組織中複雜IT資源及其安全防禦設施運作過程中不斷産生的各類安全日志和事件進行統一收集、分析,建構一幅企業群組織的整體安全态勢圖。

對于一個典型的使用者而言,經過較為系統的安全建設後,都會部署較多的安全産品。這些安全産品每天産生的事件量是巨大的,如下表所示:

深度剖析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)産品的成敗。是以,文本将重點描述事件關聯分析引擎的實作,對于事件采集和歸一化,将令文論述。

關聯分析引擎是一個典型的資料處理系統。因而,根據一般的經驗,首先會想到的就是利用資料庫系統來實作關聯分析引擎。但是,關聯分析引擎面對的資料不是一般的資料,這裡的資料(事件)具有海量、實時和流的特征,因而,使用資料庫系統的關聯分析引擎無法達到實時高速的目标。

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

如上圖所示,借助資料庫管理系統(例如關系型資料庫),事件關聯分析主要就是使用SQL語句來實作。由于資料庫系統都是基于磁盤來存儲資料的,包括它的各種性能優化都是基于磁盤通路來設計的,因而,借助資料庫的關聯分析引擎無論如何也難以保證分析性能。例如一個關聯規則需要在1秒鐘内通過SQL語句擷取10個資料,那麼關聯分析引擎就需要在1秒内進行10次磁盤存取,難以符合高性能的要求。

有的記憶體資料庫系統雖然可以在性能上有所提升,但是由于資料庫的表、字段、索引等設施都是為了事務(Transaction)處理而設計的,難以高效的處理具有流性質的資料(事件)。必須指出的是,流資料具有一次寫多次讀(WORM)的特性。

更重要地,使用資料庫來實作關聯分析引擎無法真正實作模式比對。考慮如下一個常見的模式比對要求:“請找出在1分鐘内登入伺服器X失敗達到3次以上的源IP”。如果利用資料庫來實作,那麼關聯分析引擎将不得不每隔一個時間間隔去進行SQL通路,找到某個時刻符合要求的事件記錄(如上圖所示)。可見,在這種方式,難以滿足實時不間斷關聯分析的要求。

也許設計者會考慮使用資料庫的觸發器。但是,資料庫觸發器也不是為了處理流資料而設計,無法為觸發器設定複雜的關聯規則條件。

是以,一個事件關聯分析引擎必須采用新的技術——流資料處理技術來實作。

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

繼續閱讀