Cyber Security Academy · Aula

Princípios de detecção como código

Trate as detecções como software.

Aula 1 de 413 etapas

Princípios de detecção como código é uma aula grátis de Cyber Security Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cyber Security Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cyber Security Academy inclui 4 aulas no total.

Por que usar Detecção como Código

Detecção como Código (DaC) aplica a disciplina da engenharia de software às detecções de segurança. Em vez de analistas editarem regras manualmente no console de um SIEM, as detecções ficam armazenadas como arquivos de texto no controle de versões e são distribuídas por um fluxo de processamento.

Os benefícios são concretos:

  • Passíveis de revisão por meio de solicitações de mesclagem
  • Reproduzíveis em diferentes ambientes
  • Testáveis antes de chegarem à produção
  • Auditáveis, com histórico de quem alterou o quê e por quê

Uma detecção se torna um artefato cujas diferenças podem ser comparadas, que pode ser revertido e analisado como qualquer outro código.

Detecções como arquivos versionados

Cada detecção é armazenada como um arquivo independente, geralmente em YAML ou em uma linguagem de consulta do fornecedor, e registrada em um repositório Git. A estrutura do repositório reflete a forma como você organiza sua cobertura.

Uma estrutura comum separa as regras por plataforma e tática:

detections/
  windows/
    credential_access/
      lsass_memory_dump.yml
    execution/
      suspicious_powershell.yml
  cloud/
    aws/
      root_account_usage.yml
tests/
  windows/
    lsass_memory_dump_test.yml

Revisão de solicitações de mesclagem

Toda detecção nova ou modificada passa por uma solicitação de mesclagem. Um segundo engenheiro revisa a lógica, o risco de falsos positivos e o mapeamento para ATT&CK antes de mesclá-la.

Os revisores perguntam:

  • A lógica corresponde à ameaça descrita?
  • Que atividade legítima poderia acioná-la?
  • A gravidade e a referência ao ATT&CK estão corretas?
  • Há testes que abrangem verdadeiros e falsos positivos?

Isso identifica erros que um analista trabalhando sozinho no SIEM às duas da manhã não perceberia.

Validação da integração contínua

Um fluxo de integração contínua é executado automaticamente a cada envio. Ele impõe critérios de qualidade antes que uma regra possa ser mesclada.

Etapas típicas da integração contínua para um repositório baseado em Sigma:

# .github/workflows/validate.yml (excerpt)
steps:
  - name: Lint Sigma syntax
    run: sigma check ./detections
  - name: Validate against schema
    run: sigma check --validators all ./detections
  - name: Run unit tests
    run: pytest tests/

Implantação automatizada

Depois da mesclagem, um trabalho de implantação converte as regras portáveis para a linguagem de consulta de destino e as envia ao SIEM ou EDR por meio de uma interface de programação de aplicações.

Para Sigma, normalmente você executa um conversor como sigma convert com um mecanismo de destino compatível com sua plataforma (Splunk, Elastic, Microsoft Sentinel). Em seguida, o fluxo carrega as pesquisas salvas ou regras analíticas geradas.

Nenhuma pessoa cola consultas em um console. O estado implantado sempre corresponde ao que está em main.

sigma convert -t splunk -p splunk_windows \
  detections/windows/execution/suspicious_powershell.yml

Testando detecções

Uma detecção sem testes é um palpite. A DaC associa cada regra a dados de teste: amostras de registros que devem acioná-la (verdadeiros positivos) e amostras benignas que não devem acioná-la (falsos positivos).

Os testes são executados na integração contínua, portanto uma alteração que reduza a cobertura ou reintroduza ruído faz a compilação falhar antes da mesclagem. Essa é a maior fonte de confiança ao refatorar regras em grande escala.

test:
  - log: { Image: 'C:\\Windows\\System32\\rundll32.exe', CommandLine: 'rundll32 javascript:...' }
    expected: match
  - log: { Image: 'C:\\Windows\\System32\\rundll32.exe', CommandLine: 'rundll32 shell32.dll,Control_RunDLL' }
    expected: no_match

Metadados e ciclo de vida das regras

Trate os metadados como elemento central. Cada detecção registra seu estado à medida que amadurece ao longo do ciclo de vida:

  • experimental — recém-escrita, monitorada de perto
  • test — em execução, mas ainda não confiável para gerar alertas
  • stable — comprovada, com baixa taxa de falsos positivos
  • deprecated — substituída ou retirada

