チュートリアル: 非ネイティブ アクションを持つインシデント エンティティを抽出する

エンティティ マッピングはアラートとインシデントを、後続の何らかの調査プロセスや修復アクションに不可欠な情報でエンリッチします。

Microsoft Sentinel プレイブックには、エンティティ情報を抽出するための次のネイティブ アクションが含まれています。

  • アカウント
  • DNS
  • ファイル ハッシュ
  • Hosts
  • IP
  • URL

これらのアクションに加えて、分析ルール エンティティ マッピングには、マルウェア、プロセス、レジストリ キー、メールボックスなどのネイティブ アクションではないエンティティの種類が含まれています。 このチュートリアルでは、さまざまな組み込みアクションを使用して関連する値を抽出して非ネイティブ アクションを操作する方法について説明します。

このチュートリアルでは、以下の内容を学習します。

  • インシデント トリガーを含むプレイブックを作成し、インシデントに対して手動で実行します。
  • 配列変数を初期化します。
  • 他のエンティティ型から必要なエンティティ型をフィルター処理します。
  • 結果を JSON ファイルで解析します。
  • 将来使用するために動的コンテンツとして値を作成します。

重要

Microsoft Sentinel は、Microsoft Defender ポータルの統合セキュリティ オペレーション プラットフォームの一部として利用できます。 Defender ポータルの Microsoft Sentinel は、運用環境での使用がサポートされるようになりました。 詳しくは、「Microsoft Defender ポータルの Microsoft Sentinel」を参照してください。

前提条件

このチュートリアルを完了するには、以下のものが必要です。

  • Azure サブスクリプション。 まだない場合は、無料のアカウントを作成してください。

  • 次のリソースに次のロールが割り当てられている Azure ユーザー。

  • このチュートリアルでは、(無料の) VirusTotal アカウントで十分です。 運用環境の実装には、VirusTotal Premium アカウントが必要です。

インシデント トリガーを含むプレイブックを作成する

  1. Azure portal の Microsoft Sentinel の場合、[構成]>[自動化] ページを選びます。 Defender ポータルの Microsoft Sentinel の場合、[Microsoft Sentinel]>[構成]>[自動化] を選びます。

  2. [オートメーション] ページで、[作成]>[インシデント トリガーを使用したプレイブック] を選びます。

  3. [プレイブックの作成] ウィザードの [基本] で、サブスクリプションとリソース グループを選択し、プレイブックに名前を付けます。

  4. [次へ: 接続 >] を選択します。

    [接続] に、[Microsoft Sentinel - マネージド ID で接続] という接続が表示されるはずです。 次に例を示します。

    インシデント トリガーを含む新しいプレイブックの作成のスクリーンショット。

  5. [次へ: 確認と作成 >] を選択します。

  6. [確認と作成] で、[作成してデザイナーに進む] を選択します。

    ロジック アプリ デザイナーが、プレイブックの名前を持つロジック アプリを開きます。

    ロジック アプリ デザイナーでのプレイブックの確認のスクリーンショット。

配列変数を初期化する

  1. ロジック アプリ デザイナーの変数を追加したいステップで、[新しいステップ] を選択します。

  2. [操作の選択] で、検索ボックスにフィルターとして「variables」と入力します。 アクションの一覧から [変数を初期化する] を選択します。

  3. 変数に関する次の情報を入力します。

    • 変数名では、Entities を使用します。

    • 型では、[配列] を選択します。

    • 値では、「entities」と入力してから [動的コンテンツ][エンティティ] を選択します。

      配列変数の初期化のスクリーンショット。

既存のインシデントを選択する

  1. Microsoft Sentinel で、[インシデント] に移動し、それに対してプレイブックを実行したいインシデントを選択します。

  2. 右側のインシデント ページで、[アクション] > [プレイブックの実行 (プレビュー)] を選択します。

  3. [プレイブック] で、作成したプレイブックの横にある [実行] を選択します。

    プレイブックがトリガーされると、[プレイブックが正常にトリガーされました] というメッセージが右上に表示されます。

  4. [実行] を選択し、プレイブックの横にある [実行の表示] を選択します。

    [ロジック アプリ実行] ページが表示されます。

  5. [変数の初期化] で、[値] にサンプル ペイロードが表示されます。 後で使用するためにサンプル ペイロードをメモします。

    [値] フィールドでのサンプル ペイロードの表示のスクリーンショット。

他のエンティティ型から必要なエンティティ型をフィルター処理する

  1. [オートメーション] ページに戻り、プレイブックを選択します。

  2. 変数を追加したいステップで、[新しいステップ] を選択します。

  3. [アクションの選択] で、検索ボックスにフィルターとして「filter array」と入力します。 アクションの一覧から [データ操作] を選択します。

    配列のフィルター処理とデータ操作の選択のスクリーンショット。

  4. フィルター配列に関する次の情報を入力します。

    1. [From]>[動的コンテンツ] で、前に初期化した [Entities] 変数を選択します。

    2. 最初の [値の選択] フィールド (左側) を選択し、[式] を選択します。

    3. 値「item()?['kind']」を貼り付け、[OK] を選択します。

      フィルター配列式の記入のスクリーンショット。

    4. is equal to 値はそのままにします (変更しないでください)。

    5. 2 番目の [値の選択] フィールド (右側) で、「Process」と入力します。 これは、システム内の値と完全に一致している必要があります。

      Note

      このクエリでは大文字と小文字が区別されます。 kind 値がサンプル ペイロードの値と一致していることを確認します。 プレイブックの作成時のサンプル ペイロードを確認します。

      フィルター配列情報の記入のスクリーンショット。

結果を解析して JSON ファイルにする

  1. ロジック アプリの変数を追加したいステップで、[新しいステップ] を選択します。

  2. [データ操作]>[JSON の解析] を選択します。

    [データ操作] での [JSON の解析] オプションの選択のスクリーンショット。

  3. 操作に関する次の情報を入力します。

    1. [コンテンツ] を選択し、[動的コンテンツ]>[フィルター配列][本文] を選択します。

      [コンテンツ] での [動的コンテンツ] の選択のスクリーンショット。

    2. 配列から値を抽出できるように [スキーマ] で JSON スキーマを貼り付けます。 プレイブックの作成時に生成したサンプル ペイロードをコピーします。

      サンプル ペイロードのコピーのスクリーンショット。

    3. プレイブックに戻り、[サンプル ペイロードを使用してスキーマを生成] を選択します。

      [サンプル ペイロードを使用してスキーマを生成] の選択のスクリーンショット。

    4. ペイロードを貼り付けます。 スキーマの先頭に始め角かっこ ([) を追加し、スキーマの末尾で閉じます (])。

      サンプル ペイロードの貼り付けのスクリーンショット。

      貼り付けられたサンプル ペイロードの 2 番目の部分のスクリーンショット。

    5. [完了] を選択します。

将来使用するために新しい値を動的コンテンツとして使用する

これで、作成した値を動的コンテンツとして使用して、さらにアクションを実行できるようになりました。 たとえば、プロセス データを含むメールを送信したい場合、アクション名を変更しなかったのなら、[動的コンテンツ][JSON の解析] アクションを見つけることができます。

プロセス データを含むメール送信のスクリーンショット。

プレイブックが保存されていることを確認する

プレイブックが保存されていることを確認すると、SOC 操作にプレイブックを使用できるようになります。

次のステップ

次の記事に進み、プレイブックを使用して Microsoft Sentinel でインシデント タスクを作成して実行する方法について確認してください。