Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Mexingsof 05 T 3 Trab

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 29

Asignatura Datos del alumno Fecha

Apellidos:
Seguridad en el Software
Nombre:

Actividad. Metodologías de modelado de


amenazas

Objetivos

Una amenaza para cualquier sistema es cualquier actor, agente, circunstancia o


evento que tiene el potencial de causarle daño o a los datos y recursos de este. Con
la presente actividad a se pretende conseguir los siguientes objetivos:

 Estudio y análisis de la arquitectura de una aplicación para poder determinar el


nivel de riesgo y seguridad de las soluciones técnicas a incluir en su diseño.
 Analizar y detectar amenazas de seguridad y desarrollar técnicas para su
prevención.
 Aprender a diseñar e implantar sitios, servicios y sistemas basados en la Web con
garantías de seguridad.
 Facilitar la identificación de las condiciones o aquellas vulnerabilidades que, una
vez eliminadas o contrarrestadas, afectan a la existencia de múltiples amenazas.
 Proporcionar información relevante sobre cuáles serían las contramedidas más
eficaces para contrarrestar una posible amenaza y/o mitigar los efectos de la
presencia de una vulnerabilidad en el diseño de una aplicación.

© Universidad Internacional de La Rioja (UNIR)

Actividades 1
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

Descripción de la actividad

Para seguir profundizando en el modelado de amenazas se propone realizar este


trabajo que contenga al menos el siguiente contenido:

▸ Introducción al modelado de amenazas.


▸ Ejercicio práctico de modelado de amenazas, utilizando una herramienta de
modelado como Threat Analysis and Modeling Tool 2016, del siguiente caso que
se describe a continuación (incluir los ficheros generados por la herramienta
junto con el del trabajo en un fichero a subir en la plataforma).

Caso práctico

Con objetivo de afianzar los conocimientos adquiridos sobre el modelado de


amenazas, se pide el definir, modelar y medir las posibles amenazas de una tienda
de libros online, llamada Librería On-Line SA.

Últimamente, ha sufrido un ciberataque que ha comprometido las credenciales de


sus clientes. El incidente ha trascendido en los medios de comunicación, lo que ha
producido una pérdida de cuota de mercado importante, frente a sus
competidores.

Con el objetivo de mantener su actual posición en el mercado de venta electrónica


de libros y volver a recurar e incluso superar la que tenía, ha contratado a la
empresa InfoSecurity para llevar a cabo un trabajo de modelado de amenazas a sus
© Universidad Internacional de La Rioja (UNIR)
sistemas TI e implementar las salvaguardas que se deriven del mismo en función del
nivel de riesgo y la disponibilidad económica. Se le establece los siguientes
requisitos de negocio y técnicos:

Actividades 2
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

 Habrá tres tipos de usuarios en la aplicación: clientes, administrador TI y agente


de ventas.
 Los clientes deben poder buscar productos y gestionar sus pedidos utilizando la
tienda web o llamando a la oficina de ventas.
 Para que un cliente pueda realizar un pedido el cliente debe, con anterioridad,
registrase para crearle una cuenta.
 El cliente puede pagar con una tarjeta de crédito, débito o mediante trasferencia
bancaria.
 Los clientes deben iniciar sesión antes para poder personalizar sus preferencias.
 Los clientes deben ser capaces de revisar y modificar sus pedidos realizados.
 Los agentes de ventas pueden conceder descuentos a los clientes.
 Los administradores pueden modificar y eliminar clientes y productos e
información.
 La tienda web de la librería tendrá que ser accesible desde Intranet e Internet.
 La tienda web deberá diseñarse con una arquitectura distribuida por razones de
escalabilidad.
 El cliente necesitará autenticarse en la tienda web con las credenciales de la
cuenta de usuario, que a su vez se comprobarán contra la base de datos
implementada en el backend de la compañía, a través de una interfaz de
servicios web.
 La información de la cuenta del usuario y la información del producto deberán
mantenerse en una base de datos relacional.
 El procesamiento de tarjetas de crédito será subcontratado a un procesador de
terceros.
 Las interacciones de los usuarios con la tienda web se almacenan en un servidor
© Universidad Internacional de La Rioja (UNIR)
de log interno de la organización.

▸ La base de datos deberá copiarse periódicamente en una ubicación de un


proveedor de servicios TI de terceros, para propósitos de recuperación ante
desastres.

Actividades 3
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

 El sitio web se diseñará lógicamente como una aplicación cliente/servidor