Acompanhar o estado no arquivo permite promover, rebaixar e retirar regras deliberadamente, em vez de deixar lógica obsoleta permanecer em produção.

Portabilidade entre mecanismos de destino

Uma vantagem central da DaC é escrever a lógica de detecção uma vez em um formato neutro em relação ao fornecedor e depois compilá-la para vários mecanismos de destino. O Sigma é o padrão de fato para detecções baseadas em registros.

O mesmo arquivo de regra pode ter como destino o SPL do Splunk, o Lucene/EQL do Elastic, o KQL do Microsoft Sentinel e outros, por meio de mapeamentos de campos específicos do fluxo. Assim, você evita reescrever a mesma ideia cinco vezes e evita a dependência de um único fornecedor.

sigma convert -t elasticsearch rule.yml
sigma convert -t microsoft365defender rule.yml
sigma convert -t splunk rule.yml

Fluxos de mapeamento de campos

Diferentes fontes de registros usam nomes diferentes para os mesmos dados. Um evento de criação de processo do Sysmon usa Image; um registro de Segurança do Windows pode usar NewProcessName. Fluxos de processamento preenchem essa lacuna.

Os fluxos transformam nomes genéricos de campos do Sigma nos campos exatos usados pelos seus dados, para que uma regra lógica seja mapeada corretamente para qualquer esquema ingerido pelo seu SIEM. Manter os fluxos centralmente significa que uma alteração de esquema é corrigida uma vez, e não em cada regra.

sigma convert -t splunk -p sysmon rule.yml

Ambientes e promoção

Assim como o código de aplicativos, as detecções passam por ambientes antes de chegar à produção. Um fluxo típico vai do desenvolvimento à homologação e depois à produção.

  • Desenvolvimento — crie e execute testes unitários na integração contínua
  • Homologação — implante usando uma cópia da telemetria real em modo de auditoria
  • Produção — promova quando a taxa de falsos positivos for aceitável

A promoção é uma etapa deliberada e revisada, vinculada ao estado do ciclo de vida da regra, não um acidente decorrente da mesclagem. Essa implantação em etapas reproduz a disciplina de alertar e depois bloquear usada com detecções em linha.

Cobertura e métricas

Como as detecções são código, você pode medir a cobertura de forma programática. Associe cada regra às técnicas do MITRE ATT&CK e gere um mapa de calor do que você cobre e do que não cobre.

Métricas úteis para acompanhar ao longo do tempo:

  • Técnicas cobertas em relação ao total do seu modelo de ameaças
  • Taxa de falsos positivos por regra
  • Tempo médio entre a ideia de uma regra e sua entrada em produção
  • Número de regras em cada status do ciclo de vida

Esses números transformam a engenharia de detecção, antes baseada em relatos, em um programa gerenciado.

Verificação rápida

Teste sua compreensão dos fundamentos da Detecção como Código.

Resumo

A Detecção como Código traz o rigor da engenharia de software para as detecções:

  • As regras ficam como arquivos versionados no Git
  • As alterações passam por revisão de solicitações de alteração
  • A integração contínua verifica o estilo, valida e executa testes automaticamente
  • As regras integradas são implantadas por meio de um fluxo de processamento, mantendo a produção sincronizada com a principal
  • Testes protegem contra falsos positivos e regressões
  • A portabilidade (Sigma + fluxos de processamento) permite que uma regra seja direcionada a vários sistemas de destino
  • Metadados, ciclo de vida e métricas transformam a detecção em um programa gerenciado

Em seguida, você escreverá as próprias regras portáteis com Sigma.

Grátis para começar

Aprenda Cyber Security Academy com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
76
Aulas
303

Perguntas Frequentes

A aula “Princípios de detecção como código” é grátis?

Sim — o texto completo de “Princípios de detecção como código” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cyber Security Academy, atualize para CoddyKit PRO. O curso de Cyber Security Academy inclui 4 aulas no total.

O que vou aprender em “Princípios de detecção como código”?

Trate as detecções como software. Você pratica Cyber Security Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Cyber Security Academy?

Nenhuma experiência prévia é necessária. Cyber Security Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Princípios de detecção como código”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Cyber Security Academy?

Sim. Cada aula de Cyber Security Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Princípios de detecção como código
  2. Escrevendo regras Sigma
  3. Mapeamento para MITRE ATT&CK
  4. Testando e ajustando detecções
← Voltar para Cyber Security Academy