Microsoft Sentinel でエンドツーエンドのプロアクティブな脅威ハンティングを実施する

プロアクティブな脅威ハンティングは、セキュリティ アナリストが未検出の脅威や悪意のある動作を探し出すプロセスです。 仮説を作成し、データを検索し、その仮説を検証することで、何に対処するかを決定します。 アクションには、新しい検出や新しい脅威インテリジェンスの作成、または新しいインシデントの作成が含まれます。

Microsoft Sentinel 内でエンド ツー エンドのハンティング エクスペリエンスを使用して、次の操作を行います。

  • 特定の MITRE 手法、悪意のある可能性のあるアクティビティ、最近の脅威、または独自のカスタム仮説に基づいて、プロアクティブなハンティングを行います。
  • セキュリティ研究者によって生成されたハンティング クエリまたはカスタム ハンティング クエリを使用して、悪意のある動作を調査します。
  • コンテキストを長い時間にわたって維持できる複数の永続化されたクエリ タブを使用して、ハンティングを実施します。
  • 証拠を収集し、UEBA ソースを調査し、ハントに固有のブックマークを使用して結果に注釈を付けます。
  • 共同作業を行い、結果を文書化してコメントを付けます。
  • 新しい分析ルール、新しいインシデント、新しい脅威インジケーターを作成し、プレイブックを実行して結果に対処します。
  • 新しいハント、アクティブなハント、クローズしたハントを 1 か所で追跡します。
  • 検証済みの仮説と具体的な結果に基づいてメトリックを表示します。

重要

Microsoft Sentinel は、Microsoft Defender ポータルの統合セキュリティ オペレーション プラットフォームのパブリック プレビューの一部として利用できます。 詳細については、Microsoft Defender ポータルの Microsoft Sentinel に関する記事を参照してください。

前提条件

ハント機能を使用するには、組み込みの Microsoft Sentinel ロールまたはカスタム Azure RBAC ロールが割り当てられている必要があります。 そのためのオプションを次に示します。

仮説を定義する

仮説の定義は制限のない柔軟なプロセスであり、検証する必要があるあらゆるアイデアを含めることができます。 一般的な仮説としては、次のものがあります。

  • 疑わしい動作 - 環境内に見られる悪意のある可能性のあるアクティビティを調査し、攻撃が発生しているかどうかを判断します。
  • 新しい脅威キャンペーン - 新しく検出された脅威のアクター、手法、または脆弱性に基づいて、悪意のあるアクティビティの種類を探します。 これは、セキュリティ関連のニュース記事で聞いたものである場合もあります。
  • 検出ギャップ - MITRE ATT&CK マップを使用して検出範囲を拡大し、ギャップを特定します。

Microsoft Sentinel では、適切なハンティング クエリのセットに焦点を絞って仮説を調査できるため、ユーザーに柔軟性が提供されます。 ハントを作成するときは、事前に選択されたハンティング クエリを使用して開始するか、進行に応じてクエリを追加します。 最も一般的な仮説に基づく事前に選択されたクエリに対する推奨事項を次に示します。

仮説 - 疑わしい動作

  1. Azure portal の Microsoft Sentinel では、[脅威の管理] で、[ハンティング] を選択します。
    Defender ポータルの Microsoft Sentinel では、[Microsoft Sentinel]>[脅威の管理]>[ハンティング] を選択します。

  2. [クエリ] タブを選択します。悪意のある可能性のある動作を特定するには、すべてのクエリを実行します。

  3. [すべてのクエリを実行する] を選択し、クエリが実行されるまで待機します。 この処理にはしばらく時間がかかることがあります。

  4. [フィルターの追加]>[結果] の選択 > チェックボックス "!"、"N/A"、"-"、および "0" の値の選択解除 >[適用] を選択しますステップ 3 で説明されているフィルターを表示するスクリーンショット。

  5. [結果の差分] 列でこれらの結果を並べ替えて、最近何が変更されたかを確認します。 これらの結果は、ハントに関する最初のガイダンスを提供します。

仮説 - 新しい脅威キャンペーン

コンテンツ ハブには、特定の攻撃を追求するための脅威キャンペーンとドメインベースのソリューションが用意されています。 次の手順では、これらの種類のソリューションのいずれかをインストールします。

  1. [コンテンツ ハブ] に移動します。

  2. Log4J Vulnerability DetectionApache Tomcat などの脅威キャンペーンまたはドメインベースのソリューションをインストールします。

    Log4J および Apache ソリューションが選択された、グリッド ビューのコンテンツ ハブを示すスクリーンショット。

  3. ソリューションがインストールされたら、Microsoft Sentinel で [ハンティング] に移動します。

  4. [クエリ] タブを選択します。

  5. ソリューション名を使うか、ソリューションのソース名でフィルター処理して検索します。

  6. クエリを選択し、クエリを実行します。

仮説 - 検出ギャップ

