miércoles, mayo 03, 2017

WhatsApp y la paradoja de la SIM como Verificación en 1 paso

En WhatsApp, no hace demasiado tiempo, se incluyó la posibilidad de configurar Verificación en dos pasos utilizando un PIN. Es decir, al sistema de autenticación basado en mensajes OTP enviados por SMS  o por mensaje de voz, se añadió la posibilidad de utilizar una contraseña para poder iniciar sesión como segundo paso de la autenticación en dos pasos para proteger tu cuenta de WhatsApp contra el robo de la misma y desalentar a los que desean espiar WhatsApp. Pero este método de proteger la cuenta es algo bastante poco común en los servicios de Internet.

Figura 1: WhatsApp y la paradoja de la SIM como Verificación en 1 paso

Como ya sabéis, en la mayoría de los servicios de Internet se utiliza un usuario y una contraseña. Dentro de la visión de una identidad, esto tiene un factor de universalidad y de usabilidad muy alto, pero de robustez y cumplimiento legal en entornos críticos, muy bajo. Los usuarios y contraseñas se roban con facilidad en los lugares en los que se introducen, pero pueden ser utilizados desde cualquier sitio y todo el mundo entiende cómo funcionan.

Figura 2: Configuración de Verificaicón en dos pasos
en las opciones de cuenta de WhatsApp

En el caso de WhatsApp, el primer factor de autenticación es tu tarjeta SIM a la que se envía un token OTP cada vez que inicias la sesión en un nuevo dispositivo, o hay un cambio en el terminal que hace que cambie su huella. Utilizar la SIM es más robusto, porque a pesar de que existen ataques a la SIM, no es tan sencillo de robar como un usuario y una contraseña. Se necesita hacer un ataque mucho más elaborado y mucho menos silencioso, ya que el dueño del terminal detecta que su cuenta de WhatsApp ha sido usurpada. 

Por otro lado, es menos usable, ya que no puedes tener abiertas las sesiones en todos los dispositivos que quieras, y siempre deben ser aprobados por el terminal donde tienes la SIM. Incluso si utilizas WhatsApp Web o WhatsApp para Windows o WhatsApp para macOS, estos necesitan que estén aprobadas las sesiones por la sesión principal, y que además esté encendido el terminal, ya que es este el que envía el tráfico cifrado del dispositivo al cliente de WhatsApp Web, para macOS o para Windows.

Figura 3: Activar la Verificación en dos pasos en WhtasApp

Es decir, utilizar la SIM es más robusto pero al mismo tiempo un poco menos usable y un poco menos universal que utilizar solo usuario y contraseña - una cuenta, una SIM -. Ahora, con la aplicación de la Verificación en dos pasos utilizando PIN y un correo electrónico de recuperación, la cosa es aún más segura todavía y puede que mejor.

¿SIM como primero, como segundo o como recuperación de passwords?

Si tu utilizas un usuario y una contraseña como primer factor de autenticación y la SIM del número para recibir el SMS en caso de que la contraseña se ha olvidado o perdido, entonces tu SIM es como si fuera tu primer factor de autenticación, tal y como os expliqué en el artículo "Cuando los SMS son realmente los first factor of authentication". No es un caso comparable a tener una verificación en dos pasos, pero tiene su importancia en la paradoja que os vengo a contar.

Figura 4: Configurar un PIN como Verificación en dos pasos

Si tu utilizas el usuario y la contraseña como primer factor de autenticación, y la SIM como segundo factor de autenticación - que no es lo mismo que solo utilizarlo para restablecer la password - entonces puede darse el caso de que te roben el usuario y la password, y se busquen mañas para robar el SMS (o el token TOTP si no llega por SMS) a posteriori. De hecho, muchas víctimas reciben el OTP porque les han robado la password y no saben por qué lo han recibido, y siguen utilizando la misma contraseña hasta que con algún ataque de ingeniería social consiguen que la víctima les de el OTP, o preparan un ataque de SIM Swapping, o incluso un APT utilizando SDR-RTL en la ubicación física de la víctima para robarle el token OTP que le llegue. Cualquiera de los ataques dirigidos a la SIM de los que ya os hablé.

Figura 5: Configurar correo electrónico para recuperar el PIN

Alguien podría pensar que esto es al revés en WhatsApp con este sistema, es decir, si el atacante tiene que robar primero la autenticación basada en la SIM y luego el PIN de la password, la víctima se daría cuenta de que la cuenta ya no le funciona por culpa de la SIM y podría alertarse. Pero los atacantes no van a caer en este error básico sabiendo cómo funciona WhatsApp ahora con la Verificación en dos pasos

Figura 6: Solicitud de PIN para activar una cuenta de WhatsApp
protegida co Verificación en dos pasos

Si un atacante tuviera que robar una cuenta de WhatsApp ya no debe preocuparse de robar solo la cuenta vía robo de SIM. Debería previamente robar el PIN que se utiliza como segundo factor de autenticación o la cuenta de correo electrónico con la que se recupera el PIN. Si no lo hiciera, entonces la víctima se daría cuenta muy rápidamente y el atacante sería detectado. 

La paradoja de la  SIM

Sin embargo, si la víctima tiene una cuenta de WhatsApp que tiene una Verificación en dos pasos, que está protegida por un PIN, y este PIN se puede recuperar por medio de una cuenta de correo electrónico que utiliza como forma de recuperar la contraseña la SIM, entonces, la Verificación en dos pasos de WhatsApp acabaría de convertirse en Verificación en 1 paso. Bonita paradoja.

Figura 7: Restablecimiento de contraseña de cuenta de Gmail usando SMS

Este error puede sucederte, si no te has fijado en los detalles de la seguridad de tus cuentas. Y puedes caer en él solo porque la cuenta de WhatsApp y la de correo configuran la seguridad de forma inversa. Una pide el número de teléfono para autenticarse junto con un OTP más un PIN que se recupera por correo electrónico. La otra pide un usuario de e-mail más una password que se recupera por SMS. Así que, como conclusión de esta diatriba, deberías llevarte los siguientes puntos para asegurarte de no haber caído en esta paradoja.
1.- Configura la Verificación en dos pasos de WhatsApp sí o sí. 
2.- Configura como cuenta de correo electrónico una con verificación en dos pasos
3.- Configura una cuenta de correo electrónico que no utilice la misma SIM para restablecer la contraseña bajo ningún concepto. 
4.- O al menos, que la cuenta de correo electrónico que uses no sea conocida.
Saludos Malignos!

2 comentarios:

Virtualrol dijo...

Excelente Chema, muy interesante

Unknown dijo...

Buenas noches. 03 de Mayo. Tema Whatsapp. Casualidad ha querido si no me equivoco que este post coincida con la caída masiva que hay en whatsapp ahora mismo?? Creo que desde hace 51 minutos ya. O igual me equivoco y me emociono comentandolo aqui... Hay reports. A ver que nos cuentan mañana... https://howtoscomos.blogspot.com just 4 clicks. Click!

Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares