Los teléfonos que utilicen Android en sus versiones Lollipop, Marshmallow y Nougat se encuentran seriamente comprometidos tras un error que permite tomar control del servicio MediaProjection. Las consecuencias de este bug permiten que atacantes puedan grabar tanto el audio del dispositivo como la pantalla en su totalidad.

Android es el sistema operativo móvil más utilizado en el mundo y las tres versiones afectadas por este error de seguridad alcanzan el 77,5% de los dispositivos (Android 5.0, 6.0 y 7.0). Este indicador evidencia la gran cantidad de equipos que podrían ser transgredidos, atentando directamente contra la información y privacidad de sus usuarios.

De momento, todos los dardos apuntan al servicio MediaProjection que existía en Android desde sus inicios, pero para usarlo, las aplicaciones necesitaban tener acceso como administrador total del sistema (root), además de estar firmadas con las claves de lanzamiento del dispositivo. Esto restringió el uso de MediaProjection sólo a un número de aplicaciones desarrolladas por los fabricantes en sus versiones propias de Android, pero con el lanzamiento de Android Lolipop (5.0), Google abrió este servicio, y eliminó los permisos necesario para acceder a él.

Para acceder a este servicio, las aplicaciones necesitan solicitar acceso mediante una llamada intencionada (intent call), que muestra una ventana emergente SystemUI de advertencia, indicándole al usuario que el software quiere capturar su pantalla y sistema de audio. Investigadores de MWR Labs descubrieron que los atacantes podían detectar cuando se abría esta ventana y disparar otra arbitraria. La técnica se llama tapjacking y ha sido utilizada por los desarrolladores de malware de Android durante años.

Así lo explican desde el equipo de MWR:

La causa principal de esta vulnerabilidad se debe al hecho de que las versiones de Android afectadas no pueden detectar ventanas emergentes de SystemUI parcialmente oscurecidas […] Esto permite a un atacante dibujar una superposición sobre la ventana emergente SystemUI, que llevaría a la elevación de los privilegios para que la aplicación maliciosa grabe.

La ventana emergente SystemUI legítima es el único mecanismo de control de acceso disponible que evita el abuso del servicio MediaProjection. Un atacante puede pasar por alto este mecanismo usando la técnica tapjacking, que permite capturar los toques sobre la pantalla con una actividad superpuesta intencionalmente. Y con esto, los usuarios creen que están haciendo toques sobre una actividad, aunque sin saberlo autorizan otras.

Google corrigió el problema hace unos meses con el lanzamiento de Android Oreo (8.0), pero las versiones mencionadas siguen por ahí con la falla.

De todas formas, hay esperanza: cuando el ataque ocurre (y si es que ocurre) aparece una notificación en pantalla avisando que se está grabando la información del teléfono, por lo que si ven que esto sucede sin haber hecho nada, tienen opciones como por ejemplo tirarlo a la basura detener el proceso o reiniciar el equipo. Aunque claro, la solución ideal (y lo mínimo en realidad) sería que Google parche el error.