複合検出の概要

以下でサポートされています。

このドキュメントでは、複合検出と、複数のルールの出力を関連付けることで脅威検出ワークフローを強化する方法について説明します。

複合検出は、他のルールの検出をイベント、指標、エンティティ リスクシグナルと組み合わせて入力として使用するルールによって生成されます。これらのルールは、イベント、指標、エンティティ リスクシグナルと組み合わされ、個々のルールでは見逃す可能性のある複雑な多段階の脅威を検出します。

複合検出は、定義されたルール インタラクションとトリガーを通じてイベントを分析するのに役立ちます。これにより、精度が向上し、誤検出が減少し、さまざまなソースと攻撃ステージのデータを関連付けることで、セキュリティ脅威の包括的なビューが提供されます。

次のコンセプトは、複合ルールの構成要素を定義し、検出ワークフロー内での機能の仕組みを明確にします。

  • 複合ルール: 検出またはアラート(またはその両方)を入力として使用します。必要に応じて、エンティティ グラフのイベント、指標、幅広いコンテキスト データ(普及率データ、脅威インテリジェンス、エンティティ リスクスコアなど)で補完します。これらのルールには必ず一致セクションがあり、入力ルールのメタフィールド、match 変数、outcome 変数を参照できます。

  • 検出: ルールの条件が満たされたときに生成される出力。

  • 検出のみのルール: 検出またはアラートのみを入力として使用する複合ルール。

複合検出を使用する場合

複合検出は、次の目標を達成するうえで役立ちます。

  • 2 つ以上のルールの結果を関連付けます(たとえば、マルウェア ダウンロードの検出を同じホストからの後続の C2 ビーコン アラートにリンクします)。

  • 関連するイベントデータを使用してアラートを拡充します。

  • ノイズが多く信頼度の低い検出が複数回発生した場合や、他の不審なアクティビティと組み合わされた場合にのみ最終アラートをトリガーすることで、アラート疲れを軽減します。

  • 各ステージが独自のルールで識別されている、複雑な複数ステージの攻撃のアラートを作成します。

複合検出のメリット

複合検出には次のメリットがあります。

  • 多段階攻撃を明らかにする: サイバー攻撃は多くの場合、多面的で相互に関連しています。複合検出は、一見独立しているセキュリティ イベントを関連付けることで、攻撃の全体像を明らかにします。たとえば、複合検出では、最初の侵害に続いて権限昇格とデータ漏洩が発生するなど、攻撃シーケンス全体を特定できます。

  • アラート疲れを軽減する: 複合ルールは、ノイズの多いアラートを統合してフィルタし、より的を絞った対応を可能にします。このアプローチにより、影響の大きいインシデントを優先し、アラート疲労を軽減できます。

  • 検出精度を高める: 統合データモデル(UDM)イベント、ルール検出、エンティティ コンテキスト、ユーザーとエンティティの行動分析(UEBA)の結果、データテーブルの分析情報を組み合わせて、より正確な検出ロジックを構築します。

  • 複雑なロジックを効率化する: 複雑な検出シナリオを管理可能で相互接続された再利用可能なルールに分割して、開発とメンテナンスを簡素化します。

  • ダッシュボードで使用する: 複合検出を Google SecOps ダッシュボードのデータソースとしてシームレスに統合します。これらを使用して、複数ステージの攻撃パターンを要約する可視化を作成し、複雑なリスクを把握しやすくすることができます。

一般的なユースケースと例

このセクションでは、複合検出の一般的なユースケースをいくつか紹介します。

ログイン後のユーザー アクティビティを追跡する

ユーザーのログイン イベントと後続の不審なアクティビティをリンクすることに重点を置いた主なユースケース。標準のマルチイベント ルールは短いシーケンスを追跡できますが、複合検出はユーザーのセッション全体の包括的なリスク プロファイルを作成するのに適しています。

  • 目標: 高リスクのログインなどの単一のイベントを、1 日などの長期間にわたる広範囲の「弱いシグナル」アクティビティと関連付けます。

  • : 下位レベルの検出を生成する複数のルールを作成します。次に、長い一致期間(24 時間など)の複合ルールを使用して、最初のアクティビティの疑わしいログインをトリガーし、同じユーザーからの次の検出のいずれかと関連付けます。

    • コマンドライン履歴をクリアするユーザー。

    • 新しいローカル管理者アカウントの作成。

    • 個人用の Cloud Storage サイトへの大容量データのアップロード。

