検出: 機密性の高い Kubernetes オブジェクトのチェック

このドキュメントでは、Security Command Center の脅威の検出結果のタイプについて説明します。脅威の検出結果は、クラウド リソースで潜在的な脅威が検出されたときに、脅威検出機能によって生成されます。使用可能な脅威の検出結果の一覧については、脅威の検出結果のインデックスをご覧ください。

概要

悪意を持っている可能性のある行為者が kubectl auth can-i get コマンドを使用して、GKE 内で照会可能な機密オブジェクトを特定しようとしています。具体的には、行為者は次のいずれかのコマンドを実行しました。

  • kubectl auth can-i get '*'
  • kubectl auth can-i get secrets
  • kubectl auth can-i get clusterroles/cluster-admin

対処方法

この検出結果に対応する手順は次のとおりです。

ステップ 1: 検出結果の詳細を確認する

  1. 検出結果の確認の説明に従って、Discovery: Can get sensitive Kubernetes object check の検出結果を開きます。
  2. [検出の詳細] の [概要] タブで、次のフィールドの値をメモします。

    • 検出された内容:
      • Kubernetes アクセス レビュー: SelfSubjectAccessReview k8s リソースについてリクエストされたアクセスのレビュー情報。
      • プリンシパルのメール: 連絡をしたアカウント。
    • 影響を受けているリソース:
      • リソースの表示名: アクションが発生した Kubernetes クラスタ。
    • 関連リンク:
      • Cloud Logging URI: Logging エントリへのリンク。

ステップ 2: ログを確認する

  1. 検出結果の詳細パネルの [概要] タブで、[Cloud Logging URI] リンクをクリックして [ログ エクスプローラ] を開きます。
  2. 読み込まれたページで次のフィルタを使用して、プリンシパルが行ったその他のアクションを確認します。

    • resource.labels.cluster_name="CLUSTER_NAME"
    • protoPayload.authenticationInfo.principalEmail="PRINCIPAL_EMAIL"

      次のように置き換えます。

    • CLUSTER_NAME: 検出結果の詳細の [リソース表示名] フィールドからメモした値。

    • PRINCIPAL_EMAIL: 検出結果の詳細の [プリンシパル メール] フィールドからメモした値。

ステップ 3: 攻撃とレスポンスの手法を調査する

  1. この検出結果タイプに対応する MITRE ATT&CK フレームワーク エントリ(Discovery)を確認します。
  2. クエリされたオブジェクトの機密性を確認し、ログを参照して、プリンシパルによる他の悪意のあるアクティビティを示す徴候があるかどうかを確認します。
  3. 検出結果の詳細の [プリンシパルのメール] 行でメモしたアカウントがサービス アカウントでない場合は、アカウントの所有者に連絡して、正当なオーナーがアクション行ったかどうか確認します。

    プリンシパル メールがサービス アカウント(IAM または Kubernetes)である場合は、アクセス レビューのソースを特定して、正当性を判断します。

  4. 対応計画を策定するには、独自の調査結果と MITRE の調査を組み合わせる必要があります。

次のステップ