張冬芳 張茹 李斯祺



摘 要:針對當前入侵檢測的攻擊警報誤報率高、關聯性差的問題,設計一種基于多維度的IDS警報誤報消除算法,利用粗糙集理論設計一種新型警報聚合算法,通過改進警報因果關聯算法,提出新型警報關聯算法,簡化原有關聯算法的復雜度,提高警報關聯的效率,為持續性網絡攻擊(如APT攻擊)分析提供數據支撐。
關鍵詞:誤報消除;關聯分析;聚合算法
中圖分類號:TP393.0 文獻標識碼:A
Abstract: Aiming at the problems of high false alarm rate and poor correlation of attack alerts in intrusion detection, a multi-dimension IDS false alarm cancellation algorithm is designed, a new alarm aggregation algorithm is designed based on rough set theory, and a new alarm association algorithm is proposed based on the improving causal association algorithm, which makes the original association algorithm simpler and more effective. The new association algorithm can provide the data support for the APT attacks.
Key words: false alarm cancellation; association analysis; aggregation algorithm
1 引言
當前的網絡安全防護,主要通過訪問控制、身份認證、數據加密、邊界防護和入侵檢測技術等措施實現,網絡中部署的安全設備,如防火墻或入侵檢測系統(IDS)等用以檢測或防止各種網絡攻擊行為,但很多入侵檢測系統只能對攻擊過程中的單個攻擊行為產生報警,展示的是系統所檢測到的原始事件,不能展示隱藏在這些原始事件背后的關聯關系和最終意圖,因此如何在大量無用的告警之中提取出關鍵信息,并且將孤立的警報進行關聯分析,使其更精確、更全面地反映出網絡的安全狀態,也是目前的研究熱點之一。
基于此,論文以IDS產生的告警日志作為研究對象,針對IDS產生的告警信息誤報較多,且警報間無明確關聯信息等問題,開展警報的誤報消除、警報聚合和警報關聯技術研究,對警報進行多維度特征消除誤報,結合粗糙集理論和因果關聯算法實現警報聚合和關聯分析,從而為持續性網絡攻擊(如APT攻擊)分析提供數據基礎。
2 技術思路
目前,在基于IDS日志檢測持續性網絡攻擊方面,大部分的IDS只能對單步的攻擊進行報警,并且IDS告警信息誤報多。基于此,針對IDS產生的告警信息誤報較多,且警報間無明確關聯信息等問題,通過統計、分析IDS告警日志,利用誤報和真實警報的特征區別,設計一種IDS警報誤報消除算法,消除警報中的大部分誤報;利用粗糙集理論,設計一種新型警報聚合算法,通過對警報從多個維度不同層次進行聚合,提高警報聚合方法的精確度;通過改進警報因果關聯算法,提出新型警報關聯算法,簡化原有關聯算法的復雜度,提高警報關聯的效率。
3 算法實現
3.1 誤報消除算法研究
IDS產生的告警日志存在大量的重復報警,如果不加處理直接進行關聯分析,將會浪費大量的資源和時間,而且會影響關聯分析結果的準確度。對IDS告警日志進行安全特點分析后發現,相關或相似的警報在警報密度、周期性以及時間長度上具有很強的關聯性。因此,論文在對大量真實警報和誤報進行特征分析的基礎上,分別從三個維度對IDS警報進行特征提取和分類分析,從而實現對IDS警報的誤報消除,為后續警報聚合和關聯分析做好數據基礎。
3.2 警報聚合算法研究
當前聚合算法種類繁多,然而在實際運用中發現,隨著IDS的不斷演變,以及攻擊類型和復雜度的不斷變化,IDS警報出現的屬性分類也不斷變化,因此單一的屬性相似度已經無法滿足警報聚合的要求,論文基于粗糙集理論設計基于相似度的警報分層聚合算法,使警報聚合算法更適合APT等復雜攻擊的階段性特征。
對于APT攻擊場景重構來說,聚合算法必須盡可能將一步攻擊行為的多個警報聚合在一起,但是傳統基于粗糙集的算法無法完成這一任務。這主要是因為在傳統粗糙集算法中對警報的時間屬性采用了分片的處理方式,聚合算法只會對數秒的時間切片內的警報進行,但是對于一般的攻擊來說單步行動并不一定會在數秒中完成,而且一步行動可能會跨越兩個時間切片,這就導致傳統算法只是減少了警報數量,而無法真正做到將一步攻擊行為的多個警報聚合在一起。
針對該問題,論文通過某種時間處理方式來改進基于粗糙集的聚合算法,并以此算法為基礎,在實施過程中加入分層考慮特征屬性值的模塊。通過在不同的屬性上,依據不同聚合方法來對警報信息進行聚合。在發揮基于屬性相似度警報聚合方法原有優勢外,規避掉其聚合方法單一的問題,提高聚合準確度。
通常IDS產生的警報具有“開始時間”和“持續時間”兩個屬性,如圖2所示。
圖2中,t1s、t2s分別表示警報1和警報2的開始時間,t1d、t2d分別表示警報1和警報2的結束時間,當t2s-(t1s+t1d)小于閾值tth時,判定兩個警報可以進行聚合。
其中ti為某一類警報中所有可能出現的間隔,ni表示ti間隔出現的次數。
這里為tth設定了tMAX(一般tMAX=60)的上限,主要是考慮到如果攻擊者在某一步中采用腳本攻擊的基礎上又對攻擊結果進行分析時,會對警報的時間間隔造成影響,從而使得本不應該聚合的警報發生了聚合。
論文改進粗糙集算法,判定只有滿足時間閾值和相似度閾值兩個條件的警報之間才進行聚合,既保證了警報之間的相似性,又能使單步行為的多個警報不會被時間切片分割,這就保證了盡可能地將一步攻擊行為的多個警報聚合在一起。
基于屬性相似度將IDS警報分為四層:
第一層,根據告警日志的源IP地址將警報數據進行聚類,可分為五大類;
第二層,在IP地址聚類內部根據攻擊類型進行聚類;
第三層,在每一個類型聚類內進行屬性相似度計算,根據計算結果繼續聚合;
第四層,通過計算不同的警報聚類之間的攻擊距離,將小于設定閾值的警報關聯到一起,形成新的聚類,如圖3為算法步驟。
3.3 警報關聯算法研究
在APT等復雜網絡攻擊中,通常下一步攻擊需要上一步攻擊所獲得的權限或信息,因此多步攻擊的攻擊步驟必然在時間上有先后順序,因此“時間順序”是警報的內在聯系之一。但是只依靠時間順序對警報進行關聯會存在問題:警報中含有不同攻擊者對不同目標發起的攻擊,如果只按照時間順序進行關聯,得到的關聯結果仍然是混亂且沒有任何意義的。論文研究一種反向因果關聯算法,通過確定攻擊者和攻擊目標的關系保證關聯結果的準確性。它與因果關聯算法的區別在于,它在進行關聯時,是首先從攻擊的最后一步開始,一步一步往前溯源,直到找到最開始的一條攻擊,這樣做的好處是提高了因果關聯的效率,優化了因果關聯的時間復雜度和空間復雜度。
反向因果關聯算法的分為幾個步驟。
第一步:根據常見的多步攻擊可以將攻擊類型分為:掃描類攻擊、漏洞利用類攻擊、權限提升類攻擊、拒絕服務類攻擊四種,如圖4所示,這四種攻擊從時間和邏輯上是有一定先后關系的,因此可以作為關聯分析的基礎。
第二步:將警報中的各項警報按照這四類進行歸類。如將ICMP_Ping_Sweep攻擊、IP_Sweep攻擊、Port_Sweep攻擊等歸類在掃描類攻擊里,將SQL注入、XSS注入、弱口令登錄等歸類在漏洞利用類攻擊里。
第三步:根據分類好的警報,先從最后的拒絕服務類攻擊開始,選擇Alert a,然后利用因果關聯分析的方法,在設定的時間范圍內選擇權限提升類攻擊中的警報Alert b,Alert b滿足其攻擊結果與Alert a的攻擊前提是相匹配的。找到此Alert b后,再在設定的時間閾值范圍內從漏洞利用類里面匹配攻擊結果與Alert b的攻擊前提相匹配的警報,以此類推,直到找到再掃描類攻擊里所匹配的警報,完成一次關聯分析。
4 結束語
警報分析是攻擊場景挖掘和安全態勢評估的基礎。課題綜合利用多種數學理論和深度學習算法改進誤報消除算法、警報聚合算法和警報關聯算法,使警報分析具有層次化特點更適合APT階段性特征,從而提高警報分析的準確性。
參考文獻
[1] 鄒柏賢,劉強.基于LSSVM模型的網絡流量預測[J].計算機研究與發展,2010,39(012).
[2] BLUM M. How to exchange (secret) keys [J]. ACM Transaction on Computer Systems. 2008,(1):175-193.
[3] ZHANG Xiao-song, NIU Weina, YANG Guowu, et al. Method for APT Prediction Based on Tree Structure[J], Journal of University of Electronic Science and Technology of China, 2016, 45(4):582-588.
[4] CHEN P,DESMET L,HUYGENS C. A Study on Advanced Persistent Threats[C]. Communications and Multimedia Security Berlin,Heidelberg:Springer,2014:63-72.
[5] SkyEye: OceanLotus APT Report [2015-05-29], https://ti.360.net/static/upload/report/file/OceanLotusReport.pdf.
[6] Feng Xuewei, Wang Dongxia, et al. A Mining Approach for Causal Knowledge in Alert Correlating Based on the Markov Property[J]. Journal of Computer Research and Development, 2014,51(11):2493-2504.
[7] FU Yu, LI Hongcheng, WU Xiao-ping, WANG Jiasheng. Detecting APT attacks: a survey from the perspective of big data analysis[J]. Journal on Communications, 2015,36(11):1-14.
[8] S. Noel, S. Jajodia, Advanced vulnerability analysis and intrusion detection through predictive attack graphs, in: AFCEA09: Critical Issues in C4I in Armed Forces Communications and Electronics Association Solutions Series, IEEE, 2009, pp. 1–10.
[9] Choi C, Choi J, Kim P. Abnormal behavior pattern mining for unknown threat detection[J]. Computer Systems Science & Engineering, 2017, 32(2):171-177. [090].