SlideShare une entreprise Scribd logo
1  sur  126
Télécharger pour lire hors ligne
Ce document est disponible sous Licence Creative Commons
Mémoire de recherche appliquée
Contribution à l’investigation numérique
Les méthodes de forensic
Comment mener à bien une investigation numérique et corréler les
données extraites ?
Thomas ROCCIA
Julien SOUPPOD
Sécurité Informatique
Maître de Mémoire : Kamal HENNOU
5A 2014
Mémoire de recherche appliquée 2014
Page 1
Résumé
L’utilisation massive des technologies de l’information et le développement de la cybercriminalité, a
conduit à créer une nouvelle branche dans le domaine de l’informatique : l’investigation numérique.
Le forensic est une suite de méthodes d’investigation qui permet de collecter des preuves
numériques dans une enquête judiciaire ou de traiter un incident lié à une attaque sur un système.
A travers ce document de recherche appliquée, nous nous sommes interrogés sur la manière de
mener une investigation numérique en utilisant les méthodes de forensic et sur les moyens
d’analyser et corréler les données extraites d’un système.
Nous avons élaboré ce document comme un guide pratique permettant aux enquêteurs d’avoir une
vision globale des méthodologies d’investigation (CTOSE, Digital Forensic Process, McKemmish) à
travers différents supports numériques (disque dur, mémoire vive, SSD).
Un focus a également été porté sur les aspects légaux dans un contexte national et international.
Tout au long de cette étude vous découvrirez les étapes d’une investigation numérique avec une
démonstration de certains outils spécialisés (Volatility, FTK, EnCase…) ainsi que les techniques
utilisées pour complexifier le travail des enquêteurs aussi appelées anti-forensic. Un chapitre a été
consacré à l’utilisation de ces techniques sur une analyse de malware.
Enfin nous avons choisi de terminer ce document sur la création d’une boite à outils installée sur une
clef USB, comprenant une partition multiboot ainsi qu’une suite d’utilitaires pour mener une
investigation sur n’importe quel système. Cette boite à outils est ouverte et permet à l’utilisateur d’y
inclure ces propres outils.
L’analyse forensic est un domaine technologique en plein développement du fait de la rivalité entre
ceux qui veulent voler et ceux qui veulent protéger les données des entreprises ou des particuliers.
Il constitue à ce jour une des meilleures approches pour la traque des cybercriminels et la protection
de nos données.
Mots clefs
Investigation Numérique Malware Reverse
Engineering
Forensic
Post-mortem Méthodologie Anti-forensic Cybercriminalité Guide pratique
Mémoire de recherche appliquée 2014
Page 2
Abstract
The massive use of information technologies and the growth of cyber criminality create a new branch
in computing science: digital investigation.
This branch named « forensic » is made of a suite of investigation methods with the aim to collect
digital proofs in case of judicial inquiry or fix a system attack.
With this document of applied research, we question ourselves about the way to develop a digital
investigation by using forensic methods and the resources to analyze and correlate extracted datas
from a system.
We elaborate this document as a user guide for investigators to give an overview of investigation
methods (CTOSE, Digital Forensic Process, McKemmish) applied to several digital storage items such
like hard drives, live memories and SSD.
We also complete this document focusing on national and international legal aspects.
Reading this study, you will go through a step by step digital investigation with demonstrations of
specialized dedicated tools (Volatility, FTK, EnCase…) and common techniques used to lose the
investigators named anti-forensic. A chapter has been dedicated to the use of those techniques
applied to a malware analysis.
Finally, we conclude this document giving a toolbox available in an USB key which contains a multi
boot partition and a suite of software tools to do a digital investigation on any known system. This
toolbox is open to welcome tools developed by the user.
The forensic analysis is a growing domain due to the competition between hackers and investigators.
The first ones want to corrupt or steal datas and the other ones want to protect data of companies
and private users.
This is the best way to track hackers and protect data.
Keywords
Investigation Digital Malware Reverse
Engineering
Forensic
Post-mortem Methodology Anti-forensic Cybercriminality User guide
Mémoire de recherche appliquée 2014
Page 3
Remerciements
Nous souhaitons adresser nos remerciements les plus sincères aux personnes qui nous ont apporté
leur aide et qui ont contribué à l’élaboration de ce document.
Ces remerciements vont tout d’abord au corps professoral et administratif de l’Ecole Supérieur de
Génie Informatique et plus particulièrement à Monsieur Kamal HENNOU, pour son accompagnement
tout au long de la rédaction de ce document.
Nous remercions également Monsieur Hubert BITAN et ses collaborateurs pour nous avoir reçus et
conseillés sur les techniques et méthodes de l’investigation numérique.
Mémoire de recherche appliquée 2014
Page 4
Sommaire
Résumé.................................................................................................................................................... 0
Abstract ................................................................................................................................................... 2
Remerciements ....................................................................................................................................... 3
Sommaire ................................................................................................................................................ 4
Licence Creative Commons ..................................................................................................................... 9
Préambule ............................................................................................................................................. 10
Introduction........................................................................................................................................... 11
Chapitre I : Définition du forensic ......................................................................................................... 12
I.1 – Étymologie et usage .................................................................................................................. 12
I.2 – De la médecine à l’informatique ............................................................................................... 12
I.3 – Le cadre légal............................................................................................................................. 14
Chapitre II : La méthodologie d’investigation ....................................................................................... 17
II.1 – Etat de l’art............................................................................................................................... 17
A – La méthode McKemmish......................................................................................................... 17
B – Le projet CTOSE ....................................................................................................................... 18
C – L’approche Smith et Petreski (DEFCON).................................................................................. 18
D – Digital Forensic Process........................................................................................................... 18
II.2 – Les supports numériques ......................................................................................................... 19
A – Disque Dur magnétique........................................................................................................... 19
B – Disque Dur « solides « (SSD).................................................................................................... 22
C – Mémoire vive (RAM) ............................................................................................................... 25
II.3 – Les outils utilisés pour l’analyse forensic ................................................................................. 26
A – EnCase ..................................................................................................................................... 26
B – FTK (Forensic ToolKit).............................................................................................................. 27
C – DFF (Digital Forensic Framework) ........................................................................................... 27
D – Les bloqueurs en écriture........................................................................................................ 28
II.4 – Proposition d’une méthodologie.............................................................................................. 29
Chapitre III : Les méthodes de forensic................................................................................................. 31
III.1 – Calcul de condensat................................................................................................................. 31
III.2 – Acquisition et analyse de la mémoire volatile......................................................................... 34
A – Acquisition de la mémoire volatile.......................................................................................... 34
B – Analyse de la mémoire volatile ............................................................................................... 37
III.5 – Acquisition et analyse de la mémoire non-volatile ................................................................. 42
Mémoire de recherche appliquée 2014
Page 5
A – Acquisition de la mémoire non-volatile .................................................................................. 42
B – Monter une image................................................................................................................... 44
C – Analyse de la mémoire non-volatile........................................................................................ 46
Chapitre IV : Les méthodes anti-forensic .............................................................................................. 60
IV.1 – Stéganographie ....................................................................................................................... 60
IV.2 – Formatage Sécurisé................................................................................................................. 61
A – Effacement des disques durs magnétiques............................................................................. 62
B – Effacement des disques flash, SSD.......................................................................................... 63
C – Effacement de mémoire vive .................................................................................................. 63
D – Effacement sécurisé au niveau matériel................................................................................. 63
IV.3 – Falsification de Timestamp ..................................................................................................... 63
IV.4 – Cryptographie.......................................................................................................................... 67
A – Détection de partition ou conteneur chiffré........................................................................... 67
B – Récupération de mot de passe................................................................................................ 70
IV.5 – Obfuscation de code et packers.............................................................................................. 73
A – Obfuscation............................................................................................................................. 73
B – Packers..................................................................................................................................... 74
Chapitre V : Analyse de malware .......................................................................................................... 75
V.1 – Définition et types de malwares .............................................................................................. 75
V.2 – Création d’un environnement d’analyse.................................................................................. 77
V.3 – Etude de cas : le malware NjRAT.............................................................................................. 80
A –Création du programme malveillant........................................................................................ 82
B – Analyse statique ...................................................................................................................... 85
C – Analyse dynamique ................................................................................................................. 94
Chapitre VI : Création d’un outil.......................................................................................................... 108
VI.1 – Le multiboot USB................................................................................................................... 108
VI.2 – RocFor : l’utilitaire « Live ».................................................................................................... 110
Conclusion ........................................................................................................................................... 112
Annexes............................................................................................................................................... 113
A – Options Volatility....................................................................................................................... 113
B – Script Hash.py............................................................................................................................ 115
C – Script ForPower.ps1 .................................................................................................................. 117
D – Référence et bibliographie........................................................................................................ 122
Mémoire de recherche appliquée 2014
Page 6
Sommaire des tableaux
Tableau 1 - Représentation de la méthode d’allocation contigus ........................................................ 20
Tableau 2 - Représentation de la méthode d’allocation par lien.......................................................... 20
Tableau 3 - Représentation de la méthode d’allocation indexée ......................................................... 21
Tableau 4 - Représentation de la méthode par stratégie de stockage ................................................. 21
Tableau 5 - Temps de rémanence des données contenues dans la RAM............................................. 35
Tableau 6 - Liste des fichiers relative aux emails .................................................................................. 57
Tableau 7 - Localisation des fichiers de configuration .......................................................................... 57
Tableau 8 - Comment accéder aux en-têtes d’emails........................................................................... 59
Tableau 9 - Représentation des différents type d’effacement ............................................................. 61
Tableau 10 - Temps de cassage d’un mot de passe en fonction de sa complexité............................... 72
Tableau 11 - Configuration de la machine infectée .............................................................................. 78
Tableau 12 - Configuration des autres machines.................................................................................. 79
Tableau 13 - Empreinte des 3 malware générés................................................................................... 84
Tableau 14 - Extraction de la commande strings .................................................................................. 86
Tableau 15 - DLL utilisé par les keyloggueurs........................................................................................ 88
Tableau 16 - Fichier créer par le malware............................................................................................. 95
Tableau 17 - Clef de registre créer par le malware............................................................................... 96
Tableau 18 - DLL nécessaire au fonctionnement du malware .............................................................. 96
Tableau 19 - Flux réseau du malware décodé....................................................................................... 99
Sommaire des figures
Figure 1 - Les domaines de l’investigation numérique.......................................................................... 13
Figure 2 - Schéma général d’un disque dur........................................................................................... 19
Figure 3 - Charge magnétique à la surface d’un disque........................................................................ 20
Figure 4 - Schéma d’un disque dur SSD................................................................................................. 22
Figure 5 - Représentation d’une cellule mémoire................................................................................. 23
Figure 6 - Fonctionnement de TRIM...................................................................................................... 24
Figure 7 - Représentation d’une barrette mémoire RAM..................................................................... 25
Figure 8 - Interface d' EnCase................................................................................................................ 26
Figure 9 - Interface de FTK..................................................................................................................... 27
Figure 10 - Interface de DFF .................................................................................................................. 28
Figure 11 - Bloqueur en écriture ........................................................................................................... 28
Figure 12 - Méthodologie d’une investigation numérique ................................................................... 30
Figure 13 - Principe de fonctionnement d’une fonction de hachage sur 3 entrées différentes........... 31
Figure 14 - Calcul d’empreinte sous Linux............................................................................................. 32
Figure 15 - Calcul de hash avec le script hash.py .................................................................................. 32
Figure 16 - Comparaison de hash avec le script hash.py ...................................................................... 33
Figure 17 - Copie de la mémoire vive avec l’utilitaire Dumpit.............................................................. 34
Figure 18 - Bombe à air sec ................................................................................................................... 35
Figure 19 - Gel de barrette mémoire .................................................................................................... 36
Figure 20 - Copie de la mémoire vive avec l’utilitaire MSRAWSDMP ................................................... 36
Figure 21 - Option imageinfo de Volatility ............................................................................................ 38
Figure 22 - Option pslist de Volatility.................................................................................................... 39
Figure 23 - Option memdump de Volatility........................................................................................... 39
Figure 24 - Option procmemdump de Volatility ................................................................................... 39
Mémoire de recherche appliquée 2014
Page 7
Figure 25 - Liste des ruches systèmes avec l’option hivelist de Volatility............................................. 40
Figure 26 - Extraction des hash avec l’option hashdump de volatility.................................................. 40
Figure 27 - Décryptage du hash NTLM.................................................................................................. 41
Figure 28 - Copie d’un disque dur avec l’utilitaire dd ........................................................................... 42
Figure 29 - Copie d’un disque dur et calcul de condensat avec l’utilitaire dcfldd ................................ 43
Figure 30 - Copie d’une image virtuelle ESXi avec l’utilitaire esximager.pl........................................... 43
Figure 31 - Montage d’une image avec l’utilitaire mount..................................................................... 44
Figure 32 - Conversion d’une image en vmdk....................................................................................... 45
Figure 33 - Interface de Forensic Registry Editor .................................................................................. 47
Figure 34 - Affichage chronologique avec UserAssist ........................................................................... 48
Figure 35 - Utilisation de log2timeline .................................................................................................. 48
Figure 36 - Utilisation de photorec........................................................................................................ 49
Figure 37 - Récupération de fichier jpg avec foremost......................................................................... 49
Figure 38 - Récupération de tout type de fichier avec foremost.......................................................... 49
Figure 39 - Récupération de l’historique de navigation avec Browser Forensic Tool........................... 50
Figure 40 - Extraction de mot de passe avec BrowserPasswordDump................................................. 51
Figure 41 - Analyse de trace réseau avec Wireshark ............................................................................ 52
Figure 42 - Traces d’une activité d’envoi d’informations a un serveur Web (méthode POST)............. 53
Figure 43 - Analyse d’une capture réseau avec Xplico.......................................................................... 53
Figure 44 - Analyse de trame SSL avec OSPY......................................................................................... 54
Figure 45 - IHM de Transend Migration, conversion depuis gmail vers pst.......................................... 55
Figure 46 - IHM de Nucleus, conversion des fichiers ost ...................................................................... 55
Figure 47 - Interface de Paraben’s, énumération des emails d’un fichier OST..................................... 56
Figure 48 - Enumération des pièces jointes .......................................................................................... 56
Figure 49 - Exemple d’une en-tête d’email........................................................................................... 58
Figure 50 - Détection de logciciel de stéganographie avec StegDetect................................................ 61
Figure 51 - Effacement de données avec DBAN.................................................................................... 62
Figure 52 - Falsification des dates d’un fichier avec Timestomp .......................................................... 64
Figure 53 - Falsification des dates d’un document WORD avec Timestomp ........................................ 65
Figure 54 - Propriété du document WORD après modification du timestamp..................................... 65
Figure 55 - Propriété du document WORD affiché dans Office Word après modification du timestamp
Figure 56 - Document WORD dissocié avec 7zip................................................................................... 66
Figure 57 - Contenu du fichier XML....................................................................................................... 66
Figure 58 - Création d’un conteneur TrueCrypt.................................................................................... 68
Figure 59 - Analyse de l’entête d’un conteneur TrueCrypt................................................................... 69
Figure 60 - Détection d’un conteneur TrueCrypt avec TCHunt............................................................. 69
Figure 61 - Détection d’une partition TrueCrypt avec EDD................................................................... 70
Figure 62 - Attaque simple sur un mot de passe avec John The Ripper ............................................... 71
Figure 63 - Attaque par dictionnaire sur un mot de passe avec John The Ripper ................................ 71
Figure 64 - Reset du mot de passe BIOS avec CmosPWD ..................................................................... 72
Figure 65 - Détection du packer UPX avec hexdump............................................................................ 74
Figure 66 - Représentation de la diffusion de malware........................................................................ 75
Figure 67 - Schéma de l’environnement d’analyse............................................................................... 78
Figure 68 - Malware NjRAT/Bladabindi recensé fin 2013 ..................................................................... 80
Figure 69 - Interface de commande et de contrôle du malware .......................................................... 81
Figure 70 - Fonctionnalité du malware NjRAT....................................................................................... 81
Mémoire de recherche appliquée 2014
Page 8
Figure 71 - Emplacement du « Builder »............................................................................................... 82
Figure 72 - Fenêtre de configuration du Malware ................................................................................ 82
Figure 73 - Utilisation du packer Themida ............................................................................................ 83
Figure 74 - Représentation des 3 versions du malware........................................................................ 84
Figure 75 - Utilisation de l’outil file ....................................................................................................... 85
Figure 76 - Analyse des dépendances DLL du malware non packé....................................................... 87
Figure 77 - Analyse des dépendances DLL du malware packé.............................................................. 88
Figure 78 - Détection de packer avec PEiD............................................................................................ 90
Figure 79 - Détection de packer avec Stud_PE...................................................................................... 91
Figure 80 - Détection de packer avec RDG Packer Detector................................................................. 91
Figure 81 - Interface d' IDA pro ............................................................................................................. 92
Figure 82 - Analyse du code du malware avec CodeReflect ................................................................. 92
Figure 83 - Extraction du code contenant certaines informations du malware ................................... 93
Figure 84 - Analyse du processus du malware avec ProcessExplorer................................................... 94
Figure 85 - Analyse de l’activité du malware avec Process Monitor..................................................... 95
Figure 86 - Extrait du fichier du keyloggueur ........................................................................................ 95
Figure 87 - Contenu de la clef de registre créé par le malware ............................................................ 96
Figure 88 - Activité réseau du malware................................................................................................. 97
Figure 89 - Activité réseau du malware................................................................................................. 97
Figure 90 - Flux réseau échangé par le malware lors de son exécution ............................................... 98
Figure 91 - Récupération des informations échangées......................................................................... 98
Figure 92 - Flux réseau de la fonctionnalité de gestion des fichiers ..................................................... 99
Figure 93 - Flux réseau de la fonctionnalité d’exécution de fichier .................................................... 100
Figure 94 - Flux réseau de la fonctionnalité bureau à distance .......................................................... 100
Figure 95 - Flux réseau de la fonctionnalité caméra à distance.......................................................... 101
Figure 96 - Capture d’écran de la caméra (côté C&C)......................................................................... 101
Figure 97 - Flux réseau de la fonctionnalité terminal distant ............................................................. 102
Figure 98 - Flux réseau de la fonctionnalité gestion des processus.................................................... 102
Figure 99 - Flux réseau de la fonctionnalité d’accès au registre......................................................... 103
Figure 100 - Extrait du fichier relatif au Keyloggueur.......................................................................... 103
Figure 101 - Flux réseau de la fonctionnalité Keyloggueur................................................................. 104
Figure 102 - Flux réseau de la fonctionnalité messagerie instantanée............................................... 104
Figure 103 - Flux réseau de la fonctionnalité de récupération de mot de passe................................ 105
Figure 104 - Trame réseau de récupération des mots de passe......................................................... 105
Figure 105 - Copie d’écran de l’extraction des mots de passe............................................................ 106
Figure 106 - Réplication du malware sur une clef USB ....................................................................... 106
Figure 107 - Propriété du malware répliqué....................................................................................... 107
Figure 108 - Copie d’écran du multiboot USB..................................................................................... 108
Figure 109 - Copie d’écran de l’utilitaire RocFor................................................................................. 111
Mémoire de recherche appliquée 2014
Page 9
Licence Creative Commons
Cette œuvre, création, site ou texte est sous licence Creative Commons Attribution -
Partage dans les Mêmes Conditions 4.0 International. Pour accéder à une copie de cette
licence, merci de vous rendre à l'adresse suivante http://creativecommons.org/licenses/by-
sa/4.0/deed.fr ou envoyez un courrier à Creative Commons, 444 Castro Street, Suite 900,
Mountain View, California, 94041, USA.
Droits intellectuels et usage des noms et marques déposées :
L’usage des noms, marques produits et logos, personnes physiques ou morales figurants dans
le présent document se fait sous couvert de la tolérance accordée en matière de rédaction de
mémoires ou d’études journalistiques en vertu du droit à l’information et ce dans le respect
de la dignité humaine et de la vie privée ni sans porter atteinte aux entreprises ou
organisations détentrices des brevets, marques et modèles cités dans cet ouvrage.
Mémoire de recherche appliquée 2014
Page 10
Préambule
L’utilisation massive des technologies de l’information et le développement de la cybercriminalité a
conduit à la création d’une nouvelle branche dans le domaine de l’informatique : l’investigation
numérique.
Les techniques et méthodes d’investigation ne cessent d’évoluer et la diversité des supports
numériques implique de suivre des règles et des procédures strictes, nécessaires à la recherche, la
conservation et l’interprétation des données extraites.
Cette branche initialement exercée par des experts judiciaires de la police nationale ou de la
gendarmerie à des fins de perquisition numérique, s’étend et se développe au secteur privé dans le
cadre d’audit de sécurité et de réponse à incident. Encore relativement nouvelle en France,
l’investigation numérique est de plus en plus demandée par des sociétés privées telles que les
banques et les multinationales.
Ainsi de nombreuses sociétés spécialisées en sécurité informatique ont développé cette activité pour
répondre à la demande croissante des entreprises. Certaines en ont fait leur cœur de métier en
créant des outils spécialisés et reconnus comme AccessData ou Arxys. D’autres encore telles que
LEXSI ou XMCO sont allées jusqu’à développer des offres spécialisées.
L’objectif de ce document est de traiter les différentes techniques d’investigation en apportant une
méthodologie basée sur les principes existants. Il a pour but de guider l’expert en charge de
l’investigation au moyen de règles dites de « bonnes pratiques » mais également de faire découvrir
les méthodes de forensic à toutes les personnes désirant développer leurs compétences dans ce
domaine. Un chapitre sera également consacré à l’analyse de malware qui est une branche
spécifique de l’investigation numérique.
Mémoire de recherche appliquée 2014
Page 11
Introduction
A l’heure où la sécurisation des données est une des préoccupations principales et où les systèmes
informatiques sont de plus en plus piratés, l’informatique légale ou « computer forensic » apparait
comme une méthode d’investigation permettant d’identifier les traces laissées par une intrusion et
de rassembler les preuves numériques.
Souvent utilisée dans le cadre d’enquêtes criminelles ou en réponse à incident, l’analyse forensic
peut également être effectuée en laboratoire afin d’étudier le comportement de malwares ou autres
logiciels malveillants. Egalement utilisée pour le recouvrement de données, on retrouve cette
discipline dans les salles blanches pour extraire des données difficilement récupérables.
La diversification des supports numériques (Disque Dur, Mémoire vive, Smartphone…), complexifie
les recherches et les analyses. Il convient donc de maîtriser les différentes techniques d’investigation,
afin de collecter et corréler les informations le plus justement possible.
C’est dans un contexte de « cybercriminalité » ascendante, que ces méthodes apportent un appui
considérable à la lutte contre le cyber-crime.
Notre recherche se déroulera selon le schéma suivant :
 Dans un premier temps nous définirons l’analyse forensic et le cadre légal associé.
 Nous ferons ensuite un état de l’art des méthodologies existantes et présenterons les
différents supports numériques ainsi que les produits phare du marché.
Ce chapitre se terminera par une proposition d’une méthodologie d’investigation.
 Notre troisième partie sera consacrée à la démonstration des techniques nécessaires à
l’investigation numérique.
 Dans la quatrième partie nous aborderons les méthodes utilisées pour faire obstacle au
