Está en la página 1de 16

12/6/23 Actividad 1:

Modelado de
Amenazas de
una Aplicación
Seguridad en el software

Alumna: Ing. Elena Ortiz Hernández

Docente: Mtr. Joel Pérez González

Maestría: Ingeniería de Software y Sistemas


Informáticos

Semestre: 1° Primavera 2023


Asignatura Datos del alumno Fecha
Seguridad en Apellidos: Ortiz Hernandez
05/06/2023
Aplicaciones Online Nombre: Elena

Índice

Índice ...................................................................................................................................... 1

Introducción ........................................................................................................................... 2

Modelado de amenazas de una aplicación ............................................................................... 3

Ejercicio práctico .................................................................................................................... 8

Conclusión ..................................................................................................................... 14

Referencias .................................................................................................................... 15

Índice de figuras

Figura 1. Simbología DFD .......................................................................................................... 4

Figura 2. Topología lógica de la aplicación ............................................................................... 8

Figura 3. Diagrama DFD ............................................................................................................. 8

Figura 4. Archivo .tm7. .............................................................................................................. 9

Figura 5. Archivo reporte.html. ................................................................................................. 9

Figura 6. Análisis de amenazas.................................................................................................. 9

Índice de tablas

Tabla 1. Modelo de categorización de amenazas con STRIDE ................................................. 5


© Universidad Internacional de La Rioja (UNIR)

Tabla 2. Método de puntuación con DREAD ............................................................................ 7

Tabla 3. Tabla de documentación de amenazas. .................................................................. 10

Tabla 4. Método de puntuación DREAD. Fuente: elaboración propia ................................... 13

Actividades 1
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: Ortiz Hernandez
05/06/2023
Aplicaciones Online Nombre: Elena

Introducción
Un modelado de amenazas es una herramienta que nos ayuda a mejorar el proceso de

diseño de las aplicaciones, es decir, nos ayuda a conseguir que el desarrollo de una aplicación

contenga propiedades, características y las directrices o principios de diseño de software

seguro. Su principal objetivo es mantener sus propiedades de seguridad frente a los ataques

realizados por personal malicioso sobre sus componentes y reducir al mínimo posible sus

vulnerabilidades explotables.

En la presente actividad se lleva a cabo el análisis y la implementación de las

metodologías STRIDE y DREAD, así como, el modelado del Diagrama de Flujo de Datos

(DFD) de la tienda virtual “On-library Elena”.

Durante el desarrollo se emplea la herramienta “Threat Analysis and Modeling Tool”

del fabricante Microsoft en su versión más reciente para modelar el caso que se presenta a

continuación.
© Universidad Internacional de La Rioja (UNIR)

Actividades 2
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: Ortiz Hernandez
05/06/2023
Aplicaciones Online Nombre: Elena

Modelado de amenazas de una aplicación


El modelado de amenazas es una técnica de comprobación cuyo objetivo es ayudar a

identificar y planificar de forma correcta, la mejor manera de mitigar las amenazas de una

aplicación mediante un enfoque moderno de análisis de gestión de riesgos, y la implementación

de medidas o controles que contribuyan a mejorar la seguridad. Está técnica tiene como

principales ventajas la aplicación durante una etapa temprana del SDLC, y más allá de que su

implementación es relativamente nueva, está despertando un gran interés.

Diagrama de Flujo De Datos

Lo realmente importante en esta etapa es el DFD (diagrama de flujo de datos), como

se señala coloquialmente “una imagen vale más que mil palabras” y en un diagrama se puede

obtener suficiente información fundamental.

El diagrama de flujo de datos (DFD), data flow diagram, es la representación gráfica del flujo

de datos de un proceso o sistema. El diagrama de flujo de datos es una de las principales formas

de crear un modelo de procesos de un sistema.

¿De qué está compuesto un DFD?


A la hora de elaborar un diagrama de flujo de datos, es importante saber qué elementos

lo componen y cómo es su diseño. Ed Yourdon y Larry Constantine escribieron un libro a

mediados de los años 70, ‘Structured Design: Fundamentals of a Discipline of Computer


© Universidad Internacional de La Rioja (UNIR)

Program and Systems Design’. En este libro establecieron los componentes y sus simbologías:

Actividades 3
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: Ortiz Hernandez
05/06/2023
Aplicaciones Online Nombre: Elena

Figura 1. Simbología DFD. Fuente: TORR, Peter. Guerrilla Threat Modelling.

• Entidad externa: es un elemento externo que puede tanto enviar como

recibir la información, siendo así fuente y/o destino de la información. Estas entidades

suelen encontrarse en los bordes del diagrama. Por ejemplo: esto puede ser una

organización, un sistema, una empresa, un cliente, un estudiante, etc.

• Proceso: es el elemento responsable de hacer alguna transformación de

los datos de entrada para obtener datos de salida. Estas transformaciones pueden ser:

dirigir el flujo de entrada, realizar cálculos, ordenar datos, etc. Asimismo, los procesos

van acompañados de una etiqueta descriptiva para explicar lo que hace. Por ejemplo:

enviar pedido.

• Almacenamiento de datos: sirve para conservar los datos para su uso

posterior. Un almacén de datos puede ser una base de datos. Al igual que los procesos,
© Universidad Internacional de La Rioja (UNIR)

los almacenes también van acompañados de una etiqueta. Por ejemplo: pedidos.

• Flujo de datos: es la ruta que toman unos datos entre las entidades

externas, los procesos y los almacenes de datos. El flujo también va acompañado de

una etiqueta. Por ejemplo: dirección de envío del pedido.

Actividades 4
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: Ortiz Hernandez
05/06/2023
Aplicaciones Online Nombre: Elena

Método STRIDE

STRIDE es un acrónimo de seis categorías de amenazas:

Suplantación de identidad (Spoofing), manipulación de datos(Tempering), amenazas

de repudio(Repudio), divulgación de información(Information disclosure), denegación de

servicio(Denal of service) y elevación de privilegios(Elevation of privileges). Dos ingenieros

de Microsoft, Loren Kohnfelder y Praerit Garg, desarrollaron STRIDE.

Específicamente, STRIDE tiene como objetivo garantizar que una aplicación o

sistema cumpla con la tríada de la CIA (confidencialidad, integridad y disponibilidad). Sus

diseñadores lo crearon para asegurarse de que los desarrolladores de software de Windows

consideraren las amenazas durante la fase de diseño.

Tabla 1. Tabla de modelo de categorización de amenazas con STRIDE


© Universidad Internacional de La Rioja (UNIR)

Actividades 5
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: Ortiz Hernandez
05/06/2023
Aplicaciones Online Nombre: Elena

Método de puntuación DREAD

Una vez que se tiene identificada la lista de amenazas, el siguiente paso consiste en

puntuarlas de acuerdo con el riesgo que suponen. Esto permite priorizar las actuaciones a

efectuar para mitigar el riesgo. Comúnmente un riesgo se puede cuantificar, como el

resultado de multiplicar la probabilidad de que la amenaza se produzca por el impacto.

Riesgo = Probabilidad * impacto.

Se emplea una escala del 1 al 10 para valorar la probabilidad de ocurrencia, donde el

1 representaría una amenaza que es poco probable que ocurra, y 10 sería una amenaza muy

probable. De igual forma, con el impacto, 1 indicaría un impacto mínimo y 10 un impacto

máximo. Este enfoque tan simplista, nos permite en un primer momento clasificar las

amenazas en una escala entre 1-10 que podemos dividir en tres partes según su riesgo: Alto,

Medio, Bajo. Ej. Probabilidad 10, impacto 7, el riesgo será: Riesgo = 10 * 7= 70

Una amenaza con un riesgo alto debería ser tratada de forma rápida, una amenaza

con riesgo medio, aunque importante es de menor urgencia, y por último la de riesgo bajo se

podría llegar a ignorar dependiendo del costo y del esfuerzo que se requiera. El problema de

aplicar este método está dada por la dificultad de valorar de igual forma el riesgo cuando esta

valoración es efectuada por diferentes personas. El método DREAD, trata de facilitar el uso

de un criterio común respondiendo a las siguientes preguntas:


