Sintassi della sezione Opzioni

Supportato in:

La sezione options di una query YARA-L è disponibile solo per le regole.

Puoi specificare le opzioni utilizzando la sintassi key = value, dove key deve essere un nome di opzione predefinito e value deve essere un valore valido per l'opzione:

rule RuleOptionsExample {
  // Other rule sections

  options:
    allow_zero_values = true
}

Valori delle opzioni

Sono disponibili i seguenti valori per le opzioni:

Opzione allow_zero_values

I valori validi per l'opzione allow_zero_values sono true e false (valore predefinito), che determinano se l'opzione è abilitata o meno. L'opzione allow_zero_values è disattivata se non è specificata nella query.

Per attivare l'impostazione allow_zero_values, aggiungi quanto segue alla sezione options della query: allow_zero_values = true

Questa azione impedisce alla query di filtrare implicitamente i valori zero dei segnaposto utilizzati nella sezione match, come descritto in Valori zero nella sezione Corrispondenza.

opzione suppression_window

L'opzione suppression_window ti consente di controllare la frequenza con cui una regola attiva un rilevamento. Impedisce alla stessa regola di generare più rilevamenti all'interno di un intervallo di tempo specificato, anche se le condizioni della query vengono soddisfatte più volte.

Il windowing della soppressione utilizza un approccio a finestra mobile, che sopprime i duplicati in una finestra di dimensioni fisse e non sovrapposte.

Se vuoi, puoi fornire un suppression_key per perfezionare ulteriormente le istanze della query che vengono eliminate all'interno della finestra di eliminazione. Se non specificato, tutte le istanze della query vengono eliminate. Questa chiave è definita come variabile di risultato e viene presa in considerazione solo per le query su un singolo evento.

Più query sugli eventi utilizzeranno le variabili di corrispondenza della sezione match per determinare cosa deve essere eliminato. Il valore suppression_window deve essere maggiore anche della finestra di corrispondenza.

Il valore predefinito di suppression_window è 0, ovvero la finestra di soppressione è disattivata per impostazione predefinita.

Esempio: opzione della finestra di soppressione per le query su un singolo evento

Nell'esempio seguente, suppression_window è impostato su 5m e suppression_key è impostato sulla variabile $hostname. Dopo che la query attiva un rilevamento per $hostname, tutti gli altri rilevamenti per $hostname vengono soppressi per i successivi cinque minuti. Tuttavia, se la query viene attivata su un evento con un nome host diverso, viene creata una rilevazione.

rule SingleEventSuppressionWindowExample {
  // Other rule sections

  outcome:
    $suppression_key = $hostname

  options:
    suppression_window = 5m
}

Esempio: opzione della finestra di soppressione per le query su più eventi

Nell'esempio seguente, suppression_window è impostato su 1h. Dopo che la query attiva un rilevamento per ($hostname, $ip) in una finestra di 10m, tutti gli ulteriori rilevamenti per ($hostname, $ip) vengono eliminati per l'ora successiva. Tuttavia, se la query viene attivata su eventi con una combinazione diversa, viene creata una rilevazione.

rule MultipleEventSuppressionWindowExample {
  // Other rule sections

  match:
    $hostname, $ip over 10m

  options:
    suppression_window = 1h
}

Informazioni aggiuntive

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.