MITRE ATT&CK マップは、検出範囲の特定のギャップを特定するのに役立ちます。 特定の MITRE ATT&CK 手法のための事前定義されたハンティング クエリを、新しい検出ロジックを開発するための開始点として使用します。

  1. [MITRE ATT&CK (プレビュー)] ページに移動します。

  2. [アクティブ] ドロップダウン メニューの項目を選択解除します。

  3. [シミュレート済み] フィルタで [ハンティング クエリ] を選択して、ハンティング クエリが関連付けられている手法を確認します。

    [シミュレート済み] で [ハンティング クエリ] のオプションが選択されている [MITRE ATT&CK] ページを示すスクリーンショット。

  4. 目的の手法があるカードを選択します。

  5. 詳細ウィンドウの下部にある [ハンティング クエリ] の横にある [表示] リンクを選択します。 このリンクをクリックすると、選択した手法に基づいて、[ハンティング] ページの [クエリ] タブのフィルター処理されたビューが表示されます。

    [ハンティング クエリ] の表示リンクがある MITRE ATT&CK カードを表示するスクリーンショット。

  6. その手法についてのすべてのクエリを選択します。

ハントを作成する

ハントを作成するには、主に 2 つの方法があります。

  1. クエリを選択したときに仮説の使用を開始した場合は、[ハント アクション] ドロップダウン メニュー >[新しいハントの作成] を選択します。 選択したすべてのクエリが、この新しいハント用に複製されます。

    クエリが選択され、[Create new hunt] (新しいハントの作成) メニュー オプションが選択された状態を表示するスクリーンショット。

  2. クエリをまだ決定していない場合は、[Hunts (Preview)] (ハント (プレビュー)) タブ >[New Hunt] (新しいハント) を選択して空のハントを作成します。

    クエリが事前選択されていない空のハントを作成するメニューを表示するスクリーンショット。

  3. ハント名とオプションのフィールドに入力します。 説明は、仮説を言葉で表すのに適した場所です。 [仮説] プルダウン メニューでは、作業中の仮説の状態を設定します。

  4. [作成] を 選択して作業を開始します。

    ハント名、説明、所有者、状態、仮説の状態を示すハント作成ページを表示するスクリーンショット。

ハントの詳細を表示する

  1. [Hunts (Preview)] (ハント (プレビュー)) タブを選択して、新しいハントを表示します。

  2. 詳細を表示してアクションを実行するハント リンクの名前を選択します。

    [ハンティング] タブで新しいハントを表示するスクリーンショット。

  3. [ハント名][説明][コンテンツ][最終更新時刻][作成時刻] を示す詳細ウィンドウを表示します。

  4. [クエリ][ブックマーク][エンティティ] のタブに注目します。

    ハントの詳細を示すスクリーンショット。

[クエリ] タブ

[クエリ] タブには、このハントに固有のハンティング クエリが含まれています。 これらのクエリは、ワークスペース内の他のすべてのクエリとは関係のない、元のクエリの複製です。 クエリの全体的なセットまたは他のハント内のクエリに影響を与えずに、それらを更新または削除します。

ハントにクエリを追加する

  1. [クエリ アクション]>[add queries to hunt] (ハントにクエリを追加する) を選択します
  2. 追加するクエリを選択します。 [クエリ] タブ ページで [クエリ アクション] メニューを示すスクリーンショット。

クエリを実行する

  1. [すべてのクエリを実行する] を選択するか、特定のクエリを選択して、[選択したクエリの実行] を選択します。
  2. [キャンセル] を選択すると、クエリの実行がいつでも取り消されます。

クエリを管理する

  1. クエリを右クリックし、コンテキスト メニューから次のいずれかを選択します。

    • 実行
    • 編集
    • 複製
    • 削除
    • 分析ルールの設定

    ハントの [クエリ] タブの右クリック コンテキスト メニュー オプションを表示するスクリーンショット。

    これらのオプションは、[ハンティング] ページの既存のクエリ テーブルと同じように動作しますが、アクションはこのハント内でのみ適用されます。 分析ルールの作成を選択すると、名前、説明、および KQL クエリが新しいルールの作成に事前設定されます。 [Related analytics rules] (関連する分析ルール) の下に、見つかった新しい分析ルールを表示するためのリンクが作成されます。

    関連する分析ルールを含むハントの詳細を示すスクリーンショット。

結果の表示

この機能を使用すると、Log Analytics 検索エクスペリエンスでハンティング クエリの結果を表示できます。 ここから、結果を分析し、クエリを絞り込み、ブックマークを作成して情報を記録し、個々の行の結果をさらに調査します。

  1. [結果の表示] ボタンを選択します。
  2. Microsoft Sentinel ポータルの別の部分にピボットした後、ハント ページから LA ログ検索エクスペリエンスに戻ると、すべての LA クエリ タブがそのまま残ります。
  3. ブラウザー タブを閉じると、これらの LA クエリ タブは失われます。クエリを長期間保持する場合は、クエリを保存するか、新しいハンティング クエリを作成するか、後でハント内で使用するためにコメントにコピーする必要があります。

ブックマークを追加する

