saltar al contenido
volver al mapa
práctica
etapa: detectar
2 min de lectura

Ingeniería de detección

Una biblioteca de detecciones combina firmas y heurísticas, cada una con responsable, prueba y métrica, y evoluciona como cualquier código: por revisión, versión y datos.

BigQuerySigmaPythonGrafana

Qué es

La ingeniería de detección es la disciplina de crear, mantener y medir las reglas que convierten la telemetría en alerta o acción. En lugar de consultas sueltas en una consola, cada detección es un artefacto: tiene nombre, descripción, fuente de datos, lógica, severidad, respuesta prevista y un responsable.

Firmas y heurísticas

Las firmas reconocen algo conocido: un patrón de payload, una ruta, un fingerprint. Son precisas y baratas, pero solo atrapan lo que ya se vio. Las heurísticas miden comportamiento: una desviación de volumen, de razón o de composición, y atrapan variaciones nuevas a costa de más falsos positivos.

La biblioteca sana tiene ambas: firmas para lo conocido y heurísticas para el resto, con las heurísticas pasando por más observación antes de actuar.

Anomalía con z-score

Una heurística simple y eficaz compara el conteo actual con el historial reciente de la misma clave. Si el conteo está muy por encima de la media, en desviaciones estándar, es candidato a alerta. La consulta de abajo calcula, por ASN, el de los fallos de inicio de sesión por minuto contra la ú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é?

La clave de agrupación define lo que la detección ve: prefijo de red, ASN, user agent, país. Las claves finas atrapan ataques concentrados y generan ruido; las gruesas atrapan oleadas distribuidas y esconden focos. Las buenas detecciones suelen existir en más de una granularidad, cada una con su umbral.

Detecciones como código

  • Versionadas en un repositorio, con revisión por pares antes de llegar a producción.
  • Probadas contra eventos de ataque conocidos (positivos) y tráfico normal (negativos).
  • Pasando por las mismas fases que las reglas de bloqueo: observación, shadow y solo después acción.
  • Retiradas cuando dejan de aportar valor: una detección que nadie mira es deuda.
Z-scoreDistancia de un valor a la media, medida en desviaciones estándar. En detección, valores muy por encima del historial reciente de la misma clave sugieren una anomalía.ver en el glosario →

conexiones en el mapa

actualizado el 14/10/2026 · fuentes para profundizar · reportar un error

en otros dominios

Estudia antes

Desbloquea

pon a prueba lo que entendiste

Cargando preguntas…