MODELADO DEL RIESGO
1 STRIDE
STRIDE es un acrónimo que significa suplantación de identidad, manipulación indebida, repudio,
divulgación de información, denegación de servicio y elevación de privilegio (del inglés Spoofing,
Tampering, Repudiation, Information disclosure, Denial of service, Elevation of privilege). Este
marco fue diseñado originalmente por Microsoft para ayudar a identificar los diferentes tipos
de ataques que puede sufrir el software.
La suplantación de identidad (spoofing) consiste en pretender ser una cosa o persona diferente.
Hay cinco grandes clases: procesos, ficheros, direcciones, personas y roles. Un ejemplo puede
ser la utilización no autorizada de credenciales de autentificación ajenas o la suplantación de
direcciones MAC, IP o nombres DNS.
La manipulación indebida o tampering es modificar datos bien en ficheros, en paquetes de red
o en memoria. También puede involucrar la adición o eliminación de datos y no sólo su
modificación; este caso es bastante frecuente, ya que muchos sistemas no son capaces de
gestionar datos extra de forma segura.
Las amenazas de repudio (repudiation) están relacionadas con usuarios que niegan haber
realizado una acción sin que otras partes puedan demostrar lo contrario; por ejemplo, un
usuario realiza una operación ilegal en un sistema que carece de un sistema de logging adecuado
y, por lo tanto, de la capacidad de rastrear las operaciones prohibidas. Por otra parte, el no
repudio se refiere a la capacidad de un sistema para contrarrestar las amenazas de repudio; por
ejemplo, un usuario que compra un artículo tiene que firmar el artículo al recibirlo en muchos
casos para que el proveedor pueda usar dicho recibo como prueba de que el usuario recibió el
paquete. El repudio es relativamente inusual, ya que representa una amenaza desde la
perspectiva de la seguridad, pero en algunos casos es una propiedad deseable en términos de
privacidad; por ejemplo, en sistemas de mensajes que garanticen el anonimato.
Las amenazas de divulgación de información implican el acceso a dicha información por parte
de personas que no deben tener acceso a ella; por ejemplo, la capacidad de los usuarios para
leer un archivo al que no deberían tener acceso, o la capacidad de un intruso para leer el tráfico
de red entre dos ordenadores. Este tipo de amenazas pueden involucrar procesos (obtener
información de mensajes de error, entre otros), almacenes de datos (por ejemplo, extraer
información indebida de nombres de ficheros) o flujos de datos (análisis del tráfico de red,
incluyendo información disponible en redes sociales).
Los ataques de denegación de servicio (denial of service, DoS) deniegan el servicio a usuarios
válidos, por ejemplo, al hacer que un servidor web no esté disponible temporalmente o sea
inutilizable; la protección frente a ciertos tipos de amenazas DoS permite mejorar la
disponibilidad y fiabilidad del sistema. Estos ataques se dividen en dos categorías: los que
requieren la participación activa del atacante y los que persisten incluso en su ausencia.
En las amenazas de elevación del privilegio, un usuario sin privilegios obtiene acceso privilegiado
y, por lo tanto, tiene acceso suficiente para comprometer el sistema. Se produce cuando un
usuario obtiene acceso a privilegios superiores a los que debería tener, permitiéndole realizar
acciones no autorizadas; por ejemplo, que un usuario normal ejecute el código como
administrador o que un usuario remoto sin ningún privilegio ejecute el código.
2 ÁRBOLES DE ATAQUES
Los árboles de ataque proporcionan una metodología formal para describir la seguridad de los
sistemas, basándose en diferentes ataques y suponen una alternativa a STRIDE. Básicamente, se
representan los ataques contra un sistema en una estructura de árbol, con el objetivo como
nodo raíz y las diferentes formas de lograr ese objetivo como nodos hoja y así sucesivamente.
Los árboles de ataque pueden ser grandes y complejos, especialmente cuando se analizan
ataques específicos. Un árbol de ataque completo puede contener cientos o miles de rutas
diferentes; no obstante, estos árboles son muy útiles para determinar qué amenazas existen y
cómo tratarlas.
La forma más efectiva de mitigar una amenaza en el árbol de ataques es mitigarla lo más cerca
posible de la raíz; si bien, generalmente, no es posible mitigar una amenaza sin otras
implicaciones para el funcionamiento normal del sistema, lo que implica otro conjunto de
amenazas que se han de incorporar al árbol de ataque.
3 OTRAS METODOLOGÍAS
3.1 PASTA
PASTA proviene del acrónimo “proceso de simulación de ataques y análisis de amenazas” (en
inglés, Process for Attack Simulation and Threat Analysis). Consiste en siete pasos que
conforman un proceso dinámico de identificación, enumeración y puntuación de amenazas. Tras
completar el modelo de amenazas, se desarrolla un análisis detallado de las amenazas
identificadas y, finalmente, se enumeran los controles de seguridad apropiados. Esta
metodología tiene como objetivo proporcionar una visión de la aplicación centrada en el
atacante, así como detallar la infraestructura necesaria para desarrollar una estrategia de
mitigación del riesgo adecuada.
3.2 TRIKE
El enfoque de esta metodología es utilizar modelos de amenazas como una herramienta de
gestión de riesgos, satisfaciendo el proceso de auditoría de seguridad. Estos modelos de
amenazas se basan en un modelo de requisitos que establece el nivel de riesgo aceptable para
cada componente del sistema, enumerando las amenazas y asignando valores de riesgo. Una
vez se ha completado este modelo de amenazas, se utiliza para construir un modelo de riesgo
basado en activos, roles y acciones.
3.3 VAST
VAST es el acrónimo de modelado de amenazas visual, ágil y simple (Visual, Agile, and Simple
Threat modeling). El principio subyacente de esta metodología es la necesidad de escalar el
proceso de modelado de amenazas e integrarlo adecuadamente en una metodología de
desarrollo de software ágil. Se busca proporcionar resultados útiles para arquitectos y
desarrolladores de aplicaciones, personal de ciberseguridad y directiva. Se basa en proporcionar
una visualización específica de la aplicación e infraestructuras, de forma que la creación y uso
de modelos de amenazas no requiera experiencia en materia de seguridad.
3.4 DREAD
Proviene del acrónimo (Damage, Reproducibility, Exploitability, Affected Users, Discoverability)
e intenta establecer una puntuación para las amenazas siguiendo cinco categorías:
• Daño – cantidad de daño ocasionado por el ataque.
• Reproducibilidad – facilidad para reproducir el ataque.
• Explotación – facilidad para lanzar el ataque.
• Usuarios – número de usuarios afectados.
• Descubrimiento – facilidad para descubrir el ataque.
Está en desuso debido a la inconsistencia de su sistema de puntuación. Además, la categoría de
descubrimiento fomenta la seguridad por ocultación, lo que se considera negativo. Por ello, se
propuso el modelo DREAD-D, que excluye esta categoría.
3.5 DML
En 2014, se propuso el modelo DML (nivel de madurez de detección, Detection Maturity Level).
Este modelo se centra en la madurez de los procesos de detección de amenazas de una
organización, proporcionando un esquema para calibrar y mejorar la efectividad de la detección
de intrusiones y otras actividades de ciberseguridad. En este modelo, un ataque es una instancia
concreta de un escenario de amenaza causado por un atacante específico con un objetivo
específico en mente y una estrategia para alcanzar ese objetivo. El objetivo y la estrategia
representan los niveles semánticos más altos del modelo DML, mientras que las tácticas,
técnicas, procedimientos y herramientas representan los niveles semánticos intermedios.
Finalmente, los indicadores atómicos como las direcciones IP se encuentran en el nivel
semántico más bajo.
4 HERRAMIENTAS
Existen múltiples herramientas disponibles para asistir en el modelado del riesgo:
• Threat Modeling Tool (Microsoft). Se basa en diagramas de flujo de datos (DFD) y la
metodología STRIDE.
• ThreatModeler (MyAppSecurity) utiliza VAST y diagramas de flujo de procesos (PFD).
• IriusRisk (Continuum Security). Se centra en la creación y mantenimiento de un modelo
de riesgo durante todo el proceso de desarrollo del software mediante cuestionarios
configurables y librerías de patrones de riesgo.
• Security Command Center (Google, evolución de SecuriCAD de Foreseeti). Proporciona
simulación de ataques e identifica y cuantifica los riesgos y vulnerabilidades
estructurales.
• SD Elements (Security Compass). Plataforma para la gestión de requisitos de seguridad
que incluye modelado automatizado del riesgo.
• Threat Dragon (OWASP). Sistema de código abierto que incluye un motor de reglas y
diagramas para la generación automática de amenazas y su mitigación.
• SeaSponge (Mozilla). Herramienta de código abierto para el modelado de amenazas.
Está algo desactualizada.
También hay varias herramientas para la gestión de árboles de ataque. Algunas pueden ser:
ADTool, Ent, SeaMonster, AttackTree o SecurITree.
5 SEGUIMIENTO
Los siguientes ejercicios se realizarán de forma individual y serán originales 1 , ocupando
aproximadamente una cara cada uno con un tamaño de letra razonable.
• Compara las metodologías STRIDE y árboles de ataque en términos de enfoque, aplicabilidad
y ventajas/desventajas. ¿En qué contextos es más útil cada metodología? ¿Crees que
pueden complementarse en el modelado de riesgo? Justifica tu respuesta.
• Analiza y compara al menos tres de las herramientas mencionadas en la sección anterior,
considerando aspectos como facilidad de uso, aplicabilidad en distintos entornos y
capacidades específicas. ¿Cuáles son sus principales diferencias y qué ventajas ofrecen?
1
Se utilizarán herramientas de detección de plagio y de generación por IA.