ライブデータに対するルールの実行

ルールを作成すると、当初は Chronicle アカウントで受信したイベントに基づいて検出がリアルタイムで検索されることはありません。ただし、[ライブルール] を [有効] に設定して、検出をリアルタイムで検索するルールを設定します。

ルールをライブにするには、次の手順を行います。

  1. ルール ダッシュボードに移動します。

  2. ルールの [Rules] オプション アイコンをクリックし、[Live Rule] を有効にします。

    ライブルール

    ライブルール

  3. ライブルールによって生成された検出結果を表示するには、[View Rule Detections] を選択します。

ルールの割り当て

容量ボタンをクリックすると、ライブにできるルール数の上限が表示されます。ルール ダッシュボードの右上にあります。

Chronicle には、次のルール制限があります。

  • マルチイベントルールの割り当て - ライブとして有効な複数のイベントルールの現在の数と、ライブとして有効にできるルールの最大数が表示されます。単一イベントルールとマルチイベントルールの違いについて詳しくは、こちらをご覧ください。
  • ルールの合計割り当て - すべてのルールの種類でライブとして有効なルールの現在の合計数と、ライブとして有効にできるルールの最大数が表示されます。

さまざまな種類のルールの詳細については、こちらをご覧ください。

ルールの実行

頻度の低下に伴い、特定のイベント時間バケット用のライブルール実行がトリガーされます。最終的なクリーンアップが行われ、その後、実行はもう開始されません。

各実行は、ルールで使用される最新バージョンの参照リストを確認し、最新のイベントとエンティティのデータ拡充に対して行われます。

つまり、一部の検出結果は、後の実行でのみ検出される場合、遡及的に生成されます。たとえば、最後の実行では、より多くのイベントを検出する最新バージョンの参照リストが使用される場合があり、新しい拡充によってイベントとエンティティ データが再処理されます。

検出のレイテンシ

ライブルールから検出が生成されるまでの時間は、さまざまな要因によって決まります。次に例を示します。

  • 元のログデータの取り込み時間。
  • ルールでコンテキストが拡充されたデータを使用するかどうか。拡充のために検出が遅れる場合があります。
  • ルールが存在しないかどうか。存在しないルール(条件セクションに !$e または #e = 0 が含まれるルール)の場合、検出エンジンは、遅れて届いたデータを許容できるように、(ルールの実行頻度に基づいて)予想されるレイテンシを 1 時間以上加算します。

検出のレイテンシを短くするには、次のことをおすすめします。

  • イベントが発生したらすぐに Chronicle にログデータを送信する。
  • 存在しないデータまたはコンテキストが拡充されたデータを使用する必要があるかどうかを確認する監査ルール。
  • 実行頻度を低くする。

ルールのステータス

ライブルールは次のいずれかのステータスになります。

  • [有効]: ルールは有効で、ライブルールとして正常に動作しています。

  • [無効]: ルールは無効です。

  • [制限付き]: リソースルールの使用が異常に多い場合に、ライブルールをこのステータスに設定できます。[制限付き] のルールは、システム内の他のライブルールから分離されており、Chronicle の安定性を維持します。

    [制限付き] のライブルールの場合、ルールが正常に実行されるかどうかは保証されません。ただし、ルールの実行が成功すると、検出は保持され、確認できます。[制限付き] のライブルールは常にエラー メッセージを生成します。エラーメッセージには、ルールのパフォーマンスを改善する方法に関する情報が含まれています。

    [制限付き] のルールのパフォーマンスが 3 日以内に改善されない場合、ステータスは [一時停止] に変更されます。

  • [一時停止]: ライブルールは、3 日間 [制限付き] ステータスでパフォーマンスの改善が見られない場合、このステータスになります。このルールの実行は一時停止され、ルールのパフォーマンスを改善する方法に関する情報を含むエラー メッセージが返されます。

ライブルールを [有効] ステータスに戻すには、YARA-L のベスト プラクティスに沿ってルールのパフォーマンスを向上させ、保存します。ルールが保存されると、[有効] ステータスにリセットされ、ルールが再度 [制限付き] になるまでに少なくとも 1 時間かかります。

実行頻度が低くなるようにルールを構成することで、ルールのパフォーマンスの問題を解決できる可能性があります。たとえば、10 分ごとに実行するようにルールを、1 時間に 1 回または 24 時間ごとに実行するようにルールを再構成できます。ただし、ルールの実行頻度を変更しても、ステータスは [有効] に戻りません。ルールに小さな変更を加えて保存すると、ステータスが自動的に [有効] にリセットされます。

ルールのステータスは [ルール ダッシュボード] に表示され、Detection Engine API を介してアクセスすることもできます。[制限付き] または [一時停止] ステータスのルールによって生成されたエラーは、ListErrors API メソッドを使用して確認できます。エラーには、ルールのステータスが [制限付き] または [一時停止] と表示され、問題の解決方法に関するドキュメントが表示されます。