travail des enquêteurs dans leur investigation aussi appelées « l’anti-forensic ».
 Dans la cinquième partie, nous appliquerons les méthodes de forensic sur un malware,
en utilisant notamment des techniques de rétro ingénierie (reverse engineering).
 Enfin, nous proposerons un outil dédié aux analyses forensic.
Nous traiterons l'investigation numérique, principalement sur des systèmes Windows, car il s'agit du
système le plus utilisé en entreprise.
Mémoire de recherche appliquée 2014
Page 12
Chapitre I : Définition du forensic
I.1 – Étymologie et usage
Le terme « forensic » vient du latin « forēnsis » qui signifie « Avocat, Défenseur ». A l’époque romaine
le défenseur présentait le cas devant la justice, les arguments et les preuves énoncés déterminaient
l’issue du procès. Cette origine est la base de deux utilisations modernes du terme « forensic » :
 Une preuve légale,
 Une argumentation publique.
Aujourd’hui le terme « forensic » est synonyme du terme « légal » et est fortement associé au
domaine scientifique et notamment à la médecine légale.
Dans la littérature informatique on retrouve différentes orthographes pour désigner l’investigation
numérique. Le mot « forensic » vient de l’anglais : « computer forensic », mais on voit souvent écrit
« forensique » ou encore « inforensique » (contraction du mot « informatique » et « forensique »).
Etant donné qu’il n’existe à ce jour aucune traduction française officielle nous utiliserons par
conséquent le terme « forensic » dans ce document.
I.2 – De la médecine à l’informatique
Comme énoncé ci-dessus, l’analyse forensic fait référence à la médecine légale qui permet de
déterminer les causes d'un décès, au moyen d'analyses approfondies et complexes.
Ainsi la médecine légale comporte trois champs d'activité :
 La médecine légale judiciaire : principalement utilisée dans le cadre d'enquêtes judiciaires,
elle aide à définir les conditions et les causes d'un décès au moyen de l'autopsie médico-
légale.
 La médecine légale clinique : elle consiste à étudier la victime. Utilisée dans les sciences
criminelles, elle vise à définir les origines d'un décès, ou comment est survenu l'acte
délinquantiel.
 La médecine légale scientifique : elle consiste à étudier les mécanismes et les aspects
médicaux légaux de la mort. elle permet ainsi d'identifier les changements corporels qui
accompagnent la mort et la période post-mortem. On parle ici de science thanatologique.
Ces différents aspects de la médecine légale sont principalement utilisés dans le cadre d'enquêtes
judiciaires ou de recherches scientifiques La médecine légale permet donc de définir les causes d'un
décès et de rassembler les différentes preuves, nécessaires à une action en justice.
Dans le cadre de la recherche scientifique elle permettra de mettre en place des vaccins (analyse de
virus) ou encore de découvrir les faiblesses immunitaires d'une personne.
Mémoire de recherche appliquée 2014
Page 13
Par analogie, l'analyse forensic en informatique s'inspire de ces méthodologies et techniques. Basée
sur les mêmes principes, l'investigation numérique consiste à utiliser des techniques spécialisées
dans la recherche, la collecte et l'analyse de données issues de supports numériques.
Tout comme la médecine légale, l’investigation numérique peut être divisée en trois champs
d’activité :
 L’analyse forensic judiciaire : principalement utilisée dans le cadre d'enquêtes judiciaires, elle
a pour but de rechercher toutes les preuves numériques (par exemple lors d’une
perquisition) afin de collecter et rassembler un maximum de preuves pouvant incriminer ou
innocenter le suspect d’une enquête.
 L’analyse forensic en réponse à incident : elle vise à identifier les conditions et les origines
d’une attaque informatique, quel est le canal infecté ou encore par quel vecteur l’attaque est
survenue. Dans le cas d’une réponse à une intrusion, elle joue le rôle de « pompier » et
permet d’identifier rapidement les éléments du système d’information compromis, dans le
but de combler les failles et d’éradiquer le ou les malwares.
 L’analyse forensic scientifique : elle consiste à étudier les mécanismes et les aspects
techniques d’un malware ou autre logiciel/matériel malfaisant, afin d’identifier les méthodes
utilisées par les assaillants pour pénétrer et compromettre un réseau informatique.
Les analyses sont souvent réalisées dans un environnement maîtrisé (sandbox) afin d’éviter
une infection totale du système hôte.
Figure 1 - Les domaines de l’investigation numérique
Les objectifs poursuivis par une analyse forensic sont donc variés. On peut schématiquement définir
l’analyse forensic comme un moyen de sanctionner (judiciaire) et de réparer (réponse à incident) des
actes de malveillance sur un système informatique mais également de les anticiper (R&D) pour une
meilleure sécurité.
Mémoire de recherche appliquée 2014
Page 14
I.3 – Le cadre légal
L’étendu d’Internet et des nouvelles technologies est très complexe à encadrer d’un point de vue
juridique ; il est en effet difficile d’identifier d’une part l’auteur de l’infraction sur Internet et d’autre
part, de collecter les preuves de l’infraction. Le fautif pourra très facilement déplacer, supprimer ou
rendre inaccessible les preuves de son infraction, d’autant plus si les données sont hébergées sur des
serveurs à l’étranger.
Afin de permettre aux autorités d’agir, la loi a dû s’adapter pour encadrer la collecte de preuves dans
l’environnement numérique international.
Le Conseil de l’Europe a d’ailleurs préconisé1
la création d’unités spécialisées requérant une expertise
en matière de technologie de l’information dans le but de mettre en application cette nouvelle
branche du droit.
Ci-dessous, les principales unités existantes pour agir dans le cadre de collecte de preuves
numériques :
 L’IRCGN : Le département informatique de l’Institut de Recherche Criminelle de la
Gendarmerie Nationale a été créé en 1990. Il a pour mission de collecter des éléments
numériques pour les mettre à disposition des enquêteurs et des magistrats, et effectue des
expertises dans le cadre d’enquêtes judiciaires.
 La BEFTI : La Brigade d’Enquêtes sur les Fraudes aux Technologies de l’information a été
créée en 1994. Sa mission consiste à lutter contre les atteintes aux systèmes de traitement
automatisés de données et la contrefaçon de logiciels ou matériels, ainsi que contre les
infractions liées à la loi informatique et libertés. Elle assiste aussi les autres services de la
police judiciaire dans la recherche de preuves numériques, lorsque celle-ci est confrontée à
un environnement informatique.
 L’OCLCTIC : L’Office Central de Lutte contre la Criminalité liée aux Technologies de
l’Information et de la Communication a été institué par le décret du 15 mai 2000 pour
remplacer la Brigade Centrale de Répression de la Criminalité Informatique. Il a pour mission
de traiter toutes les formes de criminalité ayant recours aux nouvelles technologies.
Il existe d’autres organismes étatiques spécialisés dans les investigations cybercriminelles (DNRAPB,
ICC, STRJD, DGCCRF, le service Cyberdouane). Ces unités interviennent sur des périmètres bien
spécifiques de la cybercriminalité tels que la contrefaçon, la pédophilie ou encore les fraudes à la
consommation.
Tous ces organismes travaillent conjointement dans le but de faire appliquer la loi et protéger les
personnes victimes d’actes malveillants.
Mémoire de recherche appliquée 2014
Page 15
Des organismes similaires ont également vu le jour à l’étranger :
 La National Hi-Tech Crime Unit (NHTCU) au Royaume-Uni.
 Le Korps Landelijke Politiediensten (KLPD) et le Computer Emergency Response Team aux
Pays-Bas.
 Le Bundeskriminalamt (BKA) en Allemagne.
 Le Gruppo Anticrimine Tecnologico (GAT) en Italie
 Le Grupo de Delitos Telematicos (GDT) en Espagne.
Afin de réaliser les collectes de données dans un environnement numérique, les lois des différents
pays confèrent des pouvoirs aux autorités de police et judiciaire. Cependant, ces pouvoirs
connaissent des limites car ils peuvent difficilement être appliqués en dehors du cadre national.
Malheureusement, le domaine de la cybercriminalité dépasse par nature les frontières, ce qui rend
complexe et délicat l’encadrement juridique de la collecte de preuves.
En France, plusieurs lois ont été adoptées dans ce domaine. Dans le cadre de saisies à l’occasion de
perquisitions, le Code de procédure pénale (articles 54, 56, 76, 97) autorise les officiers de police
judiciaire effectuant la perquisition à saisir tous les éléments ayant servi à l’infraction, ainsi les
supports informatiques peuvent être mis sous scellés. Il est également possible pour les officiers de
police d’accéder directement aux systèmes informatiques sur les lieux de la perquisition, pour
recueillir les éléments nécessaires à l’enquête.
La Loi pour la Confiance dans l’Economie Numérique du 21 juin 2004 apporte des précisions
complémentaires :
« Il est procédé à la saisie des données informatiques nécessaires à la manifestation de la vérité en
plaçant sous main de justice soit le support physique de ces données, soit une copie réalisée en
présence des personnes qui assistent à la perquisition. » (LCEN, Article 43)
« Si une copie est réalisée dans le cadre de cette procédure, il peut être procédé, sur ordre du juge
d'instruction, à l'effacement définitif, sur le support physique qui n'a pas été placé sous main de
justice, des données informatiques dont la détention ou l'usage est illégal ou dangereux pour la
sécurité des personnes ou des biens. « (LCEN, Article 43)
Le Code de procédure pénale (articles 77-1-1, 77-1-2, 60-2) prévoit également la réquisition des
données de connexion susceptibles de contenir des éléments intéressant l’enquête, tandis que la
LCEN (article 6-II bis) permet la conservation et la communication des données de connexion aux
autorités compétentes
L’article R. 15-33-62 du Code de procédure pénale, prévoit expressément que l’officier de police
judiciaire en charge de l’enquête, habilité par le responsable de service, peut demander aux
organismes fournisseurs de service internet (FAI, hébergeurs…), la communication de données à
caractère personnel des abonnés et utilisateurs.
Mémoire de recherche appliquée 2014
Page 16
Le déchiffrement des données est aussi prévu par le Code de procédure pénale à l’article 230-1.
« …lorsqu'il apparaît que des données saisies ou obtenues au cours de l'enquête ou de l'instruction
ont fait l'objet d'opérations de transformation empêchant d'accéder aux informations en clair qu'elles
contiennent ou de les comprendre, le procureur de la République, la juridiction d'instruction ou la
juridiction de jugement saisie de l'affaire peut désigner toute personne physique ou morale qualifiée,
en vue d'effectuer les opérations techniques permettant d'obtenir la version en clair de ces
informations ainsi que, dans le cas où un moyen de cryptologie a été utilisé, la convention secrète de
déchiffrement, si cela apparaît nécessaire. »
Enfin, l’article 156 du Code de procédure civile précise qu’un expert peut être mandaté par le
magistrat pour réaliser une investigation ou toute opération à caractère technologique nécessaire à
l’enquête. Cet expert intervient entre autres dans le but de caractériser des faits, d’analyser des
éléments de l’enquête, ou encore d’apporter son assistance lors de la perquisition.
Par ailleurs, en plus d’encadrer légalement la collecte de données dans un environnement
numérique, la Commission Européenne a créé la procédure CTOSE (Cybertools Online Search
Evidence), pour permettre aux enquêteur de collecter les preuves en respectant des règles de
bonnes pratiques, afin qu’elles soient recevables devant un tribunal.
On notera également que lors d’une investigation, il convient de préserver la preuve des données et
de faire appel à des techniques probatoires pour éviter tout risque de modification ou de destruction
des données par des fichiers pièges ou autres éléments destinés à corrompre les preuves.
Malgré les difficultés à réguler le domaine de l’informatique et des nouvelles technologies de
communication, la loi s’efforce de maintenir un équilibre entre la nécessité de réprimer les crimes et
délits qui constituent la cybercriminalité, et certains principes et libertés tels que la neutralité du net,
le respect du droit à la vie privée et la compétence territoriale des Etats.
Mémoire de recherche appliquée 2014
Page 17
Chapitre II : La méthodologie
d’investigation
II.1 – Etat de l’art
A l’heure où nous écrivons ces lignes, il n’existe pas de méthodologie officielle pour mener une
investigation numérique, seulement des méthodes dites de « bonne pratique ». Cependant plusieurs
experts ont formalisé le processus d’investigation numérique laissant apparaître les prémices d’une
méthodologie.
A travers ce chapitre nous en étudierons quelques exemples. La liste présentée ci-dessous n’est
cependant pas exhaustive.
A – La méthode McKemmish
Rodney McKemmish, expert Australien en forensic, a ainsi formalisé le processus d’investigation
d’une réponse à incident en 4 étapes.
1. L’identification de la preuve digitale : cette première partie consiste à identifier clairement le
média d’analyse ( disque dur, clef USB mais aussi Smartphone…).
L’identification permet à l’analyste de choisir les bons outils dès le début de l’investigation.
2. La préservation de la preuve digitale : dans le cas d’une présentation devant une cour de
justice, il est essentiel de conserver la preuve en l’état originel. Cette partie est indispensable
pour garantir l’intégrité et l’authenticité des données extraites.
3. L’analyse de la preuve digitale : cette troisième partie consiste à extraire les données dans le
but de les reconstruire, de les identifier et de les rendre compréhensibles pour un être
humain.
4. La présentation de la preuve digitale : pour qu’une preuve soit recevable devant une cour de
justice, l’analyste doit la présenter sous une forme compréhensible par une personne non
technicienne.
Rodney McKemmish dans son approche de la méthodologie d’investigation énonce également les
règles à respecter par les logiciels d’investigation, pour garantir une recevabilité devant un tribunal.
 Pas ou peu de modification des données d’origine,
 Documentation de tout changement intervenu pendant l’analyse,
 Le respect des règles de bon usage des outils.
Mémoire de recherche appliquée 2014
Page 18
B – Le projet CTOSE
Le projet CTOSE (Cyber Tools On-line Search for Evidence) de la Commission Européenne a été mis en
place dans le but d’élaborer un modèle de processus destiné aux entreprises dans le cas d’un
incident informatique. L’objectif de ce projet est d’améliorer le processus d’investigation pour que
les preuves recueillies soit admissibles dans le cadre d’une procédure judiciaire.
Ainsi le projet CTOSE est regroupé sur 5 phases :
1. La phase de préparation
2. La phase d’exécution
3. La phase d’évaluation
4. La phase d’enquête
5. La phase d’apprentissage
C – L’approche Smith et Petreski (DEFCON)
En 2010, deux experts en sécurité informatique, David C. Smith et Samuel Petreski de l’université de
Georgetown aux Etats-Unis ont également formalisé le processus d’investigation numérique et
proposé leur propre approche lors de la DEFCON (une des conférences de sécurité les plus réputées).
Leur méthode est basée sur trois composants.
1. La pré-analyse : définir le type de cas, les objectifs de l’analyse, et les exigences.
2. L’analyse : Sélection des méthodes optimales pour atteindre le but défini.
3. L’évaluation du temps de l’analyse : définir le temps d’analyse en fonction du but, de
l’expérience, du budget et de la taille des données.
D – Digital Forensic Process
De nombreuses formalisations du processus d’investigation existent. Le modèle le plus utilisé
actuellement est nommé le « Digital Forensic Process » mis au point par Eoghan Casey. Ce dernier est
composé de 4 parties distinctes :
1. La saisie : cette étape correspond au moment où les différents média numériques sont saisis.
2. L’acquisition : elle consiste à extraire, dupliquer et conserver la preuve dans le but de ne pas
modifier l’original de la saisie.
3. L’analyse : Elle consiste à analyser et identifier les preuves de chaque support, afin d’en
extraire les éléments qui constitueront le dossier final. C’est lors de l’analyse que les
enquêteurs utiliseront les outils dédiés de l’investigation numérique.
4. La création du rapport : Après l’analyse des supports, les enquêteurs devront établir un
dossier comprenant tous les éléments de l’investigation et compréhensible par toutes les
personnes concernées par l’enquête.
Il existe de nombreuses autres méthodes pour mener une analyse forensic. Certaines plus
spécialisées sont destinées aux études en laboratoire mais peuvent également être appliquées dans
le cadre de réponse à incident.
Mémoire de recherche appliquée 2014
Page 19
Les méthodologies d’analyse de malware sont quelque peu différentes des méthodes de l’analyse
légale, néanmoins elles utilisent les mêmes procédés et les mêmes outils.
Nous traiterons l’analyse de malware dans le chapitre 5 de ce document.
II.2 – Les supports numériques
Il existe différents supports numériques qui peuvent faire l’objet d’une investigation. Au préalable, il
est nécessaire pour l’analyste de comprendre le fonctionnement de ces supports.
A – Disque Dur magnétique
Un disque dur magnétique est composé d’éléments mécaniques et électroniques. La partie
mécanique est composée de :
 Plateaux circulaires double face, la plupart du temps en aluminium, recouvert d’un
revêtement magnétique.
 Un axe rotatif qui supporte les disques entrainés par un moteur. La vitesse de rotation peut
aller de 5400 tours/min pour les disques d’ordinateurs personnels et jusqu’à 15000
tours/min pour des disques haute performance souvent employés pour le stockage de
données sur des serveurs.
 Les têtes de lecture/écriture : pilotées par un bras leur permettant de pivoter et balayer
toute la surface des disques. Ces dernières ne sont jamais en contact avec la surface.
La partie électronique est en charge du transport des données entre la carte mère et les disques. Elle
est composée de :
 un circuit électronique permettant de faire fonctionner les différents composants du disque.
 un micro-processeur qui convertit les signaux électriques en signaux digitaux.
 une mémoire cache qui traite les informations temporaires que le disque doit effectuer.
Figure 2 - Schéma général d’un disque dur
Les données sont stockées sur un disque dur magnétique sous forme d’une série de bits. Il s’agit de
charges magnétiques positives ou négatives. Elles sont ensuite converties en code binaire. Un disque
est composé de pistes, de cylindres et de secteurs. Une piste est un sillon gravé à la surface du
disque. On parle de cylindres lorsque des données sont stockées sur la même piste de différents
plateaux. Chaque piste est divisée en secteurs (le plus souvent un secteur fait 512 octets).
Mémoire de recherche appliquée 2014
Page 20
Figure 3 - Charge magnétique à la surface d’un disque
Au sein d’un disque dur il existe une table d’allocation de fichiers et des clusters. Un cluster est la
plus petite unité de stockage présente sur un disque dur, on l’appelle aussi unité d’allocation.
Un disque dur possède des milliers d’unités d’allocations. La table d’allocation répertorie les clusters
présents sur le disque et contient le statut de chacun d’eux. Un cluster peut présenter trois états
(disponible, réservé, ou défectueux). S’il est disponible, le système permet d’utiliser l’espace qu’il
occupe pour y stocker une information. Dans l’état réservé ou défectueux, aucune opération
d’écriture n’est possible. La table d’allocation référence aussi les clusters en groupe si un fichier est
stocké sur plusieurs d’entre eux.
Il existe trois méthodes d’allocation sur un disque :
1. La méthode d’allocation contigüe : les clusters se suivent les uns les autres. Elle est
aujourd’hui considérée comme obsolète, mais on la retrouve encore sur certains systèmes
d’exploitation industriels. Elle oblige à pré-allouer les clusters pour prévoir l’utilisation
grandissante de l’espace occupé par des fichiers, ce qui sous-entend une perte d’espace
disque, mais aussi des difficultés d’agrandissement du volume dans le cas où la pré-allocation
aurait été sous-dimensionnée.
Fichier A A A A B B B C C
Cluster 1 2 3 4 5 6 7 8 9
Tableau 1 - Représentation de la méthode d’allocation contigus
2. Méthode d’allocation par lien : chaque cluster contient, en plus de la donnée, un pointeur
vers la prochaine unité d’allocation. Les clusters n’ont donc pas besoin d’être contigus.
Fichier A A B A C A B B C
Cluster 1->2 2->4 3->7 4->6 5->9 6->1 7->8 8->3 9->5
Tableau 2 - Représentation de la méthode d’allocation par lien
Mémoire de recherche appliquée 2014
Page 21
3. Méthode d’allocation indexée : la méthode indexée est particulière en cela qu’elle est gérée
par le système d’exploitation qui indexe chaque cluster d’un même ensemble. Comme avec
la méthode par lien, les clusters n’ont pas à être contigus. Les systèmes de fichiers FAT et
NTFS utilisent la méthode d’allocation indexée.
INDEX
Fichier A Clusters : 1, 2, 4, 6
Fichier B Clusters : 3, 7, 8
Fichier C Clusters : 5, 9
Fichier A A B A C A B B C
Cluster 1 2 3 4 5 6 7 8 9
Tableau 3 - Représentation de la méthode d’allocation indexée
Une autre approche consiste à s’intéresser à la manière dont le système d’exploitation alloue
l’espace disque.
Il existe trois stratégies de stockage :
 La stratégie du premier emplacement disponible : si un fichier occupe 3 clusters, le système
placera le fichier au cluster 2, puis au 5 et enfin au 7.
 La stratégie du prochain emplacement disponible : le fichier sera stocké aux clusters 5, puis 7
et 8.
 La stratégie du meilleur emplacement disponible : le système recherchera l’emplacement le
plus petit possible où le fichier pourra être stocké sans être fragmenté, c’est-à-dire aux
clusters 7, 8 et 9.
Etat Alloué Alloué Dernier
alloué
Alloué
Cluster 1 2 3 4 5 6 7 8 9
Tableau 4 - Représentation de la méthode par stratégie de stockage
Dans le cadre d’une investigation, il est important de connaître les méthodes de stockage et les
stratégies utilisées par le système de fichier, notamment pour permettre de procéder à des analyses
de cohérence surtout en matière de falsification de dates.
Mémoire de recherche appliquée 2014
Page 22
B – Disque Dur « solides « (SSD)
Un disque dur SSD est composé de puces électroniques, qu’on appelle aussi semi-conducteurs. La
majorité des constructeurs utilisent de nos jours des composants appelés mémoire flash. Les semi-
conducteurs sont réinscriptibles, c’est ce que l’on appelle une mémoire de masse. Contrairement à la
mémoire vive, les données ne disparaissent pas en cas de mise hors tension. La mémoire flash stocke
des bits de données dans des cellules de mémoire.
Puce
Cellule mémoire
Figure 4 - Schéma d’un disque dur SSD
Un SSD présente un avantage certain sur un disque dur magnétique, à savoir qu’il ne présente aucun
élément mécanique, ce qui le rend particulièrement résistant aux chocs. En revanche, en raison de la
présence de semi-conducteurs, il est nécessaire de limiter l’exposition d’un SSD à des rayonnements
électromagnétiques qui pourraient endommager les puces.
Au niveau de son interface, on trouve de nos jours des disques durs de types SATA, qui est l’interface
la plus utilisée dans les ordinateurs personnels, mais également des interfaces PCI Express haut de
gamme qui permettent d’améliorer encore de manière très significative les débits sur ce type de
composants.
Le processus d’écriture sur un SSD est très différent de celui d’un disque dur ordinaire, les stratégies
mentionnées lors de l’étude des disques durs ne s’appliquent pas. L’écriture sur un disque SSD ne se
fait pas simplement en écrasant la donnée comme pour un disque dur. Elle est en fait une suite de
bits qui sont eux-mêmes une charge électrique mémorisée par la cellule. Pour écrire dans une cellule,
le système doit effacer entièrement la page, qui contient plusieurs autres cellules, avant d’y inscrire
la donnée, ce qui entraîne un jeu de déplacement des données à l’intérieur des puces. Cela signifie
que le système ne réécrit pas nécessairement les données dans les mêmes cellules.
Mémoire de recherche appliquée 2014
Page 23
La structure générale d’un SSD est assez simple par rapport à un disque dur magnétique, elle se
compose d’un « control chip » qui contrôle les opérations du disque :
 ECC Checking (Error Correction Code) est un protocole de vérification d’erreurs sur les blocs
après écriture.
 Wear Leveling (Répartition d’usure) va répartir l’utilisation des blocs afin d’optimiser la durée
de vie du disque.
 True FFS est le processus de vérification du nombre de lectures/écritures d’un bloc.
Aujourd’hui, on estime à 100000 lectures/écritures sur un bloc avant qu’il ne soit plus
utilisable.
On retrouve trois types de puces à base de mémoire flash dans le commerce:
 NOR : C’est une mémoire à accès rapide, l’écriture à répétition est plus problématique, c’est
pourquoi les ROM (Read Only Memory) comme les BIOS utilisent plus généralement ce
format.
 NAND : C’est le type de mémoire le plus utilisé, décris ci-dessous.
 DRAM : C’est le type de puce le plus rapide. Il est la plupart du temps utilisé dans la mémoire
vive. Ses caractéristiques structurelles font que l’information disparait si ses condensateurs
ne sont pas stimulés par une charge électrique plus de quelques millisecondes.
Structure de la mémoire NAND
Un composant tel qu’une puce de mémoire Flash est composé d’un grand nombre de cellules de
stockage. Chaque cellule est en réalité composée de plusieurs éléments, une base matérielle en
silicium surmontée de ce que l’on appelle une « floating gate » et d’un « contrôl gate ».
La « floating gate » ou « barrière flottante » est utilisée dans tous les composants à base de mémoire
flash, pour sa capacité à stocker une charge électrique même sans alimentation pendant très
longtemps. Pour stocker cette charge, un transistor est la plupart du temps composé de plusieurs
éléments électroniques dont des condensateurs destinés à contrôler la tension délivrée.
Figure 5 - Représentation d’une cellule mémoire
Il existe deux technologies de puces à mémoire flash, SLC (Single Layer Cells) et MLC (Multi Layer
Cells). Les puces à base de SLC ne stockent qu’un seul bit à la fois, quand la MLC en stocke plusieurs.
La durée de vie est sensiblement différente et les temps d’accès sont également différents sans être
une caractéristique importante pour les performances. Nous nous attarderons sur les puces MLC.
Mémoire de recherche appliquée 2014
Page 24
Une puce MLC est constituée de plusieurs couches de cellules. Lors du processus d’écriture des
données, le système écrit sur toutes les couches. Les puces MLC peuvent donc stocker plus
d’informations que les SLC, pour une puce de taille identique.
Pour comprendre comment sont stockées les données, il faut connaitre la structure des puces MLC :
 Il faut 8 cellules pour stocker un bit
 16 cellules pour stocker un mot
 Un secteur peut contenir entre 512 et 2048 bits
 Un block fait 64 fois la taille d’un secteur
 Un secteur a également 64 bits supplémentaires pour étiqueter le secteur
 Une page est constituée de l’ensemble secteur plus un flag
Figure 6 - Fonctionnement de TRIM
La connaissance de la commande TRIM permet de comprendre comment fonctionne un SSD dans ses
processus d’écriture. La recherche de données après le passage de la commande TRIM est vaine dans
la mesure où les pages sont effacées après que le système a envoyé au contrôleur l’instruction de
libération des pages.
Il existe cependant une méthode qui consiste à dessouder les puces NAND et à analyser les
fragments de données. Toutefois, cette méthode n’a pas encore réellement fait ses preuves.
Mémoire de recherche appliquée 2014
Page 25
C – Mémoire vive (RAM)
La mémoire vive, qu’on nomme en anglais RAM (Random Access Memory), possède des
caractéristiques différentes des autres types de mémoire, disque dur magnétique et SSD. La
principale étant le temps d’accès considérablement plus faible, c’est la raison pour laquelle les
données en traitement sont toujours stockées dans la RAM.
La mémoire RAM est prise en charge par une carte mère sur un support de type DIMM, et est reliée
par un BUS très rapide pour fournir les données au processeur. Une autre caractéristique très
importante de la RAM est sa volatilité, en effet, en l’absence d’un courant électrique, la mémoire
vive se vide de ses données, lorsque l’on éteint un ordinateur, les données en mémoire sont donc
perdues.
Dans la mémoire vive, les données sont organisées sous forme de mots de 8, 16, 32, ou 64 bits.
La connaissance de la volatilité de l’information sur la mémoire vive est d’un intérêt capital lors de
réponse à incident. Dans de très rares cas où un expert a la possibilité d’analyser un ordinateur
infecté ou subissant une attaque, l’analyse de la RAM peut s’avérer importante. Un attaquant
préfèrera charger les éléments infectieux en RAM afin de faire disparaitre ses traces lors du
redémarrage de la machine.
Figure 7 - Représentation d’une barrette mémoire RAM
Mémoire de recherche appliquée 2014
Page 26
II.3 – Les outils utilisés pour l’analyse forensic
Les outils présentés ci-après sont ceux les plus utilisés et font partie des produits que les tribunaux
reconnaissent dans le cadre d’enquêtes où des supports numériques font l’objet d’analyse.
Ces outils sont retenus en fonction de leurs capacités à analyser et à préserver les objets. L’enquête
et l’analyse des supports ne doit pas altérer les éléments qui seront à terme présentés comme
preuves.
A – EnCase2
EnCase Forensic est une suite logicielle dédiée à l’investigation. Il dispose d’un moteur puissant
permettant la recherche rapide d’une grande variété de fichiers, de fournir un niveau de détail élevé
dans les rapports d’analyse et de préserver les données collectées.
C’est un logiciel très utilisé par les départements d’investigation numérique de la police et la
gendarmerie. Il constitue une des seules suites logicielles reconnues par les tribunaux pour la
recherche de preuves. Il supporte les analyses par mot clé, par comparaison d’empreintes et
implémente également son propre langage de scripting permettant ainsi le développement de ses
propres modules pour des analyses personnalisées.
Figure 8 - Interface d' EnCase
Mémoire de recherche appliquée 2014
Page 27
B – FTK (Forensic ToolKit)3
FTK (Forensic ToolKit) est une autre suite de logiciel dédiée à l’investigation. Elle est capable
d’analyser tous types de systèmes, (FAT 12/16/32, NTFS, EXT).
Elle fonctionne uniquement sur Windows. Elle est livrée avec un moteur de base de données
PostgreSQL qui indexe toutes les données présentes sur le support et réduit considérablement le
temps de réponse des analyses.
FTK est également capable d’analyser des images créées à partir d’autres outils comme EnCase.
Figure 9 - Interface de FTK
C – DFF (Digital Forensic Framework)4
DFF (Digital Forensic Framework) est une suite logicielle spécialisée dans la recherche forensic. C’est
un outil open source écrit en C++ et Python. C’est aussi une plateforme de développement qui
permet de créer ses propres modules pour des investigations personnalisées et très fines.
DFF permet l’acquisition et la corrélation d’éléments suspects, provenant de différents types de
supports, disques, mémoire vive, puces électroniques (téléphonie mobile, etc.).
De nombreux professionnels de l’informatique utilisent aussi DFF pour récupérer des données
supprimées.
Mémoire de recherche appliquée 2014
Page 28
Figure 10 - Interface de DFF
Il existe, en plus de ces différents logiciels, des distributions spécialisées dans la récupération de
données. Parmi les plus connues, SIFT et DEFT Linux, toutes deux basées sur Ubuntu et offrant un
environnement contenant de nombreux outils pour l’investigation numérique.
D – Les bloqueurs en écriture
Les bloqueurs en écriture sont des dispositifs qui permettent de faire l’acquisition d’une image d’un
disque dur en bloquant le mécanisme d’écriture, mais pas de lecture, dans le but de préserver le
contenu. L’utilisation de ce type de dispositif permet de protéger le contenu du disque et garantit
ainsi son intégrité. Il existe des bloqueurs en écriture matériel et logiciel.
Il est possible de se procurer un bloqueur en écriture auprès de sociétés spécialisées telles que
TRACIP5
.
Figure 11 - Bloqueur en écriture
Un bloqueur en écriture matériel s’interpose entre le disque dur (la preuve) et le PC qui servira à
l’acquisition de l’image.
Mémoire de recherche appliquée 2014
Page 29
II.4 – Proposition d’une méthodologie
La méthodologie présentée ci-dessous peut être appliquée dans le cadre de recherches en
laboratoire mais également sur le terrain lors d’une enquête ou d’une réponse à incident. Elle devra
être adaptée en fonction des besoins et de l’objectif poursuivi. En effet, u vol de données
confidentielles ne fera pas l’objet des mêmes techniques qu’une réponse à incident après un
piratage par exemple
1. Identification du contexte (Architecture réseaux, flux ouvert, heure, date, actions menées
par les utilisateurs ou les administrateurs) : Cette partie consiste à obtenir un maximum
d’informations de la part des utilisateurs, des administrateurs ou autres. Elle a pour but
d’identifier toutes les composantes du système d’information à analyser et de discerner les
éléments pouvant accélérer ou retarder l’analyse forensic (poste/serveur éteints après
intrusion : données volatiles effacées).
2. Copie et analyse de la mémoire RAM
a. Copie de la mémoire : réalisation d’une copie de la mémoire avec calcul de
condensat (MD5, SHA1..) conservation et intégrité des données.
b. Analyse de la mémoire : analyse des données volatiles, réalisation d’une chronologie
d’utilisation (timeline), extraction de données volatiles (mot de passe...).
3. Copie et analyse du disque dur
a. Copie du disque dur : réalisation d’une image système avec calcul de condensat
(MD5, SHA1..), conservation et intégrité des données.
b. Analyse du disque dur : analyse du système de fichier, de la base de registre et des
journaux d’évènements, de l’historique et des artefacts de navigation, décodage de
mot de passe, chronologie d’utilisation, extraction de binaires et de documents.
4. Analyse des éléments connexes : Logs annexes (logs firewall, logs d’IPS ou d’IDS, proxy,
Active Directory, serveur web), si possible.
5. Constitution du dossier des différentes preuves numériques pouvant servir en justice.
6. Corrélation des évènements
Un des éléments essentiels de l’analyse forensic est de noter et horodater tous les éléments. Dans le
but de ne pas compromettre le dossier de preuves pouvant servir en justice, l’analyste pourra par
ailleurs mandater un huissier de justice pour certifier la procédure.
Mémoire de recherche appliquée 2014
Page 30
Le schéma ci-dessous représente la méthodologie énoncée :
Figure 12 - Méthodologie d’une investigation numérique
Ces méthodes et techniques peuvent être utilisées à mauvaise escient par des pirates. En effet il est
probable que dans le cas d’une attaque informatique ciblée (dans le but de récupérer mots de passe,
comptes utilisateur, documents sensibles…), un attaquant abuse de cette méthodologie pour
accéder à des informations confidentielles.
Mémoire de recherche appliquée 2014
Page 31
Chapitre III : Les méthodes de forensic
Les méthodes de forensic constituent tous les éléments permettant de mener à bien une
investigation numérique. Chaque support nécessite des outils particuliers.
Nous verrons dans ce chapitre les outils existants ainsi que les méthodes nécessaires à l’extraction,
l’analyse et la corrélation des données.
III.1 – Calcul de condensat
Lors d’une analyse forensic, il est primordial de calculer une empreinte qui identifiera le fichier à
l’aide d’une fonction de hachage. Cette empreinte doit être unique car elle permet de valider que le
fichier n’a pas été altéré durant l’investigation. Le calcul de condensat permettra ainsi de garantir
l’intégrité des fichiers analysés.
Figure 13 - Principe de fonctionnement d’une fonction de hachage sur 3 entrées différentes
Voici les fonctions de hachage les plus utilisées :
 MD5 (Message Digest) : Hash de 128 bits
 SHA1 (Secure Hash Algorithm) : Hash de 160 bits
 SHA224 : Hash de 224 bits communément appelé SHA2
 SHA256 : Hash de 256 bits communément appelé SHA2
 SHA384 : Hash de 384 bits
 SHA512 : Hash de 512 bits
Mémoire de recherche appliquée 2014
Page 32
Sous linux il est possible d’utiliser les fonctions de hachage simplement :
r1tch1e@forensic:~$ md5sum case1.raw
edcdc33fd185c17e6d3813b1bcf77af9 case1.raw
r1tch1e@forensic:~$ sha1sum case1.raw
018f3bdf11378f8d69b1767058f6c7303707307a case1.raw
r1tch1e@forensic:~$ sha224sum case1.raw
304696ba8d9abf7f7eb4153c69b970abb328843a79b2ddc65abdab1a case1.raw
r1tch1e@forensic:~$ sha256sum case1.raw
e3126128f08662b496936d45d563f4e1acf012138a9a52557e9295f8ede8df4d case1.raw
r1tch1e@forensic:~$ sha384sum case1.raw
c89b5611dca6954261aff47bc10f63c0117c83e500829a302ee0f0b749ade077ae753846b04
1d46091859e29286dc7fb case1.raw
r1tch1e@forensic:~$ sha512sum case1.raw
29ed0d167a46991def4af168ec300d799d85075531dbc86116e7370540292b8e539910d901b
30ec499b7ca06dd5ef5ca4ca1e115877305a81d2bda9bb39283d7 case1.raw
Figure 14 - Calcul d’empreinte sous Linux
Afin de réaliser un contrôle d’empreinte sur un ensemble de fichiers, il peut être intéressant de
réaliser un script en python pour automatiser cette tâche. La bibliothèque « hashlib » permet de
réaliser des empreintes avec les algorithmes usuels.
Nous avons développé un script hash.py6
disponible en annexe.
Le script s’execute ainsi:
r1tch1e@forensic:~$ python hash.py -f case1.raw –msx
The MD5 hash is 37da7f205f894fd449d446e40422bdf1
The SHA256 hash is
30827d0e70951b12ad89c9747c63c22e0613f976e6d1c1d8d8d5316c308b28c1
The SHA512 hash is
ff4f639634f1e537b8a207f3603bf130a57f154dd2de3f83718ba78e2e440c085d06b6ef81c
82c6bd68178e8e100ec6318a93ebbbaac172adaf3e5c17297a7ba
Figure 15 - Calcul de hash avec le script hash.py
Il permet de générer une empreinte avec les 3 algorithmes principaux (MD5, SHA256, SHA512).
Mémoire de recherche appliquée 2014
Page 33
Le script permet également de comparer 2 fichiers afin de vérifier que les deux empreintes
coïncident :
r1tch1e@forensic:~$ python hash.py -c case1.raw case1.raw -m
This is the same file ! :)
37da7f205f894fd449d446e40422bdf1 case1.raw
37da7f205f894fd449d446e40422bdf1 case1.raw
r1tch1e@forensic:~$ python hash.py -c case1.raw case2.raw -m
This is not the same file ! :(
37da7f205f894fd449d446e40422bdf1 case1.raw
66349e73f9a42db317292c34917ed8b2 case2.raw
Figure 16 - Comparaison de hash avec le script hash.py
Il est à noter que l’algorithme MD5 n’est plus totalement fiable car il a montré des faiblesses de
collision (2 empreintes identiques pour 2 fichiers différents).
Des banques d’empreintes de fichiers, mises à disposition sur internet permettent d’identifier tous
les fichiers connus inutiles pour l’analyse. Le site http://www.nsrl.nist.gov/ recense les hash connus,
il sera ainsi possible d’automatiser l’identification de fichier en comparant leurs empreintes sur le
site.
Mémoire de recherche appliquée 2014
Page 34
III.2 – Acquisition et analyse de la mémoire volatile
La mémoire vive d’un ordinateur peut contenir de nombreuses informations : mots de passe,
identifiants, clefs de chiffrement ou encore processus actifs. Lors d’une analyse forensic, l’étude de
l’image mémoire d’un système peut s’avérer utile.
La manipulation de la mémoire vive intervient dans le cadre d’une « analyse à chaud », c’est-à-dire
lorsque le système est encore en fonctionnement et n’a pas été arrêté ou redémarré au moment de
l’investigation.
Nous verrons dans cette partie comment extraire un dump de la mémoire RAM pour l’analyser.
A – Acquisition de la mémoire volatile
L’acquisition de la mémoire vive intervient généralement lors d’une réponse à incident et sur un
système en fonctionnement. Lors de l’acquisition, l’analyste doit éviter au maximum toutes
modifications afin de récupérer une image fidèle du système à analyser.
Certains outils permettent spécifiquement de copier le contenu de la mémoire RAM.
L’utilitaire Dumpit
Afin de réaliser une image de la RAM nous utiliserons l’utilitaire gratuit de la société Moonsols :
Dumpit, disponible sur Internet7
.
Cet outil est composé des 2 utilitaires suivants :
- Win32DD : permettant de réaliser une image mémoire d’un système Windows 32 bits
- Win64DD : permettant de réaliser une image mémoire d’un système Windows 64 bits
Nous lançons l’utilitaire :
Figure 17 - Copie de la mémoire vive avec l’utilitaire Dumpit
On obtient ici une image mémoire de 9Go, qui pourra par la suite être analysée.
Mémoire de recherche appliquée 2014
Page 35
Extraction de la mémoire vive par « cold boot »
Lorsque l’on éteint subitement un ordinateur, la totalité des données présentes dans la mémoire vive
est disponible environ 5 à 10 secondes. Le tableau ci-dessous indique le temps de rémanence des
données après extinction.
Temps % de données
5 à 10 secondes 100%
10 à 60 secondes 80%
1 à 3 minutes 50%
après 3 minutes 0% à 2%
Tableau 5 - Temps de rémanence des données contenues dans la RAM
La technique de « cold boot » consiste à exploiter cette rémanence en refroidissant la mémoire vive.
Une étude menée par des chercheurs de l’université de Princeton aux Etats-Unis en 2008, a montré
que refroidir la mémoire vive à très basse température permettait de conserver plus longtemps les
données présentes. Il devient ainsi possible d’extraire les données sans être contraint par le temps. A
titre d’exemple, à moins 50 degrés les données peuvent être conservées jusqu’à 10 minutes. En
plongeant les barrettes mémoires dans l’azote liquide le temps de conservation peut alors s’élever à
plusieurs heures, voire plusieurs jours.
Pour réaliser cette technique, nous devons :
1 – Refroidir les barrettes mémoires sur un ordinateur allumé,
2 – Couper brusquement l’alimentation de l’ordinateur,
3 – Brancher les barrettes sur un autre ordinateur (ou sur le même),
4 – Booter sur un système tiers afin d’éviter que le système n’écrase les données,
5 – Dumper la mémoire.
Une bombe à air sec (disponible dans le commerce), nous permet de refroidir les barrettes
mémoires.
Figure 18 - Bombe à air sec
Puis nous utiliserons l’utilitaire MSRAWDMP8
.
Mémoire de recherche appliquée 2014
Page 36
Refroidissement de la mémoire vive de l’ordinateur allumé :
Figure 19 - Gel de barrette mémoire
Redémarrage de l’ordinateur et boot sur clef USB préparée avec l’utilitaire MSRAWSMP et copie du
contenu de la RAM pour récupération et exploitation des données :
Figure 20 - Copie de la mémoire vive avec l’utilitaire MSRAWSDMP
Mémoire de recherche appliquée 2014
Page 37
B – Analyse de la mémoire volatile
Afin de procéder à l’analyse de la mémoire volatile, nous traiterons ici de l’outil le plus réputé et le
plus utilisé dans l’investigation numérique pour les systèmes Windows : le Framework Volatility9
.
Une version pour les systèmes Linux est également disponible : Volatilitux10
.
Ainsi que pour les systèmes MAC : Volafox11
.
Présentation du Framework Volatility
Volatility est un Framework open-source écrit en python, utilisé pour les réponses à incident ou pour
l’analyse de malware. Il est distribué par la société Volatile Systems.
Le Framework Volatility dispose des fonctionnalités suivantes :
 Informations sur l'image (date, heure, nombre d'UC)
 Extraction des processus en cours
 Extraction des processus SID et des variables d'environnement
 Affichage des sockets réseau
 Affichage des connexions réseau
 Extraction des DLL chargées pour chaque processus
 Affichage des modules du noyau
 Dump des processus, des DLL, ou des modules de disque
 Cartographie des compensations physiques à des adresses virtuelles
 Extraction des informations de descripteur d'adresses virtuelles
 Extraction de la mémoire adressable pour chaque processus
 Extraction des cartes de mémoire pour chaque processus
 Extraction des échantillons exécutables
 Extraction des historiques de commande (cmd.exe) et des tampons d'entrée/sortie console
 Fonctions de l'API importées et exportées
 Affichage des informations de version de PE
 Affichage des tables d'appels système (IDT, GDT, SSDT)
 Exploration des ruches du registre cache
 Dump des hash LM/NTLM et secrets LSA
 Analyse des modes d'octets, des expressions régulières, ou des chaînes en mémoire
 Analyse du timers du noyau et des fonctions de rappel
 Rapport sur les services Windows
