比對區段語法

支援的國家/地區:

在 YARA-L 2.0 中,match 區段提供多事件關聯機制。這項規則定義了將事件分組為單一偵測結果的邏輯,方法是在特定時間範圍內連結常見屬性,例如使用者、IP 位址或檔案雜湊。

match 區段適用於下列用途:

  • 在規則中連結兩個以上不同的事件。
  • 在搜尋和資訊主頁中匯總資料,例如計算特定時間範圍內登入嘗試失敗的次數。

定義關聯條件

您可以指定下列項目,定義這項關聯性的條件:

  • 分組欄位 (鍵):變數 (例如 $user 或 $ip),在事件中必須有相同的值 (在 events 區段中定義),才能觸發比對。

  • 時間限制:分組事件必須在指定時間範圍內發生,才符合規則或匯總條件。在「規則」中,這會定義偵測時間範圍;在「搜尋」和「資訊主頁」中,這會定義彙整或關聯時間範圍。

比較功能需求

下表詳細比較規則與搜尋和資訊主頁。

功能 規則規定 搜尋和資訊主頁支援
變數類型 必須使用 events 區段中定義的預留位置。 支援預留位置和直接 UDM 欄位。
時間範圍 定義偵測邊界。 定義匯總或相互關聯值區。
語法 over <number><m/h/d> (例如 10m、2h、1d) over <number><m/h/d>
限制 下限:1m / 上限:48h 下限:1m / 上限:48h

支援的視窗類型

YARA-L 2.0 會使用不同的時間範圍行為,決定時間切片和事件分組方式。您可以在「match」部分,依指定的時間精細程度,使用下列其中一個支援的視窗,將事件欄位和預留位置分組。

如要瞭解 YARA-L 2.0 支援的視窗類型,請參閱 YARA-L 2.0 視窗邏輯。

瞭解時間界線

「match」部分會根據分組鍵將事件劃分為群組。指定的時間長度會定義每個群組的時間界線:

  • 納入:只有回溯期內的事件會傳送至condition,以評估該特定比對。
  • 排除:系統會忽略時間範圍外的事件,避免不相關的事件觸發偽陽性。

「match」部分中的值為零

Google SecOps 會隱含地篩除 match 區段中所有預留位置的零值 (字串為 ""、數字為 0、布林值為 false,列舉型別則為位置 0 中的值)。

範例:篩除零值

以下範例說明如何透過查詢篩除零值。

rule ZeroValuePlaceholderExample {

events:
  // Because $host is used in the match section, the query behaves
  // as if the following predicate was added to the events section:
  // $host != ""
  $host = $e.principal.hostname

  // Because $otherPlaceholder was not used in the match,
  // there is no implicit filtering of zero values for $otherPlaceholder.
  $otherPlaceholder = $e.principal.ip

match:
  $host over 5m

condition:
  $e
}

不過,如果預留位置指派給函式,查詢就不會隱含地篩除 match 區段中使用的預留位置零值。

如要停用零值的隱含篩選功能,請使用選項部分中的 allow_zero_values 選項。「allow_zero_values」選項僅適用於規則。

範例:允許零值

以下範例說明不會隱含篩除 match 區段中預留位置零值的查詢:

rule AllowZeroValuesExample {

events:
  // Because allow_zero_values is set to true, there is no implicit filtering
  // of zero values for $host.
  $host = $e.principal.hostname

  // Because $otherPlaceholder was not used in the match,
  // there is no implicit filtering of zero values for $otherPlaceholder.
  $otherPlaceholder = $e.principal.ip

match:
  $host over 5m

condition:
  $e

options:
  allow_zero_values = true
}

後續步驟

如要繼續使用 YARA-L 邏輯,或深入瞭解進階查詢函式,請參閱下列資源:

語法和邏輯

參考資料和範例

還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求解答。