攻撃の発生可能性スコアと攻撃パス

このページでは、攻撃パス シミュレーションによって生成された Security Command Center の攻撃の発生可能性スコアと攻撃パスの理解、調整、使用に役立つ主なコンセプト、原則、制限について説明します。

攻撃パス スコアと攻撃パスは、次の両方に対して生成されます。

  • 有効な高価値リソースセットでリソース インスタンスを露出する、脆弱性と構成ミスの検出結果(脆弱性の検出結果をまとめて)。
  • 有効な高価値リソースセット内のリソース。

攻撃パスは可能性を表す

攻撃パスに実際の攻撃の証拠は表示されません。

攻撃パス シミュレーションでは、仮定の攻撃者が Google Cloud 環境にアクセスして、Security Command Center ですでに発見された攻撃パスと脆弱性を発見した場合にできることをシミュレートし、攻撃パスと攻撃の発生可能性スコアを生成します。

攻撃パスには、攻撃者が特定のリソースにアクセスできた場合の攻撃方法が示されます。これらの攻撃方法と実際の攻撃を混同しないでください。

同様に、Security Command Center の検出結果またはリソースで攻撃の発生可能性スコアが高い場合でも、攻撃が進行中であるという意味ではありません。

実際の攻撃をモニタリングするには、Event Threat DetectionContainer Threat Detection などの脅威検出サービスによって生成された THREAT クラスの検出結果をモニタリングします。

詳しくは、このページの次のセクションをご覧ください。

攻撃の発生可能性スコア

Security Command Center の検出結果またはリソースに対する攻撃の発生可能性スコアは、悪意のある人物が Google Cloud 環境にアクセスできた場合に、どの程度リソースが潜在的な攻撃にさらされるかを測定します。

検出結果におけるスコアは、検出されたセキュリティの問題によって 1 つ以上の高価値リソースが潜在的なサイバー攻撃にどの程度露出されるかを示す尺度です。高価値リソースの場合、スコアはリソースがサイバー攻撃にどの程度さらされているかを測定する尺度です。

脆弱性の検出結果に対する攻撃の発生可能性スコアを使用して、検出結果の修正に優先度を付けます。

リソースに対する攻撃の発生可能性スコアを使用して、ビジネスにとって最も価値のあるリソースを積極的に保護します。

攻撃パス シミュレーションは常に、公共のインターネットから攻撃を開始します。したがって、攻撃の発生可能性スコアでは、内部関係者の悪意または過失による露出は考慮されません。

攻撃の発生可能性スコアを受け取る検出結果

攻撃の発生可能性スコアは、サポートされている検出結果のカテゴリに記載されているアクティブな Vulnerability クラスと Misconfiguration クラスの検出結果に適用されます。

攻撃パス シミュレーションにはミュートされた検出結果が含まれます。ミュートされた検出結果も攻撃の発生可能性スコアを受け取り、攻撃パスに含まれます。

攻撃パス シミュレーションには有効な検出結果のみが含まれます。ステータスが INACTIVE の検出結果はシミュレーションに含まれないため、攻撃の発生可能性スコアを受け取らず、攻撃パスにも含まれません。

攻撃の発生可能性スコアを受け取るリソース

攻撃パス シミュレーションは、高価値リソースセットでサポートされているリソースタイプの攻撃の発生可能性スコアを計算します。リソース値の構成を作成して、高価値リソース セットに属するリソースを指定します。

高価値リソースセット内のリソースの攻撃の発生可能性スコアが 0 の場合、攻撃パス シミュレーションでは、潜在的な攻撃者が悪用できるリソースへのパスは特定されませんでした。

攻撃パス シミュレーションは、次のリソースタイプをサポートしています。

  • 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 レベルな場合、シミュレーションではリソーススコアの場合と同じ計算を使用して検出結果スコアが計算されますが、検出結果スコアについては、シミュレーションは計算結果に検出結果が公開する高価値リソースの数を乗算します。

スコアの変化

スコアは、攻撃パス シミュレーションが実行されるたびに変わる可能性があります。今日のスコアがゼロである検出結果またはリソースのスコアが、明日ゼロではない場合もあります。

