Android Malware: Pasado, Presente, Futuro

Escrito por: Carlos Castillo  /  Categoría: malware, Smartphones

Ayer, 29 de noviembre de 2011, finalmente fue publicado mi artículo “Android Malware: Past, Present and Future” en el sitio Web de McAfee (el PDF puede ser descargado directamente desde este link). Era diciembre de 2010 y, a pesar de que llevaba apenas un par de meses en McAfee Labs en Santiago de Chile, estaba a la espera de una oportunidad para comenzar un nuevo proyecto de investigación (el último lo había culminado hace más de un año con el artículo “Sexy View: El inicio de las Botnets para dispositivos móviles”). Justo por esa época conocí el Mobile Security Working Group, liderado por Michael Price, que me dio la oportunidad de escribir un artículo relacionado con seguridad en dispositivos móviles, el campo en el cual me desempeño actualmente y el que definitivamente me apasiona. El propósito de este post, además de compartir el documento en su formato original, es exponer de forma clara de qué se trata el artículo y qué podemos esperar en un futuro cercano en la evolución de este tipo de amenazas en dispositivos móviles Android.

La motivación para escribir el artículo de investigación fue Geinimi, un código malicioso descubierto a finales de diciembre de 2010 en app markets no oficiales (principalmente en China) que fue catalogado por la empresa Lookout como el malware para Android más sofisticado visto hasta ese momento. Esa afirmación llamó mi atención por lo que empecé a investigar sobre malware para Android anterior a Geinimi para ver en realidad la evolución del código malicioso en esta plataforma, apenas emergente, pero con un gran potencial de crecimiento en el corto plazo.

La primera parte del artículo trata sobre la historia del malware para Android que se remota  (exceptuando los clásicos software espías que son considerados programas potencialmente no deseados) al primer troyano para Android, FakePlayer, descubierto en Agosto de 2010 el cual era una aplicación bastante simple que pretendía ser un reproductor multimedia (incluso tenía el logo de Windows Media Player) pero que en realidad tenía implementado un código para enviar mensajes de texto (SMS) a números premium los cuales generaban costos no deseados a los usuarios y a la vez producían ganancias para los delincuentes informáticos. Desde FakePlayer se produjo un gran salto en sofisticación hasta llegar a Geinimi. La gran innovación de este malware fue el método de distribución: Fue la primera vez que se detectaron aplicaciones legítimas que fueron “troyanizadas” con el código malicioso. Esto quiere decir que, a diferencia de FakePlayer, Geinimi no era una aplicación completamente maliciosa sino que en realidad obtenían una aplicación legítima (en general juegos y wallpapers), le adicionaban el código malicioso y la re-empaquetaban de nuevo para distribuirla mediante sitios no oficiales.

La limitación hasta ese momento era que este malware se encontraba en foros, páginas web y app markets no oficiales en países como China o Rusia, sin embargo, esa situación estaba a punto de cambiar. En marzo de 2011 descubrieron Droid Dream, un código malicioso presente en más de 50 aplicaciones disponibles en el Android Market oficial (el que se encuentra instalado por defecto en la mayoría de dispositivos Android). Este malware, además de llegar a más usuarios alrededor del mundo (se estima que a más de 100.000), contenía dos exploits que permitían obtener permisos de administrador en el dispositivo e instalaba una aplicación completamente maliciosa que se encargaba de descargar más código malicioso en el dispositivo.

Finalmente a comienzos de Junio fue descubierto Plakton, un spyware empaquetado en aproximadamente 10 aplicaciones disponibles en el Android Market oficial que implementaba un nuevo vector de ataque: Es el primer malware que utiliza la carga dinámica de clases Dalvik para extender su funcionalidad y evadir detección. Lo anterior significa que Plakton, mientras se está ejecutando, solicita a un servidor en Internet si hay alguna actualización disponible. En caso afirmativo un archivo jar es descargado y cargado dinámicamente sin intervención del usuario lo cual era novedoso para la época en que fue descubierto este mecanismo.

El resto del artículo expone los fundamentos de Android, las herramientas y las metodologías necesarias para analizar malware en esta plataforma para luego aplicar estos conocimientos en el análisis de FakePlayer y Plankton con el fin de ver la evolución de estos dos tipos de amenazas en un periodo corto de tiempo (aproximadamente 1 año). Al final se expone una visión propia del futuro del código malicioso en Android el cual de seguro irá en aumento a medida de que la plataforma sea cada vez más popular y desde luego que la sofisticación será también cada vez mayor a medida que las herramientas de protección como los programas antivirus sean cada vez más efectivos para detectar este tipo de amenazas.

“Keyloggers” creativos en Android y ATM’s

Escrito por: Carlos Castillo  /  Categoría: Fraude electrónico, Smartphones

