Google Cloud の脆弱性評価を有効にして使用する

Google Cloud の脆弱性評価を使用すると、次の場所にエージェントをインストールせずに、重大度が高いソフトウェアの脆弱性を検出できます。

  • 実行中の Compute Engine VM インスタンス
  • GKE Standard クラスタのノード
  • GKE Standard クラスタと GKE Autopilot クラスタで実行中のコンテナ

Google Cloud の脆弱性評価は、VM インスタンスのディスクを約 12 時間ごとに複製し、安全な別の VM インスタンスにマウントして、SCALIBR スキャナで評価することで機能します。 Google Cloud の脆弱性評価では、ホストとコンテナのファイル システムがスキャンされます。

VM インスタンスのクローンには次の特性があります。

  • これは、ソース VM インスタンスと同じリージョンに作成されます。
  • Google 所有のプロジェクトで作成されるため、費用は発生しません。

実行中の VM インスタンス、ノード、コンテナのみがスキャンされます。検出結果が作成されると、ACTIVE 状態が 25 時間維持されます。この 25 時間以内に再度検出された場合、カウンタはリセットされ、検出結果はさらに 25 時間 ACTIVE 状態のままになります。25 時間以内に検出結果が再度検出されない場合、検出結果は INACTIVE に設定されます。

VM インスタンスまたはノードがシャットダウンされると、脆弱性が軽減されていない場合でも、25 時間が経過した後に検出結果が INACTIVE に設定されます。

始める前に

VPC Service Controls 境界が設定されている場合は、必要な下り(外向き)ルールと上り(内向き)ルールを作成します。

制限事項

  • 顧客指定の暗号鍵(CSEK)または顧客管理の暗号鍵(CMEK)で暗号化された永続ディスクを使用する VM インスタンスはサポートされていません。
  • スキャンされるのは、VFAT、EXT2、EXT4 のパーティションのみです。
  • Security Command Center サービス エージェントには、プロジェクトの VM インスタンスを一覧取得し、そのディスクを Google 所有のプロジェクトに複製するためのアクセス権が必要です。組織のポリシーの制約など、セキュリティとポリシーの一部の構成がこのアクセスを妨げ、スキャンが実行されないことがあります。

サービス ID と権限

Google Cloud サービスの脆弱性評価では、 Google Cloud リソースにアクセスするための ID と権限に Security Command Center サービス エージェントを使用します。

Security Command Center の組織レベルの有効化では、次のサービス エージェントが使用されます。

service-org-ORGANIZATION_ID@security-center-api.iam.gserviceaccount.com

Security Command Center のプロジェクト レベルでの有効化では、次のサービス エージェントが使用されます。

service-project-PROJECT_NUMBER@security-center-api.iam.gserviceaccount.com

Google Cloudの脆弱性評価を有効または無効にする

デフォルトでは、Security Command Center のプレミアム ティアまたはエンタープライズ ティアに属する組織では、可能なすべての VM インスタンスに対して Google Cloud の脆弱性評価が自動的に有効になります。この設定を変更するには、次の操作を行います。

  1. Google Cloud コンソールで、[リスクの概要] ページに移動します。

    [リスクの概要] に移動

  2. Google Cloud の脆弱性評価を有効にする組織を選択します。

  3. [設定] をクリックします。

  4. [脆弱性評価] サービスカードで、[設定を管理] をクリックします。

  5. [Google Cloud] タブの [エージェントレス脆弱性評価] 列で、組織、フォルダ、プロジェクト レベルで Google Cloud の脆弱性評価を有効または無効にします。下位レベルで上位レベルの値を継承するように設定することもできます。

Google Cloudの脆弱性評価によって生成された検出結果

Google Cloud サービスの脆弱性評価が Compute Engine VM インスタンス、GKE クラスタのノード、または GKE で実行されているコンテナでソフトウェアの脆弱性を検出すると、サービスは Security Command Center で検出結果を生成します。

