- ATT&CK與威脅獵殺實戰(zhàn)
- (西)瓦倫蒂娜·科斯塔-加斯孔
- 3931字
- 2022-04-24 09:42:15
2.4 威脅獵殺過程
有幾種安全信息和事件管理(Security Information and Event Management,SIEM)解決方案可供選擇,已有多篇文章介紹了它們的工作原理以及如何選擇適合組織需求的解決方案。在本書的后面,我們將使用一些基于Elastic SIEM開發(fā)的開源解決方案。你應(yīng)該使用這種類型的解決方案來集中從系統(tǒng)收集的所有日志,以幫助分析數(shù)據(jù)。確保收集到的數(shù)據(jù)的質(zhì)量至關(guān)重要,低質(zhì)量的數(shù)據(jù)很難帶來成功的獵殺。
另一個很好的起點是,搜索可以合并到自己流程中的已發(fā)布的獵殺程序。你也可以創(chuàng)建新的獵殺程序,同時牢記組織的需求和關(guān)注點。例如,你可以創(chuàng)建聚焦于對組織所在行業(yè)感興趣的特定威脅行為體的獵殺流程。盡可能地將這些記錄下來并實現(xiàn)自動化,以防止獵殺團(tuán)隊反復(fù)重復(fù)相同的獵殺。
請記住,要始終假設(shè)入侵已經(jīng)發(fā)生,思考威脅行為體是如何操作的以及為什么這樣操作,依靠獵殺活動開啟新的調(diào)查路線,并根據(jù)與威脅相關(guān)的風(fēng)險等級來確定獵殺的優(yōu)先級。持續(xù)搜索,不要等待告警發(fā)生才實施。
2.4.1 威脅獵殺循環(huán)
Sqrrl對威脅獵殺過程的最早定義之一出現(xiàn)在他們稱之為威脅獵殺循環(huán)(見圖2.5)的過程中。

圖2.5 Sqrrl的威脅獵殺循環(huán)
第一步是構(gòu)建假設(shè),即獵殺所依賴的假設(shè)。之后,就可以使用我們掌握的技能和工具開始調(diào)查。在進(jìn)行分析時,威脅獵人會嘗試發(fā)現(xiàn)組織環(huán)境中的新模式或異常。這一步的目標(biāo)是試圖證明(或反駁)這一假設(shè)。循環(huán)的最后一步是盡可能地將成功獵殺的過程自動化。這將防止團(tuán)隊重復(fù)相同的流程,并使團(tuán)隊能夠?qū)⒕性诎l(fā)現(xiàn)新的入侵上。在這一步中,記錄這些發(fā)現(xiàn)結(jié)果是一個重要的階段,因為形成的文檔將幫助團(tuán)隊更好地了解組織的網(wǎng)絡(luò)。掌握在組織環(huán)境中什么是正常的、什么是不正常的將有助于團(tuán)隊進(jìn)行更好的獵殺。
2.4.2 威脅獵殺模型
Dan Gunter和Marc Setiz在論文“A Practical Model for Conducting Cyber Threat Hunting”[1](https://pdfs.semanticscholar.org/4900/b5c4d87b5719340f3ebbff84fbbd4a1a3fa1.pdf)中給出了一個更詳細(xì)的模型,該模型分了六個不同的階段(見圖2.6),并強(qiáng)調(diào)了威脅獵殺過程的迭代性質(zhì)。
●目的:進(jìn)行威脅獵殺時應(yīng)牢記組織的目標(biāo),例如,獵殺可能以長期業(yè)務(wù)目標(biāo)為條件。在這一階段,我們需要說明獵殺的目的,包括執(zhí)行獵殺需要哪些數(shù)據(jù)以及期望的結(jié)果是什么。
●范圍:此階段涉及定義假設(shè),并確定我們要從中提取數(shù)據(jù)的網(wǎng)絡(luò)、系統(tǒng)、子網(wǎng)或主機(jī)。這個范圍應(yīng)該事先確定好,以減少可能干擾獵殺成功的“噪音”的數(shù)量。它不能過于具體,因為過于具體可能會忽略環(huán)境中攻擊者的存在。定義的假設(shè)應(yīng)該可以防止我們偏離獵殺的方向,從而幫助獵人在從一條數(shù)據(jù)轉(zhuǎn)向另一條數(shù)據(jù)時保持專注。
●裝備:在這一階段,重點將放在“如何”上。如何收集這些數(shù)據(jù)呢?收集得夠詳盡嗎?要如何做分析呢?如何才能避免分析員偏見呢?在此階段結(jié)束時,威脅獵人應(yīng)該對這些問題都有一個深入的回答。收集管理框架(CMF)可以幫助我們跟蹤正在收集什么數(shù)據(jù)以及這些數(shù)據(jù)來自哪里。[2]
●計劃審查:顧名思義,團(tuán)隊或獵殺的負(fù)責(zé)人將審查到目前為止所做的所有計劃,以確保獵殺與組織的目標(biāo)一致,并且團(tuán)隊擁有成功執(zhí)行獵殺所需的所有資源(人員、數(shù)據(jù)、工具和時間)。
●執(zhí)行:執(zhí)行階段指的是計劃獲得批準(zhǔn)后的獵殺過程。
●反饋:此階段與前面的所有階段相關(guān)聯(lián)。分析結(jié)果將有助于團(tuán)隊以更高的效率執(zhí)行未來的獵殺。反饋階段的目的是改進(jìn)之前的所有階段。它不僅應(yīng)該幫助我們確定目標(biāo)是否已經(jīng)實現(xiàn),還應(yīng)該幫助我們確定團(tuán)隊可能存在的認(rèn)知偏見、可能的需要修正的數(shù)據(jù)可見性和收集的數(shù)據(jù)的差距、資源分配是否正確等。
現(xiàn)在,我們來看數(shù)據(jù)驅(qū)動的方法。

圖2.6 SANS威脅獵殺模型
2.4.3 數(shù)據(jù)驅(qū)動的方法
在上述兩個模型的基礎(chǔ)上,Rodriguez兄弟Roberto(@Cyb3rWard0g)和Jose Luis(@Cyb3r-PandaH)在Insomni'hack 2019大賽(https://www.youtube.com/watch?v=DuUF-zXUzPs)上展示了一種數(shù)據(jù)驅(qū)動的方法。他們設(shè)計的威脅獵殺過程(見圖2.7)也包括六個不同的階段,對威脅獵人社區(qū)來說,幸運(yùn)的是他們還設(shè)計了四個開源項目,你可以使用它們來構(gòu)建和執(zhí)行自己的獵殺行動。

圖2.7 Roberto Rodriguez和Jose Luis Rodriguez的基于數(shù)據(jù)的威脅獵殺方法
Rodriguez兄弟定義的六個階段如下:
●定義研究目標(biāo):為了在執(zhí)行數(shù)據(jù)驅(qū)動的獵殺時定義研究目標(biāo),理解數(shù)據(jù)并將數(shù)據(jù)映射到對手的活動至關(guān)重要。Roberto Rodriguez提出了一系列在確定研究目標(biāo)時需要回答的問題:
■獵殺對象是什么?
■理解自己的數(shù)據(jù)了嗎?有數(shù)據(jù)維基(wiki)嗎?
■是否將數(shù)據(jù)存儲在環(huán)境中的某個位置?
■是否已將日志映射到對手的行動?
■需要做到多具體?
■每個假設(shè)可以涵蓋多少個技術(shù)或子技術(shù)?
■要關(guān)注的是技術(shù)推動者還是主要行為?
●建立數(shù)據(jù)模型:這一階段圍繞著了解數(shù)據(jù)來自哪里、將日志發(fā)送到數(shù)據(jù)湖進(jìn)行查閱以及通過創(chuàng)建數(shù)據(jù)字典來組織數(shù)據(jù)(在數(shù)據(jù)字典中,每個數(shù)據(jù)源“需要映射到一個事件”)開展。如果想真正了解正在收集的數(shù)據(jù),這會很有用。
OSSEM:為了幫助完成創(chuàng)建數(shù)據(jù)字典的繁重工作,Rodriguez兄弟創(chuàng)建了開源安全事件元數(shù)據(jù)(Open Source Security Events Metadata,OSSEM),用于記錄和標(biāo)準(zhǔn)化安全事件日志。該項目是開源的,可以通過項目的GitHub資源庫(https://github.com/hunters-forge/OSSEM)進(jìn)行訪問。
●對手仿真:對手仿真是紅隊成員在其組織環(huán)境中復(fù)制對手行為的一種方式。為了做到這一點,需要映射對手行為,并將它們使用的技術(shù)鏈接在一起,以創(chuàng)建行動計劃。MITRE ATT&CKTM框架提供了一個基于APT3創(chuàng)建仿真計劃的示例(https://attack.mitre.org/resources/adversary-emulation-plans/)。[3]
Mordor:針對這一階段,Rodriguez兄弟創(chuàng)建了Mordor項目(https://github.com/hunters-forge/mordor),該項目以JSON格式提供“由模擬對抗技術(shù)生成的預(yù)先記錄的安全事件”。
●定義檢測模型:在第二階段創(chuàng)建的數(shù)據(jù)模型的基礎(chǔ)上支持獵殺,構(gòu)建要進(jìn)行獵殺的方式。在上一階段定義了檢測方法之后,我們將在實驗室環(huán)境中驗證檢測。如果沒有取得任何成果,應(yīng)該返回并回顧我們在前面幾個階段所做的工作。
●驗證檢測模型:一旦對實驗室環(huán)境中所獲結(jié)果感到滿意,并評估了數(shù)據(jù)質(zhì)量(完整性、一致性和及時性),我們就可以在生產(chǎn)環(huán)境中嘗試定義的檢測模型。可能會出現(xiàn)以下情況:零個結(jié)果,即生產(chǎn)環(huán)境中不存在對手的行為;至少一個結(jié)果,此時我們需要仔細(xì)查看結(jié)果以確認(rèn)入侵;獵殺產(chǎn)生了大量的結(jié)果,這通常意味著我們需要對獵殺過程進(jìn)行進(jìn)一步的調(diào)整。
HELK:這是一個由Roberto Rodriguez設(shè)計,基于Elasticsearch、Logstash和Kibana的獵殺平臺。它通過Jupyter Notebook和Apache Spark提供了高級分析功能,有關(guān)信息詳見GitHub資源庫(https://github.com/Cyb3rWard0g/HELK)。
●記錄和交流研究結(jié)果:如果正確遵循了前面的步驟,你可能已經(jīng)完成了一半的工作。記錄獵殺過程的工作應(yīng)該在執(zhí)行獵殺的同時進(jìn)行。
Threat Hunter Playbook:這個開源項目由Rodriguez兄弟維護(hù),旨在幫助記錄項目,共享威脅獵殺概念,開發(fā)某些技術(shù),并構(gòu)建假設(shè),更多信息詳見項目的GitHub資源庫(https://github.com/hunters-forge/ThreatHunter-Playbook)。
重要提示:
除了開發(fā)并貢獻(xiàn)給社區(qū)的所有工具外,Rodriguez兄弟還發(fā)起了開放式威脅研究社區(qū)(https://twitter.com/OTR_Community),通過自己的Discord頻道(https://bitly.com/OTRDiscord)促進(jìn)共享檢測策略。
Roberto還基于Threat Hunting Playbook借助Jupyter Book項目(https://medium.com/threat-hunters-forge/writing-an-interactive-book-over-the-threat-hunter-playbook-with-the-help-of-the-jupyter-book-3ff37a3123c7)創(chuàng)立了交互式圖書(interactive book)以分享檢測概念。
2.4.4 集成威脅情報的定向獵殺
集成威脅情報的定向獵殺(Targeted Hunting Integrating Threat Intelligence,TaHiTI)方法是幾家荷蘭金融機(jī)構(gòu)共同努力的結(jié)果,旨在幫助建立一個針對威脅獵殺活動的通用方法。
顧名思義,TaHiTI方法與威脅情報密切相關(guān)。這是一種使用威脅情報提供的對手信息作為出發(fā)點進(jìn)行獵殺的方法,利用威脅情報對獵殺中發(fā)現(xiàn)的內(nèi)容進(jìn)行背景分析,甚至找到與對手相關(guān)的已知TTP(支點攻擊[4])并推動新的獵殺。另外,根據(jù)這種模型,獵殺本身可以用來豐富威脅情報,因為利用它可以發(fā)現(xiàn)與對手有關(guān)的先前未知的TTP和IOC。
TaHiTI分為三大階段,共八個步驟[5](見圖2.8)。

圖2.8 TaHiTI的三大階段
此過程可視化視圖如圖2.9所示。

圖2.9 TaHiTI方法概述
階段1:啟動
在此階段,獵殺誘因被轉(zhuǎn)換為調(diào)查的摘要,并存儲在積壓列表中。TaHiTI方法將獵殺誘因分為五種:
●威脅情報。
●其他獵殺調(diào)查。
●安全監(jiān)控。
●安全事件響應(yīng):從歷史事件和紅隊演練中收集的數(shù)據(jù)。
●其他:如找出皇冠寶石[6]是什么以及它們是如何失陷的,研究MITRE ATT&CK框架,或者僅僅是獵人的專業(yè)知識。
調(diào)查摘要是對假設(shè)的粗略描述,該假設(shè)將在接下來的幾個階段中得以完善。建議你給出有關(guān)創(chuàng)建日期、摘要、獵殺誘因和優(yōu)先級的信息。
階段2:獵殺
該方法的第二階段就是實際的獵殺階段,即調(diào)查假設(shè)。在執(zhí)行之前,必須定義和完善假設(shè)。這意味著針對獵殺而創(chuàng)建的初始摘要將被擴(kuò)展,增加更多的細(xì)節(jié),并在以后還要增加調(diào)查期間發(fā)現(xiàn)的新證據(jù)。重要的是要包括數(shù)據(jù)源、選擇的分析方法和確定的范圍。有關(guān)我們掌握的威脅情報、分配的資源和獵殺分類的信息也應(yīng)該包括在內(nèi)。
對正在執(zhí)行的獵殺的分析將被用來驗證最初的假設(shè)。每次獵殺都有三種可能的結(jié)果:
●假設(shè)得到證實,一起安全事件被揭露。
●假設(shè)不成立。這種狀態(tài)很難達(dá)到,因為找不到東西并不一定意味著它不存在。在聲明假設(shè)已經(jīng)被證明是錯誤的之前,獵人必須真正確定他們沒有錯過任何可能的場景。
●不確定的結(jié)果。當(dāng)沒有足夠的信息來證明或反駁假設(shè)時,獵殺就會處于這種狀態(tài)。在這個階段,有必要繼續(xù)完善假設(shè),直到達(dá)到以上兩種狀態(tài)。
階段3:結(jié)束
TaHiTI方法的最后階段是記錄調(diào)查結(jié)果。相應(yīng)的文檔必須包括獵殺的結(jié)果和從中得出的結(jié)論。它可以包含改善組織安全的建議,也可以包含改進(jìn)團(tuán)隊獵殺過程的建議。一旦完成記錄,這些文檔就需要在相關(guān)的各方之間共享。報告可能需要根據(jù)不同的接收人進(jìn)行調(diào)整,有關(guān)這些報告的信息可能需要根據(jù)它們的安全許可進(jìn)行編輯或定密。
TaHiTI根據(jù)威脅獵殺調(diào)查將獵殺過程分為五類:
●安全事件響應(yīng):啟動IR流程。
●安全監(jiān)控:創(chuàng)建或更新用例。
●威脅情報:發(fā)現(xiàn)了新的威脅行為體的TTP。
●漏洞管理:解決已發(fā)現(xiàn)的漏洞。
●對其他團(tuán)隊的建議:向其他團(tuán)隊提出建議,以改善整個組織的安全態(tài)勢。
下一節(jié)將介紹如何構(gòu)建假設(shè)。
[1] 也可從https://www.sans.org/reading-room/whitepapers/threathunting/practical-model-conducting-cyber-threat-hunting-38710獲得?!g者注
[2] 根據(jù) Dan Gunter和 Marc Setiz的論文,裝備階段的重點是確定處理數(shù)據(jù)和證明或反駁已提出假設(shè)所需的分析方法和工具。這種解釋更便于明白裝備的具體含義?!g者注
[3] 更多信息參見https://attackevals.mitre-engenuity.org/using-attack-evaluations.html。———譯者注
[4] 支點攻擊是使用實例—也稱為內(nèi)線或據(jù)點—在網(wǎng)絡(luò)中四處移動的獨(dú)特方法。通常使用目標(biāo)網(wǎng)絡(luò)內(nèi)第一個失陷據(jù)點危害其他原本無法訪問的系統(tǒng)。更多信息參見https://www.offensive-security.com/metasploitunleashed/pivoting/ 或https://www.exploit-db.com/docs/english/43851-metasploit-pivoting.pdf?!g者注
[5] 更多信息參見https://www.betaalvereniging.nl/en/safety/tahiti/。——譯者注
[6] 皇冠寶石分析(Crown Jewels Analysis)是一種識別對完成組織使命最關(guān)鍵的網(wǎng)絡(luò)資產(chǎn)的過程,更多內(nèi)容參見https://www.mitre.org/publications/systems-engineering-guide/enterprise-engineering/systems-engineering-formission-assurance/crown-jewels-analysis?!g者注
- Node Security
- 白話網(wǎng)絡(luò)安全2:網(wǎng)安戰(zhàn)略篇
- 信息安全導(dǎo)論(在線實驗+在線自測)
- 為你護(hù)航:網(wǎng)絡(luò)空間安全科普讀本(第2版)
- 可信計算3.0工程初步
- Preventing Digital Extortion
- 軟件開發(fā)安全之道:概念、設(shè)計與實施
- 黑客攻防與無線安全從新手到高手(超值版)
- CTF競賽權(quán)威指南(Pwn篇)
- Digital Forensics with Kali Linux
- 學(xué)電腦安全與病毒防范
- 從實踐中學(xué)習(xí)密碼安全與防護(hù)
- 白話零信任
- 極限黑客攻防:CTF賽題揭秘
- 一本書講透混合云安全