Modelado de amenazas

Objetivos: Al terminar este tema, podrás…

  • Aplicar metodologías de análisis de riesgos a cualquier sistema tecnológico
  • Identificar activos, amenazas y vulnerabilidades en un sistema
  • Evaluar y priorizar riesgos según probabilidad e impacto
  • Documentar hallazgos en formato profesional

El ingeniero de seguridad en proyectos tecnológicos

Cuando se va a construir un sistema tecnológico, el ingeniero de seguridad participa desde las primeras etapas. Tu rol es:

  1. Entender qué hace el sistema — Conocer sus usuarios, sus datos y sus funciones principales
  2. Modelar amenazas — Pensar en qué podría salir mal y quién podría atacarlo
  3. Evaluar riesgos — Priorizar los problemas por probabilidad e impacto
  4. Proponer controles — Diseñar medidas de protección para cada riesgo
  5. Documentar decisiones — Justificar cada control con la amenaza que mitiga

Este análisis se realiza antes de construir el sistema. Es más barato corregir un diseño que reconstruir algo que ya está funcionando.


Metodología de análisis de riesgos

Paso 1: Identificar activos

Un activo es cualquier recurso que tiene valor y requiere protección. Clasifica los activos por tipo:

CategoríaEjemplosValor típico
Datos de usuariosInformación personal, contraseñas, preferenciasAlto (regulaciones, privacidad)
Datos de negocioTransacciones, contratos, estrategiasAlto (ventaja competitiva)
Equipos y sistemasComputadores, servidores, software instaladoMedio-Alto (continuidad operativa)
Procesos internosProcedimientos de aprobación, flujos de trabajoVariable (eficiencia operativa)
ReputaciónConfianza de usuarios, marcaAlto (difícil de recuperar)

Paso 2: Identificar amenazas con STRIDE

STRIDE es un modelo de Microsoft para categorizar amenazas sistemáticamente:

CategoríaDescripciónPrincipio CIAAN afectado
SpoofingSuplantar identidad de usuario o sistemaAutenticación
TamperingModificar datos sin autorizaciónIntegridad
RepudiationNegar haber realizado una acciónNo repudio
Information DisclosureExponer información a no autorizadosConfidencialidad
Denial of ServiceImpedir acceso al servicioDisponibilidad
Elevation of PrivilegeObtener permisos no autorizadosAutenticación/Autorización

Paso 3: Identificar vulnerabilidades

Para cada parte del sistema, pregunta:

  • ¿Quién puede acceder a esto? ¿Debería poder hacerlo?
  • ¿Qué pasa si alguien miente sobre quién es?
  • ¿Qué información podría filtrarse si algo falla?
  • ¿Qué ocurre si el sistema deja de funcionar?
  • ¿Alguien podría modificar datos sin que nos demos cuenta?

Paso 4: Evaluar riesgos

Usa una matriz de riesgos para priorizar:

Impacto BajoImpacto MedioImpacto AltoImpacto Crítico
Probabilidad AltaMedioAltoCríticoCrítico
Probabilidad MediaBajoMedioAltoCrítico
Probabilidad BajaBajoBajoMedioAlto

Paso 5: Diseñar controles

Para cada riesgo priorizado, propón controles específicos:

RiesgoControl propuestoTipoCosto relativo
Suplantación de identidadVerificación de identidad, autenticación en dos pasosPreventivoMedio
Acceso no autorizadoRestricciones de acceso según rolPreventivoBajo
Modificación indebida de datosRegistros de actividad (logs), revisiones periódicasDetectivoBajo
Filtración de informaciónCifrado de datos sensiblesPreventivoMedio
Sistema fuera de servicioCopias de respaldo, plan de recuperaciónCorrectivoAlto

Casos de estudio para análisis

Caso A: Sistema de alertas de emergencias

Descripción: Plataforma que envía notificaciones de desastres naturales a ciudadanos. Recibe información de sensores y servicios meteorológicos, y la envía como alertas al celular de los usuarios.

