永続性: IAM 異常付与

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

概要

監査ログを確認することで、疑わしい IAM ロール バインディングの追加を検出します。

次に異常な付与の例を示します。

  • gmail.com ユーザーなどの外部ユーザーをプロジェクト オーナーとして Google Cloud コンソールから招待する
  • 機密情報に関わる権限を付与するサービス アカウント
  • 機密情報に関わる権限を付与するカスタムロール
  • 組織またはプロジェクトの外部から追加されたサービス アカウント

IAM Anomalous Grant の検出結果にはサブルールが含まれ、この検出結果の各インスタンスに関するより具体的な情報が提供されます。これは、この検出結果に特有のものです。この検出結果の重大度の分類は、サブルールによって異なります。対応はサブルールごとに異なる場合があります。

次のリストに、可能性のあるすべてのサブルールとその重大度を示します。

  • external_service_account_added_to_policy:
    • HIGH: 機密性の高いロールが付与されたか、中程度の機密性のロールが組織レベルで付与されている場合。詳細については、機密性の高いロールをご覧ください。
    • MEDIUM: 中程度の機密性のロールが付与された場合。詳細については、機密性が中程度のロールをご覧ください。
  • external_member_invited_to_policy: HIGH
  • external_member_added_to_policy:
    • HIGH: 機密性の高いロールが付与されたか、中程度の機密性のロールが組織レベルで付与されている場合。詳細については、機密性の高いロールをご覧ください。
    • MEDIUM: 中程度の機密性のロールが付与された場合。詳細については、機密性が中程度のロールをご覧ください。
  • custom_role_given_sensitive_permissions: MEDIUM
  • service_account_granted_sensitive_role_to_member: HIGH
  • policy_modified_by_default_compute_service_account: HIGH

対処方法

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

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

  1. 検出結果の確認の説明に従って、Persistence: IAM Anomalous Grant の検出結果を開きます。検出結果の詳細パネルが開き、[概要] タブが表示されます。

  2. [概要] タブで、次のセクションの情報を確認します。

    • 検出された内容(特に次のフィールド):
      • プリンシパルのメール: ロールを割り当てられたユーザーまたはサービス アカウントのメールアドレス。
    • 影響を受けているリソース

    • 関連リンク(特に次のフィールド):

      • Cloud Logging URI: Logging エントリへのリンク。
      • MITRE ATT&CK 方式: MITRE ATT&CK ドキュメントへのリンク。
      • 関連する検出結果: 関連する検出結果へのリンク。
      • VirusTotal インジケーター: VirusTotal の分析ページへのリンク。
  3. [JSON] タブをクリックします。検出結果の完全な JSON が表示されます。

  4. 検出結果の JSON で、次のフィールドを確認します。

    • detectionCategory:
      • subRuleName: 発生した異常な付与のタイプに関する、より具体的な情報。サブルールにより、この検出結果の重大度の分類が決定されます。
    • evidence:
      • sourceLogId:
      • projectId: 検出結果が含まれているプロジェクトの ID
    • properties:
      • sensitiveRoleGrant:
        • bindingDeltas:
        • Action: ユーザーが行った操作
        • Role: ユーザーに割り当てられたロール
        • member: ロールを付与されたユーザーのメールアドレス

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

  1. 検出結果の詳細パネルの [概要] タブで、[Cloud Logging URI] リンクをクリックして [ログ エクスプローラ] を開きます。
  2. 読み込まれたページで、次のフィルタを使用して新規または更新された IAM リソースを探します。
    • protoPayload.methodName="SetIamPolicy"
    • protoPayload.methodName="google.iam.admin.v1.UpdateRole"
    • protoPayload.methodName="google.iam.admin.v1.CreateRole"

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

  1. この検出結果タイプに対応する MITRE ATT&CK フレームワーク エントリ(Valid Accounts: Cloud Accounts)を確認します。
  2. 検出結果の詳細の [概要] タブで [関連する検出結果] 行のリンクをクリックして、関連する検出結果を確認します。関連する検出結果とは、同じインスタンスとネットワークで検出された同じタイプの検出結果のことです。
  3. 対応計画を策定するには、独自の調査結果と MITRE の調査を組み合わせる必要があります。

ステップ 4: レスポンスを実装する

次の対応計画は、この検出結果に適切な場合もありますが、運用に影響する可能性もあります。調査で収集した情報を慎重に評価して、検出結果を解決する最適な方法を判断してください。

  • アカウントが不正使用されているプロジェクトのオーナーに連絡します。
  • 不正使用されたサービス アカウントを削除し、不正使用されたプロジェクトのサービス アカウントのアクセスキーをすべてローテーションして削除します。削除後は、このサービス アカウントを認証に使用するリソースにアクセスできなくなります。
  • 覚えのない Compute Engine インスタンス、スナップショット、サービス アカウント、IAM ユーザーなど、未承認のアカウントで作成されたプロジェクト リソースを削除します。
  • gmail.com ユーザーの追加を制限するには、組織のポリシーを使用します。
  • 過度に制限の緩いロールを特定して修正するには、IAM Recommender を使用します。

次のステップ