¿El token de seguridad multipropósito es una vulnerabilidad de seguridad?

5

Nuestra aplicación tiene el concepto de tokens de seguridad. Se trata de cadenas criptográficamente seguras generadas aleatoriamente que se utilizan al generar correos electrónicos de restablecimiento de contraseñas, así como confirmaciones de correo electrónico para otras acciones. Los tokens son de un solo uso y caducan después de un día. Los tokens proporcionan dos piezas clave de información. Identifican una cuenta específica y también demuestran que la persona que posee el token es el propietario de esa cuenta.

Actualmente nuestra aplicación no asigna un uso específico para cada token, un token generado para restablecer una contraseña se puede usar para confirmar otra acción, y viceversa.

Suponiendo que el token se mantenga seguro, cuáles serían las posibles fallas de seguridad, si las hubiera, y si nuestros tokens de seguridad se restringieran al propósito para el que se generaron originalmente (por ejemplo, solo un token de restablecimiento de contraseña puede restablecer una contraseña, etc.) )

    
pregunta jduncanator 03.11.2016 - 23:40
fuente

1 respuesta

0

El tipo de problema que puedo prever con esto es que es vulnerable al siguiente tipo de ataque:

  1. El atacante hace que su sistema envíe un correo electrónico de restablecimiento de contraseña al usuario. Dicho correo electrónico contiene un token de seguridad válido más algunos contexto , por ejemplo:
    • decirle al usuario de qué se trata;
    • Instrucciones para el usuario sobre cómo completar con la acción;
    • URL para que el usuario haga clic para completar la acción.
  2. El atacante intercepta este correo electrónico y lo adultera para mantener el token de seguridad, pero altera el contexto para su ventaja.
  3. El usuario recibe el correo electrónico falsificado, actúa en el contexto adulterado y, por lo tanto, realiza sin querer alguna acción que el atacante pretendía que hiciera.

Si se trata de un ataque realista o fructífero, depende mucho de los detalles de su sistema. En cualquier caso, vincular los tokens a las acciones que deben realizar elimina este tipo de riesgo.

    
respondido por el Luis Casillas 04.11.2016 - 00:23
fuente

Lea otras preguntas en las etiquetas