En
el contexto del proyecto
europeo NEMESYS, que hemos
introducido anteriormente en una-al-día, me gustaría presentar el trabajo
que hemos hecho durante los 6 primeros meses.
Los avances iniciales están
condensados en un
artículo que hemos publicado en la conferencia ISCIS 2013 en Paris. El proyecto tiene como objetivos la
seguridad de la red móvil y de los terminales de usuarios (teléfonos
inteligentes), es decir aprender y detectar los ataques que se producen.
Como plataforma de pruebas, hemos elegido el sistema operativo Android.
Elección motivada por la flexibilidad del sistema (open source) y la cantidad
de malware que actualmente afecta a este sistema.
La primera parte del artículo se enfoca en las deficiencias actuales de
seguridad que existen para proteger la plataforma Android. Podemos notar
que aunque hay soluciones antivirus para detectar malware y el servicio Bouncer
de Google para limitar la entrada de aplicaciones maliciosas en Google Play, su
número ha crecido de manera exponencial. Peor, vemos que la seguridad actual no
nos permite detectar gran parte del malware que se produce. En otras palabras,
necesitamos otros métodos de detección para protegernos. Es nuestra parte en el
marco del proyecto NEMESYS.
Después de listar los diferentes
vectores de ataque que son usados para infectar un sistema Android y los diferentes
tipos de familias de malware que existen, describimos
nuestra infraestructura para detectar malware. Esa infraestructura se
compone de varios componentes: un "honeycliente"
que nos permite de recoger malware Android rastreando la red y un detector de
malware integrado en el móvil del usuario y enlazado al sistema experto en la
nube.
El honeycliente se compone de 3
partes: un "crawler" que va
a construir la lista de recursos que pueden alojar malware a visitar, el
cliente que va a visitar el recurso, y un detector que nos permite de saber si la
aplicación recogida es malware o goodware. Para revelar la parte maliciosa
posible de la aplicación, hemos instrumentado el cliente con un usuario
virtual. Cada vez más aplicaciones
maliciosas están basadas sobre eventos. Es decir que van a ejecutar su
parte maliciosa cuando ha recibido un evento, por ejemplo un cambio de la
posición GPS.
El usuario virtual se ha basado
sobre diversos escenarios con una media de cinco acciones por escenario. Se ha
construido cada escenario con una aplicación diferente. Hemos elegido un grupo
representativo entre las aplicaciones siguientes: Facebook, Hotmail, Youtube, Calendar,
Gallery ICS, Browser, Slide Box Puz, y talk.to. Cada escenario fue grabado y
retocado en numerosos análisis. Además de esos escenarios, el usuario virtual
tiene la capacidad de enviar un mensaje o de cambiar su posición GPS entre
otros eventos posibles.
El cliente es un Android emulado
con la versión Ice Cream Sandwich (ICS) de Android (4.1.1). Esa versión permite
ejecutar la mayor parte de las aplicaciones Android y representa una de las
versiones más usada actualmente. Ese cliente fue modificado para integrar
Droidbox 4.1.1 y así poder extraer las características dinámicas de las aplicaciones
en ejecución en el emulador como los SMS enviados, las peticiones HTTP, etc.
Droidbox
fue portado por nosotros a la versión 4.1.1. También, hemos modificado el Androguard para extender sus
funcionalidades y así extraer más características estáticas de las aplicaciones
Android.
El detector esta basado sobre dos
motores: uno de detección de uso malicioso, similar a la tecnología empleada de
manera general en los antivirus y un motor de detección de anomalías. En la
fecha en la cual escribimos el artículo, esa parte todavía no estaba integrada,
así que será publicado en un nuevo artículo para la próxima conferencia.
Más información:
Droidbox:
Androguard:
El proyecto NEMESYS:
Documento:
una-al-dia (18/12/2013) El
proyecto NEMESYS
una-al-dia (27/09/2013) Hispasec
publica un parche para dar soporte a la rama 4 de Android en DroidBox
Laurent Delosières

No hay comentarios:
Publicar un comentario