Activos principales:

  • Datos de ubicación de los ciudadanos
  • Información de alertas y su contenido
  • El sistema de envío de notificaciones
  • La confianza pública en las alertas

Análisis STRIDE:

Parte del sistemaAmenaza STRIDERiesgo específicoImpacto
Recepción de datos de sensoresSpoofingAlguien envía alertas falsas haciéndose pasar por un sensor oficialCrítico (pánico)
Envío de notificacionesDoSEl sistema se cae justo durante una emergencia realCrítico (vidas)
Base de datos de usuariosInformation DisclosureSe filtran las ubicaciones de los ciudadanosAlto (privacidad)
Contenido de las alertasTamperingAlguien modifica una alerta para cambiar la zona afectadaCrítico
Panel de administraciónElevation of PrivilegeUn operador sin autorización envía alertasCrítico

Controles propuestos:

  1. Verificar la identidad de las fuentes de información antes de aceptar alertas
  2. Firmar digitalmente todas las alertas para garantizar que no fueron modificadas
  3. Tener sistemas de respaldo que funcionen si el principal falla
  4. Guardar la mínima cantidad de datos de ubicación posible
  5. Limitar el acceso al panel de administración con verificación en dos pasos

Caso B: Plataforma de transporte público inteligente

Descripción: Sistema que optimiza rutas de buses y transporte público usando información de GPS y patrones de uso. Tiene una app para pasajeros, una app para conductores y un panel de control para la empresa.

Activos identificados:

  • Ubicación en tiempo real de usuarios
  • Historial de viajes y patrones de movimiento
  • Datos de pago (tarjetas, saldo)
  • Cuentas de conductores y operadores
  • Las reglas de optimización de rutas

Análisis de riesgos:

RiesgoProbabilidadImpactoPrioridadControl
Rastreo de usuarios por tercerosMediaAltoAltoMinimizar los datos guardados, no conservar historial innecesario
Manipulación de rutasBajaAltoMedioVerificar los cambios de rutas, registro de quién los hizo
Fraude en pagosAltaMedioAltoVerificación de identidad para transacciones, alertas de actividad sospechosa
Suplantación de conductorMediaAltoAltoVerificación de identidad del conductor al iniciar sesión
Sistema caído en hora picoMediaAltoAltoSistemas de respaldo, capacidad extra para momentos de alta demanda

Caso C: Sistema de salud para monitoreo remoto

Descripción: Aplicación que conecta pacientes con profesionales de salud. Los pacientes usan dispositivos (tensiómetros, glucómetros) que envían datos automáticamente, y los médicos pueden ver el historial y dar recomendaciones.

Consideraciones especiales:

  • Los datos de salud tienen protección especial bajo la Ley 1581 (Colombia)
  • Los dispositivos médicos conectados pueden tener seguridad limitada
  • Los usuarios (pacientes) pueden no ser expertos en tecnología
  • Los fallos pueden tener consecuencias para la vida de las personas

Análisis de riesgos críticos:

RiesgoConsecuenciaControl
Modificación de dosis recomendadasDaño físico o muerteQue un médico verifique siempre las recomendaciones, establecer límites automáticos
Filtración de historial médicoDiscriminación, daño a la reputación del pacienteCifrar toda la información médica, limitar quién puede verla
Dispositivo médico comprometidoLecturas falsas, diagnósticos incorrectosVerificar la identidad de cada dispositivo, monitorear lecturas inusuales
Acceso no autorizado a cuenta de pacienteViolación de privacidad médicaAutenticación en dos pasos, alertas cuando alguien accede a la cuenta

Caso D: Sistema de videovigilancia urbana

Descripción: Red de cámaras con análisis de video para seguridad pública. Detecta incidentes, reconoce patrones y alerta a autoridades.

Dilemas de diseño:

DecisiónOpción A (más seguridad)Opción B (más privacidad)
Reconocimiento facialActivado para identificar sospechososDesactivado o anonimizado
Retención de video90 días para investigaciones24-48 horas máximo
Acceso en tiempo realCualquier oficial autorizadoSolo bajo orden judicial

