張冬芳 張茹 李斯祺
摘 要:針對當(dāng)前入侵檢測的攻擊警報誤報率高、關(guān)聯(lián)性差的問題,設(shè)計一種基于多維度的IDS警報誤報消除算法,利用粗糙集理論設(shè)計一種新型警報聚合算法,通過改進警報因果關(guān)聯(lián)算法,提出新型警報關(guān)聯(lián)算法,簡化原有關(guān)聯(lián)算法的復(fù)雜度,提高警報關(guān)聯(lián)的效率,為持續(xù)性網(wǎng)絡(luò)攻擊(如APT攻擊)分析提供數(shù)據(jù)支撐。
關(guān)鍵詞:誤報消除;關(guān)聯(lián)分析;聚合算法
中圖分類號:TP393.0 文獻標(biāo)識碼: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 引言
當(dāng)前的網(wǎng)絡(luò)安全防護,主要通過訪問控制、身份認(rèn)證、數(shù)據(jù)加密、邊界防護和入侵檢測技術(shù)等措施實現(xiàn),網(wǎng)絡(luò)中部署的安全設(shè)備,如防火墻或入侵檢測系統(tǒng)(IDS)等用以檢測或防止各種網(wǎng)絡(luò)攻擊行為,但很多入侵檢測系統(tǒng)只能對攻擊過程中的單個攻擊行為產(chǎn)生報警,展示的是系統(tǒng)所檢測到的原始事件,不能展示隱藏在這些原始事件背后的關(guān)聯(lián)關(guān)系和最終意圖,因此如何在大量無用的告警之中提取出關(guān)鍵信息,并且將孤立的警報進行關(guān)聯(lián)分析,使其更精確、更全面地反映出網(wǎng)絡(luò)的安全狀態(tài),也是目前的研究熱點之一。
基于此,論文以IDS產(chǎn)生的告警日志作為研究對象,針對IDS產(chǎn)生的告警信息誤報較多,且警報間無明確關(guān)聯(lián)信息等問題,開展警報的誤報消除、警報聚合和警報關(guān)聯(lián)技術(shù)研究,對警報進行多維度特征消除誤報,結(jié)合粗糙集理論和因果關(guān)聯(lián)算法實現(xiàn)警報聚合和關(guān)聯(lián)分析,從而為持續(xù)性網(wǎng)絡(luò)攻擊(如APT攻擊)分析提供數(shù)據(jù)基礎(chǔ)。
2 技術(shù)思路
目前,在基于IDS日志檢測持續(xù)性網(wǎng)絡(luò)攻擊方面,大部分的IDS只能對單步的攻擊進行報警,并且IDS告警信息誤報多。基于此,針對IDS產(chǎn)生的告警信息誤報較多,且警報間無明確關(guān)聯(lián)信息等問題,通過統(tǒng)計、分析IDS告警日志,利用誤報和真實警報的特征區(qū)別,設(shè)計一種IDS警報誤報消除算法,消除警報中的大部分誤報;利用粗糙集理論,設(shè)計一種新型警報聚合算法,通過對警報從多個維度不同層次進行聚合,提高警報聚合方法的精確度;通過改進警報因果關(guān)聯(lián)算法,提出新型警報關(guān)聯(lián)算法,簡化原有關(guān)聯(lián)算法的復(fù)雜度,提高警報關(guān)聯(lián)的效率。
3 算法實現(xiàn)
3.1 誤報消除算法研究
IDS產(chǎn)生的告警日志存在大量的重復(fù)報警,如果不加處理直接進行關(guān)聯(lián)分析,將會浪費大量的資源和時間,而且會影響關(guān)聯(lián)分析結(jié)果的準(zhǔn)確度。對IDS告警日志進行安全特點分析后發(fā)現(xiàn),相關(guān)或相似的警報在警報密度、周期性以及時間長度上具有很強的關(guān)聯(lián)性。因此,論文在對大量真實警報和誤報進行特征分析的基礎(chǔ)上,分別從三個維度對IDS警報進行特征提取和分類分析,從而實現(xiàn)對IDS警報的誤報消除,為后續(xù)警報聚合和關(guān)聯(lián)分析做好數(shù)據(jù)基礎(chǔ)。
3.2 警報聚合算法研究
當(dāng)前聚合算法種類繁多,然而在實際運用中發(fā)現(xiàn),隨著IDS的不斷演變,以及攻擊類型和復(fù)雜度的不斷變化,IDS警報出現(xiàn)的屬性分類也不斷變化,因此單一的屬性相似度已經(jīng)無法滿足警報聚合的要求,論文基于粗糙集理論設(shè)計基于相似度的警報分層聚合算法,使警報聚合算法更適合APT等復(fù)雜攻擊的階段性特征。
對于APT攻擊場景重構(gòu)來說,聚合算法必須盡可能將一步攻擊行為的多個警報聚合在一起,但是傳統(tǒng)基于粗糙集的算法無法完成這一任務(wù)。這主要是因為在傳統(tǒng)粗糙集算法中對警報的時間屬性采用了分片的處理方式,聚合算法只會對數(shù)秒的時間切片內(nèi)的警報進行,但是對于一般的攻擊來說單步行動并不一定會在數(shù)秒中完成,而且一步行動可能會跨越兩個時間切片,這就導(dǎo)致傳統(tǒng)算法只是減少了警報數(shù)量,而無法真正做到將一步攻擊行為的多個警報聚合在一起。
針對該問題,論文通過某種時間處理方式來改進基于粗糙集的聚合算法,并以此算法為基礎(chǔ),在實施過程中加入分層考慮特征屬性值的模塊。通過在不同的屬性上,依據(jù)不同聚合方法來對警報信息進行聚合。在發(fā)揮基于屬性相似度警報聚合方法原有優(yōu)勢外,規(guī)避掉其聚合方法單一的問題,提高聚合準(zhǔn)確度。
通常IDS產(chǎn)生的警報具有“開始時間”和“持續(xù)時間”兩個屬性,如圖2所示。
圖2中,t1s、t2s分別表示警報1和警報2的開始時間,t1d、t2d分別表示警報1和警報2的結(jié)束時間,當(dāng)t2s-(t1s+t1d)小于閾值tth時,判定兩個警報可以進行聚合。
其中ti為某一類警報中所有可能出現(xiàn)的間隔,ni表示ti間隔出現(xiàn)的次數(shù)。
這里為tth設(shè)定了tMAX(一般tMAX=60)的上限,主要是考慮到如果攻擊者在某一步中采用腳本攻擊的基礎(chǔ)上又對攻擊結(jié)果進行分析時,會對警報的時間間隔造成影響,從而使得本不應(yīng)該聚合的警報發(fā)生了聚合。
論文改進粗糙集算法,判定只有滿足時間閾值和相似度閾值兩個條件的警報之間才進行聚合,既保證了警報之間的相似性,又能使單步行為的多個警報不會被時間切片分割,這就保證了盡可能地將一步攻擊行為的多個警報聚合在一起。
基于屬性相似度將IDS警報分為四層:
第一層,根據(jù)告警日志的源IP地址將警報數(shù)據(jù)進行聚類,可分為五大類;
第二層,在IP地址聚類內(nèi)部根據(jù)攻擊類型進行聚類;
第三層,在每一個類型聚類內(nèi)進行屬性相似度計算,根據(jù)計算結(jié)果繼續(xù)聚合;
第四層,通過計算不同的警報聚類之間的攻擊距離,將小于設(shè)定閾值的警報關(guān)聯(lián)到一起,形成新的聚類,如圖3為算法步驟。
3.3 警報關(guān)聯(lián)算法研究
在APT等復(fù)雜網(wǎng)絡(luò)攻擊中,通常下一步攻擊需要上一步攻擊所獲得的權(quán)限或信息,因此多步攻擊的攻擊步驟必然在時間上有先后順序,因此“時間順序”是警報的內(nèi)在聯(lián)系之一。但是只依靠時間順序?qū)瘓筮M行關(guān)聯(lián)會存在問題:警報中含有不同攻擊者對不同目標(biāo)發(fā)起的攻擊,如果只按照時間順序進行關(guān)聯(lián),得到的關(guān)聯(lián)結(jié)果仍然是混亂且沒有任何意義的。論文研究一種反向因果關(guān)聯(lián)算法,通過確定攻擊者和攻擊目標(biāo)的關(guān)系保證關(guān)聯(lián)結(jié)果的準(zhǔn)確性。它與因果關(guān)聯(lián)算法的區(qū)別在于,它在進行關(guān)聯(lián)時,是首先從攻擊的最后一步開始,一步一步往前溯源,直到找到最開始的一條攻擊,這樣做的好處是提高了因果關(guān)聯(lián)的效率,優(yōu)化了因果關(guān)聯(lián)的時間復(fù)雜度和空間復(fù)雜度。
反向因果關(guān)聯(lián)算法的分為幾個步驟。
第一步:根據(jù)常見的多步攻擊可以將攻擊類型分為:掃描類攻擊、漏洞利用類攻擊、權(quán)限提升類攻擊、拒絕服務(wù)類攻擊四種,如圖4所示,這四種攻擊從時間和邏輯上是有一定先后關(guān)系的,因此可以作為關(guān)聯(lián)分析的基礎(chǔ)。
第二步:將警報中的各項警報按照這四類進行歸類。如將ICMP_Ping_Sweep攻擊、IP_Sweep攻擊、Port_Sweep攻擊等歸類在掃描類攻擊里,將SQL注入、XSS注入、弱口令登錄等歸類在漏洞利用類攻擊里。
第三步:根據(jù)分類好的警報,先從最后的拒絕服務(wù)類攻擊開始,選擇Alert a,然后利用因果關(guān)聯(lián)分析的方法,在設(shè)定的時間范圍內(nèi)選擇權(quán)限提升類攻擊中的警報Alert b,Alert b滿足其攻擊結(jié)果與Alert a的攻擊前提是相匹配的。找到此Alert b后,再在設(shè)定的時間閾值范圍內(nèi)從漏洞利用類里面匹配攻擊結(jié)果與Alert b的攻擊前提相匹配的警報,以此類推,直到找到再掃描類攻擊里所匹配的警報,完成一次關(guān)聯(lián)分析。
4 結(jié)束語
警報分析是攻擊場景挖掘和安全態(tài)勢評估的基礎(chǔ)。課題綜合利用多種數(shù)學(xué)理論和深度學(xué)習(xí)算法改進誤報消除算法、警報聚合算法和警報關(guān)聯(lián)算法,使警報分析具有層次化特點更適合APT階段性特征,從而提高警報分析的準(zhǔn)確性。
參考文獻
[1] 鄒柏賢,劉強.基于LSSVM模型的網(wǎng)絡(luò)流量預(yù)測[J].計算機研究與發(fā)展,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].