Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
Actividades
Trabajo: Metodologías de modelado de amenazas
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 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:
» 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.
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
» 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 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.
» 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 [Link] 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.
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
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 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.
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.
Tener 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 al método explicado en la clase magistral (Modelado de amenazas)
de este tema, que se resume en el diagrama siguiente (figura 1).
Figura 1. Proceso de Modelado de Amenazas.
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
1. Modelado de la Aplicación
1.2. Identificación de actores y sus niveles de confianza
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.
Id Nombre Descripción
1 Cliente anónimo usuario Cliente que se ha conectado al sitio web de la compañía,
del sitio web pero no ha proporcionado credenciales válidas.
2 Usuario con credenciales Usuario que se ha conectado al sitio web de la compañía y
de inicio de sesión válidas ha iniciado sesión utilizando credenciales válidas.
3 Usuario con credenciales Usuario que se ha conectado al sitio web de la compañía y
de inicio de sesión no está intentando iniciar sesión con credenciales no válidas.
válidas
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
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 El administrador del servidor de bases de datos administra
servidor de base de datos la base de datos del sitio web de la compañía.
6 Administrador del sitio Administrador del sitio web que puede configurar y
web administrar el sitio web de la compañía.
7 Proceso del usuario del Proceso que en el servidor web ejecuta código de usuario y
servidor web 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 Cuenta de usuario utilizada para acceder a la base de datos
lectura/escritura de la en modo lectura y escritura.
base de datos
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
log de la compañía.
Tabla 2. Tabla de actores.
El alumno, si lo considera, puede completar más la tabla con nuevos activos que
considere en su diseño. Se tendrá en cuenta en la nota final.
Identificar activos
En la siguiente tabla se presentan los activos identificados en el sistema:
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
Tipo Id Nombre Descripción Actores
1 Servicio de Servicio a disposición de los clientes (2), (4), (7), (11)
venta de libros para la venta de libros.
2 Datos de la Datos exigidos en la aplicación a la (2), (9), (11)
tarjeta de tarjeta de crédito, como su número,
crédito fecha de caducidad, etc.
Activos Primarios de Información y Servicios
3 Datos inicio Las credenciales que el cliente utilizará (2), (4), (5), (7),
de sesión del para iniciar sesión en el sitio web de la (8), (9)
cliente compañía «Librería On-Line SA».
Datos inicio Las credenciales que el agente de (2), (4), (5), (7),
de sesión del ventas utilizará para iniciar sesión en el
4 (8), (9)
agente de sitio web de la compañía «Librería On-
ventas Line SA».
Datos inicio Las credenciales que el administrador (2), (4), (5), (6),
de sesión del utilizará para iniciar sesión en el sitio (7), (9)
5
administrador web de la compañía «Librería On-Line
SA».
Datos de los Todos los datos asociados al pedido de (2), (4), (7), (8),
6 pedidos libros realizado por un cliente. (11)
Datos de los El sitio web de la compañía «Librería (5), (6), (7),
7 productos On-Line SA» almacenará información (9), (12)
de los productos en el sitio web.
Datos El sitio web de la compañía «Librería (2), (4), (5), (6),
personales On-Line SA» almacenará información (7), (9)
8
personal relacionada con clientes,
agentes de ventas y administrador.
Disponibilida El sitio web de la compañía «Librería (5), (6), (7), (8),
9 d del sitio web On-Line SA» debe estar disponible en (9), (10), (12)
Sistema y aplicación
Activos Secundarios
régimen de 24 x 7 para los clientes.
Capacidad Capacidad realizar peticiones de pago a (2), (7), (11)
realizar un procesador de tarjetas de crédito
10
peticiones de externo.
pago
11 Capacidad Representa la capacidad de ejecutar (2), (7)
ejecutar código en el servidor web como un
código en el usuario de este.
servidor web
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
Capacidad de Representa la capacidad de ejecutar (8), (10), (12)
ejecutar consultas SQL a la base de datos, para
consultas SQL recuperar cualquier información
12 a la base de almacenada dentro de la base de datos
datos como un de la compañía «Librería On-Line SA»,
usuario de como un usuario de lectura.
solo lectura
Capacidad de Representa la capacidad de ejecutar (9), (12)
ejecutar consultas SQL para leer, insertar y
consultas SQL actualizar base de datos de la compañía
a la base de «Librería On-Line SA», como un
13
datos como un usuario de lectura y escritura.
usuario de
lectura y
escritura
Capacidad de Capacidad de realizar un back-up de la (10)
14 recuperación base de datos en un proveedor de
de datos servicios externo a la compañía.
Inicio de Sesión de acceso de un usuario al sitio (2), (4), (5)
Sesión web de la compañía «Librería On-Line
15
SA». El usuario podría ser un cliente, el
agente de ventas o el administrador.
Acceso al Acceso al servidor de base de datos (2), (5), (10)
16 servidor de para administrarlo y demás usuarios en
base de datos función de sus permisos.
Capacidad de Capacidad de crear usuarios en el (7), (9)
17 crear usuarios sistema. Estos podrían ser clientes, el
agente de ventas o el administrador.
Capacidad de Capacidad de enviar los log de servidor (12)
enviar los web y el de la base de datos a un
18
eventos del servidor centralizado de log de la
sistema. compañía.
Accesos a los Capacidad para auditar todos los (7), (12)
log del eventos auditables que ocurrieron
18
sistema dentro del sistema de ventas de la
«Librería On-Line SA».
Tabla 1. Tabla de Activos.
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.
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
Si lo considera puede completar más la tabla con nuevos activos que considere en su
diseño. Se tendrá en cuenta en la nota final.
1.2. Definir la arquitectura
1.2.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
Datos de Clientes C, R, U, D C, R, U C, R, U
Datos de productos C, R, U, D R C,R,U
Datos
Datos de pedidos C, R, U, D R,U,D R,U
Datos de tarjeta de crédito C, R, U, D R R
Tabla 3. Matriz de control de acceso.
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
El alumno deberá 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.2.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 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.2.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.2.4. Identificación de tecnologías
La aplicación web está desarrollada en [Link] 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
Server (ISS) para dar soporte a la tecnología [Link] y la elección de SQL Server
como base de datos del backend. Con [Link] utilizará el frame .Net 3.5 o .Net 4.0.
1.2.5. Determinar la topología lógica
La topología lógica del sistema es conforme a la siguiente figura:
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
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.3. Descomponer la aplicación
1.3.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.3.2. Definir los puntos 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 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:
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
Puntos de entrada
ID Nombre Descripción Actores
1 Puerto HTTPS El sitio web de la compañía «Librería On- (1), (2), (3), (4)
Line 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 Página de presentación del sitio web de la (1), (2), (3), (4)
principal de la compañía «Librería On-Line SA». Es el
tienda punto de entrada para todos los usuarios,
tanto los maliciosos como los que no lo son.
1.2 Página de Los clientes y agentes de ventas utilizan esta (1), (2), (3), (4)
Inicio de página para iniciar sesión en el sitio web de
Sesión la compañía «Librería On-Line SA».
1.2.1 Funcionalidad La función de inicio de sesión acepta las (1), (2), (3), (4)
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. (2), (4), (6)
búsqueda
1.4 Página de Página donde se configuran las preferencias (2)
preferencias de los usuarios.
1.5 Página de Página para la administración del catálogo (7)
administración de productos.
1.6 Página de Los clientes entran a esta página para (1), (2), (3)
registro de registrarse y poder hacer compras
usuarios
cliente
1.6.1 Funcionalidad La función donde un nuevo cliente se (1), (2), (3)
de registro de registra para hacer los pedidos.
usuarios
cliente
Tabla 4. Puntos de entrada de la aplicación.
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.
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
Si lo considera puede completar más la tabla con nuevos activos que considere en su
diseño. Se tendrá en cuenta en la nota final.
1.3.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 salida
ID Nombre Descripción Actores
1 Página de La página utilizada para presentar los (2), (4), (8)
resultados de resultados de las búsquedas.
búsqueda
2 Página de Página donde se muestran las preferencias (2), (7)
preferencias de los usuarios.
3 Página de Página que presenta los resultados de la (5), (9)
Catalogo de administración del catálogo de productos.
producto
4 Procesos tarjetas Procesos de verificación de tarjetas de (11)
de crédito crédito y realización de pagos.
5 Procesos de copia Proceso que realiza una copia periódica de (10)
de seguridad la base de datos a una ubicación de un
tercero.
6 Proceso de Proceso que realiza el almacenamiento de (12)
almacenamiento los eventos del sistema en el servidor
log centralizado de almacenamiento de log de
la compañía.
Tabla 5. Puntos de salida de la aplicación.
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.
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
Si lo considera puede completar más la tabla con nuevos activos que considere en su
diseño. Se tendrá en cuenta en la nota final.
1.3.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
ID Descripción
1 Servicio de copia periódica de la base de datos a una ubicación de un tercero.
2 Servidor que almacena 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 6. Dependencias externas.
1.3.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 de Diagramas de Flujo de Datos (DFD). Estos diagramas nos permiten
obtener una mejor comprensión de cómo 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
figura siguiente se muestra un resumen de los más importantes).
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
Figura 3. Símbolos de los diagramas de flujo de datos (DFD).
Figura 4. Vista de diseño de la herramienta Threat Analysis and Modeling Tool 2016.
Figura 5. Posible diagrama DFD de la aplicación.
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
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
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.
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
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 «View
→ Analysis View» en el menú. 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 estas y
algún formulario para introducir más información, como podrían ser las
salvaguardas que la mitiguen y su justificación.
Figura 6. Vista de análisis de la herramienta Threat Analysis and Modeling Tool 2016.
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 qué categorías de amenazas
mencionadas es sensible.
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
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, se nos permite introducir las salvaguardas que consideremos y el análisis
DREAD del paso de la metodología.
Figura 8. Vista análisis Threat Analysis and Modeling Tool.
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
Antes es necesario cargar la plantilla, descargable de la plataforma, «caso1.tb7» (este
archivo se dejará en el foro, se les enviará a sus carpetas de descarga o se descarga
desde el enlace que se indica a continuación).
Accede al enlace a través del aula virtual o desde la siguiente dirección web:
[Link]
05%20Seguridad_del_Software/caso1.tb7
Y cargarla mediante el menú Aply Template, según la figura siguiente:
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 que 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.
Tabla 7. Documentación de las amenazas.
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
Descripción de
Inyección de comandos SQL
la 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.
Descripción de
Suplantación de identidad de la Base de Datos SQL
la amenaza
Falsificar datos. La base de datos SQL puede ser falsificada por un
Objetivo atacante y esto puede conducir a la entrega de datos incorrectos a Cloud
Storage.
Técnicas de Considere utilizar un mecanismo de autenticación estándar para
ataque identificar el almacén de datos de origen.
Descripción de Suplantación del destino del almacenamiento de la base de
la amenaza datos no relacional
La base de datos SQL puede ser engañada por un atacante y esto puede
Objetivo llevar a que los datos se escriban en el objetivo del atacante en lugar de
la Base de datos SQL.
Técnicas de Considere utilizar un mecanismo de autenticación estándar para
ataque identificar el almacén de datos de destino.
Descripción de Control de accesos débil para los recursos
la amenaza
La protección de datos inadecuada de la base de datos SQL puede
Objetivo permitir que un atacante lea información que no está destinada a
divulgación.
Técnicas de
Information Disclosure. Revise la configuración de autorización.
ataque
Descripción de
Memoria del Proceso del Servidor
la amenaza
Si el Servidor web tiene acceso a la memoria, como la memoria
compartida o los punteros, o si tiene la capacidad de controlar lo que el
Objetivo
Cliente del navegador ejecuta (por ejemplo, devolver un puntero de
función), el Servidor web puede alterar el Cliente del navegador.
Técnicas de
ataque Copie los datos proporcionados y luego valídelos.
Descripción de
Ataques de colisión
la amenaza
Objetivo Los atacantes que pueden enviar una serie de paquetes o mensajes
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
pueden superponer datos.
Técnicas de Asegúrese de volver a ensamblar los datos antes de filtrarlos y asegúrese
ataque de manejar explícitamente estos tipos de los casos.
Descripción de
Falsificación de la entidad externa de administración
la amenaza
Un atacante puede suplantar al proveedor de autorización y esto puede
Objetivo
conducir a un acceso no autorizado al servidor web
Técnicas de
Spoofing. Considere utilizar un mecanismo de autenticación estándar
ataque
para identificar la entidad externa.
Descripción de
Débil Almacenamiento de credenciales
la amenaza
Las credenciales almacenadas en el servidor a menudo se revelan o
Objetivo alteran y las credenciales almacenadas en el cliente a menudo son
robadas.
Information Disclosure, considere almacenar un hash salado de las
credenciales en lugar de almacenar las credenciales en sí. Si esto no es
Técnicas de posible debido a los requisitos comerciales, asegúrese de cifrar las
ataque credenciales antes del almacenamiento, utilizando un mecanismo
aprobado por SDL. Para el lado del cliente, si es necesario almacenar
credenciales, cifrarlas y proteger el almacén de datos en el que están
almacenadas
Descripción de Suplantación de identidad de la entidad de destino externa
la amenaza Administrador de TI
El administrador de TI puede ser engañado por un atacante y esto puede
Objetivo llevar a que se envíen datos al objetivo del atacante en lugar del
Administrador de TI.
Técnicas de
ataque Spoofing. Considere utilizar un mecanismo de autenticación estándar
para identificar la entidad externa.
Descripción de
Elevación usando suplantación
la amenaza
El servidor web puede suplantar el contexto de Browser Client para
Objetivo
obtener privilegios adicionales.
Técnicas de
Elevation Of Privilege,
ataque
Descripción de Flujo de datos de Tarjeta_ACK es potencialmente
la amenaza interrumpido
Un agente externo interrumpe el flujo de datos a través de un límite de
Objetivo
confianza en cualquier dirección.
Denial Of Service, tablas hash, el alineamiento de los datos en memoria y el
Técnicas de
uso del miltihilo, respectivamente.
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
ataque
Descripción de
Almacenamiento de datos negado potencialmente en la nube
la amenaza
El almacenamiento ruidoso afirma que no escribió los datos recibidos de
Objetivo
una entidad en el otro lado del límite de confianza.
Técnicas de Denial Of Service. Considere utilizar el registro o la auditoría para
ataque registrar la fuente, el tiempo y el resumen de los datos recibidos.
Descripción de Almacenamiento de datos niega la escritura de la base de SQL
la amenaza potencialmente
Procesar la auditoria-logs, Cloud Storage afirma que no escribió los
Objetivo
datos recibidos de una entidad en el otro lado del límite de confianza.
Técnicas de Repudiation, Considere utilizar el registro o la auditoría para registrar la
ataque fuente, el tiempo y el resumen de los datos recibidos.
Descripción de Actualización de los Logs de asuntos bajos niveles de
la amenaza confianza
Objetivo Procesar la auditoria-logs
Técnicas de
Repudiation
ataque
Descripción de
Control de acceso débil para un recurso
la amenaza
Encriptar, además de asegurar los protocolos, Improper data protection
Objetivo of SQL Database can allow an attacker to read information not intended
for disclosure.
Técnicas de
Information Disclosure, Review authorization settings.
ataque
Descripción de
Suplantacion de identidad del almacenamiento en la nube
la amenaza
Suplantar almacenamiento en la nube, Un atacante puede suplantar el
almacenamiento en la nube y esto puede llevar a que los datos se
Objetivo
escriban en el objetivo del atacante en lugar del almacenamiento en la
nube.
Técnicas de Considere utilizar un mecanismo de autenticación estándar para
ataque identificar el almacén de datos de destino.
El alumno deberá rellenar una tabla con quince amenazas, obtenidas de la
herramienta Threat Analysis and Modeling Tool 2016. Se valorará que se
implemente en idioma español.
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
2.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 ello utilizaremos el método DREAD (Damage, Reproducibility, Exploitability,
Affected, DIscoverability; en castellano: Daño potencial, 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 despues para cada amenaza la siguiente tabla, en la que se incluye un
ejemplo:
Probabilidad de Impact P I Riesgo
Ocurrencia (P) o
Potenci
al (I)
Amenaza R E DI D A (R+E+DI (D+A PxI
) )
Inyección de comandos SQL 3 2 2 3 3 7 6 42
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
Suplantación de identidad de la 2 3 3 1 2 8 3 24
Base de Datos SQL
Suplantación del destino del 3 2 2 2 2 7 4 28
almacenamiento de la base de
datos no relacional
Control de accesos débil para 1 1 1 2 3 3 5 15
los recursos
Memoria del Proceso del 2 2 2 2 3 6 5 30
Servidor Web manipulada
Ataques de colisión 3 3 3 2 1 9 3 27
Falsificación de la entidad 2 2 2 3 3 6 6 36
externa de administración
Almacenamiento débil de 2 2 3 1 2 7 3 21
credenciales
Suplantación de identidad de la 3 3 3 2 2 9 4 36
entidad de destino externa
Administrador de TI
Elevación usando 1 3 1 3 3 5 6 30
suplantación
Flujo de datos de Tarjeta_ACK 2 2 1 2 1 5 3 15
es potencialmente
interrumpido
Almacenamiento de datos 3 3 1 1 3 7 4 28
negado potencialmente en la
nube
Almacenamiento de datos niega 3 2 1 2 2 6 4 24
la escritura de la base de SQL
potencialmente
Actualización de los Logs de 2 2 2 3 2 6 5 30
asuntos bajos niveles de
confianza
Control de acceso débil para un 1 1 1 2 3 3 5 151
recurso
Suplantacion de identidad del 1 1 2 2 3 4 5 20
almacenamiento en la nube
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
Tabla 8. Calculo el riesgo.
El alumno deberá rellenar la tabla con quince amenazas, obtenidas de la
herramienta Threat Analysis and Modeling Tool 2016. Se valorará que se
implemente en idioma español.
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 a otra aplicación que interactúe con la nuestra.
3.2. Identificar las técnicas y tecnologías necesarias para mitigar
los riesgos identificados
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.
Descripción de la Inyección de comandos SQL
amenaza
Medidas Validar la entrada, filtrando el contenido del campo usuario,
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
mitigación utilizar un procedimiento almacenado que utilice parámetros
para acceder a la base de datos.
Descripción de la Suplantación de identidad de la fuente de Base de
amenaza Datos SQL
Categoría Spoofing. Tanto el consumidor de la nube como el
Medidas
proveedor necesitan identificar los bienes de hardware y
mitigación
software, y estimar el costo para remplazar cada bien.
Un riesgo es el potencial de pérdidas o la probabilidad de que
una amenaza explote las vulnerabilidades de un servicio en la
nube.
La evaluación de riesgos es relativamente sencillo.
Mientras que la evaluación de los riesgos debería realizarse de
forma periódica cada tres años, los riesgos podrían necesitar
volver a evaluarse con más frecuencia.
Descripción de la Suplantación del destino del almacenamiento de la
amenaza base de datos no relacional
Categoría Spoofing. Modifique el tráfico o detenga el tráfico
Medidas
por completo. El ataque solo se puede usar en redes que
mitigación
realmente usan ARP y no en otro método de resolución de
direcciones.
Descripción de la Control de accesos débil para los recursos
amenaza
Medidas Categoría Elevation of privilege. La encriptación y protocolos
mitigación más seguros
Descripción de la Memoria del Proceso del Servidor
amenaza
Medidas Categoría Tampering. Que los Protocolos sean resistentes a la
mitigación manipulación
Descripción de la Ataques de colisión
amenaza
Medidas Que los Protocolos sean resistentes a la manipulación
mitigación
Descripción de la Falsificación de la entidad externa de administración
amenaza
Medidas Categoría Spoofing. Procesos de Autenticación, donde la
mitigación autorización y auditoria sea de (AAA), uso de hash y firma
digital, finalmente la protección de secreto.
Descripción de la Débil Almacenamiento de credenciales
amenaza
Medidas Categoría Information Disclosure. De ser posible, utilice
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
mitigación formatos de datos menos complejos como JSON y evite la
serialización de datos confidenciales. • Actualice los
procesadores y bibliotecas XML que utilice la aplicación o el
sistema subyacente. Utilice validadores de dependencias.
Descripción de la Suplantación de identidad de la entidad de destino
amenaza externa Administrador de TI
Medidas Categoría Spoofing. Creación de un plan de respuesta
mitigación
a incidentes. El plan de respuesta a incidentes puede ser
dividido en cuatro fases:
Acción inmediata para detener o minimizar el
incidente
Investigación del incidente
Restauración de los recursos afectados
Reporte del incidente a los canales apropiados
Descripción de la
Elevación usando suplantación
amenaza
Medidas Configuraciones correctas y fuerte
mitigación
Descripción de la Flujo de datos de Tarjeta_ACK es potencialmente
amenaza interrumpido
Medidas Categoría Denial Of Service. La lista de control de acceso
mitigación
Descripción de la Almacenamiento de datos negado potencialmente en
amenaza la nube
Medidas Categoría Repudiation. Investigar y analizar las soluciones
mitigación cloud, Utilizar una solución Single Sign-on(SSO) para añadir
seguridad, rabajar con un tercero para asegurar seguridad en
la nube de forma regular, Implementar el cifrado end-to-end,
Actualizar regularmente su software
Descripción de la Almacenamiento de datos niega la escritura de la base
amenaza de SQL potencialmente
Medidas El proceso de auditoria-Logs ayuda a mitigar
mitigación
Descripción de la Actualización de los Logs de asuntos bajos niveles de
amenaza confianza
Medidas El proceso de auditoria-Logs ayuda a mitigar
mitigación
Descripción de la Control de acceso débil para un recurso
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
amenaza
Medidas La encriptación con los protocolos seguro
mitigación
Descripción de la Suplantacion de identidad del almacenamiento en la
amenaza nube
Medidas Categoría Spoofing. Filtrando en el router: Implementando
mitigación filtros de entrada y salida en su router es una buena idea para
comenzar su defensa ante el spoofing. El cifrado y la
Autenticación: la Realización del cifrado y la autenticación
también reducirán amenazas de spoofing
Tabla 9. Salvaguardas.
El alumno deberá rellenar una tabla con quince amenazas, obtenidas 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 dibujo siguiente (figura 11).
Figura 11. Salvaguardadas aplicación web.
También se puede usar la siguiente tabla:
Amenazas Propiedad Salvaguardas
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
Spoofing identity Autenticación » Procesos de Autenticación,
(Suplantación de Autorización y Auditoría (AAA): hash,
Identidad) firma digital.
» Protección de secretos.
» No almacenamiento de secretos.
» Single Sign On.
» IPSEC.
Tampering with Data Integridad » Procesos de AAA: hash, firma digital.
(Manipulación de » Códigos de autenticación de mensajes.
datos) » Firmas digitales.
» Protocolos resistentes a la
manipulación.
» Listas control de acceso ACL.
Repudiation (Repudio) No Repudio » Procesos de Autenticación: hash, firma
digital.
» Procesos de Auditoría.
» Sellado de tiempo.
Information Disclosure Confidencialidad » Procesos de AAA: hash, firma digital.
(Revelación de » Protección de secretos.
información) » No almacenamiento de secretos.
» 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 Privilege Autorización » Listas control de acceso ACL.
(Elevación de » Control de acceso basado en roles.
privilegios) » Trabajar con el mínimo privilegio.
» Validación de entradas.
Tabla 10. Salvaguardas método STRIDE.
Si se quiere un catálogo más completo de salvaguardas se puede consultar el Libro II
de la Metodología MAGERIT:
Dirección General de Modernización Administrativa, Procedimientos e Impulso de la
Administración Electrónica. (2012). Libro II: Catálogo de Elementos. En MAGERIT-
versión 3.0: Metodología de Análisis y Gestión de Riesgos de los Sistemas de
Información. Madrid: Ministerio de Hacienda y Administraciones Públicas.
Accede al documento desde el aula virtual o a través del siguiente enlace:
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)
Asignatura Datos del alumno Fecha
Seguridad en el
03/02/2020
Software
[Link]
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 puede 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.
TEMA 3 –Actividades © Universidad Internacional de La Rioja (UNIR)