興味深い結果や重要なデータ行が見つかった場合、ブックマークを作成してそれらの結果をハントに追加します。 詳細については、データ調査のためのハンティング ブックマークの使用に関する記事を参照してください。

  1. 目的の行を選択します。

  2. 結果テーブルの上にある [ブックマークの追加] を選択します。 オプション フィールドが入力された [ブックマークの追加] ペインを示すスクリーンショット。

  3. ブックマークに名前を付けます。

  4. イベント時刻列を設定します。

  5. エンティティ識別子をマップします。

  6. MITRE の戦術と手法を設定します。

  7. タグを追加し、メモを追加します。

    ブックマークには、特定の行の結果、KQL クエリ、結果を生成した時間範囲が保持されます。

  8. [作成] を選択して、ブックマークをハントに追加します。

ブックマークを表示する

  1. ハントのブックマーク タブに移動して、ブックマークを表示します。

    すべての詳細情報とハント アクション メニュー オプションがあるブックマークを示すスクリーンショット。

  2. 目的のブックマークを選択し、次の操作を実行します。

    • エンティティ リンクを選択して、対応する UEBA エンティティ ページを表示します。
    • 未加工の結果、タグ、メモを表示します。
    • [ソース クエリの表示] を選択して、Log Analytics のソース クエリを表示します。
    • [ブックマーク ログの表示] を選択すると、Log Analytics ハンティング ブックマーク テーブルにブックマークの内容が表示されます。
    • [調査] ボタンを選択すると、調査グラフにブックマークおよび関連エンティティが表示されます。
    • [編集] ボタンを選択して、タグ、MITRE の戦術と手法、メモを更新します。

エンティティを操作する

  1. ハントの [エンティティ] タブに移動して、ハントに含まれるエンティティを表示、検索、フィルター処理します。 このリストは、ブックマーク内のエンティティの一覧から生成されます。 [エンティティ] タブでは、重複したエントリが自動的に解決されます。

  2. エンティティ名を選択して、対応する UEBA エンティティ ページにアクセスします。

  3. エンティティを右クリックして、エンティティ型に適したアクションを実行します (TI への IP アドレスの追加やエンティティ型固有のプレイブックの実行など)。

    エンティティのコンテキスト メニューを示すスクリーンショット。

コメントの追加

コメントは、同僚との共同作業やメモの保持、結果の文書化を行うのに最適な場所です。

  1. を選択

  2. 編集ボックスにコメントを入力して書式設定します。

  3. コラボレーターがコンテキストをすばやく理解するためのリンクとして、クエリ結果を追加します。

  4. [コメント] ボタンを選択して、コメントを適用します。

    LA クエリをリンクとして含むコメント編集ボックスを示すスクリーンショット。

インシデントを作成する

ハンティング中のインシデント作成には、2 つの選択肢があります。

オプション 1: ブックマークを使用する。

  1. ブックマークを選択します。

  2. [インシデント アクション] ボタンを選択します。

  3. [新しいインシデントを作成する] または [既存のインシデントに追加] を選択します

    ブックマーク ウィンドウの [インシデント アクション] メニューを示すスクリーンショット。

    • [新しいインシデントを作成する] では、ガイド付きの手順に従います。 [ブックマーク] タブには、選択したブックマークが事前に設定されています。
    • [既存のインシデントに追加] では、インシデントを選択し、[Accept] (承諾する) ボタンを選択します。

オプション 2: ハントの [アクション] を使用する。

  1. ハントの [アクション] メニュー >[インシデントの作成] を選択し、ガイド付きの手順に従います。

    ブックマーク ウィンドウからハントの [アクション] メニューを表示するスクリーンショット。

  2. [ブックマークの追加] ステップで、[ブックマークの追加] アクションを使用して、インシデントに追加するためにブックマークをハントから選択します。 ブックマークは、インシデントにまだ割り当てられていないものに制限されています。

  3. インシデントが作成されると、そのハントの [関連するインシデント] リストにリンクされます。

更新の状態

  1. 仮説を立証または否定するのに十分な証拠を取得したら、仮説の状態を更新します。

    仮説の状態の選択メニューを示すスクリーンショット。

  2. 分析ルールやインシデントの作成、TI への侵害インジケーター (IOC) の追加など、ハントに関連するすべてのアクションが完了したら、ハントを終了します。

    ハントの状態の選択メニューを示すスクリーンショット。

これらの状態の更新は、メインの [ハンティング] ページに表示され、メトリックの追跡に使用されます。

メトリックの追跡

[Hunts] (ハント) タブのメトリック バーを使用して、ハンティング アクティビティの具体的な結果を追跡します。メトリックには、検証済みの仮説、新しく作成されたインシデント、作成された新しい分析ルールの数が表示されます。 これらの結果を使用して、ハンティング プログラムの目標を設定したり、マイルストーンを祝ったりします。

ハンティング メトリックを示すスクリーンショット。

次のステップ

この記事では、Microsoft Sentinel のハント機能を使用してハンティング調査を実行する方法について学習しました。

詳細については、以下を参照してください: