Web Risk を Google SecOps と統合する

このドキュメントでは、ウェブ リスクを Google Security Operations と統合する方法について説明します。

ユースケース

Web Risk の統合では、Google SecOps の機能を使用して次のユースケースをサポートします。

  • URL の信頼性の検索: Google の既知の悪意のあるリソースのリストと照合して URL をチェックし、フィッシング、マルウェア、望ましくないソフトウェアを特定します。

  • インシデントの拡充: Web Risk の脅威インテリジェンスを使用してセキュリティ アラートを自動的に拡充し、アナリストが脅威の優先順位付けと対応を行えるようにします。

  • 悪意のある URL の軽減: Web Risk チェックをプレイブックに組み込み、調査中に特定された高リスクのドメインを自動的にブロックまたはフラグ設定します。

  • フィッシング対策を自動化する: ユーザーから報告されたメールから抽出された不審なリンクを確認して、フィッシングの試みを特定し、ユーザーへの通知や認証情報の再設定などの自動封じ込めアクションをトリガーします。

  • 外部インテリジェンスを検証する: サードパーティの脅威フィードの URL を Googleの高忠実度リストと相互参照して、誤検出を減らし、破壊的なアクションを実行する前に悪意のある意図を確認します。

始める前に

Google SecOps で Web Risk 統合を構成する前に、次の前提条件を満たしてください。

  1. サービス アカウントを作成します。

  2. 次のいずれかの認証方法を選択して構成します。

    • オプション 1: Workload Identity(推奨): この方法では、サービス アカウントの権限借用によって有効期間の短い一時的なアクセス トークンを使用するため、シークレットを保存する必要はありません。

    • オプション 2: サービス アカウントの JSON キー: この方法は、静的で有効期間の長いシークレット キーファイルに依存します。この方法は、環境で Workload Identity 認証を使用できない場合にのみ使用してください。

サービス アカウントを作成する

インテグレーション用のサービス アカウントを作成する手順は次のとおりです。

  1. Google Cloud コンソールで、[IAM と管理] > [サービス アカウント] に移動します。

    [サービス アカウント] に移動

  2. [追加サービス アカウントを作成] をクリックして、名前と説明を入力します。

  3. [完了] をクリックして、アカウントの作成を完了します。このサービス アカウントのメールアドレスは、認証構成プロセスで使用されます。

Workload Identity の認証情報を構成する

この方法または JSON キーの方法を選択して、統合を認証します。Workload Identity は、サービス アカウントの権限借用を使用して有効期間の短い一時的なアクセス トークンを使用するため、推奨される安全性の高いアプローチです。これにより、有効期間の長いシークレットを保存したりローテーションしたりする必要がなくなります。

一意のインスタンス ID を特定する

Workload Identity を使用して認証するには、Google SecOps インスタンスにサービス アカウントの権限を借用する権限を付与する必要があります。これにより、インスタンスは Google Cloud リソースに安全にアクセスできます。

  1. Google SecOps で、[Content Hub] > [Response Integrations] に移動します。

  2. [Web Risk] 統合を選択し、[Workload Identity Email] にサービス アカウントのメールアドレスを入力します。

  3. [割り当てプロジェクト ID] に有効なプロジェクト ID を入力します。

  4. [保存] > [テスト] をクリックします。テストは失敗することが想定されています。

  5. [Test] の右にある close_small をクリックし、gke-init-python@... または soar-python@... で始まる ID メールアドレスのエラー メッセージを検索します。

  6. この一意のメールアドレスをコピーします。

Google Cloudでインスタンス ID を承認する

