チュートリアル: 非ネイティブ アクションを持つインシデント エンティティを抽出する
エンティティ マッピングはアラートとインシデントを、後続の何らかの調査プロセスや修復アクションに不可欠な情報でエンリッチします。
Microsoft Sentinel プレイブックには、エンティティ情報を抽出するための次のネイティブ アクションが含まれています。
- アカウント
- DNS
- ファイル ハッシュ
- Hosts
- IP
- URL
これらのアクションに加えて、分析ルール エンティティ マッピングには、マルウェア、プロセス、レジストリ キー、メールボックスなどのネイティブ アクションではないエンティティの種類が含まれています。 このチュートリアルでは、さまざまな組み込みアクションを使用して関連する値を抽出して非ネイティブ アクションを操作する方法について説明します。
このチュートリアルでは、以下の内容を学習します。
- インシデント トリガーを含むプレイブックを作成し、インシデントに対して手動で実行します。
- 配列変数を初期化します。
- 他のエンティティ型から必要なエンティティ型をフィルター処理します。
- 結果を JSON ファイルで解析します。
- 将来使用するために動的コンテンツとして値を作成します。
重要
Microsoft Sentinel が、Microsoft Defender ポータルの Microsoft 統合セキュリティ オペレーション プラットフォーム内で一般提供されるようになりました。 詳しくは、「Microsoft Defender ポータルの Microsoft Sentinel」を参照してください。
前提条件
このチュートリアルを完了するには、以下のものが必要です。
Azure サブスクリプション。 まだない場合は、無料のアカウントを作成してください。
次のリソースに次のロールが割り当てられている Azure ユーザー。
- Microsoft Sentinel 共同作成者 (Microsoft Sentinel がデプロイされている Log Analytics ワークスペース上)。
- ロジック アプリ共同作成者と所有者または同等 (このチュートリアルで作成したプレイブックを含むリソース グループ上)。
このチュートリアルでは、(無料の) VirusTotal アカウントで十分です。 運用環境の実装には、VirusTotal Premium アカウントが必要です。
インシデント トリガーを含むプレイブックを作成する
Azure portal の Microsoft Sentinel の場合、[構成]>[自動化] ページを選びます。 Defender ポータルの Microsoft Sentinel の場合、[Microsoft Sentinel]>[構成]>[自動化] を選びます。
[オートメーション] ページで、[作成]>[インシデント トリガーを使用したプレイブック] を選びます。
[プレイブックの作成] ウィザードの [基本] で、サブスクリプションとリソース グループを選択し、プレイブックに名前を付けます。
[次へ: 接続 >] を選択します。
[接続] に、[Microsoft Sentinel - マネージド ID で接続] という接続が表示されるはずです。 次に例を示します。
[次へ: 確認と作成 >] を選択します。
[確認と作成] で、[作成してデザイナーに進む] を選択します。
ロジック アプリ デザイナーが、プレイブックの名前を持つロジック アプリを開きます。
配列変数を初期化する
ロジック アプリ デザイナーの変数を追加したいステップで、[新しいステップ] を選択します。
[操作の選択] で、検索ボックスにフィルターとして「variables」と入力します。 アクションの一覧から [変数を初期化する] を選択します。
変数に関する次の情報を入力します。
変数名では、Entities を使用します。
型では、[配列] を選択します。
値では、「entities」と入力してから [動的コンテンツ] で [エンティティ] を選択します。
既存のインシデントを選択する
Microsoft Sentinel で、[インシデント] に移動し、それに対してプレイブックを実行したいインシデントを選択します。
右側のインシデント ページで、[アクション] > [プレイブックの実行 (プレビュー)] を選択します。
[プレイブック] で、作成したプレイブックの横にある [実行] を選択します。
プレイブックがトリガーされると、[プレイブックが正常にトリガーされました] というメッセージが右上に表示されます。
[実行] を選択し、プレイブックの横にある [実行の表示] を選択します。
[ロジック アプリ実行] ページが表示されます。
[変数の初期化] で、[値] にサンプル ペイロードが表示されます。 後で使用するためにサンプル ペイロードをメモします。
他のエンティティ型から必要なエンティティ型をフィルター処理する
[オートメーション] ページに戻り、プレイブックを選択します。
変数を追加したいステップで、[新しいステップ] を選択します。
[アクションの選択] で、検索ボックスにフィルターとして「filter array」と入力します。 アクションの一覧から [データ操作] を選択します。
フィルター配列に関する次の情報を入力します。
[From]>[動的コンテンツ] で、前に初期化した [Entities] 変数を選択します。
最初の [値の選択] フィールド (左側) を選択し、[式] を選択します。
値「item()?['kind']」を貼り付け、[OK] を選択します。
is equal to 値はそのままにします (変更しないでください)。
2 番目の [値の選択] フィールド (右側) で、「Process」と入力します。 これは、システム内の値と完全に一致している必要があります。
Note
このクエリでは大文字と小文字が区別されます。
kind
値がサンプル ペイロードの値と一致していることを確認します。 プレイブックの作成時のサンプル ペイロードを確認します。
結果を解析して JSON ファイルにする
ロジック アプリの変数を追加したいステップで、[新しいステップ] を選択します。
[データ操作]>[JSON の解析] を選択します。
操作に関する次の情報を入力します。
[コンテンツ] を選択し、[動的コンテンツ]>[フィルター配列] で [本文] を選択します。
配列から値を抽出できるように [スキーマ] で JSON スキーマを貼り付けます。 プレイブックの作成時に生成したサンプル ペイロードをコピーします。
プレイブックに戻り、[サンプル ペイロードを使用してスキーマを生成] を選択します。
ペイロードを貼り付けます。 スキーマの先頭に始め角かっこ (
[
) を追加し、スキーマの末尾で閉じます (]
)。[完了] を選択します。
将来使用するために新しい値を動的コンテンツとして使用する
これで、作成した値を動的コンテンツとして使用して、さらにアクションを実行できるようになりました。 たとえば、プロセス データを含むメールを送信したい場合、アクション名を変更しなかったのなら、[動的コンテンツ] で [JSON の解析] アクションを見つけることができます。
プレイブックが保存されていることを確認する
プレイブックが保存されていることを確認すると、SOC 操作にプレイブックを使用できるようになります。
次のステップ
次の記事に進み、プレイブックを使用して Microsoft Sentinel でインシデント タスクを作成して実行する方法について確認してください。