Investigadores descubrieron una vulnerabilidad crítica en el método de autenticación multifactor (MFA) de Microsoft Azure, que les permitió acceder no autorizado a las cuentas de usuarios. Esta brecha, ya corregida por Microsoft, expuso los más de 400 millones de puestos pagos de Microsoft 365 a una posible apropiación de cuentas.
Descubrimiento y análisis
Los investigadores de Oasis Security identificaron la falla, que se debía a la ausencia de un límite de frecuencia para el número de intentos fallidos de inicio de sesión con MFA. Esta vulnerabilidad permitió a los atacantes realizar múltiples intentos simultáneamente sin recibir alertas por parte de los propietarios de las cuentas.
El método utilizado, denominado AuthQuake, consistió en la creación rápida de nuevas sesiones y la enumeración de códigos. Tal Hason, ingeniero de investigación de Oasis, explicó que esta técnica permitió demostrar una tasa muy alta de intentos que agotaría rápidamente el número total de opciones para un código de 6 dígitos.
Funcionamiento del MFA y la brecha
Al iniciar sesión en una cuenta de Microsoft, los usuarios proporcionan su correo electrónico y contraseña, seguido de un método MFA preconfigurado. En este caso, el código se envía a través de otra forma de comunicación para facilitar el inicio de sesión.
Hason destacó que uno podría ejecutar muchos intentos simultáneamente sin recibir alertas por parte del sistema. Esta característica hizo que la vulnerabilidad y la técnica de ataque fueran peligrosamente de bajo perfil.
Corrección y medidas tomadas
Oasis informó a Microsoft sobre el problema, que reconoció su existencia en junio y lo solucionó de forma permanente el 9 de octubre. Según Hason, Microsoft introdujo un límite de velocidad mucho más estricto que entra en vigencia después de una serie de intentos fallidos; este límite estricto dura alrededor de medio día.
Relación con RFC-6238
Otro factor que permitió eludir la MFA fue el tiempo adicional disponible para adivinar un código único. Según RFC-6238, se recomienda que los códigos caduquen después de 30 segundos; sin embargo, la mayoría de las aplicaciones MFA brindan un período de gracia corto y permiten que estos códigos sean válidos por más tiempo.
Hason explicó que esto significa que un solo código TOTP puede ser válido durante más de 30 segundos. Las pruebas del equipo de investigación mostraron una tolerancia de alrededor de tres minutos para un solo código, lo cual se extiende 2,5 minutos más allá de su vencimiento.
Mejores prácticas para una MFA segura
Aunque la MFA sigue siendo considerada como una de las formas más seguras de proteger las contraseñas de las cuentas en línea, la investigación demuestra que ningún sistema es completamente a prueba de atacantes. Oasis recomendó que las organizaciones sigan utilizando aplicaciones de autenticación o métodos fuertes sin contraseñas para proteger las cuentas de los usuarios.
Otras mejores prácticas incluyen la higiene básica de las contraseñas, como se ha recomendado durante años. Además, cualquier organización que utilice MFA debe agregar una alerta de correo para notificar a los usuarios sobre los intentos fallidos de MFA, incluso si no les notifican cada intento fallido de inicio de sesión con contraseña.
Los diseñadores de aplicaciones MFA también deben asegurarse de incluir límites de velocidad que no permitan intentos indefinidos de inicio de sesión y bloquear una cuenta después de un cierto tiempo para limitar los ataques o evasiones exitosas de MFA.