このページでは、Security Command Center のリスクエンジンによって生成された攻撃の発生可能性スコアと攻撃パスの理解、調整、使用に役立つ主なコンセプト、原則、制限について説明します。
攻撃パスのスコアと攻撃パスは、次の両方に対して生成されます。
- 有効な高価値リソースセットでリソース インスタンスを露出する、脆弱性と構成ミスの検出結果(脆弱性の検出結果をまとめて)。
- 有効な高価値リソースセット内のリソース。
攻撃の発生可能性スコアと攻撃パスを使用するには、組織レベルで Security Command Center Premium ティアまたはエンタープライズ ティアを有効にする必要があります。プロジェクト レベルで有効にした場合は、攻撃の発生可能性スコアと攻撃パスを使用できません。
攻撃パスは可能性を表示
攻撃パスに実際の攻撃の証拠は表示されません。
リスクエンジンでは、仮定の攻撃者が Google Cloud 環境にアクセスして、Security Command Center ですでに発見された攻撃パスと脆弱性を発見した場合にできることをシミュレートし、攻撃パスと攻撃の発生可能性スコアを生成します。
攻撃パスには、攻撃者が特定のリソースにアクセスできた場合の攻撃方法が示されます。これらの攻撃方法と実際の攻撃を混同しないでください。
同様に、Security Command Center の検出結果またはリソースで攻撃の発生可能性スコアが高い場合でも、攻撃が進行中であるという意味ではありません。
実際の攻撃をモニタリングするには、Event Threat Detection や Container Threat Detection などの脅威検出サービスによって生成された THREAT
クラスの検出結果をモニタリングします。
詳しくは、このページの次のセクションをご覧ください。
攻撃の発生可能性スコア
Security Command Center の検出結果またはリソースに対する攻撃の発生可能性スコアは、悪意のある人物が Google Cloud 環境にアクセスできた場合に、どの程度リソースが潜在的な攻撃にさらされるかを測定します。
有害な組み合わせの検出結果に対する攻撃の発生可能性スコアは、Google Cloud コンソールの検出結果ページなどのいくつかのコンテキストでは、有害な組み合わせスコアと呼ばれます。
スコアの計算方法の説明、修正策の優先順位付けに関する一般的なガイダンス、その他の特定のコンテキストでは、攻撃の発生可能性スコアという用語は有害な組み合わせスコアにも適用されます。
検出結果におけるスコアは、検出されたセキュリティの問題によって 1 つ以上の高価値リソースが潜在的なサイバー攻撃にどの程度露出されるかを示す尺度です。高価値リソースの場合、スコアはリソースがサイバー攻撃にどの程度さらされているかを測定する尺度です。
ソフトウェアの脆弱性、構成ミス、有害な組み合わせの検出結果のスコアを使用して、それらの検出結果の修正に優先度を付けます。
リソースの攻撃の発生可能性スコアを使用して、ビジネスにとって最も価値の高いリソースを事前に保護します。
攻撃パス シミュレーションでは、Risk Engine は常に公共のインターネットからシミュレートされた攻撃を開始します。したがって、攻撃の発生可能性スコアでは、内部関係者の悪意または過失による露出は考慮されません。
攻撃の発生可能性スコアを受け取る検出結果
攻撃の発生可能性スコアは、サポートされている検出結果カテゴリに記載されているアクティブな検出結果クラスに適用されます。
攻撃パス シミュレーションにはミュートされた検出結果が含まれるため、Risk Engine はミュートされた検出結果のスコアと攻撃パスも計算します。
攻撃パス シミュレーションには有効な検出結果のみが含まれます。ステータスが INACTIVE
の検出結果はシミュレーションに含まれないため、スコアを受け取らず、攻撃パスにも含まれません。
攻撃の発生可能性スコアを受け取るリソース
攻撃パス シミュレーションでは、高価値リソースセットでサポートされているリソースタイプについて、攻撃の発生可能性スコアが計算されます。リソース値の構成を作成して、高価値リソース セットに属するリソースを指定します。
高価値リソースセット内のリソースの攻撃の発生可能性スコアが 0 の場合、攻撃パス シミュレーションでは、潜在的な攻撃者が悪用できるリソースへのパスは特定されませんでした。
攻撃パス シミュレーションは、次のリソースタイプをサポートしています。
aiplatform.googleapis.com/Dataset
aiplatform.googleapis.com/Featurestore
aiplatform.googleapis.com/MetadataStore
aiplatform.googleapis.com/Model
aiplatform.googleapis.com/TrainingPipeline
bigquery.googleapis.com/Dataset
cloudfunctions.googleapis.com/CloudFunction
compute.googleapis.com/Instance
container.googleapis.com/Cluster
sqladmin.googleapis.com/Instance
storage.googleapis.com/Bucket
スコアの計算
攻撃パス シミュレーションが実行されるたびに、攻撃の発生可能性スコアが再計算されます。各攻撃パス シミュレーションでは、いくつかのシミュレーションが行われます。このシミュレーションでは、シミュレーションされた攻撃者が既知の攻撃方法と手法で高価値リソースにアクセスし、悪用を試みます。
攻撃パス シミュレーションは 1 日に最大 4 回まで実行できます(6 時間ごとに 1 回)。組織の規模が大きくなると、シミュレーション時間は長くなりますが、必ず 1 日に 1 回以上実行されます。リソースまたはリソース値の構成を作成、変更、削除しても、シミュレーションはトリガーされません。
シミュレーションでは、次のようなさまざまな指標を使用してスコアが計算されます。
- 露出された高価値リソースに割り当てられる優先度値。優先度値には次の値を割り当てることができます。
- HIGH = 10
- MED = 5
- LOW = 1
- 攻撃者が特定のリソースに到達するまでに利用する可能性のあるパスの数。
- シミュレーションされた攻撃者が、特定の攻撃パスの終端で高価値リソースに到達して悪用できる回数。シミュレーションの合計数に対する割合で表されます。
- 検出結果のみ(検出された脆弱性または構成ミスによって露出された高価値リソースの数)。
リソースの攻撃の発生可能性スコアは 0 ~ 10 の範囲で指定できます。
大まかに言うと、シミュレーションでは、攻撃の成功率にリソースの数値優先度を乗算してリソーススコアが計算されます。
検出結果のスコアには固定の上限はありません。高価値リソースセットの露出したリソースに対する攻撃パスで検出結果が発生する頻度が高く、それらのリソースの優先度の値が高いほど、スコアは高くなります。
スコアが HIGH レベルな場合、シミュレーションではリソーススコアの場合と同じ計算を使用して検出結果スコアが計算されますが、検出結果スコアについては、シミュレーションは計算結果に検出結果が公開する高価値リソースの数を乗算します。
スコアの変化
スコアは、攻撃パス シミュレーションが実行されるたびに変わる可能性があります。今日のスコアがゼロである検出結果またはリソースのスコアが、明日ゼロではない場合もあります。
スコアは、次のような理由で変化します。
- 価値の高いリソースを直接または間接的に露出する脆弱性の検出または修正。
- 環境内のリソースの追加や削除。
シミュレーションの実行後に検出結果やリソースに加えた変更は、次のシミュレーションが実行されるまでスコアに反映されません。
スコアを使用して検出結果の修復の優先順位を付ける
攻撃の発生可能性スコアまたは有害な組み合わせスコアに基づいて検出結果の修正に優先順位を付けるには、次の点を考慮してください。
- スコアがゼロより大きい検出結果は、高価値リソースがなんらかの方法で潜在的な攻撃にさらされるため、スコアがゼロの検出結果よりも修正が優先されます。
- 検出結果のスコアが高いほど、その検出結果によって価値の高いリソースが露出され、修正の優先度を高める必要があります。
通常は、スコアが最も大きい高価値リソースへの攻撃パスを効果的にブロックできる検出結果の修正を優先します。
有害な組み合わせの検出結果と別の検出結果クラスの検出結果のスコアがほぼ等しい場合hは、有害な組み合わせの検出結果の修復を優先します。これは、攻撃者がクラウド環境にアクセスした場合にたどる可能性のある、パブリック インターネットから 1 つ以上の高価値リソースへの完全なパスを表しているためです。
Google Cloud コンソールまたはセキュリティ運用コンソールの Security Command Center の [検出結果] ページで、ページパネルの列見出しをクリックして、検出結果をスコアで並べ替えることができます。
Google Cloud コンソールで、攻撃の発生可能性スコアが指定した数値より大きい検出結果のみを返すフィルタを検出結果クエリに追加することで、スコアが最も高い検出結果を表示することもできます。
Security Operations コンソールの [ケース] ページで、有害な組み合わせのケースを攻撃の発生可能性スコアで並べ替えることもできます。
修正できない検出結果
場合によっては、既知の許容されているリスクを示しているか、検出結果を簡単に修正できないため、高い攻撃の発生可能性スコアを持つ検出結果を修正できない場合があります。その場合は、他の方法でリスクを軽減する必要があります。関連する攻撃パスを確認することで、考えられる他の緩和策が見つかる場合があります。
攻撃の発生可能性スコアを使用してリソースを保護する
リソースに対する攻撃の発生可能性スコアがゼロでない場合、攻撃パスのシミュレーションによって、公共のインターネットからリソースへの 1 つ以上の攻撃パスが識別されたことを意味します。
高価値リソースに対する攻撃の発生可能性スコアを表示する手順は次のとおりです。
Google Cloud コンソールで、Security Command Center の [アセット] ページに移動します。
[高価値リソースセット] タブを選択します。高価値リソース セット内のリソースは、攻撃の発生可能性スコアの降順で表示されます。
リソースの攻撃パスを表示するには、[攻撃の発生可能性スコア] 列の行にある数値をクリックします。公共のインターネットからリソースへの攻撃パスが表示されます。
攻撃パスを確認し、検出結果を示すノードに赤い円がないか確認します。攻撃パスの解釈方法については、攻撃パスをご覧ください。
赤い円が表示されているノードをクリックすると、検出結果を確認できます。
検出結果の修正を開始します。
[設定] の [攻撃パス シミュレーション] タブで、[前回のシミュレーションで使用された高価値リソースを表示] をクリックして、高価値リソースの攻撃の発生可能性スコアを表示することもできます。
攻撃の発生可能性スコアが 0
の場合
リソースに対する攻撃の発生可能性スコア 0
は、最新の攻撃パス シミュレーションにおいて、Security Command Center が攻撃者がリソースに到達するための可能性のある潜在的なパスを特定しなかったことを意味します。
検出結果に対する攻撃の発生可能性スコアが 0
の場合、最新の攻撃シミュレーションで攻撃者は検出結果から高価値リソースに到達できませんでした。
ただし、攻撃の発生可能性スコアが 0
の場合でも、リスクがないわけではありません。攻撃の発生可能性スコアは、サポートされている Google Cloud サービス、リソースと Security Command Center の検出結果が、公共のインターネットからの潜在的な脅威にさらされる可能性を表しています。このスコアでは、内部関係者、ゼロデイ脆弱性、サードパーティのインフラストラクチャからの脅威は考慮されていません。
攻撃の発生可能性スコアがない場合
検出結果またはリソースにスコアがない場合、次の理由が考えられます。
- 検出結果が最新の攻撃パス シミュレーションの後に発行されています。
- リソースが最新の攻撃パス シミュレーション後に高価値リソースセットに追加された。
- 現在、攻撃の発生可能性機能は、検出結果のカテゴリまたはリソースタイプをサポートしていません。
サポートされている検出結果のカテゴリのリストについては、リスクエンジン機能のサポートをご覧ください。
サポートされているリソースタイプの一覧については、攻撃の発生可能性スコアが割り当てられるリソースをご覧ください。
リソース値
Google Cloud 上のすべてのリソースには価値がありますが、Security Command Center では攻撃パスを特定し、高価値リソース(重要なリソースとも呼ばれます)として指定したリソースに対してのみ攻撃の発生可能性スコアを計算します。
高価値リソース
Google Cloud の高価値リソースとは、ビジネスが潜在的な攻撃から保護するために特に重要なリソースです。たとえば、高価値リソースは、貴重なデータや機密データを保存するリソースや、ビジネス クリティカルなワークロードをホストするリソースです。
リソースの値の構成でリソースの属性を定義することで、リソースを高価値リソースとして指定します。Security Command Center は、最大 1,000 個のリソース インスタンスの制限まで、構成で指定した属性に一致するリソース インスタンスを高価値リソースとして扱います。
優先度値
高価値として指定したリソースの中で、一部のリソースのセキュリティを優先する必要がある場合があります。たとえば、データリソースのセットに高価値のデータが含まれていても、そのデータリソースの一部には他のリソースよりも機密性の高いデータが含まれている場合があります。
高価値リソース セット内のリソースのセキュリティを優先する必要性を反映したスコアが得られるように、リソースを高価値として指定するリソース値の構成で優先度の値を割り当てます。
Sensitive Data Protection を使用する場合は、リソースに含まれるデータの機密性に基づいて、リソースを自動的に優先度を付けることもできます。
リソースの優先度値を手動で設定する
リソース値の構成では、次のいずれかの優先度値を指定して、一致する高価値リソースに優先度を割り当てます。
LOW
= 1MEDIUM
= 5HIGH
= 10NONE
= 0
リソース値の構成で優先度値を LOW
に指定した場合でも、一致するリソースは高価値リソースです。攻撃パスのシミュレーションでは、これらを低い優先度で扱い、優先度の値が MEDIUM
または HIGH
の高価値リソースよりも低い攻撃の発生可能性スコアを割り当てます。
複数の構成で同じリソースに異なる値を割り当てる場合は、構成で値 NONE
が割り当てられていない限り、最大値が適用されます。
リソース値 NONE
は、一致するリソースを高価値リソースと見なせず、同じリソースの他のリソース値の構成をオーバーライドします。このため、NONE
を指定する構成は、限られたリソースセットにのみ適用してください。
データの機密性によってリソースの優先度値を自動的に設定する
Sensitive Data Protection を使用して、データ プロファイルを Security Command Center に公開すると、Security Command Center が構成され、リソースに含まれるデータの機密性によって、特定の価値の高いリソースの優先度値が自動的に設定されます。
リソースの値の構成でリソースを指定するときに、データの機密性の優先度付けを有効にします。
有効にされて、Sensitive Data Protection の検出でリソース内のデータが MEDIUM
または HIGH
の感度に分類されると、攻撃パス シミュレーションによってデフォルトでリソースの優先度が同じ値に設定されます。
データの機密性レベルは Sensitive Data Protection によって定義されていますが、次のように解釈できます。
- 機密性の高いデータ
- Sensitive Data Protectionの検出により、リソース内で高機密データのインスタンスが少なくとも 1 つ検出されました。
- 機密性が中程度のデータ
- Sensitive Data Protection の検出で、リソース内で機密性が中程度のインスタンスが少なくとも 1 つ検出され、高機密データのインスタンスは検出されませんでした。
- 機密性が低いデータ
- Sensitive Data Protection の検出では、リソース内の機密データや自由形式のテキスト、非構造化データは検出されませんでした。
Sensitive Data Protection の検出で、一致するデータリソース内に機密性が低いデータのみが識別される場合、そのリソースは高価値リソースとして指定されません。
低い機密性のデータのみを含むデータリソースを優先度の低い高価値リソースとして指定する必要がある場合は、重複するリソース値の構成を作成し、データの機密性の優先度付けを有効にする代わりに、優先度の値の LOW
を指定します。Sensitive Data Protection を使用する構成は、LOW
優先度値を割り当てる構成をオーバーライドしますが、HIGH
または MEDIUM
の機密データを含むリソースのみが対象になります。
リソース値の構成で機密データが検出された場合には、Security Command Center が使用するデフォルトの優先度の値を変更できます。
Sensitive Data Protection の詳細については、Sensitive Data Protection の概要をご覧ください。
データの機密性の優先度付けとデフォルトの高価値リソースセット
独自の高価値リソースセットを作成する前に、Security Command Center は、デフォルトの高価値リソースセットを使用して、攻撃の発生可能性スコアと攻撃パスを計算します。
Sensitive Data Protection の検出を使用する場合、Security Command Center は、HIGH
または MEDIUM
の機密性データを含むサポートされているデータ リソースタイプのインスタンスをデフォルトの高価値リソースセットに自動的に追加します。
自動化されたデータの機密性の優先度値でサポートされている Google Cloud リソースタイプ
攻撃パス シミュレーションでは、次のデータ リソースタイプに対してのみ、Sensitive Data Protection の検出のデータ機密性の分類に基づいて優先度値を自動的に設定できます。
bigquery.googleapis.com/Dataset
sqladmin.googleapis.com/Instance
storage.googleapis.com/Bucket
自動化されたデータの機密性の優先度値でサポートされている AWS リソースタイプ
攻撃パス シミュレーションでは、次の AWS データ リソースタイプに対してのみ、Sensitive Data Protection の検出のデータ機密性の分類に基づいて優先度値を自動的に設定できます。
- Amazon S3 バケット
高価値リソースセット
価値の高いリソースセットは、Google Cloud 環境で定義され、保護と防御する最も重要なリソースのコレクションです。
高価値リソースセットを定義するには、Google Cloud 環境のどのリソースが高価値リソースセットに属しているかを指定する必要があります。高価値リソースセットを定義するまで、攻撃の発生可能性スコア、攻撃パス、有害な組み合わせの検出結果にセキュリティの優先度が正確に反映されません。
リソース値の構成を作成することで、高価値リソースセット内のリソースを指定します。すべてのリソース値の構成を組み合わせて、高価値リソースセットを定義します。詳細については、リソース値の構成をご覧ください。
最初のリソース値の構成を定義するまで、Security Command Center はデフォルトの高価値リソースセットを使用します。このデフォルト セットは、パス シミュレーションがサポートするすべてのリソースタイプに適用されます。詳細については、デフォルトの高価値リソースセットをご覧ください。
攻撃の発生可能性スコアや一致する構成など、最後の攻撃パス シミュレーションで使用された高価値リソースセットを表示するには、高価値リソースセットを表示するをご覧ください。
リソース値の構成
リソース値の構成を使用して、高価値リソースセットのリソースを管理します。
リソース値の構成は、Google Cloud コンソールの Security Command Center の [設定] ページにある [攻撃パス シミュレーション] タブで作成します。
リソース値の構成では、Security Command Center が高価値リソースセットにリソースを追加するために必要な属性を指定します。
指定できる属性には、リソースタイプ、リソースタグ、リソースラベル、親プロジェクト、フォルダ、組織などがあります。
また、構成内のリソースにリソース値を割り当てます。このリソース値は、価値の高いリソース セット内の他のリソースと比較して構成内のリソースを優先します。詳細については、リソース値をご覧ください。
Google Cloud 組織には、最大 100 個のリソース値の構成を作成できます。
作成するすべてのリソース値の構成には、Security Command Center が攻撃パス シミュレーションに使用する高価値リソースセットを定義します。
リソースの属性
リソースを高価値リソースセットに含めるには、そのリソースをリソース値の構成で指定した属性と一致させる必要があります。
指定できる属性は次のとおりです。
- リソースタイプ
Any
。Any
を指定すると、指定したスコープ内でサポートされているすべてのリソースタイプに構成が適用されます。Any
がデフォルト値です。 - リソースが存在する必要があるスコープ(親組織、フォルダ、プロジェクト)。デフォルトのスコープは組織です。組織またはフォルダを指定すると、子フォルダまたはプロジェクト内のリソースにも構成が適用されます。
- 必要に応じて、各リソースに含まれる 1 つ以上のタグまたはラベル。
1 つ以上のリソース値の構成を指定しても、Google Cloud 環境に、いずれかの構成で指定された属性に一致するリソースがない場合、Security Command Center は SCC Error
検出結果を発行し、デフォルトの高価値リソースセットにフォールバックします。
デフォルトの高価値リソースセット
Security Command Center は、リソース値の構成が定義されていない場合や、リソースに一致する構成が定義されていない場合、デフォルトの高価値リソースセットを使用して攻撃の発生可能性スコアを計算します。
Sensitive Data Protection の検出を使用しない限り、Security Command Center は、デフォルトの高価値リソース内のリソースに優先度の値 LOW
を割り当てます。この場合、Security Command Center は、高機密または中程度の機密性のデータに、対応する優先度値の HIGH
または MEDIUM
を割り当てます。
環境内の 1 つ以上のリソースに一致するリソース値の構成が 1 つ以上ある場合、Security Command Center はデフォルトの高価値リソースセットの使用を停止します。
セキュリティの優先度を正確に反映する攻撃の発生可能性スコアと有害な組み合わせスコアを取得するには、デフォルトの高価値リソースセットを独自の高価値リソースセットに置き換えます。詳細については、高価値リソースセットを定義して管理するをご覧ください。
次のリストに、デフォルトの高価値リソースセットに含まれるリソースタイプを示します。
bigquery.googleapis.com/Dataset
cloudfunctions.googleapis.com/CloudFunction
compute.googleapis.com/Instance
container.googleapis.com/Cluster
sqladmin.googleapis.com/Instance
storage.googleapis.com/Bucket
高価値リソースセットのリソースの上限
Security Command Center では、高価値リソース内のリソース数が 1,000 に制限されています。
1 つ以上のリソース値の構成の属性仕様が非常に広い場合は、属性仕様に一致するリソースの数が 1,000 を超えることがあります。
一致するリソースの数が上限を超えると、Security Command Center は、リソース数が制限に達するまでリソースをセットから除外します。Security Command Center は、値が小さいと最初にリソースを除外します。同じ値を持つリソースのうち、Security Command Center は、除外されたリソースをリソースタイプ間で分散するアルゴリズムにより、リソース インスタンスを除外します。
価値の高いリソースセットから除外されたリソースは、攻撃の発生可能性スコアの計算で考慮されません。
スコア計算でインスタンスの上限を超えたことを警告するため、Security Command Center は SCC error
の検出結果を発行し、Google Cloud コンソールの [攻撃パス シミュレーション] 設定タブにメッセージを表示します。インスタンスのデフォルト上限を超える値を設定すると、Security Command Center は SCC error
の検出結果を発行しません。
制限を超えないようにするには、リソース値の構成を調整して、高価値リソースセット内のインスタンスを調整します。
高価値リソースセットを絞り込むには、次のような方法があります。
- タグまたはラベルを使用して、特定のリソースタイプまたは指定したスコープ内の一致数を減らします。
- 別の構成で指定されたリソースのサブセットに
NONE
の値を割り当てるリソース値の構成を作成します。NONE
の値を指定すると、他の構成がオーバーライドされ、高価値リソースセットからリソース インスタンスが除外されます。 - リソース値の構成でスコープの指定を減らします。
LOW
の値を割り当てるリソース値の構成を削除します。
高価値リソースの選択
高価値リソースセットを使用するには、環境内で真に価値の高いリソース インスタンスを判断する必要があります。
通常、真に価値の高いアプリは、センシティブ データを処理して保存するリソースです。たとえば、Google Cloud では、Compute Engine インスタンス、BigQuery データセット、Cloud Storage バケットなどです。
踏み台サーバーなど、高価値リソースに隣接するリソースを高価値として指定する必要はありません。攻撃パス シミュレーションでは、これらの隣接するリソースがすでに考慮されています。また、これらを高価値として指定すると、攻撃スコアの信頼性が低下する可能性があります。
マルチクラウド サポート
攻撃パス シミュレーションでは、他のクラウド サービス プロバイダのプラットフォームのデプロイメントのリスクを評価できます。
別のプラットフォームへの接続を確立したら、Google Cloud のリソースと同様に、リソース値の構成を作成して、他のクラウド サービス プロバイダで高価値リソースを指定できます。
Security Command Center は、他のクラウド プラットフォームで実行されるシミュレーションとは別に、クラウド プラットフォームのシミュレーションを実行します。
別のクラウド サービス プロバイダの最初のリソース値の構成を作成するまで、Security Command Center は、クラウド サービス プロバイダに固有のデフォルトの高価値リソースセットを使用します。デフォルトの高価値リソースセットは、すべてのサポートされているリソースを高価値リソースとして指定します。
サポートされているクラウド サービス プロバイダ プラットフォーム
Security Command Center では、Google Cloud に加えて、Amazon Web Services(AWS)の攻撃パス シミュレーションを実行できます。詳しくは以下をご覧ください。
攻撃パス
攻撃パスは、仮定の攻撃者が公共のインターネットから高価値リソース インスタンスの 1 つに到達する可能性のある、1 つ以上の潜在的なパスをインタラクティブかつ視覚的に示したものです。
攻撃パス シミュレーションでは、攻撃者が、Security Command Center が環境内で検出した脆弱性や構成ミスに既知の攻撃方法を適用し、高価値リソースに到達しようとした場合に何が起こるかをモデル化することで、潜在的な攻撃パスを特定します。
攻撃パスを表示するには、Google Cloud コンソールで検出結果またはリソースの攻撃の発生可能性スコアをクリックします。
セキュリティ運用コンソールで有害な組み合わせのケースを表示すると、ケースの概要タブで有害な組み合わせの簡略化された攻撃パスを確認できます。簡略化された攻撃パスには、完全な攻撃パスへのリンクが含まれています。有害な組み合わせの検出結果の攻撃パスの詳細については、有害な組み合わせの攻撃パスをご覧ください。
攻撃パスが大きい場合は、画面右側にある攻撃パスのミニチュア ビューを赤い四角で囲んでいるセレクタをドラッグして、攻撃パスのビューを変更できます。
Google Cloud コンソールに攻撃パスが表示されたら、[AI サマリープレビュー] をクリックして、攻撃パスの説明を表示できます。説明は、人工知能(AI)を使用して動的に生成されます。詳細については、AI 生成の概要をご覧ください。
攻撃パスでは、攻撃パス上のリソースがボックスまたはノードとして表示されます。行は、リソース間の潜在的なアクセスを表します。攻撃パスは、ノードと線で表します。
攻撃パスのノード
攻撃パス内のノードは、攻撃パスのリソースを表します。
ノード情報の表示
攻撃パス内の各ノードをクリックすると、その詳細を表示できます。
ノードのリソース名をクリックすると、そのリソースの詳細とリソースに影響する検出結果が表示されます。
[ノードを開きます] をクリックすると、攻撃者がリソースにアクセスできた場合に可能な攻撃方法が表示されます。
ノードの種類
ノードには次の 3 種類があります。
- シミュレートされた攻撃の開始点またはエントリ ポイント。これは公共のインターネットです。エントリ ポイント ノードをクリックすると、エントリ ポイントの説明と、攻撃者が環境へのアクセスに使用する攻撃方法が表示されます。
- 攻撃者がパスに沿って前進するために使用可能な影響を受けるリソース。
- パスの末尾にある露出したリソース。これは、価値の高いリソースセット内のリソースの 1 つです。定義済みまたはデフォルトの高価値リソースセット内のリソースのみを露出したリソースにできます。リソース値の構成を作成して、高価値リソースセットを定義します。
アップストリーム ノードとダウンストリーム ノード
攻撃パスでは、ノードは他のノードからのアップストリームまたはダウンストリームになります。アップストリーム ノードは、エントリ ポイントと攻撃パスの最上部近くに存在します。ダウンストリーム ノードは、攻撃パスの下部で、露出した価値の高いリソースに近い場所にあります。
複数のコンテナ リソース インスタンスを表すノード
同じ特性を持つ複数のコンテナ リソースタイプを 1 つのノードで表すことができます。
次のコンテナ リソースタイプの複数のインスタンスは、1 つのノードで表すことができます。
- ReplicaSet コントローラ
- Deployment コントローラ
- Job コントローラ
- CronJob コントローラ
- DaemonSet コントローラ
攻撃パスの線
攻撃パスでは、ボックス間の線は、攻撃者が価値の高いリソースに到達するために悪用できる可能性があるリソース間のアクセス可能性を表します。
これらの線は、Google Cloud で定義されているリソース間の関係を表していません。
複数のアップストリーム ノードからダウンストリーム ノードを参照するパスが複数ある場合、アップストリーム ノードは、AND
関係または OR
関係のどちらかになります。
AND
関係は、攻撃者がパス上のダウンストリーム ノードにアクセスするために、両方のアップストリーム ノードにアクセスする必要があることを意味します。
たとえば、公共のインターネットから攻撃パスの最後にある高価値リソースへの直線は、攻撃パス内の少なくとも 1 つの他の行と AND
関係にあります。攻撃者は、Google Cloud 環境と、攻撃パスに示された少なくとも 1 つのリソースの両方にアクセスしない限り、高価値リソースにアクセスできません。
OR
関係は、攻撃者がダウンストリーム ノードにアクセスするために、アップストリーム ノードのうち 1 つのみにアクセスする必要があることを意味します。
攻撃パス シミュレーション
可能性のあるすべての攻撃パスを決定し、攻撃の発生可能性スコアを計算するため、Security Command Center では高度な攻撃パス シミュレーションを行います。
シミュレーションのスケジュール
攻撃パス シミュレーションは 1 日に最大 4 回(6 時間ごとに)実行できます。組織の規模が大きくなると、シミュレーション時間は長くなりますが、必ず 1 日に 1 回以上実行されます。リソースまたはリソース値の構成を作成、変更、削除しても、シミュレーションはトリガーされません。
攻撃パス シミュレーションのステップ
シミュレーションは次の 3 つのステップで構成されます。
- モデルの生成: Google Cloud 環境のモデルは、環境データに基づいて自動的に生成されます。このモデルは環境をグラフで表現したものであり、攻撃パスの分析に合わせて調整されています。
- 攻撃パス シミュレーション: 攻撃パス シミュレーションはグラフモデルに対して行われます。シミュレーションでは、仮想攻撃者が高価値リソースセット内のリソースに到達し、悪用しようとします。このシミュレーションでは、ネットワーク、IAM、構成、構成ミス、脆弱性など、特定のリソースとリレーションの分析情報を利用します。
- 分析情報レポート: シミュレーションに基づいて、Security Command Center は、高価値リソースと、それらを露出する検出結果に攻撃の発生可能性スコアを割り当て、攻撃者がこれらのリソースに到達できる潜在的なパスを可視化します。
シミュレーション実行の特徴
攻撃の発生可能性スコア、攻撃パスの分析情報、攻撃パスを提供することに加えて、攻撃パスのシミュレーションには次の特徴があります。
- ライブ環境に影響しない。すべてのシミュレーションは仮想モデルで実施され、モデルの作成には読み取りアクセスのみを使用します。
- 動的である。モデルは、API 読み取りアクセスのみによってエージェントなしで作成されます。これにより、シミュレーションは時間の経過とともに環境の変化を動的に追跡できます。
- 仮想攻撃者がいて、できるだけ多く手法と脆弱性を試して、価値の高いリソースに到達し、悪用します。これには、脆弱性、構成、構成ミス、ネットワーク関係などの「既知のもの」だけでなく、フィッシングや漏洩した認証情報など、存在することを認識している、可能性の低い「既知の不明な」リスクも含まれます。
- 自動化されている。このツールには攻撃ロジックが組み込まれています。大量のクエリや大規模なデータセットを構築または維持する必要はありません。
攻撃者のシナリオと手段
シミュレーションでは、Security Command Center は、Google Cloud 環境へのアクセス権を取得し、リソースおよび検出された脆弱性を介してアクセスされる可能性のあるパスに従って、攻撃者が価値の高いリソースを悪用する試みを論理的に表します。
仮想攻撃者
シミュレーションで使用する仮想攻撃には次の特徴があります。
- 攻撃者は外部にいる。攻撃者は Google Cloud 環境の正当なユーザーではありません。このシミュレーションでは、環境への正当なアクセス権を持つユーザーが故意または過失によって行う攻撃のモデル化は行いません。
- 攻撃は公共のインターネットから開始します。攻撃を開始するには、攻撃者はまず公共のインターネットから環境へのアクセス権を取得する必要があります。
- 攻撃者は永続的です。特定の攻撃方法の難易度が原因で、攻撃者がやる気をなくしたり関心を失ったりすることはありません。
- 攻撃者は熟練し、知識があります。攻撃者は、既知の手法や技法を試用して、価値の高いリソースにアクセスします。
初期アクセス
各仮想シミュレーションでは、次の方法を使用して、公共のインターネットから環境内のリソースへのアクセス権を取得します。
- 公共のインターネットからアクセス可能なサービスとリソースを見つけて接続します。
- Compute Engine 仮想マシン(VM)インスタンスと Google Kubernetes Engine ノードのサービス
- データベース
- コンテナ
- Cloud Storage バケット
- Cloud Run 関数
- 次の鍵と認証情報へのアクセス権を取得します。
- サービス アカウント キー
- ユーザー指定の暗号鍵
- VM インスタンスの SSH 認証鍵
- プロジェクト全体の SSH 認証鍵
- 外部鍵管理システム
- 多要素認証(MFA)が適用されていないユーザー アカウント
- 傍受された仮想 MFA トークン
- 盗まれた認証情報を使用するか、Mandiant Attack Surface Management と VM Manager によって報告された脆弱性を悪用して、一般公開されているクラウド アセットにアクセスします。
シミュレーションで環境へのエントリ ポイントが見つかった場合、シミュレーションの仮想攻撃者は、環境内のセキュリティ構成と脆弱性を継続的に探索して悪用することで、エントリ ポイントから高価値リソースにアクセスし、悪用を試みます。
戦術と手法
このシミュレーションでは、正当なアクセス権、ラテラル ムーブメント、権限昇格、脆弱性、構成ミス、コード実行など、さまざまな手法と手法が使用されます。
CVE データの組み込み
脆弱性の検出結果に対する攻撃の発生可能性スコアを計算する際、攻撃パスのシミュレーションでは、脆弱性の CVE レコード、CVSS スコア のデータ、および Mandiant によって提供される脆弱性の悪用可能性の評価が考慮されます。
次の CVE 情報が考慮されます。
- 攻撃ベクトル: 攻撃者が CVE を悪用するには、CVSS 攻撃ベクトルで指定されたアクセスレベルが必要です。たとえば、パブリック IP アドレスとオープンポートを持つアセットで見つかったネットワーク攻撃ベクトルのある CVE は、ネットワーク アクセス権を持つ攻撃者によって悪用される可能性があります。攻撃者がネットワーク アクセス権のみを持ち、CVE が物理的なアクセスを必要とする場合、攻撃者は CVE を悪用できません。
- 攻撃の複雑さ: 一般に、攻撃の複雑さが低い脆弱性や構成ミスの検出結果は、攻撃の複雑さが高い検出結果よりも、攻撃の発生可能性スコアが高くなります。
- 悪用アクティビティプレビュー: 一般に、Mandiant のサイバー脅威インテリジェンス アナリストが判断した広範な悪用活動を伴う脆弱性の発見は、既知の悪用活動がなかった発見よりも高い攻撃の発生可能性スコアを取得する可能性が高くなります。