スコアは、次のような理由で変化します。

  • 高価値リソースを直接または間接的に露出する脆弱性の検出または修正。
  • 環境内のリソースの追加や削除。

シミュレーションの実行後に検出結果やリソースに加えた変更は、次のシミュレーションが実行されるまで攻撃の発生可能性スコアに反映されません。

攻撃の発生可能性スコアを使用して検出結果の修正の優先順位を付ける

攻撃の発生可能性スコアに基づいて検出結果の修正に優先順位を付けるには、次の点を考慮してください。

  • 攻撃の発生可能性スコアがゼロより大きい検出結果は、高価値リソースがなんらかの方法で潜在的な攻撃にさらされるため、スコアがゼロの検出結果よりも修正が優先されます。
  • 検出結果のスコアが高いほど、その検出結果によって高価値リソースが露出される可能性が高くなるため、修正の優先度を上げる必要があります。

通常は、スコアが最も大きい高価値リソースへの攻撃パスを効果的にブロックできる検出結果の修正を優先します。

Google Cloud コンソールの Security Command Center の [検出結果] ページでは、[検出結果のクエリ結果] パネルで [攻撃の発生可能性スコア] 列の見出しをクリックすることで、検出結果を攻撃の発生可能性スコアで並べ替えることができます。

攻撃の発生可能性スコアが指定した数値より大きい検出結果のみを返すフィルタを検出結果クエリに追加することで、スコアが最も高い検出結果を表示することもできます。

修正できない検出結果

場合によっては、既知の許容されているリスクを示しているか、検出結果を簡単に修正できないため、攻撃の発生可能性スコアの大きい検出結果を修正できない場合があります。その場合は、他の方法でリスクを軽減する必要があります。関連する攻撃パスを確認することで、考えられる他の緩和策が見つかる場合があります。

攻撃の発生可能性スコアを使用してリソースを保護する

リソースに対する攻撃の発生可能性スコアがゼロでない場合、攻撃パスのシミュレーションによって、公共のインターネットからリソースへの 1 つ以上の攻撃パスが識別されたことを意味します。

高価値リソースに対する攻撃の発生可能性スコアを表示する手順は次のとおりです。

  1. Google Cloud コンソールで Security Command Center の [アセット] ページに移動します。

    [アセット] に移動

  2. [高価値リソースセット] タブを選択します。高価値リソース セット内のリソースは、攻撃の発生可能性スコアの降順で表示されます。

  3. リソースの攻撃パスを表示するには、[攻撃の発生可能性スコア] 列の行の数値をクリックします。公共のインターネットからリソースへの攻撃パスが表示されます。

  4. 攻撃パスを確認し、検出結果を示すノード上の赤い円を探します。

  5. 赤い丸が付いているノードをクリックして、検出結果を確認します。

  6. 検出結果を修正するためのアクションを開始します。

[設定] の [攻撃パス シミュレーション] タブで、[前回のシミュレーションで使用された重要なリソース] をクリックして、高価値リソースの攻撃の発生可能性スコアを表示することもできます。

攻撃の発生可能性スコアが 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 = 1
  • MEDIUM = 5
  • HIGH = 10
  • NONE = 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 の機密性データを含むサポートされているデータ リソースタイプのインスタンスをデフォルトの高価値リソースセットに自動的に追加します。

自動化されたデータの機密性の優先度値でサポートされるリソースタイプ

攻撃パス シミュレーションでは、次のデータ リソースタイプに対してのみ、Sensitive Data Protectionのデータ機密性の分類に基づいて優先度値を自動的に設定できます。

  • bigquery.googleapis.com/Dataset
  • sqladmin.googleapis.com/Instance

高価値リソースセット

高価値リソースセットは、Google Cloud 環境で定義され、保護と防御が必要な最も重要なリソースのコレクションです。

高価値リソースセットを定義するには、Google Cloud 環境のどのリソースが高価値リソースセットに属しているかを指定する必要があります。高価値リソースセットを定義するまで、攻撃の発生可能性スコアと攻撃パスにセキュリティの優先度が正確に反映されません。

