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:
- Entender qué hace el sistema — Conocer sus usuarios, sus datos y sus funciones principales
- Modelar amenazas — Pensar en qué podría salir mal y quién podría atacarlo
- Evaluar riesgos — Priorizar los problemas por probabilidad e impacto
- Proponer controles — Diseñar medidas de protección para cada riesgo
- 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ía | Ejemplos | Valor típico |
|---|---|---|
| Datos de usuarios | Información personal, contraseñas, preferencias | Alto (regulaciones, privacidad) |
| Datos de negocio | Transacciones, contratos, estrategias | Alto (ventaja competitiva) |
| Equipos y sistemas | Computadores, servidores, software instalado | Medio-Alto (continuidad operativa) |
| Procesos internos | Procedimientos de aprobación, flujos de trabajo | Variable (eficiencia operativa) |
| Reputación | Confianza de usuarios, marca | Alto (difícil de recuperar) |
Paso 2: Identificar amenazas con STRIDE
STRIDE es un modelo de Microsoft para categorizar amenazas sistemáticamente:
| Categoría | Descripción | Principio CIAAN afectado |
|---|---|---|
| Spoofing | Suplantar identidad de usuario o sistema | Autenticación |
| Tampering | Modificar datos sin autorización | Integridad |
| Repudiation | Negar haber realizado una acción | No repudio |
| Information Disclosure | Exponer información a no autorizados | Confidencialidad |
| Denial of Service | Impedir acceso al servicio | Disponibilidad |
| Elevation of Privilege | Obtener permisos no autorizados | Autenticació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 Bajo | Impacto Medio | Impacto Alto | Impacto Crítico | |
|---|---|---|---|---|
| Probabilidad Alta | Medio | Alto | Crítico | Crítico |
| Probabilidad Media | Bajo | Medio | Alto | Crítico |
| Probabilidad Baja | Bajo | Bajo | Medio | Alto |
Paso 5: Diseñar controles
Para cada riesgo priorizado, propón controles específicos:
| Riesgo | Control propuesto | Tipo | Costo relativo |
|---|---|---|---|
| Suplantación de identidad | Verificación de identidad, autenticación en dos pasos | Preventivo | Medio |
| Acceso no autorizado | Restricciones de acceso según rol | Preventivo | Bajo |
| Modificación indebida de datos | Registros de actividad (logs), revisiones periódicas | Detectivo | Bajo |
| Filtración de información | Cifrado de datos sensibles | Preventivo | Medio |
| Sistema fuera de servicio | Copias de respaldo, plan de recuperación | Correctivo | Alto |
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 sistema | Amenaza STRIDE | Riesgo específico | Impacto |
|---|---|---|---|
| Recepción de datos de sensores | Spoofing | Alguien envía alertas falsas haciéndose pasar por un sensor oficial | Crítico (pánico) |
| Envío de notificaciones | DoS | El sistema se cae justo durante una emergencia real | Crítico (vidas) |
| Base de datos de usuarios | Information Disclosure | Se filtran las ubicaciones de los ciudadanos | Alto (privacidad) |
| Contenido de las alertas | Tampering | Alguien modifica una alerta para cambiar la zona afectada | Crítico |
| Panel de administración | Elevation of Privilege | Un operador sin autorización envía alertas | Crítico |
Controles propuestos:
- Verificar la identidad de las fuentes de información antes de aceptar alertas
- Firmar digitalmente todas las alertas para garantizar que no fueron modificadas
- Tener sistemas de respaldo que funcionen si el principal falla
- Guardar la mínima cantidad de datos de ubicación posible
- 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:
| Riesgo | Probabilidad | Impacto | Prioridad | Control |
|---|---|---|---|---|
| Rastreo de usuarios por terceros | Media | Alto | Alto | Minimizar los datos guardados, no conservar historial innecesario |
| Manipulación de rutas | Baja | Alto | Medio | Verificar los cambios de rutas, registro de quién los hizo |
| Fraude en pagos | Alta | Medio | Alto | Verificación de identidad para transacciones, alertas de actividad sospechosa |
| Suplantación de conductor | Media | Alto | Alto | Verificación de identidad del conductor al iniciar sesión |
| Sistema caído en hora pico | Media | Alto | Alto | Sistemas 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:
| Riesgo | Consecuencia | Control |
|---|---|---|
| Modificación de dosis recomendadas | Daño físico o muerte | Que un médico verifique siempre las recomendaciones, establecer límites automáticos |
| Filtración de historial médico | Discriminación, daño a la reputación del paciente | Cifrar toda la información médica, limitar quién puede verla |
| Dispositivo médico comprometido | Lecturas falsas, diagnósticos incorrectos | Verificar la identidad de cada dispositivo, monitorear lecturas inusuales |
| Acceso no autorizado a cuenta de paciente | Violación de privacidad médica | Autenticació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ón | Opción A (más seguridad) | Opción B (más privacidad) |
|---|---|---|
| Reconocimiento facial | Activado para identificar sospechosos | Desactivado o anonimizado |
| Retención de video | 90 días para investigaciones | 24-48 horas máximo |
| Acceso en tiempo real | Cualquier oficial autorizado | Solo 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érmino | Definición |
|---|---|
| Activo | Recurso con valor que requiere protección |
| Vulnerabilidad | Debilidad explotable en un sistema |
| STRIDE | Modelo de categorización de amenazas (Spoofing, Tampering, Repudiation, Information Disclosure, DoS, Elevation of Privilege) |
| Superficie de ataque | Conjunto de puntos donde un atacante puede intentar acceder |
| Riesgo residual | Riesgo 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:
-
Actores (¿quiénes usan el sistema?):
- Estudiante
- Administrador de la universidad
- Entidad gubernamental (verificación de identidad)
- Banco (desembolsos)
-
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)
-
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
-
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:
| STRIDE | Amenaza específica | Severidad |
|---|---|---|
| Spoofing | Alguien se hace pasar por un estudiante para pedir un préstamo | Alta |
| Tampering | Alguien modifica los montos solicitados durante el envío | Crítica |
| DoS | El sistema se sobrecarga durante el período de matrículas | Alta |
Sistema de evaluación de solicitudes:
| STRIDE | Amenaza específica | Severidad |
|---|---|---|
| Tampering | Alguien cambia las reglas para que se aprueben solicitudes que deberían rechazarse | Crítica |
| Information Disclosure | Se filtran los datos financieros de los estudiantes | Alta |
| Elevation of Privilege | Alguien aprueba préstamos sin tener autorización | Crítica |
Base de datos de solicitudes:
| STRIDE | Amenaza específica | Severidad |
|---|---|---|
| Information Disclosure | Se exponen los datos personales y financieros de los estudiantes | Crítica |
| Tampering | Alguien cambia el estado de una solicitud (de “rechazada” a “aprobada”) | Crítica |
| Repudiation | Se borran los registros de quién aprobó cada solicitud | Alta |
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:
| Amenaza | Control propuesto | Tipo de control | Riesgo residual |
|---|---|---|---|
| Suplantación de estudiante | Verificar identidad con documento oficial y autenticación en dos pasos | Preventivo | Bajo |
| Modificación de montos | Cifrar la comunicación, verificar los datos contra la solicitud original | Preventivo | Bajo |
| Filtración de datos financieros | Cifrar los datos almacenados, restringir quién puede acceder | Preventivo | Medio |
| Aprobación no autorizada | Registrar quién aprueba cada solicitud, requerir doble autorización para montos altos | Detectivo/Preventivo | Bajo |
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:
- Diagrama del sistema (foto o imagen digital)
- 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
| Criterio | Puntos |
|---|---|
| Diagrama del sistema claro y completo | 25 |
| Identificación correcta de actores, datos y límites | 15 |
| Amenazas STRIDE identificadas (cobertura) | 25 |
| Controles apropiados y bien justificados | 25 |
| Calidad de documentación | 10 |
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 →