Escudo con ojo de cerradura y ciclo de vida de desarrollo seguro
28
Views

El modelado de amenazas es una forma sencilla y rentable de asegurar que la ciberseguridad no se convierta en una idea de último momento en el ciclo de vida del desarrollo de software (SDLC) o en un conjunto de contramedidas estrictamente reactivas. Esta práctica hace que las aplicaciones y los sistemas sean seguros desde el diseño, lo que lleva a menos vulnerabilidades en producción, menos riesgo para el negocio y menores costos de remediación de TI.

Este artículo es una introducción al modelado de amenazas y los efectos positivos que la detección y eliminación temprana de fallas tienen en la postura de seguridad. Sigue leyendo para aprender cómo funciona el modelado de amenazas y ver qué puede ganar tu negocio al adoptar esta práctica proactiva.

¿Qué es el Modelado de Amenazas?

Diagrama isométrico de seguridad en la nube con herramientas de análisis
Ilustración del modelado de amenazas y seguridad en la nube.

El modelado de amenazas (o en inglés, threat modeling) es la práctica de identificar y abordar sistemáticamente las fallas dentro de un activo de TI antes de que alguien tenga la oportunidad de explotar la vulnerabilidad. El procedimiento se basa en varias técnicas (criticidad del riesgo, sesiones de lluvia de ideas, escenarios hipotéticos, diagramas de flujo, diagramas, etc.) y requiere la aportación de las partes interesadas tanto empresariales como técnicas.

Una “amenaza” es un término amplio que representa a alguien o algo que intenta realizar una (o más) de las siguientes acciones:

  • Comprometer o alterar las funciones comerciales críticas.
  • Robar datos o comprometer su integridad.
  • Destruir sistemas empresariales.
  • Utilizar un sistema como plataforma de ataque (por ejemplo, convertir un dispositivo en un bot DDoS).

Todo proceso de modelado de amenazas tiene los siguientes objetivos:

  • Obtener una imagen clara del activo en cuestión (base de datos, red, proceso empresarial, infraestructura, etc.).
  • Determinar los requisitos de seguridad, comerciales y técnicos.
  • Identificar todos los riesgos y amenazas probables.
  • Analizar la naturaleza de cada amenaza, su probabilidad y el peligro que representa para el activo.
  • Especificar los actores de las amenazas, sus motivos y TTP (herramientas, técnicas y procedimientos).
  • Determinar la criticidad de la amenaza (lo que ayuda a priorizar la remediación).
  • Evaluar la preparación actual de la empresa para responder a cada amenaza.
  • Sugerir correcciones y mejoras óptimas.

Los analistas almacenan estos hallazgos en un modelo de amenazas, un documento “vivo” que requiere revisiones y actualizaciones periódicas. La creación de modelos de amenazas y su mantenimiento requiere un esfuerzo inter equipos que incluye las aportaciones de:

  • Partes interesadas del negocio.
  • Gerentes de proyecto.
  • Arquitectos de seguridad.
  • El equipo de operaciones/infraestructura.
  • Desarrolladores de software.

Idealmente, el modelado de amenazas ocurre durante la etapa de diseño de una nueva aplicación o característica. Un equipo puede construir un modelo desde tres perspectivas diferentes:

  • Centrada en los activos (hacer un inventario de los activos valiosos y analizar sus vulnerabilidades).
  • Centrada en el atacante (asumir el papel de un atacante y ver cómo un posible pirata informático podría intentar comprometer un activo).
  • Centrada en el software (centrarse en el diseño del sistema y buscar fallas a nivel arquitectónico).

Las grandes empresas no son las únicas que deben invertir en modelos de amenazas. Los delincuentes prefieren ir tras objetivos que presumen tienen menos medidas de ciberseguridad, lo que convierte a las PYME en candidatos principales para la adopción del modelado de amenazas.

Beneficios del modelado de amenazas para la seguridad de DevOps

