自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

威脅建模的主流框架、工具與優(yōu)秀實踐

安全 應(yīng)用安全 數(shù)據(jù)安全
如今我們已經(jīng)擁有各種各樣的威脅建??蚣芎头椒?,這些模型側(cè)重點不同,其中一些模型針對特定安全技術(shù)領(lǐng)域,例如,應(yīng)用程序安全。在本文中,我們將幫助您了解所有這些方法的共同點,以及哪種特定的技術(shù)可能適合您。

了解威脅建模框架、方法和工具可以幫你更好地識別、量化和排序面臨的威脅。

威脅建模是一個結(jié)構(gòu)化的過程,IT專業(yè)人員可以通過該過程識別潛在的安全威脅和漏洞,量化每個威脅的嚴(yán)重性,并確定技術(shù)的優(yōu)先級以緩解攻擊并保護IT資產(chǎn)。

這個寬泛的定義聽起來可能像是網(wǎng)絡(luò)安全專業(yè)人員的職位描述,但是威脅模型的重要之處在于它是系統(tǒng)的和結(jié)構(gòu)化的。威脅建模人員將執(zhí)行一系列具體步驟,以全面了解他們試圖保護的IT環(huán)境,識別漏洞和潛在攻擊者。

總的來說,威脅建模在某種程度上仍然是科學(xué)和藝術(shù)的綜合體,并沒有單一的威脅建模過程規(guī)范。威脅建模的實踐借鑒了各種早期的安全實踐,最著名的是1990年代開發(fā)的“攻擊樹”的概念。1999年,Microsoft員工Loren Kohnfelder和Praerit Garg在公司內(nèi)部分發(fā)了一份名為“我們產(chǎn)品的威脅”的文件¹,該文件被許多人認(rèn)為是威脅建模的第一個明確描述。

Kohnfelder和Garg將他們的建議稱為“STRIDE框架”,我們將在本文后面詳細討論它的細節(jié)。如今我們已經(jīng)擁有各種各樣的威脅建??蚣芎头椒?,這些模型側(cè)重點不同,其中一些模型針對特定安全技術(shù)領(lǐng)域,例如,應(yīng)用程序安全。在本文中,我們將幫助您了解所有這些方法的共同點,以及哪種特定的技術(shù)可能適合您。

[[323008]]

威脅建模流程和步驟

每種的威脅建模方法都包含一系列步驟,我們將在本文后面的部分中討論每個步驟的細微差別。首先,我們將看一下所有這些方法共有的基本邏輯流程。對威脅建模過程最簡潔明了的概述之一來自軟件工程師Goran Aviani,他指出威脅模型的目的是回答四個問題:

  • 我們面對的是什么?
  • 可能會有哪些問題(威脅)?
  • 我們該怎么做?
  • 我們做得好嗎?

反過來,威脅建模過程應(yīng)包括四個主要步驟,每個步驟都會為這些問題之一提供答案。

  • 分解應(yīng)用程序或基礎(chǔ)架構(gòu)
  • 確定威脅
  • 確定對策和緩解措施
  • 排序威脅

為了準(zhǔn)確了解這些步驟中的每個步驟,我們需要討論構(gòu)成威脅建模基礎(chǔ)的特定技術(shù)。

威脅建模技術(shù)

上面列出的步驟中,最陌生的術(shù)語可能是分解(Decompose)。分解應(yīng)用程序或基礎(chǔ)架構(gòu)意味著什么?軟件工程師Andrea Della Corte認(rèn)為,廣義上講,分解應(yīng)用程序包括“了解應(yīng)用程序及其與外部實體的交互方式。這涉及創(chuàng)建用例,以了解應(yīng)用程序的使用方式,確定入口點以查看潛在的攻擊者可以在哪里與應(yīng)用程序進行交互,確定資產(chǎn)(即攻擊者可能會感興趣的項目/區(qū)域),并標(biāo)識表示應(yīng)用程序?qū)⑹谟柰獠繉嶓w的訪問權(quán)限的信任級別。”(他在這里專門談?wù)搼?yīng)用程序安全性,但是顯然,從廣義上講,這也適用于對基礎(chǔ)結(jié)構(gòu)的看法。)

分解應(yīng)用程序的一種技術(shù)是構(gòu)建數(shù)據(jù)流程圖。這是1970年代開發(fā)的一種方法,以可視方式展示數(shù)據(jù)如何在應(yīng)用程序或系統(tǒng)中移動,以及各個組件在何處更改或存儲數(shù)據(jù)。其中信任邊界是在2000年代初期添加進來的概念,特指數(shù)據(jù)流中的卡點,在該點上需要對數(shù)據(jù)進行驗證,然后數(shù)據(jù)才能被接收該數(shù)據(jù)的實體使用。信任邊界是用數(shù)據(jù)流程圖進行威脅建模的關(guān)鍵。

在線銀行應(yīng)用的數(shù)據(jù)流程圖示例