Riesgos específicos de este dominio:

  • Uso para vigilancia masiva no justificada
  • Manipulación de evidencia para incriminación falsa
  • Acceso de actores maliciosos (chantaje, voyeurismo)
  • Sesgo algorítmico en reconocimiento facial

Documentación de análisis de riesgos

Un análisis profesional incluye:

1. Resumen ejecutivo

  • Descripción del sistema analizado
  • Principales riesgos identificados
  • Recomendaciones prioritarias

2. Inventario de activos

  • Lista de activos con clasificación de sensibilidad
  • Responsable de cada activo
  • Requisitos de protección (CIAAN)

3. Modelo de amenazas

  • Diagrama del sistema mostrando sus partes y cómo se conectan
  • Puntos donde el sistema está más expuesto
  • Actores maliciosos considerados (del tema 02)
  • Análisis STRIDE por cada parte del sistema

4. Evaluación de riesgos

  • Matriz de riesgos con probabilidad e impacto
  • Priorización de riesgos
  • Riesgos residuales aceptados

5. Controles propuestos

  • Control para cada riesgo prioritario
  • Justificación de cada control
  • Costo estimado de implementación
  • Riesgos mitigados vs. residuales

Conceptos clave

TérminoDefinición
ActivoRecurso con valor que requiere protección
VulnerabilidadDebilidad explotable en un sistema
STRIDEModelo de categorización de amenazas (Spoofing, Tampering, Repudiation, Information Disclosure, DoS, Elevation of Privilege)
Superficie de ataqueConjunto de puntos donde un atacante puede intentar acceder
Riesgo residualRiesgo que permanece después de aplicar controles

Laboratorio práctico: Modelado de amenazas

Tiempo estimado: 120 minutos Requisitos: Papel y lápiz (o cualquier herramienta de dibujo), un documento para escribir (Word, Google Docs, etc.)

Objetivo

Crear un análisis de amenazas completo para un sistema real, identificando riesgos y proponiendo controles de seguridad.

Escenario: Plataforma de préstamos universitarios

La universidad quiere crear una plataforma digital para gestionar préstamos estudiantiles. Así funciona:

  • Los estudiantes ingresan a una aplicación web donde llenan un formulario de solicitud con sus datos personales y financieros
  • El sistema verifica la identidad del estudiante consultando una base de datos gubernamental
  • Un proceso interno evalúa si el estudiante cumple los requisitos para recibir el préstamo
  • Los administradores de la universidad revisan las solicitudes y aprueban o rechazan cada una
  • Una vez aprobado, el sistema se conecta con el banco para transferir el dinero al estudiante

Datos que maneja el sistema:

  • Información personal de estudiantes (nombre, cédula, dirección)
  • Información financiera (ingresos familiares, historial crediticio)
  • Credenciales de acceso (usuarios y contraseñas)
  • Registros de solicitudes y sus estados
  • Información de cuentas bancarias para desembolsos

Parte 1: Dibujar el diagrama del sistema (40 min)

Dibuja un diagrama que muestre cómo funciona el sistema. No necesitas usar una herramienta especial — puedes hacerlo en papel, en PowerPoint, en Google Drawings o cualquier herramienta que prefieras.

Tu diagrama debe incluir:

  1. Actores (¿quiénes usan el sistema?):

    • Estudiante
    • Administrador de la universidad
    • Entidad gubernamental (verificación de identidad)
    • Banco (desembolsos)
  2. Partes del sistema (¿qué hace el sistema por dentro?):

    • Aplicación web del estudiante
    • Sistema de verificación de identidad
    • Sistema de evaluación de solicitudes
    • Portal de administración
    • Sistema de pagos/desembolsos
    • Bases de datos (solicitudes, usuarios, registros de actividad)
  3. Flujos de información (¿qué datos van de un lado a otro?):

    • Conecta los actores con las partes del sistema usando flechas
    • Escribe junto a cada flecha qué información se envía
  4. Límites (¿qué es público y qué es interno?):

    • Marca con una línea qué partes del sistema son accesibles desde internet y cuáles son internas
    • Marca también los sistemas externos (banco, gobierno)

