Google Authenticator NO te avisa de que te han robado tu contraseña

Estándar
Últimamente me han llegado más mensajes sobre problemas de espionaje en cuentas de correo de Gmail de los que habitualmente recibo. A todos ellos, lo primero que les recomiendo es que instalen Google Authenticator para evitar riesgos innecesarios de que alguien acceda a tu cuenta al mismo tiempo que tú porque haya conseguido hacerse con las contraseña.

 

Con Google Authenticator alguien podría tener la contraseña, entrar, ver que le está solicitando el token OTP y quedarse ahí. El atacante seguiría teniendo la contraseña, que podría estar usando en otras identidades sin que lo supiera la víctima, y además tendría tiempo para preparar un ataque al OTP de Google Authenticator para robarlo. 
 
Figura 1: Se ha accedido con usuario y contraseña, y ahora se pide el OTP
de Google Authenticator. El dueño de la identidad no recibe ninguna alerta
 
Por supuesto no es tarea fácil, pero sí que es posible, sobre todo teniendo en cuenta que está asociado con una semilla que va con la instalación. No hay cuenta, ni sesión que caduque, y se puede hacer backup del terminal móvil completo con la app deGoogle Authenticator y restaurar en otro dispositivo para continuar teniendo elSegundo Factor de Autenticación funcionando sin ningún problema. Evidentemente, para ello deberías hackear el mismo sistema donde esté el backup del terminal para poder robarlo y restaurar el sistema operativo del backup con Google Authenticatoren otro dispositivo.
 
En el caso de que el usuario tuviera un terminal iPhone, podrías elegir entre elbackup en iTunes y el backup en iCloud, tal y como se explica en el libro de hacking iOS, pero podría ser que tuvieras que lidiar también con las claves de cifrado del backup de iTunes o con el sistema de Verificación en dos pasos que instaló Apple en iCloud recientemente. Nadie dijo que esto fuera a ser sencillo.
 
Pensando sobre todas estas cosas, una de las cosas que salta a la vista es que el código OTP de Google Authenticator tiene un tiempo de vida de 30 segundos, y que además, no cambia si lo utilizas. Es decir, si cuando el código OTP de Google Authenticator tiene aún 25 segundos de vida es utilizado para iniciar una sesión, en la pantalla sigue viéndose el mismo.
 
Es por eso que pensé en que tal vez podría hacerse un robo del código para conseguir utilizarlo dos veces en la apertura de la sesión, por lo que probé manualmente a iniciar dos sesiones con el mismo token. Cuando se introduce el mismo token OTPde Google Authenticator el resultado fue el normal, que sólo funcione el primer uso del token, ya que es un OTP (One-Time Password).
 
Figura 2: El segundo uso del OTP, aunque esté vivo, ya no vale.
 
La respuesta es que Google Authenticator es una implementación de un sistemaTime-Based One-Time Password, descrito en el RFC 6238, por lo que cuando se inicia sesión, no se puede utilizar otra vez ese token y hay que esperar para iniciar otra sesión hasta que caduque el OTP a los 30 segundos donde volverá a generarse uno nuevo.
 
Figura 3: Explicación del funcionamiento experimentado
 
El uso de Time-Based One-Time Password es por intentar encontrar el equilibrio entre seguridad y usabilidad que siempre se busca en todos los sistemas de protección para que la gente los utilice.
 
Alertas de Acceso y Alertas de código OTP incorrecto
 
En Google Authenticator sigo echando en falta una de las características que más me gusta de Latch cuando se usa como un Segundo Factor de Autenticación enframeworks de Internet o en tu propio Windows, y es el aviso instantáneo de que alguien tiene tu clave, tanto si no consigue entrar, como si consigue entrar porque tú has decidido dejar el Latch abierto. En cuanto alguien pone tu contraseña correcta, es posible saberlo al instante con Latch.

Figura 4: Alerta de “Se ha producido un acceso a tu cuenta” con Latch

 

En Google Authenticator se da una situación muy curiosa. Si la persona que tiene la contraseña e inicia sesión, pone un código OTP erróneo, entonces quedará reflejado en la lista de Actividad Reciente de la zona de seguridad de la cuenta de Google.
 
Figura 5: En la Actividad de la cuenta de Google solo se recogen los eventos de introducción de
código OTP erróneos. No se recogen los eventos en los que el atacante NO introduce ningún código.
 
Pero si la persona que ha introducido el usuario y la contraseña correcta no introduce nada cuando aparece la pantalla de introducción de código OTP, entonces no quedará nada reflejado en el log, algo que no tiene demasiado sentido. Es decir, si ha habido un intento de sesión en el que se ha introducido correctamente la password… ¿no creéis que es suficientemente relevante como para que aparezca en la lista de accesos de seguridad? Google por ahora piensa que no.
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s