options セクションの構文

以下でサポートされています。

YARA-L クエリの options セクションは、ルールでのみ使用できます。

key = value 構文を使用してオプションを指定できます。ここで、key は事前定義されたオプション名、value はオプションの有効な値である必要があります。

rule RuleOptionsExample {
  // Other rule sections

  options:
    allow_zero_values = true
}

オプションの値

オプションには次の値を指定できます。

allow_zero_values オプション

allow_zero_values オプションの有効な値は truefalse(デフォルト)です。これにより、オプションが有効かどうかを判断します。クエリで指定されていない場合、allow_zero_values オプションは無効になります。

allow_zero_values 設定を有効にするには、クエリの options セクションに次の行を追加します。 allow_zero_values = true

このアクションにより、一致セクションのゼロ値で説明されているように、match セクションで使用されているプレースホルダのゼロ値がクエリによって暗黙的に除外されるのを防ぎます。

suppression_window オプション

suppression_window オプションを使用すると、ルールが検出をトリガーする頻度を制御できます。これにより、クエリの条件が複数回満たされた場合でも、同じルールが指定された時間枠内で複数の検出を生成することを防ぎます。

抑制ウィンドウ処理では、タンブリング ウィンドウ アプローチが使用されます。このアプローチでは、固定サイズの重複しないウィンドウで重複が抑制されます。

必要に応じて suppression_key を指定して、抑制ウィンドウ内で抑制するクエリのインスタンスをさらに絞り込むことができます。指定しない場合は、クエリのすべてのインスタンスが抑制されます。このキーは結果変数として定義され、単一イベント クエリでのみ考慮されます。

複数のイベント クエリでは、match セクションの一致変数を使用して、抑制する内容を決定します。また、suppression_window の値は一致ウィンドウよりも大きくする必要があります。

suppression_window のデフォルト値は 0 です。つまり、抑制ウィンドウはデフォルトで無効になっています。

例: 単一イベント クエリの抑制ウィンドウ オプション

次の例では、suppression_window5m に設定され、suppression_key$hostname 変数に設定されます。クエリが $hostname の検出をトリガーすると、その後 5 分間は $hostname の検出が抑制されます。ただし、クエリが別のホスト名を持つイベントでトリガーされると、検出が作成されます。

rule SingleEventSuppressionWindowExample {
  // Other rule sections

  outcome:
    $suppression_key = $hostname

  options:
    suppression_window = 5m
}

例: 複数イベント クエリの抑制ウィンドウ オプション

次の例では、suppression_window1h に設定されています。クエリが 10m ウィンドウで($hostname$ip)の検出をトリガーすると、次の 1 時間は($hostname$ip)の検出が抑制されます。ただし、クエリが異なる組み合わせのイベントでトリガーされると、検出が作成されます。

rule MultipleEventSuppressionWindowExample {
  // Other rule sections

  match:
    $hostname, $ip over 10m

  options:
    suppression_window = 1h
}

その他の情報

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。