異常検出分析ルール テンプレートを使用する

完了

攻撃者と防御者がサイバーセキュリティの激しい競争において絶えず優位に立とうとする中、攻撃者は常に検出を回避する方法を見つけ出します。 とはいえ、攻撃においては必ず、攻撃対象のシステムに通常とは異なる挙動が現れます。 機械学習に基づく、Microsoft Sentinel のカスタマイズ可能な異常検知では、追加設定なしですぐに使用できる分析ルール テンプレートによってこの挙動を特定します。 異常そのものが悪意のある挙動や疑わしい動作を意味しているとは限らないものの、それを活用して検出、調査、脅威追求の能力を高めることができます。

  • 検出能力を向上するための追加のシグナル: セキュリティ アナリストは異常を使用して新しい脅威を検出し、既存の検出の効率を高めます。 1 つの異常は悪意のある挙動を示す強力なシグナルではないものの、キル チェーンのさまざまな地点で発生する複数の異常を組み合わせるなら、累積効果は強力なものとなります。 異常によって特定される通常とは異なる挙動をアラート発生の条件に設定することにより、セキュリティ アナリストは既存の検出能力を向上させることもできます。

  • 調査における証拠: セキュリティ アナリストは、調査の際に異常を使用することにより、侵害の確証、調査のための新しい方向性の発見、潜在的な影響の評価を行うことができます。 こうした効率化により、セキュリティ アナリストは調査に費やす時間を短縮することができます。

  • プロアクティブな脅威の追及の出発点: 脅威を追求する担当者たちは、自分たちのクエリによって疑わしい挙動が明らかになったかどうかを判断するための状況証拠として、異常を活用できます。 挙動が疑わしいものである場合、さらなる追及のために進むべき方向性が異常によって指し示されることにもなります。 異常から得られるこのような手掛かりにより、脅威の検出にかかる時間は短くなり、危害を及ぼすおそれは小さくなります。

異常検知は強力なツールですが、ノイズが多いことでも有名です。 通常、特定の環境に合わせるための退屈なチューニングや複雑な後処理が必要になります。 Microsoft Sentinel のカスタマイズ可能な異常検知テンプレートは Microsoft のデータ サイエンス チームによってチューニングされ、追加設定なしにすぐに使える値が備わっていますが、さらにチューニングが必要な場合でも、その手順はシンプルで機械学習の知識は必要ありません。 多くの異常のしきい値やパラメーターは構成可能で、使い慣れた分析ルールのユーザー インターフェイスを使用して微調整できます。 インターフェイス内で元のしきい値およびパラメーターのパフォーマンスと新しいものとを比較でき、テスト中やフライト化の段階で必要に応じてさらに調整できます。 異常検知がパフォーマンスの目標を満たしたら、新しいしきい値またはパラメーターによる異常検知を、ボタンをクリックするだけで運用環境にレベル上げできます。 Microsoft Sentinel のカスタマイズ可能な異常検知を使用すると、労力をかけずに異常検知の利点を得ることができます。

異常検出分析ルールを使用する

Microsoft Sentinel のカスタマイズ可能な異常機能により、イミディエイト値にすぐに使用できる組み込みの異常テンプレートが提供されます。 これらの異常テンプレートは、数千のデータ ソースと数百万のイベントを使用して堅牢になるように開発されましたが、この機能を使用すると、ユーザー インターフェイス内で異常のしきい値とパラメーターを簡単に変更することもできます。 異常ルールによって異常が生成 ( [ログ] セクションの [異常] テーブルに表示) されるようにするには、事前にアクティブにする必要があります。

  1. Microsoft Sentinel のナビゲーション メニューから [分析] を選択します。

  2. [分析] ページで [ルール テンプレート] タブを選択します。

  3. 異常テンプレートのリストをフィルター処理します。

    • [ルールの種類] フィルターを選択し、下に表示されるドロップダウン リストをクリックします。

    • [すべて選択] のマークを解除し、 [異常] をマークします。

    • 必要に応じて、ドロップダウン リストの上部をクリックして取り消してから、[OK] をクリックします。

異常ルールをアクティブにする

ルール テンプレートのいずれかを選択すると、詳細ウィンドウに [ルールの作成] ボタンと共に次の情報が表示されます。

  • [説明] : 異常がどのように機能するか、および必要なデータについて説明します。

  • [データ ソース] : 分析するために取り込む必要があるログの種類を示します。

  • 戦術と手法は、異常の対象となる MITRE ATT&CK フレームワークの戦術と手法です。

  • [パラメーター] : 異常に対して構成可能な属性です。

  • [しきい値] : イベントがどの程度異常になったら異常を作成するかを示す構成可能な値です。

  • [ルールの頻度] : 異常を検出するログ処理ジョブ間の時間です。

  • [Anomaly version](異常バージョン) : ルールによって使用されるテンプレートのバージョンを示します。 既にアクティブになっているルールで使用されているバージョンを変更する場合は、ルールを再作成する必要があります。

  • [Template last updated](テンプレートの最終更新日) : 異常バージョンが変更された日付です。