© Universidad Internacional de La Rioja (UNIR)

• Damage potential (Daño potencial): ¿Cuál es el daño que puede originar la

vulnerabilidad si llega a ser explotada?

Actividades 6
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: Ortiz Hernandez
05/06/2023
Aplicaciones Online Nombre: Elena

• Reproducibility (Reproducibilidad): ¿Es fácil reproducir las condiciones que

propicien el ataque?

• Exploitability (Explotabilidad): ¿Es sencillo llevar a cabo el ataque?

• Affected users (Usuarios afectados): ¿Cuantos usuarios se verían afectados?

• Discoverability (Descubrimiento): ¿Es fácil encontrar la vulnerabilidad

Tabla 2. Tabla método de puntuación con DREAD


© Universidad Internacional de La Rioja (UNIR)

La anterior tabla referencia el método de puntuación DREAD suministrado por Microsoft. Fuente: P.F, Daniel. Análisis y Modelado de

Amenazas.

Actividades 7
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: Ortiz Hernandez
05/06/2023
Aplicaciones Online Nombre: Elena

Ejercicio práctico
La aplicación permite analizar las amenazas de una aplicación web típica de negocio

de pago electrónico de una librería (textos, libros, revistas, etc.), en formato digital con

opciones de impresión. El sistema está basado en una típica arquitectura de una aplicación web

de tres capas con la siguiente arquitectura lógica:


Información Back-up datos a un
almacenada en tercero
base de datos
Puerto 1433
TCP/IP
Autenticación
Puerto 443
Agente de Aplicación Web Información
HTTP Formulario
Ventas en transito
autenticación
SQL
Server

Puerto 443 Información


TLS en transito
Envió log
Cliente
Servidor ISS
Administrador Servidor de log Procesador
Central de la de tarjetas
Compañia Datos Proceso Presentación de crédito
externo

Figura 2. Topología lógica de la aplicación. Fuente UNIR

▸ Diagrama DFD
© Universidad Internacional de La Rioja (UNIR)

Figura 3. Diagrama DFD. Fuente: elaboración propia

Actividades 8
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: Ortiz Hernandez
05/06/2023
Aplicaciones Online Nombre: Elena

Para su análisis se realizó el DFD y se generó el informe de modelado de amenazas, se

adjunta como objeto en este documento:

Figura 4. Archivo .tm7. Fuente: elaboración propia

REPORTEMODELADO
.htm

Figura 5. Archivo reporte.html. Fuente: elaboración propia

Se emplea la “Vista de Análisis” de la herramienta Threat Analysis and Modeling Tool,

esta emplea el método STRIDE para el análisis de amenazas.


© Universidad Internacional de La Rioja (UNIR)

Figura 6. Análisis de amenazas. Fuente: elaboración propia

Actividades 9
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: Ortiz Hernandez
05/06/2023
Aplicaciones Online Nombre: Elena

▸ Tabla de Documentación de amenazas

De la lista obtenida de 92 amenazas identificadas por la herramienta, se seleccionan 10

de ellas para su análisis con el método STRIDE. Las cuales se presentan a continuación:

Tabla 3. Tabla de documentación de amenazas. Fuente: elaboración propia

1 Descripción de la amenaza Suplantación de la BD_Libreria del almacén de datos de origen

Categoría Suplantación de Identidad (Spoofing)

Objetivo Base de datos SQL

El servidor web 'Servidor Web' podría ser objeto de un ataque de cross-site

Técnicas de ataque scripting, para ello el atacante debe tener acceso a la red interna o ser un usuario

interno de la organización.

Procesos de Autenticación, Autorización y Auditoría (AAA): hash, firma


Medida de mitigación
digital. IPsec.

2 Descripción de la amenaza El flujo de datos AccesoBD_IN está potencialmente interrumpido

Categoría Denegación de Servicio (Denial Of Service)

Objetivo Comunicación entre la Base de Datos y el servidor web

Un ataque al servidor web puede interrumpir los datos que fluyen a través de
Técnicas de ataque
un límite de confianza en cualquier dirección.

Listas control de acceso ACL. Calidad de servicio. Aseguramiento de la


