バッチ検知ルール

概要

バッチ検知は、スケジュールに従ってLogpressoクエリまたはデータセットを実行し、一定期間蓄積されたログやテーブルデータを分析する機能です。セキュリティ運用担当者はPolicies > バッチ検知ルールでルールを管理し、検知結果は検知状況チケット釈明プレイブックなどの後続対応機能に連携できます。

リアルタイム検知が即時反応に適している一方、バッチ検知は低頻度の攻撃、長期間にわたる異常行動、多数のログを横断して判定する必要があるパターンの検知に適しています。たとえば、一定期間に蓄積されたアクセス記録やファイアウォールログをもとに、ポートスキャン、繰り返し失敗、内部移動の兆候を検知するような用途に活用できます。Sonar 5では、ルールをMITRE ATT&CKの攻撃手法・戦術に関連付け、検知目的をより構造的に管理できます。

次の図は、バッチ検知ルールの動作を示したものです。バッチ検知ルールは通常、テーブルに保存されたデータソースを対象に適用されます。

バッチ検知ルールの動作概要

バッチ検知ルールはLogpressoクエリのコマンドおよび関数を利用するため、柔軟なルール作成が可能です。たとえば、特定ユーザーの活動関係を把握し、関連する潜在的脅威を予測して不審な活動を検知できます。

多くの場合、バッチ検知ルールはイベント検知時にチケットを発行したり、イベント実行者に釈明を要求します。過剰なチケット発行はマルウェア分析担当者やセキュリティ運用担当者の負担を増やすため、重複チケットの発生を最小限に抑える必要があります。Logpresso Sonarは、イベント検知時にアラームメッセージやチケットタイトルとして使用されるメッセージ、または重複判定フィールドを基準に、同一内容のイベントを1件のチケットとして処理する機能を提供します。

バッチ検知ルールの一覧表示/検索

Policies > バッチ検知ルールで、バッチ検知ルールの一覧を表示・検索できます。

バッチ検知ルール一覧

  • アプリ: 検知ルールに関連するアプリのアイコン。デフォルトルールやユーザーが追加したルールはLogpressoアイコンで、インストール済みアプリのルールは該当アプリのアイコンで表示されます。
  • 有効化: 検知ルールの有効化トグルボタン (有効: 有効, 無効: 無効)
  • 重要度: 検知ルールの重要度(高/中/低)
  • ルールカテゴリ: ルールに適用されたルールカテゴリ情報
  • ルール: 検知ルール名
  • スケジュール: 検知ルールの実行周期
  • チケット: チケット発行設定の有無
  • 釈明: 釈明要求設定の有無
  • 最終変更日: 検知ルールが最後に変更された日付(または作成日)

一覧から特定のバッチ検知ルールを探すには、ツールバーの検索ツールを使用します。キーワードを入力して一覧を絞り込めます。

ツールバーのルールカテゴリ有効化チケット釈明のドロップダウンを使うと、必要なルールだけをすばやく絞り込めます。

ルールの有効化/無効化

バッチ検知ルールを有効または無効にするには、検知ルールの有効化列にあるトグルボタンをクリックしてください (有効: 有効, 無効: 無効)。

一覧のダウンロード

バッチ検知ルールの一覧をローカルPCに保存するには、ツールバーのダウンロードをクリックしてください。

バッチ検知ルール一覧のダウンロード

一覧のリフレッシュ

最新のバッチ検知ルール一覧を表示するには、ツールバーのリフレッシュをクリックしてください。

許容可能なリスクの設定

XDRライセンスが有効な環境では、バッチ検知ルールに許容可能なリスクスコアを設定して、予想チケット数を推定できます。

許容可能なリスクを設定するには、

  1. バッチ検知ルール一覧で、設定するルール行のチェックボックスを選択してください。

  2. ツールバーの設定をクリックし、表示されるメニューから許容可能なリスクの設定をクリックしてください。

    バッチ検知ルールの許容可能なリスクメニュー

  3. 許容可能なリスクの設定ダイアログで許容可能なリスクスコア(1~100)を入力した後、チケット数の推定をクリックして1日あたりの予想チケット数を確認してください。適用するには保存をクリックします。キャンセルするにはキャンセルをクリックしてください。

    バッチ検知ルールの許容可能なリスク設定

