Módulo de kernel LiME Forensics para instantáneas de memoria sin procesar

El acceso sin formato a la memoria es útil al realizar análisis forenses de datos o al piratear dispositivos. A veces necesitas una instantánea de la memoria para poder analizar lo que sucede con los gestores de arranque bloqueados, obtener una instantánea de una ubicación de memoria para localizar un error, o simplemente para descubrir la ubicación de memoria adecuada de su Angry Los pájaros puntúan. Aquí es donde Linux Memory Extractor, también conocido como. LiME Forense, viene en. LiME es un módulo de kernel cargable que le permite acceder a toda la gama de memoria del dispositivo. Tan pronto como el módulo del kernel se carga en la memoria, básicamente toma una instantánea, lo que permite una depuración muy eficiente.

Le pedí a Joe Sylve, autor de LiME Forensics, que explicara los beneficios de LiME sobre las herramientas tradicionales como viewmem:

Para responder a sus preguntas, las herramientas fueron diseñadas con diferentes usos. LiME está diseñado para adquirir un volcado completo del diseño de la memoria física de la RAM para análisis forense o investigaciones de seguridad. Lo hace todo en el espacio del kernel y puede volcar una imagen al sistema de archivos local o a través de TCP. Está diseñado para brindarle una copia lo más cercana posible a la memoria física, mientras minimiza su interacción con el sistema.

Parece que viewmem es un programa de usuario que lee un rango de direcciones de memoria virtual desde un dispositivo de memoria, como /dev/mem o /dev/kmem e imprime el contenido en stdout. No estoy seguro de que haga más que simplemente usar dd en uno de esos dispositivos.

Esto es menos aceptable en ciencia forense por varias razones. En primer lugar, /dev/mem y /dev/kmem se están eliminando gradualmente y cada vez más dispositivos no se envían con esos dispositivos. En segundo lugar, /dev/mem y /dev/kmem le limitan a leer desde los primeros 896 MB de RAM. Además, la herramienta está provocando varios cambios de contexto entre el área de usuario y el área del kernel para cada bloque de memoria leído y sobrescribe la RAM con sus buffers.

Yo diría que cada herramienta tiene su uso. Si sólo necesita saber el contenido de una dirección que se encuentra dentro de los primeros 896 MB de RAM y su dispositivo tiene /dev/mem y /dev/kmem y no le importa capturar una imagen con sonido forense, entonces viewmem (o dd) sería útil. Sin embargo, LiME no fue diseñado específicamente para ese caso de uso.

Lo más importante, para los hackers de memoria, es que viewmem se basa en el /dev/mem y /dev/kmem dispositivos. desde el /dev/mem y /dev/kmem Los dispositivos permiten el acceso directo a la memoria del dispositivo, son una vulnerabilidad. Estos dispositivos Linux se están eliminando gradualmente, ya que últimamente han sido objeto de múltiples ataques. LiME no sólo reemplaza la utilidad viewmem, sino que lo hace mejor.

Los fabricantes tomen nota: al bloquear las funciones que los desarrolladores desean, promueve el desarrollo de mejores herramientas.

Fuente: LiME Forense Y entrevista con el autor Joe Sylve

[Credito de imagen: Presentación LiME por Joe Sylve]