本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立威脅模型
在 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 應用程式中的威脅建模區段。
-
登入 AWS Security Agent Web 應用程式。
-
在左側邊欄中,選擇威脅模型。
-
您會看到現有威脅模型的清單,其中包含其標題、最新執行狀態,以及依嚴重性列出的威脅計數。
建立威脅模型
透過設定其輸入和許可來設定新的威脅模型。
-
在威脅模型頁面上,選擇建立威脅模型。
設定威脅模型詳細資訊
為您的威脅模型提供標題。
-
在標題欄位中,輸入威脅模型的描述性名稱。
提示
使用可識別要建模之應用程式或服務的名稱。例如,「billing-service」或「checkout-api」。
新增範圍文件
提供定義威脅模型重點的技術設計文件,例如架構文件、API 規格或設計提案。提供範圍文件時,代理程式會將其分析範圍限定在這些文件中描述的內容。如果您提供來源,範圍文件是選用的。
-
在範圍文件區段中,使用下列一或多個方法新增文件:
-
上傳檔案 – 直接上傳設計文件 (DOC、DOCX、JPEG、MD、PDF、PNG 或 TXT)。
-
S3 URIs – 輸入指向存放在已連線 S3 儲存貯體中的文件的 S3 URIs。
-
Confluence 頁面 – 如果您的 Confluence 整合已連接到您的客服人員空間,請從 Confluence 工作區中選取頁面。
-
提示
為了獲得最佳結果,請包含架構圖、API 規格,以及描述系統元件、資料流程和信任界限的技術文件。
新增來源
選取 AWS Security Agent 用來了解現有系統的原始碼。與範圍文件結合時,原始程式碼會提供目前實作的相關內容 — 代理程式會使用它來了解已存在的內容。如果您提供範圍文件,則來源是選用的。
-
在來源區段中,使用下列一或多個方法新增來源碼:
整合式儲存庫
從連線至 Agent Space 的儲存庫中選取 (GitHub、GitHub Enterprise Server、GitLab、GitLab Self-Managed 或 Bitbucket)。
-
選取您要包含為來源的每個儲存庫旁的核取方塊。
-
使用搜尋欄位依名稱尋找特定儲存庫。
注意
只有連線至 Agent Space 的儲存庫才會顯示在這裡。若要新增更多儲存庫,請要求您的管理員更新 Agent Space 組態。
S3 來源
新增指向存放在已連線 S3 儲存貯體中原始碼的 S3 URIs。
-
輸入您要包含的每個來源碼位置的 S3 URI。
設定 AWS 資源
選取此威脅模型的 IAM 服務角色和選用的 CloudWatch 日誌群組。
-
在服務角色下拉式清單中,從設定的服務角色中選取 IAM 角色。
注意
服務角色必須具有許可,才能存取 S3 中的原始程式碼並寫入 CloudWatch 日誌。服務角色是在 AWS 管理主控台中的客服人員空間設定期間設定。
-
(選用) 在日誌群組下拉式清單中,選取要存放威脅模型執行日誌的 CloudWatch 日誌群組。
建立威脅模型
-
檢閱您的組態。
-
選擇建立威脅模型。
系統會將您重新導向至威脅模型詳細資訊頁面,您可以在其中開始執行。
執行威脅模型
建立威脅模型後,開始執行以開始分析。
-
在威脅模型詳細資訊頁面上,選擇開始執行。
-
AWS Security Agent 會開始分析您的來源和範圍文件。
您也可以選擇您要執行的威脅模型旁邊的開始執行,從威脅模型清單頁面開始執行。
監控威脅模型執行
追蹤威脅模型執行時的進度。
執行狀態
執行頁面標頭會顯示狀態指示燈:
-
進行中 – 威脅模型代理程式正在執行。
-
停止 – 已請求取消;代理正在停止之前完成其目前的任務。
-
已完成 – 執行已成功完成。
-
失敗 – 執行發生錯誤。錯誤訊息會顯示詳細資訊。在解決問題後啟動新的執行。
-
已停止 – 使用者已取消執行。在停止之前產生的任何威脅都會保留。
執行頁面索引標籤
在執行詳細資訊頁面上,在索引標籤之間導覽:
-
概觀 – 檢視執行摘要 (任務 ID、開始時間、狀態、持續時間),其嚴重性層級圓餅圖會依嚴重性 (關鍵、高、中、低) 顯示威脅的明細。在摘要下方,檢視 STRIDE 威脅類別長條圖,顯示有多少威脅屬於每個 STRIDE 類別。執行完成後,檢視代理程式產生的系統概觀。
-
組態 – 檢視用於此執行的來源、文件和許可 (服務角色、CloudWatch 日誌群組)。
-
預檢 – 檢視威脅分析開始之前執行的預檢狀態,包括記錄基礎設施設定、S3 來源存取驗證 (如適用) 和測試環境設定。進度列會顯示已完成多少檢查。
-
日誌 – 檢視代理程式在執行期間執行的可篩選任務清單。選取任何任務,以在側邊面板中檢視其詳細日誌輸出。
-
威脅 – 檢視執行期間識別的威脅 (請參閱 檢閱來自威脅模型的威脅)。
執行歷史記錄
每個威脅模型都會維護所有執行的歷史記錄。在威脅模型詳細資訊頁面上:
-
執行資料表會列出所有執行及其開始時間、狀態、持續時間、威脅計數和 ID。
-
選擇任何執行的開始時間連結,以檢視其完整詳細資訊。
提示
更新原始程式碼或修改範圍文件後,請重新執行相同的威脅模型,以查看系統概觀和威脅如何隨時間變化。
編輯威脅模型
若要修改您的威脅模型組態:
-
在威脅模型詳細資訊頁面上,選擇編輯。
-
視需要更新標題、來源、範圍文件或 AWS 資源。
-
選擇儲存變更。
注意
編輯威脅模型不會影響先前完成的執行。這些快照會保留執行時所使用的組態快照。
刪除威脅模型
若要刪除威脅模型及其所有相關聯的執行和威脅:
-
在威脅模型詳細資訊頁面上,開啟動作選單,然後選擇刪除。
-
確認刪除。
重要
如果執行目前正在進行中,您必須在刪除威脅模型之前將其停止。
後續步驟
執行威脅模型之後:
-
檢閱系統概觀和威脅 (請參閱 檢閱來自威脅模型的威脅)
-
在進行變更以確認威脅已解決之後,重新執行威脅模型
-
隨著應用程式的演進,調整您的來源和範圍文件