La introducción del modelado de amenazas en una cultura DevOps proporciona los siguientes beneficios:

  • El equipo “inyecta” principios de seguridad por diseño en la arquitectura del sistema.
  • Reduces el número de errores y exploits que terminan en producción.
  • El equipo adopta un enfoque proactivo de la seguridad que no espera a que algo salga mal antes de intervenir.
  • Los modelos de amenazas aumentan la conciencia de seguridad a nivel de toda la empresa debido al enfoque multi equipos para la planificación de la seguridad.
  • Mejoras la postura de seguridad en cada etapa del pipeline de DevOps.
  • La empresa obtiene una visión detallada de cada activo de TI crítico y valioso, además de una comprensión profunda de la seguridad de la red y la arquitectura de la aplicación.
  • El equipo ya no toma decisiones relacionadas con la seguridad basándose en una corazonada o sin pruebas que lo respalden.
  • Los expertos en seguridad se preparan tanto para amenazas externas como internas.
  • Mejoras las posibilidades de descubrir riesgos que pasan desapercibidos en las revisiones de código estándar.
  • La empresa reduce los costos de remediación, ya que cada modelo de amenazas incluye planes de respuesta a incidentes exhaustivos.
  • Los costos de prueba disminuyen a medida que el código sale del desarrollo con más calidad.
  • El equipo reduce el número de omisiones típicas (falta de validación de entrada, autenticación débil, manejo de errores inadecuado, falta de cifrado de datos, etc.).
  • La priorización exhaustiva de las amenazas ayuda a asignar mejor los recursos humanos y presupuestarios.
  • La empresa asegura un cumplimiento más fiable de las normativas específicas del sector.
  • El equipo de seguridad de DevOps y sus defensas se mantienen actualizados con las mejores prácticas de ciberseguridad y los tipos de ciberataques más recientes.

El modelado de amenazas es una parte natural de cualquier estrategia de TI que prioriza la seguridad, lo que convierte a la práctica en un aspecto esencial tanto de los equipos de SecOps como de DevSecOps.

Proceso de modelado de amenazas: Cómo crear un modelo de amenazas

Aquí tienes un análisis paso a paso de cómo crear un modelo de amenazas:

  1. Establece el alcance: Decide qué activo requiere modelado de amenazas (una aplicación, servicio, propiedad intelectual, etc.) y reduce el enfoque a un sistema específico.
  2. Evaluación inicial: Crea un inventario de los componentes del activo. Mapea la arquitectura y crea diagramas de flujo de datos de alto nivel para analizar el papel del activo en la empresa.
  3. Análisis exhaustivo del activo: El equipo necesita una comprensión profunda de cada evento o acción que tiene lugar en el sistema. ¿Cómo utiliza el negocio el activo? ¿Qué lo convierte en un objetivo valioso para un ataque? ¿Cómo interactúa el sistema con los usuarios y otros sistemas? ¿Cuáles son sus puntos de entrada y salida? ¿Existen dependencias externas? ¿Quién tiene acceso al activo?
  4. Determina las amenazas probables: Este paso requiere que el equipo enumere tantas amenazas potenciales al activo como sea posible.
  5. Analiza cada peligro: Los analistas crean escenarios paso a paso que describen exactamente cómo se desarrollaría cada amenaza (por ejemplo, ataque de ransomware, exfiltración de datos, inyección SQL, etc.).
  6. Crea una clasificación de amenazas: El equipo determina el nivel de riesgo que representa cada amenaza. El método más común es multiplicar el potencial de daño de una amenaza por la probabilidad de que ocurra el incidente.
  7. Sugiere mitigaciones: El equipo decide ahora la mejor línea de acción para tratar cada amenaza. Un plan de mitigación elimina la amenaza por completo o reduce el riesgo a un nivel aceptable. Las soluciones comunes incluyen actualizaciones de firewall, la adición de autenticación multifactorial, cambios de código, actualizaciones del sistema operativo, etc.
  8. Documenta los resultados: Documenta todos los hallazgos y compártelos con un responsable de la toma de decisiones. El equipo de modelado de amenazas debe inspeccionar periódicamente el modelo y ver si es necesario actualizarlo. Los buenos momentos para la revisión son cuando un activo pasa por un cambio masivo o cuando surge una nueva estrategia en el panorama de la ciberdelincuencia.

Uno de los indicadores clave de cada modelo de amenazas es el factor de trabajo. El factor de trabajo evalúa la cantidad de trabajo que un atacante necesitaría para comprometer un sistema. Cuanto mayor sea el factor de trabajo, más probable es que el delincuente pase a un objetivo más fácil.

Metodologías de modelado de amenazas

Veamos los diez marcos de modelado de amenazas que las empresas utilizan para mejorar la ciberseguridad. Cada marco se centra en un aspecto del modelado de amenazas, por lo que recuerda que un análisis completo requiere el uso combinado de varias metodologías que se describen a continuación.

