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




Excellent, as usual...
ResponderEliminarMuchas gracias
EliminarHola,
ResponderEliminarHace 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,
Hola,
ResponderEliminarJusto 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
¿Baja calidad en el artículo?
ResponderEliminarHay 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.