
En el segundo paso, Pixnapping realiza operaciones gráficas en píxeles individuales que la aplicación de destino envió al proceso de renderizado. Estas operaciones eligen las coordenadas de los píxeles objetivo que la aplicación quiere robar y comienzan a verificar si el color de esas coordenadas es blanco o no blanco.
«Supongamos, por ejemplo, que (el atacante) quiere robar un píxel que forma parte de la región de la pantalla donde se sabe que Google Authenticator representa un carácter 2FA», dijo Wang. «Este píxel es blanco (si no se representó nada allí) o no blanco (si parte de un dígito 2FA se representó allí). Entonces, conceptualmente, el atacante quiere provocar algunas operaciones gráficas cuyo tiempo de representación sea largo si el píxel de la víctima objetivo no es blanco y corto si es blanco. La aplicación maliciosa hace esto abriendo algunas actividades maliciosas (es decir, ventanas) delante de la aplicación víctima que se abrió en el Paso 1».
El tercer paso mide la cantidad de tiempo requerido en cada coordenada. Al combinar los tiempos de cada uno, el ataque puede reconstruir las imágenes enviadas al canal de renderizado, un píxel a la vez.
La cantidad de tiempo necesaria para realizar el ataque depende de varias variables, incluida la cantidad de coordenadas que deben medirse. En algunos casos, no existe una fecha límite estricta para obtener la información que el atacante quiere robar. En otros casos, como el robo de un código 2FA, cada segundo cuenta, ya que cada uno es válido solo por 30 segundos. En el artículo, los investigadores explicaron:
Para cumplir con el estricto plazo de 30 segundos para el ataque, también reducimos la cantidad de muestras por píxel objetivo a 16 (en comparación con las 34 o 64 utilizadas en ataques anteriores) y reducimos el tiempo de inactividad entre fugas de píxeles de 1,5 segundos a 70 milisegundos. Para garantizar que el atacante tenga los 30 segundos completos para filtrar el código 2FA, nuestra implementación espera el comienzo de un nuevo intervalo de tiempo global de 30 segundos, determinado mediante el reloj del sistema.
… Usamos nuestro ataque de extremo a extremo para filtrar 100 códigos 2FA diferentes de Google Authenticator en cada uno de nuestros teléfonos Google Pixel. Nuestro ataque recupera correctamente el código 2FA completo de 6 dígitos en el 73 %, 53 %, 29 % y 53 % de las pruebas en Pixel 6, 7, 8 y 9, respectivamente. El tiempo promedio para recuperar cada código 2FA es 14,3, 25,8, 24,9 y 25,3 segundos para Pixel 6, Pixel 7, Pixel 8 y Pixel 9, respectivamente. No podemos filtrar códigos 2FA en 30 segundos usando nuestra implementación en el dispositivo Samsung Galaxy S25 debido al ruido significativo. Dejamos una mayor investigación sobre cómo ajustar nuestro ataque para que funcione en este dispositivo para trabajos futuros.
En un correo electrónico, un representante de Google escribió: «Emitimos un parche para CVE-2025-48561 en el boletín de seguridad de Android de septiembre, que mitiga parcialmente este comportamiento. Estamos publicando un parche adicional para esta vulnerabilidad en el boletín de seguridad de Android de diciembre. No hemos visto ninguna evidencia de explotación en estado salvaje».