バッチ検知ルールの追加

バッチ検知ルールを追加するには、

  1. Policies > バッチ検知ルールでツールバーの追加をクリックします。

  2. バッチ検知ルールの追加画面で、共通設定の項目を設定します。

    バッチ検知ルールの共通設定

    • 名前: 検知ルールの名前(最大255文字)。他のルールと重複する名前は指定できません。

    • ルールカテゴリ: 検知ルールのルールカテゴリ。Analysis > 検知状況の検知状況一覧にルールカテゴリとして表示されます。必要なルールカテゴリはルールカテゴリで事前に追加しておけます。

    • メッセージ: イベント検知時にチケットへ付与されるタイトル

      • ログスキーマで定義されたフィールド名を $フィールド名 または $フィールド名$ 形式で入力すると、イベント検知の根拠となったログからフィールド値を取得してメッセージを生成します(例: $src_ip)。フィールド名に全角文字が含まれる場合は、必ず $フィールド名$ 形式を使用してください。
      • 詳細設定重複判定フィールドを設定しない場合、生成されたメッセージ(最大2,000文字)が同一かどうかを基準に重複チケットの発生を防止(重複チケットの集約)します。
    • 重要度: 検知イベントの重要度(高、中、低)

    • 分析対象期間: 分析方式クエリのときに適用される機能で、データを分析する対象期間を指定するパラメータ fromto に割り当てる値を計算するために使用します。時間単位(秒、分、時、日)とともに数値を入力してください(デフォルト: 未設定)。この機能を利用するには、クエリ内のデータ取得コマンド(例: table)に from=$("from") to=$("to") オプションが必要です。

      たとえば、分析対象期間に「30日」を指定すると、クエリ(例: table from=$("from") to=$("to") FW_* で始まるクエリ)を実行するたびに、実行時点から逆算して30日前から収集されたデータを、名前が FW_* で始まるテーブルから取得します(範囲: 1 ~ 3,153,600,000)。

    • 切り捨て単位: 取得したデータに適用する時間精度。時間単位(デフォルト: 選択なし、範囲: 選択なし、秒、分、時、日)を選択すると、その時間単位に合わせてデータの時間精度を揃えて表示します。

      たとえば、分析対象期間5分切り捨て単位の場合、分析対象データの時間情報のうちミリ秒値は切り捨てられ、秒単位に変換されます。

    • 担当者: 発行されたチケットを割り当てる担当者アカウント。アカウントは1つ以上選択できます。未指定の場合は、担当者なしでチケットが作成されます。

    • スケジュール: 検知ルールの実行スケジュール。**...**ボタンをクリックすると、CRON構文で実行周期を指定できます。

    • アラームグループ: イベント検知時にアラームを受信するアラームグループ

      Note
      アラームの受信方法はアラームグループで選択してください。
    • 分析方式: スケジュールに従って実行するデータ分析方式(デフォルト: クエリ、範囲: データセット、クエリ)

      • データセットの場合: データセット一覧から実行するデータセットを選択します。

      • クエリの場合: クエリ文を直接入力(最大10,000文字)。

    • 説明: 検知ルールの詳細説明(最大2,000文字)

  3. バッチ検知ルールを特定のアプリおよびMITRE ATT&CKのTTPに紐付けて管理するには、次の項目を設定します。

    バッチ検知ルールのMITRE TTP設定

    バッチ検知ルールのMITRE TTP選択例

    • シグネチャアプリ: ルールに関連するアプリを選択します。アプリを選択すると、該当ルールの出所や適用コンテキストを併せて識別しやすくなります。
    • MITRE攻撃手法: ルールが検知対象とするMITRE ATT&CKの攻撃手法を検索して1つ以上選択します。検索ボックスでは T1078 のような手法IDや手法名で検索でき、選択した項目はタグ形式で表示されます。
    • MITRE戦術: ルールが対応するMITRE ATT&CKの戦術を検索して選択します。戦術も TA0001 のような戦術IDや戦術名で検索できます。
  4. イベント検知時に攻撃者のIPアドレスまたは異常な実行者のIPアドレスを個別に管理したり、ファイアウォールやIPSなどと連携してアドレスグループ情報を受け渡す場合は、次の項目を設定します。

    バッチ検知ルールのブロック設定

    • アドレスグループ: イベントが検知されたときに、IPブロックフィールドに設定されたフィールドのIPアドレスを追加するアドレスグループ。必要に応じてPolicies > アドレスグループで追加設定してください。
    • ブロック期間: 脅威の疑いがあるIPアドレスとして識別されたIPアドレスがアドレスグループに追加された後、そのIPアドレスをアドレスグループに保持する時間(分単位)。イベント検知時にIPブロックフィールドで指定されたフィールドのIPアドレスがアドレスグループに追加されると、設定したブロック期間が経過した後、自動的にアドレスグループから削除されます。ブロック期間を設定しない場合は、制限なくそのままアドレスグループに保持されます(範囲: 1~100,000,000)。
    • IPブロックフィールド: イベント検知時にアドレスグループに追加して管理するIPアドレスフィールドです。ログスキーマに設定されたIPアドレス関連フィールド名を入力してください(例: src_ip, dst_ip)(最大50文字)。
    Note
    他社情報セキュリティシステムとのブロック連携設定については、[ブロック対応連動](section-response-target)を参照してください。
  5. 検知されたイベントが組織の従業員に関連する場合、該当従業員に釈明を要求できます。

    バッチ検知ルールの釈明設定

    • 釈明要求: 釈明要求の有無(デフォルト: 使用しない)

    • 釈明対象者フィールド: 釈明対象の従業員の社員番号情報フィールド。

      脅威が検知されると、該当する社員番号にマッピングされた従業員に、釈明要求メールが自動的に送信されます。この場合、Users > 役職員であらかじめ従業員情報(社員番号、アカウント、メール)を設定しておく必要があります。

    • ルールカテゴリ: 釈明のルールカテゴリ。必要に応じてResponse > 釈明釈明分類の管理をクリックして追加設定できます。

    • 一次レビュアー: 釈明内容の一次レビュアーです。必要であればアカウントを直接指定できます。

    • 二次レビュアー: 釈明の二次レビュアーです。一次レビュアー、二次レビュアーについては釈明を参照してください。

    • 期限(日): 釈明の処理期限です(デフォルト: 7日)。期限を過ぎると、釈明対象者は釈明を提出できません。

    • 釈明要求メッセージ: 釈明要求時に伝達するメッセージです。$src_ip$dst_ip のようにフィールドマクロを含めて、検知根拠を併せて案内できます。

    Note
    釈明要求を行うには、名前が `emp_key` のフィールドが必要です。このフィールドが存在しない場合は、手順2でクエリを作成するときに `emp_key` フィールドを生成し、ユーザーアカウントまたはIPアドレスにマッピングできるようにクエリ文を作成してください。
  6. イベント検知時にチケットを発行するには、詳細設定の項目を設定します。

    バッチ検知ルールの詳細設定

    • チケット発生条件: バッチ検知の結果がどの条件を満たしたときにチケットを発行するかを指定します。

    • チケット分類: セキュリティ運用作業中にチケットを分類するために必要なチケット分類(デフォルト: 選択なし)

      Note
      イベント検知時に自動でチケットが生成されるようにするには、必ずチケット分類を指定してください。イベントをトリガーとして動作するプレイブックでも、チケット生成の可否を決定できます。プレイブックでチケット生成の可否を決定する場合は、この項目を使用しないでください。
    • 重複判定フィールド: チケットの重複確認に使用するフィールド名を、カンマ(,)区切りで $フィールド名 のマクロ形式で入力(最大2,000文字)。未設定の場合は、メッセージ文字列を基準に判定します。

      Note
      たとえば、メッセージ項目を「C&Cサーバー接続: $src_ip -> $dst_ip」に設定しているが、同一ホストから別のC&Cサーバーへ接続するイベントやチケットが不必要に多数発生しないようにするには、重複判定基準キーを `$src_ip` に設定してください。
    • 重複イベント除去: チケット発行後に同一イベントが連続して発生したとき、重複イベントを無視する期間(デフォルト: 0、範囲: 0 ~ 86,400秒)。

      • 「0」のとき: 重複チケット集約設定に従って動作
      • 「0」以外のとき: 指定された期間内は同一イベントを無視し、該当チケットの根拠資料にも使用しない
    • 重複チケット集約: チケット発行後に同一イベントが発生したとき、新しいチケットを発行せず、既発行チケットに根拠資料および発生回数のみを追加する期間(デフォルト: 3,600、範囲: 0 ~ 86,400秒)

      • 「0」のとき: イベント発生ごとに同一タイトルのチケットを作成
      • 「0」以外のとき: 指定期間内は既存チケットに根拠資料および発生回数のみを記録
    • 出力フィールド順序: チケットの根拠資料に表示するログデータのフィールド順序。フィールド名を表示順にカンマ(,)で区切って入力(最大2,000文字。特殊文字およびパイプ記号は不可)

    • チケット完了処理方式: 重複チケット集約が設定されたチケットが完了した後の処理方式設定(デフォルト: 集約タイマーのリセット)

      • 集約タイマーの維持: チケットが完了処理されても、重複チケット集約時間が終了するまで同一脅威イベントが発生すると、完了したチケットに根拠資料および発生回数を記録
      • 集約タイマーのリセット: チケットが完了処理されると重複チケット集約時間も満了したものとみなし、同一脅威イベントが発生した際に新しいチケットを発行
  7. 入力した項目が正しいか確認し、保存をクリックします。