ルールをアクティブにするには、次の手順を実行します。

  • [使用中] というラベルがまだ付いていないルール テンプレートを選択します。 [ルールの作成] ボタンを選択して、ルール作成ウィザードを開きます。

    ウィザードはルール テンプレートごとに若干異なりますが、 [全般] 、 [構成] 、 [確認と作成] の 3 つの手順またはタブがあります。

    ウィザードで値を変更することはできません。まず、ルールを作成してアクティブにする必要があります。

  • タブを切り替え、 [確認と作成] タブに "検証に成功しました" というメッセージが表示されるのを待ち、 [作成] ボタンを選択します。

    各テンプレートから作成できるアクティブなルールは 1 つだけです。 ウィザードを完了すると、 [アクティブなルール] タブにアクティブな異常ルールが作成され、( [ルール テンプレート] タブ内の) テンプレートが [IN USE](使用中) とマークされます。

異常ルールがアクティブになると、検出された異常は、Microsoft Sentinel ワークスペースの [ログ] セクションの [異常] テーブルに格納されます。

各異常ルールにはトレーニング期間があります。そのトレーニング期間が終了するまで、異常はテーブルに表示されません。 トレーニング期間は、各異常ルールの説明で確認できます。

異常の質を評価する

過去 24 時間でルールによって作成された異常のサンプルを確認することで、異常ルールのパフォーマンスを確認できます。

  • Microsoft Sentinel のナビゲーション メニューから [分析] を選択します。

  • [分析] ページで、[アクティブなルール] タブが選択されていることを確認します。

  • (前述のように) 異常ルールのリストをフィルター処理します。

  • 評価するルールを選択し、その名前を詳細ウィンドウの上部から右側にコピーします。

  • Microsoft Sentinel のナビゲーション メニューから [ログ] を選択します。

  • クエリ ギャラリーが上部にポップアップ表示された場合は、閉じます。

  • [ログ] ページの左側にあるウィンドウで [テーブル] タブを選択します。

  • [時間範囲] フィルターを [過去 24 時間] に設定します。

  • 下の Kusto クエリをコピーし、クエリ ウィンドウに ("クエリをこちらに入力するか..." と表示されているところに) 貼り付けます。

Anomalies 
| where AnomalyTemplateName contains "________________________________"
Paste the rule name you copied above in place of the underscores between the quotation marks.
  • [実行] を選択します。

結果が複数ある場合は、異常の質の評価を開始できます。 結果が得られない場合は、時間範囲を広げてみてください。

各異常の結果を展開してから、 [AnomalyReasons] フィールドを展開します。 これにより、異常が発生した理由が示されます。

異常の "妥当性" または "有用性" は、お使いの環境の条件によって異なる場合がありますが、異常ルールによってあまりにも多くの異常が生成される理由として一般的なのは、しきい値が低すぎることです。

異常ルールを調整する

異常ルールは、最大限の効果がすぐに得られるように設計されていますが、すべての状況は一意であり、ときには異常ルールを調整する必要があります。

元のアクティブなルールは編集できないので、最初にアクティブな異常ルールを複製してから、コピーをカスタマイズする必要があります。

元の異常ルールは、無効にするか削除するまで実行され続けます。

これは仕様によるもので、元の構成と新しいものによって生成された結果を比較する機会を提供するためです。 重複するルールは既定で無効になっています。 特定の異常ルールのカスタマイズされたコピーを 1 つだけ作成できます。 2 つ目のコピーを作成しようとすると失敗します。

  • 異常ルールの構成を変更するには、 [アクティブなルール] タブで異常ルールを選択します。

  • ルールの行の任意の場所を右クリックするか、行の末尾にある省略記号 (...) を左クリックし、[複製] をクリックします。

  • ルールの新しいコピーには、ルール名に "- Customized" というサフィックスが付けられます。 このルールを実際にカスタマイズするには、このルールを選択して [編集] をクリックします。

  • 分析ルール ウィザードでこのルールが開きます。 ここで、ルールのパラメーターとそのしきい値を変更できます。 変更できるパラメーターは、異常の種類とアルゴリズムによって異なります。

  • 変更の結果は、 [結果のプレビュー] ウィンドウでプレビューできます。 結果のプレビューで [異常 ID] を選択すると、ML モデルによってそれが異常と識別される理由が表示されます。

  • カスタマイズしたルールを有効にして結果を生成します。 一部の変更ではルールの再実行が必要になる場合があるため、それが完了するまで待機してから [ログ] ページに戻って結果を確認する必要があります。 カスタマイズされた異常ルールは、既定で フライティング (テスト) モードで実行されます。 既定では、元のルールは引き続き実稼働モードで実行されます。

  • 結果を比較するには、[ログ] の [異常] テーブルに戻って以前と同じように新しいルールを評価します。[AnomalyTemplateName] 列で、元のルール名を持つ行と、" - Customized" が付加された重複するルール名のみを検索します。

    カスタマイズしたルールの結果に問題がなければ、[アクティブなルール] タブに戻ってカスタマイズしたルールをクリックし、[編集] ボタンを選択し、[全般] タブで [フライト化] から [実稼働] に切り替えます。 実稼働では同じルールの 2 つのバージョンを同時に持つことはできないため、元のルールは自動的に [フライティング] に変更されます。