本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SEC01-BP07 使用威脅模型識別威脅並排定緩解優先順序
執行威脅模型,以識別和維護 up-to-date工作負載的潛在威脅和相關緩解措施的註冊。排定威脅的優先順序並調整安全控制緩解措施,以防止、偵測和回應威脅。就您的工作負載的情況,以及不斷演變的安全態勢,重新檢視和維護此工作。
未建立此最佳實務時的曝險等級:高
實作指引
什麼是威脅建模?
「威脅建模以保護有價值物為目標,識別、溝通和了解威脅及緩解措施。」 – Open Web Application Security Project (OWASP) Application Threat Modeling
為何使用威脅模型?
系統本身錯綜複雜,並且隨時間變得更複雜且更具能力,從而實現更大的商業價值及更高的客戶滿意度和參與度。這意味著 IT 設計決策需要考慮不斷增加的使用案例數量。這種複雜性和使用案例數量的排列通常使得非結構化方法無法有效尋找和緩解威脅。反之,您需要一套系統化方法來列舉對系統的潛在威脅,以及制定緩解措施,並以這些緩解措施為優先來確保組織的有限資源能在改善系統整體安全狀態上發揮最大的影響力。
威脅建模旨在提供這套系統化方法,目的是要在設計過程中及早尋找和解決問題,此時進行緩解的成本和精力與生命週期稍後相比要來得低。此方法與往前移安全性
何時應執行威脅建模?
在工作負載的生命週期中及早開始威脅建模,可給予您更大的彈性來決定要如何處理所識別的威脅。就跟軟體錯誤一樣,越早識別威脅,就能以越具成本效益的方式加以解決。威脅模型是不斷更新的文件,並且應該持續隨著工作負載的變更而演進。隨時間重新檢視您的威脅模型,包括當有重大變更、威脅形勢有變化,或是採用新功能或服務時。
實作步驟
我們如何執行威脅建模?
有許多不同的方式來執行威脅建模。就跟程式設計語言一樣,各有優缺點,而您應選擇最適合您的方式。其中一個方法是從 Shostack 針對威脅建模的 4 個問題框架
-
目前正在做什麼?
此問題的目的是協助您了解正在建置的系統並對之取得一致的意見,以及該系統與安全相關的詳細資訊。建立模型或圖表是回答此問題最受歡迎的方法,因為這可協助您將正在建置的項目視覺化,例如使用資料流程圖
。寫下關於您的系統的假設和重要詳細資訊也有助於您定義涵蓋的範圍。這可讓對威脅模型做出貢獻的每個人專注於相同的事物,並避免對 out-of-scope主題進行耗時的繞道 (包括系統過時版本)。舉例來說,如果您正在建置 Web 應用程式,可能不值得花時間為瀏覽器用戶端建立作業系統信任開機順序的模型,因為您無法透過您的設計對此產生影響。 -
什麼可能出錯?
這是您識別對系統的威脅之處。威脅是意外或故意的動作或事件,會帶來不必要的影響,並且可能會影響系統安全。如果對可能出錯之處沒有清楚的了解,則無法對症下藥。
對於什麼可能出錯,您並沒有標準的清單可循。建立此清單需要團隊內的每個人與涉及的相關角色
在威脅建模練習中集思廣益和共同協作。您可以使用 模型來識別威脅,例如 來協助您進行腦力激盪STRIDE ,它建議評估不同的類別:詐騙、竄改、複寫、資訊揭露、拒絕服務和提升權限。此外,您可能想要透過檢閱現有清單和研究以取得啟發來協助腦力激盪,包括OWASP前 10 HiTrust 名、威脅目錄 ,以及您組織自己的威脅目錄。 -
我們要做何處理?
就跟上一個問題一樣,對於所有可能的緩解措施並沒有標準的清單可循。此步驟的輸入是上一步識別的威脅、動作和改進之處。
安全與合規是您和 AWS之間的共同責任
。了解當您提出「我們要做何處理?」時,也是在問「誰要對其負責?」,這一點很重要。了解 和 之間的責任平衡, AWS 協助您將威脅建模練習範圍擴展到您控制下的緩解措施,這些緩解措施通常是 AWS 服務組態選項和您自己的系統特定緩解措施的組合。 對於共同責任 AWS 的部分,您會發現 AWS 服務在許多合規計畫的範圍內
。這些程式可協助您了解位於 的強大控制項 AWS ,以維護雲端的安全性和合規性。這些程式的稽核報告可供 AWS 客戶從 下載AWS Artifact 。 無論您使用哪些 AWS 服務,一律存在客戶責任的要素,且與您的責任相符的緩解措施應包含在威脅模型中。對於 AWS 服務本身的安全控制緩解措施,您想要考慮跨網域實作安全控制,包括身分和存取管理 (身分驗證和授權)、資料保護 (靜態和傳輸中)、基礎設施安全、記錄和監控等網域。每個 AWS 服務的文件都有一個專用的安全章節,提供可視為緩解措施的安全控制指引。重要的是,考慮您正在編寫的程式碼及其程式碼相依性,並思考您可以設立以解決這些威脅的控制。這些控制可以是輸入驗證
、工作階段處理 和界限處理 等事項。大多數漏洞通常是在自訂程式碼中引入,因此請專注於此區域。 -
我們處理得當嗎?
目標是讓您的團隊和組織改進威脅模型的品質以及隨時間執行威脅建模的速度。這些改進出自練習、學習、教導和審查的組合。若要更加深入並實作,建議您與您的團隊完成建置人員建立威脅模型的正確方式訓練課程
或研討會 。此外,如果您正在尋找如何將威脅模型整合至組織應用程式開發生命週期的指引,請參閱 AWS 安全部落格上的如何處理威脅模型 文章。
威脅編寫器
為了協助您和引導您執行威脅模型,請考慮使用 Threat Composer
-
撰寫與威脅文法
相符、可在自然非線性工作流程中使用的有用威脅陳述式 -
產生人類可讀的威脅模型
-
產生機器可讀的威脅模型,以讓您將威脅模型視為程式碼
-
使用洞察儀表板協助您快速識別品質和涵蓋範圍有所改進的領域
如需進一步的參考,請造訪「威脅編寫器」,並切換到系統定義的範例工作區。
資源
相關的最佳實務:
相關文件:
-
如何處理威脅模型
(AWS 安全部落格)
相關影片:
相關訓練:
相關工具: