Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

STRIDE aplicado a una API en la nube

5 tareas · 40 min · Principiante

STRIDE es un mnemónico de seis categorías de amenaza que sirve para hacer preguntas ordenadas sobre cada elemento de un diseño: suplantación, manipulación, repudio, divulgación de información, denegación de servicio y elevación de privilegios. Cada categoría rompe una propiedad de seguridad, y casi todas se dejan ver en el contrato de una API: qué exige cada operación para dejarte entrar, qué comprueba antes de entregar un dato, si limita el ritmo de las peticiones y si deja rastro de quién la usó. En esta sala lees el contrato de la API de pedidos de Distribuidora Higuerón y asignas categorías a lo que encuentras. Todo es lectura de un contrato de ejemplo.

0 de 5 · 0%

Objetivo de la sala

STRIDE es un mnemónico de seis categorías de amenaza que sirve para hacer preguntas ordenadas sobre cada elemento de un diseño: suplantación, manipulación, repudio, divulgación de información, denegación de servicio y elevación de privilegios. Cada categoría rompe una propiedad de seguridad, y casi todas se dejan ver en el contrato de una API: qué exige cada operación para dejarte entrar, qué comprueba antes de entregar un dato, si limita el ritmo de las peticiones y si deja rastro de quién la usó. En esta sala lees el contrato de la API de pedidos de Distribuidora Higuerón y asignas categorías a lo que encuentras. Todo es lectura de un contrato de ejemplo.

STRIDE aparece en la documentación del Threat Modeling Tool de Microsoft con estas seis categorías. Cada una se opone a una propiedad que se quiere mantener:

  • Spoofing (suplantación) rompe la autenticidad: alguien se hace pasar por otro.
  • Tampering (manipulación) rompe la integridad: alguien altera datos.
  • Repudiation (repudio) rompe la responsabilidad demostrable: alguien niega lo que hizo y no hay con qué probarlo.
  • Information Disclosure (divulgación) rompe la confidencialidad.
  • Denial of Service (denegación de servicio) rompe la disponibilidad.
  • Elevation of Privilege (elevación de privilegios) rompe la autorización: alguien consigue más permiso del que le toca.

Se aplica a cada elemento y a cada flujo del diagrama, preguntando por cada categoría si el diseño ya la cubre.

Responde para continuar

Una API acepta confirmaciones de pago de cualquiera que conozca su dirección, sin comprobar que vienen de la pasarela. ¿Qué categoría de STRIDE describe el envío de confirmaciones falsas?

Ver pista de ayuda

Piensa en qué propiedad se rompe cuando el receptor no puede saber quién es el emisor.

Autenticar no basta: una operación que recibe un identificador de objeto debe comprobar que el objeto pertenece a quien lo pide. Si solo comprueba que el token es válido, cualquier usuario autenticado puede pedir los objetos de otros cambiando el número. Es un caso típico de divulgación de información, y se ve en el contrato como un «no» en la columna de pertenencia.

Abre el laboratorio y lee api-de-pedidos.txt. Busca la operación que exige token pero no comprueba la pertenencia del objeto.

Responde para continuar

¿Qué operación exige token y no comprueba que el pedido pertenezca a quien lo pide?

Ver pista de ayuda

Filtra primero por autenticación con token y luego por la columna «comprueba pertenencia».

Un límite de peticiones por cliente es el control básico contra la denegación de servicio causada por picos, errores de un cliente o abuso. Una operación sin límite se puede llamar sin freno, y cada llamada cuesta cómputo, base de datos y dinero.

Cuenta en el contrato las operaciones cuyo límite de peticiones es «sin límite».

Responde para continuar

¿Cuántas operaciones de la API no tienen ningún límite de peticiones? Escribe solo el número.

Ver pista de ayuda

Recorre la columna del límite y cuenta solo las filas donde dice que no hay.

La combinación más delicada en un contrato es una operación que cambia datos y no pide ningún tipo de autenticación. Aquí caben a la vez suplantación y manipulación: quien llama no se identifica y lo que envía queda como verdad. Hay una operación que no se autentica porque es el inicio de sesión o el catálogo público y no modifica nada; esas no son el problema.

Busca la operación que modifica datos y no exige autenticación.

Responde para continuar

¿Qué operación modifica datos sin exigir ninguna autenticación?

Ver pista de ayuda

Cruza la columna de autenticación con la última columna, la que dice si modifica datos.

El repudio no ocurre por maldad del sistema, sino por falta de evidencia: si una operación no registra la identidad de quien la pidió, nadie puede demostrar después quién la hizo, y quien la hizo puede negarlo. El control típico no es técnico complicado: es dejar un registro con identidad, hora y resultado en un lugar que el usuario no pueda alterar.

Responde para continuar

Una operación que cancela pedidos no deja registro de quién la ejecutó. ¿Qué amenaza STRIDE abre ese diseño?

Ver pista de ayuda

Fíjate en qué falta exactamente: no es el permiso ni la integridad, es la prueba.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad