miércoles, noviembre 11, 2015

Usar "singularidades" en apps para hacer Limpieza de Área

Hace muchos años tuve la oportunidad de escuchar una charla del MSRC (Microsoft Security Response Center) en el que explicaban cómo se solucionaba un bug descubierto en uno de sus productos. Dentro del proceso de corrección existían una serie de acciones dedicadas a la limpieza de área. Básicamente, si se descubría un bug en una línea de código se analizaban primero las líneas de código cercanas - o realizadas por el mismo desarrollador en el producto - y las líneas de código de otros productos que pudieran llevar funciones similares.

Figura 1: Usar singularidades en apps para hacer Limpieza de Zona

A día de hoy el proceso es mucho más elaborado, y también se crean expresiones regulares de búsqueda de código en todos los repositorios de la compañía para buscar el mismo fallo, se documentan los bugs, se alimentan los motores de análisis de código estático para detectarlas en tiempo de compilación, etcétera.

Limpieza de área en markets de aplicaciones

El concepto de Limpieza de Área, en el mundo de las apps maliciosas en los markets de aplicaciones, es un poco distinto, pero se debe realizar de igual forma. Nosotros, como ya os he contado en múltiples conferencias de Tacyt, intentamos localizar todas las apps relacionadas con una determinada campaña por medio de singularidades. Es decir, por medio de combinaciones de características de las apps que nos permiten relacionar unas con otras. Así, cuando en las noticias descubrimos cierta app maliciosa, intentamos localizar en nuestro Big Data aquellas que tienen singularidades comunes con las ya detectadas.


Figura 2: Presentación de Tacyt. Anomalías y Singularidades

En este trabajo, por ejemplo, hace un mes utilizamos las singularidades para enlazar todas las últimas familias de adware en Android que habían sido bautizadas con distintos nombres por las compañías de seguridad. O lo que es lo mismo, que las personas que estaban detrás de ellas son las mismas personas haciendo nuevos trabajos. Esto lo tenéis explicado en un documento técnico que está publicado en el artículo titulado: "El adware en Android es una gran familia".


En esta misma línea de trabajo, en Eleven Paths estamos atentos a la actualidad relativa al mundo de las apps maliciosas y cuando nos enteramos de la aparición de una nueva app maliciosa, intentamos hacer la Limpieza de Área creando singularidades en Tacyt. Así, en estas últimas semanas han sucedido un par de casos en los que hemos localizado más apps maliciosas, que os paso a resumir a continuación.

Apps maliciosas que simulan ser documentos de Excel... y Word

Los investigadores de ZScaler publicaron un trabajo en el que analizaban una app maliciosa que simulaba ser un documento de Microsoft Office. Para ello utilizaban el famoso icono de un documento de Microsoft Word para engañar visualmente a la víctima, que luego sufría el robo de información, de SMSs, etcétera. 

Figura 4: App maliciosa localizada por ZScaler

Cuando recogimos esta app y la analizamos dentro de nuestro sistema Tacyt para hacer la Limpieza de Área, fuimos capaces de seguir por medio de singularidades - utilizando técnicas similares a las que os hemos contado en el pasado en muchos artículos - para llegar a apps que estaban subidas a Google Play y utilizan el mismo truco. En este caso no eran SMS Stealers tan agresivos como la muestra localizada por ZScaler fuera de Google Play, pero sí que vimos que utilizaba el mismo truco de usar un icono de Microsoft Office - de Excel en este caso -.

Figura 5: Una de las apps localizadas en la Limpieza de Área

Lo más importante es que al final, gracias a las singularidades, fuimos capaces de correlacionar la identidad de un creador de malware para Android con un desarrollador de Google Play, con lo que aumentamos la información disponible para completar la investigación y, por supuesto, le ponemos una alerta de vigilancia a los movimientos de ese desarrollador.

Apps "troyanizadas" con servidores HTTP

Otro ejemplo similar a este anterior, ha sido el que hemos publicado la semana pasada. En una investigación Trend Micro alertó de un SDK popular en el mundo Android llamado Moplus que instala en el terminal un servidor HTTP. Este servidor web, llamado nanoHTTPd, viene con un API en el SDK que permite una serie de comandos como localizar la ubicación GPS de un dispositivo, subir o descargar archivos. El número de apps afectadas son muchas, y algunas con miles de descargas según las investigaciones de Trend Micro

Figura 6: Lista de comandos aceptados por este SDK

Sin embargo, cuando nosotros hicimos la limpieza de área usando singularidades en Tacyt hemos sido capaces de localizar muchas apps - muchas aún publicadas en Google Play - afectadas con este SDK con backdoor HTTP, algunas de ellas con hasta 5 Millones de descargas, lo que deja a las claras la importancia de este problema de seguridad.

Figura 7: Prueba de conexión al Backdoor HTTP

Al final, Tacyt es una herramienta de investigación para investigadores que saben qué es lo que buscan y es perfecta justo para esto, para realizar la limpieza de área de seguridad después de un descubrimiento ya que podemos hacer "Correlación Espacial" a lo largo de diferentes markets y "Correlación Temporal" a lo largo del tiempo. 

Figura 8: Algunas de las apps afectadas por este SDK con Backdoor

Si necesitas hacer una Limpieza de Área con algún descubrimiento que hayas hecho, ponte en contacto con nosotros y vemos si podemos ayudarte para publicar la investigación y alertar a todo el mundo cuanto antes.

Saludos Malignos!

2 comentarios:

  1. ¿Correlar? ¿Qué es correlar? Por el mar correlan liebres, por el monte las sardinas, tralará...

    ResponderEliminar
  2. Creo que este sistema nos evitará a los virus creados con la táctica..... Control+C Control+V
    Compartirán parte de código común.
    No lo veo tanto para virus que exploten la misma brecha de seguridad.
    Salud

    ResponderEliminar