下圖是在線銀行應(yīng)用程序的數(shù)據(jù)流程圖;虛線表示信任邊界,數(shù)據(jù)可能會在信任邊界被更改,因此需要采取安全措施。

網(wǎng)上銀行應(yīng)用程序的數(shù)據(jù)流程圖(作者為Wei Zhang和Marco Morana,以O(shè)WASP許可分發(fā))

更深入的數(shù)據(jù)流程圖威脅建模方法可以參考微軟的這個文檔²。

由于數(shù)據(jù)流程圖是由系統(tǒng)工程師而不是安全專家開發(fā)的,因此它們包含了許多威脅建模不需要的開銷。數(shù)據(jù)流程圖的一種替代方法是過程流程圖。兩者在總體概念上相似,但后者更加精簡,并且側(cè)重于用戶和執(zhí)行代碼在系統(tǒng)中的移動方式,更緊密地反映了攻擊者的思維方式(例如下圖)。

 

繪制攻擊樹也是一種威脅建模技術(shù),當(dāng)您確定要對應(yīng)用程序或基礎(chǔ)結(jié)構(gòu)潛在威脅的階段時,它就變得非常重要。攻擊樹由90年代后期的信息安全傳奇人物布魯斯·施耐爾(Bruce Schneier)開創(chuàng)。它們由代表不同事件的一系列父節(jié)點和子節(jié)點組成,子節(jié)點是必須滿足的條件才能使父節(jié)點為真。根節(jié)點(圖中的最高父節(jié)點)是攻擊的總體目標(biāo)。借助攻擊樹,威脅建模者可以看到必須組合哪些情況才能使威脅成功。下圖顯示了一個簡單的銀行應(yīng)用攻擊樹,說明了病毒可能成功感染文件的不同方式。

下圖是Hackinthebox從攻擊者的角度構(gòu)建的攻擊樹示例,可以幫助您了解自己所面臨的威脅。

威脅建模框架和方法

威脅建模的各種結(jié)構(gòu)化方法通常稱為框架或方法論(本文中這兩個術(shù)語基本上可以互換使用)。目前的威脅建??蚣芎头椒ㄓ泻芏啵覀兲魩讉€最流行的介紹如下:

1. 7種頂級威脅建模方法

  • STRIDE
  • DREAD
  • PASTA
  • VAST
  • Trike
  • OCTAVE
  • NIST

2. STRIDE威脅建模

如上所述,STRIDE是威脅建模的祖父,最早于90年代末在Microsoft開發(fā)。STRIDE代表六種威脅,每種都對CIA三要素構(gòu)成威脅,具體如下:

  • 欺騙或冒充他人或計算機,影響真實性
  • 篡改數(shù)據(jù),這會破壞完整性
  • 抵賴,或無法將執(zhí)行的操作關(guān)聯(lián)到操作者,這違反了不可抵賴性
  • 信息泄露,違反機密性
  • 拒絕服務(wù),這違反了可用性
  • 特權(quán)提升,違反授權(quán)

3. DREAD威脅建模

DREAD被認(rèn)為是STRIDE模型的一個附加組件,該模型使建模人員可以在確定威脅后對其進行排名。對于每個潛在威脅,DREAD代表六個問題:

  • 潛在損害:如果利用漏洞,造成的損害有多大?
  • 重現(xiàn)性:重現(xiàn)攻擊有多容易?
  • 可利用性:發(fā)動攻擊有多容易?
  • 受影響的用戶:大概影響了多少用戶?
  • 可發(fā)現(xiàn)性:查找漏洞有多容易?

這些問題中的每一個都得到1-3分的評分。

4. PASTA威脅建模

PASTA代表攻擊模擬和威脅分析過程,它是一個七步驟過程,致力于使技術(shù)安全要求與業(yè)務(wù)目標(biāo)保持一致。每個步驟都非常復(fù)雜,由幾個子步驟組成,但是總體順序如下:

  • 定義目標(biāo)
  • 定義技術(shù)范圍
  • 應(yīng)用程序分解
  • 威脅分析
  • 漏洞和弱點分析
  • 攻擊建模
  • 風(fēng)險與影響分析

5. VAST威脅建模

VAST代表可視化,敏捷威脅建模。該模型是 ThreatModeler(自動威脅建模平臺)的基礎(chǔ),該平臺可以區(qū)分應(yīng)用程序和運營威脅模型。VAST專為集成到圍繞devops構(gòu)建的工作流中而設(shè)計。

6. Trike威脅建模

Trike是用于威脅建模和風(fēng)險評估的框架的開源工具,它基于防御的角度,而不是試圖模仿攻擊者的思維過程。使用Trike,您可以為要防御的系統(tǒng)建模,并通過CRUD的角度評估每個組件,也就是說,誰可以創(chuàng)建,讀取,更新或刪除該實體。通過遍歷數(shù)據(jù)流程圖來識別威脅,每種威脅僅分為兩類:拒絕服務(wù)或特權(quán)提升。

