威脅建模基礎

hu1ge(micr067)發表於2020-08-30

前期需要明白的幾個基本概念:**

· 風險是基於對組織機構構成的威脅。

· 威脅關注的是有價值的資源。

1. 什麼是威脅建模

威脅建模是一種結構化方法,用來識別量化應對威脅。威脅建模允許系統安全人員傳達安全漏洞的破壞力,並按輕重緩急實施補救措施。

1.1 威脅建模主要包括三大主要元素:

  1. 資產:應保護哪些有價值的資料和裝置

  2. 威脅:攻擊者可能對系統實施的行為

  3. 漏洞:有哪些漏洞讓攻擊者對系統構成威脅

組織機構內部,不同層次組織結構和環境要應對的威脅大不相同。

1.2 威脅目標的三個主要層次:

  1. 網路:此威脅包括假冒、惡意的資料包等

  2. 主機:此威脅包括緩衝區溢位、惡意檔案和程式碼等

  3. 應用程式:此威脅包括SQL隱碼攻擊、XSS、輸入篡改等

理想情況下,在系統設計過程中(部署之前)建立威脅模型。在實踐中,通常是為現有系統建立威脅模型,使其成為維護的一部分。

2. 為什麼要做威脅建模

  • 在早期發現 Bug

  • 理解安全需求

  • 建造和交付更好的產品

  • 標記其他技術不能發現的問題

  • 實驗出物理實體是否能否承受住攻擊等

1.1 威脅建模步驟

  1. 識別資產

  2. 描述架構

  3. 分解應用程式

  4. 識別威脅

  5. 歸檔並分類威脅

  6. 評價威脅

  1. 識別資產:識別對組織機構具有價值的潛在資產:
  • 入口和出口點
  • 系統資產和資源
  • 信任級別(訪問類別)
  1. 描述架構:在這個過程中,描述處理價值資產的架構,可能包括軟體架構、版本和其它架構詳情。
  2. 分解應用程式:分解與過程有關的應用程式,所有執行應用程式的子過程。
  3. 識別威脅:以描述的方式羅列威脅,以便稽核,作進一步處理。
  4. 將威脅分類
    按照預定義分類對威脅進行分類,預定義分類如下:
分類
假冒身份
篡改資料
否認
資訊洩露
拒絕服務
特權提升
  1. 評價威脅
    這裡介紹Microsoft的DREAD模型對威脅的嚴重性進行評價:
  • 破壞潛力:如果漏洞被利用,損失有多大?
  • 再現性: 重複被利用的難度有多大?
  • 可利用性:漏洞被利用的難度有多大?
  • 受影響的使用者:多少使用者可能受到影響?
  • 可發現性:漏洞容易被發現嗎?

3. ATT&CK

ATT&CK全稱是Adversarial Tactics, Techniques, and Common Knowledges,即對抗戰術、技術和常識。從這個組合名稱就可以看出,ATT&CK不是單單某一項技術,而是很多戰術、技術、知識的彙總或者集合,可以看作是一個更加底層的“知識庫”。“戰術”指的是ATT&CK的技術原因,是攻擊者執行行動的戰術目標,涵蓋了攻擊者在操作期間所做事情的標準和更高階別的表示。而“技術”指的是攻擊者通過執行動作實現戰術目標的方式,或者執行動作而獲得的內容。在ATT&CK矩陣中可以到看到戰術和技術的關係,可能有很多種方法或技術可以實現戰術目標,因此每種戰術類別有很多種技術。

ATT&CK的關鍵價值在於其提供了一個通用的分類、可以根據需求對特定技術進行實現和覆蓋,不需要實現模型所列舉的整個技術矩陣,優先關注實際的預防、檢測和響應。

MITRE ATT&CK對這些技術進行列舉和分類之後,能夠用於後續對攻擊者行為的“理解”,比如對攻擊者所關注的關鍵資產進行標識,對攻擊者會使用的技術進行追蹤和利用威脅情報對攻擊者進行持續觀察。MITRE ATT&CK也對APT組織進行了整理,對他們使用的TTP(技術、戰術和過程)進行描述。

通過不斷地攻擊演練測試,就能提升分析程式的檢測能力,不斷擴大技術覆蓋範圍,不斷縮小與攻擊者的差距。

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

4. 威脅建模和知識庫

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

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還能夠串聯起威脅情報和事件檢測資料,打通對威脅事件的理解鏈路

5. 其他資料:

相關文章