La liste des options de Volatility est disponible en annexe.
Mémoire de recherche appliquée 2014
Page 38
Identification du profil
La première étape pour l’analyse de l’image mémoire est d’utiliser l’option « imageinfo » pour
obtenir les informations concernant le système d’exploitation de l’image.
r1tch1e@forensic:~$ python vol.py –f case.dmp imageinfo
Volatile Systems Volatility Framework 2.2
Determining profile based on KDBG search...
Suggested Profile(s) : Win7SP0x86, Win7SP1x86
AS Layer1 : JKIA32PagedMemoryPae (Kernel AS)
AS Layer2 : FileAddressSpace(/case.dmp)
PAE type : PAE
DTB : 0x185000L
KDBG : 0x82929be8L
Number of Processors : 1
Image Type (Service Pack) : 0
KPCR for CPU 0 : 0x8292ac00L
KUSER_SHARED_DATA : 0xffdf0000L
Image date and time : 2013-01-12 16:59:18 UTC+0000
Image local date and time : 2013-01-12 17:59:18 +0100
Figure 21 - Option imageinfo de Volatility
La commande retourne les informations du système. Il faudra alors utiliser le profile Win7SP1x86
ou Win7SP0x86 avec l’option « --profile= », pour le reste de l’analyse.
Lister les processus en cours
Afin d’identifier les applications utilisées lors de la récupération de l’image mémoire, Volatility
permet de lister les processus en cours d’utilisation avec l’option « pslist ».
r1tch1e@forensic:~$ python vol.py --profile=Win7SP1x86 –f case.dmp pslist
Volatile Systems Volatility Framework 2.2
Offset(V) Name PID PPID Thds Hnds
---------- -------------------- ------ ------ ------ --------
0x83db4b78 System 4 0 94 496
0x8509f020 smss.exe 260 4 2 29
0x85078d40 csrss.exe 372 364 8 453
0x846ad760 wininit.exe 412 364 3 75
0x851ced40 csrss.exe 420 404 9 275
0x85770cc8 winlogon.exe 468 404 6 114
0x8582e820 services.exe 512 412 9 209
0x85833668 lsass.exe 520 412 6 588
0x85835898 lsm.exe 528 412 10 148
0x8597ed40 svchost.exe 644 512 11 353
0x859a1310 svchost.exe 704 512 7 277
0x859b1cd8 svchost.exe 756 512 22 492
0x85a4f530 svchost.exe 868 512 16 352
0x85a4f030 spoolsv.exe 1236 512 13 343
0x85a1d030 svchost.exe 1272 512 19 314
0x85a68a98 vmtoolsd.exe 1428 512 9 293
0x85d45420 TPAutoConnSvc. 1716 512 10 139
0x85d4fd40 svchost.exe 1760 512 7 94
0x85d521b0 svchost.exe 1856 512 5 101
0x85d80918 dllhost.exe 2016 512 15 192
0x85d6fd40 msdtc.exe 1008 512 14 147
0x85e03d40 svchost.exe 2040 512 15 356
Mémoire de recherche appliquée 2014
Page 39
0x83ef62d8 SearchIndexer. 1828 512 11 602
0x83f21d40 SearchProtocol 288 1828 7 319
0x83f4b778 WmiPrvSE.exe 2404 644 6 111
0x85d0d430 taskhost.exe 2696 512 11 212
0x83f2a710 dwm.exe 2756 868 4 71
0x83f911e0 explorer.exe 2792 2740 34 982
0x83fab6c8 TPAutoConnect. 2816 1716 6 126
0x83f76398 conhost.exe 2824 420 1 33
0x83febd40 vmtoolsd.exe 2968 2792 7 187
0x83f594d0 audiodg.exe 3024 756 7 133
0x84c72ab0 wmpnetwk.exe 3332 512 11 213
0x84e90030 svchost.exe 3376 512 10 142
0x84d0cd40 firefox.exe 3820 2792 39 494
0x85e2e030 TrueCrypt.exe 4080 2792 6 258
0x85d7b720 SearchFilterHo 2536 1828 4 97
0x8523e030 KeePass.exe 852 2792 10 260
0x846a3030 DumpIt.exe 3816 2792 2 37
0x848018e8 conhost.exe 3892 420 2 53
Figure 22 - Option pslist de Volatility
On obtient ici toutes les informations liées au processus du système. Le PID d’un processus peut être
récupéré pour l’analyser plus en profondeur. Par exemple, dans le cas d’un utilitaire de protection de
mot de passe tel que Keepass, il peut être intéressant d’extraire un dump dans le but de récupérer
des identifiants stockés en mémoire ou le mot de passe principal.
Dumper l’image mémoire d’un processus
L’option « memdump » permet d’extraire l’image d’un processus afin de l’analyser. Pour dumper le
processus il faut d’abord récupérer son PID à l’aide de la commande « pslist ». Ici nous dumperons le
processus « KeePass.exe » avec le PID 852.
r1tch1e@forensic:~$ python vol.py --profile=Win7SP1x86 –f case.dmp memdump
-p 852 --dump-dir /tmp/
Volatile Systems Volatility Framework 2.2
************************************************************************
Writing KeePass.exe [ 852] to 852.dmp
Figure 23 - Option memdump de Volatility
Volatility crée ici un fichier nommé 852.dmp qui pourra par la suite être analysé.
Il est également possible de dumper le processus sous forme d’un exécutable avec l’option
« procmemdump ». L’exécutable pourra ensuite être décompilé et analysé. Nous prenons pour
exemple le processus « svchost.exe » avec le PID 2040.
r1tch1e@forensic:~$ python vol.py --profile=Win7SP1x86 –f case.dmp
procmemdump -p 2040 --dump-dir /tmp/
Volatile Systems Volatility Framework 2.2
Process(V) ImageBase Name Result
---------- ---------- -------------------- ------
0x85e03d40 0x00890000 svchost.exe OK: executable.2040.exe
Figure 24 - Option procmemdump de Volatility
Mémoire de recherche appliquée 2014
Page 40
Extraction des hash LM/NTLM
Les données du registre Windows peuvent être extraites lors d’un dump de la mémoire volatile.
Volatility propose plusieurs options permettant d’afficher et, d’explorer (hivelist, hivescan…) la base
de registre et d’extraire les identifiants du système (hashdump).
On procédera comme suit pour extraire les hash NTLM.
r1tch1e@forensic:~$ python vol.py --profile=Win7SP1x86 –f case.dmp hivelist
Volatile Systems Volatility Framework 2.2
Virtual Physical Name
---------- ---------- ----
0x960de9d0 0x135329d0 SystemRootSystem32ConfigSECURITY
0x961b78e8 0x12a3f8e8
??C:WindowsServiceProfilesLocalServiceNTUSER.DAT
0x82bb3140 0x02bb3140 [no name]
0x8760c008 0x19e8d008 [no name]
0x8761c008 0x19e1b008 REGISTRYMACHINESYSTEM
0x8763c6b8 0x19cbb6b8 REGISTRYMACHINEHARDWARE
0x876c69d0 0x19e569d0 SystemRootSystem32ConfigDEFAULT
0x882569d0 0x074a09d0 SystemRootSystem32ConfigSAM
0x882f43f0 0x071193f0
??C:WindowsServiceProfilesNetworkServiceNTUSER.DAT
0x8b2999d0 0x1966c9d0 DeviceHarddiskVolume1BootBCD
0x8cfb9008 0x17aaa008 SystemRootSystem32ConfigSOFTWARE
0x900ec008 0x04efb008 ??C:System Volume InformationSyscache.hve
0x90bf5008 0x0157c008 ??C:UsersR1TCH1Entuser.dat
0x92ac7650 0x0f165650
??C:UsersR1TCH1EAppDataLocalMicrosoftWindowsUsrClass.dat
Figure 25 - Liste des ruches systèmes avec l’option hivelist de Volatility
On utilisera ensuite l’option « hashdump » en précisant le « -y » (qui correspond à l’OFFSET de la
ruche SYSTEM) et l’option « -s » (qui correspond à l’OFFSET de la ruche SAM, où sont stockés les mots
de passe).
r1tch1e@forensic:~$ python vol.py --profile=Win7SP1x86 –f case.dmp hashdump
-y 0x8761c008 -s 0x882569d0
Volatile Systems Volatility Framework 2.2
Administrateur:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c
0:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
R1tch1e:1000:aad3b435b51404eeaad3b435b51404ee:b9f917853e3dbf6e6831ecce60725930:::
Figure 26 - Extraction des hash avec l’option hashdump de volatility
Après avoir récupéré les hash il est possible de les décrypter.
Mémoire de recherche appliquée 2014
Page 41
La copie d’écran ci-dessous illustre le décryptage12
du mot de passe :
Figure 27 - Décryptage du hash NTLM
Le hash retrouvé correspond ici à « passw0rd »
On notera tout de même qu’un mot de passe fort (constitué de plus de 8 caractères
alphanumériques minuscules, majuscules et caractères spéciaux) est très difficile à décrypter.
Volatility dispose de nombreuses autres options telles que « dlllist » qui permet de lister les DLL du
système ou celles utilisées par un processus. L’option « dlldump » permettra quant à elle d’extraire
une DLL en particulier afin de l’analyser.
D’autres options utilisées pour l’analyse de malware sont également présentes comme « malfind »
qui analyse les injections de code ou encore « yarascan » qui vérifie la signature YARA d’un binaire.
Enfin on ajoutera qu’il est possible d’ajouter des modules ou de développer ses propres outils pour
les utiliser avec Volatility.
Mémoire de recherche appliquée 2014
Page 42
III.5 – Acquisition et analyse de la mémoire non-
volatile
La mémoire non volatile est issue d’un support numérique qui conserve les données présentes même
lorsqu’il n’est pas alimenté électriquement.
On distingue alors la mémoire non-volatile de la mémoire volatile. Les supports non-volatiles
peuvent être des disques durs ou des clefs USB. On appelle cette partie l’analyse à froid ou post
mortem, elle sera effectuée après l’incident de sécurité ou lorsque que le système a été éteint ou
redémarré.
Lors d’une analyse forensic les supports numériques de données non volatiles peuvent fournir une
multitude d’informations à l’analyste. Nous verrons dans cette partie comment acquérir une image
d’un disque dur, comment l’utiliser et l’analyser.
A – Acquisition de la mémoire non-volatile
Comme pour la mémoire volatile, l’acquisition de la mémoire non-volatile est une partie très
importante de l’investigation numérique, elle doit respecter une procédure stricte afin de ne pas
altérer le contenu du support.
De nombreux outils ont pour but de copier le contenu d’un disque dur pour l’analyser.
L’utilitaire dd
L’utilitaire « dd », connu aussi sous la dénomination « GNU dd » est un outil en ligne de commande
permettant de copier des données en mode bloc. Il permet notamment de créer des images de
disques, ou de parties de disques qui seront ensuite utilisées avec des outils tels que FTK, DFF ou
EnCase.
L’utilitaire « dd » est par défaut disponible sur tous les systèmes Linux. Il permet de faire une copie
bit à bit garantissant ainsi une reproduction parfaite du disque dur.
Pour récupérer le contenu du disque dur d’un système Windows il suffit de booter la machine sur un
live cd ou USB afin d’obtenir un Shell Linux.
La commande pour cloner un disque dur entier sur un périphérique externe est la suivante :
r1tch1e@forensic:~$ dd if=/dev/sda of=/dev/sdb conv=notrunc,noerror
dd : writing to `/dev/sdb`
15769601+0 records in
15769600+1 records out
8074035200 bytes (8,1 GB) copied, 2449,65 s, 3.3 MB/s
Figure 28 - Copie d’un disque dur avec l’utilitaire dd
 L’option « notrunc » signifie de ne pas tronquer le fichier en sortie.
 L’option « noerror » signifie de continuer en cas d'erreur, dd s'arrête normalement en cas
d'erreur.
L’utilitaire « dd » permet également de nombreuses possibilités pour la manipulation de volume.
Mémoire de recherche appliquée 2014
Page 43
L’utilitaire dcfldd
L’utilitaire « dcfldd »13
est une version de « dd » améliorée. Il permet de faire une copie bit à bit d’un
disque dur tout en calculant l’empreinte qui servira à garantir son intégrité. « dcfldd » est open
source.
r1tch1e@forensic:~$ dcfldd if=/dev/sda of=/dev/sdb hash=sha1 hash=md5
Figure 29 - Copie d’un disque dur et calcul de condensat avec l’utilitaire dcfldd
L’utilitaire Esximager
Esximager14
est un script perl qui utilise netcat pour effectuer une copie à distance d’un système
virtuel. La virtualisation étant de plus en plus présente dans nos infrastructures, il convient d’utiliser
les outils adéquats pour récupérer des images issues de logiciels de virtualisation comme VMWARE.
Figure 30 - Copie d’une image virtuelle ESXi avec l’utilitaire esximager.pl
Mémoire de recherche appliquée 2014
Page 44
B – Monter une image
Après avoir récupéré l’image d’un disque dur, l’analyste doit pouvoir exploiter son contenu afin d’en
récupérer les informations nécessaires à l’enquête. Il faut donc pouvoir monter l’image sur un
système tout en gardant à l’esprit que le support ne doit pas subir de modifications.
Le montage de l’image est ici une étape importante qu’il faut mener avec précaution.
L’utilitaire mount
Après avoir effectué la copie d’un système, l’analyste doit pouvoir y accéder facilement pour
l’analyser. Il s’agit ici de monter le disque dur ou l’image sur un système tiers. Il est important de
monter l’image seulement en lecture afin de ne pas entraîner de modifications.
L’utilitaire « mount » présent sur tous les systèmes UNIX permet d’effectuer cette action.
r1tch1e@forensic~$ mount -t FAT -o ro,noexec case1.dd /mnt
Figure 31 - Montage d’une image avec l’utilitaire mount
 L’option « -t » permet de spécifier le système de fichier
 L’option « -o » permet de spécifier plusieurs options :
o « ro » permet de monter l’image en lecture seulement (Read Only)
o « noexec » ne permet pas l’exécution de binaire sur le système monté
 Le « /mnt » permet d’indiquer le répertoire de montage
Mémoire de recherche appliquée 2014
Page 45
L’utilitaire Live view
L’utilitaire Live View15
sert à convertir une image en machine virtuelle pour VMWARE pour pouvoir la
démarrer dans un environnement virtualisé. Ainsi, l’analyste pourra naviguer dans le système de
fichiers et exploiter l’image de manière graphique. Il nécessite cependant l’installation du
« VMWARE’s Virtual Disk Developement Kit »16
pour fonctionner.
Figure 32 - Conversion d’une image en vmdk
L’utilitaire Live View est disponible sous Windows mais la conversion d’une image sous Linux est
également possible.
Mémoire de recherche appliquée 2014
Page 46
C – Analyse de la mémoire non-volatile
L’analyse du système consiste à récupérer et interpréter tous les éléments nécessaires à l’enquête
(les dernières actions de l’utilisateur, les fichiers effacés, l’historique des sites visités..). Cette étape
de l’investigation numérique est la plus étendue, car de nombreux éléments peuvent être analysés
sur l’image récupérée. Lors d’une enquête, l’analyste n’a pas souvent le temps nécessaire pour
examiner en profondeur tous les éléments du système. Il est donc important de prendre les éléments
qui fourniront les informations les plus judicieuses comme la base de registre, les logs ou encore les
boîtes mails.
Analyse du registre
L’analyse du registre fournit de nombreuses informations sur l’attaquant ou le logiciel responsable
de l’infection en question. Le registre regorge de clés depuis Windows 2000 permettant de démarrer
des programmes quand l’ordinateur est allumé ou quand un utilisateur y est connecté. Par exemple
un malware va laisser de nombreuses traces dans le registre local de l’utilisateur connecté.
Si une clé de registre suspecte s’y trouve, on peut facilement affiner ces recherches pour trouver la
source de l’infection.
L’analyse du registre se fait par le biais d’outils. Comme par exemple un l’éditeur de registre
Windows : regedit. Il est possible qu’il n’affiche pas les clés dont la valeur est nulle, la plupart du
temps les malwares utilisent ce genre de vecteurs pour infecter une machine, et sont difficiles à
détecter dans un système.
Voici une liste des emplacements où un malware peut être dissimulé pour s’exécuter :
Les clés de registre logiciel : HKLM(HKEY_LOCAL_MACHINE)Software
 MicrosoftWindowsCurrentVersionRunServicesOnce
 MicrosoftWindowsCurrentVersionRunServices
 MicrosoftWindowsCurrentVersionRunOnce
 MicrosoftWindowsCurrentVersionRunOnceEx
 MicrosoftWindowsCurrentVersionPoliciesRun
 MicrosoftWindows NTCurrentVersionWinlogonUserinit
 MicrosoftWindows NTCurrentVersionWinlogonNotify
 MicrosoftWindowsCurrentVersionShellServiceObjectDelayLoad
 MicrosoftWindowsCurrentVersionExplorerSharedTaskScheduler
Les clés de registre utilisateur, que l’on retrouve dans le fichier de ruche NTUSER.DAT :
 Software MicrosoftWindowsCurrentVersionRunServicesOnce
 Software MicrosoftWindowsCurrentVersionRunServices
 Software MicrosoftWindowsCurrentVersionRun
 Software MicrosoftWindowsCurrentVersionRunOnce
 Software MicrosoftWindowsCurrentVersionPoliciesExplorerRun
 Software MicrosoftWindows NTCurrentVersionWindowsload
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic
Research Paper on Digital Forensic

Contenu connexe

Tendances

Introduction à La Sécurité Informatique 1/2
Introduction à La Sécurité Informatique 1/2Introduction à La Sécurité Informatique 1/2
Introduction à La Sécurité Informatique 1/2Sylvain Maret
 
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Saadaoui Marwen
 
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...Tidiane Sylla
 
Introduction à la sécurité informatique
Introduction à la sécurité informatiqueIntroduction à la sécurité informatique
Introduction à la sécurité informatiqueYves Van Gheem
 
La sécurité informatique
La sécurité informatiqueLa sécurité informatique
La sécurité informatiqueSaber Ferjani
 
Digital forensics
Digital forensics Digital forensics
Digital forensics vishnuv43
 
Diaporama GED-SAE
Diaporama GED-SAEDiaporama GED-SAE
Diaporama GED-SAEinforoutes
 
la sécurité de l'information (extrait de presentation)
la sécurité de l'information (extrait de presentation)la sécurité de l'information (extrait de presentation)
la sécurité de l'information (extrait de presentation)Diane de Haan
 
Cours CyberSécurité - Concepts Clés
Cours CyberSécurité - Concepts ClésCours CyberSécurité - Concepts Clés
Cours CyberSécurité - Concepts ClésFranck Franchin
 
Aspets juridiques des sécurité des systèmes d'information selon le code pénal...
Aspets juridiques des sécurité des systèmes d'information selon le code pénal...Aspets juridiques des sécurité des systèmes d'information selon le code pénal...
Aspets juridiques des sécurité des systèmes d'information selon le code pénal...Hanen Bensaad
 
Installation et configuration d'un système de Détection d'intrusion (IDS)
Installation et configuration d'un système de Détection d'intrusion (IDS)Installation et configuration d'un système de Détection d'intrusion (IDS)
Installation et configuration d'un système de Détection d'intrusion (IDS)Charif Khrichfa
 
Présentation blockchain v2
Présentation blockchain v2Présentation blockchain v2
Présentation blockchain v2Amine HAMOUDA
 
Mini Projet C gestion d'une location de voiture
Mini Projet C gestion d'une location de voitureMini Projet C gestion d'une location de voiture
Mini Projet C gestion d'une location de voitureOussama Bessrour
 
Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...Ayoub Mkharbach
 
Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Ben Abdelwahed Slim
 
Sécurité informatique - Etat des menaces
Sécurité informatique - Etat des menacesSécurité informatique - Etat des menaces
Sécurité informatique - Etat des menacesMaxime ALAY-EDDINE
 

Tendances (20)

Introduction à La Sécurité Informatique 1/2
Introduction à La Sécurité Informatique 1/2Introduction à La Sécurité Informatique 1/2
Introduction à La Sécurité Informatique 1/2
 
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
 
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...
 
Introduction à la sécurité informatique
Introduction à la sécurité informatiqueIntroduction à la sécurité informatique
Introduction à la sécurité informatique
 
La sécurité informatique
La sécurité informatiqueLa sécurité informatique
La sécurité informatique
 
Digital forensics
Digital forensics Digital forensics
Digital forensics
 
Diaporama GED-SAE
Diaporama GED-SAEDiaporama GED-SAE
Diaporama GED-SAE
 
la sécurité de l'information (extrait de presentation)
la sécurité de l'information (extrait de presentation)la sécurité de l'information (extrait de presentation)
la sécurité de l'information (extrait de presentation)
 
Cours CyberSécurité - Concepts Clés
Cours CyberSécurité - Concepts ClésCours CyberSécurité - Concepts Clés
Cours CyberSécurité - Concepts Clés
 
Aspets juridiques des sécurité des systèmes d'information selon le code pénal...
Aspets juridiques des sécurité des systèmes d'information selon le code pénal...Aspets juridiques des sécurité des systèmes d'information selon le code pénal...
Aspets juridiques des sécurité des systèmes d'information selon le code pénal...
 
Installation et configuration d'un système de Détection d'intrusion (IDS)
Installation et configuration d'un système de Détection d'intrusion (IDS)Installation et configuration d'un système de Détection d'intrusion (IDS)
Installation et configuration d'un système de Détection d'intrusion (IDS)
 
MEMOIRE TIEMOKO BATHILY.docx
MEMOIRE TIEMOKO BATHILY.docxMEMOIRE TIEMOKO BATHILY.docx
MEMOIRE TIEMOKO BATHILY.docx
 
Mehari
MehariMehari
Mehari
 
Présentation blockchain v2
Présentation blockchain v2Présentation blockchain v2
Présentation blockchain v2
 
Mini Projet C gestion d'une location de voiture
Mini Projet C gestion d'une location de voitureMini Projet C gestion d'une location de voiture
Mini Projet C gestion d'une location de voiture
 
Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...
 
Présentation Cryptographie
Présentation CryptographiePrésentation Cryptographie
Présentation Cryptographie
 
Rapport PFE
Rapport PFERapport PFE
Rapport PFE
 
Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2
 
Sécurité informatique - Etat des menaces
Sécurité informatique - Etat des menacesSécurité informatique - Etat des menaces
Sécurité informatique - Etat des menaces
 

En vedette

Ransomware Teslacrypt Uncovered - Malware Analysis
Ransomware Teslacrypt Uncovered - Malware AnalysisRansomware Teslacrypt Uncovered - Malware Analysis
Ransomware Teslacrypt Uncovered - Malware AnalysisThomas Roccia
 
Sec day cuckoo_workshop
Sec day cuckoo_workshopSec day cuckoo_workshop
Sec day cuckoo_workshopThomas Roccia
 
Windows Kernel Debugging
Windows Kernel DebuggingWindows Kernel Debugging
Windows Kernel DebuggingThomas Roccia
 
Digital Forensic: Brief Intro & Research Challenge
Digital Forensic: Brief Intro & Research ChallengeDigital Forensic: Brief Intro & Research Challenge
Digital Forensic: Brief Intro & Research ChallengeAung Thu Rha Hein
 
Visiting the Bear Den
Visiting the Bear DenVisiting the Bear Den
Visiting the Bear DenESET
 
Digital Evidence in Computer Forensic Investigations
Digital Evidence in Computer Forensic InvestigationsDigital Evidence in Computer Forensic Investigations
Digital Evidence in Computer Forensic InvestigationsFilip Maertens
 

En vedette (7)

Ransomware Teslacrypt Uncovered - Malware Analysis
Ransomware Teslacrypt Uncovered - Malware AnalysisRansomware Teslacrypt Uncovered - Malware Analysis
Ransomware Teslacrypt Uncovered - Malware Analysis
 
Sec day cuckoo_workshop
Sec day cuckoo_workshopSec day cuckoo_workshop
Sec day cuckoo_workshop
 
Digital forensics
Digital forensicsDigital forensics
Digital forensics
 
Windows Kernel Debugging
Windows Kernel DebuggingWindows Kernel Debugging
Windows Kernel Debugging
 
Digital Forensic: Brief Intro & Research Challenge
Digital Forensic: Brief Intro & Research ChallengeDigital Forensic: Brief Intro & Research Challenge
Digital Forensic: Brief Intro & Research Challenge
 
Visiting the Bear Den
Visiting the Bear DenVisiting the Bear Den
Visiting the Bear Den
 
Digital Evidence in Computer Forensic Investigations
Digital Evidence in Computer Forensic InvestigationsDigital Evidence in Computer Forensic Investigations
Digital Evidence in Computer Forensic Investigations
 

Similaire à Research Paper on Digital Forensic

Education numérique : thinkdata.ch un outil collaboratif
Education numérique : thinkdata.ch un outil collaboratifEducation numérique : thinkdata.ch un outil collaboratif
Education numérique : thinkdata.ch un outil collaboratifThinkData
 
Etude Kaspersky Lab : Impact Phishing sur les finances
Etude Kaspersky Lab : Impact Phishing sur les financesEtude Kaspersky Lab : Impact Phishing sur les finances
Etude Kaspersky Lab : Impact Phishing sur les financesThibault Deschamps
 
