摘要:基于攻擊前提和后果關聯的技術有多種,在此基礎上,研究并實現了一種面向分布式的多源實時報警收集及關聯分析的框架。初步實驗證明,該框架在復雜的網絡環境下能夠有效地減少和分析報警事件,幫助管理員從大量數據中找到重要信息。
關鍵詞:多源;實時;關聯分析
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)34-1850-03
Research and Realization of Security Events Correlation Framework
ZHANG Zhong-liang
(Xuzhou Radio and TV University, Xuzhou 221006,China)
Abstract: Based on the correlation technique on the basis of prerequisites and consequences of attacks,we research and realize a Distributed framework of real-time collection and correlation analyzing multiple-source alerts. The elementary experiment indicates that the framework can reduce and analyze alerts effectively,and help the administrator find out the valuable information.
Key words: multiple-source; real-time; correlation analyzing
1 引言
隨著網絡安全事件的逐年增加,越來越多的諸如IDS,防火墻,VPN等網絡安全產品和技術得以應用,在一定程度上緩解了網絡安全壓力,但同時也引出了許多新問題[1]:
1) 各種安全技術和產品之間的異構問題:信息安全建設引入了眾多異構的安全技術和設備,但如何對其進行集中統一的管理?
2) 海量信息難以統一管理:多種安全設備產生了海量信息,通過傳統的手工或半手工方法難于對其進行分析和管理。如果不能夠及時識別出其中的不可靠信息并采取相應措施,可能會給網絡帶來災難性的后果;
3) IDS的誤報/漏報現象:靈敏度和可靠性始終是IDS難以解決的問題,現有IDS產品中,基于異常檢測的產品漏報率低,但誤報率高;而基于誤用檢測的產品誤報率低,漏報率高。同時,IDS的報警粒度太細,一旦出現攻擊可能就報警,報警數量太多,且無法顯示攻擊意圖。
如何對各種異構安全設備進行有效管理,從海量信息中及時提取出重要信息,準確高效地檢測出系統中所發生的攻擊行為,成為網絡安全管理的重要議題。
2 研究基礎及設想
事件關聯大概可以分為三類:基于規則的關聯[2-4]、基于統計的關聯[5-6]和基于攻擊前提和后果的關聯[7-8]。
在基于規則的事件關聯系統中,已知的安全威脅模式被保存在數據庫中,當事件源產生的事件成功匹配了其中一個模式,就認為發生了安全威脅,并采取相應的措施。這種算法的誤報率低,但漏報率比較高,而且需要對所有規則精確匹配并且需要及時更新規則庫。
基于統計的事件關聯建立在系統正常行為的基礎之上,當某行為與正常行為的偏移超過預先定義的閥值時,認為發生了攻擊并報警。這種算法漏報率低,但誤報率比較高,其依賴于對系統正常行為的訓練是否足夠全面。
基于攻擊前提和后果的關聯是當某一事件的結果部分滿足了另一事件的發生前提時,對這兩個事件進行關聯。與前兩類方法相比,這類方法有效的解決了漏報問題而且可以潛在地揭示出事件之間的因果關系并且不受限于已知的攻擊場景。
此次研究是在基于攻擊前提和后果的關聯思想和其攻擊場景重構能力的基礎上對其進行了擴充和改進,設法實現一個綜合性的分布式實時安全管理平臺,其中的事件關聯模塊是此次研究的重點。研究內容為:安全管理平臺的總體設計、事件關聯模塊中的關鍵技術、實驗分析、總結以及未來的工作。
3 安全管理平臺的總體設計
安全管理平臺提供對各種安全設備集中統一的配置和管理,并試圖通過事件關聯和風險評估對網絡中的各種事件和日志進行分析,并及時把分析結果(包括報警關聯圖)通過網絡報告給客戶端管理員。事件關聯和風險評估機制是系統智能的主要體現,也是整個系統最為關鍵的部分,其中事件關聯模塊接收各種安全事件,進行關聯,給出關聯結果并做出響應,其在整個系統中處于底層事件收集器與上層終端控制界面之間,安全管理平臺的框架結構如圖1所示,它主要包括客戶控制端、服務器端、事件收集器和數據庫,其中服務器包括事件關聯和風險評估等重要模塊。
4 事件關聯模塊的設計
所謂事件關聯不單單指關聯這一具體操作,它包括一系列的處理過程,如報警規格化、報警過濾和報警融合等。本文中事件關聯模塊的具體流程見圖2。
下面將詳細介紹關聯模型中的關鍵技術。
4.1 報警規格化
鑒于不同類型的Sensor具有不同格式的報警事件描述,因此作為事件關聯的第一步,需要采用標準的數據格式對報警事件進行描述。IDMEF[9]是IDWG發起的一份建議草案,它通過定義各種安全設備之間進行互操作的數據格式,實現信息共享。
如圖3所示,參考IDMEF,本文建立了報警對象(Alert object)數據結構,包括Sensor,Signature,Target,Source,Response等子類,分別描述了Sensor的地址和屬性,攻擊事件詳細說明,被攻擊者的地址和主機屬性,攻擊者的地址和主機屬性,安全響應策略等信息,多源異構的Sensor采用報警對象存儲報警事件,并向上層結構發送進行統一處理。
4.2 報警過濾
由于網絡的復雜性和攻擊的不確定性,多源異構的Sensor所產生的報警可能存在某種錯誤,直接對包含錯誤信息的事件進行關聯處理,將影響關聯的準確度和執行效率。因此需要對原始報警事件進行過濾,消除噪音數據。下面總結了報警事件可能出現的幾種錯誤:
時間錯誤:在分布式系統中,硬件環境的差異或人為因素的干擾,各子系統時鐘的不一致是正常現象,但這可能導致錯誤的關聯分析。因此在事件過濾過程中,將針對事件的時間值進行檢測;
地址錯誤:許多黑客在進行DOS攻擊時,為了掩蓋自身信息往往偽造地址,填寫錯誤的源地址或根本不存在的IP地址。大量的偽造地址將嚴重影響事件關聯分析,因此需要對事件的IP地址進行檢查;
攻擊錯誤:網絡攻擊總是針對特定的操作系統或漏洞進行的,若在事件報告中,攻擊事件與目標系統的實際情況不符,則可認為是Sensor的檢測信息出現了錯誤。如:當事件報告了Ftp攻擊事件而目標主機根本未開放Ftp時,可以認為這是一個錯誤的事件報告。
4.3 報警合并
在原始報警信息中,存在這樣的情況:兩條或多條報警包含相似的信息,具有固定的內在聯系,描述同一個攻擊事件,由多個異構Sensor產生,本文稱其為重復事件。合并重復事件有利于提高關聯效率,同時也幫助管理員從整體上把握網絡的安全狀況。
合并重復事件需要對事件的4個屬性進行考察,以確定待檢測的事件是否為重復事件,第5個屬性給出了重復事件的敏感度:
Attack Name:攻擊事件的名稱;
Source IP Address:攻擊者的IP地址;
Target IP Address:被攻擊者的IP地址;
Detect Time:Sensor檢測到攻擊的時間;
Sensitivity:經過合并處理后的事件敏感度,指出了該事件對系統安全的威脅程度,取值范圍是[0,1]。若取值為0時,說明重復事件對系統沒有影響,可以丟棄該事件。
當系統收到新的報警事件B的時候,查找、合并重復事件的算法如下:
① 根據B的Attack Name進行分類,查找相應攻擊類型事件列表;
② 遍歷該攻擊的事件列表,按B的Source IP Address搜索,假設找到事件A,如果A具有和B相同的源地址,則繼續按B的Target IP Address匹配。若匹配成功,轉④;若匹配不成功,則轉②重新按B的Source IP Address進行匹配。若事件列表已為空,則轉③;
③ 將B加入屬于Attack Name攻擊類型的事件列表,將Detect Time記入Start_detect_time字段并啟動計時器,退出函數,等待下一個事件的到來;
④ 判斷B與A是否為重復事件,若是,則A事件Count屬性計數加1,調用SensitivityCount()函數計算Sensitivity值,并更新A中Sensitivity屬性的值,使用B的Detect Time更新End_detect_time字段,計時器重新計時;
⑤ 計時器時間到,將重復事件A輸出,同時輸出Count,Start_detect_time,End_detect_time,Sensitivity等屬性,清除事件列表中的過期事件A。
5 實驗分析
為了評價上述事件關聯技術,本文利用網絡安全管理平臺做了實驗分析。實驗中我們使用DARPA入侵檢測評價數據庫作為背景數據,然后發動一系列攻擊行為產生被檢測報警數據,下面將詳細介紹實驗環境、實驗步驟和實驗結果分析。
5.1 實驗環境
實驗環境搭建在內部局域網上,如圖4所示,利用集線器連接了六臺主機,使用snort作為入侵檢測工具,使用Nessus作為網絡漏洞掃描工具。其中,網絡安全管理平臺的服務器運行在192.168.80.45上,事件收集器、監控終端以及snort運行在192.168.80.39上,Nessus的客戶端和網絡安全管理平臺的數據庫建在192.168.80.43上,主機192.168.80.23上運行Nessus服務器端,而主機192.168.80.40則用于發起攻擊,攻擊的目標主機為192.168.80.190。
5.2 實驗步驟
1) 在192.168.80.43上利用Nessus掃描整個局域網,并把掃描結果存放到數據庫中。
2) 在192.168.80.45上啟動網絡安全管理平臺的服務器。
3) 在192.168.80.39上啟動snort,使其處于網絡入侵檢測模式,并啟動網絡安全管理平臺的事件收集器和監控終端。
4) 實施攻擊。
具體的攻擊步驟如下:
① 利用Nmap對192.168.80.190進行端口掃描,獲得其操作系統類型、開放端口及服務類型;
② 利用ms04011.exe對其發動緩沖區溢出攻擊,并獲得其訪問控制權限;
③ 利用192.168.80.190對192.168.80.23發動Ping of Death攻擊。
針對以上攻擊步驟,snort產生了15條報警:2條SNMP request udp報警,2條SNMP public access udp報警,3條SNMP AgentX/tcp request報警,3條NETBIOS SMB-DS IPC$ unicode share access報警,3條NETBIOS SMB-DS DCERPC LSASS exploit attempt報警和2條ICMP Large ICMP Packet報警。
5.3 實驗結果分析
先前Peng ning等人利用基于攻擊前提和后果的關聯技術開發了一個入侵報警分析工具—TIAA[10-11],但此工具是離線的,而且數據源僅為單個IDS。由于本文所提到的安全管理平臺目前還處于研究開發階段,所以我們只對其進行了簡單的測試。從測試結果來看,此事件關聯模型能夠有效的分析報警事件,大大減少了報警數量。與TIAA相比,此事件關聯模型具有以下優勢:
1) 因為它是實時安全管理平臺中的核心模塊,所以它可以接近實時的處理安全事件以便即時做出響應;
2) 它所關聯的安全事件來自多種異構安全設備,這樣就提高了關聯操作的準確度;
3) 它在真正執行關聯操作之前對原始安全事件做了一系列的處理,包括事件規格化、事件過濾和事件合并,這樣就大大提高了安全事件的質量,減少了安全事件的數量,從而可以提高事件關聯的效率。
6 總結以及未來工作
本文對傳統的基于攻擊條件和結果的關聯技術進行了改進和擴充,并進行了簡單的測試,但由于條件有限,此模型還有待進一步的驗證。雖然此模型在真正關聯報警之前對報警做了預處理,減少了報警數量,在一定程度上提高了關聯效率,但我們的目的是實現一個實時安全管理平臺,所以當報警相當多的時候,執行效率仍是一個需要考慮的問題,所以我們下一步的工作重點是要進一步的完善事件關聯模型,使其真正達到實時關聯。
參考文獻:
[1] Cuppens F.Managing Alerts in a Multi-Intrusion Detection Environment[C].In 17th AnnualComputer Security Applications Conference New-Orleans,New-Orleans, USA, December 2001.
[2] Carey N,Mohay G M,Clark A.Attack Signature Matching and Discovery in Systems Employing Heterogeneous IDS[Z].ACSAC 2003:245-254.
[3] Cuppens F,Autrel F,Mi`ege A,et al.Correlation in an intrusion detection process[R].Internet Security Communication Workshop (SECI),September 2002.
[4] Cuppens F,Ortalo R.LAMBDA:A Language to Model a Database for Detection of Attacks[R].Third International Workshop on the Recent Advances in Intrusion Detection (RAID'2000), October 2000.
[5] VALDES A,SKINNER K.Probabilistic alert correlation[C].Proceedings of the 4th International Symposium on Recent Advances in Intrusion Detection (RAID 2001),2002:54-68.
[6] DAIN O,CUNNINGHAM R.Building scenarios from a heterogeneous alert stream[C].Proceedings of the 2001 IEEE Workshop on Information Assurance and Security,2001:231-235.
[7] NING P,CUI Y,REEVES D S.Analyzing intensive intrusion alerts via correlation[C].Proceedings of the 5th International Symposium on Recent Advances in Intrusion Detection (RAID 2002),Zurich,Switzerland,2002.
[8] NING P, CUI Y,REEVES D S.Constructing attack scenarios through correlation of intrusion alerts[C].Proceedings of the 9th ACM Conference on Computer and Communications Security. Washington,D C,2003:245-254.
[9] Wood M,Erlinger M.Intrusion Detection Message Exchange Requirements[Z].Internet-Draft draft-ietf-idwg-requirements-10,October 2002.
[10] Ning P,Cui Y,Reeves D,et al.Tools and Techniques for Analyzing Intrusion Alerts[J].ACM Transactions on Information and System Security,2004,7(2):273-318.
[11] http://discovery.csc.ncsu.edu/~pning/software/correlator/[EB/OL].
[13] Cuppens F.Managing Alerts in a Multi-Intrusion Detection Environment[C].17thAnnualComputer Security Applications Conference New-Orleans,New-Orleans, USA, December 2001.
[14] Carey N,Mohay G M,Clark A.Attack Signature Matching and Discovery in Systems Employing Heterogeneous IDS[R].ACSAC 2003:245-254.