Fueron varias las ocasiones en las que hablamos acerca de las plataformas móviles, tanto acerca de vulnerabilidades como de diferentes vectores de ataque. Hoy hacemos mención a una nueva vulnerabilidad en Android, la plataforma móvil de Google, que fue publicada esta semana. La misma permite que se pueda sustraer información o archivos sin el consentimiento del usuario mediante una falla de seguridad en el navegador.
La situación se puede tornar bastante delicada, sobre todo porque existe la posibilidad de que un atacante tenga acceso a ciertos archivos existentes en el dispositivo, sumado a que la resolución del problema amerita tener que actualizar el sistema operativo a una nueva versión (todavía no disponible en el mercado). Para los usuarios de Android esto es un detalle más que importante debido a que la disponibilidad de las actualizaciones del sistema operativo pueden o no estar ser liberadas dependiendo del modelo del dispositivo.
En lo referente a los aspectos técnicos de la vulnerabilidad esta se centra en que el navegador no solicita autorización del usuario para realizar una descarga sino que la realiza directamente, almacenando los archivos en el directorio "sdcard/download/", por ejemplo se descarga el archivo hola.html y se almacena en la ruta "/sdcard/download/hola.html". Una vez que el archivo ha sido descargado y almacenado en dicho directorio es posible, mediante la utilización de JavaScript, realizar la carga automática del archivo y así lograr la ejecución de código malicioso.
Una vez que el archivo es cargado por el navegador, se estará ejecutando en el mismo contexto de ejecución que el este, lo que significa que por más que se ejecute como un proceso de usuario y se encuentre aislado de las funciones del sistema operativo, tenga acceso a la tarjeta de memoria. De esta manera se puede acceder a un archivo( ya sea leerlo, copiarlo borrarlo y muchas cosas más). Una vez que un archivo determinado ha sido leído, el mismo puede ser enviado al atacante haciendo que los datos de los usuarios sean expuestos. En la siguiente captura podemos ver los permisos otorgados al navegador:
El proceso se encuentra aislado dentro de un sandbox y no puede acceder a datos del sistema operativo pero sí tendrá acceso a todos los lugares a los que el navegador tiene permisos entre ellos podemos ver que cuenta con permisos sobre la tarjeta de memoria y la información personal del usuario.
Existen varias aplicaciones que almacenan sus datos en la tarjeta de memoria, ya sean sus archivos de configuración, datos del usuario, historiales y mucho más. Hasta las fotos que se pueden sacar con la mayoría de los dispositivos se almacenan dentro de la tarjeta de memoria. Sin embargo, para poder acceder a los archivos el atacante debería conocer el nombre exacto de los mismos.
El tiempo que lleva desde que Google libera una actualización de su sistema operativo hasta que los usuarios las reciben y actualizan sus dispositivos es más que considerable. Esto genera una gran brecha en la seguridad en los dispositivos móviles, la cual puede ser aprovechada por los atacantes para propagar códigos maliciosos o intentar el robo de información. Como un ejemplo puntual se puede tomar que el fix para esta vulnerabilidad se encontrará disponible en la versión 2.3.1 de Android (cual se encuentra próxima a ser liberada).
A modo de protección, hasta que se encuentre disponible el parche para esta vulnerabilidad, les recomendamos estar al tanto de las siguientes opciones:
- Deshabilitar la ejecución de JavaScript en el Navegador de Android, destildando la opción desde Ajustes->Habilitar JavaScript:
- Utilizar un software de terceros para navegar, como Opera Mobile. De esta manera poder actualizar el software sin tener que actualizar el sistema operativo y que se consulte al usuario antes de descargar un archivo.
- Estar atentos a las descargas automáticas minimizará los riesgos, cuando algún archivo es descargado genera una notificación como se puede apreciar en la siguiente imagen:
En conclusión Android es una plataforma muy versátil, pero quizás el sistema de distribución de software que mantienen traiga algunas implicaciones en lo que respecta a la seguridad de los usuarios, haciendo que las demoras en la entrega de actualizaciones se convierta en un tema de vital importancia. Es por ello que es muy importante que como usuarios tomemos conciencia de las amenazas o vulnerabilidades existentes para las plataformas móviles como así también contar con buenas prácticas para el uso de dispositivos móviles.
Pablo Ramos
Especialista de Awareness & Research