L'analyse qualitative informatique pas cher
L'analyse qualitative informatique pas cherL'analyse qualitative informatique pas cher
L'analyse qualitative informatique pas cherHubert Maisonneuve
 
Formation Securite Informatique AKAOMA Consulting Certification Securite Info...
Formation Securite Informatique AKAOMA Consulting Certification Securite Info...Formation Securite Informatique AKAOMA Consulting Certification Securite Info...
Formation Securite Informatique AKAOMA Consulting Certification Securite Info...Christophe Pekar
 
CIAN-David_Compte_Rendu_PP
CIAN-David_Compte_Rendu_PPCIAN-David_Compte_Rendu_PP
CIAN-David_Compte_Rendu_PPDavid Cian
 
Econocom - Livre Blanc IoT
Econocom - Livre Blanc IoTEconocom - Livre Blanc IoT
Econocom - Livre Blanc IoTJean-Luc Lemire
 
Techniques de Cryptographie
Techniques de CryptographieTechniques de Cryptographie
Techniques de CryptographieAlghajati
 
présentation soutenance PFE.ppt
présentation soutenance PFE.pptprésentation soutenance PFE.ppt
présentation soutenance PFE.pptMohamed Ben Bouzid
 
SYNTHÈSE DES OUTILS ET DES TECHNOLOGIES 3D _Version 2019.pdf
SYNTHÈSE DES OUTILS ET DES TECHNOLOGIES 3D _Version 2019.pdfSYNTHÈSE DES OUTILS ET DES TECHNOLOGIES 3D _Version 2019.pdf
SYNTHÈSE DES OUTILS ET DES TECHNOLOGIES 3D _Version 2019.pdfEssaidEssaid
 
L'Intelligence Economique concrète : recettes & bonnes pratiques
L'Intelligence Economique concrète :  recettes & bonnes pratiquesL'Intelligence Economique concrète :  recettes & bonnes pratiques
L'Intelligence Economique concrète : recettes & bonnes pratiquesInter-Ligere
 
La face cachée de l'informatique d'entreprise: Une étude de Softchoice sur ...
La face cachée de l'informatique d'entreprise: Une étude de Softchoice sur ...La face cachée de l'informatique d'entreprise: Une étude de Softchoice sur ...
La face cachée de l'informatique d'entreprise: Une étude de Softchoice sur ...Softchoice Corporation
 
Presentation a in ovive montpellier - 26%2 f06%2f2018 (1)
Presentation a in ovive   montpellier - 26%2 f06%2f2018 (1)Presentation a in ovive   montpellier - 26%2 f06%2f2018 (1)
Presentation a in ovive montpellier - 26%2 f06%2f2018 (1)Mathieu d'Aquin
 
Intelligence économique : Le monitoring
Intelligence économique : Le monitoringIntelligence économique : Le monitoring
Intelligence économique : Le monitoringKhalifa Tall
 
Collecte des données métiers et constitution d'un entrepôt centrale
Collecte des données métiers et constitution d'un entrepôt centraleCollecte des données métiers et constitution d'un entrepôt centrale
Collecte des données métiers et constitution d'un entrepôt centraleoussama Hafid
 
Les bases de la securité informatique
Les bases de la securité informatiqueLes bases de la securité informatique
Les bases de la securité informatiqueMozes Pierre
 

Similaire à Research Paper on Digital Forensic (20)

Education numérique : thinkdata.ch un outil collaboratif
Education numérique : thinkdata.ch un outil collaboratifEducation numérique : thinkdata.ch un outil collaboratif
Education numérique : thinkdata.ch un outil collaboratif
 
Etude Kaspersky Lab : Impact Phishing sur les finances
Etude Kaspersky Lab : Impact Phishing sur les financesEtude Kaspersky Lab : Impact Phishing sur les finances
Etude Kaspersky Lab : Impact Phishing sur les finances
 
L'analyse qualitative informatique pas cher
L'analyse qualitative informatique pas cherL'analyse qualitative informatique pas cher
L'analyse qualitative informatique pas cher
 
Formation Securite Informatique AKAOMA Consulting Certification Securite Info...
Formation Securite Informatique AKAOMA Consulting Certification Securite Info...Formation Securite Informatique AKAOMA Consulting Certification Securite Info...
Formation Securite Informatique AKAOMA Consulting Certification Securite Info...
 
CIAN-David_Compte_Rendu_PP
CIAN-David_Compte_Rendu_PPCIAN-David_Compte_Rendu_PP
CIAN-David_Compte_Rendu_PP
 
Econocom - Livre Blanc IoT
Econocom - Livre Blanc IoTEconocom - Livre Blanc IoT
Econocom - Livre Blanc IoT
 
Baudoin karle-ids-ips
Baudoin karle-ids-ipsBaudoin karle-ids-ips
Baudoin karle-ids-ips
 
Techniques de Cryptographie
Techniques de CryptographieTechniques de Cryptographie
Techniques de Cryptographie
 
présentation soutenance PFE.ppt
présentation soutenance PFE.pptprésentation soutenance PFE.ppt
présentation soutenance PFE.ppt
 
SYNTHÈSE DES OUTILS ET DES TECHNOLOGIES 3D _Version 2019.pdf
SYNTHÈSE DES OUTILS ET DES TECHNOLOGIES 3D _Version 2019.pdfSYNTHÈSE DES OUTILS ET DES TECHNOLOGIES 3D _Version 2019.pdf
SYNTHÈSE DES OUTILS ET DES TECHNOLOGIES 3D _Version 2019.pdf
 
L'Intelligence Economique concrète : recettes & bonnes pratiques
L'Intelligence Economique concrète :  recettes & bonnes pratiquesL'Intelligence Economique concrète :  recettes & bonnes pratiques
L'Intelligence Economique concrète : recettes & bonnes pratiques
 
Snort
SnortSnort
Snort
 
CyberséCurité Et Vie PrivéE
CyberséCurité Et Vie PrivéECyberséCurité Et Vie PrivéE
CyberséCurité Et Vie PrivéE
 
La face cachée de l'informatique d'entreprise: Une étude de Softchoice sur ...
La face cachée de l'informatique d'entreprise: Une étude de Softchoice sur ...La face cachée de l'informatique d'entreprise: Une étude de Softchoice sur ...
La face cachée de l'informatique d'entreprise: Une étude de Softchoice sur ...
 
Presentation a in ovive montpellier - 26%2 f06%2f2018 (1)
Presentation a in ovive   montpellier - 26%2 f06%2f2018 (1)Presentation a in ovive   montpellier - 26%2 f06%2f2018 (1)
Presentation a in ovive montpellier - 26%2 f06%2f2018 (1)
 
Intelligence économique : Le monitoring
Intelligence économique : Le monitoringIntelligence économique : Le monitoring
Intelligence économique : Le monitoring
 
Collecte des données métiers et constitution d'un entrepôt centrale
Collecte des données métiers et constitution d'un entrepôt centraleCollecte des données métiers et constitution d'un entrepôt centrale
Collecte des données métiers et constitution d'un entrepôt centrale
 
Guide open source-bdef
Guide open source-bdefGuide open source-bdef
Guide open source-bdef
 
Presentation ansi
Presentation ansiPresentation ansi
Presentation ansi
 
Les bases de la securité informatique
Les bases de la securité informatiqueLes bases de la securité informatique
Les bases de la securité informatique
 

Plus de Thomas Roccia

TRITON: The Next Generation of ICS Malware
TRITON: The Next Generation of ICS MalwareTRITON: The Next Generation of ICS Malware
TRITON: The Next Generation of ICS MalwareThomas Roccia
 
CoinMiners are Evasive - BsidesTLV
CoinMiners are Evasive - BsidesTLVCoinMiners are Evasive - BsidesTLV
CoinMiners are Evasive - BsidesTLVThomas Roccia
 
42 - Malware - Understand the Threat and How to Respond
42 - Malware - Understand the Threat and How to Respond42 - Malware - Understand the Threat and How to Respond
42 - Malware - Understand the Threat and How to RespondThomas Roccia
 
Wannacry | Technical Insight and Lessons Learned
Wannacry | Technical Insight and Lessons LearnedWannacry | Technical Insight and Lessons Learned
Wannacry | Technical Insight and Lessons LearnedThomas Roccia
 
Sandbox Evasion Cheat Sheet
Sandbox Evasion Cheat SheetSandbox Evasion Cheat Sheet
Sandbox Evasion Cheat SheetThomas Roccia
 
Malware Evasion Techniques
Malware Evasion TechniquesMalware Evasion Techniques
Malware Evasion TechniquesThomas Roccia
 

Plus de Thomas Roccia (6)

TRITON: The Next Generation of ICS Malware
TRITON: The Next Generation of ICS MalwareTRITON: The Next Generation of ICS Malware
TRITON: The Next Generation of ICS Malware
 
CoinMiners are Evasive - BsidesTLV
CoinMiners are Evasive - BsidesTLVCoinMiners are Evasive - BsidesTLV
CoinMiners are Evasive - BsidesTLV
 
42 - Malware - Understand the Threat and How to Respond
42 - Malware - Understand the Threat and How to Respond42 - Malware - Understand the Threat and How to Respond
42 - Malware - Understand the Threat and How to Respond
 
Wannacry | Technical Insight and Lessons Learned
Wannacry | Technical Insight and Lessons LearnedWannacry | Technical Insight and Lessons Learned
Wannacry | Technical Insight and Lessons Learned
 
Sandbox Evasion Cheat Sheet
Sandbox Evasion Cheat SheetSandbox Evasion Cheat Sheet
Sandbox Evasion Cheat Sheet
 
Malware Evasion Techniques
Malware Evasion TechniquesMalware Evasion Techniques
Malware Evasion Techniques
 