Medida de mitigación
disponibilidad.

3 Descripción de la amenaza Posible vulnerabilidad de inyección SQL para BD_Libreria

Categoría Manipulación maliciosa de Datos (Tampering)

Objetivo Base de datos SQL

Inyección SQL, inserción de código malintencionado en cadenas, que luego se


Técnicas de ataque
pasan a una instancia de SQL Server, para su análisis y ejecución.

Protocolos resistentes a la manipulación. Procesos de AAA: hash, firma digital.


Medida de mitigación
Listas control de acceso ACL.

4 Descripción de la amenaza Elevación mediante suplantación


© Universidad Internacional de La Rioja (UNIR)

Categoría Escalado de Privilegios (Elevation of Privilege)

Objetivo Servidor Web

Si el atacante gana acceso al proceso de validación de cliente puede suplantar


Técnicas de ataque
el contexto para ganar privilegios adicionales en el mismo.

Actividades 10
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: Ortiz Hernandez
05/06/2023
Aplicaciones Online Nombre: Elena

Listas control de acceso ACL. Control de acceso basado en roles. Trabajar con
Medida de mitigación
el mínimo privilegio. Validación de entradas

5 Descripción de la amenaza Posible repudio de datos por parte del Cliente

Categoría Repudio (Repudiation)

Objetivo Comunicación entre Cliente y Servidor

Técnicas de ataque Cliente afirma que no recibió datos de una fuente fuera del límite de confianza.

Procesos de AAA: hash, firma digital. Sellados de tiempo. Procesos de


Medida de mitigación
Auditoria.

6 Descripción de la amenaza Suplantación de la entidad externa Administrador

Categoría Suplantación de Identidad (Spoofing)

Objetivo Comunicación entre Administrador y Servidor Web

Administrador puede ser falsificado por un atacante y esto puede conducir a un


Técnicas de ataque
acceso no autorizado a Servidor Web.

Procesos de Autenticación, Autorización y Auditoría (AAA): hash, firma


Medida de mitigación
digital. IPsec.

7 Descripción de la amenaza Elevación cambiando el flujo de ejecución en Servidor Web

Categoría Escalado de Privilegios (Elevation of Privilege)

Objetivo Comunicación entre Agente de Venta y Servidor Web

Un atacante puede pasar datos a Servidor Web para cambiar el flujo de


Técnicas de ataque
ejecución del programa dentro del mismo.

Listas control de acceso ACL. Control de acceso basado en roles. Trabajar con
Medida de mitigación
el mínimo privilegio. Validación de entradas.

8 Descripción de la amenaza Cross Site Scripting

Categoría Manipulación maliciosa de Datos (Tampering)

Objetivo Comunicación entre Proveedor de Autorización y Servidor Web

El servidor web 'Servidor Web' podría estar sujeto a un ataque de secuencias


Técnicas de ataque
de comandos entre sitios.

Protocolos resistentes a la manipulación. Procesos de AAA: hash, firma digital.


Medida de mitigación
Listas control de acceso ACL.
© Universidad Internacional de La Rioja (UNIR)

9 Descripción de la amenaza Debilidad en la autorización de SSO

Categoría Escalado de Privilegios (Elevation of Privilege)

Objetivo Comunicación entre Servidor Web y Proveedor de Autorización

Ataque Man-in-the-Middle (MITM), manipular el tráfico interceptado para


Técnicas de ataque
escuchar la comunicación y obtener información sensible, como credenciales

Actividades 11
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: Ortiz Hernandez
05/06/2023
Aplicaciones Online Nombre: Elena

de acceso, información financiera, o para suplantar la identidad de alguna de

las partes.

Listas control de acceso ACL. Control de acceso basado en roles. Trabajar con
Medida de mitigación
el mínimo privilegio. Validación de entradas.

10 Descripción de la amenaza Control de acceso débil para un recurso

Categoría Divulgación de Información (Information Disclosure)

Objetivo Comunicación entre Base de datos SQL y Administrador.

Credenciales que pueden ser fácilmente estimadas, Ingeniería social.


