Menú principal

lunes, 5 de marzo de 2012

fs_usage: Monitorizar los accesos a ficheros de procesos

Para analizar el comportamiento de las aplicaciones en vuestro sistema de ficheros os indicamos que podíais hacer uso de Instruments, un modulo de monitorización que viene con el entorno de desarrollo de XCode. Sin embargo, si no tienes instalado el IDE tienes otras opciones que puedes utilizar para analizar qué hace o cómo lo hace en vuestro sistema de ficheros un determinado proceso.

Como comando en Mac OS X está disponible fs_usage, una utilidad que permite conocer qué uso de accesos al sistema de ficheros o a la red está siendo realizado por los procesos activos en el sistema, lo que da mucha flexibilidad a la hora de analizar lo que pasa en el equipo.

Figura 1: comando fs_usage, que debe usarse como root

Como se puede ver en la ayuda, la utilidad permite generar una salida de actividad en base al número de identificación del proceso, al nombre del mismo o a la ruta del comando de ejecución, por lo que es posible analizar el comportamiento a lo largo de un periodo de tiempo. Además, es posible filtrar la actividad con el comando mode, para saber cuando se está haciendo uso de la red, se está accediendo al sistema de ficheros, se está haciendo uso de execs o se tiene aciertos en la caché.

Un ejemplo de análisis de acceso a ficheros con Adium

Así, conocer por ejemplo, qué ficheros utiliza una aplicación como Adium - cliente de chats - en el proceso de login de una cuenta, sería tan sencillo como arrancar la aplicación, buscar su PID en el sistema y lanzar un proceso de monitorización con fs_usage.

Figura 2: Activación de fs_usage para Adium

Una vez lanzado el proceso de monitorización, se hace uso de la aplicación, en concreto de las funciones de las que interesa conocer qué hacen, y después se analiza el fichero de salida. En este caso, en Adium queríamos saber en qué fichero guardaba las cuentas añadidas a la aplicación, y es posible descubrir que, cuando se selecciona la opción de conectarse, la aplicación accede a estos ficheros.

Figura 3: fichero accedido por Adium en el proceso de login de una cuenta

El primero de los que analizamos para ver si almacena datos de las cuentas es PasswordPromt.nib,  que resulta ser al final un fichero en formato plist que guarda la configuración y los textos de las preferencias del proceso de solicitar la contraseña. Pensándolo mejor era de esperar que ahí no estuviera ninguna información de la cuenta, ya que se encuentra en la ruta da la aplicación y no en el perfil de usuario.

Figura 4: Contenido del fichero PasswordPromt.nib

Sin embargo, si miramos más abajo, se puede ver cómo la aplicación llama a un archivo llamado accounts.xml que se encuentra en el perfil del usuario, donde es más probable que la aplicación tenga guardada los datos de las cuentas de chat del usuario.

Figura 5: Fichero accounts.xml en el perfil de usuario

Y podemos ver cómo ahí se encuentra toda la información de las cuentas que buscamos.

Figura 6: Contenido de accounts.xml donde se almacenan las cuentas de Adium del usuario

Este proceso es una forma útil de analizar una aplicación, y que puede ser muy útil en procesos forenses en los que haya que sacar información de un sistema operativo que cuenta con una serie de aplicaciones concretas. Instalar estas aplicaciones en otro sistema, y analizar la aplicación puede ayudar a saber dónde buscar los datos de la imagen que hay que analizar.

No hay comentarios:

Publicar un comentario en la entrada

Artículos relacionados

Otras historias relacionadas

Entradas populares