日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

威胁建模主流框架

發(fā)布時間:2024/3/12 编程问答 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 威胁建模主流框架 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

威脅建模主流框架

目錄

威脅建模主流框架

一、簡要介紹

二、威脅建模流程和步驟

三、威脅建模技術(shù)

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

2、過程流程圖

3、攻擊樹

四、威脅建模框架和方法

1、STRIDE威脅建模

2、DREAD威脅建模

3、PASTA威脅建模

4、VAST威脅建模

5、Trike威脅建模

6、OCTAVE威脅建模

7、NIST威脅建模

五、威脅建模最佳實踐

六、威脅建模工具


一、簡要介紹

了解威脅建模框架、方法和工具可以幫助更好地識別、量化和排序面臨的威脅。威脅建模是一個結(jié)構(gòu)化的過程,IT專業(yè)人員可以通過該過程識別潛在的安全威脅和漏洞,量化每個威脅的嚴(yán)重性,并確定技術(shù)的優(yōu)先級以緩解攻擊并保護(hù)IT資產(chǎn)。威脅模型的重要之處在于它是系統(tǒng)的和結(jié)構(gòu)化的。威脅建模人員將執(zhí)行一系列具體步驟,以全面了解他們試圖保護(hù)的IT環(huán)境,識別漏洞和潛在攻擊者。??

二、威脅建模流程和步驟

每種的威脅建模方法都包含一系列步驟,不同的建模方法的每個步驟存在著細(xì)微差別。首先,看一下所有這些方法共有的基本邏輯流程。對威脅建模過程最簡潔明了的概述指出,威脅模型的目的是回答四個問題:

  • ?我們面對的是什么?
  • 可能會有哪些問題(威脅)?
  • ?我們該怎么做?
  • ?我們做得好嗎?
  • 反過來,威脅建模過程應(yīng)包括四個主要步驟,每個步驟都會為這些問題之一提供答案。

  • ?分解應(yīng)用程序或基礎(chǔ)架構(gòu)
  • ?確定威脅
  • ?確定對策和緩解措施
  • ?排序威脅
  • 為了準(zhǔn)確了解這些步驟中的每個步驟,我們需要討論構(gòu)成威脅建模基礎(chǔ)的特定技術(shù)。

    三、威脅建模技術(shù)

    上面列出的步驟中,最陌生的術(shù)語可能是分解(Decompose)。分解應(yīng)用程序或基礎(chǔ)架構(gòu)意味著什么?

    廣義上講,分解應(yīng)用程序包括”了解應(yīng)用程序及其與外部實體的交互方式。這涉及創(chuàng)建用例,以了解應(yīng)用程序的使用方式,確定入口點以查看潛在的攻擊者可以在哪里與應(yīng)用程序進(jìn)行交互,確定資產(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年代初期添加進(jìn)來的概念,特指數(shù)據(jù)流中的卡點,在該點上需要對數(shù)據(jù)進(jìn)行驗證,然后數(shù)據(jù)才能被接收該數(shù)據(jù)的實體使用。信任邊界是用數(shù)據(jù)流程圖進(jìn)行威脅建模的關(guān)鍵。

    1、?在線銀行應(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ù)流程圖威脅建模方法可以參考微軟的這個文檔2。

    2、過程流程圖

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

    3、攻擊樹

    繪制攻擊樹也是一種威脅建模技術(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ù)語基本上可以互換使用)。目前的威脅建模框架和方法有很多,我們挑幾個最流行的介紹如下:

    7種頂級威脅建模方法

  • STRIDE
  • DREAD
  • PASTA
  • VAST
  • Trike
  • OCTAVE
  • NIST
  • 1、STRIDE威脅建模

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

    1)Spoofing欺騙或冒充他人或計算機(jī),影響真實性

    2)Tampering篡改數(shù)據(jù),這會破壞完整性

    3)Repudiation抵賴,或無法將執(zhí)行的操作關(guān)聯(lián)到操作者,違反了不可抵賴性

    4)Information Disclosure信息泄露,違反機(jī)密性

    5)Denial of Service拒絕服務(wù),這違反了可用性

    6)Elevation of Privilege特權(quán)提升,違反授權(quán)

    2、DREAD威脅建模

    DREAD被認(rèn)為是STRIDE模型的一個附加組件,該模型使建模人員可以在確定威脅后對其進(jìn)行排名。對于每個潛在威脅,DREAD代表六個問題,這些問題中的每一個都得到1-3分的評分:

    1)Damage潛在損害:如果利用漏洞,造成的損害有多大?

    2)Reproducibility重現(xiàn)性:重現(xiàn)攻擊有多容易?

    3)Exploitability可利用性:發(fā)動攻擊有多容易?

    4)Affexted users受影響的用戶:大概影響了多少用戶?

    5)Discoverability可發(fā)現(xiàn)性:查找漏洞有多容易?

    3、PASTA威脅建模

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

    1)定義目標(biāo)

    2)定義技術(shù)范圍

    3)應(yīng)用程序分解

    4)威脅分析

    5)漏洞和弱點分析

    6)攻擊建模

    7)風(fēng)險與影響分析

    4、VAST威脅建模

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

    5、Trike威脅建模

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

    6、OCTAVE威脅建模

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

    1)建立基于資產(chǎn)的威脅配置文件

    2)識別基礎(chǔ)架構(gòu)漏洞

    3)制定安全策略和計劃

    7、NIST威脅建模

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

    1)系統(tǒng)和數(shù)據(jù)識別和表征

    2)識別并選擇要包含在模型中的攻擊媒介

    3)表征緩解攻擊媒介的安全控件

    4)分析威脅模型

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

    五、威脅建模最佳實踐

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

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

    六、威脅建模工具

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

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

    參考資料:

    【1】最早的威脅建模論文:

    https://www.microsoft.com/security/blog/2009/08/27/the-threats-to-our-products/

    【2】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

    【3】OWASP威脅建模工具:

    Threat Dragon:https://owasp.org/www-project-threat-dragon/

    總結(jié)

    以上是生活随笔為你收集整理的威胁建模主流框架的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。