Account Takeover Vulnerability
Vulnerabilidad de Account Takeover
Descripción
La vulnerabilidad de apropiación de cuenta (Account Takeover) hace referencia a debilidades técnicas en los mecanismos de autenticación o autorización que permiten, de manera directa, que personas no autorizadas tomen el control de las cuentas de usuario en diversas plataformas online. Estas vulnerabilidades, al ser explotadas por actores maliciosos, logran evadir las credenciales legítimas del usuario, concediendo un acceso no autorizado a las cuentas. Los ataques de Account Takeover suponen riesgos considerables, los cuales incluyen pérdidas financieras, robo de identidad, filtración de datos y daño a la reputación.
Vulnerabilidades Técnicas Comunes:
-
Cross-Site Scripting (XSS): Las vulnerabilidades XSS consienten que los atacantes inyecten scripts maliciosos en las páginas web, los cuales son ejecutados posteriormente por los navegadores de los usuarios. Al explotar las vulnerabilidades XSS, los atacantes pueden sustraer cookies de sesión o capturar la información introducida por el usuario, conduciendo al Account Takeover.
-
Cross-Site Request Forgery (CSRF): Las vulnerabilidades CSRF capacitan a los atacantes para engañar a los usuarios autenticados con el fin de que ejecuten acciones involuntarias en un sitio web objetivo. Mediante la creación de solicitudes maliciosas que se ejecutan dentro del contexto de la sesión de la víctima, los atacantes pueden apoderarse de las cuentas de usuario.
-
Fijación de sesión (Session Fixation): Las vulnerabilidades de fijación de sesión otorgan a los atacantes la capacidad de configurar o manipular los identificadores de sesión con antelación al inicio de sesión por parte de un usuario. Al forzar a los usuarios a utilizar un identificador de sesión predeterminado, los atacantes pueden conseguir un acceso no autorizado a sus cuentas.
-
Referencias directas inseguras a objetos (IDOR): Las vulnerabilidades IDOR acontecen cuando una aplicación expone identificadores internos, tales como claves de bases de datos, en su interfaz de usuario. Los atacantes tienen la posibilidad de manipular estas referencias para acceder a recursos o cuentas no autorizados.
-
Recuperación de contraseñas insegura: Los mecanismos deficientes de recuperación de contraseñas son susceptibles de explotación para obtener acceso no autorizado a las cuentas de usuario. Los atacantes pueden eludir o alterar los procesos de recuperación de cuenta, valiéndose, por ejemplo, de enlaces de restablecimiento de contraseña vulnerables o de preguntas de seguridad predecibles.
-
Implementación inadecuada de Transport Layer Security (TLS): Las configuraciones TLS débiles, en las que se incluyen protocolos obsoletos o suites de cifrado, pueden exponer las credenciales del usuario en el transcurso de la transmisión. Los atacantes están en disposición de interceptar o manipular los canales de comunicación con la finalidad de capturar las credenciales de inicio de sesión y conseguir acceso no autorizado.
-
Implementaciones vulnerables de Single Sign-On (SSO): Los fallos inherentes a las implementaciones de SSO, tales como una validación inapropiada o una integración débil, pueden desembocar en un Account Takeover a lo largo de múltiples plataformas. Los atacantes que logran comprometer una cuenta pueden valerse de ella para conseguir un acceso no autorizado a otras cuentas vinculadas.
Recomendación
A fin de mitigar los riesgos inherentes a las vulnerabilidades de Account Takeover, resulta primordial la implementación de las siguientes recomendaciones de seguridad:
-
Validación de la entrada y codificación de la salida: Valide y purifique en todo momento las entradas del usuario con el objetivo de prevenir ataques de inyección, como es el caso del Cross-Site Scripting (XSS). Emplee codificación de salida para garantizar que los datos provistos por el usuario se muestren adecuadamente sin dar lugar a la ejecución de código malicioso.
-
Aplicar una gestión estricta de las sesiones: Genere identificadores de sesión que se caractericen por su fortaleza y singularidad para cada sesión de usuario. Implante mecanismos de almacenamiento seguro de sesiones y ponga en práctica el establecimiento de tiempos de expiración de la sesión para reducir el riesgo asociado al secuestro de sesión (session hijacking).
-
Implementar autenticación multifactor (MFA): Introduzca mecanismos de MFA, tales como contraseñas de un solo uso (OTP), medidas biométricas o tokens de hardware, para dotar de una capa añadida de autenticación. La MFA incrementa de manera sustancial la seguridad de la cuenta al exigir a los usuarios que aporten diversos factores para proceder a la verificación de su identidad.
-
Implementar bloqueos de cuenta y protección contra fuerza bruta: Incorpore mecanismos cuya función sea el bloqueo de las cuentas de usuario tras haberse superado un número determinado de intentos fallidos de inicio de sesión. Haga uso de técnicas como CAPTCHA o intervalos de retardo entre los distintos intentos de inicio de sesión para eludir los ataques automatizados por fuerza bruta.
-
Hacer cumplir políticas de contraseñas sólidas: Reclame a los usuarios la creación de contraseñas fuertes y complejas que incorporen una mezcla de letras mayúsculas y minúsculas, números y caracteres especiales. Aplique reglas relativas a la complejidad de las contraseñas e imponga alteraciones periódicas de las mismas en aras de mitigar el riesgo de sufrir ataques basados en contraseñas.
-
Implementar autenticación basada en riesgos: Sírvase de técnicas de autenticación basadas en riesgos destinadas a analizar distintos factores, como la dirección IP, la geolocalización y el proceder del usuario, con objeto de calibrar la probabilidad de que se esté produciendo un intento de Account Takeover. Ponga en marcha medidas de seguridad adicionales, tales como la autenticación progresiva (step-up authentication) o un análisis exhaustivo, en aquellos casos en los que se detecte algún tipo de actividad sospechosa.
-
Hacer uso del monitoreo de actividad de cuentas y de alertas: Despliegue sistemas encaminados a supervisar y analizar la actividad de las cuentas de usuario, considerando aspectos como los patrones de inicio de sesión, las direcciones IP o las ubicaciones de acceso. Configure alertas o notificaciones con la misión de avisar con presteza a los usuarios y administradores ante cualquier actividad sospechosa en la cuenta, o ante eventuales intentos de inicio de sesión desde dispositivos o localizaciones no reconocidos.
-
Implementar Device Fingerprinting (huella digital del dispositivo): Recurra a la utilización de técnicas relativas a la huella digital del dispositivo para proceder a reconocer y rastrear qué dispositivos se emplean para acceder a las cuentas. Detecte irregularidades en cuanto a los atributos de los dispositivos concierne, como, por ejemplo, configuraciones en los navegadores o en los identificadores de dispositivos, todo ello orientado a la detección de eventuales intentos de Account Takeover.
Enlaces
Estándares
- CWE_TOP_25:
- CWE_862
- PCI_STANDARDS:
- REQ_2_2
- REQ_6_2
- REQ_6_3
- REQ_6_4
- REQ_11_3
- SOC2_CONTROLS:
- CC_2_1
- CC_4_1
- CC_7_1
- CC_7_2
- CC_7_4
- CC_7_5
- HIPAA_CONTROLS:
- SECURITY221
- SECURITY212
- SECURITY213