UEBA 指標と組み合わせる

このユースケースでは、既存の UEBA 指標を複合検出の出発点として活用し、より複雑で長期的な動作を検出します。

  • 目標: UEBA 指標の急増と別の異常なアクティビティを関連付けます。

  • :

    1. UEBA ルールが、ユーザーのログイン失敗回数が多すぎることを検出します。

    2. 別の UEBA ルールは、同じユーザーからの大量の下り(外向き)バイトを検出します。

    3. 複合検出は、これらの 2 つの個別の UEBA 検出結果を数日間にわたってリンクし、アカウントの不正使用とそれに続くデータ窃盗の可能性を特定します。

データの引き出しの試みを検出する

これには、複数の異なるユーザー アクションを関連付け、それらを組み合わせることでデータ流出の試みを示す可能性があるアクションを特定することが含まれます。

  • 目標: 複数のデバイスとアクションにわたる単一ユーザーによるリスクのあるデータ処理のプロファイルを作成します。

  • 関連付けられたアクション:

    • 複数のデバイス(自宅のパソコンと職場のパソコンなど)からログインしている。

    • 通常よりも多くのデータソースにアクセスしている。

    • データを同時にダウンロード、印刷、メール送信する。

    • ユーザーが一定期間内にアクセスした分類済みドキュメントの数をカウントします。

    • 辞表を提出した。

複合検出の仕組み

ルールは、事前定義された条件を満たすと検出を生成します。これらの検出には、特定のデータまたはイベントの状態をキャプチャする結果変数をオプションで含めることができます。

複合ルールは、他のルールからのこれらの検出を入力の一部として使用します。評価は、元のルールのメタセクション、結果変数、一致変数からの情報に基づいて行うことができます。

この評価に基づいて、複合ルールを使用して、調査の中間表現として使用される新しい検出を作成し、後続のルールでアラートを送信できます。これにより、さまざまな検出結果から複数の要因を関連付けて、複雑な脅威を特定できます。

構文と例の詳細については、複合ルールの構文をご覧ください。

戦略を定義する

複合ルールの作成を開始する前に、新しいルールが効果的かつ効率的で、適切な問題を解決できるように、戦略を立ててください。

  1. 現在の検出戦略を評価します。既存のルールを確認して、ノイズが多すぎるルール、偽陽性が多く発生するルール、複雑すぎて管理が難しいルールを特定します。

  2. 複合ルールが価値を提供できる具体的なシナリオを特定します。これには、多段階攻撃の検出、複数の信頼度の低いアラートを 1 つの信頼度の高いアラートに相関付け、他のデータソースからの追加のコンテキストで検出を強化することが含まれます。

  3. 評価に基づいて実装計画を作成します。どのノイズの多いルールを絞り込む必要があるか、どの複雑なルールを簡素化する必要があるか、どの新しいマルチステージ検出を優先する必要があるかを判断します。

この定義されたプランは、的確で効果的な複合ルールを作成するためのロードマップを提供します。技術的な制約を管理しながら複合検出を最大限に活用するための、次の大まかな戦略を検討してください。

適切な方法を選択する

複合検出を構築する前に、他の方法で必要な結果を得られるかどうかを確認します。既存の UEBA 検出で複雑なパターンを特定できるかどうかを分析します。検出を複雑にしすぎると、メンテナンスのオーバーヘッドが増加し、ルール割り当てが消費される可能性があります。

  • 複合検出を使用する場合: 2 つ以上の異なる既存のルールの最終結果を関連付けることが目標である場合。これにより、攻撃の概念的に分離されたステージが接続されます。

    : Malware Downloaded ルールからの検出と、C2 Beaconing Detected ルールからの後続の検出を関連付けます。

  • 既存の UEBA 検出を使用する場合: ユーザーまたはデバイスが通常のアクティビティ パターンを破ったタイミングを特定する場合。

    : 通常は 1 GB しかダウンロードしないユーザーが、今日 100 GB のデータをダウンロードしたことを自動的に検出する。

