El modelado de amenazas (threat modeling) es un proceso estructurado para identificar, analizar y mitigar las amenazas de un sistema antes de que sean explotadas. Consiste en pensar como un atacante para anticipar qué podría fallar y reforzarlo a tiempo.
Su valor está en ser proactivo: en lugar de reaccionar a los incidentes, se buscan los riesgos durante el diseño, cuando corregirlos es más fácil y barato.
Las cuatro preguntas clave (modelo de Shostack):
- ¿Qué estamos construyendo? → diagramar el sistema, sus componentes y el flujo de datos.
- ¿Qué puede salir mal? → identificar las amenazas posibles.
- ¿Qué vamos a hacer al respecto? → definir las medidas de mitigación.
- ¿Lo hicimos bien? → validar que las defensas cubran los riesgos.
Es un ciclo que se repite cada vez que el sistema cambia de forma significativa.
STRIDE — ayuda para "qué puede salir mal":
| Letra | Amenaza | Propiedad que viola |
|---|---|---|
| Spoofing | Suplantación de identidad | Autenticación |
| Tampering | Alteración de datos | Integridad |
| Repudiation | Negar haber hecho algo | No repudio |
| Information disclosure | Fuga de información | Confidencialidad |
| Denial of service | Denegación de servicio | Disponibilidad |
| Elevation of privilege | Elevación de privilegios | Autorización |
Recorrer cada categoría de STRIDE sobre el sistema ayuda a descubrir amenazas que de otro modo pasarían desapercibidas.
El modelado de amenazas conecta directamente con la triada CIA y con los conceptos de amenaza, vulnerabilidad y riesgo: es la forma práctica de aplicarlos a un sistema concreto.