pular para o conteúdo
voltar ao mapa
prática
etapa: detectar
2 min de leitura

Engenharia de detecção

Uma biblioteca de detecções combina assinaturas e heurísticas, cada uma com dono, teste e métrica, e evolui como qualquer código: por revisão, versão e dado.

BigQuerySigmaPythonGrafana

O que é

Engenharia de detecção é a disciplina de criar, manter e medir as regras que transformam telemetria em alerta ou ação. Em vez de consultas soltas em um console, cada detecção é um artefato: tem nome, descrição, fonte de dados, lógica, severidade, resposta prevista e um responsável.

Assinaturas e heurísticas

Assinaturas reconhecem algo conhecido: um padrão de payload, um caminho, um fingerprint. São precisas e baratas, mas só pegam o que já se viu. Heurísticas medem comportamento: um desvio de volume, de razão ou de composição, e pegam variações novas ao custo de mais falso positivo.

A biblioteca saudável tem as duas: assinaturas para o conhecido e heurísticas para o resto, com as heurísticas passando por mais observação antes de agir.

Anomalia com z-score

Uma heurística simples e eficaz compara a contagem atual com o histórico recente da mesma chave. Se a contagem está muito acima da média, em desvios padrão, é candidata a alerta. A consulta abaixo calcula, por ASN, o das falhas de login por minuto contra a última hora.

login_failures_zscore.sql (BigQuery)sql
WITH per_min AS (
  SELECT TIMESTAMP_TRUNC(ts, MINUTE) AS minute, asn, COUNT(*) AS fails
  FROM sec.edge_events
  WHERE path = '/api/login' AND status = 401
    AND ts >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 70 MINUTE)
  GROUP BY minute, asn
),
stats AS (
  SELECT asn, AVG(fails) AS mu, STDDEV_POP(fails) AS sigma
  FROM per_min
  WHERE minute < TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 10 MINUTE)
  GROUP BY asn
)
SELECT p.minute, p.asn, p.fails,
       SAFE_DIVIDE(p.fails - s.mu, s.sigma) AS z
FROM per_min p JOIN stats s USING (asn)
WHERE p.minute >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 10 MINUTE)
  AND SAFE_DIVIDE(p.fails - s.mu, s.sigma) > 4
ORDER BY z DESC;

Agrupar por quê?

A chave de agrupamento define o que a detecção enxerga: prefixo de rede, ASN, user agent, país. Chaves finas pegam ataques concentrados e geram ruído; chaves grossas pegam ondas distribuídas e escondem focos. Boas detecções costumam existir em mais de uma granularidade, e cada uma com o seu limiar.

Detecções como código

  • Versionadas em repositório, com revisão por par antes de entrar em produção.
  • Testadas contra eventos de ataque conhecidos (positivos) e tráfego normal (negativos).
  • Passando pelas mesmas fases das regras de bloqueio: observação, shadow e só depois ação.
  • Aposentadas quando deixam de entregar valor: detecção que ninguém olha é dívida.
Z-scoreDistância de um valor até a média, medida em desvios padrão. Em detecção, valores muito acima do histórico recente da mesma chave sugerem anomalia.ver no glossário →

conexões no mapa

atualizado em 14/10/2026 · fontes para aprofundar · reportar erro

em outros domínios

Estude antes

Desbloqueia

teste o que entendeu

Carregando perguntas…