Research Paper on Digital Forensic

  • 1. Ce document est disponible sous Licence Creative Commons Mémoire de recherche appliquée Contribution à l’investigation numérique Les méthodes de forensic Comment mener à bien une investigation numérique et corréler les données extraites ? Thomas ROCCIA Julien SOUPPOD Sécurité Informatique Maître de Mémoire : Kamal HENNOU 5A 2014
  • 2. Mémoire de recherche appliquée 2014 Page 1 Résumé L’utilisation massive des technologies de l’information et le développement de la cybercriminalité, a conduit à créer une nouvelle branche dans le domaine de l’informatique : l’investigation numérique. Le forensic est une suite de méthodes d’investigation qui permet de collecter des preuves numériques dans une enquête judiciaire ou de traiter un incident lié à une attaque sur un système. A travers ce document de recherche appliquée, nous nous sommes interrogés sur la manière de mener une investigation numérique en utilisant les méthodes de forensic et sur les moyens d’analyser et corréler les données extraites d’un système. Nous avons élaboré ce document comme un guide pratique permettant aux enquêteurs d’avoir une vision globale des méthodologies d’investigation (CTOSE, Digital Forensic Process, McKemmish) à travers différents supports numériques (disque dur, mémoire vive, SSD). Un focus a également été porté sur les aspects légaux dans un contexte national et international. Tout au long de cette étude vous découvrirez les étapes d’une investigation numérique avec une démonstration de certains outils spécialisés (Volatility, FTK, EnCase…) ainsi que les techniques utilisées pour complexifier le travail des enquêteurs aussi appelées anti-forensic. Un chapitre a été consacré à l’utilisation de ces techniques sur une analyse de malware. Enfin nous avons choisi de terminer ce document sur la création d’une boite à outils installée sur une clef USB, comprenant une partition multiboot ainsi qu’une suite d’utilitaires pour mener une investigation sur n’importe quel système. Cette boite à outils est ouverte et permet à l’utilisateur d’y inclure ces propres outils. L’analyse forensic est un domaine technologique en plein développement du fait de la rivalité entre ceux qui veulent voler et ceux qui veulent protéger les données des entreprises ou des particuliers. Il constitue à ce jour une des meilleures approches pour la traque des cybercriminels et la protection de nos données. Mots clefs Investigation Numérique Malware Reverse Engineering Forensic Post-mortem Méthodologie Anti-forensic Cybercriminalité Guide pratique
  • 3. Mémoire de recherche appliquée 2014 Page 2 Abstract The massive use of information technologies and the growth of cyber criminality create a new branch in computing science: digital investigation. This branch named « forensic » is made of a suite of investigation methods with the aim to collect digital proofs in case of judicial inquiry or fix a system attack. With this document of applied research, we question ourselves about the way to develop a digital investigation by using forensic methods and the resources to analyze and correlate extracted datas from a system. We elaborate this document as a user guide for investigators to give an overview of investigation methods (CTOSE, Digital Forensic Process, McKemmish) applied to several digital storage items such like hard drives, live memories and SSD. We also complete this document focusing on national and international legal aspects. Reading this study, you will go through a step by step digital investigation with demonstrations of specialized dedicated tools (Volatility, FTK, EnCase…) and common techniques used to lose the investigators named anti-forensic. A chapter has been dedicated to the use of those techniques applied to a malware analysis. Finally, we conclude this document giving a toolbox available in an USB key which contains a multi boot partition and a suite of software tools to do a digital investigation on any known system. This toolbox is open to welcome tools developed by the user. The forensic analysis is a growing domain due to the competition between hackers and investigators. The first ones want to corrupt or steal datas and the other ones want to protect data of companies and private users. This is the best way to track hackers and protect data. Keywords Investigation Digital Malware Reverse Engineering Forensic Post-mortem Methodology Anti-forensic Cybercriminality User guide
  • 4. Mémoire de recherche appliquée 2014 Page 3 Remerciements Nous souhaitons adresser nos remerciements les plus sincères aux personnes qui nous ont apporté leur aide et qui ont contribué à l’élaboration de ce document. Ces remerciements vont tout d’abord au corps professoral et administratif de l’Ecole Supérieur de Génie Informatique et plus particulièrement à Monsieur Kamal HENNOU, pour son accompagnement tout au long de la rédaction de ce document. Nous remercions également Monsieur Hubert BITAN et ses collaborateurs pour nous avoir reçus et conseillés sur les techniques et méthodes de l’investigation numérique.
  • 5. Mémoire de recherche appliquée 2014 Page 4 Sommaire Résumé.................................................................................................................................................... 0 Abstract ................................................................................................................................................... 2 Remerciements ....................................................................................................................................... 3 Sommaire ................................................................................................................................................ 4 Licence Creative Commons ..................................................................................................................... 9 Préambule ............................................................................................................................................. 10 Introduction........................................................................................................................................... 11 Chapitre I : Définition du forensic ......................................................................................................... 12 I.1 – Étymologie et usage .................................................................................................................. 12 I.2 – De la médecine à l’informatique ............................................................................................... 12 I.3 – Le cadre légal............................................................................................................................. 14 Chapitre II : La méthodologie d’investigation ....................................................................................... 17 II.1 – Etat de l’art............................................................................................................................... 17 A – La méthode McKemmish......................................................................................................... 17 B – Le projet CTOSE ....................................................................................................................... 18 C – L’approche Smith et Petreski (DEFCON).................................................................................. 18 D – Digital Forensic Process........................................................................................................... 18 II.2 – Les supports numériques ......................................................................................................... 19 A – Disque Dur magnétique........................................................................................................... 19 B – Disque Dur « solides « (SSD).................................................................................................... 22 C – Mémoire vive (RAM) ............................................................................................................... 25 II.3 – Les outils utilisés pour l’analyse forensic ................................................................................. 26 A – EnCase ..................................................................................................................................... 26 B – FTK (Forensic ToolKit).............................................................................................................. 27 C – DFF (Digital Forensic Framework) ........................................................................................... 27 D – Les bloqueurs en écriture........................................................................................................ 28 II.4 – Proposition d’une méthodologie.............................................................................................. 29 Chapitre III : Les méthodes de forensic................................................................................................. 31 III.1 – Calcul de condensat................................................................................................................. 31 III.2 – Acquisition et analyse de la mémoire volatile......................................................................... 34 A – Acquisition de la mémoire volatile.......................................................................................... 34 B – Analyse de la mémoire volatile ............................................................................................... 37 III.5 – Acquisition et analyse de la mémoire non-volatile ................................................................. 42
  • 6. Mémoire de recherche appliquée 2014 Page 5 A – Acquisition de la mémoire non-volatile .................................................................................. 42 B – Monter une image................................................................................................................... 44 C – Analyse de la mémoire non-volatile........................................................................................ 46 Chapitre IV : Les méthodes anti-forensic .............................................................................................. 60 IV.1 – Stéganographie ....................................................................................................................... 60 IV.2 – Formatage Sécurisé................................................................................................................. 61 A – Effacement des disques durs magnétiques............................................................................. 62 B – Effacement des disques flash, SSD.......................................................................................... 63 C – Effacement de mémoire vive .................................................................................................. 63 D – Effacement sécurisé au niveau matériel................................................................................. 63 IV.3 – Falsification de Timestamp ..................................................................................................... 63 IV.4 – Cryptographie.......................................................................................................................... 67 A – Détection de partition ou conteneur chiffré........................................................................... 67 B – Récupération de mot de passe................................................................................................ 70 IV.5 – Obfuscation de code et packers.............................................................................................. 73 A – Obfuscation............................................................................................................................. 73 B – Packers..................................................................................................................................... 74 Chapitre V : Analyse de malware .......................................................................................................... 75 V.1 – Définition et types de malwares .............................................................................................. 75 V.2 – Création d’un environnement d’analyse.................................................................................. 77 V.3 – Etude de cas : le malware NjRAT.............................................................................................. 80 A –Création du programme malveillant........................................................................................ 82 B – Analyse statique ...................................................................................................................... 85 C – Analyse dynamique ................................................................................................................. 94 Chapitre VI : Création d’un outil.......................................................................................................... 108 VI.1 – Le multiboot USB................................................................................................................... 108 VI.2 – RocFor : l’utilitaire « Live ».................................................................................................... 110 Conclusion ........................................................................................................................................... 112 Annexes............................................................................................................................................... 113 A – Options Volatility....................................................................................................................... 113 B – Script Hash.py............................................................................................................................ 115 C – Script ForPower.ps1 .................................................................................................................. 117 D – Référence et bibliographie........................................................................................................ 122
  • 7. Mémoire de recherche appliquée 2014 Page 6 Sommaire des tableaux Tableau 1 - Représentation de la méthode d’allocation contigus ........................................................ 20 Tableau 2 - Représentation de la méthode d’allocation par lien.......................................................... 20 Tableau 3 - Représentation de la méthode d’allocation indexée ......................................................... 21 Tableau 4 - Représentation de la méthode par stratégie de stockage ................................................. 21 Tableau 5 - Temps de rémanence des données contenues dans la RAM............................................. 35 Tableau 6 - Liste des fichiers relative aux emails .................................................................................. 57 Tableau 7 - Localisation des fichiers de configuration .......................................................................... 57 Tableau 8 - Comment accéder aux en-têtes d’emails........................................................................... 59 Tableau 9 - Représentation des différents type d’effacement ............................................................. 61 Tableau 10 - Temps de cassage d’un mot de passe en fonction de sa complexité............................... 72 Tableau 11 - Configuration de la machine infectée .............................................................................. 78 Tableau 12 - Configuration des autres machines.................................................................................. 79 Tableau 13 - Empreinte des 3 malware générés................................................................................... 84 Tableau 14 - Extraction de la commande strings .................................................................................. 86 Tableau 15 - DLL utilisé par les keyloggueurs........................................................................................ 88 Tableau 16 - Fichier créer par le malware............................................................................................. 95 Tableau 17 - Clef de registre créer par le malware............................................................................... 96 Tableau 18 - DLL nécessaire au fonctionnement du malware .............................................................. 96 Tableau 19 - Flux réseau du malware décodé....................................................................................... 99 Sommaire des figures Figure 1 - Les domaines de l’investigation numérique.......................................................................... 13 Figure 2 - Schéma général d’un disque dur........................................................................................... 19 Figure 3 - Charge magnétique à la surface d’un disque........................................................................ 20 Figure 4 - Schéma d’un disque dur SSD................................................................................................. 22 Figure 5 - Représentation d’une cellule mémoire................................................................................. 23 Figure 6 - Fonctionnement de TRIM...................................................................................................... 24 Figure 7 - Représentation d’une barrette mémoire RAM..................................................................... 25 Figure 8 - Interface d' EnCase................................................................................................................ 26 Figure 9 - Interface de FTK..................................................................................................................... 27 Figure 10 - Interface de DFF .................................................................................................................. 28 Figure 11 - Bloqueur en écriture ........................................................................................................... 28 Figure 12 - Méthodologie d’une investigation numérique ................................................................... 30 Figure 13 - Principe de fonctionnement d’une fonction de hachage sur 3 entrées différentes........... 31 Figure 14 - Calcul d’empreinte sous Linux............................................................................................. 32 Figure 15 - Calcul de hash avec le script hash.py .................................................................................. 32 Figure 16 - Comparaison de hash avec le script hash.py ...................................................................... 33 Figure 17 - Copie de la mémoire vive avec l’utilitaire Dumpit.............................................................. 34 Figure 18 - Bombe à air sec ................................................................................................................... 35 Figure 19 - Gel de barrette mémoire .................................................................................................... 36 Figure 20 - Copie de la mémoire vive avec l’utilitaire MSRAWSDMP ................................................... 36 Figure 21 - Option imageinfo de Volatility ............................................................................................ 38 Figure 22 - Option pslist de Volatility.................................................................................................... 39 Figure 23 - Option memdump de Volatility........................................................................................... 39 Figure 24 - Option procmemdump de Volatility ................................................................................... 39
  • 8. Mémoire de recherche appliquée 2014 Page 7 Figure 25 - Liste des ruches systèmes avec l’option hivelist de Volatility............................................. 40 Figure 26 - Extraction des hash avec l’option hashdump de volatility.................................................. 40 Figure 27 - Décryptage du hash NTLM.................................................................................................. 41 Figure 28 - Copie d’un disque dur avec l’utilitaire dd ........................................................................... 42 Figure 29 - Copie d’un disque dur et calcul de condensat avec l’utilitaire dcfldd ................................ 43 Figure 30 - Copie d’une image virtuelle ESXi avec l’utilitaire esximager.pl........................................... 43 Figure 31 - Montage d’une image avec l’utilitaire mount..................................................................... 44 Figure 32 - Conversion d’une image en vmdk....................................................................................... 45 Figure 33 - Interface de Forensic Registry Editor .................................................................................. 47 Figure 34 - Affichage chronologique avec UserAssist ........................................................................... 48 Figure 35 - Utilisation de log2timeline .................................................................................................. 48 Figure 36 - Utilisation de photorec........................................................................................................ 49 Figure 37 - Récupération de fichier jpg avec foremost......................................................................... 49 Figure 38 - Récupération de tout type de fichier avec foremost.......................................................... 49 Figure 39 - Récupération de l’historique de navigation avec Browser Forensic Tool........................... 50 Figure 40 - Extraction de mot de passe avec BrowserPasswordDump................................................. 51 Figure 41 - Analyse de trace réseau avec Wireshark ............................................................................ 52 Figure 42 - Traces d’une activité d’envoi d’informations a un serveur Web (méthode POST)............. 53 Figure 43 - Analyse d’une capture réseau avec Xplico.......................................................................... 53 Figure 44 - Analyse de trame SSL avec OSPY......................................................................................... 54 Figure 45 - IHM de Transend Migration, conversion depuis gmail vers pst.......................................... 55 Figure 46 - IHM de Nucleus, conversion des fichiers ost ...................................................................... 55 Figure 47 - Interface de Paraben’s, énumération des emails d’un fichier OST..................................... 56 Figure 48 - Enumération des pièces jointes .......................................................................................... 56 Figure 49 - Exemple d’une en-tête d’email........................................................................................... 58 Figure 50 - Détection de logciciel de stéganographie avec StegDetect................................................ 61 Figure 51 - Effacement de données avec DBAN.................................................................................... 62 Figure 52 - Falsification des dates d’un fichier avec Timestomp .......................................................... 64 Figure 53 - Falsification des dates d’un document WORD avec Timestomp ........................................ 65 Figure 54 - Propriété du document WORD après modification du timestamp..................................... 65 Figure 55 - Propriété du document WORD affiché dans Office Word après modification du timestamp Figure 56 - Document WORD dissocié avec 7zip................................................................................... 66 Figure 57 - Contenu du fichier XML....................................................................................................... 66 Figure 58 - Création d’un conteneur TrueCrypt.................................................................................... 68 Figure 59 - Analyse de l’entête d’un conteneur TrueCrypt................................................................... 69 Figure 60 - Détection d’un conteneur TrueCrypt avec TCHunt............................................................. 69 Figure 61 - Détection d’une partition TrueCrypt avec EDD................................................................... 70 Figure 62 - Attaque simple sur un mot de passe avec John The Ripper ............................................... 71 Figure 63 - Attaque par dictionnaire sur un mot de passe avec John The Ripper ................................ 71 Figure 64 - Reset du mot de passe BIOS avec CmosPWD ..................................................................... 72 Figure 65 - Détection du packer UPX avec hexdump............................................................................ 74 Figure 66 - Représentation de la diffusion de malware........................................................................ 75 Figure 67 - Schéma de l’environnement d’analyse............................................................................... 78 Figure 68 - Malware NjRAT/Bladabindi recensé fin 2013 ..................................................................... 80 Figure 69 - Interface de commande et de contrôle du malware .......................................................... 81 Figure 70 - Fonctionnalité du malware NjRAT....................................................................................... 81
  • 9. Mémoire de recherche appliquée 2014 Page 8 Figure 71 - Emplacement du « Builder »............................................................................................... 82 Figure 72 - Fenêtre de configuration du Malware ................................................................................ 82 Figure 73 - Utilisation du packer Themida ............................................................................................ 83 Figure 74 - Représentation des 3 versions du malware........................................................................ 84 Figure 75 - Utilisation de l’outil file ....................................................................................................... 85 Figure 76 - Analyse des dépendances DLL du malware non packé....................................................... 87 Figure 77 - Analyse des dépendances DLL du malware packé.............................................................. 88 Figure 78 - Détection de packer avec PEiD............................................................................................ 90 Figure 79 - Détection de packer avec Stud_PE...................................................................................... 91 Figure 80 - Détection de packer avec RDG Packer Detector................................................................. 91 Figure 81 - Interface d' IDA pro ............................................................................................................. 92 Figure 82 - Analyse du code du malware avec CodeReflect ................................................................. 92 Figure 83 - Extraction du code contenant certaines informations du malware ................................... 93 Figure 84 - Analyse du processus du malware avec ProcessExplorer................................................... 94 Figure 85 - Analyse de l’activité du malware avec Process Monitor..................................................... 95 Figure 86 - Extrait du fichier du keyloggueur ........................................................................................ 95 Figure 87 - Contenu de la clef de registre créé par le malware ............................................................ 96 Figure 88 - Activité réseau du malware................................................................................................. 97 Figure 89 - Activité réseau du malware................................................................................................. 97 Figure 90 - Flux réseau échangé par le malware lors de son exécution ............................................... 98 Figure 91 - Récupération des informations échangées......................................................................... 98 Figure 92 - Flux réseau de la fonctionnalité de gestion des fichiers ..................................................... 99 Figure 93 - Flux réseau de la fonctionnalité d’exécution de fichier .................................................... 100 Figure 94 - Flux réseau de la fonctionnalité bureau à distance .......................................................... 100 Figure 95 - Flux réseau de la fonctionnalité caméra à distance.......................................................... 101 Figure 96 - Capture d’écran de la caméra (côté C&C)......................................................................... 101 Figure 97 - Flux réseau de la fonctionnalité terminal distant ............................................................. 102 Figure 98 - Flux réseau de la fonctionnalité gestion des processus.................................................... 102 Figure 99 - Flux réseau de la fonctionnalité d’accès au registre......................................................... 103 Figure 100 - Extrait du fichier relatif au Keyloggueur.......................................................................... 103 Figure 101 - Flux réseau de la fonctionnalité Keyloggueur................................................................. 104 Figure 102 - Flux réseau de la fonctionnalité messagerie instantanée............................................... 104 Figure 103 - Flux réseau de la fonctionnalité de récupération de mot de passe................................ 105 Figure 104 - Trame réseau de récupération des mots de passe......................................................... 105 Figure 105 - Copie d’écran de l’extraction des mots de passe............................................................ 106 Figure 106 - Réplication du malware sur une clef USB ....................................................................... 106 Figure 107 - Propriété du malware répliqué....................................................................................... 107 Figure 108 - Copie d’écran du multiboot USB..................................................................................... 108 Figure 109 - Copie d’écran de l’utilitaire RocFor................................................................................. 111
  • 10. Mémoire de recherche appliquée 2014 Page 9 Licence Creative Commons Cette œuvre, création, site ou texte est sous licence Creative Commons Attribution - Partage dans les Mêmes Conditions 4.0 International. Pour accéder à une copie de cette licence, merci de vous rendre à l'adresse suivante http://creativecommons.org/licenses/by- sa/4.0/deed.fr ou envoyez un courrier à Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. Droits intellectuels et usage des noms et marques déposées : L’usage des noms, marques produits et logos, personnes physiques ou morales figurants dans le présent document se fait sous couvert de la tolérance accordée en matière de rédaction de mémoires ou d’études journalistiques en vertu du droit à l’information et ce dans le respect de la dignité humaine et de la vie privée ni sans porter atteinte aux entreprises ou organisations détentrices des brevets, marques et modèles cités dans cet ouvrage.
  • 11. Mémoire de recherche appliquée 2014 Page 10 Préambule L’utilisation massive des technologies de l’information et le développement de la cybercriminalité a conduit à la création d’une nouvelle branche dans le domaine de l’informatique : l’investigation numérique. Les techniques et méthodes d’investigation ne cessent d’évoluer et la diversité des supports numériques implique de suivre des règles et des procédures strictes, nécessaires à la recherche, la conservation et l’interprétation des données extraites. Cette branche initialement exercée par des experts judiciaires de la police nationale ou de la gendarmerie à des fins de perquisition numérique, s’étend et se développe au secteur privé dans le cadre d’audit de sécurité et de réponse à incident. Encore relativement nouvelle en France, l’investigation numérique est de plus en plus demandée par des sociétés privées telles que les banques et les multinationales. Ainsi de nombreuses sociétés spécialisées en sécurité informatique ont développé cette activité pour répondre à la demande croissante des entreprises. Certaines en ont fait leur cœur de métier en créant des outils spécialisés et reconnus comme AccessData ou Arxys. D’autres encore telles que LEXSI ou XMCO sont allées jusqu’à développer des offres spécialisées. L’objectif de ce document est de traiter les différentes techniques d’investigation en apportant une méthodologie basée sur les principes existants. Il a pour but de guider l’expert en charge de l’investigation au moyen de règles dites de « bonnes pratiques » mais également de faire découvrir les méthodes de forensic à toutes les personnes désirant développer leurs compétences dans ce domaine. Un chapitre sera également consacré à l’analyse de malware qui est une branche spécifique de l’investigation numérique.
  • 12. Mémoire de recherche appliquée 2014 Page 11 Introduction A l’heure où la sécurisation des données est une des préoccupations principales et où les systèmes informatiques sont de plus en plus piratés, l’informatique légale ou « computer forensic » apparait comme une méthode d’investigation permettant d’identifier les traces laissées par une intrusion et de rassembler les preuves numériques. Souvent utilisée dans le cadre d’enquêtes criminelles ou en réponse à incident, l’analyse forensic peut également être effectuée en laboratoire afin d’étudier le comportement de malwares ou autres logiciels malveillants. Egalement utilisée pour le recouvrement de données, on retrouve cette discipline dans les salles blanches pour extraire des données difficilement récupérables. La diversification des supports numériques (Disque Dur, Mémoire vive, Smartphone…), complexifie les recherches et les analyses. Il convient donc de maîtriser les différentes techniques d’investigation, afin de collecter et corréler les informations le plus justement possible. C’est dans un contexte de « cybercriminalité » ascendante, que ces méthodes apportent un appui considérable à la lutte contre le cyber-crime. Notre recherche se déroulera selon le schéma suivant :  Dans un premier temps nous définirons l’analyse forensic et le cadre légal associé.  Nous ferons ensuite un état de l’art des méthodologies existantes et présenterons les différents supports numériques ainsi que les produits phare du marché. Ce chapitre se terminera par une proposition d’une méthodologie d’investigation.  Notre troisième partie sera consacrée à la démonstration des techniques nécessaires à l’investigation numérique.  Dans la quatrième partie nous aborderons les méthodes utilisées pour faire obstacle au travail des enquêteurs dans leur investigation aussi appelées « l’anti-forensic ».  Dans la cinquième partie, nous appliquerons les méthodes de forensic sur un malware, en utilisant notamment des techniques de rétro ingénierie (reverse engineering).  Enfin, nous proposerons un outil dédié aux analyses forensic. Nous traiterons l'investigation numérique, principalement sur des systèmes Windows, car il s'agit du système le plus utilisé en entreprise.
  • 13. Mémoire de recherche appliquée 2014 Page 12 Chapitre I : Définition du forensic I.1 – Étymologie et usage Le terme « forensic » vient du latin « forēnsis » qui signifie « Avocat, Défenseur ». A l’époque romaine le défenseur présentait le cas devant la justice, les arguments et les preuves énoncés déterminaient l’issue du procès. Cette origine est la base de deux utilisations modernes du terme « forensic » :  Une preuve légale,  Une argumentation publique. Aujourd’hui le terme « forensic » est synonyme du terme « légal » et est fortement associé au domaine scientifique et notamment à la médecine légale. Dans la littérature informatique on retrouve différentes orthographes pour désigner l’investigation numérique. Le mot « forensic » vient de l’anglais : « computer forensic », mais on voit souvent écrit « forensique » ou encore « inforensique » (contraction du mot « informatique » et « forensique »). Etant donné qu’il n’existe à ce jour aucune traduction française officielle nous utiliserons par conséquent le terme « forensic » dans ce document. I.2 – De la médecine à l’informatique Comme énoncé ci-dessus, l’analyse forensic fait référence à la médecine légale qui permet de déterminer les causes d'un décès, au moyen d'analyses approfondies et complexes. Ainsi la médecine légale comporte trois champs d'activité :  La médecine légale judiciaire : principalement utilisée dans le cadre d'enquêtes judiciaires, elle aide à définir les conditions et les causes d'un décès au moyen de l'autopsie médico- légale.  La médecine légale clinique : elle consiste à étudier la victime. Utilisée dans les sciences criminelles, elle vise à définir les origines d'un décès, ou comment est survenu l'acte délinquantiel.  La médecine légale scientifique : elle consiste à étudier les mécanismes et les aspects médicaux légaux de la mort. elle permet ainsi d'identifier les changements corporels qui accompagnent la mort et la période post-mortem. On parle ici de science thanatologique. Ces différents aspects de la médecine légale sont principalement utilisés dans le cadre d'enquêtes judiciaires ou de recherches scientifiques La médecine légale permet donc de définir les causes d'un décès et de rassembler les différentes preuves, nécessaires à une action en justice. Dans le cadre de la recherche scientifique elle permettra de mettre en place des vaccins (analyse de virus) ou encore de découvrir les faiblesses immunitaires d'une personne.
  • 14. Mémoire de recherche appliquée 2014 Page 13 Par analogie, l'analyse forensic en informatique s'inspire de ces méthodologies et techniques. Basée sur les mêmes principes, l'investigation numérique consiste à utiliser des techniques spécialisées dans la recherche, la collecte et l'analyse de données issues de supports numériques. Tout comme la médecine légale, l’investigation numérique peut être divisée en trois champs d’activité :  L’analyse forensic judiciaire : principalement utilisée dans le cadre d'enquêtes judiciaires, elle a pour but de rechercher toutes les preuves numériques (par exemple lors d’une perquisition) afin de collecter et rassembler un maximum de preuves pouvant incriminer ou innocenter le suspect d’une enquête.  L’analyse forensic en réponse à incident : elle vise à identifier les conditions et les origines d’une attaque informatique, quel est le canal infecté ou encore par quel vecteur l’attaque est survenue. Dans le cas d’une réponse à une intrusion, elle joue le rôle de « pompier » et permet d’identifier rapidement les éléments du système d’information compromis, dans le but de combler les failles et d’éradiquer le ou les malwares.  L’analyse forensic scientifique : elle consiste à étudier les mécanismes et les aspects techniques d’un malware ou autre logiciel/matériel malfaisant, afin d’identifier les méthodes utilisées par les assaillants pour pénétrer et compromettre un réseau informatique. Les analyses sont souvent réalisées dans un environnement maîtrisé (sandbox) afin d’éviter une infection totale du système hôte. Figure 1 - Les domaines de l’investigation numérique Les objectifs poursuivis par une analyse forensic sont donc variés. On peut schématiquement définir l’analyse forensic comme un moyen de sanctionner (judiciaire) et de réparer (réponse à incident) des actes de malveillance sur un système informatique mais également de les anticiper (R&D) pour une meilleure sécurité.
  • 15. Mémoire de recherche appliquée 2014 Page 14 I.3 – Le cadre légal L’étendu d’Internet et des nouvelles technologies est très complexe à encadrer d’un point de vue juridique ; il est en effet difficile d’identifier d’une part l’auteur de l’infraction sur Internet et d’autre part, de collecter les preuves de l’infraction. Le fautif pourra très facilement déplacer, supprimer ou rendre inaccessible les preuves de son infraction, d’autant plus si les données sont hébergées sur des serveurs à l’étranger. Afin de permettre aux autorités d’agir, la loi a dû s’adapter pour encadrer la collecte de preuves dans l’environnement numérique international. Le Conseil de l’Europe a d’ailleurs préconisé1 la création d’unités spécialisées requérant une expertise en matière de technologie de l’information dans le but de mettre en application cette nouvelle branche du droit. Ci-dessous, les principales unités existantes pour agir dans le cadre de collecte de preuves numériques :  L’IRCGN : Le département informatique de l’Institut de Recherche Criminelle de la Gendarmerie Nationale a été créé en 1990. Il a pour mission de collecter des éléments numériques pour les mettre à disposition des enquêteurs et des magistrats, et effectue des expertises dans le cadre d’enquêtes judiciaires.  La BEFTI : La Brigade d’Enquêtes sur les Fraudes aux Technologies de l’information a été créée en 1994. Sa mission consiste à lutter contre les atteintes aux systèmes de traitement automatisés de données et la contrefaçon de logiciels ou matériels, ainsi que contre les infractions liées à la loi informatique et libertés. Elle assiste aussi les autres services de la police judiciaire dans la recherche de preuves numériques, lorsque celle-ci est confrontée à un environnement informatique.  L’OCLCTIC : L’Office Central de Lutte contre la Criminalité liée aux Technologies de l’Information et de la Communication a été institué par le décret du 15 mai 2000 pour remplacer la Brigade Centrale de Répression de la Criminalité Informatique. Il a pour mission de traiter toutes les formes de criminalité ayant recours aux nouvelles technologies. Il existe d’autres organismes étatiques spécialisés dans les investigations cybercriminelles (DNRAPB, ICC, STRJD, DGCCRF, le service Cyberdouane). Ces unités interviennent sur des périmètres bien spécifiques de la cybercriminalité tels que la contrefaçon, la pédophilie ou encore les fraudes à la consommation. Tous ces organismes travaillent conjointement dans le but de faire appliquer la loi et protéger les personnes victimes d’actes malveillants.
  • 16. Mémoire de recherche appliquée 2014 Page 15 Des organismes similaires ont également vu le jour à l’étranger :  La National Hi-Tech Crime Unit (NHTCU) au Royaume-Uni.  Le Korps Landelijke Politiediensten (KLPD) et le Computer Emergency Response Team aux Pays-Bas.  Le Bundeskriminalamt (BKA) en Allemagne.  Le Gruppo Anticrimine Tecnologico (GAT) en Italie  Le Grupo de Delitos Telematicos (GDT) en Espagne. Afin de réaliser les collectes de données dans un environnement numérique, les lois des différents pays confèrent des pouvoirs aux autorités de police et judiciaire. Cependant, ces pouvoirs connaissent des limites car ils peuvent difficilement être appliqués en dehors du cadre national. Malheureusement, le domaine de la cybercriminalité dépasse par nature les frontières, ce qui rend complexe et délicat l’encadrement juridique de la collecte de preuves. En France, plusieurs lois ont été adoptées dans ce domaine. Dans le cadre de saisies à l’occasion de perquisitions, le Code de procédure pénale (articles 54, 56, 76, 97) autorise les officiers de police judiciaire effectuant la perquisition à saisir tous les éléments ayant servi à l’infraction, ainsi les supports informatiques peuvent être mis sous scellés. Il est également possible pour les officiers de police d’accéder directement aux systèmes informatiques sur les lieux de la perquisition, pour recueillir les éléments nécessaires à l’enquête. La Loi pour la Confiance dans l’Economie Numérique du 21 juin 2004 apporte des précisions complémentaires : « Il est procédé à la saisie des données informatiques nécessaires à la manifestation de la vérité en plaçant sous main de justice soit le support physique de ces données, soit une copie réalisée en présence des personnes qui assistent à la perquisition. » (LCEN, Article 43) « Si une copie est réalisée dans le cadre de cette procédure, il peut être procédé, sur ordre du juge d'instruction, à l'effacement définitif, sur le support physique qui n'a pas été placé sous main de justice, des données informatiques dont la détention ou l'usage est illégal ou dangereux pour la sécurité des personnes ou des biens. « (LCEN, Article 43) Le Code de procédure pénale (articles 77-1-1, 77-1-2, 60-2) prévoit également la réquisition des données de connexion susceptibles de contenir des éléments intéressant l’enquête, tandis que la LCEN (article 6-II bis) permet la conservation et la communication des données de connexion aux autorités compétentes L’article R. 15-33-62 du Code de procédure pénale, prévoit expressément que l’officier de police judiciaire en charge de l’enquête, habilité par le responsable de service, peut demander aux organismes fournisseurs de service internet (FAI, hébergeurs…), la communication de données à caractère personnel des abonnés et utilisateurs.
  • 17. Mémoire de recherche appliquée 2014 Page 16 Le déchiffrement des données est aussi prévu par le Code de procédure pénale à l’article 230-1. « …lorsqu'il apparaît que des données saisies ou obtenues au cours de l'enquête ou de l'instruction ont fait l'objet d'opérations de transformation empêchant d'accéder aux informations en clair qu'elles contiennent ou de les comprendre, le procureur de la République, la juridiction d'instruction ou la juridiction de jugement saisie de l'affaire peut désigner toute personne physique ou morale qualifiée, en vue d'effectuer les opérations techniques permettant d'obtenir la version en clair de ces informations ainsi que, dans le cas où un moyen de cryptologie a été utilisé, la convention secrète de déchiffrement, si cela apparaît nécessaire. » Enfin, l’article 156 du Code de procédure civile précise qu’un expert peut être mandaté par le magistrat pour réaliser une investigation ou toute opération à caractère technologique nécessaire à l’enquête. Cet expert intervient entre autres dans le but de caractériser des faits, d’analyser des éléments de l’enquête, ou encore d’apporter son assistance lors de la perquisition. Par ailleurs, en plus d’encadrer légalement la collecte de données dans un environnement numérique, la Commission Européenne a créé la procédure CTOSE (Cybertools Online Search Evidence), pour permettre aux enquêteur de collecter les preuves en respectant des règles de bonnes pratiques, afin qu’elles soient recevables devant un tribunal. On notera également que lors d’une investigation, il convient de préserver la preuve des données et de faire appel à des techniques probatoires pour éviter tout risque de modification ou de destruction des données par des fichiers pièges ou autres éléments destinés à corrompre les preuves. Malgré les difficultés à réguler le domaine de l’informatique et des nouvelles technologies de communication, la loi s’efforce de maintenir un équilibre entre la nécessité de réprimer les crimes et délits qui constituent la cybercriminalité, et certains principes et libertés tels que la neutralité du net, le respect du droit à la vie privée et la compétence territoriale des Etats.
  • 18. Mémoire de recherche appliquée 2014 Page 17 Chapitre II : La méthodologie d’investigation II.1 – Etat de l’art A l’heure où nous écrivons ces lignes, il n’existe pas de méthodologie officielle pour mener une investigation numérique, seulement des méthodes dites de « bonne pratique ». Cependant plusieurs experts ont formalisé le processus d’investigation numérique laissant apparaître les prémices d’une méthodologie. A travers ce chapitre nous en étudierons quelques exemples. La liste présentée ci-dessous n’est cependant pas exhaustive. A – La méthode McKemmish Rodney McKemmish, expert Australien en forensic, a ainsi formalisé le processus d’investigation d’une réponse à incident en 4 étapes. 1. L’identification de la preuve digitale : cette première partie consiste à identifier clairement le média d’analyse ( disque dur, clef USB mais aussi Smartphone…). L’identification permet à l’analyste de choisir les bons outils dès le début de l’investigation. 2. La préservation de la preuve digitale : dans le cas d’une présentation devant une cour de justice, il est essentiel de conserver la preuve en l’état originel. Cette partie est indispensable pour garantir l’intégrité et l’authenticité des données extraites. 3. L’analyse de la preuve digitale : cette troisième partie consiste à extraire les données dans le but de les reconstruire, de les identifier et de les rendre compréhensibles pour un être humain. 4. La présentation de la preuve digitale : pour qu’une preuve soit recevable devant une cour de justice, l’analyste doit la présenter sous une forme compréhensible par une personne non technicienne. Rodney McKemmish dans son approche de la méthodologie d’investigation énonce également les règles à respecter par les logiciels d’investigation, pour garantir une recevabilité devant un tribunal.  Pas ou peu de modification des données d’origine,  Documentation de tout changement intervenu pendant l’analyse,  Le respect des règles de bon usage des outils.
  • 19. Mémoire de recherche appliquée 2014 Page 18 B – Le projet CTOSE Le projet CTOSE (Cyber Tools On-line Search for Evidence) de la Commission Européenne a été mis en place dans le but d’élaborer un modèle de processus destiné aux entreprises dans le cas d’un incident informatique. L’objectif de ce projet est d’améliorer le processus d’investigation pour que les preuves recueillies soit admissibles dans le cadre d’une procédure judiciaire. Ainsi le projet CTOSE est regroupé sur 5 phases : 1. La phase de préparation 2. La phase d’exécution 3. La phase d’évaluation 4. La phase d’enquête 5. La phase d’apprentissage C – L’approche Smith et Petreski (DEFCON) En 2010, deux experts en sécurité informatique, David C. Smith et Samuel Petreski de l’université de Georgetown aux Etats-Unis ont également formalisé le processus d’investigation numérique et proposé leur propre approche lors de la DEFCON (une des conférences de sécurité les plus réputées). Leur méthode est basée sur trois composants. 1. La pré-analyse : définir le type de cas, les objectifs de l’analyse, et les exigences. 2. L’analyse : Sélection des méthodes optimales pour atteindre le but défini. 3. L’évaluation du temps de l’analyse : définir le temps d’analyse en fonction du but, de l’expérience, du budget et de la taille des données. D – Digital Forensic Process De nombreuses formalisations du processus d’investigation existent. Le modèle le plus utilisé actuellement est nommé le « Digital Forensic Process » mis au point par Eoghan Casey. Ce dernier est composé de 4 parties distinctes : 1. La saisie : cette étape correspond au moment où les différents média numériques sont saisis. 2. L’acquisition : elle consiste à extraire, dupliquer et conserver la preuve dans le but de ne pas modifier l’original de la saisie. 3. L’analyse : Elle consiste à analyser et identifier les preuves de chaque support, afin d’en extraire les éléments qui constitueront le dossier final. C’est lors de l’analyse que les enquêteurs utiliseront les outils dédiés de l’investigation numérique. 4. La création du rapport : Après l’analyse des supports, les enquêteurs devront établir un dossier comprenant tous les éléments de l’investigation et compréhensible par toutes les personnes concernées par l’enquête. Il existe de nombreuses autres méthodes pour mener une analyse forensic. Certaines plus spécialisées sont destinées aux études en laboratoire mais peuvent également être appliquées dans le cadre de réponse à incident.
  • 20. Mémoire de recherche appliquée 2014 Page 19 Les méthodologies d’analyse de malware sont quelque peu différentes des méthodes de l’analyse légale, néanmoins elles utilisent les mêmes procédés et les mêmes outils. Nous traiterons l’analyse de malware dans le chapitre 5 de ce document. II.2 – Les supports numériques Il existe différents supports numériques qui peuvent faire l’objet d’une investigation. Au préalable, il est nécessaire pour l’analyste de comprendre le fonctionnement de ces supports. A – Disque Dur magnétique Un disque dur magnétique est composé d’éléments mécaniques et électroniques. La partie mécanique est composée de :  Plateaux circulaires double face, la plupart du temps en aluminium, recouvert d’un revêtement magnétique.  Un axe rotatif qui supporte les disques entrainés par un moteur. La vitesse de rotation peut aller de 5400 tours/min pour les disques d’ordinateurs personnels et jusqu’à 15000 tours/min pour des disques haute performance souvent employés pour le stockage de données sur des serveurs.  Les têtes de lecture/écriture : pilotées par un bras leur permettant de pivoter et balayer toute la surface des disques. Ces dernières ne sont jamais en contact avec la surface. La partie électronique est en charge du transport des données entre la carte mère et les disques. Elle est composée de :  un circuit électronique permettant de faire fonctionner les différents composants du disque.  un micro-processeur qui convertit les signaux électriques en signaux digitaux.  une mémoire cache qui traite les informations temporaires que le disque doit effectuer. Figure 2 - Schéma général d’un disque dur Les données sont stockées sur un disque dur magnétique sous forme d’une série de bits. Il s’agit de charges magnétiques positives ou négatives. Elles sont ensuite converties en code binaire. Un disque est composé de pistes, de cylindres et de secteurs. Une piste est un sillon gravé à la surface du disque. On parle de cylindres lorsque des données sont stockées sur la même piste de différents plateaux. Chaque piste est divisée en secteurs (le plus souvent un secteur fait 512 octets).
  • 21. Mémoire de recherche appliquée 2014 Page 20 Figure 3 - Charge magnétique à la surface d’un disque Au sein d’un disque dur il existe une table d’allocation de fichiers et des clusters. Un cluster est la plus petite unité de stockage présente sur un disque dur, on l’appelle aussi unité d’allocation. Un disque dur possède des milliers d’unités d’allocations. La table d’allocation répertorie les clusters présents sur le disque et contient le statut de chacun d’eux. Un cluster peut présenter trois états (disponible, réservé, ou défectueux). S’il est disponible, le système permet d’utiliser l’espace qu’il occupe pour y stocker une information. Dans l’état réservé ou défectueux, aucune opération d’écriture n’est possible. La table d’allocation référence aussi les clusters en groupe si un fichier est stocké sur plusieurs d’entre eux. Il existe trois méthodes d’allocation sur un disque : 1. La méthode d’allocation contigüe : les clusters se suivent les uns les autres. Elle est aujourd’hui considérée comme obsolète, mais on la retrouve encore sur certains systèmes d’exploitation industriels. Elle oblige à pré-allouer les clusters pour prévoir l’utilisation grandissante de l’espace occupé par des fichiers, ce qui sous-entend une perte d’espace disque, mais aussi des difficultés d’agrandissement du volume dans le cas où la pré-allocation aurait été sous-dimensionnée. Fichier A A A A B B B C C Cluster 1 2 3 4 5 6 7 8 9 Tableau 1 - Représentation de la méthode d’allocation contigus 2. Méthode d’allocation par lien : chaque cluster contient, en plus de la donnée, un pointeur vers la prochaine unité d’allocation. Les clusters n’ont donc pas besoin d’être contigus. Fichier A A B A C A B B C Cluster 1->2 2->4 3->7 4->6 5->9 6->1 7->8 8->3 9->5 Tableau 2 - Représentation de la méthode d’allocation par lien
  • 22. Mémoire de recherche appliquée 2014 Page 21 3. Méthode d’allocation indexée : la méthode indexée est particulière en cela qu’elle est gérée par le système d’exploitation qui indexe chaque cluster d’un même ensemble. Comme avec la méthode par lien, les clusters n’ont pas à être contigus. Les systèmes de fichiers FAT et NTFS utilisent la méthode d’allocation indexée. INDEX Fichier A Clusters : 1, 2, 4, 6 Fichier B Clusters : 3, 7, 8 Fichier C Clusters : 5, 9 Fichier A A B A C A B B C Cluster 1 2 3 4 5 6 7 8 9 Tableau 3 - Représentation de la méthode d’allocation indexée Une autre approche consiste à s’intéresser à la manière dont le système d’exploitation alloue l’espace disque. Il existe trois stratégies de stockage :  La stratégie du premier emplacement disponible : si un fichier occupe 3 clusters, le système placera le fichier au cluster 2, puis au 5 et enfin au 7.  La stratégie du prochain emplacement disponible : le fichier sera stocké aux clusters 5, puis 7 et 8.  La stratégie du meilleur emplacement disponible : le système recherchera l’emplacement le plus petit possible où le fichier pourra être stocké sans être fragmenté, c’est-à-dire aux clusters 7, 8 et 9. Etat Alloué Alloué Dernier alloué Alloué Cluster 1 2 3 4 5 6 7 8 9 Tableau 4 - Représentation de la méthode par stratégie de stockage Dans le cadre d’une investigation, il est important de connaître les méthodes de stockage et les stratégies utilisées par le système de fichier, notamment pour permettre de procéder à des analyses de cohérence surtout en matière de falsification de dates.
  • 23. Mémoire de recherche appliquée 2014 Page 22 B – Disque Dur « solides « (SSD) Un disque dur SSD est composé de puces électroniques, qu’on appelle aussi semi-conducteurs. La majorité des constructeurs utilisent de nos jours des composants appelés mémoire flash. Les semi- conducteurs sont réinscriptibles, c’est ce que l’on appelle une mémoire de masse. Contrairement à la mémoire vive, les données ne disparaissent pas en cas de mise hors tension. La mémoire flash stocke des bits de données dans des cellules de mémoire. Puce Cellule mémoire Figure 4 - Schéma d’un disque dur SSD Un SSD présente un avantage certain sur un disque dur magnétique, à savoir qu’il ne présente aucun élément mécanique, ce qui le rend particulièrement résistant aux chocs. En revanche, en raison de la présence de semi-conducteurs, il est nécessaire de limiter l’exposition d’un SSD à des rayonnements électromagnétiques qui pourraient endommager les puces. Au niveau de son interface, on trouve de nos jours des disques durs de types SATA, qui est l’interface la plus utilisée dans les ordinateurs personnels, mais également des interfaces PCI Express haut de gamme qui permettent d’améliorer encore de manière très significative les débits sur ce type de composants. Le processus d’écriture sur un SSD est très différent de celui d’un disque dur ordinaire, les stratégies mentionnées lors de l’étude des disques durs ne s’appliquent pas. L’écriture sur un disque SSD ne se fait pas simplement en écrasant la donnée comme pour un disque dur. Elle est en fait une suite de bits qui sont eux-mêmes une charge électrique mémorisée par la cellule. Pour écrire dans une cellule, le système doit effacer entièrement la page, qui contient plusieurs autres cellules, avant d’y inscrire la donnée, ce qui entraîne un jeu de déplacement des données à l’intérieur des puces. Cela signifie que le système ne réécrit pas nécessairement les données dans les mêmes cellules.
  • 24. Mémoire de recherche appliquée 2014 Page 23 La structure générale d’un SSD est assez simple par rapport à un disque dur magnétique, elle se compose d’un « control chip » qui contrôle les opérations du disque :  ECC Checking (Error Correction Code) est un protocole de vérification d’erreurs sur les blocs après écriture.  Wear Leveling (Répartition d’usure) va répartir l’utilisation des blocs afin d’optimiser la durée de vie du disque.  True FFS est le processus de vérification du nombre de lectures/écritures d’un bloc. Aujourd’hui, on estime à 100000 lectures/écritures sur un bloc avant qu’il ne soit plus utilisable. On retrouve trois types de puces à base de mémoire flash dans le commerce:  NOR : C’est une mémoire à accès rapide, l’écriture à répétition est plus problématique, c’est pourquoi les ROM (Read Only Memory) comme les BIOS utilisent plus généralement ce format.  NAND : C’est le type de mémoire le plus utilisé, décris ci-dessous.  DRAM : C’est le type de puce le plus rapide. Il est la plupart du temps utilisé dans la mémoire vive. Ses caractéristiques structurelles font que l’information disparait si ses condensateurs ne sont pas stimulés par une charge électrique plus de quelques millisecondes. Structure de la mémoire NAND Un composant tel qu’une puce de mémoire Flash est composé d’un grand nombre de cellules de stockage. Chaque cellule est en réalité composée de plusieurs éléments, une base matérielle en silicium surmontée de ce que l’on appelle une « floating gate » et d’un « contrôl gate ». La « floating gate » ou « barrière flottante » est utilisée dans tous les composants à base de mémoire flash, pour sa capacité à stocker une charge électrique même sans alimentation pendant très longtemps. Pour stocker cette charge, un transistor est la plupart du temps composé de plusieurs éléments électroniques dont des condensateurs destinés à contrôler la tension délivrée. Figure 5 - Représentation d’une cellule mémoire Il existe deux technologies de puces à mémoire flash, SLC (Single Layer Cells) et MLC (Multi Layer Cells). Les puces à base de SLC ne stockent qu’un seul bit à la fois, quand la MLC en stocke plusieurs. La durée de vie est sensiblement différente et les temps d’accès sont également différents sans être une caractéristique importante pour les performances. Nous nous attarderons sur les puces MLC.
  • 25. Mémoire de recherche appliquée 2014 Page 24 Une puce MLC est constituée de plusieurs couches de cellules. Lors du processus d’écriture des données, le système écrit sur toutes les couches. Les puces MLC peuvent donc stocker plus d’informations que les SLC, pour une puce de taille identique. Pour comprendre comment sont stockées les données, il faut connaitre la structure des puces MLC :  Il faut 8 cellules pour stocker un bit  16 cellules pour stocker un mot  Un secteur peut contenir entre 512 et 2048 bits  Un block fait 64 fois la taille d’un secteur  Un secteur a également 64 bits supplémentaires pour étiqueter le secteur  Une page est constituée de l’ensemble secteur plus un flag Figure 6 - Fonctionnement de TRIM La connaissance de la commande TRIM permet de comprendre comment fonctionne un SSD dans ses processus d’écriture. La recherche de données après le passage de la commande TRIM est vaine dans la mesure où les pages sont effacées après que le système a envoyé au contrôleur l’instruction de libération des pages. Il existe cependant une méthode qui consiste à dessouder les puces NAND et à analyser les fragments de données. Toutefois, cette méthode n’a pas encore réellement fait ses preuves.
  • 26. Mémoire de recherche appliquée 2014 Page 25 C – Mémoire vive (RAM) La mémoire vive, qu’on nomme en anglais RAM (Random Access Memory), possède des caractéristiques différentes des autres types de mémoire, disque dur magnétique et SSD. La principale étant le temps d’accès considérablement plus faible, c’est la raison pour laquelle les données en traitement sont toujours stockées dans la RAM. La mémoire RAM est prise en charge par une carte mère sur un support de type DIMM, et est reliée par un BUS très rapide pour fournir les données au processeur. Une autre caractéristique très importante de la RAM est sa volatilité, en effet, en l’absence d’un courant électrique, la mémoire vive se vide de ses données, lorsque l’on éteint un ordinateur, les données en mémoire sont donc perdues. Dans la mémoire vive, les données sont organisées sous forme de mots de 8, 16, 32, ou 64 bits. La connaissance de la volatilité de l’information sur la mémoire vive est d’un intérêt capital lors de réponse à incident. Dans de très rares cas où un expert a la possibilité d’analyser un ordinateur infecté ou subissant une attaque, l’analyse de la RAM peut s’avérer importante. Un attaquant préfèrera charger les éléments infectieux en RAM afin de faire disparaitre ses traces lors du redémarrage de la machine. Figure 7 - Représentation d’une barrette mémoire RAM
  • 27. Mémoire de recherche appliquée 2014 Page 26 II.3 – Les outils utilisés pour l’analyse forensic Les outils présentés ci-après sont ceux les plus utilisés et font partie des produits que les tribunaux reconnaissent dans le cadre d’enquêtes où des supports numériques font l’objet d’analyse. Ces outils sont retenus en fonction de leurs capacités à analyser et à préserver les objets. L’enquête et l’analyse des supports ne doit pas altérer les éléments qui seront à terme présentés comme preuves. A – EnCase2 EnCase Forensic est une suite logicielle dédiée à l’investigation. Il dispose d’un moteur puissant permettant la recherche rapide d’une grande variété de fichiers, de fournir un niveau de détail élevé dans les rapports d’analyse et de préserver les données collectées. C’est un logiciel très utilisé par les départements d’investigation numérique de la police et la gendarmerie. Il constitue une des seules suites logicielles reconnues par les tribunaux pour la recherche de preuves. Il supporte les analyses par mot clé, par comparaison d’empreintes et implémente également son propre langage de scripting permettant ainsi le développement de ses propres modules pour des analyses personnalisées. Figure 8 - Interface d' EnCase
  • 28. Mémoire de recherche appliquée 2014 Page 27 B – FTK (Forensic ToolKit)3 FTK (Forensic ToolKit) est une autre suite de logiciel dédiée à l’investigation. Elle est capable d’analyser tous types de systèmes, (FAT 12/16/32, NTFS, EXT). Elle fonctionne uniquement sur Windows. Elle est livrée avec un moteur de base de données PostgreSQL qui indexe toutes les données présentes sur le support et réduit considérablement le temps de réponse des analyses. FTK est également capable d’analyser des images créées à partir d’autres outils comme EnCase. Figure 9 - Interface de FTK C – DFF (Digital Forensic Framework)4 DFF (Digital Forensic Framework) est une suite logicielle spécialisée dans la recherche forensic. C’est un outil open source écrit en C++ et Python. C’est aussi une plateforme de développement qui permet de créer ses propres modules pour des investigations personnalisées et très fines. DFF permet l’acquisition et la corrélation d’éléments suspects, provenant de différents types de supports, disques, mémoire vive, puces électroniques (téléphonie mobile, etc.). De nombreux professionnels de l’informatique utilisent aussi DFF pour récupérer des données supprimées.
  • 29. Mémoire de recherche appliquée 2014 Page 28 Figure 10 - Interface de DFF Il existe, en plus de ces différents logiciels, des distributions spécialisées dans la récupération de données. Parmi les plus connues, SIFT et DEFT Linux, toutes deux basées sur Ubuntu et offrant un environnement contenant de nombreux outils pour l’investigation numérique. D – Les bloqueurs en écriture Les bloqueurs en écriture sont des dispositifs qui permettent de faire l’acquisition d’une image d’un disque dur en bloquant le mécanisme d’écriture, mais pas de lecture, dans le but de préserver le contenu. L’utilisation de ce type de dispositif permet de protéger le contenu du disque et garantit ainsi son intégrité. Il existe des bloqueurs en écriture matériel et logiciel. Il est possible de se procurer un bloqueur en écriture auprès de sociétés spécialisées telles que TRACIP5 . Figure 11 - Bloqueur en écriture Un bloqueur en écriture matériel s’interpose entre le disque dur (la preuve) et le PC qui servira à l’acquisition de l’image.
  • 30. Mémoire de recherche appliquée 2014 Page 29 II.4 – Proposition d’une méthodologie La méthodologie présentée ci-dessous peut être appliquée dans le cadre de recherches en laboratoire mais également sur le terrain lors d’une enquête ou d’une réponse à incident. Elle devra être adaptée en fonction des besoins et de l’objectif poursuivi. En effet, u vol de données confidentielles ne fera pas l’objet des mêmes techniques qu’une réponse à incident après un piratage par exemple 1. Identification du contexte (Architecture réseaux, flux ouvert, heure, date, actions menées par les utilisateurs ou les administrateurs) : Cette partie consiste à obtenir un maximum d’informations de la part des utilisateurs, des administrateurs ou autres. Elle a pour but d’identifier toutes les composantes du système d’information à analyser et de discerner les éléments pouvant accélérer ou retarder l’analyse forensic (poste/serveur éteints après intrusion : données volatiles effacées). 2. Copie et analyse de la mémoire RAM a. Copie de la mémoire : réalisation d’une copie de la mémoire avec calcul de condensat (MD5, SHA1..) conservation et intégrité des données. b. Analyse de la mémoire : analyse des données volatiles, réalisation d’une chronologie d’utilisation (timeline), extraction de données volatiles (mot de passe...). 3. Copie et analyse du disque dur a. Copie du disque dur : réalisation d’une image système avec calcul de condensat (MD5, SHA1..), conservation et intégrité des données. b. Analyse du disque dur : analyse du système de fichier, de la base de registre et des journaux d’évènements, de l’historique et des artefacts de navigation, décodage de mot de passe, chronologie d’utilisation, extraction de binaires et de documents. 4. Analyse des éléments connexes : Logs annexes (logs firewall, logs d’IPS ou d’IDS, proxy, Active Directory, serveur web), si possible. 5. Constitution du dossier des différentes preuves numériques pouvant servir en justice. 6. Corrélation des évènements Un des éléments essentiels de l’analyse forensic est de noter et horodater tous les éléments. Dans le but de ne pas compromettre le dossier de preuves pouvant servir en justice, l’analyste pourra par ailleurs mandater un huissier de justice pour certifier la procédure.
  • 31. Mémoire de recherche appliquée 2014 Page 30 Le schéma ci-dessous représente la méthodologie énoncée : Figure 12 - Méthodologie d’une investigation numérique Ces méthodes et techniques peuvent être utilisées à mauvaise escient par des pirates. En effet il est probable que dans le cas d’une attaque informatique ciblée (dans le but de récupérer mots de passe, comptes utilisateur, documents sensibles…), un attaquant abuse de cette méthodologie pour accéder à des informations confidentielles.
  • 32. Mémoire de recherche appliquée 2014 Page 31 Chapitre III : Les méthodes de forensic Les méthodes de forensic constituent tous les éléments permettant de mener à bien une investigation numérique. Chaque support nécessite des outils particuliers. Nous verrons dans ce chapitre les outils existants ainsi que les méthodes nécessaires à l’extraction, l’analyse et la corrélation des données. III.1 – Calcul de condensat Lors d’une analyse forensic, il est primordial de calculer une empreinte qui identifiera le fichier à l’aide d’une fonction de hachage. Cette empreinte doit être unique car elle permet de valider que le fichier n’a pas été altéré durant l’investigation. Le calcul de condensat permettra ainsi de garantir l’intégrité des fichiers analysés. Figure 13 - Principe de fonctionnement d’une fonction de hachage sur 3 entrées différentes Voici les fonctions de hachage les plus utilisées :  MD5 (Message Digest) : Hash de 128 bits  SHA1 (Secure Hash Algorithm) : Hash de 160 bits  SHA224 : Hash de 224 bits communément appelé SHA2  SHA256 : Hash de 256 bits communément appelé SHA2  SHA384 : Hash de 384 bits  SHA512 : Hash de 512 bits
  • 33. Mémoire de recherche appliquée 2014 Page 32 Sous linux il est possible d’utiliser les fonctions de hachage simplement : r1tch1e@forensic:~$ md5sum case1.raw edcdc33fd185c17e6d3813b1bcf77af9 case1.raw r1tch1e@forensic:~$ sha1sum case1.raw 018f3bdf11378f8d69b1767058f6c7303707307a case1.raw r1tch1e@forensic:~$ sha224sum case1.raw 304696ba8d9abf7f7eb4153c69b970abb328843a79b2ddc65abdab1a case1.raw r1tch1e@forensic:~$ sha256sum case1.raw e3126128f08662b496936d45d563f4e1acf012138a9a52557e9295f8ede8df4d case1.raw r1tch1e@forensic:~$ sha384sum case1.raw c89b5611dca6954261aff47bc10f63c0117c83e500829a302ee0f0b749ade077ae753846b04 1d46091859e29286dc7fb case1.raw r1tch1e@forensic:~$ sha512sum case1.raw 29ed0d167a46991def4af168ec300d799d85075531dbc86116e7370540292b8e539910d901b 30ec499b7ca06dd5ef5ca4ca1e115877305a81d2bda9bb39283d7 case1.raw Figure 14 - Calcul d’empreinte sous Linux Afin de réaliser un contrôle d’empreinte sur un ensemble de fichiers, il peut être intéressant de réaliser un script en python pour automatiser cette tâche. La bibliothèque « hashlib » permet de réaliser des empreintes avec les algorithmes usuels. Nous avons développé un script hash.py6 disponible en annexe. Le script s’execute ainsi: r1tch1e@forensic:~$ python hash.py -f case1.raw –msx The MD5 hash is 37da7f205f894fd449d446e40422bdf1 The SHA256 hash is 30827d0e70951b12ad89c9747c63c22e0613f976e6d1c1d8d8d5316c308b28c1 The SHA512 hash is ff4f639634f1e537b8a207f3603bf130a57f154dd2de3f83718ba78e2e440c085d06b6ef81c 82c6bd68178e8e100ec6318a93ebbbaac172adaf3e5c17297a7ba Figure 15 - Calcul de hash avec le script hash.py Il permet de générer une empreinte avec les 3 algorithmes principaux (MD5, SHA256, SHA512).
  • 34. Mémoire de recherche appliquée 2014 Page 33 Le script permet également de comparer 2 fichiers afin de vérifier que les deux empreintes coïncident : r1tch1e@forensic:~$ python hash.py -c case1.raw case1.raw -m This is the same file ! :) 37da7f205f894fd449d446e40422bdf1 case1.raw 37da7f205f894fd449d446e40422bdf1 case1.raw r1tch1e@forensic:~$ python hash.py -c case1.raw case2.raw -m This is not the same file ! :( 37da7f205f894fd449d446e40422bdf1 case1.raw 66349e73f9a42db317292c34917ed8b2 case2.raw Figure 16 - Comparaison de hash avec le script hash.py Il est à noter que l’algorithme MD5 n’est plus totalement fiable car il a montré des faiblesses de collision (2 empreintes identiques pour 2 fichiers différents). Des banques d’empreintes de fichiers, mises à disposition sur internet permettent d’identifier tous les fichiers connus inutiles pour l’analyse. Le site http://www.nsrl.nist.gov/ recense les hash connus, il sera ainsi possible d’automatiser l’identification de fichier en comparant leurs empreintes sur le site.
  • 35. Mémoire de recherche appliquée 2014 Page 34 III.2 – Acquisition et analyse de la mémoire volatile La mémoire vive d’un ordinateur peut contenir de nombreuses informations : mots de passe, identifiants, clefs de chiffrement ou encore processus actifs. Lors d’une analyse forensic, l’étude de l’image mémoire d’un système peut s’avérer utile. La manipulation de la mémoire vive intervient dans le cadre d’une « analyse à chaud », c’est-à-dire lorsque le système est encore en fonctionnement et n’a pas été arrêté ou redémarré au moment de l’investigation. Nous verrons dans cette partie comment extraire un dump de la mémoire RAM pour l’analyser. A – Acquisition de la mémoire volatile L’acquisition de la mémoire vive intervient généralement lors d’une réponse à incident et sur un système en fonctionnement. Lors de l’acquisition, l’analyste doit éviter au maximum toutes modifications afin de récupérer une image fidèle du système à analyser. Certains outils permettent spécifiquement de copier le contenu de la mémoire RAM. L’utilitaire Dumpit Afin de réaliser une image de la RAM nous utiliserons l’utilitaire gratuit de la société Moonsols : Dumpit, disponible sur Internet7 . Cet outil est composé des 2 utilitaires suivants : - Win32DD : permettant de réaliser une image mémoire d’un système Windows 32 bits - Win64DD : permettant de réaliser une image mémoire d’un système Windows 64 bits Nous lançons l’utilitaire : Figure 17 - Copie de la mémoire vive avec l’utilitaire Dumpit On obtient ici une image mémoire de 9Go, qui pourra par la suite être analysée.
  • 36. Mémoire de recherche appliquée 2014 Page 35 Extraction de la mémoire vive par « cold boot » Lorsque l’on éteint subitement un ordinateur, la totalité des données présentes dans la mémoire vive est disponible environ 5 à 10 secondes. Le tableau ci-dessous indique le temps de rémanence des données après extinction. Temps % de données 5 à 10 secondes 100% 10 à 60 secondes 80% 1 à 3 minutes 50% après 3 minutes 0% à 2% Tableau 5 - Temps de rémanence des données contenues dans la RAM La technique de « cold boot » consiste à exploiter cette rémanence en refroidissant la mémoire vive. Une étude menée par des chercheurs de l’université de Princeton aux Etats-Unis en 2008, a montré que refroidir la mémoire vive à très basse température permettait de conserver plus longtemps les données présentes. Il devient ainsi possible d’extraire les données sans être contraint par le temps. A titre d’exemple, à moins 50 degrés les données peuvent être conservées jusqu’à 10 minutes. En plongeant les barrettes mémoires dans l’azote liquide le temps de conservation peut alors s’élever à plusieurs heures, voire plusieurs jours. Pour réaliser cette technique, nous devons : 1 – Refroidir les barrettes mémoires sur un ordinateur allumé, 2 – Couper brusquement l’alimentation de l’ordinateur, 3 – Brancher les barrettes sur un autre ordinateur (ou sur le même), 4 – Booter sur un système tiers afin d’éviter que le système n’écrase les données, 5 – Dumper la mémoire. Une bombe à air sec (disponible dans le commerce), nous permet de refroidir les barrettes mémoires. Figure 18 - Bombe à air sec Puis nous utiliserons l’utilitaire MSRAWDMP8 .
  • 37. Mémoire de recherche appliquée 2014 Page 36 Refroidissement de la mémoire vive de l’ordinateur allumé : Figure 19 - Gel de barrette mémoire Redémarrage de l’ordinateur et boot sur clef USB préparée avec l’utilitaire MSRAWSMP et copie du contenu de la RAM pour récupération et exploitation des données : Figure 20 - Copie de la mémoire vive avec l’utilitaire MSRAWSDMP
  • 38. Mémoire de recherche appliquée 2014 Page 37 B – Analyse de la mémoire volatile Afin de procéder à l’analyse de la mémoire volatile, nous traiterons ici de l’outil le plus réputé et le plus utilisé dans l’investigation numérique pour les systèmes Windows : le Framework Volatility9 . Une version pour les systèmes Linux est également disponible : Volatilitux10 . Ainsi que pour les systèmes MAC : Volafox11 . Présentation du Framework Volatility Volatility est un Framework open-source écrit en python, utilisé pour les réponses à incident ou pour l’analyse de malware. Il est distribué par la société Volatile Systems. Le Framework Volatility dispose des fonctionnalités suivantes :  Informations sur l'image (date, heure, nombre d'UC)  Extraction des processus en cours  Extraction des processus SID et des variables d'environnement  Affichage des sockets réseau  Affichage des connexions réseau  Extraction des DLL chargées pour chaque processus  Affichage des modules du noyau  Dump des processus, des DLL, ou des modules de disque  Cartographie des compensations physiques à des adresses virtuelles  Extraction des informations de descripteur d'adresses virtuelles  Extraction de la mémoire adressable pour chaque processus  Extraction des cartes de mémoire pour chaque processus  Extraction des échantillons exécutables  Extraction des historiques de commande (cmd.exe) et des tampons d'entrée/sortie console  Fonctions de l'API importées et exportées  Affichage des informations de version de PE  Affichage des tables d'appels système (IDT, GDT, SSDT)  Exploration des ruches du registre cache  Dump des hash LM/NTLM et secrets LSA  Analyse des modes d'octets, des expressions régulières, ou des chaînes en mémoire  Analyse du timers du noyau et des fonctions de rappel  Rapport sur les services Windows La liste des options de Volatility est disponible en annexe.
  • 39. Mémoire de recherche appliquée 2014 Page 38 Identification du profil La première étape pour l’analyse de l’image mémoire est d’utiliser l’option « imageinfo » pour obtenir les informations concernant le système d’exploitation de l’image. r1tch1e@forensic:~$ python vol.py –f case.dmp imageinfo Volatile Systems Volatility Framework 2.2 Determining profile based on KDBG search... Suggested Profile(s) : Win7SP0x86, Win7SP1x86 AS Layer1 : JKIA32PagedMemoryPae (Kernel AS) AS Layer2 : FileAddressSpace(/case.dmp) PAE type : PAE DTB : 0x185000L KDBG : 0x82929be8L Number of Processors : 1 Image Type (Service Pack) : 0 KPCR for CPU 0 : 0x8292ac00L KUSER_SHARED_DATA : 0xffdf0000L Image date and time : 2013-01-12 16:59:18 UTC+0000 Image local date and time : 2013-01-12 17:59:18 +0100 Figure 21 - Option imageinfo de Volatility La commande retourne les informations du système. Il faudra alors utiliser le profile Win7SP1x86 ou Win7SP0x86 avec l’option « --profile= », pour le reste de l’analyse. Lister les processus en cours Afin d’identifier les applications utilisées lors de la récupération de l’image mémoire, Volatility permet de lister les processus en cours d’utilisation avec l’option « pslist ». r1tch1e@forensic:~$ python vol.py --profile=Win7SP1x86 –f case.dmp pslist Volatile Systems Volatility Framework 2.2 Offset(V) Name PID PPID Thds Hnds ---------- -------------------- ------ ------ ------ -------- 0x83db4b78 System 4 0 94 496 0x8509f020 smss.exe 260 4 2 29 0x85078d40 csrss.exe 372 364 8 453 0x846ad760 wininit.exe 412 364 3 75 0x851ced40 csrss.exe 420 404 9 275 0x85770cc8 winlogon.exe 468 404 6 114 0x8582e820 services.exe 512 412 9 209 0x85833668 lsass.exe 520 412 6 588 0x85835898 lsm.exe 528 412 10 148 0x8597ed40 svchost.exe 644 512 11 353 0x859a1310 svchost.exe 704 512 7 277 0x859b1cd8 svchost.exe 756 512 22 492 0x85a4f530 svchost.exe 868 512 16 352 0x85a4f030 spoolsv.exe 1236 512 13 343 0x85a1d030 svchost.exe 1272 512 19 314 0x85a68a98 vmtoolsd.exe 1428 512 9 293 0x85d45420 TPAutoConnSvc. 1716 512 10 139 0x85d4fd40 svchost.exe 1760 512 7 94 0x85d521b0 svchost.exe 1856 512 5 101 0x85d80918 dllhost.exe 2016 512 15 192 0x85d6fd40 msdtc.exe 1008 512 14 147 0x85e03d40 svchost.exe 2040 512 15 356
  • 40. Mémoire de recherche appliquée 2014 Page 39 0x83ef62d8 SearchIndexer. 1828 512 11 602 0x83f21d40 SearchProtocol 288 1828 7 319 0x83f4b778 WmiPrvSE.exe 2404 644 6 111 0x85d0d430 taskhost.exe 2696 512 11 212 0x83f2a710 dwm.exe 2756 868 4 71 0x83f911e0 explorer.exe 2792 2740 34 982 0x83fab6c8 TPAutoConnect. 2816 1716 6 126 0x83f76398 conhost.exe 2824 420 1 33 0x83febd40 vmtoolsd.exe 2968 2792 7 187 0x83f594d0 audiodg.exe 3024 756 7 133 0x84c72ab0 wmpnetwk.exe 3332 512 11 213 0x84e90030 svchost.exe 3376 512 10 142 0x84d0cd40 firefox.exe 3820 2792 39 494 0x85e2e030 TrueCrypt.exe 4080 2792 6 258 0x85d7b720 SearchFilterHo 2536 1828 4 97 0x8523e030 KeePass.exe 852 2792 10 260 0x846a3030 DumpIt.exe 3816 2792 2 37 0x848018e8 conhost.exe 3892 420 2 53 Figure 22 - Option pslist de Volatility On obtient ici toutes les informations liées au processus du système. Le PID d’un processus peut être récupéré pour l’analyser plus en profondeur. Par exemple, dans le cas d’un utilitaire de protection de mot de passe tel que Keepass, il peut être intéressant d’extraire un dump dans le but de récupérer des identifiants stockés en mémoire ou le mot de passe principal. Dumper l’image mémoire d’un processus L’option « memdump » permet d’extraire l’image d’un processus afin de l’analyser. Pour dumper le processus il faut d’abord récupérer son PID à l’aide de la commande « pslist ». Ici nous dumperons le processus « KeePass.exe » avec le PID 852. r1tch1e@forensic:~$ python vol.py --profile=Win7SP1x86 –f case.dmp memdump -p 852 --dump-dir /tmp/ Volatile Systems Volatility Framework 2.2 ************************************************************************ Writing KeePass.exe [ 852] to 852.dmp Figure 23 - Option memdump de Volatility Volatility crée ici un fichier nommé 852.dmp qui pourra par la suite être analysé. Il est également possible de dumper le processus sous forme d’un exécutable avec l’option « procmemdump ». L’exécutable pourra ensuite être décompilé et analysé. Nous prenons pour exemple le processus « svchost.exe » avec le PID 2040. r1tch1e@forensic:~$ python vol.py --profile=Win7SP1x86 –f case.dmp procmemdump -p 2040 --dump-dir /tmp/ Volatile Systems Volatility Framework 2.2 Process(V) ImageBase Name Result ---------- ---------- -------------------- ------ 0x85e03d40 0x00890000 svchost.exe OK: executable.2040.exe Figure 24 - Option procmemdump de Volatility
  • 41. Mémoire de recherche appliquée 2014 Page 40 Extraction des hash LM/NTLM Les données du registre Windows peuvent être extraites lors d’un dump de la mémoire volatile. Volatility propose plusieurs options permettant d’afficher et, d’explorer (hivelist, hivescan…) la base de registre et d’extraire les identifiants du système (hashdump). On procédera comme suit pour extraire les hash NTLM. r1tch1e@forensic:~$ python vol.py --profile=Win7SP1x86 –f case.dmp hivelist Volatile Systems Volatility Framework 2.2 Virtual Physical Name ---------- ---------- ---- 0x960de9d0 0x135329d0 SystemRootSystem32ConfigSECURITY 0x961b78e8 0x12a3f8e8 ??C:WindowsServiceProfilesLocalServiceNTUSER.DAT 0x82bb3140 0x02bb3140 [no name] 0x8760c008 0x19e8d008 [no name] 0x8761c008 0x19e1b008 REGISTRYMACHINESYSTEM 0x8763c6b8 0x19cbb6b8 REGISTRYMACHINEHARDWARE 0x876c69d0 0x19e569d0 SystemRootSystem32ConfigDEFAULT 0x882569d0 0x074a09d0 SystemRootSystem32ConfigSAM 0x882f43f0 0x071193f0 ??C:WindowsServiceProfilesNetworkServiceNTUSER.DAT 0x8b2999d0 0x1966c9d0 DeviceHarddiskVolume1BootBCD 0x8cfb9008 0x17aaa008 SystemRootSystem32ConfigSOFTWARE 0x900ec008 0x04efb008 ??C:System Volume InformationSyscache.hve 0x90bf5008 0x0157c008 ??C:UsersR1TCH1Entuser.dat 0x92ac7650 0x0f165650 ??C:UsersR1TCH1EAppDataLocalMicrosoftWindowsUsrClass.dat Figure 25 - Liste des ruches systèmes avec l’option hivelist de Volatility On utilisera ensuite l’option « hashdump » en précisant le « -y » (qui correspond à l’OFFSET de la ruche SYSTEM) et l’option « -s » (qui correspond à l’OFFSET de la ruche SAM, où sont stockés les mots de passe). r1tch1e@forensic:~$ python vol.py --profile=Win7SP1x86 –f case.dmp hashdump -y 0x8761c008 -s 0x882569d0 Volatile Systems Volatility Framework 2.2 Administrateur:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c 0::: Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0::: R1tch1e:1000:aad3b435b51404eeaad3b435b51404ee:b9f917853e3dbf6e6831ecce60725930::: Figure 26 - Extraction des hash avec l’option hashdump de volatility Après avoir récupéré les hash il est possible de les décrypter.
  • 42. Mémoire de recherche appliquée 2014 Page 41 La copie d’écran ci-dessous illustre le décryptage12 du mot de passe : Figure 27 - Décryptage du hash NTLM Le hash retrouvé correspond ici à « passw0rd » On notera tout de même qu’un mot de passe fort (constitué de plus de 8 caractères alphanumériques minuscules, majuscules et caractères spéciaux) est très difficile à décrypter. Volatility dispose de nombreuses autres options telles que « dlllist » qui permet de lister les DLL du système ou celles utilisées par un processus. L’option « dlldump » permettra quant à elle d’extraire une DLL en particulier afin de l’analyser. D’autres options utilisées pour l’analyse de malware sont également présentes comme « malfind » qui analyse les injections de code ou encore « yarascan » qui vérifie la signature YARA d’un binaire. Enfin on ajoutera qu’il est possible d’ajouter des modules ou de développer ses propres outils pour les utiliser avec Volatility.
  • 43. Mémoire de recherche appliquée 2014 Page 42 III.5 – Acquisition et analyse de la mémoire non- volatile La mémoire non volatile est issue d’un support numérique qui conserve les données présentes même lorsqu’il n’est pas alimenté électriquement. On distingue alors la mémoire non-volatile de la mémoire volatile. Les supports non-volatiles peuvent être des disques durs ou des clefs USB. On appelle cette partie l’analyse à froid ou post mortem, elle sera effectuée après l’incident de sécurité ou lorsque que le système a été éteint ou redémarré. Lors d’une analyse forensic les supports numériques de données non volatiles peuvent fournir une multitude d’informations à l’analyste. Nous verrons dans cette partie comment acquérir une image d’un disque dur, comment l’utiliser et l’analyser. A – Acquisition de la mémoire non-volatile Comme pour la mémoire volatile, l’acquisition de la mémoire non-volatile est une partie très importante de l’investigation numérique, elle doit respecter une procédure stricte afin de ne pas altérer le contenu du support. De nombreux outils ont pour but de copier le contenu d’un disque dur pour l’analyser. L’utilitaire dd L’utilitaire « dd », connu aussi sous la dénomination « GNU dd » est un outil en ligne de commande permettant de copier des données en mode bloc. Il permet notamment de créer des images de disques, ou de parties de disques qui seront ensuite utilisées avec des outils tels que FTK, DFF ou EnCase. L’utilitaire « dd » est par défaut disponible sur tous les systèmes Linux. Il permet de faire une copie bit à bit garantissant ainsi une reproduction parfaite du disque dur. Pour récupérer le contenu du disque dur d’un système Windows il suffit de booter la machine sur un live cd ou USB afin d’obtenir un Shell Linux. La commande pour cloner un disque dur entier sur un périphérique externe est la suivante : r1tch1e@forensic:~$ dd if=/dev/sda of=/dev/sdb conv=notrunc,noerror dd : writing to `/dev/sdb` 15769601+0 records in 15769600+1 records out 8074035200 bytes (8,1 GB) copied, 2449,65 s, 3.3 MB/s Figure 28 - Copie d’un disque dur avec l’utilitaire dd  L’option « notrunc » signifie de ne pas tronquer le fichier en sortie.  L’option « noerror » signifie de continuer en cas d'erreur, dd s'arrête normalement en cas d'erreur. L’utilitaire « dd » permet également de nombreuses possibilités pour la manipulation de volume.
  • 44. Mémoire de recherche appliquée 2014 Page 43 L’utilitaire dcfldd L’utilitaire « dcfldd »13 est une version de « dd » améliorée. Il permet de faire une copie bit à bit d’un disque dur tout en calculant l’empreinte qui servira à garantir son intégrité. « dcfldd » est open source. r1tch1e@forensic:~$ dcfldd if=/dev/sda of=/dev/sdb hash=sha1 hash=md5 Figure 29 - Copie d’un disque dur et calcul de condensat avec l’utilitaire dcfldd L’utilitaire Esximager Esximager14 est un script perl qui utilise netcat pour effectuer une copie à distance d’un système virtuel. La virtualisation étant de plus en plus présente dans nos infrastructures, il convient d’utiliser les outils adéquats pour récupérer des images issues de logiciels de virtualisation comme VMWARE. Figure 30 - Copie d’une image virtuelle ESXi avec l’utilitaire esximager.pl
  • 45. Mémoire de recherche appliquée 2014 Page 44 B – Monter une image Après avoir récupéré l’image d’un disque dur, l’analyste doit pouvoir exploiter son contenu afin d’en récupérer les informations nécessaires à l’enquête. Il faut donc pouvoir monter l’image sur un système tout en gardant à l’esprit que le support ne doit pas subir de modifications. Le montage de l’image est ici une étape importante qu’il faut mener avec précaution. L’utilitaire mount Après avoir effectué la copie d’un système, l’analyste doit pouvoir y accéder facilement pour l’analyser. Il s’agit ici de monter le disque dur ou l’image sur un système tiers. Il est important de monter l’image seulement en lecture afin de ne pas entraîner de modifications. L’utilitaire « mount » présent sur tous les systèmes UNIX permet d’effectuer cette action. r1tch1e@forensic~$ mount -t FAT -o ro,noexec case1.dd /mnt Figure 31 - Montage d’une image avec l’utilitaire mount  L’option « -t » permet de spécifier le système de fichier  L’option « -o » permet de spécifier plusieurs options : o « ro » permet de monter l’image en lecture seulement (Read Only) o « noexec » ne permet pas l’exécution de binaire sur le système monté  Le « /mnt » permet d’indiquer le répertoire de montage
  • 46. Mémoire de recherche appliquée 2014 Page 45 L’utilitaire Live view L’utilitaire Live View15 sert à convertir une image en machine virtuelle pour VMWARE pour pouvoir la démarrer dans un environnement virtualisé. Ainsi, l’analyste pourra naviguer dans le système de fichiers et exploiter l’image de manière graphique. Il nécessite cependant l’installation du « VMWARE’s Virtual Disk Developement Kit »16 pour fonctionner. Figure 32 - Conversion d’une image en vmdk L’utilitaire Live View est disponible sous Windows mais la conversion d’une image sous Linux est également possible.
  • 47. Mémoire de recherche appliquée 2014 Page 46 C – Analyse de la mémoire non-volatile L’analyse du système consiste à récupérer et interpréter tous les éléments nécessaires à l’enquête (les dernières actions de l’utilisateur, les fichiers effacés, l’historique des sites visités..). Cette étape de l’investigation numérique est la plus étendue, car de nombreux éléments peuvent être analysés sur l’image récupérée. Lors d’une enquête, l’analyste n’a pas souvent le temps nécessaire pour examiner en profondeur tous les éléments du système. Il est donc important de prendre les éléments qui fourniront les informations les plus judicieuses comme la base de registre, les logs ou encore les boîtes mails. Analyse du registre L’analyse du registre fournit de nombreuses informations sur l’attaquant ou le logiciel responsable de l’infection en question. Le registre regorge de clés depuis Windows 2000 permettant de démarrer des programmes quand l’ordinateur est allumé ou quand un utilisateur y est connecté. Par exemple un malware va laisser de nombreuses traces dans le registre local de l’utilisateur connecté. Si une clé de registre suspecte s’y trouve, on peut facilement affiner ces recherches pour trouver la source de l’infection. L’analyse du registre se fait par le biais d’outils. Comme par exemple un l’éditeur de registre Windows : regedit. Il est possible qu’il n’affiche pas les clés dont la valeur est nulle, la plupart du temps les malwares utilisent ce genre de vecteurs pour infecter une machine, et sont difficiles à détecter dans un système. Voici une liste des emplacements où un malware peut être dissimulé pour s’exécuter : Les clés de registre logiciel : HKLM(HKEY_LOCAL_MACHINE)Software  MicrosoftWindowsCurrentVersionRunServicesOnce  MicrosoftWindowsCurrentVersionRunServices  MicrosoftWindowsCurrentVersionRunOnce  MicrosoftWindowsCurrentVersionRunOnceEx  MicrosoftWindowsCurrentVersionPoliciesRun  MicrosoftWindows NTCurrentVersionWinlogonUserinit  MicrosoftWindows NTCurrentVersionWinlogonNotify  MicrosoftWindowsCurrentVersionShellServiceObjectDelayLoad  MicrosoftWindowsCurrentVersionExplorerSharedTaskScheduler Les clés de registre utilisateur, que l’on retrouve dans le fichier de ruche NTUSER.DAT :  Software MicrosoftWindowsCurrentVersionRunServicesOnce  Software MicrosoftWindowsCurrentVersionRunServices  Software MicrosoftWindowsCurrentVersionRun  Software MicrosoftWindowsCurrentVersionRunOnce  Software MicrosoftWindowsCurrentVersionPoliciesExplorerRun  Software MicrosoftWindows NTCurrentVersionWindowsload