Parte 2: Identificar amenazas STRIDE (30 min)

Usando tu diagrama como referencia, llena una tabla como la siguiente para las partes principales del sistema:

Aplicación web del estudiante:

STRIDEAmenaza específicaSeveridad
SpoofingAlguien se hace pasar por un estudiante para pedir un préstamoAlta
TamperingAlguien modifica los montos solicitados durante el envíoCrítica
DoSEl sistema se sobrecarga durante el período de matrículasAlta

Sistema de evaluación de solicitudes:

STRIDEAmenaza específicaSeveridad
TamperingAlguien cambia las reglas para que se aprueben solicitudes que deberían rechazarseCrítica
Information DisclosureSe filtran los datos financieros de los estudiantesAlta
Elevation of PrivilegeAlguien aprueba préstamos sin tener autorizaciónCrítica

Base de datos de solicitudes:

STRIDEAmenaza específicaSeveridad
Information DisclosureSe exponen los datos personales y financieros de los estudiantesCrítica
TamperingAlguien cambia el estado de una solicitud (de “rechazada” a “aprobada”)Crítica
RepudiationSe borran los registros de quién aprobó cada solicitudAlta

Ejercicio: Completa el análisis STRIDE para las partes restantes del sistema (verificación de identidad, portal de administración, sistema de pagos).

Parte 3: Proponer controles (30 min)

Para cada amenaza identificada, propón un control de seguridad. Usa una tabla como esta:

AmenazaControl propuestoTipo de controlRiesgo residual
Suplantación de estudianteVerificar identidad con documento oficial y autenticación en dos pasosPreventivoBajo
Modificación de montosCifrar la comunicación, verificar los datos contra la solicitud originalPreventivoBajo
Filtración de datos financierosCifrar los datos almacenados, restringir quién puede accederPreventivoMedio
Aprobación no autorizadaRegistrar quién aprueba cada solicitud, requerir doble autorización para montos altosDetectivo/PreventivoBajo

Completa la tabla con al menos 8 controles para las amenazas más importantes.

Parte 4: Escribir el reporte (20 min)

Redacta un reporte breve con la siguiente estructura:

# Análisis de Amenazas: Plataforma de Préstamos Universitarios

## 1. Resumen
- ¿Qué sistema analizaste?
- ¿Cuáles son los 3 riesgos más graves que encontraste?
- ¿Cuáles son tus recomendaciones principales?

## 2. Diagrama del sistema
[Incluir tu diagrama — foto, captura de pantalla o imagen]

## 3. Inventario de amenazas
[Tu tabla STRIDE completa con todas las amenazas identificadas]

## 4. Controles propuestos
[Tu tabla de controles con justificación]

## 5. Riesgos residuales
[¿Qué riesgos quedan aún después de aplicar los controles? ¿Por qué los aceptas?]

Entregable

Entrega un documento (.pdf o .docx) que contenga:

  1. Diagrama del sistema (foto o imagen digital)
  2. Reporte de amenazas con:
    • Mínimo 10 amenazas identificadas
    • Mínimo 8 controles propuestos
    • Análisis de riesgos residuales
    • Recomendaciones priorizadas

Criterios de evaluación

CriterioPuntos
Diagrama del sistema claro y completo25
Identificación correcta de actores, datos y límites15
Amenazas STRIDE identificadas (cobertura)25
Controles apropiados y bien justificados25
Calidad de documentación10

Reflexión

Después de completar el laboratorio:

  • ¿Qué amenazas te sorprendió descubrir al analizar el sistema?
  • ¿Cómo priorizarías los controles si tuvieras presupuesto limitado?
  • ¿Qué diferencia hay entre este análisis sistemático y simplemente “pensar en seguridad”?

Navegación:Anterior | Inicio | Siguiente: Seguridad en aplicaciones