以ATT&CK為例構建網路安全知識圖

綠盟科技發表於2019-12-24

隨著攻擊工具、方法的逐漸升級和複雜化,安全資料的大規模融合,攻防對抗愈加激烈。安全團隊如何在浩瀚資料中有效發現高階威脅的蛛絲馬跡,如何把網路安全專家的經驗、知識有效轉化為可複製可擴充套件的資料分析能力,如何將對抗高階威脅的“鍊金術”逐步升級為科學淘金指南,如何將安全從業者從繁重的體力勞動中解放出來,愈發成為安全能力亟需突破的難點和重點,也是我們正在探索的方向。

正如醫療行業中治療疑難雜症依賴醫療專家,網路空間高階威脅的防護和處置也依賴安全專家的經驗與知識。不過,即使是最頂尖的外科醫生,也離不開高度自動化、精準化的醫療裝置輔助其完成複雜高難度的醫療任務,網路空間亦需要自動化平臺與工具輔助從業者進行持續的攻防對抗。

“針對網路空間智慧威脅分析技術的研究,目的不是設計一個如何炫目的概念,也難以實現一個放之四海皆可用的AI安全模型。迴歸到攻防的戰場上,我們希望也能夠得到的,是一個能吞吐海量異構多源資料,快速檢測、推理、響應、追蹤威脅事件的高度自動化的統一平臺及工具集,輔助人進行安全的運營、研究和對抗。”在《智慧威脅分析之圖資料構建[lw1] 》文中,基於對網路安全資料分析中常用資料來源的重新審視,提出了構建智慧安全平臺的圖模型所需的環境、行為、情報、知識四張關鍵資料圖,以支撐“智慧化”安全研究工作的進一步開展。構建自動化的威脅分析能力,需要對網路安全大規模、多源、多維資料進行系統的梳理和組織,以實現基於各型別資料的關聯挖掘能力。圖的組織形式能夠充分發揮網路資料的圖屬性,從儲存、分析、視覺化等多個環節提升安全資料分析的效率。

在環境、行為、情報、知識四張圖中,知識圖具有可歸納、可推理、可建模的屬性,透過知識圖內部的關聯和與其他型別的圖間關聯,能夠有效擴充威脅事件分析的上下文,支援威脅的檢測、響應、溯源等複雜任務。ATT&CK(Adversarial Tactics, Techniques, and Common Knowledge )是一個攻擊行為知識庫和模型,主要應用於評估攻防能力覆蓋、APT情報分析、威脅狩獵及攻擊模擬等領域。本文簡單介紹ATT&CK相關的背景概念,並探討透過ATT&CK構建知識圖的思考。

一、ATT&CK相關背景

經過數年的知識積累,ATT&CK已經從針對企業內網的、Windows平臺的、終端側的、post-compromise行為分析模型,擴充為多場景(企業內網、移動環境等)、多平臺(Windows、Linux、macOS等)、針對多源資料(終端、網路、檔案等)、攻擊鏈全生命週期的行為分析模型。兼具豐富的實戰效用和可擴充的頂層模型設計,ATT&CK越發得到安全業界的重點關注。關於ATT&CK的介紹已有很多,在此,我們從多個關鍵詞的角度來分析簡單分析其特性。

1.     MITRE

MITRE是美國的一家非盈利組織,在美國國防部、國土安全部等政府組織的支援下,運營了多個技術研究中心,涉及網路安全等多方面國防高科技領域。MITRE發起或者運營了多個網路安全領域的標準如STIX/TAXII 1.0(STIX/TAXII 2.0目前已由OASIS運營),知識庫如CAPEC,MAEC,CWE,CVE,ATT&CK等,針對網路安全領域的威脅建模、攻擊分類、威脅情報等多方面研究構建了一個較為完整的安全生態。

2.     APT

