0Pricing
Cyber Security Academy · Aula

Escrevendo regras Sigma

Sintaxe portátil para regras de detecção.

Escrevendo regras Sigma é uma aula grátis de Cyber Security Academy no CoddyKit. Esta é a aula 2 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.

O que é o Sigma

Sigma é um formato genérico e independente de fornecedor para assinaturas de detecção baseadas em registros. Você escreve a lógica de detecção uma vez em YAML e depois a converte para SPL do Splunk, consultas do Elastic, KQL do Sentinel e muitos outros sistemas de destino.

O Sigma está para a detecção em registros assim como YARA está para a detecção em arquivos: é uma língua franca portátil. Ele permite que as equipes compartilhem regras publicamente e evitem reescrever a mesma ideia para cada SIEM.

Anatomia de uma regra

Uma regra Sigma é um documento YAML com seções obrigatórias e opcionais. Os elementos essenciais são title, logsource e detection.

title: Suspicious PowerShell Encoded Command
id: 7e3f3c1a-1f2b-4c3d-9a8b-1234567890ab
status: experimental
logsource:
  category: process_creation
  product: windows
detection:
  selection:
    Image|endswith: '\\powershell.exe'
    CommandLine|contains: '-enc'
  condition: selection
level: high

O bloco logsource

O bloco logsource informa ao conversor a quais registros a regra se aplica. Ele não consulta os dados diretamente; seleciona o mapeamento de campos e o índice corretos durante a conversão.

Chaves comuns:

  • product — por exemplo, windows, linux, aws
  • category — por exemplo, process_creation, network_connection, file_event
  • service — por exemplo, sysmon, security, sshd

Escolha a combinação mais específica compatível com seus dados para que o fluxo de processamento mapeie os campos corretamente.

Seleções e identificadores de pesquisa

Dentro de detection, você define um ou mais identificadores de pesquisa nomeados (seleções). Cada um é um mapa de critérios de campo e valor. Vários campos dentro de uma seleção são unidos pelo AND lógico.

Aqui, as duas condições precisam ser verdadeiras para que selection corresponda.

detection:
  selection:
    EventID: 4688
    NewProcessName|endswith: '\\whoami.exe'
  condition: selection

Modificadores de campo

Os modificadores refinam a forma como um valor é comparado. Eles são anexados ao nome do campo após uma barra vertical.

  • contains — correspondência de uma substring
  • startswith / endswith — correspondência ancorada
  • all — todos os valores de uma lista precisam estar presentes
  • re — expressão regular
  • base64offset|contains — correspondência de substrings codificadas em base64

Os modificadores são encadeados da esquerda para a direita e aplicados nessa ordem.

detection:
  selection:
    CommandLine|contains|all:
      - 'Invoke-WebRequest'
      - 'DownloadString'
  condition: selection

Listas e mapas como OR / AND

Duas regras governam a lógica dentro de uma seleção:

  • Uma lista de valores em um campo é OR — qualquer valor corresponde.
  • Um mapa com vários campos é AND — todos os campos precisam corresponder.

Abaixo, Image corresponde a qualquer um dos dois binários, e User também precisa ser igual a SYSTEM.

detection:
  selection:
    Image|endswith:
      - '\\net.exe'
      - '\\net1.exe'
    User: 'SYSTEM'
  condition: selection

A expressão de condição

A condition combina suas seleções nomeadas usando lógica booleana. É aqui que você expressa filtros e exclusões.

Os operadores incluem and, or, not, parênteses e agregações como count(). Você também pode usar 1 of selection* / all of selection* para fazer referência a grupos de identificadores por prefixo.

detection:
  selection:
    EventID: 4625
  timeframe: 5m
  condition: selection | count() by SourceIp > 10

Filtrando o ruído

Para suprimir atividades reconhecidamente legítimas, defina um identificador separado e subtraia-o na condição com not. Isso mantém a lógica maliciosa legível e as exclusões explícitas.

Aqui, a regra é acionada quando o rundll32 inicia uma conexão de rede, exceto no caso de um processo de atualização legítimo conhecido.

detection:
  selection:
    Image|endswith: '\\rundll32.exe'
  filter_legit:
    ParentImage|endswith: '\\MicrosoftEdgeUpdate.exe'
  condition: selection and not filter_legit

Metadados para triagem

Além da lógica, boas regras contêm metadados que ajudam os responsáveis pela resposta a agir rapidamente e os engenheiros a manter a cobertura.

  • level — informativo, baixo, médio, alto, crítico
  • tags — técnicas do ATT&CK, por exemplo, attack.t1059.001
  • falsepositives — acionadores benignos conhecidos
  • references — relatórios de ameaças ou documentação
  • author e date

Esses campos levam minutos para serem preenchidos e economizam horas durante um incidente.

Regras de correlação

Regras de evento único não conseguem expressar ataques em várias etapas. As regras de correlação do Sigma combinam várias regras básicas ao longo do tempo para detectar sequências e padrões.

Os tipos compatíveis incluem event_count (N correspondências em uma janela), value_count (valores distintos, por exemplo, muitos usuários com falha de autenticação) e temporal (regra A e depois regra B). Assim, você pode detectar, por exemplo, um login bem-sucedido logo após uma sequência de falhas.

name: bruteforce_then_success
correlation:
  type: temporal
  rules: [failed_logins, successful_login]
  group-by: [SourceIp, TargetUser]
  timespan: 10m

Convertendo para um sistema de destino

Com o sigma-cli, você converte uma regra para a linguagem de consulta do seu sistema de destino. Um fluxo de processamento mapeia os nomes de campos do Sigma para o seu esquema real.

A saída é uma consulta pronta para implantação, que você pode colar ou enviar por meio de uma API.

sigma convert -t splunk -p sysmon \
  -f default rule.yml

# Example output (Splunk SPL):
# Image="*\\powershell.exe" CommandLine="*-enc*"

Verificação rápida

Verifique sua compreensão da lógica de detecção do Sigma.

Resumo

Agora você pode criar regras Sigma portáteis:

  • logsource seleciona quais registros e mapeamentos de campos se aplicam
  • As seleções são critérios nomeados de campo e valor (campos = AND, listas de valores = OR)
  • Modificadores como contains, endswith, all e re refinam a correspondência
  • condition une seleções com and/or/not, filtros e agregações
  • Identificadores de filtro separados subtraem o ruído reconhecidamente legítimo
  • Os metadados (level, tags, falsepositives) aceleram a triagem
  • sigma convert compila a regra para o sistema de destino do seu SIEM

Em seguida, você associará essas regras às técnicas de adversários com o MITRE ATT&CK.

Perguntas Frequentes

A aula “Escrevendo regras Sigma” é grátis?

Sim — o texto completo de “Escrevendo regras Sigma” é 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 “Escrevendo regras Sigma”?

Sintaxe portátil para regras de detecção. 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 2 de 4.

Quanto tempo leva a aula “Escrevendo regras Sigma”?

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