View a markdown version of this page

建立威脅模型 - AWS 安全代理程式

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立威脅模型

在 AWS Security Agent Web 應用程式中建立威脅模型,以分析應用程式的架構並識別安全威脅。威脅模型會產生兩個主要輸出:描述系統如何建置和運作的系統概觀,以及描述系統如何遭受攻擊的一組威脅,每個威脅都有嚴重性等級、STRIDE 分類和可行的建議。

威脅模型接受兩種類型的輸入,您可以提供 或兩者:

  • 範圍文件 – 定義威脅模型重點的技術設計文件、API 規格或架構文件。提供時,代理程式會將其分析範圍限定為這些文件中所述的內容。您可以上傳檔案 (DOC、DOCX、JPEG、MD、PDF、PNG、TXT)、提供 S3 URIs,或透過整合連接 Confluence 頁面。

  • 來源 – 來自連線儲存庫 (GitHub、GitHub Enterprise Server、GitLab、GitLab Self-Managed 或 Bitbucket) 或從 S3 位置的來源碼。AWS Security Agent 會讀取原始程式碼,以了解您現有的系統。與範圍文件結合時,原始程式碼會提供目前實作的相關內容。

在此程序中,您可以設定威脅模型的輸入和許可,然後開始執行。

先決條件

開始前,請確保您具備以下條件:

  • 存取 AWS Security Agent Web 應用程式

  • 至少下列其中一個項目:

    • 做為來源使用的連線儲存庫 (GitHub、GitHub Enterprise Server、GitLab、GitLab Self-Managed 或 Bitbucket) (請參閱 啟用威脅建模)

    • 包含原始碼的 S3 儲存貯體

    • 設計上傳為範圍文件或 Confluence 整合的文件

提示

如果您已有儲存庫或 S3 儲存貯體連接到您的 Agent Space (例如,透過程式碼檢閱或滲透測試設定),您可以立即建立威脅模型,而不需要額外的設定。

AWS Security Agent 如何執行威脅模型

您提供的輸入會決定 AWS Security Agent 如何執行威脅模型。有三種情況。

您提供的輸入 AWS Security Agent 如何執行威脅模型

僅限來源 (原始程式碼)

AWS Security Agent 會分析原始程式碼,以了解應用程式的結構、分類元件、擷取資料流程、建置威脅模型,並根據系統實際實作的方式識別威脅。

僅限範圍文件 (設計文件)

AWS Security Agent 會執行著重於文件中所述設計的威脅模型。它根據範圍文件中描述的架構、資料流程和元件來識別威脅,有助於在存在任何程式碼之前對設計進行威脅建模。

來源和範圍文件

AWS Security Agent 會將威脅模型範圍限定為範圍文件中所述的內容 (例如,新功能的設計文件)。它使用原始碼來了解您現有的系統,然後威脅模型範圍文件中描述的設計,無論該設計是否已實作。

存取威脅模型頁面

導覽至 Web 應用程式中的威脅建模區段。

  1. 登入 AWS Security Agent Web 應用程式。

  2. 在左側邊欄中,選擇威脅模型

  3. 您會看到現有威脅模型的清單,其中包含其標題、最新執行狀態,以及依嚴重性列出的威脅計數。

建立威脅模型

透過設定其輸入和許可來設定新的威脅模型。

  1. 威脅模型頁面上,選擇建立威脅模型

設定威脅模型詳細資訊

為您的威脅模型提供標題。

  1. 標題欄位中,輸入威脅模型的描述性名稱。

    提示

    使用可識別要建模之應用程式或服務的名稱。例如,「billing-service」或「checkout-api」。

新增範圍文件

提供定義威脅模型重點的技術設計文件,例如架構文件、API 規格或設計提案。提供範圍文件時,代理程式會將其分析範圍限定在這些文件中描述的內容。如果您提供來源,範圍文件是選用的。

  1. 範圍文件區段中,使用下列一或多個方法新增文件:

    • 上傳檔案 – 直接上傳設計文件 (DOC、DOCX、JPEG、MD、PDF、PNG 或 TXT)。

    • S3 URIs – 輸入指向存放在已連線 S3 儲存貯體中的文件的 S3 URIs。

    • Confluence 頁面 – 如果您的 Confluence 整合已連接到您的客服人員空間,請從 Confluence 工作區中選取頁面。

提示

為了獲得最佳結果,請包含架構圖、API 規格,以及描述系統元件、資料流程和信任界限的技術文件。

新增來源

選取 AWS Security Agent 用來了解現有系統的原始碼。與範圍文件結合時,原始程式碼會提供目前實作的相關內容 — 代理程式會使用它來了解已存在的內容。如果您提供範圍文件,則來源是選用的。

  1. 來源區段中,使用下列一或多個方法新增來源碼:

整合式儲存庫

從連線至 Agent Space 的儲存庫中選取 (GitHub、GitHub Enterprise Server、GitLab、GitLab Self-Managed 或 Bitbucket)。

  1. 選取您要包含為來源的每個儲存庫旁的核取方塊。

  2. 使用搜尋欄位依名稱尋找特定儲存庫。

注意

只有連線至 Agent Space 的儲存庫才會顯示在這裡。若要新增更多儲存庫,請要求您的管理員更新 Agent Space 組態。

S3 來源

新增指向存放在已連線 S3 儲存貯體中原始碼的 S3 URIs。

  1. 輸入您要包含的每個來源碼位置的 S3 URI。

設定 AWS 資源

選取此威脅模型的 IAM 服務角色和選用的 CloudWatch 日誌群組。

  1. 服務角色下拉式清單中,從設定的服務角色中選取 IAM 角色。

    注意

    服務角色必須具有許可,才能存取 S3 中的原始程式碼並寫入 CloudWatch 日誌。服務角色是在 AWS 管理主控台中的客服人員空間設定期間設定。

  2. (選用) 在日誌群組下拉式清單中,選取要存放威脅模型執行日誌的 CloudWatch 日誌群組。

建立威脅模型

  1. 檢閱您的組態。

  2. 選擇建立威脅模型

系統會將您重新導向至威脅模型詳細資訊頁面,您可以在其中開始執行。

執行威脅模型

建立威脅模型後,開始執行以開始分析。

  1. 在威脅模型詳細資訊頁面上,選擇開始執行

  2. AWS Security Agent 會開始分析您的來源和範圍文件。

您也可以選擇您要執行的威脅模型旁邊的開始執行,從威脅模型清單頁面開始執行。

監控威脅模型執行

追蹤威脅模型執行時的進度。

執行狀態

執行頁面標頭會顯示狀態指示燈:

  • 進行中 – 威脅模型代理程式正在執行。

  • 停止 – 已請求取消;代理正在停止之前完成其目前的任務。

  • 已完成 – 執行已成功完成。

  • 失敗 – 執行發生錯誤。錯誤訊息會顯示詳細資訊。在解決問題後啟動新的執行。

  • 已停止 – 使用者已取消執行。在停止之前產生的任何威脅都會保留。

執行頁面索引標籤

在執行詳細資訊頁面上,在索引標籤之間導覽:

  • 概觀 – 檢視執行摘要 (任務 ID、開始時間、狀態、持續時間),其嚴重性層級圓餅圖會依嚴重性 (關鍵、高、中、低) 顯示威脅的明細。在摘要下方,檢視 STRIDE 威脅類別長條圖,顯示有多少威脅屬於每個 STRIDE 類別。執行完成後,檢視代理程式產生的系統概觀。

  • 組態 – 檢視用於此執行的來源、文件和許可 (服務角色、CloudWatch 日誌群組)。

  • – 檢視威脅分析開始之前執行的預檢狀態,包括記錄基礎設施設定、S3 來源存取驗證 (如適用) 和測試環境設定。進度列會顯示已完成多少檢查。

  • 日誌 – 檢視代理程式在執行期間執行的可篩選任務清單。選取任何任務,以在側邊面板中檢視其詳細日誌輸出。

  • 威脅 – 檢視執行期間識別的威脅 (請參閱 檢閱來自威脅模型的威脅)。

執行歷史記錄

每個威脅模型都會維護所有執行的歷史記錄。在威脅模型詳細資訊頁面上:

  • 執行資料表會列出所有執行及其開始時間、狀態、持續時間、威脅計數和 ID。

  • 選擇任何執行的開始時間連結,以檢視其完整詳細資訊。

提示

更新原始程式碼或修改範圍文件後,請重新執行相同的威脅模型,以查看系統概觀和威脅如何隨時間變化。

編輯威脅模型

若要修改您的威脅模型組態:

  1. 在威脅模型詳細資訊頁面上,選擇編輯

  2. 視需要更新標題、來源、範圍文件或 AWS 資源。

  3. 選擇儲存變更

注意

編輯威脅模型不會影響先前完成的執行。這些快照會保留執行時所使用的組態快照。

刪除威脅模型

若要刪除威脅模型及其所有相關聯的執行和威脅:

  1. 在威脅模型詳細資訊頁面上,開啟動作選單,然後選擇刪除

  2. 確認刪除。

重要

如果執行目前正在進行中,您必須在刪除威脅模型之前將其停止。

後續步驟

執行威脅模型之後:

  • 檢閱系統概觀和威脅 (請參閱 檢閱來自威脅模型的威脅)

  • 在進行變更以確認威脅已解決之後,重新執行威脅模型

  • 隨著應用程式的演進,調整您的來源和範圍文件