在大型企業(yè)生產(chǎn)環(huán)境中,實(shí)現(xiàn)安全事件的處理和攻擊行為的分析,需要盡可能多地收集各種安全設(shè)備的安全事件數(shù)據(jù),例如:網(wǎng)絡(luò)防火墻、WAF、服務(wù)器防護(hù)、VPN,、流量監(jiān)控、APT檢測、IDS、IPS、蜜罐等。然而,過多的安全事件日志(特定場景下,如每天40萬條日志),將無法人工地進(jìn)行分析和處理,如何從中過濾出真正的滲透攻擊者,供安全運(yùn)維人員和響應(yīng)人員進(jìn)行處理,是現(xiàn)有所有類SIEM設(shè)備所共同面臨的挑戰(zhàn)。
在大型組織內(nèi)部部署了多種多數(shù)量不同廠商安全設(shè)備的環(huán)境中存在如下三個(gè)具體問題:
1、由于安全廠商設(shè)備能力問題及日志規(guī)范問題會出現(xiàn)一臺安全設(shè)備發(fā)出大量同一攻事件相同時(shí)間或者事件間隔很小的大量日志,人工無法判斷這些日志是同一個(gè)攻擊者的重復(fù)行為還是安全設(shè)備的重復(fù)告警.
2、各家安全設(shè)備廠商對同一攻擊事件都會告警,SIEM都收到類似日志,無法區(qū)分這個(gè)是一個(gè)IP的一個(gè)動作還是重復(fù)動作。
3、各家安全廠商的設(shè)備都會存在誤報(bào),由于系統(tǒng)中的安全設(shè)備量表大,因此誤報(bào)的日志數(shù)量也很多,SIEM系統(tǒng)或者人工分析都無法實(shí)時(shí)去過濾掉這些誤報(bào)。
因此無法通過簡單通過攻擊日志的數(shù)量來篩選找出真實(shí)的滲透攻擊。
解決思路
在無自動化工具的支持下,人工的過濾事件數(shù)據(jù),基本是不可能實(shí)現(xiàn)的;現(xiàn)有SIEM類系統(tǒng)解決了多元異構(gòu)數(shù)據(jù)的歸一化問題,即將各種安全設(shè)備和主機(jī)服務(wù)器的日志統(tǒng)一收集,并按照統(tǒng)一標(biāo)準(zhǔn)對不同安全廠商的安全事件日志進(jìn)行標(biāo)準(zhǔn)化,如下圖所示:

標(biāo)準(zhǔn)化完成之后,根據(jù)安全業(yè)務(wù)模型對日志進(jìn)行簡單的關(guān)聯(lián)形成告警,然后在系統(tǒng)中進(jìn)行查詢分析和處理。在實(shí)際部署環(huán)境中,這種簡單關(guān)聯(lián)形成的告警將會產(chǎn)生很多,結(jié)果造成告警退化為了安全事件,繼而又再次無法有效處理。
為了真正實(shí)現(xiàn)有效告警的生成與處理,簡單的關(guān)聯(lián)模型是無法完成的;因此模仿安全運(yùn)維分析人員解決安全問題的思路和方法,采用多層網(wǎng)絡(luò)時(shí)序關(guān)聯(lián)模型,應(yīng)用多層網(wǎng)絡(luò)技術(shù),推理出高層結(jié)論作為有效預(yù)警輸出,能夠?qū)嵸|(zhì)上提升安全事件包括滲透攻擊的預(yù)警能力。可以解決如下的問題:
1、我們發(fā)現(xiàn)某些情況下,某安全設(shè)備一直對同一IP產(chǎn)生重復(fù)的5K條告警日志,告警內(nèi)容是該IP使用某2013年的軟件漏洞攻擊某服務(wù)器,實(shí)際上該服務(wù)器并未使用該軟件。如果單純使用數(shù)量統(tǒng)計(jì),會發(fā)現(xiàn)大量的此類重復(fù)(誤報(bào))事件,但這IP跟攻擊無關(guān)。多層網(wǎng)絡(luò)時(shí)序關(guān)聯(lián)模型可以有效的過濾掉此類重復(fù)誤報(bào)事件。
2、通過對安全日志的分析發(fā)現(xiàn),每天的日志中會有約上千的IP對內(nèi)網(wǎng)嘗試了攻擊,比如某外網(wǎng)IP嘗試了對服務(wù)器進(jìn)行了1次SQL注入,在3家不同廠商的設(shè)備中發(fā)現(xiàn)了告警,觀察日志后發(fā)現(xiàn)此IP確實(shí)進(jìn)行了1次注入嘗試( 使用‘and 1=1),但是后面再無此IP日志,因此雖然此IP進(jìn)行了SQL注入,但我們不能因此就對此IP對運(yùn)維人員告警,因?yàn)樗o后續(xù)的持續(xù)信息偵查和其他滲透手段。
實(shí)現(xiàn)設(shè)想
在大數(shù)據(jù)環(huán)境下,實(shí)現(xiàn)多層網(wǎng)絡(luò)推理引擎,將結(jié)合復(fù)雜事件處理(Complex Event Processing,CEP)和行為模型識別引擎(Attacking Recognition Modeling Engine,ARME)技術(shù)結(jié)合,前者處理實(shí)時(shí)發(fā)生的事件信息,提供必要的事件聚合和變換等,后者實(shí)現(xiàn)復(fù)雜行為匹配業(yè)務(wù)邏輯。
ARME中使用的模型用JSON格式的領(lǐng)域語言DSL(Domain Specific Language)編寫,支持值比較、邏輯運(yùn)算、集合運(yùn)算、時(shí)間窗口和序關(guān)系測定等復(fù)雜操作;ARME把模型編譯為內(nèi)部表達(dá)形式,編譯過程中將處理邏輯、關(guān)聯(lián)關(guān)系和事件觸發(fā)都聯(lián)系在一起. 當(dāng)外部事件進(jìn)入ARME時(shí),將選擇性執(zhí)行事件相關(guān)聯(lián)的一個(gè)或多個(gè)模型;大致上模型執(zhí)行階段分為如下三個(gè)階段:邏輯判定,確定模型是否符合條件引起后續(xù)操作;模型鏈反應(yīng),在某一條模型觸發(fā)后,是否繼續(xù)執(zhí)行模型依賴鏈中下一條模型;事件觸發(fā),是否向模型引擎之外輸出事件消息。
為了處理重復(fù)日志聚合及有效攻擊篩選問題, MLS-CEP-ARME實(shí)現(xiàn)了多層網(wǎng)絡(luò)架構(gòu)時(shí)間窗口時(shí)序處理引擎,通過多層網(wǎng)絡(luò)告警處理模型讓MLS-CEP-ARME實(shí)現(xiàn)對海量日志中攻擊行為的篩選,具體處理步驟:
第一級處理:
1、對日志同源同目的同手段日志簡單時(shí)間聚合,在某類型日志數(shù)量達(dá)到閾值后生成一級聚合事件并啟動時(shí)間窗口,在窗口未關(guān)閉前的時(shí)間內(nèi)所有相同條件日志也繼續(xù)聚合到同一事件中。
2、對符合一定攻擊步驟的日志做時(shí)序聚合產(chǎn)生一級時(shí)序聚合事件。
第二、三級處理:
模型引擎會將上一級中生成的簡聚合事件再當(dāng)作普通事件發(fā)往所有對此事件感興趣的模型對象,對于每一條模型對象來說聚合事件和日志事件是同一類對象.第二,三級聚合模型會繼續(xù)根據(jù)模型對日志和聚合事件進(jìn)行行為含義聚并生成新的弱行為含義告警。
第四級網(wǎng)絡(luò)結(jié)構(gòu)繼續(xù)按模型序列及時(shí)間窗口繼續(xù)生成高行為含義告警,此時(shí)的告警不僅會聚合上一級的事件且會根據(jù)模型需要聚合任意層級的事件,最終輸出我們需要找到的滲透攻擊IP告警,如下圖所示:

模型是對滲透測試步驟及方法的模擬,可以通過安全人員依靠已知經(jīng)驗(yàn)完成,也可以通過對已經(jīng)的滲透攻擊進(jìn)行機(jī)器學(xué)習(xí)完成,因此多層網(wǎng)絡(luò)時(shí)序聚合模型最終找出跟滲透測試人員一樣行動步驟的日志,如果某IP按一定時(shí)間順序嘗試了某些滲透步驟,那我們判定此IP為滲透攻擊IP,普通的誤報(bào)或者無意的訪問嘗試觸發(fā)的安全設(shè)備日志,或者強(qiáng)度不夠的滲透掃描,從數(shù)量,步驟時(shí)序,目標(biāo)特點(diǎn)等上面都無法滿足模型,即普通的單一的POC掃描及安全設(shè)備誤報(bào)最多產(chǎn)生第一二級聚合事件,因?yàn)樾袨椴淮嬖诓襟E性,即便數(shù)量非常多也只會生成一條一級聚合并不會產(chǎn)生第4級告警。實(shí)際測試效果-預(yù)警滲透攻擊
(由于需要對用戶信息保密已抹去真實(shí)信息)
用戶實(shí)際網(wǎng)絡(luò)中部署MLS-CEP-ARME后,實(shí)際在1天的40W日志中僅產(chǎn)生2個(gè)4級告警,百條級2,3級事件,2K條1級聚合事件,選擇其中一條威脅告警進(jìn)行分析,可以看到此攻擊IP的4級告警使用了總共64條日志:

這個(gè)4級告警由4條3級事件聚合,其中每條3級聚合又由N多低級事件聚合而成。由于未對該IP進(jìn)行封堵。所以我們繼續(xù)分析該IP流量后發(fā)現(xiàn),該IP成功上傳文件名為tett.asp的一句話后門,如下圖:

可以看到MLS-CEP-ARME告警的IP確實(shí)是攻擊者。
總結(jié)
經(jīng)過一段時(shí)間的測試,發(fā)現(xiàn)MLS-CEP-ARME不存在誤報(bào),實(shí)際上觸發(fā)4級告警的IP非常少。
但是存在漏報(bào)的情況,說明安全設(shè)備日志處理也只是在某些特定場景下有效,一但遇到:
1、攻擊者使用新漏洞安全設(shè)備無法告警
2、其他情況下滲透測試者能在少步驟內(nèi)成功滲透進(jìn)入系統(tǒng)
3、其他未知的告警非常少的情況下,此日志處理模型也不會生效。
同時(shí)還發(fā)現(xiàn)由于現(xiàn)在使用的全部安全設(shè)備日志,會遇到如下問題:
1、由于只有安全設(shè)備的日志,因此丟失了很多重要信息。
2、沒有縱深防御,一旦攻擊者突破邊界安全設(shè)備,SIEM就不會再給出告警提示。
3、安全設(shè)備對攻擊的告警類型不準(zhǔn)確導(dǎo)致攻擊識別模型對告警識別錯(cuò)誤。
下一步準(zhǔn)備進(jìn)一步研究如何MLS-CEP-ARME和設(shè)備(非安全設(shè)備)日志來檢測已經(jīng)成功進(jìn)入到內(nèi)網(wǎng)的威脅。
|