Está en la página 1de 12

Alto Nivel Modelado de Amenazas

Descomponer (D), analizar el sistema

Identificar (I), categorizar y priorizar las amenazas

Mitigar (M), detallar las contramedidas, acciones que se deben aplicar para mitigar las amenazas

Ejemplo

Etapa I, Analizar y Descomponer, haciendo un análisis inicial

Etapa II, Identificar todas las posibles amenazas juntos con los expertos o personas involucradas. Esto
depende del contexto y el valor.
Etapa III, Detallar las contramedidas. Lista de medidas para mitigar o resolver las amenazas identificadas
en la etapa anterior.

Segregación de Grupos para la Aplicación

Esto permite pasar de una posición reactiva a una proactiva, nos permite encontrar problemas de
seguridad antes de que sucedan. Esto lo hace robustos y no pone en riesgo la disponibilidad del software.
INSTRUMENTACION

Terminología Base

Exploit, ataques que ya fueron ejecutados e identificados. Deben ser resueltos con máxima prioridad.

Amenaza, cualquier circunstancia técnica que pueda afectar a la CID

Superficie de Ataque, describe los puntos de entrada a vectores de ataque. Lugares donde se puede ser
ingreso de un ataque

Límite de Confianza, cuando existe movimiento de información entre dos puntos, entre dos sistemas,
existe un limite de confianza. Por ejemplo, nosotros nos podemos hacer cargo de los datos hasta que salen
de nuestro sistema o contexto empresarial, incluyendo todos los procesos. Esto nos permite entender que
hasta ese punto podemos controlar la información. Esto Limites de confianza son potenciales espacios de
amenazas a la integridad.
Esto son las accionables a los Riesgos

Puede aplicar los 3 o el fixed que necesita proteger.

Centrado en el Software

Se centra en analizar los procesos. Establece una línea de confianza base (punto de entrada y salida de
datos hacia el software). Se debe enfocar los esfuerzos en contener los posibles riesgos desde nuestro
lado de confianza.

Centrado en Activos

Se centra en analizas activos (datos/información – email/contratos/archivos), “NO en el punto de vista


TECNICO DEL ACTIVO”. Si no, que debemos hacernos una pregunta CONSTANTE: ¿Qué pasaría si acceden a
la información o datos? Se debe explicar que consecuencias e impactos tiene el uso de los
datos/información. Entonces, se prioriza la información que debe ser protegida y en base a eso establecen
las estrategias de protección.
Centrado en Atacantes

Es el más costoso, ya que se centra en analizar en base al conocimiento del ataque puntual, probando
cada algoritmo dentro del contexto del Software, y cuales podrían ser las maneras de llevarla a cabo.

Comúnmente, es representado por un diagrama de árbol o también llamado árbol de vulnerabilidades,


creando caminos y posibilidades que pueden suceder a partir de ataques ya conocidos.

Esto es muy útil cuando se están solucionando los exploit (ataques que ya han sucedido). Con esto, se
debe comenzar a elaborar el árbol de posibles riesgos para poder identificar las soluciones.
CASO DE ESTUDIO – PImage

- Aplicar el flujo de trabajo MdA


- Clasificar amenazas con STRIDE
- Calcular riesgo con DREAD

Flujo de Trabajo

Debe ser decidido por cada equipo de trabajo, siguiendo las convenciones de la metodología

Se tienen 3 momentos

Momento A (Definir y Precisar), definir los requerimientos de seguridad y precisar que la información con
la que contamos para realizar MDA sea correcta, precisa y esté disponible.

Momento B, inicia cuando el Momento A estén listos. Entonces comienza la aplicación de descomponer
(punto tres) el sistema el software de análisis en cuestión. Como punto cuatro, identificar las amenazas. Y
como punto cinco y seis, tomar decisiones sobre las acciones que se van a aplicar. Recuerden que las
acciones pueden ser, mitigar, transferir, eliminar o aceptar.

Una vez que se toman estas decisiones entre comillas primera versión de las decisiones, es necesario
validarlas, para que el equipo esté de acuerdo y consciente de las acciones que se van a tomar.

1. Definir Requerimientos de Seguridad

- Describirlos de forma simple y concisas.


- Deben estar declarados lo antes posible (Golden Rules)
- No es necesario esperar que los requerimientos funcionales estén listos

2. Precisar Información

- “Alguien” debe conocer y entender cada pieza del sistema a ser analizado
- Se debe incluir las personas necesarias: Devs, Arquitectos, Managers, y cualquier otro que
garantice la fiabilidad de la información
- Preguntar por puntos ciegos, verificando si existe algo se pueda estar omitiendo entre distintas
áreas.
- Describir la infraestructura, implica describir como, donde se despliega, cuales son los procesos
para la instalación, la compilación y la entrega del producto de software.
- Información del contexto funcional, explica los tipos de usuarios que pueda tener el sistema, el
contexto tipo humano o procedimental que pueda llegar afectar o ser tomado en cuenta como
amenaza para el sistema.