Google SecOps インスタンスの一意の ID を取得したら、Google Cloud リソースにアクセスできるように承認する必要があります。この手順では、サービス アカウントの権限借用を有効にします。これにより、プラットフォームは静的キーを必要とせずに、有効期間の短いトークンを生成してユーザーに代わって操作できます。

  1. Google Cloud コンソールで、[IAM と管理] > [サービス アカウント] に移動します。

    [サービス アカウント] に移動

  2. ターゲット サービス アカウントを選択し、[権限> アクセス権を付与] に移動します。

  3. 一意のメールアドレスを [新しいプリンシパル] フィールドに貼り付け、サービス アカウント トークン作成者ロール(roles/iam.serviceAccountTokenCreator)を割り当てます。

割り当てプロジェクトへのアクセス権を付与する

Workload Identity を使用して認証する場合は、API の使用状況と課金を追跡するために、統合設定で Quota Project ID を指定する必要があります。

これを承認するには、指定された割り当てプロジェクトに対する次のロールをサービス アカウントに付与する必要があります。

  1. Google Cloud コンソールで、[IAM と管理] > [IAM] に移動し、プロジェクトを選択します。

    IAM に移動

  2. プリンシパルのリストでサービス アカウントを見つけて、そのアカウントの [編集(プリンシパルを編集)] をクリックします。

  3. [別のロールを追加] をクリックし、[Service Usage コンシューマー] ロール(roles/serviceusage.serviceUsageConsumer)を選択します。

  4. [保存] をクリックします。

JSON キーを構成する

この方法または Workload Identity の方法を選択して、統合を認証します。JSON キーメソッドは、環境で Workload Identity を使用できない場合にのみ使用してください。Workload Identity は、推奨されるより安全なアプローチです。この方法は、手動での管理とローテーションが必要な静的で有効期間の長い秘密鍵ファイルに依存しています。

統合の認証に必要な JSON キーファイルを生成するには、次の手順を行います。

  1. Google Cloud コンソールで、[IAM と管理>サービス アカウント] に移動し、作成したサービス アカウントを選択します。

    [サービス アカウント] に移動

  2. [キー] タブに移動します。

  3. [鍵を追加] > [新しい鍵を作成] の順にクリックします。

  4. 鍵のタイプとして [JSON] を選択し、[作成] をクリックします。ブラウザによって JSON ファイルがパソコンにダウンロードされます。

  5. このファイルの内容全体をコピーし、統合構成時に Service Account JSON File Content に貼り付けます。

統合のパラメータ

Web Risk の統合には、次のパラメータが必要です。

パラメータ 説明
Workload Identity Email

省略可。

サービス アカウントのクライアント メールアドレス。

このパラメータは、Workload Identity を使用して認証する場合にのみ構成します。

このパラメータを構成する場合は、Quota Project ID も構成する必要があります。

Service Account JSON File Content

省略可。

サービス アカウントの JSON 鍵ファイルの内容全体。

このパラメータは、JSON キーを使用して認証する場合にのみ構成します。

Quota Project ID

省略可。

API の使用量と請求額に使用される Google Cloud プロジェクト ID。

Workload Identity を使用して認証する場合は、このパラメータが必須です。

Project ID

省略可。

統合で使用する Google Cloud プロジェクト ID。

値が指定されていない場合、インテグレーションはサービス アカウントの認証情報から ID を取得します。

Verify SSL

必須。

選択すると、統合によって Web Risk サーバーに接続するときに SSL 証明書が検証されます。

デフォルトで有効になっています。

Google SecOps で統合を構成する手順については、統合を構成するをご覧ください。

必要に応じて、後の段階で変更できます。統合インスタンスを構成すると、ハンドブックで使用できるようになります。複数のインスタンスの構成とサポートの詳細については、複数のインスタンスのサポートをご覧ください。

操作

アクションの詳細については、 デスクから保留中のアクションに対応すると手動による対策を実行するをご覧ください。

エンティティの拡充

エンティティを拡充アクションを使用して、Web Risk から Google SecOps エンティティに関する情報を返します。

このアクションは Google SecOps URL エンティティに対して実行されます。

アクションへの入力

なし

アクションの出力