リソース値の構成を作成することで、高価値リソースセット内のリソースを指定します。すべてのリソース値の構成の組み合わせにより、高価値リソースセットが定義されます。詳細については、リソース値の構成をご覧ください。

最初のリソース値の構成を定義するまで、Security Command Center はデフォルトの高価値リソースセットを使用します。このデフォルト セットは、パス シミュレーションがサポートするすべてのリソースタイプに適用されます。詳細については、デフォルトの高価値リソースセットをご覧ください。

最後の攻撃パスのシミュレーションで使用された価値の高いリソースセットは、[高価値リソースセット] タブをクリックし、Google Cloud コンソールの [アセット] ページにアクセスすることで確認することができます。これは、Security Command Center 設定ページの [攻撃パス シミュレーション] タブでも確認できます。

リソース値の構成

リソース値の構成を使用して、高価値リソースセットのリソースを管理します。

リソース値の構成は、Google Cloud コンソールの Security Command Center の [設定] ページにある [攻撃パス シミュレーション] タブで作成します。

リソース値の構成では、Security Command Center が高価値リソースセットにリソースを追加するために必要な属性を指定します。

指定できる属性には、リソースタイプ、リソースタグ、リソースラベル、親プロジェクト、フォルダ、組織などがあります。

また、構成内のリソースにリソース値を割り当てます。このリソース値により、高価値リソースセット内の他のリソースと比べて構成内のリソースの優先度が高くなります。詳細については、リソース値をご覧ください。

Google Cloud 組織には、最大 100 個のリソース値の構成を作成できます。

作成するすべてのリソース値の構成には、Security Command Center が攻撃パス シミュレーションに使用する高価値リソースセットを定義します。

リソースの属性

リソースを高価値リソースセットに含めるには、そのリソースをリソース値の構成で指定した属性と一致させる必要があります。

指定できる属性は次のとおりです。

  • リソースタイプまたは AnyAny を指定すると、指定したスコープ内でサポートされているすべてのリソースタイプに構成が適用されます。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 コンソールで検出結果またはリソースに対する攻撃の発生可能性スコアをクリックします。

大きな攻撃パスを表示するときは、画面右側にある攻撃パスのミニチュア ビューを赤い四角で囲んでいるセレクタをドラッグして、攻撃パスのビューを変更できます。

