Deteções compostas

Compatível com:

A deteção composta permite-lhe interligar regras para que a saída de uma regra funcione como entrada para outra regra. Esta capacidade permite-lhe criar regras com maior complexidade e flexibilidade. Ao correlacionar e analisar eventos em diferentes origens de dados e prazos, a deteção composta supera as limitações da deteção de eventos isolados.

Vantagens da deteção composta

  • Desmascarar ataques de várias fases: os ciberataques são frequentemente multifacetados e interligados. A deteção composta ajuda a revelar a narrativa do ataque através da associação de incidentes aparentemente isolados. Por exemplo, uma regra composta pode identificar toda a sequência de ataque, como uma violação inicial, seguida de escalada de privilégios e exfiltração de dados.

  • Reduzir a fadiga de alertas: priorize as ameaças críticas e mitigue a fadiga de alertas implementando regras de consumidor. Estas regras consolidam e filtram os alertas ruidosos gerados pelas regras de entrada, o que permite uma resposta mais focada. Isto pode ajudar a dar prioridade a incidentes de elevado impacto e minimizar a fadiga de alertas.

  • Melhorar a precisão da deteção: combine estatísticas de eventos de UDM, outras deteções de regras, informações de entidades, resultados da UEBA e tabelas de dados para criar uma lógica de deteção precisa.

  • Simplificar a lógica complexa: divida cenários de deteção complexos em regras geríveis, interligadas e reutilizáveis para simplificar o desenvolvimento e a manutenção.

Termos e conceitos de deteção composta

  • Deteção: o resultado de uma regra, que também pode ser designado por alerta.

  • Composta: uma série de regras interligadas em que o resultado de uma regra serve de entrada para a seguinte. Por exemplo, na sequência de regras composta rule1 -> rule2 -> rule3, as deteções geradas por rule1 são transmitidas a rule2, que as processa para gerar novas deteções. Estas deteções são, em seguida, consumidas pelo rule3 para produzir o resultado final.

  • Regra de entrada: uma regra cujas deteções são usadas como entrada para outra regra. Qualquer regra pode funcionar como uma regra de entrada e não é necessária nenhuma designação específica. As regras de entrada usam entidades e eventos como entrada. Não usam deteções como entrada.

  • Regra composta: uma regra que usa deteções como entrada no texto da regra. As regras compostas têm de ter uma secção match.

Conceitos avançados

Regras de deteção de evento único

O Google SecOps não permite regras compostas de evento único. Isto significa que qualquer regra que use deteções como origem de entrada tem de ter uma secção match.

Latência de deteção

Recomendamos que crie regras compostas apenas em regras de entrada de evento único devido ao comportamento de agendamento. As regras de evento único são executadas quase em tempo real, pelo que as respetivas deteções estão normalmente disponíveis quando a regra composta é executada. Se uma regra composta depender de uma regra de vários eventos como entrada, existe o risco de a regra de entrada ser executada após a execução agendada da regra composta. Isto pode levar a atrasos ou deteções perdidas na regra composta.

TestRule e Retrohunt

Os testes ou a execução de uma retrocaça numa regra composta executam apenas a regra específica que selecionou através de deteções existentes. Para executar o composto completo, tem de iniciar manualmente as retroprocuras a partir da primeira regra na sequência, aguardar que cada execução termine e, em seguida, avançar para a regra seguinte.

A execução de um teste numa regra não persiste nem escreve as deteções na base de dados, e as regras compostas requerem que as deteções de entrada existam na base de dados.

A execução de um teste numa regra não mantém nem escreve as deteções na base de dados. Uma vez que as regras compostas requerem que as deteções de entrada existam na base de dados para funcionar, não pode usar TestRule para validar uma regra composta.

Construa regras compostas

Cria regras compostas usando combinações de regras de entrada e regras compostas.

Regras de introdução

As regras de entrada são a base da sua regra composta. Detetam eventos específicos ou condições que, quando combinados, indicam atividade maliciosa. Para configurar uma regra de entrada, faça o seguinte:

  1. Crie uma nova regra ou reutilize uma existente.

  2. Desative os alertas. Isto impede que estas regras de entrada gerem alertas individuais. Ao usar esta configuração, pode dar prioridade aos alertas mais críticos gerados por regras compostas, que avaliam toda a cadeia de eventos.

  3. Use a secção outcome para definir as variáveis acessíveis às regras de encadeamento.

O exemplo de regra de produtor seguinte deteta inícios de sessão falhados.