STRIDE

Desarrollado por Microsoft a finales de la década de 1990, STRIDE ayuda a analizar todas las amenazas potenciales dentro de un sistema. El equipo debe primero descomponer una aplicación para identificar entidades, eventos y límites del sistema antes de evaluar la propensión de cada componente a las siguientes amenazas:

.Tipo de amenazaLo que violaDescripción de la amenaza
SSuplantación de identidadAutenticaciónCuando alguien asume una identidad falsa
TManipulación de datosIntegridadModificación no autorizada de datos
RRepudioNo repudioLa capacidad de un intruso para negar actividad maliciosa debido a la falta de evidencia
IDivulgación de informaciónConfidencialidadProporcionar acceso a datos a alguien sin autorización
DDenegación de servicioDisponibilidadAgotar los recursos necesarios para prestar servicio a los usuarios
EElevación de privilegiosAutorizaciónEjecución de comandos o funciones fuera de la jurisdicción de los privilegios de la cuenta

STRIDE se encuentra entre los métodos de modelado de amenazas más maduros del mercado. El marco ha evolucionado para incluir varias tablas nuevas específicas de amenazas (en particular, STRIDE-per-Element y STRIDE-per-Interaction).

PASTA

PASTA (Proceso para la simulación de ataques y el análisis de amenazas) es un marco centrado en el riesgo que tiene como objetivo alinear los requisitos de seguridad con los objetivos empresariales. Este marco implica un análisis de siete pasos:

  1. Define los objetivos.
  2. Establece el alcance técnico.
  3. Realiza la descomposición de la aplicación.
  4. Analiza las posibles amenazas.
  5. Identifica las vulnerabilidades y los defectos.
  6. Crea modelos de ataque.
  7. Realiza un análisis de riesgos e impactos.

El marco PASTA también incluye documentación para la identificación dinámica de amenazas, la enumeración y un proceso de puntuación.

Diagrama de flujo del modelo PASTA para análisis de amenazas
Visualización del proceso PASTA para el modelado de amenazas.
PasoDescripción
PASO 01 – DEFINIR OBJETIVOSIdentificar los objetivos del negocio
Identificar los requisitos de seguridad
Considerar el cumplimiento normativo
Realizar un análisis de impacto en el negocio
PASO 02 – DEFINIR EL ALCANCE TÉCNICOEstablecer los límites de los activos
Capturar la infraestructura, aplicaciones y dependencias de software
PASO 03 – DESCOMPOSICIÓN DE LA APLICACIÓNDefinir puntos de entrada y niveles de confianza
Identificar actores, activos, servicios, roles y fuentes de datos
Crear diagramas de flujo de datos (DFD)
PASO 04 – ANÁLISIS DE AMENAZASDefinir puntos de entrada y niveles de confianza
Identificar actores, activos, servicios, roles y fuentes de datos
Crear diagramas de flujo de datos (DFD)
PASO 05 – ANÁLISIS DE VULNERABILIDADESDefinir puntos de entrada y niveles de confianza
Identificar actores, activos, servicios, roles y fuentes de datos
Crear diagramas de flujo de datos (DFD)
PASO 06 – MODELADO DE ATAQUESAnalizar la superficie de ataque
Desarrollar árboles de ataque
Realizar análisis de ataque a vulnerabilidad
PASO 07 – ANÁLISIS DE RIESGO E IMPACTOCuantificar y calificar el impacto en el negocio
Análisis de riesgo residual
Definir estrategias de mitigación de riesgos

Árboles de ataque

Los árboles de ataque se encuentran entre las técnicas más antiguas y ampliamente aplicadas para el modelado de amenazas. Este marco funciona de la siguiente manera:

  • Cada nodo raíz representa el objetivo de un atacante (por ejemplo, causar una fuga de datos o secuestrar una dirección de correo electrónico).
  • Cada nodo hoja denota los posibles medios para alcanzar el objetivo del atacante (estos a menudo incluyen condiciones “Y” y “O”).
  • Los analistas asocian cada nodo con una puntuación de vulnerabilidad y un impacto potencial.

Los árboles de ataque son un método simple ideal para el modelado de amenazas de alto nivel y los equipos que se sienten cómodos con las sesiones de lluvia de ideas.

CVSS