3. Descomponer

Previamente se debe finalizar, las primeras dos etapas anteriores.

El primer paso en el proceso de modelado de amenazas consiste en comprender la aplicación y cómo


interactúa con entidades externas. Esto involucra:

- Crear casos de uso para comprender cómo se utiliza la aplicación.


- Identificar puntos de entrada para ver dónde un atacante potencial podría interactuar con la
aplicación.
- Identificar activos, es decir, elementos o áreas que le interesarían al atacante.
- Identificar niveles de confianza que representen los derechos de acceso que la aplicación otorgará
a entidades externas.

Esta información se documenta en un documento del modelo de amenazas resultante. También se utiliza
para producir diagramas de flujo de datos (DFD) para la aplicación. Los DFD muestran los diferentes
caminos a través del sistema, resaltando los límites de los privilegios.

El objetivo de este paso es comprender la aplicación y cómo interactúa con entidades externas. Este
objetivo se logra mediante la recopilación de información y la documentación. El proceso de recopilación
de información se lleva a cabo utilizando una estructura claramente definida, que garantiza que se
recopile la información correcta.

Información del modelo de amenaza

La información que identifica el modelo de amenaza normalmente incluye lo siguiente:

1. Nombre de la aplicación : El nombre de la aplicación examinada.


2. Versión de la aplicación : la versión de la aplicación examinada.
3. Descripción : una descripción de alto nivel de la aplicación.
4. Propietario del documento : el propietario del documento de modelado de amenazas.
5. Participantes : los participantes involucrados en el proceso de modelado de amenazas para esta
aplicación.
6. Revisor : los revisores del modelo de amenaza.
4. Identificar Amenazas

Se deben aplicar STRIDE sobre el paso anterior (Descomponer). Esto esta categorizado de la siguiente
forma:

CATEGORIA DESCRIPCIÓN Propiedad


Suplantación de identidad de usuario. Conjunto de
tácticas y técnicas que buscan un compromiso de la
S Spoofing Autenticación
gestión de identidad, autenticación y autenticidad
del sistema.
Manipulación no autorizada. Motivación de afectar
T Tampering a la integridad de los elementos del sistema, Integridad
modificándolo de manera maliciosa.
Referente a no repudio. Cualidad de un sistema que
R Repudiation permite tener certeza y validez sobre la No Repudio
demostración de autoría en una determinada acción.
Exposición de Información. Brecha o fuga de
Information
I información de clasificación interna o superior de la Confidencialidad
Disclosure
organización.
Denegación de servicio. Ataques que buscan afectar
Denial of la capacidad del sistema para ofrecer servicio. Estos
D Disponibilidad
Service ataques pueden afectar al servicio de manera
temporal o indefinida.
Escalación de Privilegios. Motivación de realizar
acciones para las que un usuario no esta autorizado
Elevation of
E originalmente. Elevando el nivel de permisos y Autorización
Privilege
disponibilidad sobre los recursos y funcionalidades
del sistema.

Diferentes amenazas que afectan a cada tipo de elemento


Ejemplo:

SISTEMA WEB DE IMÁGENES - PIMAGE

CATEGORIA DESCRIPCIÓN
A1.- Agente externo envía enlace falso a usuario real para intentar
S Spoofing
obtener credenciales.
A2.- Envío de ataque Cross Site Scripting (XSS) con intención de alterar
T Tampering
el sistema de archivos en el servidor.
A3.- Ya que usuarios anónimos pueden subir imágenes, estos pueden
R Repudiation
negar que conocían los términos y condiciones de uso.
A.4.- Sniffer podría obtener URLs de comunicación (HTTP), descifrar o
I Information Disclosure revisar credenciales.
A5.- Sniffer podría interceptar imágenes y utilizarlos con otros fines.
A6.- Almacén de imágenes llega al límite, no puede recibir más
D Denial of Service archivos.
A7.- DDoS con imágenes al Sistema Web (Ataque a recursos)
A8.- Usuario anónimo podría intentar realizar acciones de un usuario
E Elevation of Privilege
administrador.
5. Decidir Acciones

DREAD es un esquema de clasificación para cuantificar, comparar y dar prioridad a la cantidad de riesgo
que presenta una amenaza específica. El acrónimo DREAD se forma a partir de la primera letra del
nombre en inglés de cada una de las categorías evaluadas.

CATEGORIZACIÓN DESCRIPCIÓN Preguntas que hacer


¿Cómo de negativo será el ataque e
Daño, impacto resultado de la
D Damage impacto?, cantidad y cualidad de las
explotación de la vulnerabilidad
perdidas.
Reproducción del incidente, ¿Cómo de fácil es repetir el ataque?, coste
R Reproducibility
facilidad de su repetición de tiempo y recursos.
Explotación de la
¿Cómo de compleja es la explotación de esta
E Exploitability vulnerabilidad, complejidad y
vulnerabilidad?, coste de tiempo y recursos.
coste de explotación
Afectación del incidente,
¿Cuántos usuario y recursos se ven
cuantos usuarios y recursos se
A Affected Users afectados?, diferenciación dentro de la
ven afectados, importancia de
afectación, porcentaje de usuarios.
estos
¿Cuan expuesta esta la vulnerabilidad?,
Facilidad de descubrimiento, ¿Cuánto cuesta descubrirla?, descubrimiento
D Discoverability
exposición de la vulnerabilidad posible mediante procesos automáticos o
necesidad de interacción.

