Investigadores en Estados Unidos presentaron Pixnapping, una técnica de ataque side‑channel que permite a una app maliciosa en Android extraer información visual directamente de la pantalla sin solicitar permisos sensibles. En pruebas con dispositivos actuales, los autores demostraron la recuperación de mensajes y tokens de dos factores en menos de 30 segundos, un tiempo crítico que coincide con la ventana típica de validez de códigos TOTP (RFC 6238).
Cómo funciona Pixnapping: intents, SurfaceFlinger y “robo” de píxeles
El ataque comienza forzando la apertura de una actividad objetivo mediante el sistema de Android Intents. Al provocar la visualización del contenido deseado, su composición pasa por SurfaceFlinger, el compositor del sistema responsable de combinar ventanas que se muestran simultáneamente.
Luego, la app atacante superpone una actividad de enmascaramiento que cubre la pantalla con un lienzo blanco excepto en un único punto transparente cuidadosamente posicionado. Ese “ojo de aguja” permite inferir si el píxel subyacente del objetivo es blanco o no. Repitiendo el proceso y desplazando el punto transparente, el atacante muestrea gradualmente un conjunto de píxeles relevantes, por ejemplo, los que forman dígitos de un código 2FA.
Aislamiento y ampliación de píxeles; reconocimiento tipo OCR
Para acelerar la lectura, los investigadores explotan el desenfoque y escalado en SurfaceFlinger, que “estira” los píxeles aislados y amplifica su señal. Con el patrón de píxeles reconstruido, se aplica un procedimiento de reconocimiento similar a OCR para identificar caracteres, logrando un “pseudocaptura de pantalla” sin permisos de captura ni accesos especiales.
GPU.zip: el canal lateral que hace posible la fuga
La clave del ataque es el side‑channel GPU.zip, que deriva de cómo las GPU modernas comprimen y procesan superficies gráficas. Al medir efectos sutiles de compresión durante la composición, la app obtiene información binaria sobre el píxel observado. Aunque el caudal es reducido —aproximadamente 0,6–2,1 píxeles por segundo—, las optimizaciones permiten recuperar información suficiente para reconstruir códigos temporales y fragmentos sensibles de interfaces en menos de medio minuto, sin permisos adicionales.
Hallazgos previos sobre GPU.zip ya habían mostrado filtraciones inter‑sitio en navegadores mediante compresión de GPU; Pixnapping traslada esa clase de canal lateral al ecosistema Android, combinándolo con la cadena de composición del sistema y patrones de activación vía intents.
Dispositivos afectados y alcance práctico
Los ensayos incluyeron Google Pixel 6, 7, 8 y 9, así como Samsung Galaxy S25, con Android de 13 a 16; todos resultaron vulnerables. Dado que los mecanismos base existen desde versiones anteriores, es probable que dispositivos más antiguos también estén expuestos.
Un análisis de casi 100 000 apps en Google Play evidenció cientos de miles de actividades invocables mediante intents, lo que sugiere una amplia superficie para iniciar sesiones objetivo y ejecutar el muestreo de píxeles sin levantar sospechas.
Parcheo y estado de mitigaciones: CVE-2025-48561
Google abordó la vulnerabilidad CVE-2025-48561 en la actualización de seguridad de septiembre para Android. Sin embargo, los autores reportan un bypass funcional. La compañía afirma que la variante corregida exige conocimiento específico del dispositivo, elevando la complejidad de explotación. Se espera una solución más robusta en diciembre de 2025. Google y Samsung han prometido cerrar el problema antes de fin de año; por ahora, los fabricantes de GPU no han anunciado mitigaciones específicas para GPU.zip y no hay señales de explotación activa “en la naturaleza”.
Recomendaciones de seguridad y reducción de riesgo
Actualice sin demora. Instale los patches de Android tan pronto como estén disponibles; los parches del sistema y del marco gráfico reducen significativamente la exposición a canales laterales.
Limite el software no confiable. Evite apps de fuentes desconocidas y revise la reputación del desarrollador en Google Play. Menos apps implica menor superficie de intents explotables.
Revise permisos sensibles. Minimice funciones como “mostrar sobre otras apps” y servicios de accesibilidad cuando no sean imprescindibles; audite periódicamente los permisos concedidos.
Endurezca la autenticación. Para cuentas críticas, prefiera métodos menos dependientes de la pantalla: hardware security keys (FIDO2) o push protegidos con verificación en el dispositivo.
Pixnapping evidencia que los canales laterales del stack gráfico pueden burlar el modelo de permisos. Mantener el sistema al día, reducir la superficie de ataque y adoptar autenticación resistente a la observación son pasos prácticos que mitigan el riesgo mientras llegan correcciones definitivas para Android, el compositor y los controladores de GPU.