La memoria forense es un análisis forense del volcado de memoria de una computadora . Su aplicación principal es la investigación de ataques informáticos avanzados que son lo suficientemente sigilosos como para evitar dejar datos en el disco duro de la computadora . En consecuencia, la memoria (por ejemplo, RAM ) debe analizarse en busca de información forense.
Hasta principios de la década de 2000, el análisis forense de la memoria se realizaba de forma ad hoc (lo que se denomina análisis no estructurado ), a menudo utilizando herramientas genéricas de análisis de datos como cadenas y grep . [1] Estas herramientas no están creadas específicamente para análisis forense de la memoria y, por lo tanto, son difíciles de usar. También proporcionan información limitada. En general, su uso principal es extraer texto del volcado de memoria. [2]
Muchos sistemas operativos proporcionan funciones a los desarrolladores del kernel y a los usuarios finales para crear una instantánea de la memoria física con fines de depuración (por ejemplo, volcado de núcleo o pantalla azul de la muerte ) o para mejorar la experiencia (por ejemplo , hibernación ). En el caso de Microsoft Windows , los volcados de memoria y la hibernación estaban presentes desde Microsoft Windows NT . Los volcados de memoria de Microsoft siempre habían sido analizables por Microsoft WinDbg , y los archivos de hibernación de Windows ( hiberfil.sys ) hoy en día son convertibles en volcados de memoria de Microsoft usando utilidades como MoonSols Windows Memory Toolkit diseñado por Matthieu Suiche . [ cita necesaria ]
Un paso significativo hacia el análisis estructurado se dio en un artículo de febrero de 2004 en la revista SysAdmin, donde Michael Ford demostró una práctica más rigurosa de la memoria forense. [3] En ese artículo, analiza un rootkit basado en memoria que utiliza la utilidad de bloqueo de Linux existente , así como dos herramientas desarrolladas específicamente para recuperar y analizar la memoria de forma forense, memget y mempeek. [ cita necesaria ]
En 2005, DFRWS publicó un Desafío Forense de Análisis de Memoria. [4] En respuesta a este desafío, se crearon más herramientas en esta generación, diseñadas específicamente para analizar volcados de memoria, como MoonSols, KntTools, FATKit, VolaTools y Volatility . [1] Estas herramientas tenían conocimiento de las estructuras de datos internas del sistema operativo y, por lo tanto, eran capaces de reconstruir la lista de procesos y la información del proceso del sistema operativo. [4]
Aunque concebidos como herramientas de investigación, demostraron que el análisis forense de la memoria a nivel del sistema operativo es posible y práctico. [1]
Posteriormente, se desarrollaron varias herramientas forenses de la memoria destinadas a un uso práctico. Entre ellas se incluyen herramientas comerciales como Responder PRO, Memoryze, Winen, Belkasoft Live RAM Capturer, etc. Se han añadido nuevas funciones, como el análisis de volcados de memoria de Linux y Mac OS X, y se han llevado a cabo importantes investigaciones académicas . [5] [6]
A diferencia de Microsoft Windows, el interés por Mac OS X es relativamente nuevo y solo lo inició Matthieu Suiche [7] en 2010 durante la conferencia de seguridad Black Hat Briefings . [ cita necesaria ]
Actualmente, la memoria forense es un componente estándar de la respuesta a incidentes . [1]
A partir de 2010, más utilidades se centraron en el aspecto de visualización del análisis de la memoria, como MoonSols LiveCloudKd presentado [8] [ cita necesaria ] por Matthieu Suiche en Microsoft BlueHat Security Briefings que inspiró [9] una nueva característica en Microsoft LiveKd escrita por Mark Russinovich [ 10] para permitir la introspección de las máquinas virtuales accediendo a la memoria de la máquina virtual invitada desde la máquina virtual host para analizarlas directamente con la ayuda de Microsoft WinDbg o adquirir un volcado de memoria en un formato de archivo de volcado de memoria de Microsoft. [ cita necesaria ]