大數(shù)據(jù)安全分析之分析篇
這一篇應(yīng)該是比較容易引起爭(zhēng)議的,大家現(xiàn)在樂于說(shuō)看見(visibility )的力量,如何看到卻是一個(gè)尚在探索中的問題。數(shù)據(jù)是看到的基礎(chǔ)條件,但是和真正的看見還有巨大的差距。我們需要看到什么?什么樣的方法使我們真正看到?
這里提出一些個(gè)人看法。感受到前兩天安全峰會(huì)拍磚的氛圍,由衷歡迎大家能繼續(xù),希望這種直率交流的氣氛能帶給每個(gè)人更多的思考、更多的收獲。
安全分析和事件響應(yīng)
網(wǎng)絡(luò)空間的戰(zhàn)斗和現(xiàn)實(shí)世界有很大的相似性,因此往往可以進(jìn)行借鑒。美國(guó)空軍有一套系統(tǒng)理論,有非常的價(jià)值,值得深入思考并借鑒,它就是OODA周期模型:
觀察(Observe):實(shí)時(shí)了解我們網(wǎng)絡(luò)中發(fā)生的事件。這里面包括傳統(tǒng)的被動(dòng)檢測(cè)方式:各種已知檢測(cè)工具的報(bào)警,或者來(lái)自第三方的通報(bào)(如:用戶或者國(guó)家部門)。但我們知道這是遠(yuǎn)遠(yuǎn)不夠的,還需要采用更積極的檢測(cè)方式。即由事件響應(yīng)團(tuán)隊(duì)基于已知行為模式、情報(bào)甚至于某種靈感,積極地去主動(dòng)發(fā)現(xiàn)入侵事件。這種方式有一個(gè)很炫的名字叫做狩獵。
定位(Orient):在這里我們要根據(jù)相關(guān)的環(huán)境信息和其他情報(bào),對(duì)以下問題進(jìn)行分析:這是一個(gè)真實(shí)的攻擊嗎?是否成功?是否損害了其它資產(chǎn)?攻擊者還進(jìn)行了哪些活動(dòng)?
決策(Decision):即確定應(yīng)該做什么。這里面包括了緩解、清除、恢復(fù),同時(shí)也可能包括選擇請(qǐng)求第三方支持甚至于反擊。而反擊往往涉及到私自執(zhí)法帶來(lái)的風(fēng)險(xiǎn),并且容易出錯(cuò)傷及無(wú)辜,一般情況下不是好的選擇。
行動(dòng)(Action):能夠根據(jù)決策,快速展開相應(yīng)活動(dòng)。
OODA模型相較傳統(tǒng)的事件響應(yīng)六步曲(參見下圖),突出了定位和決策的過程,在現(xiàn)今攻擊技術(shù)越來(lái)越高超、過程越來(lái)越復(fù)雜的形勢(shì)下,無(wú)疑是必要的:針對(duì)發(fā)現(xiàn)的事件,我們采取怎樣的行動(dòng),需要有足夠的信息和充分的考量。
在整個(gè)模型中,觀察(對(duì)應(yīng)下文狩獵部分)、定位與決策(對(duì)應(yīng)下文事件響應(yīng))這三個(gè)階段就是屬于安全分析的范疇,也是我們下面要討論的內(nèi)容,附帶地也將提出個(gè)人看法,關(guān)于大數(shù)據(jù)分析平臺(tái)支撐安全分析活動(dòng)所需關(guān)鍵要素。
狩獵(hunting)
近兩年狩獵的概念在國(guó)際上比較流行,被認(rèn)為是發(fā)現(xiàn)未知威脅比較有效的方式。如何做到在信息安全領(lǐng)域的狩獵,也是和威脅情報(bào)一樣熱門的話題。
和數(shù)據(jù)收集階段一樣,狩獵中也需要“以威脅為中心”的意識(shí)。我們需要了解現(xiàn)今攻擊者的行為模式,需要開發(fā)有關(guān)潛在攻擊者的情報(bào)(無(wú)論是自身研究或者第三方提供),同時(shí)狩獵團(tuán)隊(duì)也需要評(píng)估內(nèi)部項(xiàng)目和資源,以確定哪些是最寶貴的,并假設(shè)攻擊者要攻陷這些資源為前提進(jìn)行追捕。
單純地依賴這個(gè)原則,也許并不能讓你真正擁有“visibility”的能力,我們還需要接受更多的挑戰(zhàn),包括傳統(tǒng)基于攻擊特征的思維方式必須改變,建立新的思維方式是成功的基礎(chǔ)。
1、從線索出發(fā),而不是指標(biāo)或簽名:安全分析,注重相關(guān)性,然后再考慮確定性,這背后有其深層的原因。誤報(bào)和漏報(bào)是一對(duì)不可完全調(diào)和的矛盾,雖然在個(gè)別方面存在例外(基于漏洞的簽名往往準(zhǔn)確率較高,同時(shí)也可以對(duì)抗很多逃逸措施,是檢測(cè)從IDS時(shí)代走向IPS的關(guān)鍵技術(shù)前提)。在發(fā)現(xiàn)未知的旅途中,如果直接考慮確定性證據(jù),會(huì)錯(cuò)失很多機(jī)會(huì)。
因此在狩獵的場(chǎng)景之下,安全分析員需要的是線索,線索只能代表相關(guān)性,而不是確定性,安全分析的過程需要將一連串的線索穿起來(lái),由點(diǎn)及面進(jìn)而逼近真相。舉個(gè)例子:超長(zhǎng)會(huì)話連接很難確定是攻擊但和CnC往往有關(guān)聯(lián),一些分析人員就會(huì)選擇它作為起點(diǎn)的線索。如果從這點(diǎn)出發(fā)、更多的線索出現(xiàn)了,連接的域名是最近新注冊(cè)的,并且訪問量很少,還有就是流量在80端口卻不是標(biāo)準(zhǔn)的HTTP協(xié)議等,隨著不斷的發(fā)現(xiàn),確定性在增加,最終通過進(jìn)一步的方式我們可以確認(rèn)攻擊行為。
2、換個(gè)角度看問題:找尋攻擊相關(guān)的行為模式,可以變換多個(gè)角度,無(wú)需一直從最直接的方面著手。例如在CnC檢測(cè)上,我們可以采用威脅情報(bào)或者遠(yuǎn)控工具的流量特征這樣直接的方法,但也可以考慮排查之前數(shù)據(jù)中沒有出現(xiàn)過的新域名,或者某些域名對(duì)應(yīng)IP快速變化的情況,甚至可以采用機(jī)器學(xué)習(xí)的方式來(lái)發(fā)現(xiàn)那些不一樣的域名,這些都可能是有效的方法,可以在不同情況下分別或組合使用。
3、白名單及行為基線:它們都是先定義什么是正常,由此來(lái)判斷什么是不好的。業(yè)界某些廠商倡導(dǎo)的白環(huán)境或者軟件白名單,都是這個(gè)思想的一種具體實(shí)踐。在采用這個(gè)方法建立基線時(shí),還是需要從威脅的角度出發(fā),這樣檢測(cè)靈敏度較高并且發(fā)現(xiàn)異常后的指向性也較好。例如針對(duì)整體流量突變的監(jiān)控,和專門對(duì)ARP流量(內(nèi)部的ARP攻擊有關(guān))或DNS流量(防火墻一般不禁止,是數(shù)據(jù)外泄的通道之一)分別進(jìn)行監(jiān)控,有著完全不同的效果。
4、統(tǒng)計(jì)概率:過去在討論利用基線的方式發(fā)現(xiàn)異常時(shí),經(jīng)常被提出的問題是:“如果學(xué)習(xí)期間,惡意行為正在發(fā)生,學(xué)習(xí)的基線價(jià)值何在呢?”。這里面我們?nèi)绻私庖恍┙y(tǒng)計(jì)概率方面的知識(shí),就知道可以利用均值和標(biāo)準(zhǔn)差這種方式來(lái)解決問題。統(tǒng)計(jì)概率知識(shí)在安全分析中的作用很大,尤其是在機(jī)器學(xué)習(xí)和安全分析結(jié)合時(shí)。這部分不是我擅長(zhǎng)的專業(yè)領(lǐng)域,不再多說(shuō)。還想一提的是,概率知識(shí)有時(shí)和人的直覺往往有沖突,所以為了正確的分析判斷,需要了解基本的概率知識(shí)。有一個(gè)小題目,大家可以進(jìn)行自測(cè)一下:某種流感測(cè)試方法,如果已患此流感,那么測(cè)試結(jié)果為陽(yáng)性的概率為95%,問測(cè)試陽(yáng)性者患病概率是多少。估計(jì)沒有掌握貝葉斯方法的人,很難回答出正確的答案。也許通過這個(gè)問題,會(huì)讓沒有接觸過此方面知識(shí)的人,感受到其必要性。
水無(wú)常式,法無(wú)定則,在信息安全過程中狩獵也是如此,這里只是稍微做了一些介紹,也許已經(jīng)給大家一種印象:狩獵是一項(xiàng)充滿挑戰(zhàn)、極具難度的活動(dòng)。這種認(rèn)識(shí)無(wú)疑是正確的,幸運(yùn)的是有了安全分析產(chǎn)品的存在,使其難度有了大幅的降低,在本文最后部分會(huì)介紹這方面的信息。#p#
事件響應(yīng)
事件響應(yīng)不是新鮮事物,很早就存在了,但這并不意味著這方面的知識(shí)與技能已被正確掌握。即使在被動(dòng)響應(yīng)為主的時(shí)代,因?yàn)槿狈Ρ匾陌踩治觯y以對(duì)事件進(jìn)行定位并確定正確的響應(yīng)活動(dòng),從而很多時(shí)候無(wú)法對(duì)已發(fā)現(xiàn)的攻擊做到干凈徹底地清除,更不要說(shuō)進(jìn)一步完善防御措施了。下面介紹一個(gè)我比較認(rèn)同的、行動(dòng)前的分析過程[1]:
1、確認(rèn)是否為誤報(bào):這是需要首先回答的問題。在這個(gè)行業(yè),還不知道有什么辦法可以消失誤報(bào),同時(shí)保證沒有漏報(bào)。既然誤報(bào)總是存在,并且在某些情況下可能比例還是比較高的,我們需要盡快的區(qū)分誤報(bào)和真實(shí)的報(bào)警。報(bào)警相關(guān)的上下文信息、PCAP包等信息對(duì)識(shí)別誤報(bào)非常有用。
2、確認(rèn)攻擊是否奏效:很多攻擊嘗試都可能失敗,特別是一些自動(dòng)化工具,它們不區(qū)分攻擊目標(biāo)的OS、軟件類型和版本等。此類報(bào)警數(shù)量往往會(huì)很多,以至于有些分析師會(huì)傾向于檢測(cè)攻擊鏈的下一步。但是有些時(shí)候我們無(wú)法完全避免,例如針對(duì)driven-by下載或者水坑攻擊的報(bào)警,分析師是需要了解瀏覽器是否真的訪問、下載了惡意代碼。這時(shí)他們需要結(jié)合上一階段相似的上下文等信息來(lái)進(jìn)行判斷。
3、確定是否損害了其它資產(chǎn):如果確認(rèn)攻擊成功,那么必須劃定事件的影響范圍,即建立受影響資產(chǎn)清單,其中包括組織IT空間的任何事物:計(jì)算機(jī)、網(wǎng)絡(luò)設(shè)備、用戶賬號(hào)、電子郵件地址、文件或者目錄等任何攻擊者希望攻擊、控制或竊取的IT資產(chǎn)。例如你發(fā)現(xiàn)攻擊者可能從失陷的設(shè)備獲得了一份用戶名和密碼的名單,我們就需要找到可能影響的主機(jī),建立清單,進(jìn)行排查。此資產(chǎn)清單是一個(gè)不斷完善、變化的,在分析過程中可能有不斷的刪除或添加。
4、確定攻擊者的其它活動(dòng):在調(diào)查分析中,我們需要回答的不僅是去了哪兒,還需要了解何時(shí)做了何事。如果發(fā)現(xiàn)的是攻擊后期的報(bào)警,那么這點(diǎn)就更為重要,我們需要了解從第一次漏洞利用嘗試開始和攻擊相關(guān)的所有警報(bào),了解我們被滲入的脆弱點(diǎn),確認(rèn)失陷的資產(chǎn)。步驟3、4往往是交互進(jìn)行的。
5、確定如何應(yīng)對(duì)這種攻擊:事件響應(yīng)策略是個(gè)非常大的話題,因?yàn)闆]有一個(gè)標(biāo)準(zhǔn)可以適合所有的情況,不同類型的事件需要不同的響應(yīng)計(jì)劃。即使一個(gè)管理良好的應(yīng)急中心有一批提前準(zhǔn)備好的應(yīng)急響應(yīng)計(jì)劃,但事到臨頭往往還是要進(jìn)行調(diào)整,這時(shí)采用模塊化的方法也許是一個(gè)好的選擇。從資深的IR人員了解到的信息,這個(gè)過程需要高度的技巧和經(jīng)驗(yàn),也許可以考慮找一個(gè)有這方面經(jīng)驗(yàn)的顧問來(lái)幫助、指導(dǎo)。
這部分就是OODA周期中的定位、決策的過程了,如果不考慮狩獵這種積極的檢測(cè)方式,它差不多就是安全分析師的全部工作了。
安全分析平臺(tái)
很大程度上,一個(gè)組織檢測(cè)和響應(yīng)安全事件的能力取決于其工具的質(zhì)量,一個(gè)好的安全分析平臺(tái)有可能數(shù)十倍或百倍提高分析師的效率,但遺憾的是,業(yè)界滿足其需要的產(chǎn)品還非常少,Splunk和Palantir是我看到比較完善的產(chǎn)品。
今年RSA大會(huì)上也有更多這方面的廠商出現(xiàn),但它們還是更多從某一場(chǎng)景的需求開始做起,距離完整的分析平臺(tái)尚有一段距離。關(guān)于一個(gè)好的分析平臺(tái)需具備的關(guān)鍵特性,在此我提出一些個(gè)人看法,歡迎大家來(lái)拍磚。
首先需要說(shuō)明,這里不想涉及底層架構(gòu)相關(guān)的問題,大數(shù)據(jù)如何存儲(chǔ)、備份、索引、計(jì)算;如何保證架構(gòu)的彈性擴(kuò)展;如何處理非結(jié)構(gòu)化數(shù)據(jù)等等,這些業(yè)界有很多架構(gòu)設(shè)計(jì),流行的如HDP、ELK,也有一些比較小眾,但具備自身特定的優(yōu)勢(shì)的方案,這里不再多講。
重點(diǎn)從業(yè)務(wù)層面提出滿足分析師需要的關(guān)鍵特性。
1、集成相對(duì)豐富的分析模型:狩獵需要基于已知攻擊行為模式去查找線索,如果作為一個(gè)分析平臺(tái)可以默認(rèn)集成這樣的模型,那么對(duì)于分析師來(lái)說(shuō),入門的成本將會(huì)極大的降低。如果模型足夠豐富,則會(huì)超過一些資深分析師所掌握的技能,這無(wú)疑會(huì)成為平臺(tái)最大的價(jià)值點(diǎn)。
2、提供接口供用戶自定義:這和前兩天阿里安全峰會(huì)上道哥提到非常一致,相信總會(huì)有人比我們聰明,因此我們需要給用戶空間,讓他在自己的使用中,可以繼續(xù)豐富這些模型,或者能夠形成更適合行業(yè)特點(diǎn)的分析方式,這就需要以開放的心態(tài),和用戶一起來(lái)共同完善分析能力。
3、集成威脅情報(bào)功能:作為以威脅為中心的產(chǎn)品,這是應(yīng)有之義。考慮到現(xiàn)今提供威脅情報(bào)的廠商,其關(guān)鍵性數(shù)據(jù)重疊性不高(參考DBIR 2015[2]),就要求分析平臺(tái)可以集中多個(gè)來(lái)源的情報(bào)數(shù)據(jù),較好的支持OpenIOC、STIX等標(biāo)準(zhǔn)。
4、利用數(shù)據(jù)挖掘降低人的工作量:數(shù)據(jù)挖掘可以幫助完成一部分人的工作,特別是當(dāng)分析平臺(tái)可以自動(dòng)化識(shí)別很多線索的時(shí)候,那么數(shù)據(jù)挖掘就可以根據(jù)線索的特定組合判定一個(gè)事件,這是我看到它可以提供的一個(gè)重要價(jià)值點(diǎn)。根據(jù)弓峰敏博士去年ISC大會(huì)的演講以及Cyphort的產(chǎn)品介紹推測(cè),他們利用數(shù)據(jù)挖掘主要完成的也是這方面的工作。
這里特別想提出一個(gè)問題:數(shù)據(jù)挖掘的局限性在哪兒?Palantir給出了自己的答案,可以作為一個(gè)參考[3]。他們認(rèn)為某些情況下數(shù)據(jù)挖掘能做到的只是將一個(gè)非常龐大的數(shù)據(jù)集縮小到一個(gè)較小而有意義的集合,讓人來(lái)分析,因?yàn)橐韵虑闆r機(jī)器算法并不適用:
The data comes from many disparate sources
The data is incomplete and inconsistent
You’re looking for someone or something that doesn’t want to be found, and that can adapt to avoid detection.
5、針對(duì)工作流程,提供滿足場(chǎng)景需要的設(shè)計(jì):在安全分析過程中涉及到諸多的場(chǎng)景,不同種類線索的觀察分析,事件的確認(rèn)、影響范圍及關(guān)聯(lián)攻擊的分析等等。是否能夠支持分析師的工作方式,滿足不同場(chǎng)景下對(duì)數(shù)據(jù)呈現(xiàn)、分享、交互的要求,也是必須考量的內(nèi)容。
6、可視化:可視化和數(shù)據(jù)驅(qū)動(dòng)的分析是一對(duì)孿生兄弟,難以割裂,但現(xiàn)今很多可視化的嘗試無(wú)疑是難以讓人信服,這部分我將放到下一篇文章中專門討論。
小結(jié)
我們?cè)谶@里討論安全分析的主要活動(dòng),狩獵以及后續(xù)的事件定位及決策,發(fā)現(xiàn)狩獵活動(dòng)和傳統(tǒng)檢測(cè)理念有很大的區(qū)別,同時(shí)也了解到安全分析需要一個(gè)好的分析平臺(tái)工具,才能使工作更有效、快速。
分析篇是應(yīng)該是一個(gè)巨大的話題,這里只能是淺嘗則止,希望這里的話題能夠起到拋磚引玉的作用,有更多相關(guān)討論這方面的文字出現(xiàn)。
參考:
[1]http://detect-respond.blogspot.com
[2]DBIR 2015,Verizon
[3]https://www.palantir.com/what-we-believe/
[4]Splunk、Palantir、Cyphort網(wǎng)站