El Sistema Común de Puntuación de Vulnerabilidades (CVSS, Common Vulnerability Scoring System) es un marco de estimación de riesgos que proporciona un sistema de puntuación estandarizado para las vulnerabilidades. Un analista asigna una puntuación de gravedad (que va de 0 a 10) a cada amenaza basándose en los tres grupos de métricas generales:

  • Base (incluye métricas de explotabilidad (vectores, complejidad del ataque, privilegios requeridos, interacciones del usuario, etc.) y métricas de impacto (el efecto en la disponibilidad, la integridad de los datos, etc.)).
  • Temporal (madurez del código de explotación, nivel de remediación, etc.).
  • Ambiental (métricas básicas como los requisitos de confidencialidad o disponibilidad).

Una vez que todas las fallas tienen una puntuación numérica y una categoría, el equipo asigna una representación cualitativa (baja, media, alta y crítica) y comienza a priorizar las tareas de mitigación.

El uso combinado de CVSS, STRIDE y árboles de ataque se conoce como el Método de Modelado de Amenazas Cuantitativo (Quantitative Threat Modeling Method).

Tarjetas de seguridad

Las tarjetas de seguridad son la opción ideal para los equipos que intentan identificar nuevos vectores de ataque. Esta técnica de lluvia de ideas requiere el uso de una baraja especializada de 42 tarjetas que representan actividades relacionadas con las amenazas, incluyendo:

  • Motivaciones del atacante (13 tarjetas).
  • Impacto humano (9 tarjetas).
  • Recursos del hacker (11 tarjetas).
  • Métodos del adversario (9 tarjetas).

Cada tarjeta contiene un tema, preguntas para iniciar el pensamiento y algunos ejemplos. Los miembros del equipo sacan dos o más cartas y discuten si las combinaciones aleatorias podrían plantear un escenario de ataque realista.

Las tarjetas de seguridad son excelentes para identificar estrategias innovadoras que generalmente pasan desapercibidas con el modelado de amenazas regular.

OCTAVE

OCTAVE (Evaluación Operacional de Amenazas, Activos y Vulnerabilidades Críticas) es una evaluación basada en riesgos con tres fases generales:

  • Crea perfiles de amenazas basados en activos.
  • Identifica y evalúa las vulnerabilidades de la infraestructura.
  • Desarrolla un plan de seguridad adecuado para cada riesgo descubierto.

Este marco se centra únicamente en la evaluación de los riesgos organizativos, por lo que el marco no considera ni aborda los riesgos tecnológicos.

Diagrama de flujo del modelo OCTAVE para análisis de amenazas
Proceso de análisis de amenazas con el método OCTAVE.

Persona non Grata

Persona non Grata (PnG) es el modelado de amenazas centrado en el atacante por excelencia. PnG permite a un equipo desarrollar una imagen detallada de un atacante hipotético, incluyendo su:

  • Psicología.
  • Motivaciones.
  • Objetivos.
  • Capacidades.
  • Herramientas y técnicas habituales.
  • Procesos de pensamiento durante un ataque.

PnG ayuda a entrar en la mentalidad de un posible intruso, lo que es vital para las primeras etapas del modelado de amenazas. Además, cuando se combina PnG con Tarjetas de Seguridad y SQUARE (Método de Ingeniería de Requisitos de Calidad de Seguridad), se obtiene el Método de Modelado de Amenazas Híbrido (hTMM).

TRIKE

TRIKE es una auditoría de seguridad que analiza el modelado de amenazas desde una perspectiva de gestión de riesgos. Este marco se basa en un punto de vista defensivo en lugar de intentar comprender la mentalidad de un posible atacante. TRIKE comienza con un gráfico matricial que resume las relaciones entre actores, acciones y activos. Las columnas representan los activos, y las filas denotan los actores presentes en el sistema. El analista divide cada celda en cuatro partes, una para cada acción del CRUD (crear, leer, actualizar y eliminar). Los analistas asignan uno de tres valores en cada celda de acción:

  • Acción permitida.
  • Acción no permitida.
  • Permitido con reglas.

El equipo utiliza la matriz para construir un diagrama de flujo de datos (DFD, Data Flow Diagram) para asignar cada elemento a actores y activos. El objetivo es asignar a cada actor una puntuación basada en el nivel de riesgo (de 0 a 5) para cada acción o interacción con el activo.

VAST