Una de los principales preocupaciones actualmente cuando se navega en Internet es la protección de la confidencialidad de la información; en especial la relacionada con transacciones electrónicas o información que permita identificar a una persona (Personally Identifiable Information or PII) con el fin de prevenir fraude electrónico o suplantación de identidad entre otros riesgos. Una de las herramientas más comunes para obtener dicha información de forma ilegitima son los “Keyloggers”: Componentes de software o hardware que  tienen como objetivo capturar las pulsaciones realizadas en el teclado con el fin de obtener la información que digita el usuario y enviarla hacia el delincuente informático. Tradicionalmente, los keyloggers están diseñados para funcionar en computadores tradicionales, sin embargo, debido a la cada vez más popularidad de los dispositivos móviles y la siempre llamativa idea de vulnerar el segundo método de autenticación (PIN) en cajeros automáticos, estos mecanismos están empezando a evolucionar con el fin de evitar métodos de detección y evadir medidas adicionales que se implementan para proteger la información.

Un ejemplo de estos “keyloggers” es el uso de camaras térmicas para obtener la clase secreta (PIN) de un cajero automático. La investigación fue presentada a comienzos de Agosto en el USENIX Security Symposium por investigadores de la Universidad de California. La idea consiste en detectar el calor residual dejado en cada tecla presionada mediante el uso de una cámara térmica. Lo interesante es que, aunque aún no se ha detectado la implementación de esta técnica, en realidad es factible obtener el PIN mediante el calor residual:

Fuente: Thermal Camera-Based Attacks Whitepaper

Entre las “ventajas” de este ataque está que permite evadir el mecanismo de seguridad de tapar con la mano el teclado mientras digitamos el PIN, sin embargo, es casi imposible que esta técnica funcione en un teclado metálico. De todas formas, según los investigadores, en teclados plasticos es bastante efectivo (80% en una ventana de tiempo de 10 segundos despues de que la persona presionó las teclas) permitiendo obtener las teclas e inclusive el orden en que fueron presionadas.

Un segundo ejemplo de keyloggers creativos es Touchlogger: Un keylogger que funciona haciendo uso de los datos capturados por el acelerómetro presente en casi cualquier teléfono inteligente. Investigadores de la Universidad de California Davis afirman que este keylogger funciona debido a que cada tecla tiene asociado un movimiento del dedo único que permite identificar cuál tecla se está presionando:

 

Fuente: TouchLogger Whitepaper

Según las pruebas realizadas por los investigadores, la efectividad promedio de esta técnica es del 71.5% y desde luego la precisión depende de la sensibilidad del acelerómetro, sin embargo, más del setenta porciento no es un número para nada despreciable. De otra parte, esta técnica de seguro pasaría totalmente desapercibida para el usuario debido a que casi cualquier aplicación puede hacer uso de estos datos sin requerir permisos adicionales.

Para mayor información sobre estos keyloggers, recomiendo leer los artículos oficiales disponibles en los siguientes enlaces: (Thermal Camera-Based Attacks  y TouchLogger).

Droid Dream en Hacking Exposed

Escrito por: Carlos Castillo  /  Categoría: Botnet, malware

Desde hace varios años los teléfonos celulares y, en general, los dispositivos móviles ofrecen una gran variedad de funcionalidades que van desde el tradicional mensaje de texto hasta la posibilidad de tomar fotos/videos y subirlos directamente a redes sociales como Facebook y Twitter. Adicionalmente actualmente los dispositivos móviles  más avanzados, conocidos como smartphones, cuentan con todo un ecosistema que permite simplificar la distribución e instalación de aplicaciones desde la “nube” gracias al concepto de “App Store” propuesto originalmente por Apple en su producto iPhone. Sumado a lo anterior, cada vez es más clara la posición dominante del sistema operativo Android en el mercado de los smartphones lo cual se hizo más evidente desde que Nokia anunciara que dejaba de lado Symbian para asociarse con Microsoft e implementar Windows Phone en sus dispositivos. Todos estos factores en conjunto (la creciente popularidad de los smartphones, un sistema operativo cada vez más dominante e información confidencial almacenada en los dispositivos) conllevan a que los delincuentes informáticos se comiencen a interesar por tratar de vulnerar este tipo de plataformas.

El primero de marzo de este año un usuario de la red social Reddit anunció el descubrimiento de algunas aplicaciones en el Android Market oficial que no correspondian con las versiones originales. Entre los detalles que llamaron la atención fue el cambio del nombre de la aplicación en el Market (por ejemplo una versión de Guitar Solo Lite se encontró como Super Guitar Solo) y la modificación del Manifest para incluir la ejecución en segundo plano de código malicioso imitando el vector de propagación propuesto por Geinimi a finales de 2010:

Threat Propagation Vector – Official Blog – Symantec