Entonces, sigue en:

- Determinar el Riesgo DREAD sobre las amenazas identificadas en el paso 4


- Tomar decisiones en base al cálculo de la matriz de riesgo

Ofrece una categorización de cinco niveles de evaluación de un riesgo. Mediante estas cinco propiedades
podemos analizar en detalle un riesgo de nuestro sistema o componente software, para después
establecer una medida que nos indique su criticidad y por lo tanto la priorización entre los riesgos
analizados.

Cálculo de Matriz DREAD

Se debe establecer una escala de riesgo. Pueden ser de tres niveles (como básico), esto esta definido por
la propia organización.

- Bajo = 1
- Medio = 2
- Alto = 3
Después, asignar un valor de riesgo a partir de la escala a cada una de las amenazas en un cuadro.

AMENAZA D R E A D Riesgo
Agente externo envía enlace falso a usuario real para
A1 3 2 2 2 1 2
intentar obtener credenciales.
Envío de ataque Cross Site Scripting (XSS) con intención de
A2 1 1 2 1 1 1,2
alterar el sistema de archivos en el servidor.
Ya que usuarios anónimos pueden subir imágenes, estos
A3 pueden negar que conocían los términos y condiciones de 1 1 3 1 3 1,8
uso.
Sniffer podría obtener URLs de comunicación (HTTP),
A4 3 3 3 2 1 2,4
descifrar o revisar credenciales.
Sniffer podría interceptar imágenes y utilizarlos con otros
A5 1 3 2 3 2 2,2
fines.
Almacén de imágenes llega al límite, no puede recibir más
A6 1 1 1 3 1 1,4
archivos.
A7 DDoS con imágenes al Sistema Web (Ataque a recursos). 1 3 3 3 3 2,6
Usuario anónimo podría intentar realizar acciones de un
A8 3 1 2 3 1 2
usuario administrador.

Seguido, calcular el riesgo mediante el algoritmo indicado abajo. El algoritmo de cálculo de riesgo DREAD
que se muestra a continuación, se fija en base a un promedio de las cinco categorías contempladas en el
modelo de cálculo:

Riesgo_DREAD = (Daño Potencial + Reproductibilidad + Explotabilidad + Usuarios


Afectados + Detectabilidad) / 5

El cálculo de cada una de las categorías de riesgo siempre produce un número entre 0 y 10; cuanto mayor
sea el número, más grave es el riesgo.

Éstos son algunos ejemplos de cómo cuantificar las categorías de riesgo:

Daño potencial:
Si una amenaza fuese explotada, ¿Cuánto daño causaría?
0 = Nada
1 = Datos de los usuarios individuales comprometidos o afectados.
3 = Destrucción de datos del sistema comleto

Reproductibilidad:
¿Es fácil de reproducir la amenaza a explotar?
0 = Muy difícil o imposible, incluso para los administradores de la aplicación.
1 = Uno o dos pasos necesarios, puede ser necesario un usuario autorizado.
3 = Sólo un navegador web y la barra de direcciones es suficiente, sin necesidad de autenticación.
Explotabilidad:
Lo que se necesita para aprovechar esta amenaza.
0 = Conocimientos avanzados de programación y de redes, con herramientas de ataque personalizadas o
avanzadas.
2 = Malware existente en el Internet, o un exploit fácil de realizar con las herramientas disponibles en la
web.
3 = Sólo un navegador web.

Usuarios a los que afecta:


¿Cuántos usuarios se verán afectados?
0 = Ninguno
2 = Algunos usuarios, pero no todos.
3 = Todos los usuarios.
En esta categoría se aplica matemáticamente un punto por cada 10% de posibles usuarios afectados.

Detectabilidad:
¿Es fácil descubrir esta amenaza?
0 = Muy difícil o imposible, requiere el código fuente o acceso administrativo.
2 = ¿Se puede averiguar de adivinar o mediante el control de trazas de red?
3 = Detalles de fallas de este tipo son ya de dominio público y puede ser fácilmente descubierto usando
un motor de búsqueda.

6. Validar
- Evaluación retrospectiva de las etapas (1 al 5) para verificar si estamos de acuerdo con lo
identificado; es decir, revisar cada uno de los puntos como si se estuviera haciendo de nuevo cada
uno, pero comparando con los resultados que ya se obtuvieron.
- Esto permite una revisión doble y re-calculo, que es sumamente importante en el proceso MdA.
- Una vez conforme con todo lo verificado, es aprobado en equipo de trabajo.

También podría gustarte