APT(Advanced Persistent Threat,高階持續性威脅)逐漸成為安全行業談論的熱門話題,而ATT&CK正誕生於對已知APT組織的分析過程中:ATT&CK發起自MITRE的FMX(Fort Meade eXperiment)實驗環境,旨在透過攻防對抗資料的採集和分析,提升對APT檢測能力。ATT&CK歸類的攻擊技術大部分源於公開的APT組織活動,其主要的資訊來源包括:

l  威脅情報報告

l  會議報告、研討會、社交媒體、部落格、開原始碼庫、惡意軟體樣本等

可以說,ATT&CK知識庫的資料基礎決定了其具有更貼近真實攻擊者行為的實戰效果,同時對APT攻擊組織的分析和相關威脅情報的關聯有得天獨厚的優勢。MITRE目前已發起的兩輪基於ATT&CK的廠商能力評估中,也是以已知APT(APT3和APT29)作為攻擊模擬的範本。

3.     威脅建模和知識庫

威脅建模是網路安全威脅分析的一個重要環節,ATT&CK的概念抽象層次,是其區分與其他威脅模型、威脅知識庫的關鍵。MITRE公司對威脅模型和威脅知識庫的概念抽象層次進行了粗粒度的劃分,如下所示。劃分到不同層次的模型、概念沒有優劣之分。區別在於不同的抽象層次決定了模型的表達能力和能夠覆蓋的概念的粒度。較高層抽象可謂高屋建瓴,從宏觀的角度給威脅事件定性、給風險評級。較底層的概念更貼近細節,能夠給威脅威脅事件更確切實際的解釋、指導和評估。

以ATT&CK為例構建網路安全知識圖

圖1 知識模型抽象分層[3]

ATT&CK被劃分為中層次模型,相對的,Cyber Kill Chain和STRIDE威脅模型可以劃分為高層次模型,可以用來表達和理解高層次的攻擊者目標和防護系統風險。這些高層模型抽象層次高,自然難以表達具體的攻擊行為和攻擊行為關聯的具體的資料、防護措施、配置資源等。例如,我們可將某一IOC或攻擊行為對應到攻擊鏈的“C&C”階段,這提醒防禦方需要採取必要的措施了,但採取怎樣的措施,攻擊鏈模型是難以表達的。而在ATT&CK中,該IOC可能對應到戰術 “Command and Control”,同時採用的是“Multi-hop Proxy”的技術手段以達成戰術目標,至此,我們可以進一步獲取針對該技術手段的一些通用的防護措施。當然,中層次的ATT&CK所描述的仍然是TTP的抽象,具體到例項化的行為描述,仍然需要細粒度的劃分。

漏洞庫及漏洞利用模型劃分為低層次概念。我們可以認為CAPEC、CWE屬於這個抽象層次。CAPEC(Common Attack Pattern Enumeration and Classification)關注的是攻擊者對網路空間脆弱性的利用,其核心概念是攻擊模式Attack Pattern。從攻擊機制的角度,CAPEC透過多個抽象層次對攻擊進行分類和列舉。其目標是全面的歸類針對已知的應用程式脆弱性的攻擊行為。相對而言,ATT&CK的目標不是對不同攻擊戰術目標下技術的窮盡列舉,而是透過APT等攻擊組織的可觀測資料提取共性的戰術意圖和技術模式。戰術意圖是CAPEC列舉庫難以表達的。從攻擊檢測的角度來看,只有明確攻擊技術的戰術意圖,才能進一步推測攻擊的關聯上下文資訊,以支援攻擊威脅的評估和響應。此外,透過提供攻擊組織(group)和軟體(software)資訊,ATT&CK還能夠串聯起威脅情報和事件檢測資料,打通對威脅事件的理解鏈路。

4.     STIX 2.0