Adicionalmente, una vez descargada la aplicación, dentro del .apk (que en realidad es un archivo comprimido que se puede abrir con WinZip, WinRar, 7-zip etc…) se evidenció un archivo llamado “rageagainstthecage” el cual corresponde a un exploit comúnmente utilizado por la comunidad de usuarios de Android para realizar escalación de privilegios y obtener permisos de root (administrador) en el dispositivo. Otro de los archivos que llamó la atención fue una supuesta base de datos (llamado sqlite.db) que en realidad era otra aplicación (DownloadProvidersManager.apk) que era posteriormente instalada por el código malicioso inicial.

A primera vista el único propósito del malware era enviar a un servidor remoto información privada que permite identificar únicamente al dispositivo (y probablemente clonarlo) como el IMEI y el IMSI, sin embargo, su objetivo real tenía un impacto mucho mayor debido a que consistía en ejecutar dos exploits para obtener permisos de root (administrador) en el sistema y con esto poder instalar una shell con la cual podría instalar una nueva aplicación (DownloadProvidersManager.apk) embebida en el paquete inicial. Dicha apk, instalada sin el consentimiento del usuario, se encargaría de descargar nuevas aplicaciones maliciosas las cuales se ejecutarían con permisos de root en el dispositivo pudiendo hacer virtualmente cualquier acción en el dispositivo móvil.

En marzo tuve la oportunidad de participar en el Hacking Exposed Live! en donde compartí una corta presentación sobre análisis de código malicioso en Android y realicé una demostración analizando Droid Dream utilizando algunas herramientas disponibles en Internet. El Webcast está disponible en http://www.hackingexposed.com en la sección Webcasts (Hacking Exposed Live – March 2011).

Droid Dream es una muestra más de la rápida y constante evolución del código malicioso para Android, un sistema operativo para smartphones cada vez más popular por lo que se espera que esta evolución continúe, al mismo ritmo con el que aumenta el uso de estos dispositivos en todo el mundo.

Botnets móviles: ¿Una amenaza real?

Escrito por: Carlos Castillo  /  Categoría: Botnet, malware, Smartphones

Hasta hace apenas aproximadamente un año, las redes de dispositivos móviles infectados con malware controlados remotamente era tan solo un mito el cual intentaba convertirse en realidad mediante el descubrimiento del gusano Yxes.A (también conocido como Sexy View) para Symbian S60 por parte de Fortinet el 18 de febrero de 2009. En resumen, el malware presentaba los siguientes síntomas en el dispositivo: Anormal aumento en el valor de las facturas de telefonía al enviar mensajes cortos SMS, rápida pérdida de batería e imposibilidad de ejecutar algunas aplicaciones del sistema operativo (AppMgr, TaskSpy, Y-Tasks, ActiveFile, TaskMan).  Adicionalmente, intentaba silenciosamente conectarse a Internet enviando un HTTP request con el modelo del teléfono, número serial, número de subscripción y la versión del gusano colocando dicha información en un servidor remoto. En esa época, Guillaume Lovet, senior manager del Fortinet’s Threat Research Team afirmó: “We’re really at the edge of a mobile botnet here” .

Unos meses después apareció iKee, la primera red de iPhones controlados de forma remota a través de una red 3G gracias a el conocimiento de una contraseña por defecto del servicio de consola remota SSH. Al parecer los delincuentes informáticos se estaban dando cuenta del incremento de la banca móvil y del creciente uso de los dispositivos móviles a nivel mundial. Con respecto a esto, un estudio reciente  afirma que el mercado de aplicaciones móviles para teléfonos inteligentes crecerá un 807% hasta el año 2013 y se espera que para esa época existan 970 millones de terminales denominados inteligentes lo cual es un mercado bastante apetecido para atacar, sobretodo si entre esas aplicaciones que se desarrollan existen las que encajan dentro de la categoría de “Banca Móvil”.

Ahora bien, luego de conocer el gran impacto que tuvo este malware en la comunidad iPhone y del gran potencial que tienen las aplicaciones móviles en el mercado, unos investigadores del TippingPoint’s Digital Vaccine Group desarrollaron una aparentemente “inofensiva” aplicación de información del clima (WheaterFirst) para dispositivos Android y iPhone. Lo que no sabían las personas que instalaron el malware es que en realidad estaban infectando sus dispositivos para hacerlos parte de una botnet de más de 8.000 dispositivos los cuales enviaban constantemente las coordenadas GPS de los usuarios a Internet. La distribución del software fue realizada a través de mercados de aplicaciones de terceros como Cydia, SlideME y Modmyi para que pudiera ser instalada en dispositivos liberados con permisos para ejecutar aplicaciones generalmente no aprobadas por iPhone y Android. Para probar el peligro de una Botnet Móvil, crearon una versión maliciosa de la aplicación llamada WeatherFistBadMonkey la cual es muy similar a la original solo que antes de efectuar su función principal (enviar coordenadas GPS a Internet para mostrar información del clima), se encarga de realizar actividades características de un dispositivo zombie (robar información confidencial y enviar spam).

