Sintaxe da secção de opções

Suportado em:

A secção options de uma consulta YARA-L só está disponível para regras.

Pode especificar opções através da sintaxe key = value, em que key tem de ser um nome de opção predefinido e value tem de ser um valor válido para a opção:

rule RuleOptionsExample {
  // Other rule sections

  options:
    allow_zero_values = true
}

Valores das opções

Estão disponíveis os seguintes valores para as opções:

Opção allow_zero_values

Os valores válidos para a opção allow_zero_values são true e false (predefinição), que determinam se a opção está ativada ou não. A opção allow_zero_values está desativada se não for especificada na consulta.

Para ativar a definição allow_zero_values, adicione o seguinte à secção options da sua consulta: allow_zero_values = true

Esta ação impede que a consulta filtre implicitamente os valores zero dos marcadores de posição usados na secção match, conforme descrito em Valores zero na secção de correspondência.

Opção suppression_window

A opção suppression_window permite-lhe controlar a frequência com que uma regra aciona uma deteção. Impede que a mesma regra gere várias deteções numa janela de tempo especificada, mesmo que as condições da consulta sejam cumpridas várias vezes.

A aplicação de janelas de supressão usa uma abordagem de janelas rotativas, que suprime duplicados numa janela de tamanho fixo e sem sobreposição.

Opcionalmente, pode fornecer um suppression_key para refinar ainda mais as instâncias da consulta que são suprimidas no período de supressão. Se não for especificado, todas as instâncias da consulta são suprimidas. Esta chave é definida como uma variável de resultado e só é considerada para consultas de evento único.

Várias consultas de eventos vão usar as variáveis de correspondência da secção match para determinar o que deve ser suprimido. O valor suppression_window também tem de ser superior à janela de correspondência.

O valor predefinido de suppression_window é 0, ou seja, a janela de supressão está desativada por predefinição.

Exemplo: opção de período de supressão para consultas de evento único

No exemplo seguinte, suppression_window está definido como 5m e suppression_key está definido como a variável $hostname. Depois de a consulta acionar uma deteção para $hostname, todas as deteções adicionais para $hostname são suprimidas durante os cinco minutos seguintes. No entanto, se a consulta for acionada num evento com um nome de anfitrião diferente, é criada uma deteção.

rule SingleEventSuppressionWindowExample {
  // Other rule sections

  outcome:
    $suppression_key = $hostname

  options:
    suppression_window = 5m
}

Exemplo: opção de intervalo de supressão para consultas de vários eventos

No exemplo seguinte, suppression_window está definido como 1h. Depois de a consulta acionar uma deteção para ($hostname, $ip) durante um período de 10m, todas as deteções adicionais para ($hostname, $ip) são suprimidas durante a hora seguinte. No entanto, se a consulta for acionada em eventos com uma combinação diferente, é criada uma deteção.

rule MultipleEventSuppressionWindowExample {
  // Other rule sections

  match:
    $hostname, $ip over 10m

  options:
    suppression_window = 1h
}

Informações adicionais

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.