Structured Threat Information Expression (STIX)是MITRE發起的威脅情報交換語言和標準。Trusted Automated Exchange of Intelligence Information (TAXII) 則是用於威脅情報安全傳輸的應用層協議。STIX 2.0目前已轉交OASIS的網路威脅情報技術委員會(CTI TC)維護。為了促進威脅情報的共享,STIX 2.0設計了12種域物件(SDOs,STIX Domain Objects)和兩類關係物件(SROs,STIX Relationship Objects)。12種SDO如下所示。

以ATT&CK為例構建網路安全知識圖

圖2 STIX 2.0物件[5]

為什麼說STIX 2.0是ATT&CK的一個關鍵詞呢?首先,ATT&CK本身就是建立在威脅情報的驗證與抽象之上,在威脅檢測應用中,能夠自然打通外部威脅情報與內部的行為分析與檢測結果,實現檢測告警的上下文擴充。其次,將ATT&CK作為知識庫構建知識圖,需要透過本體庫(實體種類、實體關係、實體屬性、關係屬性等)的設計,實現相容性和擴充性。例如,與CAPEC、CWE、CVE等分類模型和列舉庫的相容。STIX 2.0提供了描述網路空間威脅情報的物件構成方案,也同樣對安全知識庫的本體設計有參考價值。當然,STIX 2.0的物件構成可能難以適應不同的應用場景中實體的描述粒度,不過以其當前的使用範圍和接納程度來看,定製化的知識圖架構也最好能夠相容該方案。

以ATT&CK為例構建網路安全知識圖

圖3 ATT&CK與STIX 2.0對映

上圖展示了ATT&CK Tactic(戰術)、Technique(技術)、Group(組織)及Software(軟體)所覆蓋的STIX 2.0物件。與STIX 2.0的對應能幫助我們更好的理解ATT&CK物件的內涵,例如Group對應的是Intrusion Set這個物件。

l   ATT&CK Technique -> STIX Attack-Pattern

l   ATT&CK Tactic -> STIX Attack-Pattern.Kill-Chain-Phase, STIX Tool.Kill-Chain-Phase, STIX Malware.Kill-Chain-Phase

l   ATT&CK Group -> STIX Intrusion-Set

l   ATT&CK Software -> STIX Malware (OR) STIX Tool

l   ATT&CK Mitigation -> STIX Course-of-Action

目前ATT&CK知識庫已可以透過STIX 2.0進行完整的表達。具體的內容可以查閱MITRE官方Github的cti專案[6]。

二、安全知識圖構建思考

透過圖模型組織安全大資料,能夠充分發揮網路資料的“圖基因”,提升多源、異構安全資料分析的效率,例如能夠大幅縮短多跳關聯資料檢索的時間,能夠根據新的關鍵“連結”構建新的知識鏈條等等。透過威脅模型和安全知識庫,構建網路安全知識圖,能夠在網路環境圖、行為圖、情報圖之外,提供可推理、可擴充、可關聯的威脅上下文,促進資料細節的多跳關聯,支援威脅事件的檢測、響應、溯源等任務。

以ATT&CK為例構建網路安全知識圖

圖4 行為圖與ATT&CK知識圖的關聯

上圖是一個圖資料構建例項化的簡單示例。ATT&CK作為知識庫內容以及威脅建模的框架,能夠在一些核心節點上,將告警資料、漏洞掃描資料及威脅情報資料進行碰撞融合。大規模的資料所能夠組成的資料將是一個複雜的網路結構,能夠提供資料的多跳檢索分析的資料基礎,能夠透過圖演算法模型進行綜合的評估。

當然,實際環境下所構建的資料結構及關聯遠比上圖複雜。環境、行為、情報、知識圖的關聯需要對各個圖結構進行系統性的設計。以下討論基於ATT&CK的內容構建知識圖的幾個關鍵問題思考。

1.     本體庫設計