[エンティティを拡充] アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
エンティティ拡充テーブル 利用可能
JSON の結果 利用可能
出力メッセージ 利用可能
スクリプトの結果 利用可能
エンティティ拡充テーブル

エンティティを拡充するアクションは、URL エンティティを拡充し、次の拡充結果を提供できます。

拡充フィールド名 ソース(JSON キー) 適用範囲
threatTypes 脅威タイプの CSV ファイル。 JSON の結果で利用可能な場合。
JSON の結果

次の例は、エンティティの拡充アクションを使用した場合に受信される JSON 結果の出力です。

{
   "Entity": "Entity",
   "EntityResult": [
       {
           "expireTime": "2024-12-20T13:47:20.786242980Z",
           "threatTypes": [
               "SOCIAL_ENGINEERING_EXTENDED_COVERAGE"
           ]
       }
   ]
}
出力メッセージ

エンティティを拡充アクションは、次の出力メッセージを返すことができます。

出力メッセージ メッセージの説明

Successfully enriched the following entities in Web Risk: ENTITY_ID.

The action wasn't able to enrich the following entities in Web Risk: ENTITY_ID.

No information was found for the provided entities.

アクションが成功しました。
Error executing action "Enrich Entities". Reason: ERROR_REASON

操作に失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、[エンティティを拡充] アクションを使用する場合のスクリプト結果出力の値を示します。

スクリプトの結果名 値
is_success True または False

Ping

Ping アクションを使用して、Web Risk への接続をテストします。

このアクションは Google SecOps エンティティに対して実行されません。

アクションへの入力

なし

アクションの出力

[Ping] アクションでは、次の出力が提供されます。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用不可
出力メッセージ 利用可能
スクリプトの結果 利用可能
出力メッセージ

Ping アクションは、次の出力メッセージを返すことができます。

出力メッセージ メッセージの説明
Successfully connected to the Web Risk server with the provided connection parameters! アクションが成功しました。
Failed to connect to the Web Risk server! Error is ERROR_REASON

操作に失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、Ping アクションを使用した場合のスクリプト結果出力の値を示します。

スクリプトの結果名 値
is_success True または False

エンティティを送信する

[エンティティを送信] アクションを使用して、分析のためにエンティティを Web Risk に送信します。

このアクションは非同期です。必要に応じて、Google SecOps 統合開発環境(IDE)でアクションのスクリプト タイムアウト値を調整します。

このアクションは Google SecOps URL エンティティに対して実行されます。

アクションへの入力

Submit Entities アクションには、次のパラメータが必要です。

パラメータ 説明
Abuse Type

省略可。

送信に関連付けられている不正行為の種類。

不正使用の種類の詳細については、AbuseType をご覧ください。

値は次のいずれかになります。

  • Select One
  • Malware
  • Social Engineering
  • Unwanted Software

デフォルト値は Select One です。

Confidence Level

省略可。

送信の信頼度。

信頼度について詳しくは、Confidence と ConfidenceLevel をご覧ください。

使用できる値は次のとおりです。

  • Select One
  • Low
  • Medium
  • High

デフォルト値は Select One です。

Justification

省略可。

送信の理由。

正当化オプションの詳細については、JustificationLabel をご覧ください。

使用できる値は次のとおりです。

  • Manual Verification
  • User Report
  • Automated Report

デフォルト値は User Report です。

Comment

省略可。

送信の理由を示すコメント。

Region Code

省略可。

送信に関連付けられている国または地域の Common Locale Data Repository(CLDR)コードのカンマ区切りリスト。送信の詳細については、送信されたサンプルをご覧ください。

Platform

省略可。

送信が検出されたプラットフォーム タイプ。

値は次のいずれかになります。

  • Select One
  • Android
  • iOS
  • MacOS
  • Windows

デフォルト値は Select One です。

Skip Waiting

省略可。

選択すると、アクションは送信を初期化し、完了を待機しません。

デフォルト値は True です。

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。