一文了解威脅建模
作為風險管理策略的一部分,識別系統(tǒng)面臨的安全威脅是緩解潛在漏洞的重要步驟。但就其本身而言,識別威脅并不足以抵御攻擊。
IT團隊和安全工程師必須通過利用威脅建模來更進一步,以主動、系統(tǒng)地評估和防御組織面臨的各種威脅。下文將介紹威脅建模的含義、工作原理、主流威脅建??蚣?、工具以及優(yōu)秀實踐。
什么是威脅?
威脅是一個或一組惡意行為者認為妥協(xié)解決方案是有價值的。不同的威脅行為者將有不同程度的動機和技能來利用漏洞。而漏洞的可用性將取決于對現(xiàn)存事物的了解、所需的訪問級別以及已實施的任何緩解措施。
出于討論目的,我們將假設(shè)以下主要威脅行為者:
- 高級持續(xù)威脅(APT)——高能力、高積極性、高容量,包括直接或間接由國家支持的團體,例如一些有組織的犯罪集團(OCG);
- 組織的犯罪集團(OCG)——能力不等、動機不同、容量有限,非國家支持的團體;
- 動機型外部個體——能力不等、動機不同、容量有限,不同的贊助體
- 內(nèi)部威脅——可以直接訪問解決方案的設(shè)計、實施、操作或使用的人員。
什么是威脅建模?
威脅建模是一種基于工程和風險的方法,用于識別、評估和管理安全威脅,旨在開發(fā)和部署符合企業(yè)組織安全和風險目標的更好軟件和IT系統(tǒng)。它可以分為幾個不同的階段:
- 威脅識別:團隊通過了解自己的系統(tǒng)可能容易受到哪些威脅來開始威脅建模。
- 威脅評估:識別威脅后,團隊評估每個威脅,以確定它們變成真正攻擊的可能性,以及這種攻擊的影響。
- 緩解計劃:一旦威脅得到充分評估,組織就能確定可以采取哪些步驟來防止每個威脅變成成功的攻擊;
- 緩解實施:然后組織可以實施緩解策略以提供針對威脅的主動防御;
- 反饋和改進:最后一步是確定整個威脅建模過程的運行情況,然后采取措施進行改進。如果團隊未能預(yù)見到導(dǎo)致攻擊的某些威脅類型,或是沒有實施適當?shù)耐{緩解措施,那么在此階段可以著手解決這些問題。
通過遵循這些步驟,團隊可以采取系統(tǒng)的、高度結(jié)構(gòu)化的方法來識別威脅,作為其軟件開發(fā)生命周期的一部分。他們還能獲得主動威脅響應(yīng)能力,而非坐等實際攻擊開始再計劃響應(yīng)措施。
威脅建??蓱?yīng)用于任何類型的IT資源。您可以在應(yīng)用程序、服務(wù)器、本地環(huán)境、公共云等上執(zhí)行威脅建模。
威脅建模還可用于幫助管理任何類型的威脅——從DDoS和勒索軟件攻擊到內(nèi)部威脅和意外的數(shù)據(jù)泄露,威脅建模技術(shù)是在風險引發(fā)現(xiàn)實安全事件之前提前進行預(yù)防的有效方法。
也就是說,威脅建模技術(shù)可能會因您關(guān)注的資源和威脅類型而異。例如,適用于本地環(huán)境的威脅管理策略,在某些重要方面與適用于公共云的威脅管理策略不同,因為組織與云服務(wù)提供商建立了責任共擔模型,因此需要不同的緩解策略。
威脅建模的意義
通過對安全威脅進行系統(tǒng)的、結(jié)構(gòu)化的響應(yīng),威脅建模有一系列優(yōu)勢:
- 威脅優(yōu)先級——有些威脅比其他威脅更嚴重。例如,針對開發(fā)/測試環(huán)境的威脅可能不如影響生產(chǎn)系統(tǒng)的威脅那么嚴重。 評估每個威脅的潛在嚴重性有助于團隊確定在緩解過程中優(yōu)先考慮哪些威脅;
- 主動響應(yīng)——如上所述,威脅建模允許組織采取主動的方法進行威脅管理。他們可以比攻擊者領(lǐng)先一步,而非等待攻擊發(fā)生然后才做出響應(yīng);
- 識別新的威脅類型——隨著攻擊者不斷發(fā)現(xiàn)新的漏洞并開發(fā)新的漏洞利用技術(shù),威脅形勢正在不斷變化。通過允許團隊評估可能影響他們的現(xiàn)有威脅,威脅建模能夠幫助企業(yè)領(lǐng)先一步識別新興威脅;
- 改進安全態(tài)勢——有時,緩解威脅的最佳方法是更改您的系統(tǒng)設(shè)計。例如,也許您有一個面向公眾的資源,可以將其移到防火墻后以緩解基于網(wǎng)絡(luò)的安全風險。在這些情況下,威脅建??蓭椭髽I(yè)采取措施強化其基礎(chǔ)安全態(tài)勢并減少攻擊面;
- 更有效地利用資源——可用于IT安全的資源總是有限的。通過啟用系統(tǒng)化的威脅管理方法,威脅建??蓭椭髽I(yè)從現(xiàn)有資源中獲取最大程度的保護力度;
- 溝通——威脅建模使團隊更容易以一致、集中的方式就威脅進行溝通。與其只關(guān)注可能影響各自管理的特定系統(tǒng)的威脅,每個工程師和開發(fā)人員團隊可以在整個組織內(nèi)共享威脅評估信息和見解,并共同努力緩解它們;
- 證明對安全性的承諾——執(zhí)行威脅建模的簡單行為有助于證明企業(yè)非常重視安全。這對于審計和合規(guī)目的可能很重要,尤其是在合規(guī)要求包括需要組織采取合理措施來保護敏感數(shù)據(jù)和應(yīng)用程序的情況下。
威脅建模優(yōu)秀實踐
最有效的威脅建模策略需要植根于以下幾個核心優(yōu)秀實踐:
(1) 與其他團隊合作
在許多企業(yè)中,IT組織分為不同的團隊,每個團隊管理自己的系統(tǒng)和資源。
與其讓每個團隊創(chuàng)建自己的威脅模型并根據(jù)需要緩解威脅,不如努力在整個組織內(nèi)就威脅建模進行協(xié)作。很可能一個團隊面臨的一些威脅也會影響其他團隊。在威脅建模方面進行協(xié)作可以更有效地利用資源,同時還允許團隊分享可能促成更有效的威脅緩解策略的見解。
(2) 整體地評估威脅
通常情況下,對一種資源的威脅可能會導(dǎo)致對下游資源的間接威脅。例如,如果攻擊者破壞應(yīng)用程序,對應(yīng)用程序的威脅也可能危及應(yīng)用程序訪問的數(shù)據(jù)。
出于這個原因,重要的是要整體地評估威脅,而非孤立地評估。評估每個威脅的潛在嚴重性,不僅要根據(jù)它所威脅的主要資源,還要根據(jù)它可能對企業(yè)造成的整體損害。
同樣地,需要采取措施在多個層面減輕威脅。例如,如果針對應(yīng)用程序安全的威脅對數(shù)據(jù)安全造成了間接損害,那么您可以在應(yīng)用程序和數(shù)據(jù)中采取措施來幫助緩解威脅。您可能需要對應(yīng)用程序進行雙重身份驗證以降低違規(guī)風險,同時還需要實施數(shù)據(jù)的異地備份,以便在應(yīng)用程序違規(guī)允許攻擊者訪問數(shù)據(jù)的情況下,您能擁有一份干凈的副本并以此拒絕贖金勒索。
(3) 全面思考威脅
將威脅建模重點放在與最近備受矚目的攻擊相關(guān)的威脅上,或者您的企業(yè)過去面臨的威脅上,這可能聽起來很合理。但是,最好的威脅建模策略需要涵蓋可能影響業(yè)務(wù)的每一個威脅——無論它的新聞價值如何,或者它過去是否曾轉(zhuǎn)化為現(xiàn)實攻擊。在識別威脅時,不僅要查看網(wǎng)絡(luò)安全博客以了解最近的違規(guī)情況,還要查看威脅數(shù)據(jù)庫和威脅情報報告,以深入了解您的團隊可能不會考慮的威脅類型。
(4) 在開發(fā)生命周期的早期執(zhí)行威脅建模
創(chuàng)建威脅模型的最佳時間是在項目或應(yīng)用程序開發(fā)實踐開始時。那時,在您的系統(tǒng)中建立威脅防御能力相對更容易。
如果您等到已經(jīng)編寫了代碼,或者(更糟)等到它已經(jīng)部署到生產(chǎn)環(huán)境中,您可能會發(fā)現(xiàn)實施最佳威脅緩解措施要困難得多。這樣做可能需要更改您的代碼,這意味著您必須重新構(gòu)建、重新測試和重新部署,這無疑是一個耗時且低效的過程。
(5) 超越應(yīng)用程序進行思考
在執(zhí)行威脅建模時,很容易只關(guān)注應(yīng)用程序,而非應(yīng)用程序所在的更廣泛的環(huán)境。畢竟,應(yīng)用程序通常是您用戶體驗的核心。其他一切都只是陪襯。
但在安全性方面,環(huán)境任何層和開發(fā)生命周期任何階段的威脅都可能變成漏洞。這就是為什么您不僅應(yīng)該考慮您的應(yīng)用程序,還應(yīng)該考慮針對托管它們的服務(wù)器或云基礎(chǔ)設(shè)施的威脅。如果您在容器中部署應(yīng)用程序,那么還必須考慮對容器注冊表、容器映像和容器編排工具的威脅。并且不要忘記可能影響數(shù)據(jù)的威脅,例如配置不當?shù)腎AM角色可能會將您的云存儲桶暴露給公眾。
威脅建模方法
有多種方法可用于幫助團隊構(gòu)建其威脅建模流程:
(1) 攻擊樹(Attack tree):使用這種方法,可以將威脅建模為一組路徑(或樹),以確定哪些資源會受到與每個威脅相關(guān)的攻擊的影響。當擁有大量高度相互依賴的資源,并且想知道哪些直接和間接威脅會影響每個資源時,攻擊樹非常有用。
(2) 安全卡(Security card):安全卡技術(shù)采用開放式方法進行威脅建模。它基于一組42張卡片,詢問有關(guān)組織面臨的威脅問題。通過處理這些卡片,團隊可以思考他們面臨的威脅以及緩解這些威脅的策略。
(3) PASTA(攻擊模擬和威脅分析流程):PASTA技術(shù)專注于幫助團隊根據(jù)業(yè)務(wù)優(yōu)先級評估威脅。它首先確定業(yè)務(wù)目標和支持它們所需的技術(shù)資源。然后,團隊確定哪些威脅可能會影響這些資源——進而,他們會發(fā)現(xiàn)可能危及業(yè)務(wù)優(yōu)先級的威脅。它由七個步驟組成,且每個步驟都非常復(fù)雜,由多個子步驟組成,但是總體順序如下:
- 定義目標;
- 定義技術(shù)范圍;
- 應(yīng)用程序分解;
- 威脅分析;
- 漏洞和弱點分析;
- 攻擊建模;
- 風險與影響分析。
(4) STRIDE:是威脅建模之父,最早于90年代末由微軟提出。STRIDE代表六種威脅,每種威脅都違反了 CIA的變體的特定屬性:
- 欺騙(Spoofing),冒充真實性的他人或計算機;
- 篡改數(shù)據(jù)(Tampering),破壞完整性;
- 抵賴(Repudiation),或無法將您執(zhí)行的操作鏈接到您,這違反了不可抵賴性;
- 信息泄露(Information Disclosure),違反機密性;
- 拒絕服務(wù)(Denial of Service),違反了可用性;
- 特權(quán)提升(Privilege Escalation),違反授權(quán);
STRIDE方法背后的核心概念是按類型劃分威脅,然后根據(jù)威脅所屬的類別對每個威脅做出響應(yīng)。
威脅建模工具
威脅建模工具集成了一組核心功能,用于在單個平臺內(nèi)發(fā)現(xiàn)、分析和緩解威脅。威脅建模工具的主要功能包括:
- 威脅情報數(shù)據(jù):威脅情報是關(guān)于已知威脅的信息。它通常是從主要漏洞數(shù)據(jù)庫中收集的,例如NIST國家漏洞數(shù)據(jù)庫和MITRE的通用攻擊模式枚舉和分類(CAPEC)。
- 威脅可視化:大多數(shù)威脅建模工具都提供可視化功能,例如將威脅映射到IT環(huán)境不同部分的圖表,以幫助團隊分析威脅。
- 威脅監(jiān)控:監(jiān)控功能(例如儀表板)允許團隊跟蹤他們已識別的威脅并驗證威脅是否得到有效緩解。
- 報告:通過生成有關(guān)威脅的報告,組織可以跟蹤其威脅識別和緩解效果。
許多軟件供應(yīng)商提供的工具都具有旨在幫助團隊執(zhí)行威脅建模的功能。 例如,Microsoft威脅建模工具是一種可下載的Windows桌面應(yīng)用程序,是一種流行的選擇;ThreatModeler是一個類似的基于Web的威脅建模平臺;OWASP的Threat Dragon和pytm工具是廣泛使用的開源威脅建模工具。
威脅建模用例
想要了解如何將威脅建模付諸實踐,了解一些常見的用例或?qū)嶋H威脅建模示例可能會很有幫助。
(1) 云威脅建模
當工作負載從本地遷移到云端時,面臨的威脅可能會發(fā)生巨大變化。缺乏物理安全性的問題基本上消失了,但出現(xiàn)了諸如不安全的IAM配置之類的新威脅。
團隊可以使用云威脅建模,來幫助識別和管理在云遷移期間和之后影響工作負載的風險。通過這種方式,云威脅建模使他們能夠預(yù)測如果堅持使用與本地相同的安全策略將無法解決的風險。
(2) 網(wǎng)絡(luò)威脅建模
網(wǎng)絡(luò)傳播的威脅在范圍和形式上可能會有很大差異,具體取決于網(wǎng)絡(luò)的配置方式以及它們對公共互聯(lián)網(wǎng)的暴露程度。使用虛擬網(wǎng)絡(luò)等云服務(wù)無疑又為網(wǎng)絡(luò)威脅增加了另一層復(fù)雜性。
專注于網(wǎng)絡(luò)的威脅建模提供了一種評估和管理這些威脅的方法。它還可以幫助團隊了解其網(wǎng)絡(luò)架構(gòu)固有的安全優(yōu)勢和劣勢,并采取措施進行改進。
(3) 容器的威脅建模
將工作負載從虛擬機轉(zhuǎn)移到容器也會帶來新的威脅,例如惡意軟件可能潛入容器映像或不安全的容器注冊表訪問控制。對這些威脅進行建模使團隊能夠識別、理解并采取措施緩解可能影響容器化環(huán)境的特殊威脅。
結(jié)語
簡而言之,威脅建模使企業(yè)能夠領(lǐng)先于安全威脅,無論威脅采取何種形式或針對哪種類型的資源。雖然威脅建模需要一些前期的時間投資,但當它允許團隊主動響應(yīng)威脅時,將產(chǎn)生巨大的好處。相較于不加以控制可能帶來的高昂攻擊代價,還是值得投入的!
原文鏈接:https://cloudsecurityalliance.org/blog/2022/04/21/threat-modelling-what-it-is-and-why-it-matters/