Actividades
Caso práctico
» 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 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).
Los objetivos de seguridad establecidos para la tienda web de Librería On-Line SA son
los siguientes objetivos:
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.
DESARROLLO
7. STRIDE
Threat Modeling Tool es un elemento básico del Ciclo de vida de desarrollo de seguridad
(SDL) de Microsoft. Permite a los arquitectos de software identificar y mitigar los
posibles problemas de seguridad en una fase temprana, cuando son relativamente
sencillos y poco costosos de resolver. En consecuencia, reduce en gran medida el costo
total de desarrollo.
La herramienta permite:
Comunicar el diseño de seguridad de sus sistemas
Analizar los diseños de posibles problemas de seguridad con una metodología
probada
Sugerir y administrar mitigaciones para problemas de seguridad
Lo más importante es que Threat Modeling Tool sirve básicamente para elaborar el
análisis de riesgos básico que todo desarrollo debe contemplar. Es esencial que un
programador entienda que su aplicación puede ser atacada y cuáles son los puntos
posibles de ataque.
Suplantación (Spoofing)
S Un ataque de suplantación se produce cuando un atacante se hace pasar por
alguien que no es.
Manipulación (Tampering)
T La manipulación ataques se producen cuando el atacante modifica los datos en
tránsito.
Repudio (Repudiation)
R
Negar la autoría de una acción o evento en los sistemas de información.
Revelación de información (Information Disclosure)
Cuando la aplicación revela información sensible de forma no controlada debido
I
a un error en la programación o un fallo en la configuración del servicio o
aplicación.
Denegación de servicio (Denial of Service)
Introducción de información maliciosa que logre la saturación o el bloqueo de la
D
aplicación y de los servicios que esta proporciona generando como consecuencia
la caída de la aplicación o el sistema informático.
Elevación de privilegios (Elevation of Privilege)
Una elevación de privilegios se produce cuando un atacante tiene la capacidad
para obtener privilegios que normalmente no tendrían. Esto se logra mediante la
E
alteración o ataque a la aplicación obteniendo unos niveles de acceso mayores de
los inicialmente otorgados, saltándose así la política de control de acceso
predefinida.
VALORACIÓN DE AMENAZAS
Impacto
Probabilidad de
Potencial P I Riesgo
Ocurrencia (P)
Amenaza (I)
Suplantación de
almacenamiento de
datos de destino en la 3 2 3 2 2 8 4 32
nube de
almacenamiento
El almacén de datos
niega que el
almacenamiento en la 3 1 2 3 2 6 5 30
nube pueda escribir
datos
El flujo de datos a
BackUPDatos_OUT es
3 2 3 3 2 8 5 40
potencialmente
interrumpido
Almacén de Datos
3 3 3 3 2 9 5 45
Inaccesible
Suplantación de
Almacenamiento de
3 2 2 3 2 7 5 35
Datos de Origen en la
Nube
Falsificación del
Almacén de Datos de
destino 3 2 2 3 1 7 4 28
BDD_SQL_Credenciales
& Productos
El Almacén de Datos
niega que
BDD_SQL_Credenciales 3 3 2 3 1 8 4 32
y Productos puedan
escribir datos
El Flujo de Datos
BackUPDatos_IN es
3 2 1 2 3 6 5 30
Potencialmente
Interrumpido
Almacén de Datos
3 2 2 2 3 7 5 35
Inaccesible
Falsificación del Proceso
3 2 1 3 2 6 5 30
del Servidor Web
Memoria del Proceso del
Servidor Web 3 1 1 3 2 5 5 25
Manipulada
Posible Repudio de
Datos por el Navegador 2 2 3 2 1 7 3 21
del Cliente
Proceso Potencial de
Ruptura o Parada para 3 2 2 1 1 7 2 14
el Navegador del Cliente
Acceso al Flujo de Datos
2 2 2 2 1 6 3 18
Web_OUT es
Potencialmente
Interrumpido
Elevación Mediante
3 2 1 2 2 6 4 24
Suplantación
El Navegador del Cliente
puede estar sujeto a la
Elevación de Privilegios 3 2 2 1 3 7 4 28
mediante la ejecución
remota de código
Elevación por el Cambio
del flujo de Ejecución en 3 2 3 2 2 8 4 32
el Navegador del Cliente
Falsificando los
Procesos del Navegador 3 3 2 2 2 8 4 32
del Cliente
Scripts de Sitios
3 3 2 1 2 8 3 24
Cruzados