Técnicas de ataque
Aprovechamiento de un sistema débil de cambio de credenciales

Gestión de claves criptográficas. Gestión de certificados. Procesos de AAA:


Medida de mitigación
hash, firma digital
© Universidad Internacional de La Rioja (UNIR)

Actividades 12
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: Ortiz Hernandez
05/06/2023
Aplicaciones Online Nombre: Elena

▸ Valoración de las amenazas con el método DREAD

Una vez que identificada y documentada la lista de amenazas, el siguiente paso consiste

en puntuarlas de acuerdo con el riesgo que suponen. Esto permitirá priorizar las actuaciones a

efectuar para mitigar el riesgo.

Para ello utilizaremos el método DREAD (Damage, Reproducibility, Exploitability,

Affected, DIscoverability), El riesgo se puede cuantificar como el resultado de multiplicar la

probabilidad de que la amenaza se produzca, por el daño potencial de esta.

Riesgo = Probabilidad x Impacto potencial= (R+E+DI) x (D+A) = PxI

Cada valor se cuantifica con un valor entre 1 y 3.

Tabla 4. Método de puntuación DREAD. Fuente: elaboración propia

Probabilidad de Impacto P I Riesgo

Ocurrencia (P) Potencial (I)

ID Amenaza R E DI D A (R+E+DI) (D+A) PxI

1 Suplantación de la BD_Libreria del 2 3 3 3 3 8 6 48

almacén de datos de origen

2 El flujo de datos AccesoBD_IN está 2 2 3 2 3 9 5 45

potencialmente interrumpido

3 Posible vulnerabilidad de inyección SQL 3 3 3 3 3 9 6 54

para BD_Libreria

4 Elevación mediante suplantación 1 3 3 3 3 7 6 42

5 Posible repudio de datos por parte del 3 3 3 3 2 9 5 45

Cliente

6 Suplantación de la entidad externa 2 3 3 3 3 8 6 48

Administrador
© Universidad Internacional de La Rioja (UNIR)

7 Elevación cambiando el flujo de 1 3 3 3 3 7 6 42

ejecución en Servidor Web

8 Cross Site Scripting 1 3 3 3 3 7 6 42

9 Debilidad en la autorización de SSO 1 3 3 3 3 7 3 21

10 Control de acceso débil para un recurso 3 3 3 3 2 9 5 45

Actividades 13
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: Ortiz Hernandez
05/06/2023
Aplicaciones Online Nombre: Elena

Conclusión
El modelado de amenaza es un proceso abierto, lo cual se traduce en que cada persona

puede llegar a tener diferentes interpretaciones del mismo, sin embargo, el seguimiento de una

metodología y un enfoque de mejoramiento se presenta como un factor clave de cara a mejorar

la seguridad de una aplicación o un sistema.

La técnica permite la reutilización de componentes, lo cual es un factor importarte

debido a que puede servir posteriormente en otros proyectos que tengan cierta similitud,

particularmente en el caso de las aplicaciones web, teniendo en cuenta que en muchas

ocasiones, la propia naturaleza de estas, hace que se encuentren funcionalidades similares en

aplicaciones diferentes.

El éxito de implementación de un modelado de amenazas, está en aplicarlo en múltiples

ocasiones durante todo el desarrollo y evolución del proyecto


© Universidad Internacional de La Rioja (UNIR)

Actividades 14
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: Ortiz Hernandez
05/06/2023
Aplicaciones Online Nombre: Elena

Referencias
Bermejo, J. R., & Díaz, G. (2015). Estudio de Técnicas Automáticas de Análisis de
Vulnerabilidades de Seguridad en Aplicaciones Web. UNED.
Howell, J. (25 de agosto de 2022). Threat Modeling Tool feature overview. Obtenido de
Microsoft Learn: https://learn.microsoft.com/es-es/azure/security/develop/threat-
modeling-tool-feature-overview
Retena, P. (Junio de 2023). Análisis y Modelado de Amenazas . Obtenido de
https://prezi.com/uky4fywbiexu/analisis-y-modelado-de amenazas/
© Universidad Internacional de La Rioja (UNIR)

Actividades 15

También podría gustarte