Una vulnerabilidad en aplicaciones Android con millones de descargas permite ejecutar código malicioso y robar tokens
Microsoft ha advertido sobre un patrón de vulnerabilidad asociado a varias aplicaciones populares de Android que cuentan con más de 4.000 millones de instalaciones en dispositivos, con el que los ciberdelincuentes pueden conseguir que una aplicación maliciosa ejecute código arbitrario malicioso y robe tokens con información de inicio de sesión.
Así lo ha compartido la compañía tecnológica en el marco de una investigación desarrollada por el equipo de Inteligencia de amenazas de Microsoft, donde ha dado a conocer esta vulnerabilidad a la que se han referido como 'Dirty Stream' (Corriente sucia).
En concreto, la vulnerabilidad identificada permite que, con la ejecución de código arbitrario, los actores maliciosos puedan obtener el control total sobre el comportamiento de la aplicación. Por su parte, el robo de tokens puede proporcionar a los ciberdelincuentes acceso a las cuentas y a los datos confidenciales del usuario.
Según han explicado en un comunicado en su blog de ciberseguridad, esta vulnerabilidad afecta a aplicaciones populares de Android disponibles Google Play Store, que actualmente disponen de más de 4.000 millones de instalaciones en dispositivos Android.
En este sentido, los investigadores comenzaron a compartir la información encontrada sobre la vulnerabilidad con los desarrolladores de las aplicaciones afectadas en febrero de este año. Desde ese momento, los desarrolladores comenzaron a implementar correcciones mediante actualizaciones, de cara a mitigar este fallo.
Ahora, tras identificar que más aplicaciones pueden verse afectadas, Microsoft ha subrayado su intención de aumentar la conciencia sobre el problema y ofrecer orientación para ayudar a evitar que los desarrolladores introduzcan este patrón de vulnerabilidad en sus aplicaciones Android de Google.
Una de las aplicaciones afectadas es el Administrador de archivos de Xiaomi. Según ha indicado Microsoft, los investigadores pudieron llevar a cabo ejecución de código arbitrario y, por tanto, controlar la aplicación, en la versión V1-210567. No obstante, tras conocer el fallo, Xiaomi publicó la versión actualizada V1-210593, en la que han verificado que se ha solucionado la vulnerabilidad.
Lo mismo ha ocurrido con la aplicación WPS Office, en la que los investigadores pudieron obtener código arbitrario en la versión 16.8.1. Más tarde, la vulnerabilidad se solucionó a partir de la versión 17.0.0.
En el caso de el Administrador de archivos de Xiaomi, Microsoft ha indicado que dispone de más de 1.000 millones de instalaciones. Igualmente, la 'app' WPS Office, dispone de más de 500 millones de instalaciones.
Fallo en el sistema de intercambio de datos y archivos de android
Según ha desarrollado Microsoft, esta vulnerabilidad se encuentra en el sistema de intercambio de datos y archivos en Android. Habitualmente, las aplicaciones desarrolladas para este sistema operativo disponen de sus propios datos y espacio de memoria aislados en el dispositivo. Sin embargo, en algunas ocasiones es necesario que las distintas aplicaciones compartan información entre sí para su correcto funcionamiento.
En este sentido, para facilitar el intercambio de datos y archivos entre aplicaciones, Android proporciona un sistema llamado proveedor de contenido, que actúa como una interfaz para administrar y exponer datos al resto de aplicaciones instaladas.
Así, la compañía ha detallado que, aunque dicho sistema dispone de medidas de seguridad y se trata de una solución confiable, una implementación incorrecta en las aplicaciones puede introducir vulnerabilidades que "pueden permitir eludir las restricciones de lectura o escritura dentro del directorio de inicio de una aplicación".
Todo ello se traduce en que actores maliciosos pueden saltar las medidas de seguridad existentes y ejecutar código arbitrario en el dispositivo, permitiendo obtener el control de la aplicación. Igualmente, otra de las consecuencias puede reflejarse en el robo de tokens de las aplicaciones, lo que permite obtener información de inicio de sesión y, por tanto, acceso a las cuentas y a datos confidenciales.
En un ejemplo de explotación de esta vulnerabilidad compartido por Microsoft, la aplicación vulnerable podría cargar bibliotecas nativas desde su directorio de datos. En este caso, la aplicación maliciosa puede sobrescribir una biblioteca nativa con código malicioso que se ejecuta cuando se carga la biblioteca.
Evitar introducir este patrón en las aplicaciones android
Con todo ello, Microsoft ha señalado que están colaborando con Google para crear guías concretas para desarrolladores de aplicaciones de Android con las que ayudarles a "reconocer y evitar este patrón".
Asimismo, los investigadores de Microsoft también han recomendado a los desarrolladores y analistas de seguridad que utilicen la guía de seguridad de aplicaciones de Android proporcionada por Google, así como que utilicen la herramienta Android Lint, incluida con el SDK de Android e integrada con Android Studio, para identificar y evitar posibles vulnerabilidades. De la misma forma se han referido al servicio CodeQL de GitHub, que también proporciona capacidades para identificar vulnerabilidades.
Por otra parte, respecto a los usuarios, Microsoft ha aconsejado que mantengan actualizadas las aplicaciones y sus dispositivos para poder disponer de las versiones con las correcciones a dicha vulnerabilidad.