View a markdown version of this page

脅威モデルを作成する - AWS セキュリティエージェント

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

脅威モデルを作成する

AWS Security Agent ウェブアプリケーションに脅威モデルを作成して、アプリケーションのアーキテクチャを分析し、セキュリティの脅威を特定します。脅威モデルは 2 つの主な出力を生成します。1 つはシステムの構築と動作を説明するシステム概要、もう 1 つはシステムの攻撃方法を説明する一連の脅威で、それぞれに重要度レベル、STRIDE 分類、実用的な推奨事項があります。

脅威モデルは 2 種類の入力を受け入れ、どちらかまたは両方を指定できます。

  • スコープドキュメント – 脅威モデルが焦点を当てる内容を定義する技術設計ドキュメント、API 仕様、またはアーキテクチャドキュメント。指定した場合、エージェントはこれらのドキュメントで説明されているコンテキストに分析の範囲を絞り込みます。ファイル (DOC、DOCX、JPEG、MD、PDF、PNG、TXT) をアップロードしたり、S3 URIs を指定したり、統合を通じて Confluence ページを接続したりできます。

  • ソース – 接続されたリポジトリ (GitHub、GitHub Enterprise Server、GitLab、GitLab Self-Managed、または Bitbucket) または S3 の場所からのソースコード。AWS セキュリティエージェントはソースコードを読み取り、既存のシステムを理解します。スコープドキュメントと組み合わせると、ソースコードは現在の実装に関するコンテキストを提供します。

この手順では、入力とアクセス許可を設定して脅威モデルを作成し、実行を開始します。

前提条件

開始する前に、以下があることを確認してください。

  • AWS Security Agent ウェブアプリケーションへのアクセス

  • 少なくとも次のいずれか。

    • ソースとして使用する接続されたリポジトリ (GitHub、GitHub Enterprise Server、GitLab、GitLab Self-Managed、または Bitbucket) (「」を参照脅威モデリングを有効にする)

    • ソースコードを含む S3 バケット

    • スコープドキュメントまたは Confluence 統合としてアップロードするドキュメントを設計する

ヒント

エージェントスペースに接続されているリポジトリまたは S3 バケットがすでにある場合 (コードレビューや侵入テストのセットアップなど)、脅威モデルをすぐに作成できます。追加のセットアップは必要ありません。

AWS Security Agent が脅威モデルを実行する方法

入力によって、AWS セキュリティエージェントが脅威モデルを実行する方法が決まります。シナリオは 3 つあります。

指定した入力 AWS セキュリティエージェントが脅威モデルを実行する方法

ソースのみ (ソースコード)

AWS セキュリティエージェントは、ソースコードを分析してアプリケーションの構造を理解し、コンポーネントを分類し、データフローを抽出し、脅威モデルを構築し、システムの実際の実装方法に基づいて脅威を特定します。

スコープドキュメントのみ (設計ドキュメント)

AWS セキュリティエージェントは、ドキュメントで説明されている設計に焦点を当てた脅威モデルを実行します。スコープドキュメントで説明されているアーキテクチャ、データフロー、コンポーネントに基づいて脅威を識別します。これは、コードが存在する前に設計を脅威モデリングするのに役立ちます。

ソースドキュメントとスコープドキュメントの両方

AWS セキュリティエージェントは、スコープドキュメントで説明されているコンテキスト (新機能の設計ドキュメントなど) に脅威モデルをスコープします。ソースコードを使用して既存のシステムを理解し、その設計が既に実装されているかどうかにかかわらず、スコープドキュメントで説明されている設計を脅威モデル化します。

脅威モデルページにアクセスする

ウェブアプリケーションの脅威モデリングセクションに移動します。

  1. AWS セキュリティエージェントのウェブアプリケーションにログインします。

  2. 左側のサイドバーで、脅威モデルを選択します。

  3. 既存の脅威モデルのリストと、そのタイトル、最新の実行ステータス、重要度別の脅威数が表示されます。

脅威モデルを作成する

入力とアクセス許可を設定して、新しい脅威モデルを設定します。

  1. 脅威モデルページで、脅威モデルの作成を選択します。

脅威モデルの詳細を設定する

脅威モデルのタイトルを指定します。

  1. タイトルフィールドに、脅威モデルのわかりやすい名前を入力します。

    ヒント

    モデル化されるアプリケーションまたはサービスを識別する名前を使用します。たとえば、「billing-service」または「checkout-api」です。

スコープドキュメントを追加する

アーキテクチャドキュメント、API 仕様、設計提案など、脅威モデルが何に焦点を当てているかを定義する技術設計ドキュメントを提供します。スコープドキュメントが提供されると、エージェントはその分析をこれらのドキュメントで説明されているコンテキストにスコープします。ソースを指定する場合、スコープドキュメントはオプションです。

  1. スコープドキュメントセクションで、次の 1 つ以上の方法を使用してドキュメントを追加します。

    • ファイルのアップロード – 設計ドキュメントを直接アップロードします (DOC、DOCX、JPEG、MD、PDF、PNG、TXT)。

    • S3 URIs 接続された S3 バケットに保存されているドキュメントを指す S3 URIs を入力します。

    • Confluence ページ – Confluence 統合がエージェントスペースに接続されている場合は、Confluence ワークスペースからページを選択します。

ヒント

最良の結果を得るには、システムのコンポーネント、データフロー、信頼境界を説明するアーキテクチャ図、API 仕様、技術ドキュメントを含めます。

ソースの追加