rule failed_login {
  meta:

  events:
    $e.metadata.event_type = "USER_LOGIN"
    any $e.security_result.action = "BLOCK"

  outcome:
   $target_user = $e.target.user.userid

  condition:
    $e
}

Esta regra identifica inícios de sessão bloqueados e fornece o utilizador associado.

Regras compostas

Escrever uma regra que use deteções é praticamente igual a uma regra que use UDM, exceto que a origem e os campos disponíveis são diferentes. Para fazer referência a um campo de deteção, use a palavra-chave detection como origem: $eventname.detection.field1.field2.

Os subcampos disponíveis na origem detection podem ser encontrados no recurso de recolha.

Seguem-se os campos comuns nas coleções:

  • $d.detection.detection.rule_id

  • $d.detection.detection.detection_fields["match_var_name"]

  • $d.detection.detection.outcomes["outcome_name"]

A regra de exemplo seguinte deteta inícios de sessão sem A2F, enumeração e exfiltração.

rule login_enumeration_exfiltration {
    meta:
description = "Detects when a user logs in without multifactor authentication (MFA) and then performs enumeration and exfiltration"
        rule_name = "Login Without MFA, Enumeration, Exfiltration"
        severity = "High"

    events:
     // Detection with name "Console Login Without MFA"
        // The affected user is saved as $target_user
        $login_without_mfa.detection.detection.rule_name = /Console Login Without MFA/
        $target_user = $login_without_mfa.detection.detection.outcomes["target_user"]

     // Any detection with a rule name containing 'enumeration'
     // The user performing enumeration is the user that logged in without mfa
        $enumeration.detection.detection.rule_name = /enumeration/ nocase
        $enumeration.detection.detection.outcomes["principal_users"] = $target_user

     // Any detection with the mitre tactic 'TA0010' (Exfiltration)
     // The user performing exfiltration is the user that logged in without mfa
        $exfiltration.detection.detection.rule_labels["tactic"] = "TA0010"
        $exfiltration.detection.detection.outcomes["principal_users"] = $target_user

    match:
     // Looks for detections over a 24 hour period
        $target_user over 24h

    condition:
     // All 3 must occur for a single user
        $login_without_mfa and $enumeration and $exfiltration
}

Deteções hierárquicas

A deteção composta permite-lhe criar um sistema de deteção hierárquico. As regras de entrada de nível inferior identificam eventos suspeitos isolados. As regras compostas de nível superior consomem então o resultado destas regras de entrada para estabelecer correlações ao longo do tempo, das entidades e das origens de dados. Esta abordagem ajuda a correlacionar estas informações com dados de outras origens para detetar padrões de ataques de várias fases que as regras de evento único podem não detetar.

O Google Security Operations suporta até três níveis de composição, o que oferece um equilíbrio entre a lógica de deteção detalhada e a complexidade gerível.

Por exemplo:

  • Nível 1: as regras de entrada detetam eventos suspeitos individuais. Por exemplo, eventos de início de sessão falhados, acesso invulgar a ficheiros.

  • Nível 2: as regras compostas correlacionam as deteções de nível 1. Por exemplo, eventos de início de sessão falhados seguidos de acesso suspeito a ficheiros.

  • Nível 3: as regras compostas de nível superior combinam deteções de nível 2 e outros dados para uma deteção ainda mais sofisticada. Por exemplo, uma deteção de nível 2 relativamente à autenticação e uma deteção de nível 2 relativamente à postura de segurança do dispositivo que está a ser usado.

Considerações ao escrever regras compostas

Quando atualiza uma regra de entrada usada numa ou mais regras compostas, o sistema cria automaticamente uma nova versão dessa regra de entrada. Isto aplica-se às atualizações de lógica (condition, events, outcomes) e às atualizações de metadados (nome, descrição, gravidade). As regras compostas continuam a funcionar com a nova versão. Recomendamos que teste as regras de entrada atualizadas e as respetivas regras compostas a jusante para garantir o comportamento pretendido.

Limitações

As regras compostas têm as seguintes limitações.

Regras de deteção apenas e classificação de risco de entidades

As regras de apenas deteção (regras que usam apenas dados de deteção como origem e não dados de eventos ou de entidades) não contribuem para a pontuação de risco da entidade. Qualquer pontuação de risco definida para uma regra de apenas deteção aplica-se apenas às deteções criadas por essa regra. Não contribui para nenhuma pontuação de risco de entidade agregada.

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