Investigadores
de Palo Alto Networks han
publicado una alerta en la que informan de una vulnerabilidad en Android que
podría permitir la instalación de aplicaciones maliciosas sin conocimiento del usuario.
La vulnerabilidad se ha
bautizado como "Android Installer
Hijacking" (Secuestro del Instalador Android). Básicamente el problema
reside en que durante el proceso de instalación un atacante puede modificar o
reemplazar una aplicación legítima con malware sin el conocimiento del usuario.
Esto solo afecta a aplicaciones descargadas desde repositorios alternativos o
cualquier otra fuente diferente a "Google
Play". La aplicación maliciosa podría conseguir acceso total al
dispositivo comprometido.
El problema afecta a todos los
sistemas Android anteriores a la versión 4.3 y a algunas distribuciones de
Android 4.3, un parque que se estima en torno a un 49,5 por ciento de los
dispositivos Android actuales.
Como se sabe, Android soporta la
posibilidad de instalar aplicaciones descargadas desde la propia tienda de Google
o bien desde cualquier otra fuente alternativa. Google Play descarga los
paquetes de instalación Android (APKs) a un espacio protegido del sistema de archivos.
Sin embargo al descargar desde terceras partes (repositorios alternativos o
cualquier otra fuente) los archivos APK se almacenan en una carpeta no
protegida (p.ej. /sdcard/) y desde esa localización se instalan directamente. Para
completar la instalación siempre se emplea una aplicación del sistema llamada "PackageInstaller".

La vulnerabilidad de secuestro
del instalador afecta a archivos APK descargados en un espacio no protegido
porque cualquier otra aplicación puede acceder a dicho espacio, algo que no
ocurre en el espacio protegido de la Play
Store.
Diferentes escenarios
Se pueden dar varios escenarios
para explotar la vulnerabilidad, se puede emplear una aplicación aparentemente
benigna, que no requiera permisos especiales, para comprometer otras
aplicaciones en el futuro. Por ejemplo si la víctima instala una "App X"
aparentemente legítima (que ni siquiera requiere ningún tipo de permisos especiales).
Posteriormente, la víctima instala una tienda de aplicaciones totalmente legítima
(como la tienda de aplicaciones de Amazon) que permite instalar archivos APK
desde el sistema de archivos local. Cada vez que se instalan archivos desde
esta tienda se lanza una vista de "PackageInstallerActivity".
Sí el usuario intenta descargar una "App Y" desde esta tienda, la "App
X" detectará que se lanza la vista de "PackageInstallerActivity" y comprueba si la "App Y"
se encuentra en un espacio público (p.ej. en /sdcard) en cuyo caso, mientras el
usuario visualiza la pantalla de permisos, la "App X" podría sobreescribir la "App Y". Si el usuario acepta la instalación, se
instalará la "App Y" comprometida con el malware y los permisos que
el atacante necesite.
También se puede emplear la
vulnerabilidad para enmascarar los permisos que la aplicación requiere
realmente. La víctima instalará la "App X" aparentemente legítima.
Mientras la usa se promociona una "App Y" legitima para su instalación.
Si el usuario instala la aplicación se iniciará la vista "PackageInstallerActivity" que no
requerirá ningún permiso especial. Y al igual que en el ejemplo anterior mientras
el usuario visualiza la pantalla de permisos la "App X" podría sobreescribir la "App Y" con malware. Si el usuario acepta la
instalación, se instalará la "App Y" comprometida con el malware ignorando
los permisos solicitados.
Recomendaciones
Palo Alto Networks ha publicado
un escáner en Google Play para comprobar si la vulnerabilidad puede afectar al
dispositivo. Se encuentra disponible desde:
Además ofrece el código del escáner
en:
Como es habitual se aconseja a
todos los usuarios descargar las aplicaciones de Android desde el repositorio
oficial de Google (https://play.google.com/store).
Desde la Android Open Source
Project (AOSP) de Google se ha confirmado la publicación de parches para este problema
para la distribución Android 4.3 y posteriores. La actualización está disponible
desde
El equipo de seguridad de Android
también confirma que no han detectado ataques intentando aprovechar esta
vulnerabilidad.
Como siempre el problema está en el
tempo que los fabricantes se toman para implantar
y distribuir las actualizaciones del sistema operativo a sus usuarios.
Amazon, por su parte, también ha solucionado
el problema en su tienda de aplicaciones, que puede actualizarse desde www.amazon.com/getappstore
Más información:
Android Installer Hijacking Vulnerability Could
Expose Android Users to Malware
una-al-dia (19/02/2014) Android,
a vueltas con el problema de los parches que nunca llegan
Antonio Ropero
Twitter: @aropero