Por último, como muestra fehaciente de la constante evolución de esta amenaza, el 4 de marzo de 2010 de nuevo el equipo de Fortinet descubrió una nueva variante del gusano para Symbian Yxes. Este nuevo malware contacta servidores remotos, los cuales contienen páginas JSP (Java Server Pages), y envía “atractivos” mensajes cortos SMS que incluyen una URL maliciosa para provocar la infección en los contactos que tiene el dispositivo de la victima.  La novedad más notoria de esta versión es que ahora utiliza páginas JSP para enviar la información robada de la siguiente forma:

http://XXXX/Jump.jsp?Version=2.0&PhoneType=…&PhoneImei=…&PhoneImsi=…&Source=..

El argumento Source aún no se ha podido determinar qué información lleva, sin embargo, se sospecha que sea el nombre del sitio web malicioso que fue usado para infectar el dispositivo. Lo realmente preocupante, tanto de esta versión como de las anteriores, es que cuenta con un certificado de Symbian legítimo el cual no ha sido revocado por lo que cualquier dispositivo que soporte la aplicación puede instalar Yxes debido ésta se encuentra firmada digitalmente. Con lo anterior se confirma que los delincuentes informáticos continúan trabajando en Yxes desde finales de 2008 realizando cada vez más mejoras en el código malicioso sin que exista control por parte de Symbian.

En conclusión, el mercado de la inseguridad en dispositivos móviles va en aumento y es cada vez más apetecido por los delincuentes informáticos. Si bien estoy de acuerdo con Graham Cluley de Sophos  quien afirma que no era necesario realizar el experimento de WeatherFist para probar que una aplicación maliciosa podía ser distribuida e instalada por una gran cantidad de usuarios sin que se dieran cuenta de la amenaza, si pienso que los controles que ejercen Apple, Android y Symbian (cada uno en su medida) en sus medios de distribución de aplicaciones ayudan a filtrar esas aplicaciones que pueden tener comportamiento malicioso. Esto ayuda bastante a mitigar el riesgo de infección con malware debido en gran parte a que actualmente dicha infección requiere en un gran porcentaje de las veces de la interacción del usuario. Entonces, ¿Qué falta para que este problema se masifique en los dispositivos móviles a nivel mundial? Como dice Mikko Hypponen, Chief Research Officer de F-Secure, “Tarde que temprano, veremos el primer ataque mediante exploit y, cuando eso suceda, todo cambiará”.

Análisis de Google Phone (Nexus One)

Escrito por: Carlos Castillo  /  Categoría: Smartphones

Primero fue el motor de búsqueda el cual llamamos simplemente “Guugol”, “San Guugol”, “Doctor Guugol” entre otros. Luego, para sacarle provecho a la idea, lanzaron Google AdWords y Google AdSense. Hasta ahí nada raro, sin embargo, fueron más allá… Google Mail (Gmail), Google Earth, Google Maps, Google Groups, Google News, Google Apps, Google Talk, Google Video (Youtube), Google Desktop, Android (participación), Google Chrome, (Google, Gooogle y más Goooooogle) son un pequeño ejemplo de la gran variedad de productos y servicios que tienen, en su gran mayoría, una característica común: son gratuitos.

Sin embargo, Google no paró ahí. En los últimos años hemos visto fuertes apuestas en el mundo TI, muy al estilo Microsoft pero relacionadas con el dominio de “la nube”: Google URL Shortener y Google DNS . Gran parte de todo este trabajo realizado en los últimos 10 años se ha sintetizado en el tema del presente post; en la llamada gran amenaza del iPhone (una más luego del Droid): Nexus One (Google Phone).

Lanzado el día de ayer, 5 de enero, ha sido y será noticia durante una cantidad considerable de tiempo (un par de meses). Es por eso que merece la pena analizarlo, compararlo y, desde luego, revisar el aspecto que más me interesa: la seguridad de la información.

Para resumir un poco las especificaciones técnicas, compararé los aspectos diferenciadores más importante respecto a los dispositivos móviles de punta actualmente:

COMPARATIVO

El siguiente cuadro lo realicé tomando en cuenta lo que, en mi concepto, es relevante comparar entre los diferentes dispositivos móviles:

Fuente de las especificaciones: Movilzona y Google Phone

Según la tabla, al parecer el ganador es Nexus One, un teléfono potente de última tecnología y respaldado por una gran marca como lo es Google. Esperen la segunda parte de este análisis en donde hablaré un poco de las características innovadoras y diferenciadoras del Nexus One.

Por: Carlos A. Castillo L.