各検出結果には、検出されたソフトウェアの脆弱性に固有の次の情報が含まれます。

  • 影響を受けるインスタンスまたは GKE クラスタの完全なリソース名。
  • 検出結果が GKE ワークロードに関連している場合は、次のような影響を受けるオブジェクトに関する情報。
    • CronJob
    • DaemonSet
    • Deployment
    • Job
    • Pod
    • ReplicationController
    • ReplicaSet
    • StatefulSet
  • 次の情報を含む脆弱性の説明。
    • 脆弱性を含むソフトウェア パッケージとその場所
    • 関連する CVE レコードの情報
    • Mandiant による脆弱性の影響度と悪用可能性の評価
    • Security Command Center による脆弱性の重大度の評価
  • 修復の優先順位付けに役立つ攻撃の発生可能性スコア
  • 脆弱性によって露出する高価値リソースに攻撃者が到達する可能性のあるパスの視覚表現
  • 問題の解決に役立つ手順(脆弱性に対処するために使用できるパッチやバージョン アップグレードなど)

同じ脆弱性が複数のコンテナで特定される可能性があるため、脆弱性は GKE ワークロード レベルまたは Pod レベルで集約されます。検出結果では、1 つのフィールド(files.elem.path フィールドなど)に複数の値が表示されることがあります。

Google Cloud のすべての脆弱性評価の検出結果は、次のプロパティ値を共有します。

カテゴリ
OS vulnerability
Software vulnerability
クラス
Vulnerability
クラウド サービス プロバイダ
Google Cloud
ソース
Vulnerability Assessment

検出結果の保持

解決された後、 Google Cloud の脆弱性評価によって生成された検出結果は 7 日間保持され、その後削除されます。 Google Cloudの検出結果に対するアクティブな脆弱性評価は無期限で保持されます。

パッケージの場所

検出結果で報告された脆弱性のファイルの場所は、バイナリまたはパッケージ メタデータ ファイルのいずれかを指します。表示される内容は、使用された SCALIBR エクストラクタによって異なります。コンテナで見つかった脆弱性の場合、これはコンテナ内のパスです。

次の表に、さまざまな SCALIBR エクストラクタで示される脆弱性の場所の例を示します。

SCALIBR エクストラクタ パッケージの場所
Debian パッケージ(dpkg /var/lib/dpkg/status
Go バイナリ /usr/bin/google_osconfig_agent
Java アーカイブ /opt/datadog-agent/embedded/lib/python3.9/site-packages/org.jpype.jar
PHP /var/www/html/vkumark/backend_api/composer.lock
Python /usr/lib/google-cloud-sdk/platform/bundledpythonunix/lib/python3.11/site-packages/cryptography-42.0.5.dist-info/METADATA
Ruby /usr/lib/ruby/gems/2.7.0/specifications/default/benchmark-0.1.0.gemspec

コンソールで検出結果を確認する

Google Cloud の脆弱性評価の検出結果は、 Google Cloud コンソールで確認できます。確認するには、プリンシパルに適切なロールが付与されている必要があります。

Google Cloud コンソールで Google Cloud の脆弱性評価の検出結果を確認する手順は次のとおりです。

スタンダードまたはプレミアム

  1. Google Cloud コンソールで、Security Command Center の [検出結果] ページに移動します。

    [検出結果] に移動

  2. Google Cloud プロジェクトまたは組織を選択します。
  3. [クイック フィルタ] セクションの [ソースの表示名] サブセクションで、[脆弱性評価] を選択します。検出結果クエリの結果が更新され、このソースからの検出結果のみが表示されます。
  4. 特定の検出結果の詳細を表示するには、[カテゴリ] 列にある検出結果の名前をクリックします。検出結果の詳細パネルが開き、[概要] タブが表示されます。
  5. [概要] タブで、検出された内容、影響を受けるリソース、検出結果の修正手順(ある場合)など、検出結果の詳細を確認します。
  6. 省略可: 検出結果の完全な JSON 定義を表示するには、[JSON] タブをクリックします。

エンタープライズ

  1. Google Cloud コンソールで、Security Command Center の [検出結果] ページに移動します。

    エンタープライズ ティアの検出結果に移動する

  2. Google Cloud 組織を選択します。
  3. [集計値] セクションで、[ソース表示名] サブセクションをクリックして開きます。
  4. [脆弱性評価] を選択します。検出結果クエリの結果が更新され、このソースからの検出結果のみが表示されます。
  5. 特定の検出結果の詳細を表示するには、[カテゴリ] 列にある検出結果の名前をクリックします。検出結果の詳細パネルが開き、[概要] タブが表示されます。
  6. [概要] タブで、検出された内容、影響を受けるリソース、検出結果の修正手順(ある場合)など、検出結果の詳細を確認します。
  7. 省略可: 検出結果の完全な JSON 定義を表示するには、[JSON] タブをクリックします。