AWS セキュリティエージェントが既存のシステムを理解するために使用するソースコードを選択します。スコープドキュメントと組み合わせると、ソースコードは現在の実装に関するコンテキストを提供します。エージェントはそれを使用して、すでに存在するものを理解します。スコープドキュメントを指定する場合、ソースはオプションです。

  1. ソースセクションで、次の 1 つ以上の方法を使用してソースコードを追加します。

統合されたリポジトリ

エージェントスペースに接続されているリポジトリ (GitHub、GitHub Enterprise Server、GitLab、GitLab Self-Managed、または Bitbucket) から選択します。

  1. ソースとして含める各リポジトリの横にあるチェックボックスをオンにします。

  2. 検索フィールドを使用して、特定のリポジトリを名前で検索します。

注記

エージェントスペースに接続されているリポジトリのみがここに表示されます。リポジトリを追加するには、管理者にエージェントスペース設定の更新を依頼してください。

S3 ソース

接続された S3 URIs を追加します。 S3

  1. 含めるソースコードの場所ごとに S3 URI を入力します。

AWS リソースを設定する

この脅威モデルの IAM サービスロールとオプションの CloudWatch ロググループを選択します。

  1. サービスロールドロップダウンで、設定したサービスロールから IAM ロールを選択します。

    注記

    サービスロールには、S3 のソースコードにアクセスして CloudWatch ログに書き込むためのアクセス許可が必要です。サービスロールは、AWS マネジメントコンソールのエージェントスペースのセットアップ中に設定されます。

  2. (オプション) ロググループドロップダウンで、CloudWatch ロググループを選択して脅威モデルの実行ログを保存します。

脅威モデルを作成する

  1. の設定を確認します。

  2. 「脅威モデルの作成」を選択します。

実行を開始できる脅威モデルの詳細ページにリダイレクトされます。

脅威モデルを実行する

脅威モデルを作成したら、実行を開始して分析を開始します。

  1. 脅威モデルの詳細ページで、実行の開始を選択します。

  2. AWS セキュリティエージェントは、ソースとスコープのドキュメントの分析を開始します。

実行する脅威モデルの横にある実行の開始を選択して、脅威モデルリストページから実行を開始することもできます。

脅威モデルの実行をモニタリングする

実行時に脅威モデルの進行状況を追跡します。

実行ステータス

実行ページヘッダーにステータスインジケータが表示されます。

  • 進行中 – 脅威モデルエージェントが実行中です。

  • Stopping – キャンセルがリクエストされました。エージェントは停止する前に現在のタスクを終了しています。

  • 完了 – 実行は正常に終了しました。

  • 失敗 – 実行でエラーが発生しました。エラーメッセージが詳細とともに表示されます。問題を解決した後、新しい実行を開始します。

  • Stopped – 実行はユーザーによってキャンセルされました。停止前に生成された脅威は保持されます。

ページタブを実行する

実行の詳細ページで、タブ間を移動します。

  • 概要 – 実行の概要 (ジョブ ID、開始時刻、ステータス、期間) を重要度レベルの円グラフで表示し、重要度 (重大、高、中、低) 別の脅威の内訳を示します。概要の下に、各 STRIDE カテゴリに分類される脅威の数を示す STRIDE 脅威カテゴリの棒グラフを表示します。実行が完了したら、エージェントによって生成されたシステムの概要を表示します。

  • 設定 – この実行に使用されたソース、ドキュメント、アクセス許可 (サービスロール、CloudWatch ロググループ) を表示します。

  • プリフライト – インフラストラクチャのセットアップのログ記録、S3 ソースアクセスの検証 (該当する場合)、環境のセットアップのテストなど、脅威分析が開始される前に実行されるプリフライトチェックのステータスを表示します。進行状況バーには、完了したチェックの数が表示されます。

  • ログ – 実行中にエージェントが実行したタスクのフィルタリング可能なリストを表示します。タスクを選択すると、詳細なログ出力がサイドパネルに表示されます。

  • 脅威 – 実行中に特定された脅威を表示します (「」を参照脅威モデルからの脅威を確認する)。

実行履歴

各脅威モデルは、すべての実行の履歴を保持します。脅威モデルの詳細ページで、次の操作を行います。

  • 実行テーブルには、開始時刻、ステータス、期間、脅威数、ID を含むすべての実行が一覧表示されます。

  • 実行の開始時刻リンクを選択すると、詳細が表示されます。

ヒント

ソースコードを更新した後、またはスコープドキュメントを修正した後、同じ脅威モデルを再実行して、システムの概要と脅威が時間の経過とともにどのように変化するかを確認します。

脅威モデルを編集する

脅威モデルの設定を変更するには:

  1. 脅威モデルの詳細ページで、編集 を選択します。

  2. 必要に応じて、タイトル、ソース、スコープドキュメント、または AWS リソースを更新します。

  3. [Save changes] (変更の保存) をクリックします。

注記

脅威モデルを編集しても、以前に完了した実行には影響しません。これらは、実行時に使用された設定スナップショットを保持します。

脅威モデルを削除する

脅威モデルとそれに関連するすべての実行と脅威を削除するには:

  1. 脅威モデルの詳細ページで、アクションメニューを開き、削除を選択します。

  2. 削除を確定します。

重要

実行が現在進行中の場合は、脅威モデルを削除する前に実行を停止する必要があります。

次の手順

脅威モデルを実行した後:

  • システムの概要と脅威を確認する (「」を参照脅威モデルからの脅威を確認する)

  • 変更を加えた後に脅威モデルを再実行して、脅威が対処されていることを確認する

  • アプリケーションの進化に合わせてソースとスコープのドキュメントを調整する