• No results found

Background information obtained from semi-structured Interviews

Chapter 3: Accounting for Goodwill in Malaysia

3.2 History of the development of an accounting standard on goodwill in

3.2.5 Background information obtained from semi-structured Interviews

Debido a que el preocupante aumento de popularidad de amenazas propias de entornos de escritorio, tales como rootkits y otros tipos de malware, en dispositivos móviles es un fenómeno relativamente novedoso, las técnicas de captura y análisis de memoria física, elementos

Anexo A

172

esenciales de la Informática Forense, no están tan establecidas y depuradas en plataformas de computación móvil como lo están en las tradicionales de sobremesa. A pesar de que existen propuestas en el ámbito de la Informática Forense aplicada a dispositivos móviles, la mayor parte de ellas describen técnicas basadas en mecanismos del propio sistema operativo móvil [Me2008], resultando inapropiadas en entornos caracterizados por el modelo de caja blanca, o plantean mecanismos de adquisición lógica [Thing2010]. Dadas las especiales características del contexto que define las propuestas de este trabajo, sólo la adquisición física resulta adecuada al permitir recuperar imágenes idénticas bit a bit a los originales, sin posibilidad de que componentes software maliciosos puedan comprometer los mecanismos utilizados para realizar la adquisición [Hoog2011].

Es interesante hacer hincapié en el hecho de que la investigación forense de plataformas de computación diversas siempre es un proceso en dos fases. En primer lugar se lleva a cabo la adquisición de datos, con la forma que estos puedan tener en función de su origen, para posteriormente abordar el análisis de los mismos con el objetivo de extraer artefactos lógicos útiles de los que puedan obtenerse evidencias relevantes. De estas dos fases, sólo la primera es, por su naturaleza, dependiente del sistema objeto de estudio, mientras que la segunda puede llevarse a cabo utilizando siempre las mismas herramientas si la generalidad de las mismas permite el análisis de los tipos necesarios de datos. Por tanto, para poder validar los conceptos presentados es necesario crear un entorno en el que sea posible adquirir imágenes de memoria de una plataforma de computación móvil que ejecute un sistema operativo rico (el REE) para su posterior análisis (el TEE).

Así, se escoge en primer lugar Android como sistema operativo rico cuyas imágenes de memoria serán analizadas. Desplegado sobre el hardware adecuado, Android supone un REE idóneo para este entorno gracias a su carácter de código abierto. Además, el núcleo de Android está basado en el núcleo de Linux, lo que permite utilizar con él las herramientas ya existentes aplicables a éste último, y es el ejemplo más significativo en el ámbito de los sistemas operativos móviles, con la cuota de mercado más alta de entre todas las alternativas existentes hoy en día [ABI2014]. Con objeto de implementar un escenario lo más próximo posible al descrito en las propuestas de este trabajo, se opta por desplegar Android en un dispositivo virtual en lugar de utilizar uno físico. Este extremo no tiene influencia alguna en la calidad de los resultados obtenidos en el entorno, al ser los mecanismos de virtualización transparentes para el resto del escenario, pero permite representar más fielmente la relación existente entre el REE y el TEE, ya que desde la capa de virtualización puede controlarse el hardware y el software virtuales de una forma que se asemeja en gran medida al control que puede ejercerse desde el TEE sobre el REE. Como tecnología de virtualización se utiliza VirtualBox [Oracle2014a] por tratarse de una herramienta de gran solidez y alto grado de utilización, además de ser de código abierto. Esta infraestructura de virtualización constituye el soporte necesario para AndroVM (ahora conocido como GenyMotion) [Fages2013], una máquina virtual Android que cumple el rol de sistema operativo rico.

La elección del REE influye de forma decisiva en el abanico de herramientas de análisis que pueden utilizarse, ya que es necesario seleccionar una que sea capaz de trabajar con las imágenes de memoria que dicho REE produzca. De entre las múltiples alternativas existentes,

Instalación y configuración de un entorno de adquisición y análisis de memoria física

173 resulta de especial relevancia Volatility [Auty2014], un entorno de análisis forense de muestras de memoria física de código abierto desarrollado en Python que, aunque concebido en sus orígenes para el análisis de sistemas basados en Windows, incorpora en sus últimas versiones múltiples utilidades orientadas a sistemas Linux y Mac. Gracias al soporte de las estructuras típicas del núcleo de Linux, Volatility puede utilizarse también para efectuar análisis de imágenes de memoria procedentes de sistemas Android, como se mostrará más adelante. Esta herramienta se constituye así en el elemento clave del TEE de demostración.

Una vez determinados el sistema de base del REE y la herramienta que se utilizará para llevar a cabo el análisis de imágenes de memoria en el TEE, únicamente es necesario un tercer elemento que permita cubrir el espacio entre ambos, es decir, una técnica que permita obtener dichas imágenes de memoria. Los propios autores de Volatility recomiendan LiME (Linux Memory Extractor) [Sylve2012], denominada originalmente DMD, una de las primeras herramientas capaces de hacer capturas físicas de memoria volátil con resultados razonables en sistemas cuyo núcleo esté basado en el de Linux. LiME tiene la forma de un módulo del núcleo que es posible cargar dinámicamente y que exporta imágenes completas de la memoria RAM del dispositivo a la tarjeta SD o disco del mismo o a una estación de trabajo remota a través de la red. El objetivo de esta herramienta es ser utilizada en el ámbito de la obtención de evidencias forenses, por lo que está diseñado para tener un impacto mínimo en el sistema cuya memoria se desea adquirir. Aunque Android está basado en Linux, existen sutiles diferencias de implementación que impiden utilizar otras herramientas más convencionales que sí pueden emplearse en otros sistemas Linux (como acceder a la memoria directamente a través del dispositivo lógico /dev/mem), pero LiME fue desarrollado desde el comienzo como herramienta de adquisición para sistemas Android.

Aunque LiME es la mejor alternativa cuando se desea adquirir memoria de dispositivos físicos, existen otras posibilidades cuando se trabaja con dispositivos virtualizados. Como se comentaba anteriormente, la capa adicional de virtualización ofrece mecanismos para acceder directamente a la memoria de los sistemas que se ejecutan sobre ella. Este enfoque tiene dos ventajas fundamentales: la precisión, ya que se adquiere una copia idéntica de la memoria volátil virtual del dispositivo, y la no contaminación del sistema analizado, puesto que, aunque muy pequeña, la introducción de LiME en el núcleo supone la modificación del sistema original. Con todo, la Figura 52 presenta una perspectiva general del escenario de demostración y validación.

Anexo A

174

Figura 52. Herramientas empleadas en la implementación del entorno de demostración y validación Las subsecciones siguientes describen los detalles de instalación y configuración de los diferentes elementos que componen el entorno, describiendo de forma especialmente pormenorizada los detalles que pueden presentar una mayor dificultad o complejidad a la hora de replicarlo. El sistema operativo de base utilizado es Ubuntu 12.04, por lo que las instrucciones presentadas son las que corresponden a este sistema. Sin embargo, las herramientas utilizadas están también disponibles para entornos Windows y el procedimiento sería también aplicable a este tipo de sistemas, aunque algunas de las tareas involucradas podrían presentar alguna complejidad adicional en estos.