distribuida conforme a un modelo de tres capas: presentación, proceso y datos.
 Los clientes accederán a la aplicación utilizando navegadores web de escritorio, y
dispositivos móviles.
 El sitio web se desplegará en Internet protegido por una DMZ de dos capas con
acceso tanto para usuarios internos como externos.
 Físicamente, la aplicación estará completamente alojada en un servidor de
aplicaciones (Frontend) alojado en la DMZ, con acceso a un servidor de base de
datos que estará en la red interna de la compañía (Backend).
 La tecnología utilizada en el desarrollo de la aplicación web es ASP.Net utilizando
C # y la base de datos del backend de la compañía está implementada en base al
producto Microsoft SQL Server.

Los objetivos de seguridad establecidos para la tienda web de Librería On-Line SA


son los siguientes objetivos:

OB-1. Recuperar la imagen de la compañía deteriorada tras el ciberincidente


ocurrido.
OB-2. Obtener la posición líder de mercado en venta de libros online.
OB-3. Mantener confidencialidad, integridad y disponibilidad de la información
almacenada y trasmitida.
OB-4. Proporcionar un servicio seguro a los clientes existentes y potenciales.

OB-5. Proporcionar un servicio ininterrumpido a los clientes existentes y


potenciales. Se aplicarán técnicas de monitorización, equilibrio de carga,
replicación, recuperación ante desastres y continuidad del negocio y copias
© Universidad Internacional de La Rioja (UNIR)
de seguridad recuperables
OB-6. Proporcionar una experiencia de usuario mejorada a los clientes existentes y
potenciales.
OB-7. Se establecerán procesos de autenticación, autorización y auditoría.

Actividades 4
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

El sistema estará basado en una típica arquitectura de una aplicación web de tres
capas, donde el cliente es un navegador que accede a los servicios proporcionados
por el sitio web de la librería, que contiene una base de datos de los clientes,
cuentas y publicaciones disponibles, alojada en un servidor de bases de datos y un
servidor web que implementa toda la lógica de negocio.

Tened en cuenta que nos encontramos en la fase análisis de requisitos del SDLC,
identificando requisitos funcionales y de seguridad. Una vez identificados y
comprendidos los objetivos de seguridad procederemos a realizar el modelado de
amenazas conforme a método explicado en la clase magistral de este tema,
«modelado de amenazas», que se resume en el siguiente diagrama:

Figura 1. Proceso de modelado de amenazas.

1. Modelado de la aplicación
© Universidad Internacional de La Rioja (UNIR)

1.1. Identificación de actores y sus niveles de confianza

Actividades 5
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

Los requisitos que se establecen para los actores, tanto humanos como de otro tipo,
son los siguientes:

 Los clientes deben poder buscar productos y realizar sus pedidos utilizando la
tienda web o llamando a la oficina de ventas.
 Los agentes de ventas pueden conceder descuentos a los clientes
 Los administradores pueden modificar y eliminar la información del cliente y del
producto.
 La base de datos deberá copiarse periódicamente a una ubicación de un tercero,
Proveedor de servicios IT, para propósitos de recuperación ante desastres.
 Los eventos del sistema se almacenarán de forma periódica en un servidor de log
centralizado de la compañía. Se transmitirán de forma cifrada y con protección
de su integridad.

Esto nos ayuda a identificar tres actores humanos del sistema: clientes, agentes de
ventas y administradores. Entre los actores no humanos se pueden incluir procesos
que respaldan periódicamente los datos a la ubicación de Proveedor de servicios IT,
procesos de almacenamiento de log, etc.

Se asigna un identificador único a cada actor. Se utiliza para poder realizar una
referencia cruzada de los actores y su nivel de confianza con los puntos de entrada y
los activos.

© Universidad Internacional de La Rioja (UNIR)

Actividades 6
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