ルール割り当てとリスクスコアを管理する

組織のリソースを管理するには、さまざまなルールタイプがルール割り当てに与える影響を理解する必要があります。

  • キュレートされたルールは、カスタムルールの割り当てにはカウントされません。

  • 複合ルールとカスタム マルチイベント ルールは割り当ての対象となります。

キュレーテッド検出を使用するには、検出専用に設定します。これにより、キュレートされたルールでアラートを生成せずに、広範囲の初期検出を実行できます。複合ルールを使用してこれらの結果に特定のロジックを適用すると、割り当てを戦略的に管理しながら、より多くの価値を提供できます。

リスクとコンテキストの違いを理解する

検出ロジックを設計する際は、リスクを評価するルールとコンテキストを提供するルールを区別します。

リスクは、一連のアクティビティがどの程度危険であるかを評価したものです。リスク用に設計されたルールでは、複数のコンテキスト イベントまたは検出を集約して判断することがよくあります。たとえば、1 回のログイン失敗はコンテキストを提供しますが、ログイン失敗の回数が多い場合は、ブルート フォース攻撃のリスクを示します。

コンテキストとは、イベントを取り巻く事実の詳細を指します。コンテキスト用に設計されたルールは、別のイベントの詳細で 1 つのイベントを拡充します。たとえば、ルールでユーザーのログイン成功を検出できても、コンテキスト ルールでは、このログインが通常とは異なる新しい国から行われたという重要なコンテキストが提供されます。

: 最初の検出では、悪意のあるドメインへの DNS 呼び出しなど、潜在的なリスクを警告できます。複合ルールは、そのアラートと Google SecOps のイベントログを関連付け、呼び出しを開始した特定のコマンドライン プロセスを特定します。これにより、重要なコンテキストが追加され、リスクの高いアラートが強化されます。

長い照合期間を戦略的に使用する

長い一致期間(14 日など)で構成された複合ルールは、実行頻度が低くなります。レイテンシが高いため、時間依存のアラートには適していません。これらの長期間の時間枠を使用して、長期間にわたる遅く持続的な敵対的アクティビティを検出することを検討してください。

検出を可視化に使用する

ノイズの多いルールを管理する戦略の 1 つは、その出力をダッシュボードの可視化に変換することです。このアプローチでは、ルールの割り当てが消費されず、大容量で忠実度の低いデータを価値のある分析情報に変換できます。

検出専用のルールを設定し、その検出結果をダッシュボード ウィジェットにプロットすることで、個々のアラートに圧倒されることなく、傾向を追跡し、外れ値を特定し、アクティビティの概要を監査できます。

例: PII データの処理を追跡する

ルールは、ユーザーが機密性の高い PII データを処理するたびに追跡します。アラートは毎回ではなく、検出のみを行うように設定されています。ダッシュボード ウィジェットには、1 日の下り(外向き)上限(10,000 バイトなど)に近づいているユーザーが表示されます。これにより、アラートを常に生成することなく、リスクの高い動作の監査ビューをすばやく確認できます。

例: 特定の DLP リスクをモニタリングする:

ウィジェットは、DLP ルールの非常に具体的なサブセットからリスクスコアを集計します。これにより、特定のチーム(データ損失防止(DLP)管理者など)は、関連するリスクのみをモニタリングし、他のセキュリティ ドメインからのノイズを除外できます。

複合検出を構築する