圖結構設計的一個關鍵任務,就是設計合理的本體庫。本體包括了圖中實體(節點)型別、實體的屬性型別以及實體間的關係型別,即表示圖結構的抽象概念結構“類”。本體庫的構建既要講科學也要講藝術。講科學是指需要遵循一定的規範標準,同時契合適當的威脅模型和描述模型;講藝術則指的是概念的抽取很多時候是一個仁者見仁,智者見智的過程,並且要符合特定應用場景下的指定需求。

ATT&CK知識庫提供了四個核心的實體(戰術, 技術, 軟體, 組織)及其之間的關係;CAPEC[lw2] 則主要覆蓋TTP、防護手段、脆弱性等概念;如果直接參照STIX 2.0,則需要覆蓋十餘種物件。攻防模擬、威脅狩獵、合規檢查、風險評估、檢測響應、APT演練分析等等不同的業務場景,ATT&CK本身所提供的概念型別是不可能完全覆蓋的。因此,ATT&CK在知識圖構建中可作為威脅檢測行為模型的知識源和建模方法,而不是一個完備的網路安全知識圖。構建可用、可擴充的知識圖,在頂層本體結構系統設計的基礎上,一方面需要整合吸收所需的公開知識庫,另一方面,需要透過知識圖譜的手段主動進行知識擴充和延伸。

2.     知識庫的關聯

以MITRE生態下多個知識庫為例,包括CAPEC、CWE、ATT&CK等,有密切的聯絡,同時有不同的應用場景。CAPEC針對基於應用脆弱性的攻擊,透過攻擊模式的抽象和分類,構造了攻擊行為的可查詢詞典[7]。CAPEC和ATT&CK是兩種不同的攻擊建模方式, ATT&CK更貼近威脅檢測的實戰。在下圖中,我們透過STIX 2.0架構對比一下兩者所處的位置。可以看出兩大知識庫在概念的表達上有交叉,又各具特點。

以ATT&CK為例構建網路安全知識圖

圖5 ATT&CK、CAPEC、CWE與STIX 2.0對映對比

下圖展示了ATT&CK與CAPEC攻擊模式分類的關聯關係。其中ATT&CK以戰術目標為列組織成矩陣結構,CAPEC透過攻擊模式的抽象組織成樹形結構。以Discovery戰術下的System Owner/User Discovery技術為例,與該技術關聯的CAPEC攻擊模式為Owner Footprinting,同時該攻擊模式關聯的CWE為Information Exposure。

以ATT&CK為例構建網路安全知識圖

圖6 ATT&CK與CAPEC的對映關係例子

威脅檢測的實踐不斷證明基於行為的檢測更能夠適應動態環境下的高階威脅分析,不過,特徵+行為的組合檢測能力,是當前威脅檢測效率提升的關鍵。從知識庫構建的角度講,CAPEC+CWE和ATT&CK都是不可或缺的。MITRE生態的持續完善能夠充分降低各個知識庫之間建立關聯的難度,例如,CAPEC和ATT&CK目前都能夠納入STIX 2.0的表達體系;同時,兩大知識庫之間也已建立了知識的關聯引用,當前ATT&CK Enterprise對應的244個Attack Pattern中與CAPEC關聯的有44個。

以ATT&CK為例構建網路安全知識圖

圖7 MITRE針對金融服務機構的威脅事件模型[9]

在威脅建模和知識庫積累方面,無論是基於已有的知識庫還是透過知識圖譜演算法抽取知識,構建知識圖,一方面需要相容已有的標準和架構,另一方面,也需要根據實際的應用場景選定合適的知識範圍。MITRE於2018年提出過一個針對金融服務機構的增強威脅模型[9]。該模型雖然採用了較老版本的ATT&CK和CAPEC知識庫,但也為我們展示了兩個模型知識庫聯合使用列舉攻擊能力的案例。在這裡我們簡單看一下該擴充模型的事件歸類方式。從上述表格的最後一列可以看到,該模型以CAL (Cyber Attack Lifecycle) 模型(與Kill Chain模型一致)為基礎,把ATT&CK和CAPEC統一納入到事件模型中,將Exploit階段及其前後階段進行了細粒度的擴充。具體設計細節可以參考相關文章。