Id Nombre Descripción
1 Cliente anónimo usuario del Cliente que se ha conectado al sitio web de la compañía, pero
sitio Web no ha proporcionado credenciales válidas.
2 Usuario con credenciales de Usuario que se ha conectado al sitio web de la compañía y ha
inicio de sesión válidas iniciado sesión utilizando credenciales válidas.
3 Usuario con credenciales de Usuario que se ha conectado al sitio web de la compañía que
inicio de sesión no válidas está intentando iniciar sesión con credenciales no válidas.
4 Agente de ventas Usuario que puede crear usuarios en el sitio web de la
compañía y ver su información personal.
5 Administrador del servidor El administrador del servidor de bases de datos administra la
de base de datos base de datos del sitio web de la compañía.
6 Administrador del sitio web El administrador del sitio web que puede configurar y
administrar el sitio web de la compañía.
7 Proceso del usuario del Proceso que en el servidor web que ejecuta código de usuario
servidor Web y se autentica contra el servidor de base de datos.
8 Usuario de lectura de la Cuenta de usuario utilizada para acceder a la base de datos
base de datos en modo lectura.
9 Usuario de lectura/escritura Cuenta de usuario utilizada para acceder a la base de datos
de la base de datos en modo lectura y escritura
10 Proceso de Back-up Proceso que realiza una copia periódica de la base de datos
en una ubicación de un tercero.
11 Proceso de realización de Proceso que realiza el pago de los pedidos con tarjeta de
pagos. crédito.
12 Proceso de Proceso que realiza el almacenamiento de los eventos del
almacenamiento log sistema en el servidor centralizado de almacenamiento de
logs de la compañía.

Tabla 1. Tabla de actores.

Si lo consideras, puedes completar más la tabla con nuevos activos que


© Universidad Internacional de La Riojaconsideres
(UNIR) en su diseño. Se tendrá en cuenta en la nota final.

Actividades 7
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

1.2. Identificar activos

En la siguiente tabla se presentan los activos identificados en el sistema.

Tipo Id Nombre Descripción Actores


1 Servicio de venta de Servicio a disposición de los clientes para la
libros venta de libros
2 Datos de la tarjeta Datos exigidos en la aplicación a la tarjeta de
de crédito crédito, como su número, fecha de
caducidad, etc.
3 Datos inicio de Las credenciales que el cliente utilizará para (2), (4), (5),
sesión del cliente iniciar sesión en el sitio web de la compañía (7), (8), (9)
Activos Primarios de Información y Servicios

«Librería On-Line SA».


Datos inicio de Las credenciales que el agente de ventas
4 sesión del agente de utilizará para iniciar sesión en el sitio web de
ventas la compañía «Librería On-Line SA».
5 Datos inicio de Las credenciales que el administrador
sesión del utilizará para iniciar sesión en el sitio web de
administrador la compañía «Librería On-Line SA».
6 Datos de los Todos los datos asociados al pedido de libros
pedidos realizado por un cliente.
7 Datos de los El sitio web de la compañía «Librería On-Line
productos SA» almacenará información de los
productos en el sitio web
8 Datos personales El sitio web de la compañía «Librería On-Line
SA» almacenará información personal
relacionada con clientes, agentes de ventas y
administrador.
9 Disponibilidad del El sitio web de la compañía «Librería On-Line
Activos Secundarios

© Universidad Internacional de La Rioja (UNIR)


sitio web SA» debe estar disponible en régimen de
24x7 para los clientes.
10 Capacidad realizar Capacidad realizar peticiones de pago a un
peticiones de pago procesador de tarjetas de crédito externo.
11 Capacidad ejecutar Representa la capacidad de ejecutar código

Actividades 8
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

código en el en el servidor web como un usuario de este.


servidor web
12 Capacidad de Representa la capacidad de ejecutar
ejecutar consultas consultas SQL a la base de datos, para
SQL a la base de recuperar cualquier información almacenada
datos como un dentro de la base de datos de la compañía
usuario de sólo «Librería On-Line SA», como un usuario de
lectura lectura.
13 Capacidad de Representa la capacidad de ejecutar
ejecutar consultas consultas SQL para leer, insertar y actualizar
SQL a la base de base de datos de la compañía «Librería On-
datos como un Line SA», como un usuario de lectura y
usuario de lectura y escritura.
escritura
14 Capacidad de Capacidad de realizar un back-up de la base
Sistema y aplicación

recuperación de de datos en un proveedor de servicios


datos externo a la compañía.
15 Inicio de Sesión Sesión de acceso de un usuario al sitio web
de la compañía «Librería On-Line SA». El
usuario podría ser un cliente, el agente de
ventas o el administrador.
16 Acceso al servidor Acceso al servidor de base de datos para
de base de datos administrarlo y demás usuarios en función
de sus permisos
17 Capacidad de crear Capacidad de crear usuarios en el sistema.
usuarios Estos podrían ser clientes, el agente de
ventas o el administrador.
18 Capacidad de enviar Capacidad de enviar los logs de servidor web
los eventos del y el de la base de datos a un servidor
sistema. centralizado de log de la compañía.
© Universidad Internacional de La Rioja (UNIR)
18 Accesos a los logs Capacidad para auditar todos los eventos
del sistema auditables que ocurrieron dentro del sistema
de ventas de la «Librería On-Line SA».

Tabla 2. Tabla de activos.

Actividades 9
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

El alumno debe rellenar la columna de la derecha «Actores» con el identificador


asignado a los actores en la tabla «Actores y Niveles de Confianza» del anterior
apartado.

Si lo consideras puedes completar más la tabla con nuevos activos que


consideres en su diseño. Se tendrá en cuenta en la nota final.

1.3. Definir la arquitectura

1.3.1. Matriz de control de acceso a los datos

Los datos de la aplicación comprenden la información del cliente (cuenta, dirección


de facturación, dirección de envío, etc.), producto (datos del producto, etc.), pedido
(datos de pedido, lista de materiales, fecha de envío, etc.) y tarjeta de crédito
(número de tarjeta de crédito, código de verificación, mes y año de vencimiento,
etc.). Dado que la tienda web procesará información de tarjetas de crédito, la
información de los datos de la tarjeta del cliente deberá protegerse de acuerdo con
los requisitos de PCI DSS.

La matriz de control de acceso a los datos indica los derechos y privilegios (Create
(C), Read (R), Update (U) o Delete (D)) que los actores tendrán sobre los diferentes
tipos de datos del sistema.

Usuarios (roles)
Administrador Cliente Agente ventas

© Universidad Internacional de LaDatos de Clientes


Rioja (UNIR) C,R,U,D
Datos de productos
Datos

Datos de pedidos
Datos de tarjeta de crédito

Tabla 3. Matriz de control de acceso.

Actividades 10
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

Deberás completar la tabla con los derechos y privilegios (Create (C), Read (R),
Update (U) o Delete (D)) que los actores tendrán sobre los diferentes tipos de
datos del sistema.

1.3.2. Determinar los componentes, servicios, protocolos y puertos de la


aplicación

Los usuarios se conectarán a la aplicación web a través del puerto del puerto 443
(https). La aplicación web se conectará a la base de datos del servidor SQL a través
del puerto 1433 (mediante TCP / IP). Cuando los usuarios usan un protocolo https
sobre el puerto 443, el certificado SSL también se considera un componente y
necesitará estar protegido contra amenazas de falsificación, robo e integridad.

1.3.3. Diseño de la autenticación de las entidades

El usuario se autenticará en la aplicación web mediante formulario (nombre de


usuario y contraseña), que a su vez se autenticará contra la base de datos de SQL
Server (implementada internamente) a través de una aplicación de servicios web,
utilizando una identidad de la aplicación web.

1.3.4. Identificación de tecnologías

La aplicación web está desarrollada en ASP.Net usando C # mientras que la base de


datos se ha implementado en base al producto Microsoft SQL Server en su última
versión. El servidor web se implementa en base al producto Internet Information
© Universidad Internacional de La Rioja (UNIR)
Server (ISS) para dar soporte a la tecnología ASP.Net y la elección de SQL Server
como base de datos del backend. Con ASP.Net utilizará el frame .Net 3.5 o .Net 4.0.

Actividades 11
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

1.3.5. Determinar la topología lógica

La topología lógica del sistema es conforme a la siguiente figura:

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.

1.4. Descomponer la aplicación

1.4.1. Identificar las fronteras de confianza

Un límite de confianza es el punto en el que cambia el nivel de seguridad. Para la


tienda web de este ejercicio tenemos las siguientes fronteras de confianza:

 Entre el exterior (Internet) y la DMZ.


 Entre la DMZ y las zonas internas (Intranet).

1.4.2.
© Universidad Internacional Definir
de La los puntos
Rioja (UNIR) de entrada

Los puntos de entrada son aquellos elementos que incorporan la entrada del
usuario y definen las interfaces a través de las cuales, los potenciales agentes
maliciosos pueden interactuar con la aplicación con el objetivo de introducir datos

Actividades 12
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

con carácter malicioso. Para atacar una aplicación, deben existir puntos de
entrada, por lo tanto, constituyen una fuente potencial de amenaza. Cada uno
debe ser explícitamente identificado y salvaguardado. Los puntos de entrada en una
aplicación web pueden incluir cualquier página que tenga en cuenta la entrada del
usuario.

Algunos de los puntos de entrada identificados en la tienda web del ejercicio


pueden ser los siguientes:

Puntos de entrada
ID Nombre Descripción Actores
1 Puerto HTTPS El sitio web de la compañía «Librería On-Line (1), (2), (3), (4)
SA» es solamente accesible a través del
protocolo TLS. Todas las páginas dentro del
sitio web están en capas desde este punto de
entrada.
1.1 Página principal Página de presentación del sitio web de la
de la tienda compañía «Librería On-Line SA». Es el punto
de entrada para todos los usuarios, tanto los
maliciosos como los que no.
1.2 Página de Inicio Los clientes y agentes de ventas utilizan esta
de Sesión página para iniciar sesión en el sitio web de
la compañía «Librería On-Line SA».
1.2.1 Funcionalidad La función de inicio de sesión acepta las
de Inicio de credenciales suministradas por el usuario y
Sesión las compara con las de la base de datos.
1.3 Página de La página utilizada para realizar búsquedas.
búsqueda
© Universidad Internacional
1.4 de La Página
Rioja (UNIR) de Página donde se configuran las preferencias
preferencias de los usuarios
1.5 Página de Página para la administración del catálogo de
administración productos

Tabla 4. Puntos de entrada de la aplicación.

Actividades 13
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

El alumno debe rellenar la columna de la derecha «Actores» con el identificador


asignado a los actores en la tabla «Actores y Niveles de Confianza» del siguiente
apartado.

Si lo consideras puedes completar más la tabla con nuevos activos que


consideres en su diseño. Se tendrá en cuenta en la nota final.

1.4.3. Identificar puntos de salida

Los puntos de salida son aquellos elementos que muestran información desde el
sistema. Los puntos de salida también incluyen procesos que extraen datos del
sistema. Los puntos de salida pueden ser la fuente de fuga de información y deben
estar igualmente protegidos. Algunos de los puntos de salida identificados en la
tienda web de la compañía «Librería On-Line SA», son los siguientes:

Puntos de entrada
ID Nombre Descripción Actores
1 Página de resultados La página utilizada para presentar los resultados de las
de búsqueda búsquedas.
2 Página de preferencias Página donde se muestran las preferencias de los
usuarios.
3 Página de Catalogo de Página que presenta los resultados de la administración
producto del catálogo de productos.
4 Procesos tarjetas de Procesos de verificación de tarjetas de crédito y
crédito realización de pagos.
5 Procesos de copia de Proceso que realiza una copia periódica de la base de
© Universidad Internacional de La Rioja (UNIR)
seguridad datos a una ubicación de un tercero.
6 Proceso de Proceso que realiza el almacenamiento de los eventos del
almacenamiento log sistema en el servidor centralizado de almacenamiento
de log de la compañía.

Tabla 5. Puntos de salida de la aplicación.

Actividades 14
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

El alumno debe rellenar la columna de la derecha «Actores» con el identificador


asignado a los actores en la tabla «Actores y Niveles de Confianza» del siguiente
apartado.

Si lo consideras puedes completar más la tabla con nuevos activos que


consideres en su diseño. Se tendrá en cuenta en la nota final.

1.4.4 Identificar dependencias externas

Las dependencias externas son elementos externos al código de la aplicación que


pueden suponer una amenaza para la misma. Las dependencias externas serían:

Dependencias Externas
I Descripción
D
1 Servicio de copia periódica de la base de datos a una ubicación de un tercero.
2 Servidor que almacena de los eventos del sistema en el servidor centralizado de
almacenamiento de log de la compañía.
3 Servicio de verificación de tarjetas de crédito y realización de pagos

Tabla 5. Dependencias externas.

1.4.5. Realización del diagrama de flujo de datos (DFD)

Una vez recopilada toda la información sobre la aplicación en los apartados


anteriores estamos en disposición de modelar con precisión la aplicación mediante
el uso
© Universidad Internacional de Lade
RiojaDiagramas
(UNIR) de Flujo de Datos (DFD). Estos desgramas nos permiten
obtener una mejor comprensión de como la aplicación aceptará, procesará y
manejará los datos a medida que se distribuyen a través de sus diferentes límites de
confianza. Hay una serie de símbolos que se utilizan en este tipo de diagramas, en la
siguiente figura os muestro un resumen de los más importantes:

Actividades 15
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

Figura 3. Símbolos de los diagramas de flujo de datos (DFD).

Para la realización del DFD se utilizará la herramienta Threat Análisis and Modeling
Tool 2016 de la compañía Microsoft, descargable en el siguiente enlace:
https://www.microsoft.com/en-us/download/details.aspx?id=49168