次のワークフローは、複合ルールを作成する一般的な手順の概要を示しています。構文と詳細については、複合ルールの構文をご覧ください。

  1. 脅威シナリオを定義する: 検出する特定の脅威を定義します。

  2. 入力ルールを作成または特定する: 脅威シナリオの各ステージで、特定のアクティビティを検出する入力ルールを作成または特定します。

  3. 結合条件を定義する: ルールラベル、変数、検出フィールドなど、入力ルールの検出をリンクする共通の情報を特定します。

  4. 複合ルールを構築する: 入力ルールから検出を取り込むルールを作成します。

    • events セクションを定義し、名前、ID、または共有メタラベルで入力ルールを参照します。

    • match セクションを定義して、結合キーと一致の期間を指定します。

    • condition セクションを定義して、最終的なアラートをトリガーするために満たす必要がある条件を設定します。

  5. ルールチェーンをテストしてデプロイする: シーケンス内の各ルールに対して、レトロハントを手動で実行することをおすすめします。

    複合ルールで [ルールをテスト] 機能を使用すると、ルールの入力条件に一致する既存の検出に対してのみ実行されます。基盤となるルールを自動的に実行してテスト用の新しい入力を生成することはありません。つまり、1 回のアクションでルールチェーン全体を検証することはできません。

    ルール シーケンスのレトロハントを実行するには、次の操作を行います。

    1. シーケンスの最初のルールから Retrohunt を手動で開始します。

    2. 完了するまで待ってください。

    3. 次のルールに進みます。

複合検出の検出結果を表示する

[検出] ページで複合検出の結果を表示できます。アラートは、[入力] 列にソースとして [検出] が表示され、[検出タイプ] 列に数値の横に [アラート] ラベル(Alert (3) など)が表示されている場合、複合検出です。

: SIEM と SOAR の両方がある場合は、[Cases] タブで結果を表示することもできます。

複合検出を最適化する

複合ルールを作成する際は、次の方法をおすすめします。

レイテンシを最適化する

検出パイプラインのレイテンシを最小限に抑えるには、初期トリガーなど、可能な限り単一イベント ルールを使用します。複合ルールは、検出を使用して他のイベント、エンティティ、検出とのより複雑な関連付けを実行できるため、全体的なレイテンシを短縮できます。

効率的な方法で検出を結合する

検出を結合するには、結果変数、メタラベル、一致変数を使用することをおすすめします。これらのメソッドは、イベント サンプルを使用するよりも確定的で信頼性の高い結果を提供します。メタラベルは、複合ルールでそのラベルの検出をターゲットにできるようにルールを分類できるため、特に柔軟性があります。

たとえば、複数のルールが同じメタラベル tactic: exfiltration を共有している場合、戦術ラベルの値が exfiltration である検出をターゲットとする複合ルールを作成できます。

関数ライブラリを使用して検出を強化する

複合ルールの戦略的なポイントで YARA-L 関数ライブラリを使用すると、シグナルを増やし、より複雑なロジックを追加できます。

ルールの更新を管理する

1 つ以上の複合ルールで使用されているルールを更新すると、ルールの新しいバージョンが自動的に作成されます。複合ルールでは、新しいバージョンが自動的に使用されます。更新されたルール シーケンス全体をテストして、意図した動作を確認することをおすすめします。

制限事項

複合検出を設計して実装する際は、次の制限事項を考慮してください。

  • 複合ルール: Google SecOps は、複合ルールの最大深度を 10 までサポートしています。深さは、基本ルールから最終的な複合ルールまでのルールの数です。

  • 検出専用ルール: 最大一致ウィンドウは 14 日間です。ただし、次の条件が適用されます。

    • ルールで取り込まれたイベント、エンティティ グラフデータ、データテーブル、参照リストを使用する場合、一致ウィンドウは 48 時間に制限されます。

    • 検出専用ルールには、ルールあたり 1 日 10,000 件の検出上限が適用されます。

  • 結果変数: 各ルールで使用できる結果変数は最大 20 個です。また、各繰り返し結果変数は 25 個の値に制限されます。

  • イベント サンプル: ルール内のイベント変数ごとに 10 個のイベント サンプルのみが保存されます($e1 に 10 個、$e2 に 10 個など)。

検出上限の詳細については、検出上限をご覧ください。

次のステップ

複合検出ルールを作成する方法については、複合検出ルールをご覧ください。

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