3.     威脅模型升級

不同威脅檢測方案、裝置提供商對威脅事件的理解層次和粒度不一樣,輸出的事件日誌也難以打通。ATT&CK的出現,為促進統一的知識抽象帶來曙光,為提供商自身能力的驗證、不同提供商之間檢測能力的橫向對比、技術能力的共享提供了全新的視角。在此,我們重點關注的是使用ATT&CK作為知識圖,增強資料關聯、提升威脅行為檢測能力的應用場景。

無論是基於靜態特徵特徵還是基於機器學習的異常行為檢測,各個威脅檢測能力提供商往往有自成體系的威脅分析模型和事件命名體系。除非企業方案設計之初即採用了最新的威脅模型,本地化的檢測能力要想和ATT&CK等知識庫進行關聯,需要合理的對映機制。很多企業已將Kill Chain攻擊鏈模型作為威脅建模的基礎,因此轉向全新威脅模型體系的過程必然會給整個企業的威脅檢測架構帶來一定的衝擊。威脅模型的升級對相對成熟的安全能力提供商更不友好,因為這些企業往往已具備大規模的IOC庫、異常行為庫,並且對應著各種自定義的命名規範。專家校驗和歸類自然是必不可少的過程,同時也需要自動化的關聯和歸類手段。在統一的威脅模型和命名體系下,多源行為圖、環境圖、情報圖才能夠有效關聯威脅知識圖,獲取理解行為模式、分析推理的基礎知識,打通各類資料間的檢索壁壘。

4.     攻擊模擬與知識擴充

ATT&CK矩陣的構建,不是簡單的抽取APT情報和相關報告。各種行為的提取依賴的是在特定的場景下複雜、真實網路環境下的攻擊模擬與對抗的不斷驗證、補充、完善。此外,ATT&CK知識庫也遠未成熟,針對不同場景、不同領域的威脅行為的知識需要整個社群不斷的積累和貢獻。因此,將ATT&CK知識庫轉化成企業自身的知識圖並用於威脅分析,能夠提升企業自身的檢測能力,但更重要的是需要企業建立自己的攻擊模擬環境,驗證、精煉、修正知識結構,發現新的知識關聯,以適應指定場景下的威脅分析任務。目前,支援ATT&CK的攻擊模擬或滲透工具已有不少,如MITRE Caldera[10],Endgame RTA[11]等開源專案。

搭建攻擊模擬環境的要點,基於ATT&CK驗證流程、設計分析演算法以及建立新的ATT&CK知識概念,相關經驗和手段我們可以透過官方文件深入研究。

三、總結

網路安全大資料的分析給威脅的檢測與響應帶來機遇,也同樣帶來挑戰。我們需要更加有效的資料收集,合理的資料組織,準確的資料分析以及豐富的視覺化能力,支撐分析任務中的模擬、關聯、知識沉澱等過程,進而逐步自動化安全防禦能力。隨著ATT&CK行為知識的積累和相關技術的日益完善,不止在攻擊模擬、紅藍對抗領域,更多的檢測響應、使用者實體行為分析、威脅狩獵、防病毒等威脅分析產品和方案逐漸向戰術-技術矩陣靠攏、對齊。以ATT&CK進行威脅建模並建立行為分析的知識庫,並以圖資料形式組織,能夠打通資料間壁壘,加速威脅情報、原始日誌、檢測資料、掃描資料、威脅知識庫等多源資料的融合分析。ATT&CK不僅僅是一個模型,一個字典矩陣,一個標尺,ATT&CK所促成的生態,將促進生態下組織內外部的資料互動和共享。本文從ATT&CK的相關概念出發,介紹了基於ATT&CK構建安全知識圖的思考,不成熟之處,煩請專家指正。

 [lw1]連結

 [lw2]CAPEC?

相關文章