Como ayuda a su manejo, aparte de los manuales que se pueden descargar con
esta herramienta, se aconseja visionar estos dos videos:

 AppSecEU 16 - Matthias Rohr - Practical Threat Modeling with Microsofts Threat


Modeling Tool 2016. https://www.youtube.com/watch?v=C5IPkuDnOGs
 Microsoft SDL Unit04 - Threat Modeling Principles (Level 100)
https://www.youtube.com/watch?v=WGz2JQ1OlGQ

© Universidad Internacional de La Rioja (UNIR)


Una vez instalada la herramienta, para la realización de DFD hay que trabajar en la
vista de diseño, que se obtiene al pulsar el en menú «View» → «Desing View», tal y
como se muestra en la figura siguiente.

Actividades 16
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

Vista de Diseño

Elementos del
diagrama DFD

Figura 4. Vista de Diseño de la herramienta Threat Analysis and Modeling Tool.

Os propongo modelar la aplicación mediante el siguiente diagrama DFD que


constituye una representación gráfica que agiliza el proceso de modelado de
requerimientos y al mismo. En la siguiente figura os muestro un modelo básico
como ayuda a la realización del diagrama DFD de la aplicación propuesta. No olvidar
configurar las propiedades de cada elemento del diagrama, por ejemplo, configurar
autenticación y autorización en el servidor web protegerá de posibles amenazas y la
herramienta lo tendrá en cuenta a la hora de calcularlas. Además, saldrán amenazas
repetidas. Es decir, se tendrán menos amenazas. Un ejemplo puede ser el siguiente,
aunque el alumno lo puede modelar de forma diferente según considere:

© Universidad Internacional de La Rioja (UNIR)

Actividades 17
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

Figura 5. Diagrama DFD de la aplicación básico.

Una vez en esta vista, hay que empezar a realizar el diagrama DFD conforme a todos
los datos obtenidos en las etapas anteriores de forma que sea acorde a la topología
lógica indicada en la figura 2. En el cuadro de la derecha «Stencil» están los
diferentes elementos que se pueden elegir para realizar el diagrama, con más
extensión que lo indicado en el resumen de la figura 3.

2. Identificación de Amenazas

2.1 Determinar las amenazas a cada componente de la aplicación

Una vez realizado el diagrama DFD pasamos a la vista de análisis, pulsando en el


© Universidad Internacional de La Rioja (UNIR)
menú «View» → «Analysis View». Al pasar a esta, la herramienta calcula
automáticamente las amenazas sugeridas para el diagrama de flujo de datos
dibujado. Al clicar en cada una de ellas vemos información en detalle de las mimas y

Actividades 18
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

algún formulario para introducir más información como podría ser las salvaguardas
que la mitiguen y su justificación.

Vista de análisis

Figura 6. Vista Análisis de la herramienta Threat Analysis and Modeling Tool.

La herramienta identifica las amenazas a nivel de red, host y aplicación utilizando el


método STRIDE (Spoofing, Tampering, Repudiation, Information disclosure, Denial
of service, Elevation of privilege), en castellano Suplantación de Identidad,
Manipulación maliciosa de datos, Repudio, Divulgación de información,
Denegación de servicio y Escalado de privilegios. Este método se aplica, por cada
elemento de la aplicación identificado en la etapa anterior, analizando a que
categorías de amenazas mencionadas es sensible.

© Universidad Internacional de La Rioja (UNIR)

Actividades 19
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

Figura 7. Relación entre las amenazas del método STRIDE y los elementos de un diagrama DFD.

Cuando se selecciona la vista de análisis, la herramienta mostrará las amenazas


sugeridas para el diagrama de flujo de datos dibujado, donde al clicar en cada una
de ellas nos permite introducir las salvaguardas que consideremos y el análisis
DREAD del paso de la metodología.

© Universidad Internacional de La Rioja (UNIR)


Figura 8. Vista análisis. Threat Analysis and Modeling Tool.

Antes es necesario que cargar la plantilla, descargable de la plataforma,


«caso1.tb7». Este archivo se dejará en el foro, se os enviará a vuestras carpetas de
descarga o se puede descargar desde el siguiente enlace:

Actividades 20
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

Accede al enlace a través del aula virtual o desde la siguiente dirección web:
http://descargas.unir.net/escueladeingenieria/05
Seguridad_del_Software/caso1.rar

Y cargarla mediante el menú Aply Template, según la figura:

Aplicación de Plantilla

Figura 9. Aplicación de plantilla.

2.2 Documentar las amenazas

