從事網絡安全的人員都或多或少聽說過ATT&CK框架,該框架最近幾年發展得如火如荼,備受歡迎,其中一個原因在于ATT&CK框架的出現,將高度復雜的網絡攻擊從“玄學”變成了“顯學”。通過多年對ATT&CK的研究探索,青藤積累了大量較為成熟和系統化的研究材料,基于此,青藤CEO張福、COO程度和產品副總裁胡俊聯合編寫了全球首部系統化研究ATT&CK的專著——《ATT&CK框架實踐指南》。本書由鄔賀銓院士作序,并得到10余位權威專家的聯袂推薦,將于2022年1月13日正式發布!(感興趣的讀者可以預約直播,當天限時5折)
鑒于ATT&CK在網絡安全領域的巨大潛力和應用價值,許多企業也想將其應用在安全運營中,但是卻面臨兩個問題:如何利用ATT&CK提高安全運營能力?如何快速實現ATT&CK在安全運營中的價值?本文將圍繞這兩個問題展開,介紹在安全運營中如何有效地應用ATT&CK。
一、利用ATT&CK提高企業安全運營能力
首先,我們將詳細講述企業如何利用 ATT&CK 來提高安全運營能力。概括來說,企業可以通過ATT&CK的應用做到知己知彼,并進行安全運營實踐。
1.知彼:收集網絡威脅情報
ATT&CK 的一個主要目標是實現威脅防御,因此,將威脅情報映射到ATT&CK框架中是企業利用該框架的一項主要工作。
防守方主要有兩種方式利用 ATT&CK 獲取威脅情報:作為數據的消費者和作為數據的生產者。作為數據的消費者(每個企業都應該這樣做),就是利用已經創建的數據來改進防御決策。第二種方式是獲取額外的信息,并以此為基礎提供額外的情報,有能力的團隊也考慮以這種方式利用ATT&CK。
作為數據消費者,利用已創建的數據改進防御決策
作為 ATT&CK 信息的消費者,首先要將威脅范圍縮小到可能對企業數據、資產感興趣的特定潛在威脅組織。為了縮小威脅范圍,可以研究與自己類似的企業和同行曾遭受的攻擊以及原因。確定潛在的威脅組織后,就可以利用ATT&CK框架中“攻擊組織”相關信息來查看這些組織的 TTP。通過研究企業潛在威脅組織中常用的 TTP,企業就可以著手編制安全運營團隊必須具備的檢測和預防功能的優先級列表。這是利用 MITRE 團隊已創建數據的基本方法,無論企業規模大小都可以使用,并體會到它在威脅防御中發揮的巨大價值。
作為數據的生產者,獲取額外信息提供額外情報
推薦的第二種做法是,在獲得潛在威脅組織信息的基礎上,生成自己的威脅情報信息,并添加到ATT&CK數據集中。這種做法需要企業為分析人員提供充足的時間和培訓,讓他們對現有的事件報告(包括內外部的閉源代碼和開源代碼)進行分析,并提取分析數據將其映射到 ATT&CK 框架中。分析人員在實際操作中要逐字逐句地研究現有報告;標注出工具、技術、戰術和威脅組織名稱等信息;將這些信息提供給團隊人員,讓他們掌握相關攻擊組織的所有信息。有了更多的額外信息,安全防御決策就會得到進一步改進。
2.知己:分析現有數據源缺口
使用 ATT&CK 框架映射網絡威脅情報,是企業在研究外部威脅環境,但ATT&CK 框架另一個常見用途是深度挖掘企業自身的情況。由于ATT&CK中每種技術都列出了安全運營團隊該如何識別、檢測和緩解該技術的信息,因此,獲取這些信息對于安全運營團隊了解和改善自身防御能力很有幫助。
確定重要的缺失數據
要確定安全團隊缺失哪些重要數據源,首先需要使用 MITRE 提供的 API 或 GitHub 上的其他開源工具,提取有用的技術或整個框架的數據源信息。在此基礎上,再去了解安全團隊有權訪問的數據源,以及有權訪問這些數據源的用戶組和系統,這樣可以發現對于關鍵攻擊技術在數據收集和數據可見性方面存在的差距。例如,收集的威脅情報表明,計劃任務技術是攻擊組織使用的主要技術,想要知道安全團隊是否可以檢測到它,在ATT&CK框架中列出的該技術的數據源——文件監控、進程監控、進程命令行參數和 Windows 事件日志可以提供答案,如下圖展示了計劃任務技術的數據源。如果安全團隊沒有這些數據源,或者只有環境中的部分系統有這些數據源,那么安全團隊需要優先考慮改善這個重要數據源缺失的問題。
找到合適的安全分析工具
收集所需的數據源非常重要,但這僅僅是第一步。在獲取數據并將其發送到收集系統(例如 SIEM)后,下一步是找到一個合適的分析工具來分析攻擊者何時會使用某項技術。MITRE預先編寫的網絡分析存儲庫(CAR)簡化了許多技術的分析步驟,甚至提供了開源分析方案,例如 BZAR 項目,其中包含一組用于檢測某些 ATT&CK 技術的 Zeek/Bro 腳本。雖然并非所有技術都有 CAR,但當安全運營團隊開始實施新的檢測功能時,它是一個尋找指導的好地方,因為存在的許多實例都有用偽代碼,以及特定于 EQL、Sysmon、Splunk 和其他產品語言編寫的分析邏輯。下面這段代碼展示了用于捕獲未從 explorer.exe 交互式啟動PowerShell 進程的偽代碼示例。
process = search Process : Create
powershell = filter process where
(exe == "powershell.exe"AND parent_exe != "explorer.exe" )
output powershell
當然,這些分析也可以內置到安全廠商的工具中。如果安全廠商提供的解決方案中有預先創建的分析方案,可以保證在使用過程中標示出攻擊技術(前提是要有正確的數據),那么采購這樣的解決方案也是快速進入分析流程的簡單方法。
3.實踐:分析測試
在完成外部威脅環境的分析,并對內部的數據收集能力和ATT&CK 技術的覆蓋范圍評估后,就該開始進行測試了。安全運營團隊應該按照不同的抽象層次進行多次測試。對于企業來說,需要清楚地知道自身不能進行某項分析或者當前缺失某項關鍵分析,這一點很重要。因為攻擊者可能將企業漏掉的項目串聯在一起進行漏洞利用,這可能會使攻擊者入侵成功。因此,企業可以根據存儲在 ATT&CK 知識庫中的情報,進行紅隊和藍隊演習,并使用 ATT&CK 作為指導進行攻擊模擬,在更高的抽象層次上進行測試。
原子測試
安全運營團隊可能有自以為可行的分析,但它實際上卻不能正常發揮作用。警報測試的第一步也是關鍵的一步,是對分析進行原子測試。大多數安全運營中心的分析人員都知道,操作環境中不斷變化的狀態,再加上為減少誤報而進行的一致調整,意味著多年運行的分析規則可能會突然失效,而原子測試是解決這個問題的有效方法。
原子測試通常采用運行單個命令行的命令或單個動作的形式,這些命令或動作可以在 SIEM、IDS 或 EDR 中觸發警報,商業和開源工具都有助于這些測試。無論以何種方式實現測試,最重要的是對武器庫中與特定技術或子技術相對應的分析進行持續、可靠的測試,以確保其仍正常發揮作用。在一個理想的系統中,每當發生可能影響分析功能的變更時,就要啟動一個原子測試,驗證分析功能沒有受影響。
紅隊評估、紫隊評估與攻擊模擬
在原子測試的基礎上,聯合使用多種測試方法,會讓測試更加接近真實攻擊。現在介紹幾種最常用的模擬攻擊測試方法。
大多數安全團隊采用的初始測試方法是紫隊評估,它通常以合作、交互和迭代的方式進行。紫隊評估通常使用與原子測試不同的方法,逐步檢查武器庫中的每種攻擊技術。其目標是評估安全分析是否可以通過多種不同的方法觸發,例如發送帶有10種不同類型惡意附件的釣魚郵件。通過紫隊評估讓滲透測試人員在分析中使用最新、最隱蔽的方法,可能會發現未知的漏洞,并確保分析如預期的那樣可靠。
結合 ATT&CK 框架中每個戰術的原子測試設計紫隊活動,紫隊評估可以發現攻擊技術鏈,當這些攻擊技術一起使用時,可能導致入侵成功。這些評估基于網絡和主機的數據源,可以說明攻擊者是如何成功地完成最初的載荷投遞和漏洞利用,以及漏洞利用后如何指揮控制和使用滲透技術。針對 SOC 預期進行的分析,以及其他不可檢測的技術進行紫隊測試,以便發現存在哪些重大安全缺口。通過紫隊測試保證安全運營團隊的分析對真實攻擊有效。如果安全運營團隊在紫隊評估中表現很好,就該轉向第二種類型的測試了——紅隊測試。
紅隊測試是以攻擊者戰術和技術的威脅模型驅動的評估,其目標是驗證攻擊者是否可能在不被發現的情況下,訪問環境中最重要的數據或資產。要測試藍隊的 ATT&CK 覆蓋和檢測能力,紅隊應該選擇以前用原子或紫隊形式測試過,并且 SOC 有信心在真實場景中可以有效抵擋攻擊的項目,這是從紅隊評估中獲得價值的關鍵點。紅隊測試通常是一種突襲攻擊,所以它相比原子和紫隊測試更接近真實攻擊。而且紅隊測試不僅測試藍隊的分析情況,還測試他們評估和及時響應真實警報的能力。
最接近真實攻擊情況的是攻擊模擬測試,它旨在盡可能真實地模擬威脅組織的攻擊。同時,在規劃攻擊模擬測試的方法時,也可以按照ATT&CK的規則來維護威脅情報。紅隊可以參考這些威脅情報信息來調整他們的攻擊,讓自己看起來更像真實的攻擊組織。
在許多方面,這些類型的測試,例如滲透測試或紅隊測試,它們只限于最高威脅攻擊者所使用的攻擊技術。作為藍隊,最好的表現就是能夠快速、準確地響應攻擊模擬測試,這表明安全團隊已經優化了檢測方法,并制定了必要的響應流程,以應對來自最高威脅攻擊組織的潛在入侵。如下圖基于 ATT&CK 的測試類型圖譜,圖中總結了各種測試類型的關鍵內容。
在安排這些類型的測試頻次時,我們建議每季度或每六個月安排一次評估,這具體取決于安全團隊的規模和團隊職責。對于原子測試而言,威脅環境、技術、工具或數據源的任何變化都會給攻擊方創造隱藏的機會。因此,應該頻繁進行復雜測試,以確保安全團隊的能力。在這方面,若有任何工具可以縮短計劃和執行這些測試所需的時間,都值得采購,因為工具的采購成本是可以輕松收回的。對于原子測試和更接近真實攻擊的測試來說,將潛在破壞性事件的發現與重新測試特定分析的觸發因素聯系起來,讓安全運營團隊的能力始終領先于攻擊者。通過頻繁、持續開展各種測試,打造一支能力可靠的藍隊來檢測和應對攻擊者的攻擊。
二、將ATT&CK應用于安全運營中的方法
首次將ATT&CK框架用于安全運營時,可以通過下面介紹的三種方式盡快實現ATT&CK的價值。
1.利用現有安全工具
在日常的安全運營中,許多安全團隊使用安全廠商提供的安全工具和設備,可以通過這些系統的內置功能將 ATT&CK 模型集成到自身環境中。安全廠商的產品(例如 EDR、IDS、SIEM等)都帶有簽名集,并根據 ATT&CK 相應的技戰術進行分類,標記不同警報。這樣就可以輕松地創建指標,并根據 ATT&CK 技術標記提醒 SOC 需要警惕的活動。
與 ATT&CK 相關的安全警報從企業各種安全設備中隨其他警報同時發送,如果在一定周期內這個警報仍然存在,企業可以輪詢所有已解決事件的信息,并查看攻擊者針對其環境所采用的ATT&CK技術。這是威脅情報的最佳形式——信息來源于組織內已經發生的實際攻擊。此時通過安全廠商的工具創建這些情報,讓安全團隊能夠快速果斷地采取行動。安全團隊可以根據已解決的事件,制作攻擊者對其最常用攻擊技術的可視化地圖。這些信息可以反饋給威脅情報部門,用于更進一步確認攻擊者的具體信息。
2.利用多維度數據源
ATT&CK 框架中列出了大量數據源,這些數據主要基于網絡數據和主機數據。
從分路器或分光鏡端口拉取的網絡數據源的優點是,能夠真實地反映網絡上發生的情況。但由于加密技術的普及,網絡數據越來越難以使用。雖然一些協議可以被即時解密并以明文形式記錄,但許多企業不使用這些功能,選擇忽略網絡上正在發生的事情。
基于可信的主機數據源(如進程創建日志、防病毒、EDR工具信息和主機入侵防御產品)可以了解每個主機上發生情況的詳細信息。主機上承載著企業的核心資產,也是攻擊者的攻擊目標和最終的活動場所,因此,主機防護非常關鍵。青藤獵鷹基于ATT&CK框架,幫助用戶解決安全數據匯集、數據挖掘、事件回溯、安全能力整合等各類問題;提供了上百類ATT&CK攻擊場景,用戶可直接對數據進行深度挖掘,及時發現潛在威脅。
基于主機和網絡的數據是互補的,它們從兩種不同的視角關注攻擊者活動。安全團隊可以同時使用這兩種類型的數據來實現最全面的技術可見性。此外,也有更好的辦法,例如制定開源的 Community ID 標準(已經得到許多安全工具的支持),這有助于防守方在多個數據源查看同一事務的不同視圖,并將使兩種類型數據的利用更加方便。還有一點需要注意的是,有些策略在主機上更容易被發現,如持久化、權限提升和執行。如果企業發現自身的弱點是ATT&CK框架中的某項戰術,則可關注與該戰術下的技術最匹配的(網絡或主機)數據類型,從而更有效地提升針對相應戰術中所有技術的響應能力。
3.進行歷史衡量和能力趨勢分析
應用 ATT&CK最后一個關鍵點在于,跟蹤安全運營團隊在一段時間內的進步。雖然SOC在人力和技術層面都很貴,但它能提供額外的保護,防止業務中斷,因而物有所值。然而實現這種價值并不容易。幸運的是,進行基于 MITRE ATT&CK 的測評不僅提供了一種客觀衡量安全團隊能力的方法,而且還可以展示某一階段安全能力提升的效果。以下是一些提高安全防御能力的具體方法:
增加原子和自動分析測試可以檢測的技術數量。
提高可以檢測到的已知攻擊技術的百分比。
根據紫隊測試的結果發現問題——有多少技術被遺漏、被檢測到和被攔截?
根據紅隊測試和攻擊模擬測試的結果發現問題——攻擊者被抓住了嗎?用了多久?SOC 的響應速度有多快?
藍隊如果能夠證明這些指標隨著時間的推移有所改善,就可以證明將ATT&CK應用于安全運營給企業帶來的價值。這種價值本質上會形成一個良性循環,讓安全團隊成員、管理層和企業都從中受益。
三、寫在最后
近年來,有很多企業利用ATT&CK提升了威脅防御能力。但是我們也要明白ATT&CK 并不是解決所有企業安全問題的靈丹妙藥。只有不斷深入地了解它,理解它的價值所在,并清楚地知道想要通過它解決什么問題,ATT&CK才能成為企業改善防御能力的有效方法。而且,企業利用ATT&CK提高安全運營能力只是第一步,更深入的應用是在了解ATT&CK框架的基礎上,建立企業自己的ATT&CK,從而在安全運營中更好地發揮它的價值。
為進一步幫助網絡安全從業人員更好地了解、認識和使用ATT&CK,學習先進的理論體系,提升防守方的技術水平,青藤云安全將于2022年1月13日舉辦“ATT&CK應用發展論壇”,同時發布《ATT&CK框架實踐指南》。觀看直播活動,享限時5折購書優惠!