Publications

Les bases du Memory Forensics

juillet 2016

Les tendances en Forensics numérique sont en constante évolution. De plus en plus, l’enquête informatique traditionnelle fait place à de nouvelles méthodes de recherche misant sur le Live Forensics. Parmi ces nouvelles méthodes de travail, connaissez-vous le Memory Forensics?

Qu’est-ce que c’est?
Le Memory Forensics est une procédure exécutée en temps réel sur des systèmes pour faire la capture de l’image mémoire, le triage et l’analyse de l’information. C’est une méthode d’analyse numérique qui est utilisée afin de recueillir les éléments volatils de preuve en temps réel.

Les limites de l’enquête traditionnelle
Les pirates informatiques développent sans cesse de nouvelles façons d’atteindre des systèmes informatiques. Les maliciels de plus en plus sophistiqués et l’injection de code directement en mémoire vive (code flottant) rendent la tâche des cyberenquêteurs plus ardue.

Parallèlement à ces ruses employées par les auteurs de fraude informatique, les technologiques ne cessent d’évoluer (pensons simplement à l’augmentation de la capacité des disques durs) et rendent moins efficace le Forensics numérique « traditionnel » qui nécessite une copie bit à bit des données d’un disque dur et de la mémoire.

Par conséquent, l’analyse en temps réel de la mémoire vive des systèmes permet d’obtenir des informations cruciales dans le cadre d’une cyberenquête.

Repousser les limites de l’analyse

Cette technique présente son lot d’avantages pour les cyberenquêteurs, qui ont alors accès à des données directement issues de la mémoire vive d’un système, c’est-à-dire sur ce qui se passe en temps réel. Parmi les points positifs, trois avantages se distinguent.

1- Donner accès à un endroit de l’ordinateur plus efficace pour identifier les activités suspectes
d’un logiciel que le disque dur en permettant :

  • d’étudier la configuration d’un système pendant son exécution;
  • d’identifier les contradictions présentes dans le système (principe d’entropie) entre ce qui se passe la mémoire et sur le disque dur;
  • de dévoiler les méthodes et outils d’obfuscation utilisés par les packer, binary obfuscators et rootkits conçus à cette fin.

2- Amener la possibilité d’analyser et de pister les activités récentes sur un système en permettant :

  • d’identifier toutes les activités en cours, et ce, dans leur contexte;
  • de tracer le profil de l’utilisateur ou du pirate, selon les activités.

3- Collecter des preuves qui ne peuvent pas être trouvées autrement ou qui pourraient disparaître lors d’un redémarrage, par exemple :

  • des maliciels qui résident en mémoire seulement (injection de code);
  • des communications via des logiciels de clavardage (chatting),
  • des activités de navigation Internet.

La mise en œuvre
Exécuter une enquête de Memory Forensics exigera des connaissances approfondies des plus récentes tendances dans le domaine. Voici les six grandes étapes qu’une enquête devrait couvrir :

  • identifier les processus escrocs se faisant passer pour des processus légitimes (Rogue processes) par des méthodes heuristiques;
  • détecter des anomalies dans le traitement du processus des objets (DLLs, Registres, Threads, etc.),
  • examiner les artéfacts du réseau et les ports de communication utilisés par les processus du système en mémoire afin de déterminer les éléments suspects;
  • rechercher des preuves d’injection de code et méthodes d’obfuscation;
  • rechercher des signes de présence de rootkit par la détection de méthode de hooking;
  • effectuer une copie des processus en mémoire et des pilotes drivers du système suspect.

Bien sûr, les enquêtes menées en temps réel exigent une expertise technologique très poussée, surtout dans l’optique de préserver l’intégrité des preuves amassées. Notre équipe est formée pour exécuter des enquêtes de type Memory Forensics. Si vous vous butez aux méthodes traditionnelles d’enquête pour obtenir des résultats, contactez-nous.