7. OCTAVE威脅建模

OCTAVE代表“運營關(guān)鍵威脅,資產(chǎn)和脆弱性評估”,是卡耐基梅隆大學(xué)開發(fā)的一種威脅建模方法,其重點是組織風(fēng)險而不是技術(shù)風(fēng)險。它包括三個階段:

  • 建立基于資產(chǎn)的威脅配置文件
  • 識別基礎(chǔ)架構(gòu)漏洞
  • 制定安全策略和計劃

8. NIST威脅建模

美國國家標(biāo)準(zhǔn)技術(shù)研究院擁有自己的以數(shù)據(jù)為中心的威脅建模方法,該方法包括四個步驟:

  • 系統(tǒng)和數(shù)據(jù)識別和表征
  • 識別并選擇要包含在模型中的攻擊媒介
  • 表征緩解攻擊媒介的安全控件
  • 分析威脅模型

該NIST草案還包括一個方法的具體應(yīng)用實例。如果您正在尋找威脅建模示例,那么這是一個很棒的文檔,可以閱讀該文檔以了解流程如何工作。

威脅建模優(yōu)秀實踐

無論選擇哪種框架,都應(yīng)遵循一些實踐方法。但最重要的(通常也是很難做到的)是將威脅建模作為系統(tǒng)開發(fā)過程中的優(yōu)先事項。如果能在項目開發(fā)伊始就做到這一點,以后可以省去很多麻煩,因為安全性可以被深深“植入”到應(yīng)用程序或系統(tǒng)中。

另一個最佳實踐是不要將應(yīng)用程序和系統(tǒng)彼此隔離。Michael Santarcangelo寫道:“如果各種威脅模型以相同的方式相互連接,并且應(yīng)用程序和組件作為IT系統(tǒng)的一部分進行交互,那么結(jié)果將是一個全面的攻擊面,CISO可以使用該攻擊面來理解整個企業(yè)的整體威脅組合。”

我們還敦促您避免常見的威脅建模錯誤。簡而言之:不要過于關(guān)注頭條新聞上的威脅;不要忘記您的用戶可能是所有人中最大的無意威脅;不要忘記威脅模型應(yīng)該是“活著”的文檔,并且需要不斷更新。

威脅建模工具

需要指出的是,上面列出的兩種方法(VAST和Trike)實際上是圍繞特定的軟件工具構(gòu)建的。還有一些支持其他方法的工具,例如,Microsoft提供了免費的威脅建模工具,而OWASP Foundation也推出了自己的桌面和web版本的威脅建模工具——Threat Dragon³。

實際上,這里描述的許多方法都是概念性的,并未與任何軟件聯(lián)系在一起。攻擊樹或數(shù)據(jù)流程圖可以用筆和紙繪制。正如Luca Bongiorni的演講所解釋的那樣,用于威脅建模的一些最受歡迎的工具是Microsoft Visio和Excel。開始為基礎(chǔ)架構(gòu)進行威脅建模的門檻很低,但回報卻很高。

參考資料:

  • 最早的威脅建模論文:https://www.microsoft.com/security/blog/2009/08/27/the-threats-to-our-products/
  • Uncover Security Design Flaws Using The STRIDE Approach:https://docs.microsoft.com/en-us/archive/msdn-magazine/2006/november/uncover-security-design-flaws-using-the-stride-approach
  • OWASP威脅建模工具Threat Dragon:https://owasp.org/www-project-threat-dragon/

【本文是51CTO專欄作者“安全牛”的原創(chuàng)文章,轉(zhuǎn)載請通過安全牛(微信公眾號id:gooann-sectv)獲取授權(quán)】

戳這里,看該作者更多好文     

 

責(zé)任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2023-02-13 11:50:54

2024-10-29 20:58:38

2019-01-16 09:00:00

DevOps性能測試軟件

2022-06-08 08:11:56

威脅建模網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2021-05-12 10:52:38

漏洞網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2022-08-24 08:16:33

容器安全容器

2023-10-08 16:26:23

數(shù)據(jù)倉庫

2021-09-07 09:00:00

開發(fā)測試工具

2024-08-27 12:54:37

2025-02-11 12:37:30

2010-06-28 09:53:43

UML建模工具Rose

2010-07-12 15:56:37

UML建模工具

2020-05-15 11:02:13

軟件組合應(yīng)用程序開發(fā)

2024-01-15 08:00:00

開發(fā)API文檔集成

2019-05-16 09:00:06

云原生監(jiān)控日志管理

2025-03-18 09:00:00

網(wǎng)絡(luò)威脅網(wǎng)絡(luò)安全安全工具

2010-06-10 13:41:43

RoseUML建模工具

2010-06-28 09:07:32

UML建模工具Rose

2024-01-22 12:46:00

KubernetesAPI接口

2024-03-28 14:45:56

點贊
收藏

51CTO技術(shù)棧公眾號