攻撃パスが表示されたら、[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 日に 1 回以上実行されます。リソースまたはリソース値の構成を作成、変更、削除しても、シミュレーションはトリガーされません。

攻撃パス シミュレーションのステップ

シミュレーションは次の 3 つのステップで構成されます。

  1. モデルの生成: Google Cloud 環境のモデルは、環境データに基づいて自動的に生成されます。このモデルは環境をグラフで表現したものであり、攻撃パスの分析に合わせて調整されています。
  2. 攻撃パス シミュレーション: 攻撃パス シミュレーションはグラフモデルに対して行われます。シミュレーションでは、仮想攻撃者が高価値リソースセット内のリソースに到達し、悪用しようとします。このシミュレーションでは、ネットワーク、IAM、構成、構成ミス、脆弱性など、特定のリソースとリレーションの分析情報を利用します。
  3. 分析情報レポート: シミュレーションに基づいて、Security Command Center は、高価値リソースと、それらを露出する検出結果に攻撃の発生可能性スコアを割り当て、攻撃者がこれらのリソースに到達できる潜在的なパスを可視化します。

シミュレーション実行の特徴

攻撃の発生可能性スコア、攻撃パスの分析情報、攻撃パスの提供以外にも、攻撃パス シミュレーションには次の特徴があります。

  • ライブ環境に影響しない。すべてのシミュレーションは仮想モデルで実施され、モデルの作成には読み取りアクセスのみを使用します。
  • 動的である。モデルは、API 読み取りアクセスのみによってエージェントなしで作成されます。これにより、シミュレーションは時間の経過とともに環境の変化を動的に追跡できます。
  • 仮想攻撃者は、できるだけ多く手法と脆弱性を試して高価値リソースに到達し、悪用します。これには、脆弱性、構成、構成ミス、ネットワーク関係などの「既知のもの」だけでなく、フィッシングや漏えいした認証情報など、存在は認識していても特定される可能性の低い「既知の不明な」リスクも含まれています。
  • 自動化されている。このツールには攻撃ロジックが組み込まれています。大量のクエリや大規模なデータセットを構築または維持する必要はありません。

攻撃者のシナリオと手段

シミュレーションでは、Security Command Center は、Google Cloud 環境へのアクセス権を取得し、リソースと検出された脆弱性によってアクセスされる可能性のあるパスに従い、攻撃者が高価値リソースを悪用する試みを論理的に表します。

仮想攻撃者

シミュレーションで使用する仮想攻撃には次の特徴があります。

  • 攻撃者は外部にいる。攻撃者は Google Cloud 環境の正当なユーザーではありません。このシミュレーションでは、環境への正当なアクセス権を持つユーザーが故意または過失によって行う攻撃のモデル化は行いません。
  • 攻撃は公共のインターネットから開始します。攻撃を開始するには、攻撃者はまず公共のインターネットから環境へのアクセス権を取得する必要があります。
  • 攻撃者は永続的です。攻撃方法が難しく、攻撃者があきらめたり、関心を失うことはありません。
  • 攻撃者は熟練し、知識があります。攻撃者は、既知の手法や技法を駆使して高価値リソースにアクセスします。

初期アクセス

各仮想シミュレーションでは、次の方法で公共のインターネットから環境内のリソースへのアクセス権を取得します。

  • 公共のインターネットからアクセス可能なサービスとリソースを見つけて接続します。
    • Compute Engine 仮想マシン(VM)インスタンスと Google Kubernetes Engine ノードのサービス
    • データベース
    • コンテナ
    • Cloud Storage バケット
    • Cloud Functions
  • 次の鍵と認証情報へのアクセス権を取得します。
    • サービス アカウント キー
    • ユーザー指定の暗号鍵
    • VM インスタンスの SSH 認証鍵
    • プロジェクト全体の SSH 認証鍵
    • 外部鍵管理システム
    • 多要素認証(MFA)が適用されていないユーザー アカウント
    • 傍受された仮想 MFA トークン
  • 盗まれた認証情報を使用するか、Mandiant Attack Surface Management、VM Manager、Rapid Vulnerability Detection によって報告された脆弱性を悪用して、一般公開されているクラウド アセットへのアクセスを取得する

シミュレーションで環境へのエントリ ポイントが見つかった場合、シミュレーションの仮想攻撃者は、環境内のセキュリティ構成と脆弱性を継続的に探索して悪用することで、エントリ ポイントから高価値リソースにアクセスし、悪用を試みます。

戦術と手法

このシミュレーションでは、正当なアクセス権、ラテラル ムーブメント、権限昇格、脆弱性、構成ミス、コード実行など、さまざまな手法と手法が使用されます。

CVE データの組み込み

脆弱性の検出結果に対する攻撃の発生可能性スコアを計算する際、攻撃パスのシミュレーションでは、脆弱性の CVE レコードCVSS スコア のデータ、および Mandiant によって提供される脆弱性の悪用可能性の評価が考慮されます。

次の CVE 情報が考慮されます。

  • 攻撃ベクトル: 攻撃者が CVE を悪用するには、CVSS 攻撃ベクトルで指定されたアクセスレベルが必要です。たとえば、パブリック IP アドレスとオープンポートを持つアセットで見つかったネットワーク攻撃ベクトルのある CVE は、ネットワーク アクセス権を持つ攻撃者によって悪用される可能性があります。攻撃者がネットワーク アクセス権のみを持ち、CVE が物理的なアクセスを必要とする場合、攻撃者は CVE を悪用できません。
  • 攻撃の複雑さ: 一般に、攻撃の複雑さが低い脆弱性や構成ミスの検出結果は、攻撃の複雑さが高い検出結果よりも、攻撃の発生可能性スコアが高くなります。
  • 悪用アクティビティプレビュー: 一般に、Mandiant のサイバー脅威インテリジェンス アナリストが判断した広範な悪用活動を伴う脆弱性の発見は、既知の悪用活動がなかった発見よりも高い攻撃の発生可能性スコアを取得する可能性が高くなります。