Para evaluar el repositorio, hemos descargado 2.300 aplicaciones. Para cada aplicación, hemos realizado un análisis estático con Androguardy dinámico con Droidboxadaptado para la versión de Android 4.1.1. De esta forma queremos conocer el comportamiento de las aplicaciones: es decir los SMS enviados, datos privados robados, etc. Invitamos a leer nuestro informe sobre el análisis de aplicaciones Android.
Análisis de un repositorio ruso de aplicaciones Android
Dentro de nuestra participación en el proyecto europeo NEMESYS, hemos desarrollado un «honeyclient» que nos permite de recopilar repositorios de Android, descargar las aplicaciones, y analizarlas. Hemos analizado el repositorio ruso de Android «androidar.ru«, para averiguar la confianza que podemos tener en los repositorios alternativos al oficial de Google. Vamos a mostrar algunos de nuestros descubrimientos.
Un «honeyclient» es un sistema diseñado para imitar, ya sea de forma manual o automáticamente, la serie de pasos que realizaría un usuario normal al visitar diferentes sitios web. Nuestro proyecto está destinado al análisis de repositorios Android alternativos, determinar su fiabilidad y comprobar que no se debe descargar aplicaciones de estos sitios.
Hemos notado que 622 aplicaciones Android (un 27%) mandaban SMS premium y los identificadores IMEI e IMSI del móvil por Internet a la dirección 188.42.243.203 (un servidor en Luxemburgo). Con el análisis estático, hemos averiguado que todas las aplicaciones pedían los 26 permisos siguientes y que tenían la capacidad de enviar SMS, leer SMS, leer los contactos, sacar fotos, etc.:
android.permission.ACCESS_NETWORK_STATE
android.permission.MOUNT_FORMAT_FILESYSTEMS
android.permission.WRITE_SECURE_SETTINGS
android.permission.BIND_DEVICE_ADMIN
android.permission.ACCESS_NETWORK_STATE
android.permission.SEND_SMS
android.permission.BIND_REMOTEVIEWS
android.permission.INTERNET
android.permission.WRITE_SETTINGS
android.permission.SET_PROCESS_LIMIT
android.permission.SET_WALLPAPER_HINTS
android.permission.BRICK
android.permission.DEVICE_POWER
android.permission.READ_CONTACTS
android.permission.RECEIVE_SMS
android.permission.INSTALL_PACKAGES
android.permission.READ_PHONE_STATE
android.permission.WRITE_SYNC_SETTINGS
android.permission.ACCESS_FINE_LOCATION
android.permission.SET_ANIMATION_SCALE
android.permission.CAMERA
android.permission.CHANGE_NETWORK_STATE
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.ACCESS_CHECKIN_PROPERTIES
com.android.launcher.permission.INSTALL_SHORTCUT»
android.permission.SYSTEM_ALERT_WINDOW
Abajo mostramos un ejemplo de una aplicación del repositorio que envía tres SMS premium. El primer SMS se envía a partir de dos minutos, el segundo después de 10 segundos, y el tercero después de 15 segundos. Los tres SMS se envían a números premium diferentes, pero con el mismo mensaje «43978546971 361453287722«. Pensamos que el primer SMS se envía con retraso para evitar su detección por las «sandbox» de Google o de casas antivirus. En efecto, con la gran cantidad de aplicaciones Android, imaginamos que analizar cada muestra más de un minuto pide muchos recursos, por lo que en la mayoría de los casos no se puede hacer.
Mirando el certificado de la aplicación, vemos también que el desarrollador de la aplicación no quería poner su nombre.
Además, el desarrollador ha usado técnicas de ofuscación del nombre de las clases lo que hace más difícil un análisis por ingeniería inversa. Por ejemplo, el nombre de la clase principal que se llama «imauyfxuhxd.qhlsrdb.rqdpwernbqj«.
También, nos hemos dado la cuenta de que descargando varias veces la misma aplicación desde la misma URL:
«http://androidarar.ru/api.php?n=beyondpod-key&f=beyondpod-key&a=36145&icurl=&imurl=&s=2&ss=13&mt=4&d=2&u=http%3a%2f%2fandroidar.ru%2fengine%2fdownload.php%3fid%3d1062&autoic=1» muchas veces nos devolvía aplicaciones con hash diferentes. Sin embargo, extrayendo el código binario de cada aplicación, hemos comprobado que todas las aplicaciones tienen el mismo código compilado. En otras palabras, el atacante cambia los iconos y las parámetros de configuraciones de la aplicación sin modificar el código compilado, de manera que se genera un hash diferente para la aplicación. Pensamos que el atacante lo hace intencionalmente para engañar los antivirus que usan los hash para identificar los malware Android. Un generador de firma sobre el código compilado como el generador de formas para YARA (que describimos en el blog del Laboratorio de Hispasec) seria más adecuado para identificar el malware.
Aconsejamos a todos los usuarios descargar las aplicaciones de Android desde el repositorio oficial de Google (https://play.google.com/store) y comprobar los permisos que la aplicación pide durante su instalación. Por ejemplo, un juego que pida permiso para enviar SMS premium debería hacernos sospechar.
Más información:
The NEMESY Project
Androguard
Droidbox
Hispasec publica un parche para dar soporte a la rama 4 de Android en DroidBox
L. Delosieres and D. Garcia, «Infrastructure for detecting Android malware», in Proc. 28th Int. Symp. on Computer and Information Sciences (ISCIS’13), volume 264 of Lecture Notes in Electrical Engineering, pages 389-398. Springer, Oct. 2013.
Aplicación analizada
(SHA-256 – 496affe5bf465d9dce11a5bea3c1d7e8ceb2587968e9d6eb55d9d28e3ac332f5) descargada a
Generador de firmas para YARA
una-al-dia (18/12/2013) El proyecto NEMESYS
una-al-dia (01/01/2014) Contribuciones de Hispasec en el proyecto NEMESYS
Laurent Delosières
Anónimo dice
Excellent, as usual…
Anónimo dice
Muchas gracias
Anónimo dice
Hola,
Hace años que os sigo. No se si es que me hago viejo pero cada vez los artículos me parecen de mas baja calidad… Estaría bien que volvierais un poco a lo orígenes…
Sobre la noticia, en el repositorio de Google también hay de todo. Cada vez son mas bajos los estándares… En mi opinión.
Igualmente sigo disfrutando de Android como el primer dia , aunque no hago ascos a la competencia.
Saludos,
Max De Mendizábal dice
Hola,
Justo lo que pensaba es lo contrario que Anónimo. Que el artículo era bastante bueno, con un análisis muy básico, pero efectivo para divulgar adecuadamente los problemas de seguridad que representa utilizar repositorios peligrosos. Ciertamente, descargar algo del repositorio de Google tampoco es garantía, pero es menos probable que se cuelen aplicaciones abiertamente maliciosas.
Saludos y felicidades por el artículo
pepito pérez dice
¿Baja calidad en el artículo?
Hay que pensar que para escribir lo que hay aquí escrito se ha hecho un estudio de las aplicaciones Android del repositorio mencionado… ninguna web de tecnología le llega a este estudio a la suela de los zapatos y en ellas se pueden leer cosas como «según una fuente…», «muchos usuarios afirman que…», «los expertos creen…».
El trabajo de Hispasec es muy bueno.