Modelado de amenazas
El modelado de amenazas (threat modeling) analiza sistemáticamente qué puede salir mal en un sistema, quién querría atacarlo y cómo, para priorizar defensas antes de que se construya o despliegue. Es diseño de seguridad proactivo, no reacción.
Las cuatro preguntas (Shostack)
Sección titulada «Las cuatro preguntas (Shostack)»1. ¿Qué estamos construyendo? diagrama del sistema (DFD: flujos, límites de confianza)2. ¿Qué puede salir mal? identificar amenazas (STRIDE, árboles de ataque)3. ¿Qué hacemos al respecto? mitigaciones y controles priorizados4. ¿Hicimos un buen trabajo? validar/revisar; iterarSTRIDE (taxonomía de amenazas)
Sección titulada «STRIDE (taxonomía de amenazas)»Spoofing suplantación de identidad -> autenticaciónTampering manipulación de datos -> integridad (firmas, hashes)Repudiation negar una acción -> logging/no repudioInformation disclosure fuga de información -> cifrado, control de accesoDenial of service caída del servicio -> resiliencia, límitesElevation of privilege escalada de privilegios -> autorización, mínimo privilegioDiagramas de flujo de datos y límites de confianza
Sección titulada «Diagramas de flujo de datos y límites de confianza»- modelar entidades, procesos, almacenes y FLUJOS de datos- marcar los LÍMITES DE CONFIANZA: donde el dato cruza de una zona a otra = donde atacar- cada cruce de límite es candidato a amenaza (validación, auth, cifrado)Enfoques y marcos
Sección titulada «Enfoques y marcos»STRIDE centrado en el sistema/diseño (Microsoft)PASTA centrado en el riesgo y el atacante (7 etapas, orientado a negocio)Attack trees descomponer un objetivo del atacante en pasos (árbol)LINDDUN centrado en PRIVACIDAD (amenazas a datos personales)MITRE ATT&CK aportar TTPs reales de adversarios al modelo (cti-attack)Priorización del riesgo
Sección titulada «Priorización del riesgo»- riesgo = probabilidad x impacto; priorizar lo crítico y lo expuesto- DREAD (discutido) u otros scoring; mejor cualitativo + contexto que números falsos- conectar con gestión de riesgos (grc-riesgos) y vulnerabilidades (def-vulnmgmt)Blue Team / operación
Sección titulada «Blue Team / operación»- Hacer threat modeling temprano (diseño) y mantenerlo vivo con cada cambio relevante.
- Centrarse en límites de confianza y en el flujo de datos: ahí viven la mayoría de amenazas.
- Enriquecer con ATT&CK (TTPs reales) y con el contexto de CTI (quién ataca tu sector).
- Salida accionable: lista priorizada de mitigaciones que entra en el backlog (ver Threat modeling en diseño para AppSec).
Casos reales
Sección titulada «Casos reales»- Muchas brechas se remontan a un límite de confianza no modelado (entrada no validada, auth ausente).
- LINDDUN/privacidad gana peso con RGPD: modelar amenazas a datos personales (RGPD & privacidad).
- El threat modeling en SDLC (Secure SDLC) reduce el coste de corregir fallos de diseño frente a hacerlo en producción.
Checklist de prueba
Sección titulada «Checklist de prueba»- Diagramar el sistema (DFD) con límites de confianza
- Identificar amenazas (STRIDE / árboles de ataque)
- Enriquecer con TTPs reales (ATT&CK) y contexto CTI
- Priorizar por riesgo (probabilidad x impacto)
- Definir mitigaciones por amenaza y asignarlas
- Considerar privacidad (LINDDUN/RGPD) si hay datos personales
- Revisar/iterar con cada cambio de diseño