バッチ検知ルールの複製

既に追加したバッチ検知ルールを複製するには、

  1. バッチ検知ルール一覧で、複製するバッチ検知ルールの行のチェックボックスを選択すると、ツールバーにアクションメニューが表示されます。
  2. ツールバーで複製をクリックします。
  3. バッチ検知ルールの複製ダイアログで、複製するバッチ検知ルール一覧を確認した後、複製をクリックします。複製しない場合はキャンセルをクリックします。
  4. 名前が「複製対象ルール名 のコピー」となる新しいルールが無効状態で追加されます。

バッチ検知ルールの編集

バッチ検知ルールを編集するには、

  1. バッチ検知ルール一覧で、編集したいバッチ検知ルール名をクリックします。
  2. バッチ検知ルールの編集画面で情報を修正した後、確認をクリックします。編集可能な項目の説明については、バッチ検知ルールの追加を参照してください。

バッチ検知ルールの実行

バッチ検知ルールをすぐに実行するには、

  1. バッチ検知ルール一覧で、実行したいバッチ検知ルールの行のチェックボックスを選択します。
  2. ツールバーにアクションメニューが表示されます。アクションメニューで今すぐ実行をクリックします。
  3. ルールに従ってイベントが検知されると、Response > チケットおよびAnalysis > 検知状況で検知結果を確認できます。
Note
無効化されたバッチ検知ルールを実行すると、正常に実行されますがチケットは生成されません。

バッチ検知ルールの削除

バッチ検知ルールを削除するには、

  1. バッチ検知ルール一覧で、削除したいバッチ検知ルールの行のチェックボックスを選択します。
  2. ツールバーにアクションメニューが表示されます。アクションメニューで削除をクリックします。
  3. バッチ検知ルールの削除ダイアログで削除するバッチ検知ルール一覧を確認した後、削除をクリックします。削除しない場合はキャンセルをクリックします。