摘要:海量告警的篩選問題多年來一直困擾著安全行業(yè)。為了減輕運(yùn)維人員排查告警的壓力,提高對(duì)安全威脅的發(fā)現(xiàn)能力,需要對(duì)安全設(shè)備產(chǎn)生的告警日志進(jìn)行進(jìn)一步的分析,篩選出關(guān)鍵的具有高威脅度的告警。本文是AISecOps專題中的一篇,進(jìn)一步介紹基于特征相似性的安全設(shè)備告警評(píng)估方法。
一、背景
海量告警的篩選問題多年來一直困擾著安全行業(yè)。企業(yè)側(cè)的安全設(shè)備,例如IPS,WAF等每天產(chǎn)生大量的告警。這些告警遠(yuǎn)遠(yuǎn)超出了安全運(yùn)維人員的排查能力。而在這些告警中,真正有威脅的(即代表系統(tǒng)真正被黑客攻擊的)告警所占的比例卻非常小。因此,為了減輕運(yùn)維人員排查告警的壓力,提高對(duì)安全威脅的發(fā)現(xiàn)能力,需要對(duì)安全設(shè)備產(chǎn)生的告警日志進(jìn)行進(jìn)一步的分析,篩選出關(guān)鍵的具有高威脅度的告警。之前的文章對(duì)基于多維度關(guān)聯(lián)的告警評(píng)估方法進(jìn)行了闡述,在告警評(píng)估過程中存在多種維度可以用來進(jìn)行關(guān)聯(lián)。本文以此為基礎(chǔ),進(jìn)一步介紹采用對(duì)告警中某些特征相似性進(jìn)行關(guān)聯(lián)的評(píng)估方法。通過關(guān)聯(lián)告警中的特定的特征,找出“獨(dú)特”性較高的告警。這類告警一般具有很高的威脅度,需要管理員進(jìn)行進(jìn)一步的排查。
二、告警特征提取之感
所謂“獨(dú)特”的告警,就是具有某些特殊的特征的告警。因此為了從海量告警中篩選出真正具有高威脅度的告警,運(yùn)維人員基于告警的特征制定了一系列的篩選策略,例如重點(diǎn)關(guān)注高中風(fēng)險(xiǎn)等級(jí)的告警、特定防護(hù)規(guī)則的告警、敏感業(yè)務(wù)系統(tǒng)的告警、惡意源IP觸發(fā)的告警等。但是在真實(shí)的運(yùn)維環(huán)境中,以上的篩選策略取得的效果都很有限。究其原因,主要是因?yàn)橐陨系暮Y選策略所參考的特征并不能有效描述告警的威脅度。在實(shí)際的運(yùn)維場(chǎng)景中,運(yùn)維人員在告警排查處置的過程中最關(guān)注的部分就是告警的payload。攻擊行為信息包含在告警的payload中。因此為了篩選出具有高威脅度的告警,需要重點(diǎn)考慮payload中包含的特征信息。
告警的payload中包含著攻擊者所使用的攻擊手法,使用的攻擊工具等特征,例如文件路徑、IP、域名、URL、操作系統(tǒng)命令、腳本函數(shù)、SQL語句、系統(tǒng)表名稱等。在實(shí)際的網(wǎng)絡(luò)環(huán)境中,由于業(yè)務(wù)種類,通信協(xié)議等不同,告警的payload結(jié)構(gòu)也千變?nèi)f化。因此告警的payload是非結(jié)構(gòu)化的文本數(shù)據(jù)。在現(xiàn)有的工作中,自然語言處理(NLP)技術(shù)為非結(jié)構(gòu)化文本數(shù)據(jù)提供了多種處理方法。通過分詞,Doc2vec等技術(shù),可以將payload轉(zhuǎn)化為向量化表示。
在實(shí)踐中,以上方法在處理告警的payload數(shù)據(jù)的過程中往往會(huì)失效,所得到的向量化表示仍然無法有效的表征告警的特征。其原因在于,自然語言處理技術(shù)無法真正“理解”攻擊者的攻擊意圖和所采用的攻擊技術(shù)。也就是說,基于NLP方法得到的告警的向量化表示更多的利用了原始payload的統(tǒng)計(jì)特征。這些統(tǒng)計(jì)特征不能有效的描述告警中所包含的攻擊技術(shù)。因此,在提取特征的過程中要引入專家知識(shí),使得特征提取算法能夠真正“理解”告警。
三、“人工”提取特征
在告警特征提取的過程中需要引入大量的安全專家知識(shí),才能夠有效提取出payload的特征。而引入專家知識(shí)需要由安全專家提供特征提取的正則式,正所謂人工智能還得人工來做。也就是說,特征提取過程相當(dāng)于專家知識(shí)的引入過程。這一步對(duì)后續(xù)的告警評(píng)估效果影響巨大。專家知識(shí)引入的越多,準(zhǔn)確度越高,后續(xù)告警評(píng)估的效果越好。
四、找出“獨(dú)特”的告警
在真實(shí)的企業(yè)網(wǎng)絡(luò)環(huán)境中,大部分的安全設(shè)備告警都是低危告警,真正有威脅的告警所占的比例非常小。低危告警往往是由掃描探測(cè)等行為產(chǎn)生。掃描探測(cè)一般會(huì)采用自動(dòng)化工具來完成,因此這類工具對(duì)不同的主機(jī)進(jìn)行掃描探測(cè)過程中所產(chǎn)生的告警往往具有相似的payload特征。而對(duì)于真正的攻擊而言,攻擊者為了攻破某一特定的主機(jī),往往會(huì)采用一些比較獨(dú)特的攻擊技術(shù)。這樣這類攻擊所產(chǎn)生的告警,其payload的特征也會(huì)比較獨(dú)特。因此根據(jù)告警payload特征的獨(dú)特性可以對(duì)告警進(jìn)行評(píng)估。告警特征越獨(dú)特,其威脅度也就越高。
基于以上思路,可以基于特征相似度來對(duì)告警進(jìn)行評(píng)估。其總體流程如圖 1所示。
圖1 告警評(píng)估流程
特征提?。喝缜八?,采用正則式匹配的方法提取每一條告警的payload特征,提取以后的特征經(jīng)過編碼,得到特征向量。
告警聚合:將告警按照源ip,目的ip,目的端口進(jìn)行聚合,得到告警序列。每個(gè)序列中的告警代表著從一個(gè)源ip到一個(gè)目標(biāo)ip攻擊者所采取的攻擊行為。這里可以認(rèn)為攻擊行為由一系列的特征向量所描述。
?相似度分析:對(duì)聚合以后的每個(gè)告警序列之間進(jìn)行相似度分析,檢測(cè)序列之間的相似度的大小。這里需要選擇一個(gè)測(cè)度,對(duì)任意兩個(gè)告警序列進(jìn)行相似度評(píng)估。根據(jù)測(cè)度找出與其他序列相似度較低的告警序列。這些告警序列中的告警被設(shè)定為高危告警。
在上面的第三步中,需要對(duì)告警序列的相似度進(jìn)行評(píng)估。而每一個(gè)告警序列由一系列的特征向量組成,而且告警序列的長(zhǎng)度各不相同,也就是說告警序列中特征向量的數(shù)量各不相同。因此需要一種能夠比較兩個(gè)告警序列相似度的方法。一種可行的方法是對(duì)于兩個(gè)告警序列,分別對(duì)其中的特征向量進(jìn)行相似度比較,記錄特征向量相似度的值,然后取相似度的統(tǒng)計(jì)值,例如最小值,中位數(shù),平均值等,作為告警序列的相似度。
由于圖模型能夠清晰地表征實(shí)體之間關(guān)聯(lián)和相似的關(guān)系,因此在具體的告警評(píng)估的過程中,可以采用圖模型來輔助告警序列相似度的評(píng)估。圖模型由頂點(diǎn)和邊構(gòu)成。在本問題中,可以將告警序列設(shè)定為頂點(diǎn),然后根據(jù)序列的相似度來構(gòu)建邊。選定一個(gè)相似度的閾值,如果用上面的方法計(jì)算得到的兩個(gè)序列之間的相似度大于該閾值,則在這兩個(gè)序列對(duì)應(yīng)的頂點(diǎn)之間建立一條邊。最終所得的圖模型如圖 2所示。
圖 2
圖2所示的圖模型中,每個(gè)頂點(diǎn)的度是不相同的,這表示相應(yīng)的告警序列之間相似性的差異。在實(shí)際的企業(yè)內(nèi)網(wǎng)告警數(shù)據(jù)生成的圖中,會(huì)有很多孤立的頂點(diǎn),也就是度為0的頂點(diǎn)。這些頂點(diǎn)對(duì)應(yīng)的告警序列與其他的序列的相似度非常低,因此可以認(rèn)為這些序列中包含的告警具有更高的威脅度。另外,度比較低的頂點(diǎn),其對(duì)應(yīng)的告警序列中的告警同樣具有較高的威脅度。通過以上方法,即可以篩選出具有較高威脅度的告警。
采用以上的方法對(duì)某次公司內(nèi)部攻防演練中安全設(shè)備所產(chǎn)生的共2300萬條告警進(jìn)行評(píng)估。所得到的評(píng)估結(jié)果的top10中真正的高危告警有九條,如所示。
五、總結(jié)
基于相似度的告警評(píng)估方法給安全設(shè)備告警的篩選問題提供了一種新的思路。從實(shí)際的企業(yè)內(nèi)網(wǎng)環(huán)境測(cè)試結(jié)果來看,該方法可以有效的找出高危的告警。該方法比現(xiàn)有的方法效果好,一個(gè)主要原因是在基于正則式提取告警payload特征的過程中引入了大量的專家知識(shí),使得后面建立的模型可以對(duì)告警有一定的“理解”。但是引入專家知識(shí)是一把雙刃劍。如果專家知識(shí)不夠全面或者不夠準(zhǔn)確,該方法的評(píng)估準(zhǔn)確率也會(huì)降低。因此,該方法輸出的高危告警需要經(jīng)過安全專家進(jìn)一步的研判,根據(jù)研判的結(jié)果進(jìn)一步調(diào)整優(yōu)化特征提取正則式,提高特征提取的準(zhǔn)確度,進(jìn)而提高評(píng)估算法的性能。也就是說,該方法需要一個(gè)持續(xù)運(yùn)維的過程。隨著專家知識(shí)不斷地引入與完善,方法的評(píng)估效果會(huì)不斷得到提升。