El acceso sin procesar a la memoria es útil al realizar análisis forenses de datos o al piratear dispositivos. A veces, necesita una instantánea de la memoria para poder analizar qué está sucediendo con los cargadores de arranque bloqueados, obtener una instantánea de una ubicación de memoria para rastrear un error o simplemente para averiguar la ubicación de memoria adecuada de su puntuación de Angry Birds. Aquí es donde entra en juego Linux Memory Extractor, también conocido comoLiME Forensics. LiME es un módulo de kernel cargable que le permite acceder a la gama completa de memoria del dispositivo. Tan pronto como el módulo de 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, el autor de LiME Forensics, que explicara los beneficios de LiME sobre herramientas tradicionales como viewmem:
Para responder a sus preguntas, las herramientas se diseñaron con diferentes usos. LiME está diseñado para obtener un volcado completo de la memoria física de la RAM para análisis forense o investigación de seguridad. Lo hace todo en el espacio del núcleo y puede volcar una imagen en el sistema de archivos local o a través de TCP. Está diseñado para brindarle una copia lo más fiel posible de la memoria física, al tiempo que 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 el ámbito forense por varias razones. En primer lugar, /dev/mem y /dev/kmem se están eliminando gradualmente y cada vez hay más dispositivos que no los incluyen. En segundo lugar, /dev/mem y /dev/kmem limitan la lectura a los primeros 896 MB de RAM. Además, la herramienta está provocando varios cambios de contexto entre el espacio de usuario y el espacio de kernel por cada bloque de memoria leído y está sobrescribiendo la RAM con sus búferes.Yo diría que cada herramienta tiene su utilidad. Si solo necesitas saber el contenido de una dirección que está dentro de los primeros 896 MB de RAM y tu dispositivo tiene /dev/mem y /dev/kmem y no te interesa capturar una imagen con validez 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 depende de los dispositivos/dev/memy/dev/kmem . Dado que los dispositivos/dev/memy/dev/kmempermiten el acceso directo a la memoria del dispositivo, son una vulnerabilidad. Estos dispositivos Linux están siendo eliminados, ya que han sido el objetivo de múltiples ataques en los últimos tiempos. LiME no solo reemplaza la utilidad viewmem, sino que lo hace mejor.
Fabricantes, tomen nota: al bloquear las características que desean los desarrolladores, promueven el desarrollo de mejores herramientas.
Fuente: LiME Forensicsy entrevista con el autor Joe Sylve
[Crédito de la imagen:Presentación de LiMEpor Joe Sylve]