ワークロードの脆弱性スキャンについて


このページでは、Google Kubernetes Engine(GKE)のセキュリティ ポスチャー ダッシュボードに用意されているワークロード脆弱性スキャン機能について説明します。このページは、自社の脆弱性検出ソリューションを実装するセキュリティ管理者を対象としています。

ワークロードの脆弱性スキャンは、セキュリティ対策ダッシュボードの一連の機能で、ソフトウェア デリバリー ライフサイクルのランタイム フェーズで、コンテナ イメージや特定の言語パッケージの既知の脆弱性を自動でスキャンします。GKE が脆弱性を検出すると、セキュリティ ポスチャー ダッシュボードには、問題の詳細が表示され、脆弱性を緩和するための実行可能な修復手順が提示されます。

セキュリティ ポスチャー ダッシュボードがセキュリティ戦略にどのように適合するかについては、広範なセキュリティ戦略の一環としての使用をご覧ください。

脆弱性スキャンの種類

ワークロードの脆弱性スキャンには、次の機能があります。

  • コンテナ オペレーティング システム(OS)の脆弱性スキャン
  • 言語パッケージの脆弱性スキャン

コンテナ イメージや言語パッケージに脆弱性が見つかると、GKE は、その結果を Google Cloud コンソールのセキュリティ ポスチャー ダッシュボードに表示します。また、GKE は監査とトレーサビリティのために Cloud Logging にもエントリを追加します。

コンテナ OS の脆弱性スキャン

GKE は、登録済みの GKE クラスタで実行されるコンテナ イメージを継続的にスキャンします。GKE は、NIST などの公開 CVE データベースからの脆弱性データを使用します。イメージは、任意のイメージ レジストリから取得できます。OS のバージョンは、スキャンに対応している必要があります。サポート対象のオペレーティング システムの一覧については、サポートされている Linux のバージョンをご覧ください。

手順については、コンテナ OS の脆弱性スキャンを有効にするをご覧ください。

言語パッケージの脆弱性スキャン

GKE は、言語パッケージ(Go パッケージや Maven パッケージなど)の既知の脆弱性を検査するためにコンテナを継続的にスキャンします。脆弱性データは、GitHub Advisory Database などの公開ソースから入手します。このスキャナは、Artifact Registry リポジトリを保護するために個別に実装できる Artifact Analysis のスキャナです。セキュリティ ポスチャー ダッシュボードでは、ワークロードの実行中に GKE がイメージをスキャンするため、コンテナ イメージは任意のイメージ レジストリから取得できます。Artifact Analysis スキャンの詳細については、スキャンの種類をご覧ください。

GKE では、オンデマンドやワークフローがコンテナ イメージに変更を push したタイミングのみのスキャンではなく、言語パッケージの継続的なスキャンを行います。継続的なスキャンにより、修正が可能になり次第、新しい脆弱性に関する通知を受けます。これにより、検出と修復にかかる時間を短縮できます。

GKE は、次の言語パッケージをスキャンします。

  • Go
  • Maven
  • JavaScript
  • Python

セキュリティ ポスチャー ダッシュボードには、関連する CVE 番号がある脆弱性のみが表示されます。

GKE で脆弱性スキャンを有効にする

GKE クラスタの脆弱性スキャンは、次の内容に基づいて有効にできます。

ティア 使用可能な機能 GKE バージョンの要件
Standard
standard
コンテナ OS の脆弱性スキャン
  • バージョン 1.23.5-gke.700 以降が必要
  • バージョン 1.27 以降を実行している Autopilot クラスタではデフォルトで有効
  • Standard クラスタではデフォルトで無効
Advanced Vulnerability Insights
enterprise
  • コンテナ OS の脆弱性スキャン
  • 言語パッケージの脆弱性スキャン
  • バージョン 1.27 以降が必要
  • Autopilot と Standard ではデフォルトで無効

有効化の手順については、ワークロードの既知の脆弱性を自動的にスキャンするをご覧ください。

料金

料金情報については、GKE セキュリティ ポスチャー ダッシュボードの料金をご覧ください。

GKE により提案されるアクション

セキュリティ ポスチャー ダッシュボードの各脆弱性には、次のような詳細情報が表示されます。

  • 脆弱性の詳細な説明(潜在的な影響、攻撃経路、重大度など)。
  • 修正対象のパッケージとバージョン番号。
  • 公開 CVE データベースにある関連エントリへのリンク。

GKE では、対処可能な緩和策を持つ対応する CVE がない場合、脆弱性は表示されません。

セキュリティ ポスチャー ダッシュボードのインターフェースの概要については、セキュリティ ポスチャー ダッシュボードについてをご覧ください。

制限事項

  • GKE では、独自パッケージのスキャンとその依存関係のスキャンはサポートされていません。
  • GKE では、セキュリティ ポスチャー ダッシュボードに、修正が可能であり利用可能な CVE 番号がある脆弱性の結果のみが表示されます。Container Registry で同じコンテナ イメージをスキャンすると、修正できない脆弱性など、より多くの結果が表示される場合があります。
  • GKE は、ワークロードの脆弱性スキャンに各ワーカーノードで次のメモリを使用します。
    • コンテナ OS スキャン: 50 MiB
    • Advanced Vulnerability Insights: 100 MiB
  • GKE では、イメージにパッケージ データを含む各ファイルのサイズに次の制限があります。GKE では、サイズの上限を超えるファイルはスキャンされません。
    • コンテナ OS スキャン: 30 MiB
    • Advanced Vulnerability Insights: 60 MiB
  • Windows Server コンテナはサポートされていません。
  • ワークロードの脆弱性スキャンは、ノード数が 1,000 未満のクラスタでのみ使用できます。
  • GKE では、Arm アーキテクチャ(T2A マシンタイプなど)を使用するノードはスキャンされません。
  • セキュリティ ポスチャー ダッシュボードは、クラスタごとに最大 150,000 件の有効なワークロードの脆弱性スキャン結果をサポートしています。クラスタの検出結果数がこの上限を超えると、セキュリティ ポスチャー ダッシュボードはそのクラスタの脆弱性検出結果を表示しなくなります。

    この問題を解決するには、レジストリ レベルでスキャン メカニズムを使用して、イメージの脆弱性を特定し、パッチを適用します。または、新しいクラスタでワークロードをバッチでデプロイして、脆弱性を特定し、軽減します。脆弱性の検出数が 150,000 未満の場合、セキュリティ ポスチャー ダッシュボードにクラスタの検出結果が表示されます。

次のステップ