VAST (Amenaza Visual, Ágil y Simple / Visual, Agile, Simple Threat) es un tipo de modelado de amenazas que se centra en la seguridad del desarrollo y la infraestructura. El marco requiere que un equipo analice dos tipos de modelos:

  • Modelos de amenazas de aplicaciones (diagramas de flujo de procesos que analizan las amenazas que provienen de la interacción con los usuarios y otros sistemas).
  • Modelos de amenazas operacionales (diagramas de flujo de datos que analizan una aplicación desde un punto de vista de infraestructura).

VAST es una opción popular para los equipos de DevOps y ágiles debido a la naturaleza altamente escalable del marco.

DREAD

DREAD es un análisis cuantitativo de riesgos que clasifica, compara y prioriza las amenazas en función de su gravedad. Inicialmente desarrollado como un complemento para el modelo STRIDE, DREAD representa seis preguntas que el analista hace sobre cada amenaza potencial:

  • Potencial de daño: ¿Qué tan grande es el daño si un atacante explota una vulnerabilidad?
  • Reproducibilidad: ¿Qué tan fácil es reproducir el ataque?
  • Explotabilidad: ¿Qué tan difícil es iniciar un ataque?
  • Usuarios afectados: ¿Cuántos usuarios sentirían los efectos de un ataque?
  • Descubrimiento: ¿Qué tan fácil es descubrir la amenaza?

El equipo de modelado de amenazas responde a estas preguntas y asigna una calificación entre uno y tres. El total representa el nivel de gravedad de una amenaza.

¿No estás seguro de si el modelado de amenazas dio como resultado un sistema más seguro? Considera la posibilidad de realizar algunas pruebas de penetración: las pruebas de penetración son una forma de piratería ética en la que realizas simulaciones de ataques de la vida real para comprobar la preparación del sistema para los intentos de violación.

Herramientas de modelado de amenazas

Si bien un equipo puede realizar un modelado de amenazas básico en una hoja de papel, las empresas más grandes con un alto número de vulnerabilidades deben utilizar software para simplificar el proceso.

Las herramientas reducen la complejidad del modelado de amenazas y permiten a un equipo visualizar, diseñar, planificar y predecir diferentes tipos de peligros potenciales. Algunas de las mejores herramientas también ofrecen sugerencias para la remediación. Aquí hay algunas opciones que valen la pena:

  • Herramienta de modelado de amenazas de Microsoft (MTTM, Microsoft Threat Modeling Tool): Este software de uso gratuito se centra en la detección de amenazas y fallas durante la fase de diseño de proyectos de software. La herramienta se alinea con varios servicios de Microsoft y sigue la metodología STRIDE.
  • Cairis: Esta herramienta basada en web de código abierto permite a los usuarios obtener, describir y evaluar el riesgo del sistema. Cairis ofrece una de las funciones más completas de todas las herramientas de modelado de amenazas (personas atacantes, desgloses de ataques en profundidad, análisis de patrones, recomendaciones de mitigación, etc.)
  • OWASP: Esta herramienta de código abierto (que se ejecuta como una aplicación web o de escritorio) produce diagramas de modelos de amenazas que se alinean con el ciclo de vida del desarrollo. OWASP ofrece funciones similares a MTTM, pero con menos enfoque en los servicios centrados en Microsoft.
  • ThreatModeler: Esta herramienta impulsada por la automatización permite a los usuarios tomar decisiones de seguridad proactivas y reducir el riesgo en una amplia superficie de ataque. ThreatModeler admite varios estándares regulatorios, incluidos GDPR y PCI.
  • IriusRisk: Este sistema centrado en diagramas hace preguntas a los analistas sobre el sistema y utiliza la información para crear una lista de amenazas potenciales y estrategias de mitigación sugeridas.

Al igual que con las metodologías, puedes utilizar más de una herramienta de modelado de amenazas. Obtienes el análisis más sólido e informativo utilizando varias plataformas para recopilar, visualizar y organizar información relacionada con las amenazas.

Palabras Finales

Quedarse atascado en un ciclo de seguridad reactivo es una receta para un desastre operativo y financiero. El modelado de amenazas presenta una alternativa basada en un cálculo simple: el precio de estar preparado supera con creces el costo de la remediación (especialmente cuando se le toma por sorpresa). Algunos modelos de amenazas básicos no requieren inversiones iniciales, así que deja de concentrarte en apagar incendios y comienza a planificar cómo reducir los riesgos.

Categorías:
Diccionario

Todos los Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *