La verificación en dos pasos con apps de autenticación es uno de los métodos más seguros para proteger nuestras cuentas, o eso creíamos. Cuentan en Ars Technica que un grupo de investigadores de varias universidades americanas han descubierto un nuevo tipo de ataque en Android que es capaz de copiar estos códigos en menos de 30 segundos, que es precisamente el tiempo que tardan en refrescarse.
Pixnapping. Es el nombre de este nuevo ataque capaz de robar códigos de autenticación en dos pasos de apps como Google Authenticator o Microsoft Authenticator. Estas apps muestran códigos que se van refrescando automáticamente cada 30 segundos, por lo que es más seguro que por ejemplo la verificación por SMS que suele dar un margen de 10 o 15 minutos para copiar el código. Con esta técnica, los investigadores han conseguido crackear los seis dígitos del código en sólo 23 segundos, lo cual deja tiempo de sobra para usar el código e iniciar sesión en la cuenta que quieren robar.
Cómo funciona. Cualquier app en Android puede lanzar un ataque pixnapping sin necesidad de obtener permisos especiales. Una vez en marcha, el ataque se produce en tres pasos:
La aplicación maliciosa utiliza las API de Android para comunicarse con la aplicación que desea espiar. Estas llamadas fuerzan a la aplicación objetivo a que muestre datos específicos (los códigos de autenticación) y envía esta información al canal de renderización de Android, que es el responsable de mostrar los píxeles de cada aplicación en pantalla.
Pixnapping realiza operaciones gráficas sobre los píxeles que han sido recibidos por el canal de renderización. Identifica las coordenadas de cada píxel de interés y verifica si el color es blanco o no blanco.
Los píxeles en blanco tardan menos tiempo en renderizar que los no blancos. Midiendo el tiempo, pixnapping es capaz de reconstruir las imágenes a partir de los datos del canal de renderización.
La rapidez es clave. Pixnapping también puede obtener otro tipo de información que sea visible en la pantalla, como números de cuenta o información personal, pero la rapidez con la que se ejecuta la hace especialmente peligrosa para estas apps de autenticación. Para lograrlo, los investigadores redujeron el número de muestras por cada píxel, de forma que pudieran conseguir descifrar los seis dígitos en 30 segundos.