Sintaxe da seção de opções
A seção options de uma consulta YARA-L está disponível apenas para regras.
É possível especificar opções usando a sintaxe key = value, em que key precisa ser um nome de opção predefinido e value precisa ser um valor válido para a opção:
rule RuleOptionsExample {
// Other rule sections
options:
allow_zero_values = true
}
Valores de opções
Os seguintes valores para opções estão disponíveis:
Opção "allow_zero_values"
Os valores válidos para a opção allow_zero_values são true e false (padrão), que
determinam se a opção está ativada ou não. A opção
allow_zero_values fica desativada se não for especificada na consulta.
Para ativar a configuração allow_zero_values, adicione o seguinte à seção options da sua consulta: allow_zero_values = true
Essa ação impede que a consulta filtre implicitamente os valores zero de marcadores de posição usados na seção match, conforme descrito em Valores zero na seção de correspondência.
Opção "suppression_window"
A opção suppression_window permite controlar a frequência com que uma regra aciona uma
detecção. Isso evita que a mesma regra gere várias detecções em
um período especificado, mesmo que as condições da consulta sejam atendidas várias vezes.
A gestão de janelas de supressão usa uma abordagem de janela rotativa, que suprime duplicatas em uma janela de tamanho fixo e sem sobreposição.
Você também pode fornecer um suppression_key para refinar ainda mais quais instâncias da consulta são suprimidas na janela de supressão. Se não for especificado, todas as instâncias da consulta serão suprimidas. Essa chave é definida como uma variável de resultado e só é considerada para consultas de evento único.
Várias consultas de evento
usam as variáveis de correspondência da seção match para determinar o que deve
ser suprimido. O valor suppression_window também precisa ser maior que a janela de correspondência.
O valor padrão de suppression_window é 0. Ou seja, a janela de supressão fica desativada por padrão.
Exemplo: opção de período de supressão para consultas de evento único
No exemplo a seguir, suppression_window está definido como 5m e suppression_key está definido como a variável $hostname. Depois que a consulta aciona uma detecção para $hostname, as detecções subsequentes para $hostname são suprimidas pelos próximos cinco minutos. No entanto, se a consulta for acionada em um evento com um nome de host diferente, uma detecção será criada.
rule SingleEventSuppressionWindowExample {
// Other rule sections
outcome:
$suppression_key = $hostname
options:
suppression_window = 5m
}Exemplo: opção de janela de supressão para consultas de vários eventos
No exemplo a seguir, suppression_window está definido como 1h. Depois que a consulta aciona uma detecção para ($hostname, $ip) em uma janela de 10m, as detecções futuras para ($hostname, $ip) são suprimidas na próxima hora. No entanto, se a consulta for acionada em eventos com uma combinação diferente, uma detecção será criada.
rule MultipleEventSuppressionWindowExample {
// Other rule sections
match:
$hostname, $ip over 10m
options:
suppression_window = 1h
}Informações adicionais
- Expressões, operadores e construções usados na YARA-L 2.0
- Funções na YARA-L 2.0
- Criar regras de detecção compostas
- Exemplos: consultas da YARA-L 2.0
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.