Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Objetivos
Pautas de elaboración
1
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría Nombre:
Caso práctico
2
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría Nombre:
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, así como 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
© Universidad Internacional web(UNIR)
de La Rioja 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á por completo 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).
3
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría 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.
Se debe tener en cuenta que nos encontramos en la fase análisis de requisitos del
SDLC, deidentificando
© Universidad Internacional La Rioja (UNIR) 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 Modelado de Amenazas, que se resume en el
siguiente diagrama:
4
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría Nombre:
Modelado de la aplicación
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
5
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría Nombre:
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 y 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 del Cliente que se ha conectado al sitio web de la compañía, pero no
sitio web 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 está
inicio de sesión no válidas 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 de El administrador del servidor de bases de datos administra la
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 y
servidor web se autentica contra el servidor de base de datos.
© Universidad Internacional de La Rioja (UNIR)
8 Usuario de lectura de la base Cuenta de usuario utilizada para acceder a la base de datos en
de datos modo lectura.
9 Usuario de lectura/escritura Cuenta de usuario utilizada para acceder a la base de datos en
de la base de datos 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.
6
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría Nombre:
11 Proceso de realización de Proceso que realiza el pago de los pedidos con tarjeta de crédito.
pagos.
12 Proceso de almacenamiento Proceso que realiza el almacenamiento de los eventos del
log. sistema en el servidor centralizado de almacenamiento de logs de
la compañía.
El estudiante, 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:
A.
Datos inicio de sesión del Los credenciales que el agente de ventas utilizará para
4 agente de ventas. iniciar sesión en el sitio web de la compañía Librería On-
Line S. A.
Datos inicio de sesión del Los credenciales que el administrador utilizará para
5 administrador. iniciar sesión en el sitio web de la compañía Librería On-
Line S. A.
Datos de los pedidos. Todos los datos asociados al pedido de libros realizado
6
por un cliente.
Datos de los productos. El sitio web de la compañía Librería On-Line S. A.
7 Rioja (UNIR)
© Universidad Internacional de La almacenará información de los productos en el sitio
web
Datos personales. El sitio web de la compañía Librería On-Line S. A.
8 almacenará información personal relacionada con
clientes, agentes de ventas y administrador.
9 Disponibilidad del sitio El sitio web de la compañía Librería On-Line S. A. debe
Activ
7
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría Nombre:
13
datos como un usuario de Librería On-Line S. A., como un usuario de lectura y
lectura y escritura. escritura.
Capacidad de Capacidad de realizar un back up de la base de datos en
14
recuperación de datos. un proveedor de servicios externo a la compañía.
Inicio de Sesión. Sesión de acceso de un usuario al sitio web de la
15 compañía Librería On-Line S. A. El usuario podría ser un
cliente, el agente de ventas o el administrador.
Acceso al servidor de Acceso al servidor de base de datos para administrarlo y
16
base de datos. demás usuarios en función de sus permisos
Capacidad de crear Capacidad de crear usuarios en el sistema. Estos
17 usuarios. podrían ser clientes, el agente de ventas o el
administrador.
Capacidad de enviar los Capacidad de enviar los log de servidor web y el de la
18 eventos del sistema. base de datos a un servidor centralizado de log de la
compañía.
Accesos a los log del Capacidad para auditar todos los eventos auditables
18 sistema. que ocurrieron dentro del sistema de ventas de la
Librería On-Line S. A.
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.
Definir la arquitectura
8
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría Nombre:
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)
Datos de pedidos
Datos de tarjeta de crédito
El estudiante 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.
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
9
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría Nombre:
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.
Identificación de tecnologías:
10
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría Nombre:
Descomponer la aplicación
Los puntos de entrada son aquellos elementos que incorporan la entrada del
usuario y definen las interfaces a través de las que los potenciales agentes
maliciosos pueden interactuar con la aplicación con el objetivo de introducir datos
con carácter
© Universidad Internacional de La Riojamalicioso.
(UNIR) 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.
11
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría Nombre:
Puntos de entrada
ID Nombre Descripción Actores
1 Puerto HTTPS El sitio web de la compañía “Librería On-Line SA” es (1), (2), (3), (4)
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 compañía
principal de la “Librería On-Line SA”. Es el punto de entrada para
tienda todos los usuarios, tanto los maliciosos como los
que no.
1.2 Página de Los clientes y agentes de ventas utilizan esta página
Inicio de para iniciar sesión en el sitio web de la compañía
Sesión “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 las
Sesión compara con las de la base de datos.
1.3 Página de La página utilizada para realizar búsquedas.
búsqueda
1.4 Página de Página donde se configuran las preferencias de los
preferencias usuarios
1.5 Página de Página para la administración del catálogo de
administración productos
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.
12
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría Nombre:
Los puntos de salida son aquellos elementos que muestran información desde el
sistema. También incluyen procesos que extraen datos del sistema. Además,
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 S. A., 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 búsqueda de las búsquedas.
2 Página de Página donde se muestran las preferencias de los
preferencias usuarios.
3 Página de Catalogo Página que presenta los resultados de la
de producto administración 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
seguridad base de datos a una ubicación de un tercero.
6 Proceso de Proceso que realiza el almacenamiento de los
almacenamiento log eventos del sistema en el servidor centralizado
de almacenamiento de log de la compañía.
13
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría Nombre:
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
14
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría Nombre:
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://docs.microsoft.com/es-es/azure/security/develop/threat-modeling-tool
15
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría Nombre:
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 siguiente figura:
Figura 4. Vista de Diseño de la herramienta Threat Analysis and Modeling Tool 2016.Fuente: elaboración
propia.
16
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría Nombre:
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.
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
puededeser
© Universidad Internacional el siguiente,
La Rioja (UNIR) aunque el alumno lo puede modelar de forma diferente
según considere:
17
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría Nombre:
Identificación de Amenazas
Figura 6. Vista de análisis de la herramienta Threat Analysis and Modeling Tool 2016.
18
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría Nombre:
Figura 6. Relación entre las amenazas del método STRIDE y los elementos de un diagrama DFD.
Figura 7. Vista análisis Threat Analysis and Modeling Tool. Fuente: elaboración propia.
19
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría Nombre:
Aplicación de Plantilla
Una vez realizado el análisis automático de las amenazas, hay que documentarlas;
para ello se deberá rellenar la tabla siguiente. Hay rellenarla manualmente con cada
© Universidad Internacional de La Rioja (UNIR)
una de las amenazas obtenidas con la herramienta, indicando su objetivo y las
técnicas de ataque. Se adjunta un ejemplo.
20
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría Nombre:
Descripción de la
Inyección de comandos SQL
amenaza
Objetivo Componente de acceso a base de datos
El atacante introduce comandos SQL en el campo usuario utilizado para formar
Técnicas de ataque
una nueva sentencia SQL.
Patrón ataque CAPEC CAPEC-66: SQL Injection
CWE-89: Improper Neutralization of Special Elements used in an SQL Command
Código CWE (si aplica)
('SQL Injection')
Descripción de la
amenaza
Objetivo
Técnicas de ataque
Patrón ataque CAPEC
Código CWE (si aplica)
Hay que recordar que es importante identificar el patrón de CAPEC y código CWE,
pues proporcionan información para poder realizar una valoración de riesgos más
eficaz y eficiente y una mejor elección de salvaguardas y medidas de mitigación.
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
© Universidad Internacional de La Rioja (UNIR)
actuaciones a efectuar para mitigar el riesgo.
21
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría Nombre:
Figura 9. Significado de cada componente valoración del método DREAD. Fuente: elaboración propia.
22
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría Nombre:
Mitigación
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.
23
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría Nombre:
……
15
Tabla 9. Salvaguarda.
Como ayuda para seleccionar las salvaguardas a incluir en la aplicación para mitigar
las amenazas, se incluye como ayuda el siguiente dibujo (son ayudas básicas que
hay que mejorar en el ejercicio con más detalle):
24
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría Nombre:
IPSEC
Tampering with Data Integridad Procesos de AAA: hash, firma digital.
Códigos de autenticación de mensajes.
(Manipulación de 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 Confidencialida Procesos de AAA: hash, firma digital.
Protección de secretos
(Revelación de información) d
No almacenamiento de secretos.
Protocolos seguros.
Encriptado.
Denial of Service (Denegación Disponibilidad Procesos de AAA: hash, firma digital.
Listas control de acceso ACL.
de servicio)
Calidad de servicio.
Elevation of Privilege (Elevación Autorización Listas control de acceso ACL.
Control de acceso basado en roles.
de privilegios)
Trabajar con el mínimo privilegio.
Validación de entradas
Validación
25
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría Nombre:
del sistema.
Presentación de la memoria
Presentar una memoria con los resultados pedidos. Incluir el fichero con
extensión .tm7 que genera la herramienta y el informe que se puede generar con la
misma.
Extensión y formato
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. La extensión máxima de la actividad será de 10
páginas.
Rúbrica
Metodologías
de modelado Puntuación
Peso
de amenazas Descripción máxima
%
(valor real: 4 (puntos)
puntos)
Criterio 1 Relleno de la Tabla de Activos 0,5 5%
Criterio 2 Matriz de control de accesos 0,5 5%
Criterio
© Universidad Internacional 3 Rioja (UNIR)
de La Puntos de entrada de la aplicación 1 10%
Criterio 4 Puntos de salida de la aplicación 1 10%
Criterio 5 Documentación de las Amenazas 2 20%
Criterio 6 Valoración de las amenazas 2 20%
Criterio 6 Diseño de las salvaguardas 2 20%
Criterio 6 Calidad de la memoria 1 10%
26
Actividades
Asignatura Datos del alumno Fecha
Nombre de la asignatura Apellidos:
Desarrollo Seguro de
Software y Auditoría Nombre:
10 100 %
27
Actividades