Una vez realizado el análisis automático de las amenazas hay que documentarlas,
para ello hay que rellenar la tabla siguiente. Hay rellenarla manualmente con cada
una de las amenazas obtenidas con la herramienta, indicando su objetivo y las
técnicas de ataque. Se adjunta un ejemplo.
© Universidad Internacional de La Rioja (UNIR)
Descripción de la Inyección de comandos SQL
amenaza
Objetivo Componente de acceso a base de datos
Técnicas de El atacante introduce comandos SQL en el campo usuario utilizado para
ataque formar una nueva sentencia SQL.

Actividades 21
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

Descripción de la
amenaza
Objetivo
Técnicas de
ataque

Tabla 6. Documentación de las Amenazas.

El alumno deberá rellenar una tabla con 15 amenazas obtenidas de la de la


herramienta Threat Analysis and Modeling Tool 2016 Se valorará que se
implemente en idioma español y se incluyan más amenazas de las 15 indicadas.

1.3 Valorar las amenazas

Una vez que tenemos identificada la lista de amenazas, el siguiente paso consiste en
puntuarlas de acuerdo con el riesgo que suponen. Esto nos permitirá priorizar las
actuaciones a efectuar para mitigar el riesgo.

Para poder realizar una adecuada valoración del riego de las amenazas es
fundamental el contar con los datos obtenidos de los patrones de ataque.

