ISPC-2024-GrupoEstudio / GrupoEstudio-Mobile2024

1 stars 0 forks source link

TC034 Política de Reintento de Contraseñas Seguridad + TC028 :Validar que el sistema proteja contra ataques de fuerza bruta en el inicio de sesión. Seguridad #129

Closed TauTech99 closed 4 weeks ago

TauTech99 commented 1 month ago

Reporte de Bug 004 ID del Bug: BUG-TC034 + TC028-004 Título: La política de reintento de contraseñas no está implementada. Severidad: Media Prioridad: Alta Estado: Abierto Versión Afectada: v1.0 Fecha del Informe: 30/10/2024 Reportado por: Taoufik Saidi

Descripción del Problema: Se ha detectado que el sistema no implementa una política de reintento de contraseñas. Los usuarios pueden intentar múltiples veces ingresar una contraseña incorrecta sin recibir bloqueos temporales ni desafíos adicionales (como un captcha). Esta falta de control compromete la seguridad del sistema, permitiendo potencialmente ataques de fuerza bruta.

Pasos para Reproducir: Iniciar la aplicación móvil Pet Boutique. Intentar iniciar sesión con un nombre de usuario válido y una contraseña incorrecta. Repetir el proceso cinco veces consecutivas con contraseñas erróneas. Intentar nuevamente tras el quinto intento fallido. Observar si el sistema permite nuevos intentos sin restricción o aplica alguna política de bloqueo.

Resultado Esperado: El sistema debe limitar el número de intentos fallidos de contraseña. Al alcanzar el límite establecido, el sistema debería: Bloquear temporalmente los intentos adicionales durante un tiempo definido. O presentar un captcha u otro desafío para permitir nuevos intentos.

Resultado Real: El sistema permite intentos de contraseña ilimitados sin aplicar ninguna política de bloqueo o restricción. Esto compromete la seguridad del sistema.

Evidencia:

Entorno: Sistema Operativo: Android 14 Versión de la App: v1.0 Dispositivo: Samsung Galaxy S10 Conexión: Wi-Fi

Posible Impacto: Seguridad: Permitir intentos ilimitados de contraseña abre la posibilidad a ataques de fuerza bruta. Experiencia del Usuario: Falta de mecanismos de seguridad puede generar desconfianza entre los usuarios. Regulaciones: La ausencia de esta política podría ser contraria a los estándares de seguridad establecidos.

Etiquetas:

Seguridad #Login #PolíticaDeContraseña #ManualTesting

Comentarios: Este problema puede estar relacionado con una falta de lógica en el backend para gestionar el número de intentos fallidos. Se recomienda implementar una política que limite los intentos e incluya retrasos progresivos o captchas para nuevos intentos. También se sugiere verificar si esta funcionalidad está deshabilitada por error o no fue incluida en los requerimientos iniciales.

Fecha de Cierre (Prevista): 30/10/2024 Asignado a: o equipo responsable

FlorCastelucci commented 4 weeks ago

Informe de Resolución de Bug 004

ID del Bug: BUG-TC034 + TC028-004 Título: La política de reintento de contraseñas no está implementada Estado: Cerrado Fecha de Resolución: 31/10/2024 Resuelto por: Florencia Castelucci

Descripción del Problema: La aplicación no contaba con una política de reintento de contraseñas, permitiendo intentos ilimitados de ingreso de contraseñas incorrectas sin aplicar bloqueos temporales ni desafíos adicionales (como un captcha). Esta falta de control comprometía la seguridad de la aplicación, ya que abría la posibilidad a ataques de fuerza bruta.

Causa Raíz: Se identificó que en la fase de desarrollo inicial no se implementó una lógica de restricción de intentos fallidos de inicio de sesión. Esto permitía que los usuarios realizaran intentos ilimitados sin restricciones.

Acciones Tomadas: Implementación de Política de Reintento de Contraseñas: Se desarrolló una política que limita los intentos de contraseña fallidos a cinco. Tras el quinto intento fallido, el sistema desactiva el botón de "Login" por un período de cinco minutos. Se añadió un contador visual que informa al usuario del tiempo de espera restante, de 5:00 a 00:00, hasta que el botón se habilite nuevamente. Contador de Intentos Fallidos: Se implementó un contador que incrementa de 1 a 5 con cada intento fallido de inicio de sesión. Este contador se reinicia automáticamente tras el período de espera de cinco minutos o al ingresar correctamente la contraseña. Pruebas Manuales y de Temporización: Se realizaron pruebas manuales para verificar que el contador incrementa correctamente con cada intento fallido. Se validó que el bloqueo del botón de "Login" se active tras el quinto intento fallido y que el temporizador regresivo funcione de manera adecuada. Se probaron diferentes dispositivos para asegurar la consistencia del temporizador y el correcto funcionamiento de la política de reintentos.

Evidencia: Se adjuntan capturas de pantalla que muestran:

El contador de intentos fallidos en acción.

Image

La pantalla de inicio de sesión con el temporizador de 5 minutos visible tras el quinto intento fallido.

Image

Entorno de Prueba: Versión de la App: v1.0 Dispositivo: Motorola G20 Conexión: Estable

Impacto de la Solución: La implementación de esta política de reintentos mejora la seguridad de la aplicación al: Reducir la Vulnerabilidad a Ataques de Fuerza Bruta: La restricción de intentos fallidos protege la aplicación contra intentos consecutivos de ingreso no autorizado. Mejorar la Experiencia del Usuario: El contador visual informa al usuario sobre el tiempo de espera, manteniéndolo informado y evitando frustraciones. Cumplir con los Estándares de Seguridad: Esta medida alinea la aplicación con las prácticas recomendadas de seguridad para autenticación. Etiquetas:

Seguridad #Login #PolíticaDeContraseña #ManejoDeErrores #ExperienciaDeUsuario #ManualTesting

Comentarios Finales: El bug ha sido resuelto exitosamente. Se recomienda incluir esta lógica de reintentos en el manual de desarrollo y monitorear regularmente el comportamiento del sistema para asegurar que la política de bloqueo funcione correctamente en todas las versiones futuras.

Fecha de Cierre:3/11/2024 Cerrado por: Equipo de QA