Así es como los hackers están burlando la autenticación de dos factores
Sólo en 2016, por ejemplo, se robaron unos 3.000 millones de combinaciones de nombres de usuario y contraseñas. Por eso, la implementación de la autenticación de dos factores (2FA) se ha venido imponiendo como una precaución necesaria. De manera general, la 2FA tiene como objetivo proporcionar una capa adicional de seguridad al sistema, enviando un código personalizado al usuario para verificar el inicio de sesión.
Y las cifras han avalado su éxito, algunos estudios señalan que los proveedores que tienen activada la 2FA bloquean alrededor del 99,9% de los ataques automatizados. El problema es que, como ocurre con cualquier solución de ciberseguridad, los hackers están encontrando formas de burlarla. No es tarea fácil, pero algunos lo están consiguiendo interceptando los códigos de un solo uso que se envían en forma de SMS al smartphone del usuario. Por ejemplo, se ha demostrado que mediante estafas de SIM Swapping (intercambio de SIM) es posible eludir la 2FA; este método implica que un atacante convenza al proveedor de servicios móviles de que él es la víctima y luego solicite que el número de teléfono del propietario se cambie a un dispositivo de su elección.
Pero no es el único método. Los códigos de un solo uso basados en SMS pueden ser comprometidos a través de herramientas de proxy inverso, como Modlishka. Un proxy inverso es un tipo de servidor que recupera recursos en nombre de un cliente desde uno o más servidores distintos. Estos recursos se devuelven después al cliente como si se originaran en ese servidor Web. Pero algunos hackers lo están modificando para reconducir el tráfico a páginas de inicio de sesión y a operaciones de phishing; en esos casos, el hacker intercepta la comunicación entre un servicio auténtico y una víctima, y rastrea (y registra) las interacciones de las víctimas con el servicio, incluidas las credenciales de inicio de sesión.
Ataques vía Play Store
Además de estas vulnerabilidades, expertos en seguridad han encontrado otros tipos de ataques contra la 2FA basados en SMS. Uno en particular aprovecha una función proporcionada en Google Play Store para instalar automáticamente aplicaciones desde la web en dispositivos Android. El atacante obtiene acceso a las credenciales para iniciar sesión en tu cuenta de Google Play en un portátil (aunque en teoría tienes que recibir un aviso a tu smartphone), para después operar en tu teléfono cualquier aplicación que desee.
Una variante similar de este sistema implica el uso de una aplicación especializada diseñada para sincronizar las notificaciones del usuario en diferentes dispositivos. Los atacantes pueden aprovechar una combinación comprometida de correo electrónico y contraseña asociadas a una cuenta de Google para instalar una aplicación de duplicación de mensajes accesible gracias a Google Play. Y, una vez instalada la aplicación, el atacante puede utilizar técnicas de ingeniería social para convencer al usuario de que habilite los permisos necesarios para que la app funcione correctamente.
Gestor de contraseñas
Aunque deben cumplirse varias condiciones para que los ataques mencionados funcionen, estos demuestran vulnerabilidades en los métodos 2FA basados en SMS. Y lo que es más importante, estos ataques no requieren capacidades técnicas de alto nivel. Simplemente saber cómo funcionan estas aplicaciones específicas y cómo utilizarlas de forma inteligente (con ingeniería social) para atacar a una víctima.
Para permanecer protegido en línea, debes comprobar si tu línea de defensa inicial es segura. En primer lugar, comprueba tu contraseña para ver si está comprometida. Hay varios programas de seguridad que te permiten hacerlo. Y asegúrate de que utilizas una contraseña bien elaborada. El uso de un gestor de contraseñas es una forma eficaz de hacer más segura la primera línea de autenticación, que es el inicio de sesión con nombre de usuario y contraseña. También es recomendable que limites el uso de SMS como método de 2FA si puedes; en su lugar puedes utilizar códigos de un solo uso basados en la aplicación, como por ejemplo a través de Google Authenticator. En este caso, el código se genera dentro de la aplicación en tu dispositivo, en lugar de enviártelo.