7 Outils pour analyser la mémoire sous Linux

memory dump

Cette semaine, j’ai été confronté à un problème sur un de mes serveurs de production.

Afin d’analyser et de localiser le souci, j’ai voulu dumpé la mémoire de mon serveur Linux, c’est à dire sauver la mémoire à un instant T dans un fichier afin de pouvoir l’analyser ensuite grâce à différents outils.

Ce type d’analyse est appelé “forensics analysis” et permet de tester votre serveur Linux:

  • détecter les codes et les données qui sont actuellement utilisés en mémoire.
  • chercher un processus spécifique dans la mémoire.
  • rechercher une chaine de caractères ou un autre type de données.
  • utiliser le dump dans d’autres logiciels.
  • chercher, remplacer et dumper la mémoire des processus courants et des processus du noyau ou du kernel.
  • détecter des tentatives d’intrusion ou de hacking sur votre serveur, et corriger les failles existantes.

LiME (Linux Memory Extractor)

Voici la présentation du site officiel:

LiME (formerly DMD) is a Loadable Kernel Module (LKM), which allows the acquisition of volatile memory from Linux and Linux-based devices, such as those powered by Android. The tool supports acquiring memory either to the file system of the device or over the network. LiME is unique in that it is the first tool that allows full memory captures from Android devices. It also minimizes its interaction between user and kernel space processes during acquisition, which allows it to produce memory captures that are more forensically sound than those of other tools designed for Linux memory acquisition.

=> Télécharger LiME

Draugr

Voici la présentation du site officiel:

By using /dev/(k)mem or a memory dump, Draugr can be used to access easily in python to this memory, play (read, write, disassemble, search) with it … and can find system information (processes …) by different methods. It can find kernel symbols (pattern matching in a XML file or with EXPORT_SYMBOL), processes (informations and sections) (by the kernel linked list or bruteforce) and disassemble/dump the memory.

=> Télécharger Draugr

Volatilitux

Volatilitux est une évolution de la solution Volatility pour les systèmes Linux. Volatilitux permet de faire des dumps mémoire des systèmes suivants:

  • ARM
  • x86
  • x86 with PAE enabled

Il supporte les commandes suivantes:

  • pslist: affiche la liste des processus
  • memmap: affiche la map mémoire d’un processus
  • memdmp: dumpe la mémoire d’un processus
  • filelist: affiche la liste des fichiers ouverts par un processus
  • filedmp: dumpe un fichier ouvert

=> Télécharger Volatilitux 

Memfetch

Memfetch est un utilitaire qui permet de dumper la mémoire d’un processus. Le dump peut être programmé pour se déclencher sur un évènement, ce qui permet à Memfetch d’être un outil complémentaire à de nombreux utilitaires de debug et d’analyse.
It is a simple utility to dump all memory of a running process, either immediately or when a fault condition is discovered. It is an attractive alternative to the vastly inferior search capabilities of many debuggers and tracers – and a convenient way to grab

Pour installer Memfetch sur FreeBSD:

pkg_add -r -v memfetch

Pour installer Memfetch sur Linux:

wget http://lcamtuf.coredump.cx/soft/memfetch.tgz
tar xvf memfetch.tgz
cd memfetch && make

=> Télécharger Memfetch

Memgrep

Memgrep est un utilitaire qui permet de chercher, remplacer et dumper la mémoire d’un processus ou d’un processus système.

Pour installer Memgrep sur FreeBSD:

pkg_add -r -v memgrep

Pour installer Memgrep sur Linux:

apt-get install memgrep

=> Télécharger Memgrep

Memdump

Memdump est un programme qui permet de dumper la mémoire physique.

Pour installer Memdump sur FreeBSD:

pkg_add -r -v memdupm

Pour installer Memdump sur Linux:

apt-get install memdump

Foriana

Foriana est un autre outil qui permet d’extraire des informations tels que les processus et les modules chargés en mémoire. L’intérêt de Foriana est qu’il permet de voir les dépendances entre les différents modules.

=> Télécharger Foriana

Dump de la mémoire

Dumper et analyser le contenu de la mémoire d’un serveur Linux permet de détecter les anomalies, les intrusions et les problèmes de gestion de ressources.

Le plus intéressant n’est pas de dumper la mémoire mais d’analyser le dump. De part, les différents outils existants et l’infinité des besoins d’analyse concernant le dump mémoire, il m’est difficile de faire une étude sur l’analyse d’un dump, c’est pourquoi j’ai juste fourni quelques pistes concernant les outils d’analyse et de dump :-).

N’hésitez pas à poster vos commentaires sur l’utilisation de ces logiciels de dump mémoire sous Linux.

Leave a Reply

Your email address will not be published. Required fields are marked *