Menú principal

lunes, 24 de octubre de 2011

Usa Instruments para analizar aplicaciones "sospechosas"

Los llamados Instruments - antiguamente conocidos como XRay - son en realidad un analizador de rendimiento integrado en XCode desde su versión 3.0. Esta herramienta está basada en la conocida aplicación DTrace, con la diferencia que caracteriza todos los productos de la marca Apple: El diseño y la comodidad. En este articulo se verá cómo se puede utilizar Instruments para realizar el análisis de aplicaciones de las cuales sospechemos que realizan otras tareas añadidas además de las que afirman hacer. Es decir, para detectar comportamientos de adware, spyware o malware.

Para arrancar el ejecutable de Instruments debemos ejecutar el binario que se encuentra en la ruta /Developer/Applications/Instruments.app. En caso de que no tengamos este fichero, podremos obtenerlo mediante la instalación de XCode.

Una vez iniciado se nos mostrará un wizzard con distintas plantillas a utilizar, dependiendo de qué tipo de análisis queramos realizar en base a los recursos - RAM, CPU, sistema de ficheros, red, etcétera - o al tipo de dispositivo - iOS, simulador de iOS o Mac OS X –

En nuestro caso optaremos por elegir una plantilla en blanco a la cual le iremos añadiendo los instrumentos que consideremos oportunos dependiendo del software concreto a analizar. Estos instrumentos los podremos seleccionar desde la ventana Library, la cual se puede mostrar/ocultar con la combinación de teclas Cmd+L.

Figura 1: Plantillas de análisis en Instruments

Elegirlos es tan simple como arrastrarlos sobre la barra de Timeline que ofrece la interfaz de Instruments. Nosotros, para un primer análisis nos hemos decantado por los siguientes: Process y Network Activity,  que están en Library/System, y  File Activity y Directory I/O que están en en Library/File System.

Figura 2: Selección de Instrumentos a usar en el análisis

Para iniciar el análisis tenemos distintas opciones. Podemos realizarlo sobre todos los procesos que estemos ejecutando en este momento (Choose Target -> All Processes), podemos realizarlo sobre un proceso ya en ejecución (Choose Target -> Attach to process), o realizarlo sobre un binario que aun no hayamos ejecutado (Choose Target -> Choose Target).

Figura 3: Selección de objetivo, en este caso Filezilla

A partir de este momento, y con los instrumentos seleccionados, estaremos monitorizando todas las llamadas a la API que tengan relación con la creación de procesos, trafico de red o creación/modificación/eliminación de ficheros o directorios.

Figura 4: Recogida de datos de actividad durante el análisis

Una vez hemos realizada la recogida de datos toca la fase más minuciosa, el análisis de los mismos, pudiendo encontrar cosas tan extrañas como el directorio de cache que utiliza Filezilla.

No hay comentarios:

Publicar un comentario en la entrada

Artículos relacionados

Otras historias relacionadas

Entradas populares