Para ello, debes mapear los patrones de ataque obtenidos de Common Attack
Pattern Enumeration and Classification (CAPEC™)
(https://capec.mitre.org/about/index.html) con las 15 amenazas seleccionadas
para análisis de las proporcionadas por la herramienta.

Se debe incluir el mapeo de las amenazas a los patrones de Ataque de CAPEC


© Universidad Internacional de La Rioja (UNIR)
en la memoria.

Para la valoración del riesgo se utilizará el método DREAD (Damage, Reproducibility,


Exploitability, Affected, DIscoverability), en castellano Daño potencial,

Actividades 22
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

Reproductividad, Explotabilidad, Usuarios afectados, Descubribilidad. 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.

Figura 10. Significado de cada componente valoración del método DREAD.


Se rellena después para cada amenaza la siguiente tabla, en la que se incluye un
ejemplo:
© Universidad Internacional de La Rioja (UNIR)

Probabilidad de Impacto P I Riesgo


Ocurrencia (P) Potencial
(I)
Amenaza R E DI D A (R+E+DI) (D+A) PxI

Actividades 23
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

Inyección de comandos SQL 3 2 2 3 3 7 6 42

Tabla 7. Valoración de las amenazas

El alumno deberá rellenar la tabla con al menos 15 amenazas obtenidas de la de la


herramienta Threat Analysis and Modeling Tool 2016. Se valorará que se
implemente en idioma español y se incluyan más amenazas de las 15 indicadas.

3. Mitigación

3. 1. Decidir cómo responder a las amenazas

Frente a las amenazas se pueden dar diferentes respuestas, basándose


principalmente en el riesgo asociado a cada una. Una amenaza puede ser eliminada
(implica eliminar la funcionalidad del sistema donde se presenta la misma) cuando
esta es opcional o cuando el riesgo que tiene asociado es tan alto que no se puede
asumir. Puede decidirse no hacer nada y aceptar el riesgo, cuando el impacto es
bajo o si la mitigación fuese demasiado costosa comparada con el riesgo asociado.
Generalmente se optará por mitigarla mediante alguna contramedida o
salvaguarda. Por último, se puede transferir el riesgo a una tercera parte, por
ejemplo, al usuario u otra aplicación que interactúe con la nuestra.
3. 2 Identificar las técnicas y tecnologías necesarias para mitigar los riesgos
identificados

© Universidad Internacional de La Rioja (UNIR)


Para las amenazas identificadas hay que seleccionar una serie de salvaguardas que
mitiguen su riesgo asociado a la misma: restricciones arquitectónicas, técnicas
criptográficas, mecanismos de autenticación, algoritmos seguros, etc. que nos
permitan solucionar los problemas planteados.

Actividades 24
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

Descripción de la Inyección de comandos SQL


amenaza
Medidas Validar la entrada, filtrando el contenido del campo usuario, utilizar un
mitigación procedimiento almacenado que utilice parámetros para acceder a la base de
datos.
Descripción de la
amenaza
Medidas
mitigación

Tabla 8. Salvaguardas.

El alumno deberá rellenar una tabla con 15 amenazas obtenidas de la de la


herramienta Threat Analysis and Modeling Tool 2016 y sus salvaguardas. Se
valorará que se implemente en idioma español.

Como ayuda para seleccionar las salvaguardas a incluir en la aplicación para mitigar
las amenazas, se incluye el siguiente dibujo:

© Universidad Internacional de La Rioja (UNIR)

Figura 11. Salvaguardas Aplicación WEB.

También se puede usar la siguiente tabla:

Actividades 25
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

Amenazas Propiedad Salvaguardas


Spoofing identity Autenticación  Procesos de Autenticación, Autorización y
(Suplantación de Auditoría (AAA): hash, firma digital.
Identidad)  Protección de secretos.
 No almacenamiento de secretos.
 Single Sign On.
 IPSEC.
Tampering with Integridad  Procesos de AAA: hash, firma digital.
Data  Códigos de autenticación de mensajes.
(Manipulación de  Firmas digitales.
datos)  Protocolos resistentes a la manipulación.
 Listas control de acceso ACL.
Repudiation No Repudio  Procesos de Autenticación: hash, firma
(Repudio) digital.
 Procesos de Auditoría.
 Sellado de tiempo.

Information Confidencialidad  Procesos de AAA: hash, firma digital.


Disclosure  Protección de secretos.
(Revelación de  No almacenamiento de secretos.
información)  Protocolos seguros.
 Encriptado.
Denial of Service Disponibilidad  Procesos de AAA: hash, firma digital.
(Denegación de  Listas control de acceso ACL.
servicio)  Calidad de servicio.
Elevation of Autorización  Listas control de acceso ACL.
Privilege  Control de acceso basado en roles.
(Elevación de  Trabajar con el mínimo privilegio.
privilegios)
© Universidad Internacional de La Rioja (UNIR)  Validación de entradas.

Figura 12. Salvaguardas método STRIDE.

Si se quiere un catálogo más completo de salvaguardas consultar el Libro II de la


Metodología MAGERIT:

Actividades 26
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

MAGERIT – versión 3.0 Metodología de Análisis y Gestión de Riesgos de los Sistemas


de Información Libro II - Catálogo de Elementos. Método. Ministerio de Hacienda y
Administraciones Públicas.

Disponible:
http://administracionelectronica.gob.es/pae_Home/pae_Documentacion/
pae_Metodolog/pae_Magerit.html#.U2_oe2CKB2E

4. Validación

Finalmente, se debe validar que el modelado de amenazas que se ha llevado a cabo


refleja fielmente el diseño de la aplicación y las amenazas potenciales a las que se
debe enfrentar. Una vez identificadas las amenazas, en una fase temprana del
desarrollo (especificación y diseño de la aplicación), se pueden pensar en la forma
de afrontarlas:

 Rediseñar.
 Usar salvaguardas estándar.
 Usar salvaguardas personalizadas.
 Aceptar el riesgo de acuerdo con las políticas de la organización y requisitos del
sistema.

En este apartado el alumno no tiene que realizar nada, es solo informativo.

© Universidad Internacional de La Rioja (UNIR)


Presentación de la memoria

Presentar una memoria con los resultados pedidos en el presente documento.


Incluir el fichero con extensión.tm7.pdf (incluir la extensión .pdf para evitar

Actividades 27
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

problemas de carga en la plataforma) que genera la herramienta y el informe que se


puede generar con la misma.

Extensión

En la solución a enviar, solo se deberán incluir las tablas que se piden rellenar a lo
largo del enunciado de la actividad y el mapeo de los patrones de ataque. La
extensión máxima de la actividad será de 14 páginas.

Rúbrica

Para la evaluación de la actividad se empleará la siguiente rúbrica:

Criterios Descripción Puntuación máxima Peso


(puntos) %
Criterio 1 Relleno de la Tabla de Activos 0,5 5%
Criterio 2 Matriz de control de accesos 0,5 5%
Criterio 3 Relleno de la Tabla: Puntos de entrada 1 10 %
de la aplicación
Criterio 4 Relleno de la Tabla: Puntos de salida de 1 10 %
la aplicación
Criterio 5 Documentación de las Amenazas 2 20 %
© Universidad Internacional de La Rioja (UNIR)
(incluido mapeo patrón de ataque)
Criterio 6 Valoración de las amenazas 2 20 %
Criterio 7 Diseño de las salvaguardas 2 20 %
Criterio 8 Calidad de la memoria 1 10 %
10 100 %

Actividades 28
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el Software
Nombre:

© Universidad Internacional de La Rioja (UNIR)

Actividades 29

También podría gustarte