WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Conception et réalisation d'une plateforme d'investigation numérique


par Junior Loshima
Ecole Supérieure Polytechnique de Dakar (UCAD) - Master 2020
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy


ECOLE SUPERIEURE POLYTECHNIQUE

DEPARTEMENT GENIE INFORMATIQUE

Centre de Dakar

Conception et Réalisation d'une plateforme TP d'investigation digitale.

MÉMOIRE DE FIN DE CYCLE

Pour l'obtention du :

DIPLÔME DE MASTER MSSI

Lieu de stage :ESP- UCAD Période stage :01/2022 - 04/2022

Présenté et soutenu par Professeur encadreur Maître de stage

OKANGONDO LOSHIMAJUNIORIDY DIOP   MOHAMED K.KEITA

Année universitaire : 2020 - 2021

REPUBLIQUE DU SENEGAL

***** * * ********

UNIVERSITE CHEIKH ANTA DIOP DE DAKAR


ECOLE SUPERIEURE POLYTECHNIQUE

DEPARTEMENT GENIE INFORMATIQUE

Centre de Dakar

MEMOIRE DE FIN DE CYCLE

Pour l'obtention du :

DIPLOME DE MASTER MSSI

Conception et Réalisation d'une plateforme TP d'investigation digitale.

Lieu de stage :ESP-UCAD Période stage :01/2022 - 04/2022

Présenté et soutenu par Professeur encadreurMaître de stage

OKANGONDO LOSHIMA JUNIORIDY DIOP  MOHAMED K. KEITA

Année universitaire : 2020- 2021

DEDICACES

DEDICACES

Je dédie ce mémoire :

A mon cher Père.

A ma chère Mère.

A ma très chère épouse et mon fils.

REMERCIEMENTS

REMERCIEMENTS

Mes vifs remerciements sont d'abord adressés à Monsieur le Professeur Dr. IDY DIOP qui m'a fait l'honneur de diriger ce travail de recherche. Je tiens à lui exprimer ma gratitude et mon profond respect.

Je remercie également mon maître de stage MOHAMEDK. KEITA pour m'avoir accordé son temps, sa disponibilité et son orientation pendant toute cette période cruciale de ma vie.

Je tiens également à remercier mes amis pour leurs relectures successives, le temps qu'ils m'ont consacré pour que ce travail puisse représenter toute l'énergie, le temps investi et ainsi faire de ce mémoire le chapitre final d'une période de ma vie.

Je dois également exprimer ma très profonde gratitude à ma famille pour leur compréhension, leur soutien et leur compassion tout au long de mes années d'études. Je tiens également à remercier mon épouse et mon fils pour leurs soutiens sans faille, leurs patiences et pour leurs nombreux encouragements pendant cette épreuve.

Finalement, je terminerai par remercier l'ensemble de Professeurs de l'Ecole Supérieure Polytechnique, plus précisément au Département de Génie Informatique pour d'innombrables connaissances nous accordées et orientations pendant toute cette période de mes études.

AVANT-PROPOS

AVANT-PROPOS

Je voudrais tout d'abord par ces quelques lignes remercier le Professeur Dr. IDY DIOP, qui m'a offert l'opportunité de travailler sur un sujet aussi intéressant qu'est l'investigation digitale. Merci aussi et surtout pour l'aide qu'il m'a fournie, ses conseils et surtout pour sa disponibilité. Je remercie également le Professeur Docteur IBRAHIMA NGOM, qui nous a vraiment aidé et orienté tout au long de l'année académique, que Dieu lui accorde toute sa bénédiction. Ensuite, je tiens à remercier mon père, ma mère, ma famille et mes amis pour leur soutien tout au long de la rédaction de ce mémoire de recherche.

? RESUME

RESUME

Dans ce projet de recherche, il est question de doter l'école supérieure polytechnique de l'Université Cheikh Anta Diop de Dakar, plus précisément dans son Département de Génie informatique un laboratoire de travaux pratiques d'investigation digitale enfin de faciliter lesétudiants et apprenants externes de pouvoirapprendre et de pratiquer l'essentielde l'investigation digitale. La croissance accrue d'utilisationdes outilsnumériques (ordinateur et téléphone par exemple) dans cette ère des nouvelles technologies, font à ce qu'il y est augmentation grandissante de vol des données et piratages informatiques dans nos systèmes, et en cela, chaque entreprisse et/ou personne doit se doter des moyens nécessaires pour s'en prémunir et s'informer. Nos juges et nos dirigeants ayant appris dans une ère où on ne prenait pas en compte les nouvelles technologies et leurs impacts dans la société, doivent faire un effort de se conformer à cette nouvelle du 21ème siècle grâce aux enquêteurs forensics formés en milieu universitaire aussi le temple du savoir. D'où la nécessité de mettre en place une plateforme digitale d'investigation numérique des travaux pratiques. Ladite plateforme ne va pas seulement reposer sur les travaux pratiques mais aussi sur l'apprentissage des modules publiés par son personnel formé et ayant une expertise pragmatique dans ledit domaine.

La mise en place de cette plateforme aidera les futurs enquêteurs digitaux à développer des connaissances en criminalistique informatique au fur et à mesure selon une progression personnelle voulue par l'apprenant dans des laboratoires et couvrant des sujets clés de l'informatique judiciaire; y compris la création et l'examen d'images médico-légales, la réalisation d'analyses médico-légales de la mémoire pour identifier l'activité des logiciels malveillants, la gravure de données et plus encore. Ils s'entraîneront à utiliser des outils médico-légaux populaires tels que EnCase, FTK imager, Autopsy, Wireshark, Volatility, etc.

? ABSTRACT

ABSTRACT

In this research project, it is a question of providing the Polytechnic School of the Cheikh Anta Diop University of Dakar, more precisely in its Computer Engineering Department, with a laboratory for practical work in digital investigation, finally, to facilitate students and external learners to be able to learn and practice the essentials in this field of digital investigation. The increased growth in the use of digital tools (computer and telephone for example) in this era of new technologies means that there is a growing increase in data theft and computer hacking in our systems, and in this, each company and/or no one must equip themselves with the necessary means to protect themselves and inform themselves. Our judges and leaders, having learned in an era where new technologies and their impacts on society were not taken into account, must make an effort to comply with this news of the 21st century thanks to forensic investigators trained in academia as well. temple of knowledge. Hence the need to set up a digital platform for digital investigation of practical work. The said platform will not only be based on practical work but also on the learning of the modules published by its trained staff with pragmatic expertise in the said field.

The implementation of this platform will help future digital investigators to develop knowledge in computer forensics as they go along according to a personal progression desired by the learner in laboratories and covering key topics of computer forensics; including creating and reviewing forensic images, performing forensic memory scans to identify malware activity, data burning and more. They will practice using popular forensic tools such as EnCase, FTK imager, Autopsy, Wireshark, Volatility...

Table des matières

Table des matières

DEDICACES 1

REMERCIEMENTS II

AVANT-PROPOS III

RESUME IV

ABSTRACT V

Table des matières VI

Sigles et abréviations IX

Introduction 1

PRÉSENTATION GÉNÉRALE 3

I.2. Présentation de la structure d'accueil 3

I.3. Contexte 5

I.4. Problématique 5

I.5. Objectifs 5

Conclusion 6

INVESTIGATION NUMÉRIQUE 7

2.1 Introduction 7

2.2 Concepts et terminologie 8

2.2.1. Légal et la science légale (forensic and forensic Science) 8

2.2.2. Digital Forensics 8

2.2.3. Digital Forensics Investigation 9

a) Informatique légale (Computer Forensics) 10

b) Investigation de réseau légale (Network Forensics) 11

c) Investigation mobile légale (Mobile Forensics) 12

2.2.4. Preuve numérique (Digital evidence) 13

2.2.5. Rapport d'investigation (Chain of evidence) 15

2.2.6. Rapport de garde (Chain of custody) 15

2.3. Support numérique dans un crime 15

2.4. Processus d'investigation légale 16

2.4.1. Collection 16

2.4.2. Examen 17

2.4.3. Analyse 17

2.4.4. Rapport 19

2.5. Catégories d'investigation numérique 19

2.5.1. L'analyse forensic judiciaire 19

2.5.2. L'analyse forensic en réponse à un incident 19

2.5.3. L'analyse forensic scientifique 20

2.6. Objectifs de l'investigation numérique 20

2.7. Cybercriminalité 20

2.7.1. Types d'attaques de cybercriminalité 21

2.8. Les Objets d'investigation légale 23

2.8.1. Métadonnées 23

2.8.2. Analyse de la scène de crime 24

2.9. Collection de données 25

2.9.1 Création des images 25

2.9.2 Collecte des Dumps 26

2.9.3 Collecte des données du Registre 26

2.10. Récupération des données 29

2.11. Récupération de fichiers supprimés de la MFT 30

2.11.1. Sculpture de fichiers 30

2.11.2. Sculpture de fichier avec un éditeur Hex 31

2.12. Analyse les fichiers de Log 31

2.12.1 Analyse des données non organisées 32

2.13. Investigation numérique sur la mémoire 32

2.13.1 La mémoire volatile 32

2.13.2 Acquisition de la RAM 33

2.13.3 Capture de la RAM 33

2.13.4. Analyse de la RAM 33

2.13.5. Identification du profil 33

2.13.6. Lister les processus en cours 34

2.13.7 Analyse des Malware 34

2.13.8. Extraction de mots de passe 35

2.14. Outils d'investigation numérique légale 37

2.15. Atouts des outils d'investigation numérique légale 38

2.16. Computer forensique test 39

2.16.1. Fondamentaux FAT32 47

2.16.2. Fondamentaux NTFS (New Technology File System) 48

2.16.3. Collecte des données 48

2.16.4. Artefacts 49

2.16.5. Analyse des images 52

Conclusion 58

Méthodes d'analyse et de conception 59

3.1. Introduction 59

3.2. Définition des concepts 59

3.4. Classification des méthodes d'analyse et de conception 61

3.4.1. Méthodes cartésiennes ou fonctionnels 61

3.4.2. Méthodes objet 61

3.4.3. Méthodes systémiques 61

3.4.4. Approche orientée aspect 62

3.5. Choix d'une méthode d'analyse et de conception 62

Conclusion 63

CONCEPTION ET IMPLEMENTATION DU SYSTEME 64

4.1. Introduction 64

4.2. Le langage PHP 65

4.3. Conception générale du système proposé 67

4.3.1. Architecture fonctionnelle 67

4.3.2. Architecture technique 68

4.4. Conception et modélisation détaillée avec UML 68

4.4.1. Détermination des acteurs potentiels du système 68

4.4.2. Description des cas d'utilisation 68

A. Diagramme de séquence créer un compte 72

B. Diagramme de séquence s'authentifier 72

C. Diagramme de séquence ajout d'une formation 73

73

D. Diagramme de séquence rechercher une formation 74

4.5. Implémentation 75

4.5.1. Introduction 75

4.5.2. Virtualisation 75

4.5.3 Machine virtuelle et Container 78

4.5.4. Virtualisation et Cloud Computing 78

4.6.1. AWS : Une plateforme de solutions Cloud flexible et sécurisée 79

4.6.2. AWS : Histoire 79

4.6.3. AWS : Les principaux services 80

4.6.4. AWS : Développement logiciel 80

4.6.5. AWS : Développement mobile 81

4.6.6. AWS : Avantages et inconvénients 81

4.7. Base de données et interfaces utilisateurs 82

a) Base de données 82

b) Interface d'accueil 82

c) Interface d'authentification 83

d) Création compte 83

e) Ajout des cours 84

f) Le tableau de bord de l'apprenant 84

g) Formulaire de contact 85

4.7.2. Codes sources 85

4.8. Installation des outils dans les ordinateurs virtuels 85

Conclusion 85

CONCLUSION GENERALE 86

BIBLIOGRAPHIE 87

A. Ouvrages 87

B. Normes 88

Sigles et abréviations

Sigles et abréviations

Nous présentons ici certains sigles et abréviations que nous utiliserons dans le document.

ESP

Ecole Supérieure Polytechnique

UCAD

Université Cheikh Anta Diop

FTK

Forensic ToolKit

IP

Institut Polytechnique

IUT

Institut universitaire de Technologie

TP

Travaux pratiques

POA

Programmation Orientée Aspect

PHP

Hypertext Preprocessor

UML

Unified Modeling Language

FBI

Bureau fédéral d'investigation

DOS

Deny Of Service

U2R

User to Root

R2L

Remote to Local

IDS

Système de Détection d'Intrusion

SMS

Short Message Service

GPS

Global Positioning System

RAM

Random Access Memory

ROM

Read Only Memory

RFC

Research Forensics Computer

NIST

National Institute of Standards and Technology

MAC

Modification time of last Access time of Création

GRC :

Gestion de la Relation Client

DDOS :

Distributed Denial of Service Attack

MitM :

Man-in-the-middle attack

IP

Internet Protocol

HTTP

Hypertext Transfer Protocol

SQL

Structured Query Language

XSS

Cross-site scripting

CD

Compact Disc

SAM

Security Account Manager

HKLM

HKey_Local_Machine

PC

Personal Computer

USB

Universal Serial Bus

MFT

Managed-= File Transfer

NTFS

New Technology File System

RAW

Research and Analysis Wing

OS

Operating System

SIEM

Security Information and Event Management

PID

Process Identifier

FTP

File Transfer Protocol

DVD

Digital Versatile Disc

URL

Uniform Resource Locator

BIOS

Basic Input Out System

VSS

Volume Shadow Copy Service

MiB

Mebibyte

FAT

File Allocation Table

HTML

HyperText Markup Language

CSS

Cascading Style Sheets

KVM

Kernel-based Virtual Machine

SOAP

Simple Object Access Protocol

REST

REpresentational State Transfer

XML

Extensible Markup Language

SQS

Simple Queue Service

EBN

European Business and Innovation Center Network

CDN

Content Delivery Network

Liste des figures

Figure 2.1 Liens entre la preuve, le suspect, la victime et la scène du crime

Figure 2.2 Résolution d'un crime numérique

Figure 2.3 Classification des domaines d'investigation numérique légale

Figure 2.4 Computer Forensics

Figure 2.5. Investigation numérique dans le pare-feu

Tableau 2.1 Comparaison entre l'informatique légale et l'investigation mobile légale

Figure 2.7 Types de crimes digitaux ou fraudes

Figure 2.8 Processus d'investigation numérique légale

Figure 2.8 Dump du registre

Figure 2.9. Registre Dumpé

Figure 2.10 RegRipper

Tableau 3.2. Atouts des outils d'investigation numérique légale

Figure 2.11. Arborescence Os Windows

Figure 2.12. Variable d'environnement

Figure 2.13. Le certificat windows

Figure 2.14. Le VSS

Figure 2.15. Le pare-feu

Figure 2.16. Informations boot système

Figure 2.17. Event logs

Figure 2.18. Les services

Figure 2.19. Les registres

Figure 2.20. Registre Dumpé

Figure 2.21. Informations du Dump

Figure 2.22. Liste de processus Dump mémoire

Figure 2.23. Affichage de processus Dump avec Arborescence

Figure 2.24. Liste de processus Dump cachés

Figure 2.25. Liste de processus ayant ouverts les connexions à l'ordinateur

Figure 2.26. Liste de processus, leurs ports et protocoles utilisés

Figure 2.27. Commandes stockées du Dump

Figure 2.28. Exécutable du processus suspect

Figure 2.29. Analyse de l'exécutable obtenu sur virus total

Figure 4.1. Architecture fonctionnelle

Figure 4.2. Architecture technique de la plateforme

Figure 4.3. Diagramme de séquence créer un compte

Figure 4.3. Diagramme de séquence d'authentification

Figure 4.4. Diagramme de séquence ajout d'une formation

Figure 4.5. Diagramme de séquence recherche d'une formation

Figure 4.6 Diagramme de classe

Figure 4.7. La base de données

Figure 4.8. La page d'accueil de la plateforme

Figure 4.9. La page d'authentification utilisateur

Figure 4.10. Formulaire de création de compte utilisateur

Figure 4.11. Formulaire de création de formation

Figure 4.12. Tableau de l'étudiant

Figure 4.12. Formulaire de contact

? INTRODUCTION

Introduction

La diversité technologique actuelle 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.

L'investigation numérique est un sujet vaste qui nécessite des années d'apprentissage et de pratique pour comprendre en détail le fonctionnement d'un système d'exploitation, et en extraire les bonnes informations.

Les techniques et méthodes d'investigation ne font qu'évoluer et la pluralité des supports de stockage 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. En ce jour, relativement nouvelle au Sénégal et dans plusieurs pays d'Afrique, 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. Aujourd'hui, les criminels sont de plus en plus conscients des aspects judiciaires et sont maintenant capables de compromettre des ordinateurs sans accéder au disque dur de l'ordinateur cible. 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.

L'analyse forensique numérique est le travail mené sur un système d'information pour extraire, conserver et, parfois interpréter l'ensemble des informations que l'on peut y trouver, essentiellement sur ses différentes mémoires (vives, mortes, caches), sur son fonctionnement ou le plus souvent, sur un dysfonctionnement actuel ou passé.

Elle peut avoir des objectifs différents, selon le cadre dans lequel elle est conduite : dans un cadre judiciaire, elle vise à collecter toutes les preuves légales et incontestables permettant d'identifier et de punir les auteurs d'un délit ou d'un crime. Dans le cadre de la sécurité des systèmes d'information, elle vise à collecter toutes les informations permettant de comprendre l'enchaînement des processus informatiques ayant conduit à un dysfonctionnement ou au succès d'une attaque et d'évaluer son impact, afin de prendre les mesures correctrices nécessaires pour restaurer la sécurité et la disponibilité du système, de ses processus et de ses données.

L'objectif de ce projet de recherche est de guider les étudiants voulant être des experts en charge de l'investigation au moyen de règles dites de « bonnes pratiques » mais également de les faire découvrir les méthodes forensiques et à toutes les personnes désirant développer leurs compétences dans ce domaine. Nous avons jugé de mettre en place une plateforme d'investigation numérique des travaux pratiques pour le Département de Génie Informatique de l'Ecole Supérieure Polytechnique, enfin de permettre les futurs chercheurs d'avoir la maîtrise et d'informations suffisantes pour s'en familiariser, s'en servir et aider les entreprises voir aussi la justice.

Dans le premier chapitre, nous commençons naturellement par la présentation générale de l'Ecole Supérieure Polytechnique de l'Université Cheikh Anta Diop de Dakar où nous avons pu faire notre stage plus précisément dans son Département de Génie informatique, nous allons également présenter notre problématique et clôturer avec le contexte du projet.

Dans le deuxième chapitre, nous allons présenter le domaine d'investigation numérique légale, ses notions, les principales sous disciplines. Ensuite, nous présenterons les différents processus de l'investigation légale, avant de se focaliser sur la phase d'analyse. Nous détaillerons quelques méthodes et techniques qui existent dans la littérature pour l'analyse de preuves. Enfin nous donnons un aperçu des outils d'investigation les plus couramment déployés.

Dans le troisième chapitre, nous parlerons des méthodes d'analyse et de conception et dans le quatrième chapitre, nous procéderons à l'implémentation de la plateforme tout en proposant l'architecture système ayant un choix sur les différentes technologies (plus surtout, open source) existantes pouvant nous servir à bien mener notre implémentation de la plateforme et enfin, une conclusion générale.

CHAPITRE

1

PRÉSENTATION GÉNÉRALE

I.1. Introduction

L'école supérieure polytechnique de Dakar, est le milieu où nous avons effectué notre stage, dans ce chapitre nous essaierons un aperçu généralisé de l'établissement dont sa mission principale est l'éducation professionnelle des jeunes. Ensuite de nous présenterons le contexteet la problématique de notre sujet de recherche.

o I.2. Présentation de la structure d'accueil

L'école supérieure polytechnique de Dakar, plus connue sous l'acronyme ESP est une école de formation professionnelle placée sous la tutelle du ministère de l'enseignement supérieur du Sénégal. Elle a été fondée en mai 1964.1(*) Elle est rattachée à l'université Cheikh-Anta-Diop (UCAD) de Dakar mais est dotée de la personnalité juridique et d'une autonomie financière. L'ESP de Dakar est l'une des écoles d'ingénieurs les plus importantes du Sénégal et de l'Afrique de l'Ouest. Elle forme des techniciens supérieurs et des ingénieurs dans le domaine de la science, de la technique et de la gestion.

L'ESP compte six départements (génie informatique, génie électrique, génie mécanique, génie civil, génie chimique et biologie appliquée et le département de gestion) et des laboratoires de recherche.

Depuis sa création, l'École Supérieure Polytechnique de Dakar a toujours constitué un véritable pôle d'excellence pour la formation des étudiants du Sénégal, de la sous-région et d'ailleurs.

L'Institut Polytechnique (IP), fondé sur les fonts baptismaux en mai 1964 est devenu IUT (Institut universitaire de Technologie) en novembre 1967. Le 30 avril 1973, la promulgation de la loi 73-17 et le décret 73-387 permettent à l'Institut Universitaire de Technologie (IUT) d'être un établissement public doté de la personnalité juridique et de l'autonomie financière au sein de l'Université de Dakar.

A la rentrée universitaire de 1973-1974, l'Ecole Nationale des Travaux Publics et Bâtiments (ENTPB) qui formait des agents techniques pour le ministère de l'équipement est intégrée au département de génie civil de l'IUT. La même année, d'autres réformes ont permis à l'Institut Universitaire de Technologie de dispenser des enseignements en commerce et d'administration des entreprises.

C'est ainsi que ces formations complémentaires ont entrainé la délivrance de Diplôme d'Ingénieur Technologue (DIT) et le Diplôme d'études Supérieures en Commerce et Administration des Entreprises (DESCAE). L'IUT devient ENSUT (Ecole nationale supérieure universitaire de Technologie) en 1974.

Le 24 novembre 1994, la loi N° 94-78 la transforme en École Supérieure Polytechnique (ESP) avec deux centres : Dakar et Thiès. Elle regroupe l'ENSUT, l'Ecole Polytechnique de Thiès (EPT) et la section industrielle de l'Ecole Nationale Supérieure d'Enseignement Technique Professionnel2(*) (ENSETP). Au même moment, elle se sépare de sa division tertiaire devenue Institut Supérieur de Gestion (ISG) qui est rattaché à la Faculté des Sciences Economiques et de Gestion3(*) (FASEG).

L'ENSETP a été reconstituée en 2005 en reprenant sa partie industrielle qui était dans l'ESP. L'ex Département Gestion de l'ex-ENSUT, devenu Institut Supérieur de Gestion rattaché à la FASEG est revenu dans l'ESP en 2006.

En 2007, l'ex Centre de Thiès de l'École Supérieure Polytechnique (ex EPT) est redevenu l'Ecole Polytechnique de Thiès, rattachée à l'Université de Thiès et ensuite rattachée directement au Ministère chargé de l'Enseignement Supérieur4(*).

L'Ecole Supérieure Polytechnique de Dakar a pour domaine d'activités principale la formation professionnelle et universitaire des étudiants dont elle fait preuve et applaudi à chaque fois dans la société sénégalaise, car tous ceux qui y sortent sont des cadres respectés dans les entreprises publiques et privées. Cette formation est répartie en plusieurs domaines ou département comme cités ci-haut. D'où elle regorge actuellement six départements et chaque département peut avoir plusieurs filières.

o I.3. Contexte

À l'ère actuelle où tout est numérique, l'enquête numérique est jugée plutôt bonne pour servir la justice. L'investigation numérique passe immanquablement par la collecte de preuves disséminées sur les divers appareils électroniques utilisés par les suspects.

Dans ce projet de recherche, il est question de mettre en place une plateforme TP d'investigation digitale dans le cadre d'approfondir leurs connaissances et de servir au mieux la société qui est remplie d'outils numériques. Mais toutefois, il s'agit bien souvent d'un terrain miné sur lequel les apprenants doivent respecter des procédures en constante mutation et sur la vie privée des concernés réglementé par la loi n° 2008-12 du 25 janvier 2008 portant sur la Protection des données à caractère personnel.5(*)

o I.4. Problématique

Le but ultime de l'implémentation d'une plateforme d'investigation digitale au Département de Génie Informatique, est de former et de permettre aux étudiants de faire des travaux pratiques et de leurs démontrer comment la preuve numérique peut-elle, être utilisée pour la reconstruction des événements qui se sont produits lors d'un incident.

C'est un élément fondamental pour le Département d'avoir de tels services pour ses étudiants et la société car d'elle tout le monde vient solliciter le savoir. En apprenant et en appliquant les différentes méthodologies d'investigation numérique, les futurs enquêteurs seront en mesure de faire la reconstruction de la scène du crime en se référant au processus systématique d'assemblage des éléments de preuves et des informations recueillies lors de l'étape de collecte qui conduit à une image plus complète de l'incident afin de mieux répondre sur les questions quand ?qui ?quoi ?comment ? et pourquoi ?

o I.5. Objectifs

La conception et la mise en place d'une plateforme digitale de travaux pratiques des étudiants au département de génie informatique s'avère très important pour les jeunes écoliers car l'investigation numérique est une branche de l'informatique qui aide la justice à voir clair sur certains crimes commis sur l'espace numérique. C'est dans le cadre de former des futurs enquêteurs numériques qui pourront aider la justice aujourd'hui et dans le futur.

? Conclusion

La mise en place d'une plateforme numérique d'investigation digitale dans cet établissement d'enseignement supérieur, est un fait réel à grande échelle pour l'avenir, car dans la société actuelle, tout se tourne vers le numérique, d'où il est important de songer à former des jeunes chercheurs dans ce domaine d'investigation digitale qui seront capables de servir au mieux la société malgré cette croissance accrue. Dans le chapitre suivant, nous parlerons de l'état de l'art de l'investigation numérique.

CHAPITRE

2

INVESTIGATION NUMÉRIQUE

? 2.1 Introduction

L'investigation numérique légale est le processus d'emploi des méthodes scientifiques d'analyse des informations stockées électroniquement pour déterminer la séquence des événements qui ont mené à un incident particulier. Ce processus permet d'analyser la preuve, classer, comparer et individualiser les interactions entre les suspects et les preuves. En d'autres termes, cette investigation permet de relier les éléments de preuves, des suspects, des victimes et de la scène du crime, comme indiqué dans la figure 3.1.

Figure 2.1 Liens entre la preuve, le suspect, la victime et la scène du crime6(*)

Les enquêteurs numériques n'ont plus à essayer de lire dans les pensées des gens parce que les intérêts des gens, les secrets cachés, les informations financières et même leur vie amoureuse ; sont tous sur leur ordinateur et plus encore dans leurs téléphones portables.

Les gens ne réalisent généralement pas les artefacts, ou les secrets, qu'ils laissent derrière eux lorsqu'ils utilisent et/ou se déconnectent d'un ordinateur. Ces artefacts et secrets sont appelés « preuves ». Les utilisateurs d'ordinateurs pensent qu'en supprimant simplement les traces de leurs activités, tout est parti. Ce qu'ils ne réalisent pas, c'est qu'en utilisant le bon outil de criminalistique numérique, nous pouvons localiser, extraire et analyser ce qui s'y trouvait auparavant et les récupérer. On peut être surpris de voir le nombre d'artefacts qui peuvent être récupérés et extraits, même à partir des plus petits appareils.

? 2.2 Concepts et terminologie

Dans cette partie du chapitre, nous allons donner une suite de définitions pour essayer de clarifier certains concepts liés à la science de digital forensique, nous n'allons pas introduire toute la taxonomie des concepts liés à cette science, nous nous restreindrons uniquement aux concepts que nous allons discuter dans les chapitres suivants.

? 2.2.1. Légal et la science légale (forensic and forensic Science)

Définition 2.2.1

Le terme « Forensic » est dérivé du latin « forensis » ou « légal », qui signifie « en audience publique ou public », qui lui-même vient du latin « du forum », se référant à un emplacement réel « un marché public carré utilisé pour les affaires judiciaires et autres ». En dictionnaires légales, forensics est définie comme le processus d'utilisation des connaissances scientifiques pour la collecte, l'analyse et la présentation de la preuve devant les tribunaux7(*). La science de forensics est « l'application des principes et des techniques scientifiques pour fournir la preuve aux enquêtes juridiques et aux déterminations½.8(*)

Définition 2.2.1

L'investigation numérique est l'application de connaissance scientifique au droit, et principalement, appelée à l'investigation de crimes.9(*)

? 2.2.2. Digital Forensics

Définition 2.2.2.

C'est une branche de science légale qui permet l'utilisation des méthodes scientifiquement dérivées et éprouvées pour la préservation, la collecte, la validation, l'identification, l'analyse, l'interprétation, la documentation et la présentation de la preuve numérique dérivée de sources digitales dans le but de faciliter la reconstruction des événements en relation avec le crime, ou aider à anticiper des actions non autorisées.10(*)

? 2.2.3. Digital Forensics Investigation

Définition 2.2.3

L'investigation numérique légale est un processus qui utilise la science et la technologie pour examiner des objets numériques et qui se développe et teste des théories, qui peut être entré dans une cour de justice, et répondre à des questions sur les événements qui se produisent.11(*)

L'objectif d'une investigation numérique est d'exposer et de présenter la vérité, ce qui conduit souvent à des réponses aux questions suivantes relatives à un crime numérique (voir la figure 3.2).12(*)

- Le quand : Se réfère à l'intervalle du temps pendant la scène du crime

- Le quoi : Concerne les activités exécutées sur le système informatique.

- Le qui : Concerne la personne responsable du crime.

- Le où : Se réfère à l'endroit où se trouve la preuve.

- Le comment : Traite la manière dont les activités ont été réalisées.

- Le pourquoi : Chercher à savoir les motivations du crime.

Figure 2.2 Résolution d'un crime numérique

L'investigation numérique légale peut être classée dans trois domaines clés, à savoir l'informatique légale, l'investigation de réseau légale, l'investigation mobile légale tels quels sont illustrés à la figure 3.3

Network Forensics

Digital Forensics

Mobile Forensics

Computer Forensics

Figure 2.3 Classification des domaines d'investigation numérique légale

a) Informatique légale (Computer Forensics)

L'informatique légale a été remontée au 1984, lorsque le gouvernement fédéral du bureau d'investigation (FBI), ainsi que d'autres organismes d'application de la loi ont commencé le développement des programmes assistant à l'examen et l'analyse de preuves numériques. Elle sert à identifier la preuve qui peut coexister dans des ordinateurs et ses périphériques qui forment la scène du crime numérique13(*), un aperçu général est représenté dans la figure 3.4.

Figure 2.4 Computer Forensics14(*)

b) Investigation de réseau légale (Network Forensics)

L'investigation de réseau légale a été introduite dans le début des années 90, elle sert à la fois comme un moyen de prévention d'attaque dans des systèmes et la recherche des preuves après une attaque ou un incident s'est produit. Un aperçu général est représenté dans la figure 3.5.

Figure 2.5. Investigation numérique dans le pare-feu

Ces attaques incluent le déni de service (Deny of Service, DOS), utilisateur-à-racine (User to Root, U2R) et télécommande local (Remote to Local, R2L). L'investigation légale de réseau consiste à vérifier, capturer, enregistrer et analyser les pistes de réseau afin de collecter les évidences. Par exemple, l'analyse des fichiers journaux des systèmes de détection d'intrusion (IDS), l'analyse du trafic réseau15(*) [20] et l'analyse des périphériques réseau. L'informatique légale et l'investigation de réseau légale ont une chose en commun. Les deux domaines peuvent contenir des éléments de preuves quand un incident se produit. Si par exemple, un attaquant attaque un réseau, le trafic de l'attaque passe en général par un routeur. A la suite de cela, les éléments de preuves importants peuvent être collectés en examinant les fichiers journaux de routeur.

c) Investigation mobile légale (Mobile Forensics)

La popularité des téléphones mobiles intelligents(smartphones) continue de croître. Ils changent la façon du crime au cours des dernières années et les chercheurs ont été confrontés à la difficulté d'admissibilité de la preuve numérique sur les téléphones mobiles. C'est pour ça qu'une science d'investigation légale a été émergée. Cette science permet de collecter des preuves numériques depuis un téléphone mobile dans des conditions juridiquement valides tels que des détails des appels, des SMS (Short Message Service), des e-mails et location (Global Positioning System (GPS)), etc., ainsi que des données supprimées. Un aperçu général est représenté dans la figure 3.6.

Figure 2.6 - Mobile Forensics

Actuellement, les smartphones ont des fonctionnalités similaires aux ordinateurs, mais il existe certaines différences entre l'informatique légale et l'investigation mobile légale qui sont illustrées dans le tableau 2.1

Tableau 2.1 Comparaison entre l'informatique légale et l'investigation mobile légale

Partant des informations recueillies dans le tableau 3.1, il est important de dire que l'investigation des smartphones légale est plus complexe que le l'informatique légale.

? 2.2.4. Preuve numérique (Digital evidence)

Définition 2.2.4.

La preuve numérique est définie comme toute donnée qui peut établir qu'un crime a eu lieu ou fournit un lien entre un crime et sa victime ou un crime et son coupable.16(*)

Définition 2.2.4. Est toute information numérique de valeur probante stockée ou transmise sous forme numérique. Elle peut être facilement modifiée, reproduite, restaurée ou détruite.17(*)

La preuve numérique comprend :

- Les données utilisateur

- Les métadonnées associées aux données de l'utilisateur

- Logs d'activité

- Logs du système

Les données utilisateur se rapportent aux données directement créées ou modifiées ou accessibles par un ou plusieurs utilisateurs participant à une enquête. Les métadonnées se rapportent aux données qui fournissent le contexte de comment, quand, qui et sous quelle forme les données des utilisateurs ont été créées ou modifiées ou accessibles. Les journaux d'activité sont des enregistrements de l'activité des utilisateurs par un système ou une application et les actions spécifiques menées par un ou plusieurs utilisateurs. Les journaux du système se rapportent à des variations dans le comportement du système fondé sur une ou plusieurs actions menées par les utilisateurs.

Le 3227 RFC (Research Forensics Computer) décrit les considérations juridiques liées à la collecte de preuves. Les règles exigent les preuves numériques d'être :

- Admissible : Se conformer à certaines règles juridiques avant qu'il puisse être mis devant une cour.

- Authentique : C'est l'intégrité qui permet le suivi de la chaîne des éléments de preuves qui doivent être intactes.

- Crédible : Les preuves doivent être claires, faciles à comprendre et précises. La version de la preuve présentée au tribunal doit être reliée avec la preuve binaire d'origine dans le cas contraire il n'y a aucun moyen de savoir si la preuve a été fabriquée.

- Complète : Toutes les preuves soutenues ou contredisent une preuve qui incrimine un suspect doivent être examinées et évaluées. Il est également nécessaire de recueillir des preuves qui éliminent les autres suspects.

- Fiable : Les procédures et les outils de la collection des évidences, l'examen, l'analyse, la préservation et la présentation doivent être en mesure de reproduire les mêmes résultats au fil du temps. Les procédures ne doivent pas douter sur l'authenticité de la preuve ou sur les conclusions tirées après l'analyse.

Lors de la recherche de preuves sur des supports numériques, il existe différents types de données à rechercher, parmi ces types on trouve principalement :

- Les données actives : sont des données qui résident sur des supports de stockage et qui sont facilement visibles par le système d'exploitation et accessibles aux utilisateurs.

Ces données comprennent les fichiers de traitement de texte, les tableurs, les programmes et les fichiers de système d'exploitation. Celui-ci, y compris les fichiers temporaires, les fichiers internet temporaires, cookies et les métadonnées du système de fichiers, etc.18(*)

- Données résiduelles : Ce sont des données qui semblent avoir été supprimées, mais peuvent encore être récupérées. Les exemples les plus courants sont les fichiers d'échange et des fragments de fichiers récupérés dans l'espace non alloué.19(*)

? 2.2.5. Rapport d'investigation (Chain of evidence)

Le rapport d'investigation est un document qui résume les étapes d'une investigation afin de valider la preuve numérique issue d'une information numérique avec les détails suivants :

? Le format de sauvegarde de l'information originale.

? L'identification de l'empreinte numérique et les moyens de blocages en écriture

? Identifier les opérations réalisées et les logiciels mis en oeuvre.

? Les numéros de série des supports d'informations utilisés pour l'enregistrement.

? L'ensemble des preuves réunies avec des éventuelles interprétations ainsi que des conclusions.

? 2.2.6. Rapport de garde (Chain of custody)

Le rapport de garde est un procès-verbal qui commence lors de la réception d'une preuve numérique liée à la scène du crime. Il est défini :

Définition 3.2.6. La documentation chronologique du mouvement, localisation et la possession d'éléments de preuve.20(*)

? 2.3. Support numérique dans un crime

Un crime ou incident est un événement ou série d'événements qui violent une police et plus spécifiquement, un crime est un événement ou une séquence d'événements qui viole la loi.21(*) Un support digital dans un crime implique le numérique et ça englobe les PCs (Personal Computers), les ordinateurs portables, les smartphones, les tablettes, les outils numérique robot... etc., c'est-à-dire tout ce qui est numérique. Un support numérique peut jouer l'un des trois rôles dans un crime informatisé. Il peut être la cible du crime, il peut être l'instrument du crime, ou il peut servir comme un référentiel de stockage des informations précieuses sur le crime(évidences).

Lors d'une investigation sur une affaire quelconque, il est important de savoir quels rôles chaque objet digital a joué dans le crime et puis adapter le processus d'investigation pour ce rôle.22(*) Il existe une variété des crimes tels quels sont représentés par la figure 3.7

Figure 2.7 Types de crimes digitaux ou fraudes23(*)

? 2.4. Processus d'investigation légale

L'investigation numérique dépend de plusieurs facteurs techniques tels que le type de l'information ou le dispositif de communication, en plus le type d'investigation, criminel, civil, commerciale, militaire ou autre contexte et autres facteurs selon le cas d'investigation. Malgré cette variation, il existe des phases communes entre les modèles de processus d'investigation résumé dans le modèle de NIST qui sont :

? 2.4.1. Collection

Dans cette étape, il s'agit d'identifier, labéliser, acquérir, stocker, transporter et conserver des données depuis des différents sources de confiance issues de la scène du crime. C'est un processus long et complexe puisque les données doivent être collectées à temps à cause de la probabilité de perte des données telles que les connexions réseaux ou bien perte de données dues à la décharge des batteries de certaines sources (exemple téléphone portable) ou coupure brusque du courant électrique (exemple ordinateur de bureau).

? 2.4.2. Examen

Cette étape consiste à faire une recherche systématique approfondie pour l'évaluation et la localisation des éléments pertinents à partir de larges volumes de données recueillies tout en préservant son intégrité en utilisant une combinaison d'outils automatique, ou manuel. Les résultats de l'examen sont des objets de données. Ils peuvent inclure des fichiers journaux, fichiers de données contenant des phrases spécifiques, des SMS téléphoniques, ...

? 2.4.3. Analyse

C'est la phase la plus importante d'investigation légale. Elle désigne le processus d'organisation et de structuration des résultats des examens, en utilisant des méthodes et des techniques légales et justifiables pour dériver des connaissances utiles qui adressent les questions qui résolvent le cas d'investigation.

a) La recherche des preuves

Pendant le processus d'une investigation numérique, l'étape de recherche des preuves numériques est la tâche la plus consommatrice du temps. Un des plus grands défis auxquels sont confrontés les enquêteurs numériques est le volume de données qui doivent être recherchées lors de la localisation des preuves numériques, c'est pour ça qu' ils utilisent des méthodes scientifiques comme le datamining afin de localiser efficacement la preuve relative au crime. Selon la façon de rechercher des preuves électroniques, ce processus sera divisé en deux types de recherches : Statique et dynamique.

? La recherche statique consiste à faire la collecte des preuves dans un état passif, ce qui signifie que la recherche des évidences est faite sur des ordinateurs et autres dispositifs numériques (par exemple téléphone portable) qui ont quitté la scène du crime.

? La recherche dynamique : C'est la technique de la collecte des preuves dans le pare-feu, détection d'intrusion et tous les actes possibles d'acquisition en temps réel.

b) L'analyse de preuves (reconstruction des chaînes des évidences)

L'enquêteur développe des hypothèses basées sur des preuves existantes qu'il a collectées à l'étape précédente et teste ces hypothèses en cherchant des preuves supplémentaires indiquant si elles sont vraies ou fausses.24(*) Il existe trois types d'analyse25(*) :

- L'analyse temporelle : elle répond à la question quand ? c'est l'ordonnancement dans le temps des preuves récupérées pour fournir une séquence narrative des événements pour aider un enquêteur à identifier les anomalies sur un crime et menant à d'autres sources de données. De nombreux éléments de données numériques légales sont naturellement prêtes à cette séquence, par exemple, fichiers MAC (time of last Modification (M) time of last Access (A) time of Création (C)), les événements journaux avec timestamp, e-mails, etc.

- L'analyse fonctionnelle : elle répond des questions qui ? quoi ? où ? pour montrer les liens entre les entités dans un crime, par exemple l'existence d'un numéro de téléphone dans une base de contacts d'un mobile affiche un lien entre le propriétaire du téléphone et le propriétaire du numéro de téléphone.

- L'analyse relationnelle : elle répond à des questions comment ? et pourquoi ? C'est l'acte de déterminer quelles entités pourraient avoir réalisées l'un des événements qui sont liés à un cas d'investigation. Lors de la reconstruction d'un crime, il est souvent utile de se demander quelles conditions étaient nécessaires pour que certains scénarios du crime soientpossibles. Par exemple, il est parfois utile d'effectuer certains gestes fonctionnels sur le matériel utilisé dans le crime pour s'assurer que le système sous investigation était capable d'effectuer des actions. L'analyse fonctionnelle vise à examiner toutes les hypothèses possibles pour un ensemble des circonstances, par exemple, lorsqu'on lui demande si l'ordinateur du défendeur peut télécharger un groupe de fichiers incriminants en une minute, comme il est indiqué par leurs timestamps, un examinateur légiste peut déterminer que le modem était trop lent pour télécharger ces fichiers rapidement. Cependant, l'examinateur ne doit pas être satisfait de cette réponse et devrait déterminer comment les fichiers ont été placés sur l'ordinateur. Les analyses temporelles, fonctionnelles et relationnelles sont nécessaires pour recréer une image complète d'un crime. Combiner les résultats de ces analyses peut aider les enquêteurs à comprendre le crime et son coupable.

? 2.4.4. Rapport

C'est dans cette étape où les conclusions de la phase d'analyse sont documentées et présentées à l'autorité sous forme d'un rapport d'investigation, il comprend l'enregistrement des détails de chaque étape de l'investigation, telles que les procédures suivies et les méthodes utilisées pour saisir, recueillir, conserver, restaurer, reconstruire, organiser et rechercher des éléments de preuves essentiels.

Les étapes du processus d'investigation sont énumérées dans la figure 3.8 comme suit :

Figure 2.8 Processus d'investigation numérique légale

Le rapport devra respecter une structure définie qui détaillera les étapes d'investigation. Voici ci-dessous un exemple de plan à respecter : page de garde, sommaire, résumé des investigations, rappel du contexte et des conclusions, détail des investigations : phase de collecte et hash (copie d'écran, photos), analyse réalisée et mise en exergue des découvertes (copie d'écran, photos), hypothèse de l'analyse, recommandations et la liste des indicateurs de compromission.

? 2.5. Catégories d'investigation numérique

L'investigation numérique peut-être divisée en trois catégories distinctes :

? 2.5.1. L'analyse forensic judiciaire

Cette catégorie est 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.

? 2.5.2. L'analyse forensic en réponse à un incident

Dans cette catégorie, on vise à identifier les conditions et les origines d'une attaque informatique, quelles sont les machines infectées 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.

? 2.5.3. L'analyse forensic scientifique

Dans cette dernière catégorie, on étudie les mécanismes et les aspects techniques d'un malware ou autre logiciel ou matériel malveillant, afin d'identifier les méthodes utilisées par les attaquants pour pénétrer et compromettre un réseau informatique. Les analyses sont souvent réalisées dans un environnement maîtrisé (appelé sandbox).

? 2.6. Objectifs de l'investigation numérique

L'investigation numérique a pour but de construire une analyse contenant le lieu, le moment et la raison pour laquelle un acteur malveillant a pénétré votre système. Cela permet de comprendre la faille et d'obtenir des conseils sur la façon de contrer une attaque si elle se reproduit ou de poursuivre ce dernier en justice.

C'est aussi l'opportunité de découvrir les outils, tactiques et processus que les pirates utilisent pour s'introduire dans votre SI.

Le suivi de l'empreinte de l'acteur malveillant est l'un des points de départ de l'investigation numérique. Les cybercriminels préparent longuement et laborieusement leurs attaques avant de la lancer. Pour les détecter, il faut remonter à la source, examiner les schémas de préparation des pirates et établir des liens entre les différentes relations en jeu.

? 2.7. Cybercriminalité

Selon la GRC, la cybercriminalité renvoie à tout crime commis principalement à l'aide d'Internet et des technologies de l'information, comme les ordinateurs, les tablettes ou les téléphones intelligents.26(*)

Sous le vocable général de cybercriminalité, la GRC divise les cybercrimes en deux catégories :

a) Les infractions où la technologie est la cible ;

b) Les infractions où la technologie est l'instrument.

? 2.7.1. Types d'attaques de cybercriminalité

Une cyberattaque est tout type d'action offensive qui vise des systèmes, des infrastructures ou des réseaux informatiques, ou encore des ordinateurs personnels, en s'appuyant sur diverses méthodes pour voler, modifier ou détruire des données ou des systèmes informatiques.

Il existe plusieurs types d'attaque, mais nous allons citer le dix types de cyberattaques les plus courants :

1. Attaques par déni de service (DoS) et par déni de service distribué (DDoS)

Une attaque par déni de service submerge les ressources d'un système afin que ce dernier ne puisse pas répondre aux demandes de service.

2. Attaque de l'homme au milieu (MitM)

Une attaque de l'homme du milieu est un pirate qui s'insère dans les communications entre un client et un serveur. Voici quelques types courants d'attaques de l'homme du milieu : détournement de session, usurpation d'IP et la relecture.

3. Hameçonnage (phishing) et harponnage (spear phishing)

L'hameçonnage consiste à envoyer des e-mails qui semblent provenir de sources fiables dans le but d'obtenir des informations personnelles ou d'inciter les utilisateurs à faire quelque chose. Cette technique combine ingénierie sociale et stratagème technique. Elle peut impliquer une pièce jointe à un e-mail, qui charge un logiciel malveillant sur votre ordinateur. Elle peut également utiliser un lien pointant vers un site Web illégitime qui vous incite à télécharger des logiciels malveillants ou à transmettre vos renseignements personnels.

4. Téléchargement furtif (drive-by download)

Les attaques par téléchargement furtif sont une méthode courante de propagation des logiciels malveillants. Les pirates recherchent des sites Web non sécurisés et insèrent un script malveillant dans le code HTTP ou PHP de l'une des pages. Ce script peut installer des logiciels malveillants directement sur l'ordinateur d'un visiteur du site, ou rediriger celui-ci vers un site contrôlé par les pirates.

5. Cassage de mot de passe

Les mots de passe étant le mécanisme le plus couramment utilisé pour authentifier les utilisateurs d'un système informatique, l'obtention de mots de passe est une approche d'attaque courante et efficace. Le mot de passe d'une personne peut être obtenu en fouillant le bureau physique de la personne, en surveillant la connexion au réseau pour acquérir des mots de passe non chiffrés, en ayant recours à l'ingénierie sociale, en accédant à une base de données de mots de passe ou simplement en devinant. Cette dernière approche peut s'effectuer de manière aléatoire ou systématique : force brute ou par dictionnaire.

6. Injection SQL

L'injection SQL est devenue un problème courant qui affecte les sites Web exploitant des bases de données. Elle se produit lorsqu'un malfaiteur exécute une requête SQL sur la base de données via les données entrantes du client au serveur. Des commandes SQL sont insérées dans la saisie du plan de données (par exemple, à la place du nom d'utilisateur ou du mot de passe) afin d'exécuter des commandes SQL prédéfinies. Un exploit d'injection SQL réussi peut lire les données sensibles de la base de données, modifier (insérer, mettre à jour ou supprimer) les données de la base de données, exécuter des opérations d'administration de la base de données (par exemple la fermer), récupérer le contenu d'un fichier spécifique, et, dans certains cas, envoyer des commandes au système d'exploitation.

7. Cross-site Scripting (XSS)

Les attaques XSS utilisent des ressources Web tierces pour exécuter des scripts dans le navigateur Web de la victime ou dans une application pouvant être scriptée. Plus précisément, l'attaquant injecte un JavaScript malveillant dans la base de données d'un site Web. Lorsque la victime demande une page du site Web, le site Web transmet la page à son navigateur avec le script malveillant intégré au corps HTML. Le navigateur de la victime exécute ce script, qui envoie par exemple le cookie de la victime au serveur de l'attaquant, qui l'extrait et l'utilise pour détourner la session. Les conséquences les plus graves se produisent lorsque XSS sert à exploiter des vulnérabilités supplémentaires. Ces vulnérabilités peuvent non seulement permettre à un attaquant de voler des cookies, mais aussi d'enregistrer les frappes de touches et des captures d'écran, de découvrir et de collecter des informations réseau et d'accéder et de contrôler à distance l'ordinateur de la victime.

8. Écoute clandestine

Les écoutes clandestines sont le résultat d'une interception du trafic réseau. Elles permettent à un attaquant d'obtenir des mots de passe, des numéros de carte bancaire et d'autres informations confidentielles qu'un utilisateur envoie sur le réseau.

9. Attaque des anniversaires

Les attaques des anniversaires sont lancées contre les algorithmes de hachage qui vérifient l'intégrité d'un message, d'un logiciel ou d'une signature numérique. Un message traité par une fonction de hachage produit une synthèse du message de longueur fixe, indépendante de la longueur du message entrant ; cette synthèse caractérise de façon unique le message. L'attaque des anniversaires fait référence à la probabilité de trouver deux messages aléatoires qui génèrent la même synthèse lorsqu'ils sont traités par une fonction de hachage. Si un attaquant calcule la même synthèse pour son message que l'utilisateur, il peut tout à fait remplacer le message de l'utilisateur par le sien, et le destinataire ne sera pas en mesure de détecter le remplacement, même s'il compare les synthèses.

10. Logiciel malveillant (malware)

Un logiciel malveillant peut être décrit comme un logiciel indésirable installé dans votre système sans votre consentement. Il peut s'attacher à un code légitime et se propager, se cacher dans des applications utiles ou se reproduire sur Internet.

? 2.8. Les Objets d'investigation légale

? 2.8.1. Métadonnées

Il existe différents types de métadonnées qui rendent le système complet et opérationnel. Voici ci-dessous les trois types de métadonnées les plus courant :

a) Descriptif

Les métadonnées descriptives sont des informations de base, qui, quoi, quand et où. Considérez-le comme une description d'un fichier ou d'une oeuvre d'art avec la plaque à côté. Les métadonnées descriptives sont là pour aider les individus à savoir ce qu'ils regardent ; par conséquent, la description change en fonction du contenu de l'objet ou de l'élément d'information. Par exemple : heure et date de création, créateur ou auteur des données, taille du fichier, qualité des données, source des données, modifications ou programmes utilisés pour modifier le fichier, etc.

b) Structurel

Les métadonnées structurelles définissent comment les données doivent être catégorisées pour s'intégrer dans un système plus étendu d'autres objets ou ensembles d'informations. Par conséquent, les métadonnées structurelles représentent la signification des champs, de sorte qu'il peut y avoir une relation établie entre de nombreux fichiers afin qu'ils puissent être organisés et utilisés en conséquence.

c) Administratif

Enfin, il y a les métadonnées administratives ; il s'agit d'informations sur l'historique des données ou de l'objet. Comme les propriétaires, les droits, les licences et les autorisations, cela est particulièrement utile pour la gestion des informations. Ainsi, les fichiers de mots, les chansons, les vidéos et les images, par exemple, suivent tous une méthode d'information sur les origines, la création et les utilisations.

? 2.8.2. Analyse de la scène de crime

Le but de l'investigation sur une scène de crime est de reconstruire le déroulement du crime dans ses détails, ce qu'il nomme les micro séquences des événements.27(*) Pour procéder à la reconstruction des événements, les intervenants peuvent recourir évidemment aux preuves matérielles disponibles, mais également aux déclarations des témoins ou des victimes et aux dépositions des suspects.28(*)

L'objectif de l'investigation est parfois exprimé de manière plus centrée sur la contribution du processus à l'enquête. Bradbury et Feist identifient par exemple la collecte de matériel forensique afin de faciliter le processus d'enquête comme l'objectif principal.29(*)

Selon Olivier Ribaux, « tout se joue sur les lieux puisque la nature et la qualité de l'information qui y est collectée vont conditionner l'ensemble du processus judiciaire ».30(*) Une scène de crime mal gérée peut en effet résulter en la collecte de preuves de qualité insuffisante, ce qui peut compromettre l'enquête et même augmenter le risque d'erreur judiciaire.31(*)

? 2.9. Collection de données

? 2.9.1 Création des images

Les images médico -légales sont une technique de collecte typique pour les PC, quel que soit le système d'exploitation (Windows, Macintosh, Linux) qu'ils utilisent. Vous pouvez les créer avec un logiciel ou avec des périphériques matériels spécialisés, comme par exemple le logiciel FTK imager.

L'utilisation de l'imageur FTK pour créer une image médico-légale est relativement simple, comme le montrent les instructions fournies ci-dessous, qui expliquent en quelques étapes comment acquérir des données à partir d'un support de stockage.

1. Une fois FTK Imager installé, dans le menu Démarrer de Windows, sélectionnez Programmes | Accès Données | Imageur FTK, puis cliquez sur l'élément de menu Imageur FTK.

2. Lorsque les programmes s'ouvrent, cliquez sur le menu Fichier, puis cliquez sur l'élément de menu Ajouter un élément de preuve.

3. Lorsque la boîte de dialogue Sélectionner la source apparaît, cliquez sur l'option intitulée Lecteur logique. Cliquez sur le bouton Suivant.

4. Lorsque la boîte de dialogue Sélectionner un lecteur s'affiche, sélectionnez le lecteur contenant votre disquette ou votre CD. Cliquez sur Terminer.

5. Lorsque la boîte de dialogue Créer une image s'affiche, cliquez sur Ajouter.

6. Lorsque la boîte de dialogue Sélectionner la destination de l'image s'affiche, spécifiez l'emplacement de stockage du fichier image en saisissant un chemin dans le champ intitulé Dossier de destination de l'image.

7. Dans le champ intitulé Nom du fichier image, saisissez le nom que vous souhaitez donner au fichier sans extension. Cliquez sur Terminer.

8. Lorsque la boîte de dialogue Créer une image s'affiche à nouveau, cliquez sur Démarrer.

9. Patientez pendant que FTK Imager crée un fichier d'image médico-légale des données sur le lecteur que vous avez spécifié. Cela peut prendre plusieurs minutes. Une fois que le champ Statut indique Image créée avec succès, cliquez sur le bouton Fermer.

? 2.9.2 Collecte des Dumps

Un "dump" mémoire d'un processus correspond à une copie du contenu de la mémoire virtuelle (pile, tas managé, pile d'appels des différents "threads" etc...). Un débogueur peut écrire le contenu de la mémoire virtuelle dans un fichier sur le disque de façon à pouvoir le lire plus tard. Avec les sources, on pourra ensuite lire le "dump" et voir une instance «gelée» du processus de façon à identifier plus précisément la ligne de code qui a menée au crash.

Il existe deux sortes de Dumps selon les informations qu'ils contiennent, Full dump (contiennent tout le contenu de la mémoire virtuelle, souvent sollicité quand on ne connaît pas l'origine du problème) et Mini dump (concerne un processus spécifique et est configurable de façon à choisir les informations qu'il contiendra).

? 2.9.3 Collecte des données du Registre

Le registre Windows est une base de données hiérarchique qui stocke les paramètres de bas niveau pour le système d'exploitation Microsoft Windows et pour les applications qui choisissent d'utiliser le registre.

Le noyau, les pilotes de périphérique, les services, le gestionnaire de comptes de sécurité (SAM) et l'interface utilisateur peuvent tous utiliser le registre.

Le registre contient des informations auxquelles Windows fait constamment référence pendant son fonctionnement, telles que les profils de chaque utilisateur, les applications installées sur l'ordinateur et les types de documents que chacun peut créer, les propriétés des dossiers et des icônes d'application, le matériel existant sur le système, et les ports utilisés.

Les ruches du registre sont stockées dans le répertoire %SystemRoot%\System32\config.

Une ruche est un groupe logique de clés, de sous-clés et de valeurs dans le registre, qui contient un ensemble de fichiers de prise en charge contenant des sauvegardes de ses données.

Chaque fois qu'un nouvel utilisateur ouvre une session sur un ordinateur, un nouveau répertoire est créé pour cet utilisateur avec un fichier distinct pour le profil utilisateur. Ceci s'appelle la ruche de profil d'utilisateur.

La ruche d'un utilisateur contient des informations de registre spécifiques concernant ses paramètres d'application, son bureau, son environnement, ses connexions réseau et ses imprimantes. Les ruches de profil utilisateur se trouvent sous la clé HKEY_USERS. Les ruches spécifiques à l'utilisateur (NTUSER.DAT) sont stockées dans le répertoire :

Voici à quoi correspond chaque ruche :

? SAM (gestionnaire de compte de sécurité) : contient toutes les informations de comptes utilisateurs et de droits d'accès ;

? Sécurité : le noyau y accédera pour lire et appliquer la politique de sécurité applicable à l'utilisateur actuel et à toutes les applications ou opérations exécutées par cet utilisateur ;

? Défaut : ruche utilisée par le compte système local. Utilisée par les programmes et services exécutés en tant que système local ;

? Système : contient des informations sur la configuration du système Windows, la liste des périphériques montés contenant un système de fichiers, ainsi que plusieurs "HKLM \ SYSTEM \ Control Sets" numérotés, contenant d'autres configurations de pilotes de système et de services exécutés sur le système local ;

? Logiciel : contient le logiciel et les paramètres Windows, principalement modifiés par les installateurs d'applications et de systèmes ;

? Ntuser.dat : contient les paramètres spécifiques à chaque utilisateur (les profils itinérants l'utilisent).

Il est possible de dumper les fichiers de registre avec FTK Imager.

Figure 2.8 Dump du registre

Les fichiers extraits seront ensuite stockés dans votre répertoire pour analyse.

Figure 2.9. Registre Dumpé

Pour explorer ces fichiers, il est possible d'utiliser l'outil RegRipper. Pour cela, il faudra sélectionner le fichier NTUSER.DAT du profil de la victime, ici Junio. Puis sélectionnez le nom du rapport à générer et le profil à utiliser ; ici nous choisissons le profil "ntuser".

Figure 2.10 RegRipper

Une fois cela terminé, un rapport sera généré. Si nous recherchons dans les clés RUN avec Volatility, nous retrouvons rapidement la clé de registre malveillante.

? 2.10. Récupération des données

Sur un PC, un MAC, une clé USB, un disque dur, une carte SD, un disque dur externe ou un téléphone portable, la suppression involontaire des fichiers reste la première cause de la perte des données ou encore la suppression volontaire pour cacher certaines informations à la justice en cas de délit numérique. D'où, il sera nécessaire de pouvoir faire une récupération de données avec des outils appropriés enfin d'en avoir clair pendant l'investigation par les enquêteurs forensiques. Quelle que soit l'origine de la perte des fichiers et le type de support concerné, découvrez comment récupérer des données effacées.

Il nous arrive parfois de supprimer certains de nos dossiers ou fichiers pour pouvoir libérer l'espace dans votre disque dur. Rassurez-vous, nous pouvons encore les récupérer à partir de la corbeille. Il se peut encore que vous vidiez cette dernière, cela devient une suppression permanente mais soyez en sûr et certain, vos données se trouvent toujours sur votre ordinateur et c'est toujours possible de les récupérer, c'est juste que vous n'y avez pas accès.

Si vous avez vidé la corbeille de votre MAC ou PC voire même un téléphone portable, l'utilisation d'un logiciel de récupération vous permettra également de récupérer des données effacées. La méthode reste la même pour récupérer des données effacées sur n'importe quel support de stockage ; il suffit d'utiliser un outil performant, par exemple : Ontrack EasyRecovery, Recuva, etc.

? 2.11. Récupération de fichiers supprimés de la MFT

La partition NTFS peut afficher un message d'erreur disant « la structure du disque est corrompue et illisible » Cela se produit lorsque votre partition NTFS est devenue RAW ou corrompue. L'outil de gestion de disque affichera également la partition NTFS au format RAW et lorsque vous exécutez CHKDSK pour résoudre le problème, il renverra un message indiquant que le MFT est corrompu.

Quelle que soit la raison de la corruption de la table MFT ; comme ici, dans le cadre d'investigations numériques, nous pouvons effectuer une récupération complète des données de la partition NTFS à l'aide d'un outil de récupération de données efficace comme Remo Partition Recovery.

? 2.11.1. Sculpture de fichiers

La sculpture de fichiers se réfère à la reconstruction de fichiers informatiques qui a lieu sans indicateurs de métadonnées utiles ou autres conseils spécifiques. En l'absence de cette information directive, les systèmes logiciels utilisent des outils d'heuristique et de traitement des probabilités sophistiqués afin de rassembler avec succès les fichiers.

Certains experts présentent l'idée selon laquelle les systèmes logiciels doivent collecter avec précision des informations sur les fichiers à partir d'un ensemble de données "homogène" plus grand sur un lecteur de disque ou une autre zone de stockage. Les logiciels de gravure de fichiers peuvent utiliser des marqueurs tels que des en-têtes et des pieds de page pour essayer d'identifier des parties d'un fichier. Au-delà de cela, des algorithmes spécialisés peuvent également aider à améliorer les résultats de la récupération de fichiers.

Il est important de noter que d'autres pratiques de récupération de fichiers reposent sur des informations système plus disponibles. En revanche, la sculpture de fichiers se fait en grande partie sur la base de suppositions, c'est pourquoi ces systèmes logiciels ont besoin de fonctionnalités avancées qui peuvent plus efficacement mettre de l'ordre dans le chaos.

? 2.11.2. Sculpture de fichier avec un éditeur Hex

L'éditeur Hex est logiciel facile d'utilisation et soigneusement conçu pour les ordinateurs équipés d'un OS Windows (jusqu'à la dernière version), il donne un accès en lecture et en écriture aux disques durs (internes et externes), aux clés USB, aux CD, aux cartes mémoires, etc. et propose également une modification de la RAM. Ayant interface ergonomique et réactive, offrant aussi des fonctionnalités telles que la recherche et le remplacement, la concaténation et le fractionnement de fichiers, l'exportation et des statistiques de distribution des bytes (graphiques de représentation). Grâce à ces outils, HxD Hex Editor traite efficacement des fichiers volumineux et permet de les comparer afin d'en vérifier le contenu. Il comporte également un outil de destruction définitive de fichier.

HxD Hex Editor est un logiciel libre et est destiné aux utilisateurs expérimentés et aux enquêteurs. Il est à manier avec précaution puisqu'il permet d'ouvrir et de modifier des fichiers nécessaires au bon fonctionnement de l'ordinateur.

? 2.12. Analyse les fichiers de Log

L'analyse des fichiers log est l'évaluation d'un ensemble d'informations enregistrées à partir d'un ou plusieurs événements intervenus sur un environnement IT. Cette pratique peut être utilisée pour :

? Analyser le comportement utilisateur et identifier des modèles de comportement

? Identifier et anticiper des incidents

? Être conforme à la réglementation en place

? Anticiper et planifier les capacités de l'environnement IT

L'analyse des fichiers logs est un véritable challenge et demande un travail fastidieux pour les enquêteurs en raison de la volumétrie, mais aussi de la diversité des types de logs, ainsi que les formats propriétaires, les architectures élastiques, etc.

L'utilisation des logiciels d'analyse des fichiers logs qui exploitent des algorithmes de Machine Learning réduit considérablement la charge de travail des enquêteurs qui peuvent se concentrer sur des tâches à valeur ajoutée. Ce logiciel d'analyse de logs permet de surveiller, d'agréger, d'indexer et d'analyser toutes les données des journaux des applications et de l'infrastructure.

? 2.12.1 Analyse des données non organisées

Les outils d'analyse des données non structurées ont la capacité d'examiner toutes les données exclusives et publiques qui peuvent être liées à une fraude pour aider les enquêteurs à détecter et à régler la fraude sans autre munition. Possible de procéder par un questionnaire, par exemple : Junior, a-t-il partagé ses critiques élogieuses d'une entreprise en ligne, puis a-t-il revendu ses parts de l'entreprise avant que les actions chutent considérablement ? L'entreprise paye-t-elle des sinistres d'assurance fortement marqués par la fraude ? Marie, de la comptabilité, mentionne-t-elle de manière disproportionnée un certain client ou une certaine personne dans ses courriels ? Il ne s'agit pas de preuves tangibles, mais les comportements derrière ces communications influencent tous la détection de la fraude et l'enquête.

En d'autres mots, les données qui informent un audit de la culture sont presque toutes qualitatives et non structurées. C'est là que les outils d'analyse de données non structurées en audit peuvent être mis en oeuvre pour exécuter un audit de la culture et justifier ses conclusions

? 2.13. Investigation numérique sur la mémoire

? 2.13.1 La mémoire volatile

Lorsqu'une application est ouverte sur un appareil, une certaine quantité de RAM lui est allouée afin qu'elle puisse s'exécuter. Si plusieurs applications sont ouvertes, l'appareil doit allouer une plus grande quantité de RAM. C'est pour cette raison que les appareils dotés d'une RAM plus importante sont plus rapides : ils peuvent exécuter plus d'applications en même temps.

Pour répondre à un incident de cybersécurité, cela peut s'avérer complexe. Il arrive que le serveur compromis n'alimente aucun SIEM en journaux d'événements, voire même qu'il n'y ait pas de journaux du tout. Dans ces circonstances, comment pouvons-nous commencer à enquêter sur l'appareil compromis et à rassembler des preuves en temps opportun dans le cadre d'un plan de réponse aux incidents ?

Nous devons d'abord confirmer la présence d'un malware sur l'appareil avant de pouvoir capturer un échantillon et d'entamer la rétro-ingénierie du malware au moyen d'outils spécialisés.

La capture d'une image mémoire peut prendre du temps, et il nous faudra ensuite transférer cette image (dont la taille pourrait-être gigantesque) vers un emplacement où elle pourra être analysée. Sans oublier le temps que prendra l'analyse. Face à ces contraintes, l'analyse de la mémoire peut être un atout majeur pour l'équipe de réponse. Alors qu'un disque dur peut dépasser les 150 Go, la RAM de l'appareil est beaucoup plus petite, généralement entre 8, 16 et 32 Go. La capture d'un vidage de la RAM d'un appareil sera donc bien plus rapide et moins volumineuse lors du transfert de la sortie.

? 2.13.2 Acquisition de la RAM

La méthode de capture des données diffère selon l'appareil, machine physique ou machine virtuelle. Pour notre cas, ça sera pour une machine physique.

? 2.13.3 Capture de la RAM

La capture de la RAM d'une machine physique peut se faire à l'aide de plusieurs outils. FTK imager, est un outil parfait et gratuit, la majorité d'enquêteurs le recommande car il est très fiable et facile à utiliser.

? 2.13.4. Analyse de la RAM

Lors d'une analyse forensic, l'étude de l'image mémoire d'un système avec des outils spécifiques peut s'avérer utile, car elle permettra d'extraire des informations difficilement exploitables lorsque le système est en fonctionnement. C'est ce qui nous permettra de comprendre quelles actions ont été effectuées.

Dans notre situation, nous ne savons pas si l'infection est survenue ou pas à la suite d'exécution de certains processus. Il faudra alors faire des recherches pour identifier si un logiciel malveillant a été exécuté, et de quelle manière.

Pour extraire ces informations sur le dump mémoire que nous avons réalisé, nous utiliserons le Framework open source Volatility. Pour cette petite démonstration, nous allons utiliser une image d'un système d'exploitation Windows XP sp1 ayant exécuté un logiciel malveillant pendant l'ouverture d'un mail.

? 2.13.5. Identification du profil

Pour commencer, nous devons d'abord définir un profil pour indiquer à Volatility de quel système d'exploitation provient l'image de la mémoire. Pour le découvrir nous utiliserons le plug-in imageinfo. La commande exécutée dans ce cas est : Python vol.py -f memdump.mem imageinfo. Nous essayerons d'être beaucoup plus dans le chapitre suivant qui parlera de comment mener une investigation numérique.

? 2.13.6. Lister les processus en cours

Le système d'exploitation est responsable de la gestion, de la suspension et de la création de processus, c'est-à-dire des instances d'un programme.

Lorsqu'un programme s'exécute, un nouveau processus est créé et associé à son propre ensemble d'attributs, y compris un ID de processus unique (PID) propre à chacun, et un espace d'adressage.

L'espace mémoire d'un processus devient un conteneur pour le code de l'application, les bibliothèques partagées, les données dynamiques et la pile d'exécution.

Un aspect important de l'analyse de la mémoire consiste à énumérer les processus qui s'exécutent sur un système et analyser les données stockées dans leur espace d'adressage. L'objectif ? Dénicher les processus correspondant à des programmes potentiellement malveillants, ainsi que comprendre leur fonctionnement, leur origine, et les analyser en détail. Pour extraire la liste des processus, il est possible d'utiliser l'option pslist.

Voici la commande : python vol.py -f memdump.mem --profile=Win7SP1x86 pslist

Il existe une multitude d'options disponibles que nous allons plus détaillée dans la plateforme. Ces options permettent d'explorer le contenu de la mémoire et de reconstruire les structures de données pour en extraire les informations pertinentes.

? 2.13.7 Analyse des Malware

Après identification des logiciels malveillants ayant conduits avec compromission, Il faudrait procéder à l'analyse pour comprendre le mode opératoire et comment le contrer.Pour pouvoir infecter un ordinateur, un attaquant doit faire en sorte d'exécuter du code malveillant sur la machine cible. Pour ce faire, il doit utiliser un vecteur d'infection.

Un vecteur d'infection est donc un moyen d'infecter un ordinateur.32(*) Il existe plusieurs types de vecteur :

? La navigation internet via le téléchargement ou via l'exploitation de vulnérabilités.

? L'email contenant une pièce jointe malveillante ou un lien malveillant. Les pièces jointes peuvent être des fichiers compromis tels qu'un fichier PDF, ZIP, Office... Cela peut également être un SMS, ou un message sur les réseaux sociaux.

? Les clefs USB et autres supports externes peuvent aussi être des vecteurs d'infection.

? Un autre vecteur d'infection est ce qu'on appelle la « Supply Chain Attack », il s'agit ici de compromettre un tiers de confiance de l'entreprise cible pour pouvoir la compromettre. Ainsi elle bénéficiera d'un canal de confiance qui lui permettra de contourner les protections mis en place. Ce genre de vecteur est beaucoup plus difficile à détecter et à éviter car il s'agit de la sécurité des tierces parties avec lequel l'entreprise travaille.

? 2.13.8. Extraction de mots de passe

Les logiciels de récupération des mots de passe font aujourd'hui partie des outils informatiques les plus importants. En effet, ceux-ci permettent de faciliter un grand nombre d'opérations en toute simplicité. Il peut arriver qu'on se retrouve à devoir formater un disque dur, refaire un système d'exploitation, ou encore effectuer toute autre tâche du même genre. C'est ce type de programme qui permet la récupération des mots de passe potentiellement en péril, et cachés derrière les logiciels. Mais encore plus simple, il peut arriver qu'on ait juste oublié votre Password ou dans le cadre d'investigation numérique. A défaut, que le concerné ne veut pas donner de plein degré aux enquêteurs, la seule solution reste un programme de récupération. Il en existe plusieurs, parmi-lesquels :

1. RecALL

Le programme recALL fait partie aujourd'hui des meilleures applications de récupération des mots de passe. Créé par le développeur polonais portant le même nom, ce logiciel est disponible en téléchargement gratuit et est compatible avec la majorité des systèmes d'exploitation Windows. Il permet la récupération des mots de passe à travers plus de 200 programmes et systèmes confondus. Entre autres : des navigateurs Web, des clients FTP, des messageries instantanées, des clients Mails, ou encore des réseaux Wi-Fi.

Il offre aussi la possibilité de récupérer des clés de licences à travers des logiciels installés sur un ordinateur. Il est important de spécifier que c'est l'une des toutes premières applications au monde à disposer de fonctionnalités avancées. A cet effet, il est même apte à récupérer les clés de licence au sein de systèmes d'exploitation endommagés. C'est l'application la mieuxadaptée pour la récupération de mots de passe.

2. PasswdFinder

PasswdFinder, est un logiciel gratuit, édité par Magical Jelly Bean, qui fait également partie des meilleures applications de récupération des mots de passe. Il est compatible avec les systèmes d'exploitation Windows 7, 8 et 10.

Il permet de facilement retrouver l'ensemble des mots de passe enregistrés dans différents navigateurs web. C'est par exemple le cas pour Safari, Google Chrome, Internet Explorer, ainsi que pour Mozilla Firefox.

Il prend aussi en charge les clients FTP et Mails à l'instar de Microsoft Outlook Express, Mozilla Thunderbird, et même les Messageries instantanées. Ce logiciel est facile à installer, et dispose également d'une interface simplifiée. Par ailleurs, la recherche de mots de passe se fait en tenant compte des fichiers d'extensions *.html, *.xls, *.txt, *.xml, *.csv, *.doc, *.pdf, et enfin *.rtf.

3. KeepPass Password safe

KeepPass Password Safe est un logiciel de gestion et de protection de mots de passe. C'est un logiciel qui facilite la gestion des identifiants et mots de passe entre de nombreuses applications. Il s'agit d'un gestionnaire de mots de passe gratuit et facile à utiliser. Il offre une meilleure sécurité en matière de gestion et de sauvegarde de mots de passe. Il est en plus compatible à plusieurs plateformes telles que Linux, Windows, OS X et Android.

4. IE PassView

IE PassView est un logiciel de récupération des mots passe, spécialement dédié au navigateur Internet Explorer. Edité par le studio NirSoft, ce programme est capable de prendre en charge toutes les versions dudit navigateur. D'autre part, il prend également en charge le navigateur Microsoft Edge.

Ce logiciel est compatible avec les systèmes d'exploitation Windows XP, 7, 8, et 10. Le freeware a la particularité de conférer la visualisation des identifiants et mots de passe stockés au sein des navigateurs. Par ailleurs, il est possible de visualiser par la même occasion les adresses Web des sites sur lesquels vous vous êtes enregistré. La récupération concerne notamment les stockages protégés, les protections FTP et bien d'autres encore.

5. Password Cracker

Password Cracker est aussi l'un des meilleurs logiciels de récupération des mots de passe. Édité par le studio russe G&G Software, celui-ci permet de récupérer et de restaurer les mots de passe masqués en astérisque. Ceci dans les logiciels, et même dans les navigateurs à l'instar d'internet explorer.

A cet effet, c'est un programme efficace en cas d'investigation. Il est gratuit et ne nécessite aucune installation quelconque. Et donc, ce logiciel vous permettra aussi de gagner en temps lors de son utilisation. En effet, il suffit de faire survoler le curseur au-dessus des astérisques voilant le mot de passe, pour que ce dernier apparaisse instantanément dans la fenêtre du logiciel. Par ailleurs, des tests montrent que ce freeware marche aussi bien en survolant la barre d'URL des navigateurs.

Pour aller plus loin, prière de visiter la plateforme forensic TP du Département de Génie informatique de l'Ecole Supérieur Polytechnique de Dakar qui est même l'objet de ce dit mémoire.

? 2.14. Outils d'investigation numérique légale

Une augmentation croissante de crimes numériques a conduit au développement de toute une série d'outils d'investigation. Ces outils assurent que la preuve numérique est acquise et préservée correctement. Ils existent sous forme de logiciels mis au point pour aider l'enquêteur numérique lors d'une enquête. Sur cette partie, il est question de développer une meilleure compréhension de certains des outils d'investigation légale utilisés plus souvent et qui ont fait une meilleure réputation grâce à leurs efficacités. Voici une liste non exhaustive ci-dessous.

a) Forensic ToolKit

La Boîte à outils médico-légale appelée FTK, est un logiciel de criminalistique informatique créé par AccessData. Il scanne un disque dur à la recherche de diverses informations. Il peut, par exemple, localiser les e-mails supprimés et analyser un disque à la recherche de chaînes de texte à utiliser comme le dictionnaire de mots de passe pour casser le cryptage.

De même que pour EnCase Forensic, FTK fonctionne sur la plateforme windows, cependant, en termes de coût, il est moins cher par rapport à EnCase Forensic. FTK est constitué de plusieurs composants, tels que l'imageur FTK, le registre d'affichage(viewer) et le fichier filtre (filter). Une fois que FTK est lancé, il propose un choix entre acquérir ou prévisualiser la source de la preuve.

b) Lace Carver

LACE CARVER est un outil autonome, les experts en cyber-criminalistique sont mesure d'extraire efficacement les fichiers de preuves et de les importer en utilisant la norme JSON dans tous les différents outils qu'ils choisissent d'utiliser pour analyser et examiner les preuves photos, vidéos et documentaires.

c) EnCase

EnCase est traditionnellement utilisé dans criminalistique pour récupérer des preuves sur les disques durs saisis. Il permet à l'enquêteur de mener une analyse approfondie des fichiers utilisateur pour collecter des preuves telles que des documents, des images, l'historique Internet et des informations du registre Windows. L'entreprise propose également EnCase formation et certification.

d) Volatility

Volatility est un outil Open Source implémenté dans le langage Python, et est utilisé très facilement sur les systèmes Windows, Linux. Elle est composée de plusieurs plugins qui sont dotés de fonctionnalités spéciales.

e) Magnet et Cellebrite sont deux outils qui permettent de faire la récupération des données sur des mobiles. Magnet permet de faire l'acquisition alors que Cellebrite fait l'acquisition et l'analyse des données.

? 2.15. Atouts des outils d'investigation numérique légale

Tableau 3.2. Atouts des outils d'investigation numérique légale

? 2.16. Computer forensique test

Nous voici dans le moment crucial de faire preuve de pragmatisme après avoir fait l'énumérations de plusieurs outils dans les points précédent ; ici, il est question d'utiliser ces outils, mais notre choix porte sur les outils open source tels que FTK, Autopsy et Volatility qui nous permettront d'effectuer les différents tests dans chaque phase d'une investigation digitale de façon claire et approfondie. Nous allons pour ce premier test, le faire sur un ordinateur équipé d'un système d'exploitation Windows dont il important bien avant de comprendre les fondamentaux de son environnement, puis procéder aux collectes. Pour ce qui est des autres environnements, tels que : Mac OS, Mobile et Linux, etc. la même démarche sera poursuivie et pour être beaucoup plus compréhensible dans la démarche, voir l'annexe de ce mémoire.

Le système d'exploitation Windows est de loin le système d'exploitation le plus populaire sur terre et l'un des nombreux systèmes d'exploitation utilisés dans le monde, mais la plupart des nouveaux ordinateurs ou ordinateurs portables utilisent le système d'exploitation Windows. Cela a donc un impact dans le monde numérique, la plupart des cybercrimes visent Windows, nous devons donc savoir quels petits objets seront utilisés comme artefacts, puis effectueront des analyses médico-légales sur les systèmes Windows.

a) Système de fichiers / Arborescence

Le système d'exploitation Windows est construit sur une arborescence de fichiers et dossiers qui sont créés et enregistrés sur le disque dur. Ce dernier est donc organisé en différents dossiers : dossier Windows, dossiers Programmes et dossier Utilisateur avec les Bibliothèques.

- Fichier

Un fichier informatique est un ensemble de données cohérentes réunies33(*), c'est-à-dire une suite de chiffres binaires dont l'ordre possède une signification pour un ou des programmes informatiques. Un fichier informatique est enregistré dans une mémoire de stockage (disque dur local ou réseau, clé USB ou carte mémoire Flash, CD/DVD, ...) afin de pouvoir lire et/ou modifier les données qui y sont écrites.

Un fichier informatique est repéré par son nom, qui possède souvent, mais pas toujours, la structure suivante : nom.extension où le nom est une suite de caractères quelconque, et l'extension est une suite de deux, trois ou quatre lettres pouvant donner une idée du contenu du fichier.

Le système d'exploitation Windows peut être configuré de manière à sélectionner automatiquement (c'est-à-dire par double-clique) un programme pour ouvrir un type de fichier, en fonction de son extension.

Ainsi, généralement, pour les fichiers portant l'extension .jpg, le système d'exploitation sera configuré de manière à ouvrir avec un logiciel visionneuse d'image, ou bien un éditeur d'image.

Non seulement un fichier contient des données brutes, mais il contient aussi des métadonnées (certaines informations concernant les informations), telles que, suivant le système de fichier, la longueur du fichier, son auteur, les personnes autorisées à le manipuler, ou la date de la dernière modification et ce sont des informations nécessaires pour les enquêteurs forensic.

- Dossier

Un dossier informatique (ou répertoire, directory en anglais) est un fichier particulier qui contient les références à d'autres fichiers.

Dans tous les systèmes de fichier, chaque fichier ou dossier est référencé par un autre dossier, appelé parent du fichier ou du dossier correspondant.

Un tel système forme une hiérarchie, appelée arborescence, dont le point d'entrée est appelé répertoire racine.

Figure 2.11. Arborescence Os Windows

Donner le chemin absolu d'un fichier ou d'un dossier, c'est donner l'ensemble des dossiers traversés depuis le répertoire racine pour atteindre ce fichier ou dossier. Il est possible de donner le chemin relatif vers un fichier ou un dossier à partir d'un autre dossier de la même arborescence. Pour cela il est parfois nécessaire de remonter dans les répertoires parents. Le nom du répertoire parent n'étant pas connu par le répertoire courant, on utilise la convention.. (Deux points) pour signifier qu'il faut remonter d'un parent vers la racine.

b) Séquence de boot Windows

Le boot séquence est l'ordre dans lequel le BIOS recherche les lecteurs pour démarrer Windows. Lorsqu'on démarre un ordinateur équipé d'un système d'exploitation Windows, le BIOS de la carte mère effectue les tests des différents composants du PC, c'est le POST.

Si le POST se termine correctement, le BIOS cherche un lecteur (disque-dur, lecteur CD/DVD, lecteur de disquette, etc.) qui contient un secteur de boot pour lancer le système d'exploitation (OS) qui s'y trouve.

c) Base de registre

La base de registre Windows ou registre Windows est une base de données structurées où sont stockées un grand nombre d'informations. Ces informations sont utilisées par Windows et ses composants ainsi que les programmes installés par l'utilisateur pour sauvegarder des informations utiles à leurs fonctionnements. Cette base de données est invisible à l'utilisateur et est utilisée en arrière-plan par Windows.

Cependant, il arrive parfois que l'on soit obligé de la modifier. Cela est utile lorsque l'on rencontre des problèmes techniques ou pour modifier des paramètres qui ne sont pas accessibles directement dans Windows.

Pour les enquêteurs ou analystes forensiques, le Registre ressemble probablement à l'entrée d'une caverne sombre et inhospitalière dans le système d'exploitation Windows. D'autres peuvent le voir comme une porte noire à l'extrémité d'un long couloir sur laquelle est gravé " Vous qui allez franchir cette porte, abandonnez tout espoir". En vérité, le Registre est une véritable mine d'informations pour l'enquêteur forensique. Dans de nombreux cas, le logiciel utilisé par l'assaillant laisse une empreinte dans le Registre, donnant alors à l'enquêteur des indices sur l'incident. Si vous savez où regarder et comment interpréter vos découvertes, vous disposez d'un formidable moyen de connaître les activités qui ont eu lieu sur le système.

d) Fichiers logs

1. Le répertoire Prefetch

Le répertoire c:\windows\prefetch contient la liste de tous les programmes qui ont été exécutés sur un système Windows 7/8/10. Mais il est important de signaler que cette fonctionnalité est déjà désactivée sur les environnements Windows Server 2008/2012/2016. Dans le même ordre d'idée, le programme Executed Programs List nous permettra de lister tous les programmes qui ont été exécutés sur notre machine sans ambigüité.

2. Les ShellBags

Les « ShellBags » permettent de conserver l'agencement des dossiers que vous avez ouverts. Ils indiquent la date à laquelle vous y avez accédé. Pour en faire l'objet d'une investigation, il y a plusieurs outils qui nous permettent d'en obtenir la liste complète, entre autres :

? ShellBagsView de Nirsoft

? ShellBag Analyzer et Cleaner de Privazer

3. Le MUICache

Dans le même registre, sachez que Windows stocke dans son registre la liste des dernières applications utilisées au niveau de la clé HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\Shell\MuiCache. Pour visualiser la liste de ces applications, vous disposez du logiciel MUICacheView de Nirsoft ce qui est une mine d'or pour nous les enquêteurs forensic.

Un nouveau programme signé Nirsoft, Execute Programs List, permet d'obtenir la liste des derniers programmes exécutés à partir du dossier c:\windows\prefetch comme nous l'avons signalé précédemment et des clés de registre suivantes :

- HKEY_CURRENT_USER\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache

- HKEY_CURRENT_USER\Microsoft\Windows\ShellNoRoam\MUICache

- HKEY_CURRENT_USER\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Persisted

- HKEY_CURRENT_USER\Microsoft\WindowsNT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store

4. Le gestionnaire d'événements

Il permet d'accéder aux journaux Windows verrouillés par le système, stockés dans le répertoire C:\windows\system32\config aux côtés des principaux fichiers qui constituent la base de registre. Vous y accédez grâce au programme eventvwr.exe ou eventvwr.msc.

5. Les fichiers temporaires

Ils sont accessibles à partir des variables d'environnement fixées dans les paramètres système avancés de notre configuration Windows.

Figure 2.12. Variable d'environnement

6. Les caches de navigation et autres traces

Pour Internet Explorer, vous pouvez y accéder à partir du répertoire %LOCALAPPDATA%\Microsoft\Windows\TemporaryInternetFiles.

Sous Firefox/Chromium tapez about:cache à partir de la barre d'adresse ; vous pouvez aussi consulter toutes les adresses consultées par about:networking.

Sous Chromium encore, pour consulter toutes les informations disponibles, tapez chrome://chrome-urls.

Pour accéder à ces caches de navigation et aux autres traces laissées sur notre système, nous pouvons aussi utiliser la version gratuite des gratuiciels Wise Disk Cleaner et Ccleaner associé à CCEnhancer. Il existe d'ailleurs de nombreuses alternatives à Ccleaner comme BleachBit qui est une des rares solutions Open Source dans ce domaine.

7. Les certificats

De nombreux certificats sont visibles au travers de la console certmgr.msc.

Figure 2.13. Le certificat windows

8. Les clichés instantanés

C'est un mécanisme appelé VSS ou Volume Shadow copy Service, qui permet de réserver une place pour les versions antérieures des fichiers qui y sont stockés. Le mécanisme s'applique aux volumes logiques : vssadmin.exe est l'utilitaire en ligne de commande pour gérer le VSS.

Figure 2.14. Le VSS

9. Les logs du pare-feu

Grâce au pare-feu (firewall) nous pouvons journaliser toute l'activité réseau de notre machine. Par défaut, la taille du fichier de journalisation est de 4 Mo. Cela représente environ la consignation de 2 jours d'activité. Windows ne permet pas de fixer une valeur au-delà de 32 Mo. La commande pour accéder au pare-feu est wf.msc. Dans les propriétés du pare-feu, allez dans chaque profil et cliquez sur le bouton Personnaliser au niveau de la zone Enregistrement en bas à droite de la boîte de dialogue.

Figure 2.15. Le pare-feu

10. Les informations liées au boot de votre système

Avec l'utilitaire msconfig.exe, vous pouvez journaliser les informations liées au démarrage de votre système. Elle se trouve consignée dans le fichier c:\windows\ntbtlog.txt.

Figure 2.16. Informations boot système

? 2.16.1. Fondamentaux FAT32

Le système de fichiers FAT32 existe depuis Windows 95. Il est encore utilisé aujourd'hui car il permet aux clés USB et aux disques durs mobiles formatés selon ce standard d'être lus sur différentes plates-formes, par ex. sur des appareils Apple ou des consoles de jeu.

Le système de fichiers FAT32 est venu compléter son prédécesseur FAT16 en 1996, c'est-à-dire au moment de l'introduction du système d'exploitation Windows 95B de Microsoft. Par conséquent, il n'a pas remplacé complètement la version précédente et intervenait plutôt comme une extension. Les bases techniques de FAT32 remontent jusqu'en 1977 lorsque Microsoft a développé la File Allocation Table (abrégé en : FAT), qui est aujourd'hui encore le standard industriel par défaut pour les systèmes de fichiers. En effet, les différents formats FAT peuvent être utilisés en dehors des limites des différents systèmes d'exploitation.

FAT32 est le dernier niveau du standard FAT traditionnel et fait suite à FAT12 et FAT16. exFAT est quant à lui un format dérivé à partir de FAT. À l'instar de NTFS, un système de fichiers moins récent, exFAT est un format propriétaire de Microsoft et n'est donc pas un standard open source.

Avec FAT32, la « largeur des données » est de 32 bits ce qui explique pourquoi les appellations successives intègrent des chiffres comme 32 et 16. Avec le système de fichiers standard de Microsoft NTFS, la largeur des données est de 64 bits. Cependant, ces valeurs sont une simple spécification interne au système de fichiers et n'ont rien à voir avec la distinction 32/64 bits opérée pour les systèmes d'exploitation ou dans l'architecture des processeurs. Le nombre de clusters adressables dans le système de fichiers FAT32 s'élève à 268 435 456 avec une taille maximale pour chaque cluster d'exactement 32 Ko. Si l'accès au fichier a lieu via la procédure Logical Block Addressing (abrégée en LBA), les experts informatiques parlent plutôt de FAT32X.

Même après l'introduction de FAT16, les partitions d'une taille inférieure à 512 MiB (mebioctets) étaient toujours générées en FAT16. À une époque où les grands volumes de données multimédias prédominent, les supports de données de petite taille de ce type n'avaient pratiquement plus d'utilité.

FAT32 est encore utilisé sur des supports de stockage mobiles tels que les clés USB, les cartes mémoire et les disques durs externes. Il est parfois indispensable pour permettre un échange de données entre des appareils anciens et nouveaux. Sur les disques durs internes Windows modernes, FAT32 n'est en revanche plus utilisé puisque, depuis Windows Vista, le système de fichiers NTFS est le standard prévu pour les ordinateurs Windows dans toutes les gammes de prix.

FAT32 vit également ses derniers jours en tant que standard multi plateformes étant donné que exFAT, l'amélioration de FAT32, offre davantage de possibilités et une plus grande capacité de stockage. C'est sur les cartes mémoire et les clés USB que FAT32 « survivra » le plus longtemps puisque sur ces supports de stockage, en particulier sur les cartes SD, la faible taille des partitions (d'env. 32 Go) ne posait aucun problème jusqu'à il y a quelques années encore puisque la taille des fichiers et les quantités de données n'atteignent pas ces limites. FAT32 peut aussi bien être utilisé sur des disques durs de taille différente (par ex. des HDD 2,5 et 3,5 pouces) que sur des supports flash modernes comme les disques SSD.

? 2.16.2. Fondamentaux NTFS (New Technology File System)

L'abréviation « NTFS » renvoie à « New Technology File System » (littéralement : nouveau système de fichiers technologiques). Du fait de la prédominance de Microsoft, NTFS est un système de fichiers très répandu permettant l'organisation des données sur des disques durs et des supports de données. Depuis l'introduction de Windows XP en 2001, ce système de fichiers est le standard incontesté pour les systèmes d'exploitation Windows. Dans les sections suivantes, nous vous expliquons dans le détail comment il fonctionne, quels sont ses avantages et en quoi il se démarque des autres systèmes, par exemple des systèmes FAT.

Dans le système de fichiers NTFS, la taille maximale d'une partition est d'environ 2 téraoctets. Il n'existe pas de taille limite pour un fichier individuel. En théorie, il est donc possible d'enregistrer un fichier de près de 2 téraoctets sur un support de données formaté en NTFS. Par rapport à des systèmes de fichiers classiques comme FAT32, la « taille de cluster » a été nettement étendue dans NTFS et est à présent d'approximativement 16×10^18. Dans le cas du système de fichiers FAT32, elle est « seulement » de 4 294 967 296. D'après le standard NTFS, un nom de fichier peut comporter 255 caractères au maximum.

? 2.16.3. Collecte des données

« On ne peut aller et revenir d'un endroit, entrer et sortir d'une pièce, sans apporter et déposer quelque chose de soi, sans emporter et prendre quelque chose qui se trouvait auparavant dans l'endroit ou la pièce. » C'est le principe de l'échange formalisé par Locard. Il repose sur l'idée qu'un criminel à la fois laisse sur les lieux du crime des traces de son passage (cheveux, fibres de vêtements, empreintes, traces biologiques, etc... c'est ce même principe qui va aussi nous aider en investigation digitale pour identifier les éléments sur la machine compromise.

Nous allons procéder au collecte grâce au logiciel autopsie qui est un outil fiable et rapide voir gratuit qui fait l'ensemble des phases dans un temps réduit et finit par identifier l'élément malveillant après avoir effectué à la loupe les différentes phases d'analyse.

? 2.16.4. Artefacts

Les Artefacts sont les traces de l'attaque et sur windows, ces traces peuvent se trouver à des multiples endroits, entre autres : Event logs, les services, le registre, etc.

a) Event logs

Les Event logs Windows sont des journaux qui répertorient chaque action de chaque application sur le système, tels que les messages d'erreur, d'information et de warning. Il est possible d'y accéder en utilisant l'outil natif Event Viewer.

Figure 2.17. Event logs

Les catégories de logs se trouvent sur le panneau de gauche et vous donnent l'accès aux événements liés à cette catégorie. Enfin, il sera possible de les analyser sur un autre système avec le logiciel Event Log Explorer. Il est payant, mais la démo est utilisable 30 jours.

b) Les services

Les services Windows sont des applications qui démarrent généralement au démarrage de l'ordinateur et s'exécutent silencieusement en arrière-plan jusqu'à son arrêt. À proprement parler, un service est une application Windows implémentée avec l'API de services et gérant des tâches de bas niveau, ne requérant que peu ou pas d'interaction de l'utilisateur. Les malwares peuvent utiliser cette fonctionnalité de Windows pour rester persistants.

Les techniques de persistance permettent à un malware de s'exécuter même après que le système ait été rebooté. Les techniques de persistance utilisées par les malwares sont nombreuses.

Il est possible d'y accéder avec l'interface native services.msc.

Figure 2.18. Les services

Les Prefetch sont des fichiers créés par le système lorsqu'une application s'exécute sur le système. Les fichiers Prefetch sont d'excellents artefacts pour analyser les applications exécutées sur un système.

Windows crée un fichier Prefetch (.pf) lorsqu'une application est exécutée pour la première fois à partir d'un emplacement particulier. Cela permet d'accélérer le chargement des applications. La fonctionnalité « Prefetch » ??de Windows est généralement activée par défaut.

Le répertoire Prefetch contiendra un enregistrement historique des 128 derniers programmes "uniques" exécutés sur le système. Les Prefetch se trouvent dans le répertoire C:\Windows\Prefetch. En les classant par ordre chronologique, il sera possible d'identifier les programmes qui se sont exécutés sur le système.

c) Le registre

Le registre Windows est une base de données hiérarchique qui stocke les paramètres de bas niveau pour le système d'exploitation Microsoft Windows et pour les applications qui choisissent d'utiliser le registre.

Le noyau, les pilotes de périphérique, les services, le gestionnaire de comptes de sécurité (SAM) et l'interface utilisateur peuvent tous utiliser le registre.

Le registre contient des informations auxquelles Windows fait constamment référence pendant son fonctionnement, telles que les profils de chaque utilisateur, les applications installées sur l'ordinateur et les types de documents que chacun peut créer, les propriétés des dossiers et des icônes d'application, le matériel existant sur le système, et les ports utilisés.

Figure 2.19. Les registres

Le fichier SAM contient toutes les informations de comptes utilisateurs et de droits d'accès. Il est possible de dumper les fichiers de registre avec FTK Imager.

Figure 2.20. Registre Dumpé

? 2.16.5. Analyse des images

a) Obtention des informations du vidage de la mémoire

La toute première commande à exécuter lors d'une analyse de mémoire volatile est : imageinfo, elle vous aidera à obtenir plus d'informations sur le vidage mémoire. Avec -f spécifiant votre fichier de vidage et imageinfo le plugin de volatilité que vous souhaitez utiliser. Vous devriez obtenir le résultat suivant :

Figure 2.21. Informations du Dump

Nous avons maintenant le système d'exploitation de l'ordinateur d'où provient ce vidage mémoire (WinXPSP2x86). L'enquête peut maintenant commencer, nous pouvons spécifier à volatilité le profil de l'OS (--profile=WinXPSP2x86) et essayer de trouver ce qui s'est passé sur l'ordinateur de la victime.

b) Liste de processus

Voyons quels étaient les processus en cours d'exécution utilisant le plugin pslist.

Figure 2.22.Liste de processus Dump mémoire

Une alternative au plugin pslist peut être utilisée pour afficher les processus et leurs processus parents : pstree

Figure 2.23. Affichage de processus Dump avec Arborescence

À première vue, nous pouvons remarquer un processus étrange nommé "reader_sl.exe" avec le "explorer.exe" comme processus parent (PPID) qui était l'un des derniers processus en cours d'exécution sur la machine.

Exécutions une dernière commande avant d'approfondir ces deux processus. psxview listera les processus qui essaient de se cacher lorsqu'ils s'exécutent sur l'ordinateur, ce plugin peut être très utile.

Figure 2.24. Liste de processus Dump cachés

Nous constatons ici qu'aucun processus ne semble être caché, si c'est le cas, nous aurions vu False dans les deux premières colonnes (pslist et psscan).

Rentrons à l'enquête car aucun processus ne se cache. Après avoir vu les processus en cours d'exécution, une bonne chose à faire est de vérifier les sockets en cours d'exécution et les connexions ouvertes sur l'ordinateur. Pour ce faire, nous allons utiliser ces différents plugins : connscan , netscan et sockets.

Figure 2.25. Liste de processus ayant ouverts les connexions à l'ordinateur

Figure 2.26. Liste de processus, leurs ports et protocoles utilisés

Le plugin connscan est un scanner pour les connexions TCP, tandis que les sockets imprimeront une liste des sockets ouverts et enfin netscan (qui ne peut pas être utilisé dans notre exemple en raison du profil utilisé) scannera une image Vista (ou ultérieure) pour les connexions et les sockets.

Dans notre scénario, deux connexions TCP sont utilisées par le processus avec le PID 1484 (en regardant nos sorties d'historique de commandes, nous pouvons facilement lier le PID 1484 au processus explorer.exe). Nous pouvons voir que l'une de ces connexions TCP est toujours ouverte, celle utilisant le port 1038 et communiquant avec l'adresse IP de destination 41.168.5.140.

Voyons maintenant les dernières commandes exécutées, en utilisant cmdscan, les consoles et les plugins cmdline.

Figure 2.27. Commandes stockées du Dump

Les deux premiers plugins : consoles (qui extrait l'historique des commandes en recherchant _CONSOLE_INFORMATION) et cmdscan (qui extrait l'historique des commandes en recherchant _COMMAND_HISTORY) ne contenaient aucune information dans leurs tampons.

Cependant, le plugin cmdline qui affiche les arguments de ligne de commande du processus nous a donné des informations intéressantes. En effet, nous avons maintenant le chemin complet des processus lancés avec les PID 1484 et 1640. Le processus « Reader_sl.exe » devient de plus en plus suspect...

Jusqu'alors, nous savons que ce processus a été lancé par le processus explorateur, censé être une application Adobe Reader classique, cependant nous avons observé une connexion en cours d'exécution vers une IP externe utilisée par ce même processus...

Avant de conclure, intéressons-nous à l'exécutable concerné et à l'analyse de ce dernier en utilisant respectivement procdump et memdump en précisant le -p 1640 (son PID) et --dump-dir (le répertoire où l'on veut extraire ces dumps).

Figure 2.28. Exécutable du processus suspect

Le premier fichier "executable.1640.exe" est une restitution de l'exécutable "Reader_sl.exe" et le dump extrait "1640.dmp" représente la mémoire adressable du processus.

Ensuite, une simple analyse de ces fichiers peut se faire en utilisant la commande linux « strings », soyez patient en général les dumps contiennent beaucoup d'informations. Dans notre scénario, nous recherchons une relation entre l'information déjà récupérée du dump (notamment la connexion tcp ouverte vers l'IP 41.168.5.140) et ce processus 1640.

Essayons de voir le fichier "executable.1640.exe" sur le site de Virustotal, pour en savoir plus :

Figure 2.29. Analyse de l'exécutable obtenu sur virus total

? Conclusion

L'investigation numérique légale est un processus compliqué qui commence à la scène du crime, continue aux laboratoires informatiques pour en tirer des éléments de preuves et se termine dans la cour où se fait le jugement final. Dans ce chapitre, nous venons de voir plusieurs outils et utilitaires pour nous permettre d'appréhender les différentes situations de l'analyse forensique. C'est maintenant à nous de tester et de choisir nos outils pour réaliser nos investigations. Dans le prochain chapitre, nous parlerons des méthodes d'analyse et de conception qui nous permettront d'implémenter la plateforme d'investigation digitale pour apprendre et réaliser votre analyse forensique à bon échéant.

CHAPITRE

3

Méthodes d'analyse et de conception

? 3.1. Introduction

En ingénierie, une méthode d'analyse et de conception est un procédé qui a pour objectif de permettre de formaliser les étapes préliminaires du développement d'un système afin de rendre ce développement plus fidèle aux besoins du client. Pour ce faire, on part d'un énoncé informel, ainsi que de l'analyse de l'existant éventuel.

Dans ce chapitre, nous allons aborder les deux phases comme suit : la phase d'analyse nous permettra de lister les résultats attendus, en termes de fonctionnalités et la phase de conception nous permettra de décrire de manière non ambiguë, le plus souvent en utilisant un langage de modélisation, le fonctionnement futur du système, afin d'en faciliter la réalisation.

? 3.2. Définition des concepts

Une méthode définit une démarche en vue de produire des résultats. Par exemple, les cuisiniers utilisent des recettes de cuisine, les pilotes déroulent des checklists avant de décoller, les architectes font des plans avant de superviser des chantiers. Une méthode permet d'assister une ou plusieurs étapes du cycle de vie du logiciel. Les méthodes d'analyse et de conception fournissent des notations standards et des conseils pratiques qui permettent d'aboutir à des conceptions « raisonnables », mais nous ferons toujours appel à la créativité du concepteur. Sans plus tarder, nous allons définir les termes qui viennent souvent dont une méthode, une analyse et la conception.

a) Méthode

Par définition, une méthode est un ensemble de démarches que suit l'esprit pour découvrir et démontrer la vérité.34(*) C'est aussi un ensemble de règles ou de principes sur lesquels reposent l'enseignement, la pratique (d'une technique, d'un art). Scientifiquement parlant, une méthode désigne l'ensemble des canons guidant ou devant guider le processus de production des connaissances scientifiques, qu'il s'agisse d'observations, d'expériences, de raisonnements, ou de calculs théoriques. Très souvent, le terme de « méthode » engage l'idée implicite de son unicité, tant auprès du grand public que de certains chercheurs, qui de surcroît la confondent parfois avec la seule méthode hypothético-déductive. Nous pouvons en déduire qu'une méthode scientifique est une façon d'accéder à la connaissance réglementée.

b) Analyse

Une analyse est une opération intellectuelle consistant à décomposer un tout en ses éléments constituants et d'en établir les relations.35(*)

c) Conception

La conception technique consiste à rassembler des renseignements technologiques établis sur un sujet donné, à choisir les renseignements pertinents et, à partir de ces derniers, à élaborer une conception pratique, économique et sécuritaire.36(*)

3.3. Pourquoi utiliser une méthode ?

L'utilisation d'une méthode est de permettre de formaliser les étapes préliminaires du développement d'un système afin de rendre ce développement plus fidèle aux besoins du client. Pour ce faire, on part d'un énoncé informel (le besoin tel qu'il est exprimé par le client, complété par des recherches d'informations auprès des experts du domaine fonctionnel, comme par exemple les futurs utilisateurs d'un logiciel), ainsi que de l'analyse de l'existant éventuel (c'est-à-dire la manière dont les processus à traiter par le système se déroulent actuellement chez le client).

La phase d'analyse permet de lister les résultats attendus, en termes de fonctionnalités, de performance, de robustesse, de maintenance, de sécurité, d'extensibilité, etc.

La phase de conception permet de décrire de manière non ambiguë, le plus souvent en utilisant un langage de modélisation, le fonctionnement futur du système, afin d'en faciliter la réalisation.

? 3.4. Classification des méthodes d'analyse et de conception

Les méthodes d'analyse et de conception sont réparties en quatre grandes familles :

3.4.1. Méthodes cartésiennes ou fonctionnels

Les méthodes fonctionnelles ou cartésiennes consistent à décomposer hiérarchiquement une application en un ensemble de sous applications. Les fonctions de chacune de ces dernières sont affinées successivement en sous fonctions simples à coder dans un langage de programmation donné.

Ces méthodes utilisent intensivement les raffinements successifs pour produire des spécifications dont l'essentiel est sous forme de notation graphique en diagrammes de flots de données.

3.4.2. Méthodes objet

L'approche objet permet d'appréhender un système en centrant l'analyse sur les données et les traitements à la fois. Les stratégies orientées objet considèrent que le système étudié est un ensemble d'objet coopérant pour réaliser les objectifs des utilisateurs. Les avantages qu'offre une méthode de modélisation objet par rapport aux autres méthodes sont la réduction de la « distance » entre le langage de l'utilisateur et le langage conceptuel, le regroupement de l'analyse des données et des traitements, la réutilisation des composants mis en place.

3.4.3. Méthodes systémiques

Dans les méthodes systémiques37(*), le système est abordé à travers l'organisation des systèmes constituants l'entreprise. Elles aident donc à construire un système en donnant une représentation de tous les faits pertinents qui surviennent dans l'organisation en s'appuyant sur plusieurs modèles à des niveaux d'abstraction différents (conceptuel, organisationnel, logique, physique, etc.).

3.4.4. Approche orientée aspect

La programmation orientée aspect ou POA est un paradigme de programmation qui permet de traiter séparément les préoccupations transversales (en anglais, cross-cutting concerns), qui relèvent souvent de la technique, des préoccupations métier, qui constituent le coeur d'une application38(*). Un exemple classique d'utilisation est la journalisation, mais certains principes architecturaux ou modèles de conception peuvent être implémentés à l'aide de ce paradigme de programmation, comme l'inversion de contrôle39(*).

La programmation orientée aspect est bien une technique transversale (paradigme) et n'est pas liée à un langage de programmation en particulier mais peut être mise en oeuvre aussi bien avec un langage orienté objet comme PHP qu'avec un langage procédural comme le C, le seul prérequis étant l'existence d'un tisseur d'aspect pour le langage cible.

3.5. Choix d'une méthode d'analyse et de conception

Pour procéder à l'implémentation d'une application web ou desktop, une étude et une conception normalisée selon la norme de modélisation universellement reconnue polyvalente et performante, l'utilisation d'UML s'avère nécessaire. Dans notre démarche, pour la réalisation du système du projet, nous retenons les étapes suivantes :

? Détermination des acteurs potentiels du système

? Description des cas d'utilisation fondamentaux

? Les diagrammes de séquence

? Le diagramme de classe de conception

? Le diagramme de déploiement

? Conclusion

Dans chaque projet informatique, il y a toujours un problème de conception ou de modélisation qui surgit, c'est sur ce, que dans ce chapitre nous avons parlé des différentes méthodes de conception qui existent et faire un choix pour faire la modélisation de notre plateforme avant implémentation. Dans le chapitre suivant, nous allons faire un choix des outils cités ci-haut et procéder à l'implémentation de la plateforme d'investigation digitale.

CHAPITRE

4

CONCEPTION ET IMPLEMENTATION DU SYSTEME

? 4.1. Introduction

L'application web est le système informatique par excellence sur le World Wide Web. En effet, c'est un logiciel hébergé par le moyen d'un serveur et qui ne nécessite pas d'installation. C'est une manière pratique d'utiliser un service sur son terminal numérique. C'est par l'utilisation d'un navigateur web que le client peut utiliser l'application et c'est uniquement en ligne.

C'est par le moyen technique du client-serveur que l'application fonctionne et s'opère. Dans un premier temps, le navigateur client achemine au serveur des requêtes vers des pages web. Puis, ce même serveur tient compte des requêtes acheminées et soumet des pages web au navigateur. Enfin, le navigateur génère une page ou des pages pour l'utilisateur.

Il existe un très grand nombre d'applications sur le web, de toutes sortes et pour différents usages. On peut citer quelques exemples : les jeux en ligne, les blogs, les e-commerces, etc. Ils sont très appréciés par tous les internautes. Chacune d'entre elles a besoin d'une architecture web pour fonctionner : une à 2-tiers ou 3-tiers pour les plus développées. En fonction de l'application web, il faut choisir la bonne architecture qui s'adapte à elle.

L'organisation et la structure d'une application sont les deux éléments principaux qui définissent son architecture. En effet, ce sont tous les éléments qui vont permettre de faire fonctionner l'application et surtout c'est comment ils vont permettre de le faire. Dans ce type de modèle, on décrit de la manière la plus détaillée comment on va aboutir à l'application, cela peut être représenté sous forme de graphique. C'est une étape de création nécessaire qui prend en compte le développement du site web et également ses fonctions. C'est avec l'appui de ce document qu'on peut réaliser les spécifications.

On distingue deux types d'architecture : une architecture dite fonctionnelle et une autre qui est dite technique.

L'architecture de l'application web dite fonctionnelle, c'est comment les fonctionnalités vont être organisées sur l'application web et comment elles vont fonctionner. Le développeur garde à l'esprit le client car l'application lui est destinée. Ces fonctionnalités sont conçues pour l'utilisateur afin qu'il utilise au mieux le ou les services proposés par l'application. On pose les limites des différentes fonctions dans cette partie-là. Puis, après qu'elles sont posées, on décrit de la manière la plus fidèle possible comment les fonctionnalités vont être appliquées et vont fonctionner. C'est une étape très importante dans la conception d'une application web.

L'architecture de l'application web dite technique, c'est comment le développeur va établir le développement et la gestion du site web. On explicite les différentes parties techniques de l'application : leurs rôles, leurs interactions, leurs objectifs et leurs caractéristiques. La personne qui se charge de cette partie a des compétences avancées en informatique et dispose d'une formation solide en développement. Il faut maîtriser le code informatique : HTML, CSS, PHP, Javascript, etc. Puisque dans la partie technique, il faut expliquer comment on va utiliser le langage de codage pour concevoir l'application. Dans ce sens, il est intéressant d'utiliser un Framework pour monter les bases de l'application.

De ce fait, un des langages informatiques les plus utilisés, pour développer une application web, est le langage PHP. En effet, pratiquement tous les professionnels de l'informatique savent l'utiliser, il est universel et libre. C'est un langage très utilisé dans le domaine de la base de données, il interagit avec cette dernière à travers un logiciel de type plateforme telle que WAMP. Il se retrouve dans ce type de logiciel avec MySQL et Apache. Dans ce cas-là, la programmation du logiciel en ligne se fera essentiellement avec du PHP.

Ainsi, en matière d'architecture d'application web, le langage PHP peut être sollicité pour une architecture-type client-serveur ou une architecture 3-tier (3 niveaux) avec l'intervention d'une base de données.

? 4.2. Le langage PHP

Le langage PHP ou Hypertext Processor est un langage en code informatique. Ce type de codage est la plupart du temps exploité afin de créer des pages web dites dynamiques à travers un serveur HTTP. C'est son utilité principale mais ce langage n'est pas utilisé exclusivement pour cela. Le PHP est le langage le plus populaire et vient ensuite le Java, l'ASP.NET et l'HTML. Il est très apprécié par le grand public et par les entreprises de toutes tailles. Le PHP est un type de codage impératif et orienté objet.

Son utilisation a été pensée pour l'Internet, dans cette optique, son exécution repose sur le principe de client-serveur. C'est-à-dire que l'utilisateur cherche à visiter une page web, le navigateur client transmet la requête en question au serveur web. Dès lors, quand la page web est caractérisée comme un script PHP alors le serveur communique avec l'interprète PHP afin qu'il génère le code HTML pour que l'utilisateur voit les pages HTML.

Le PHP est aussi caractérisé comme un langage serveur car les serveurs s'interprètent, génèrent des données et d'autres types de code grâce à lui. Sur le web, les applications sont principalement utilisées en ligne. Ainsi, les concepteurs d'application développent un certain dynamisme qui est bien opéré et exécuté par le PHP. Il est très flexible, performant et polyvalent. Il est polyvalent puisqu'il peut être converti en PDF par exemple. Même s'il peut être utilisé avec un serveur HTTP, il est le plus souvent dans un couplage avec le serveur Apache, étant donné qu'il permet dans ce cas-là de faire de la récupération et de la sauvegarde de données à l'aide d'une base de données.

Le PHP a été souvent renouvelé et amélioré, de ce fait, il a eu plusieurs versions pour permettre à ses utilisateurs de profiter des dernières avancées en matière de code informatique. Sa dernière version est la version 7.4.1.

Ce qui fait aussi son succès, c'est la facilité de son utilisation, bien que les professionnels ne puissent pas s'en passer, les débutants peuvent aussi s'en servir et l'utiliser parfaitement. Ce type de code a été conçu dans le but d'être accessible par tous. D'autant plus que ce code est totalement gratuit et facilement installable.

Il s'utilise sur tous les types de systèmes d'exploitation : Windows, Mac et Linux. Ce qui le rend attractif par l'ensemble des utilisateurs de code informatique. Il permet à tous de pouvoir travailler sur le développement web.

L'usage de ce langage va nous permettre ainsi de générer du contenu affiché sur les pages web de la plateforme. Ce langage va nous aider aussi à gérer le contenu des applications de manière efficace. Nous utiliserons une architecture client-serveur pour concevoir au mieux la plateforme digitale d'investigation numérique pour le Département de génie informatique.

? 4.3. Conception générale du système proposé

? 4.3.1. Architecture fonctionnelle

Figure 4.1. Architecture fonctionnelle

Le concept de partitionner une application en couches et de garder toute la logique de l'application dans ces couches distinctes et séparées, a été introduit bien avant l'approche orientée objet. Ainsi une application est divisée en trois couches logiques, chacune traitant des fonctions spécifiques :

- Présentation : interface usager et présentation.

- Logique du logiciel à produire (besoins et services de la plateforme) : les règlements d'accès et la logique de la plateforme.

- Logique des données : Base de données et intégration des services de la plateforme.

Ce concept nous permet de créer des composants indépendants et de les déployer sur des plates-formes différentes. En fait, ce concept est très utilisé dans le développement des applications multi-tier. Plus tard, il fut adapté au modèle de conception Model-View-Controller (MVC) qui est un modèle très commun pour développer des applications distribuées et multi-tier.

? 4.3.2. Architecture technique

Figure 4.2. Architecture technique de la plateforme

? 4.4. Conception et modélisation détaillée avec UML

? 4.4.1. Détermination des acteurs potentiels du système

Pour ce qui est des acteurs, il s'agit bien des tous les étudiants du département de génie informatique de l'ESP ainsi que son personnel voulant apprendre l'investigation numérique.

? 4.4.2. Description des cas d'utilisation

La description qu'on va élaborer est structurée comme suit :

A. Cas d'utilisation s'authentifier

a) Pré conditions.

Il s'agit bien d'avoir accès à la plateforme d'investigation numérique, comme précondition l'utilisateur doit tout d'abord créer un compte sur la plateforme d'apprentissage pour avoir un login et un mot de passe puis les informations d'accès l'ordinateur virtuel pour le test lui seront transmises par l'administrateur système. Seuls les emails professionnels de l'Ecole Supérieure Polytechnique seront acceptés.

b) Acteurs

Tous les acteurs seront concernés par l'authentification.

c) Scénario nominal.

1. Identification

? L'utilisateur saisit ses droits d'accès.

? Le système vérifie si les champs ne sont pas vides, si erreur alors Exception 1.

? Il vérifie ensuite si les informations sont valides, si erreur alors Exception 2.

? Le système redirige l'acteur vers son espace selon son rôle.

2. Inscription

? L'utilisateur introduit les informations demandées dans le formulaire et valide son inscription.

? Le système vérifie si les champs obligatoires sont renseignés. Si erreur alors exécuter Exception 3.

? Le système vérifie si les informations sont valides, si erreur alors Exception 4.

? Il vérifie si le pseudo et l'email existent ou pas, si oui alors Exception 5.

d) Exceptions :

? Exception 1 : message d'erreur « Un champ est vide ». L'acteur s'authentifie une 2ème fois.

? Exception2 : message d'erreur « login et mot de passe doivent avoir au moins 6 caractères ». L'utilisateur s'authentifie une 2ème fois.

? Exception 3 : un message d'erreur contenant : « Un champ obligatoire est vide ». L'acteur doit remplir les champs obligatoires.

? Exception 4 : message d'erreur « login et mot de passe doivent avoir au moins 6 caractères ». L'acteur doit revérifier les champs.

? Exception 5 : un message d'erreur contenant : ou bien c'est un champ qui est vide, ou bien le nom existe déjà. L'utilisateur est invité à corriger son erreur et à la valider.

e) Post conditions.

Après que l'acteur ait rempli toutes les exigences énumérées ci-dessus, le système va lui rediriger vers l'espace utilisateur regroupé en deux parties :

- L'espace apprentissage des formations forensic (Androïd, Mac Os et Windows) et

- L'ordinateur virtuel forensic.

B. CAS D'UTILISATION AJOUT D'UNE FORMATION

a) Acteurs :

Administrateur du système

b) Pré condition :

L'acteur doit s'authentifier.

c) Scénario nominal :

d) Ajouter d'une formation

L'acteur remplit les champs du formulaire.

Le système vérifie si un champ est vide, invalide, si erreur alors Exception 1. Il valide l'ajout de la nouvelle formation.

e) Modifier une formation

L'acteur sélectionne la formation.

Il met à jour les informations concernées par la modification et valide, si erreur alors Exception 1.

f) Lister les différentes formations

Le système affiche la liste de formations enregistrées au préalable sur la plateforme.

g) Supprimer un produit

L'acteur choisit la formation qu'il veut supprimer.

d) Exceptions :

Exception 1 : un message d'erreur apparaît relatif à l'erreur rencontrée.

e) Post conditions :

Formation mise à jour.

Mise à jour de la base de données.

C. CAS D'UTILISATION RECHERCHER UNE FORMATION

a) Acteurs :

Administrateur du système et l'apprenant.

b) Pré condition :

Avoir un compte utilisateur au préalable, la recherche de la formation ne peut se faire que par les acteurs étant déjà authentifiés.

c) Scénario nominal :

h) Rechercher une formation

L'acteur remplit le champ de recherche et valide.

Le système vérifie si un champ est vide, invalide, si erreur alors Exception 1.

i) Exceptions :

Exception 1 : un message d'erreur apparaît relatif à l'erreur rencontrée.

d) Post conditions :

Formation trouvée avec l'affichage des détails de la formation ou aucun résultat n'a été trouvé si la formation n'existe pas dans base de données.

5.4.3 Les diagrammes de séquence

A partir du diagramme de cas d'utilisation et de la description des cas d'utilisation énumérés dans les points précédents, nous obtenons les diagrammes de séquence suivants :

A. Diagramme de séquence créer un compte

Figure 4.3. Diagramme de séquence créer un compte

B. Diagramme de séquence s'authentifier

Figure 4.3. Diagramme de séquence d'authentification

C. Diagramme de séquence ajout d'une formation

Figure 4.4. Diagramme de séquence ajout d'une formation

D. Diagramme de séquence rechercher une formation

Figure 4.5. Diagramme de séquence recherche d'une formation

4.4.4 Le diagramme de classe de conception

Figure 4.6 Diagramme de classe

? 4.5. Implémentation

? 4.5.1. Introduction

Nous arrivons enfin dans la partie la plus essentielle de notre recherche. Nous allons présenter les différentes technologies utilisées pour arriver à la mise en place de la plateforme ainsi les différentes ressources qui seront placées sur GitHub en mode private et pour tout celui qui voudra toucher aux codes sources de cette dernière, les coordonnées de l'Université y seront bien évidemment pour vous permettre à y avoir accès.

? 4.5.2. Virtualisation

La virtualisation est une technologie permettant de créer et d'exécuter une ou plusieurs représentations virtuelles d'un ordinateur ou de ses différentes ressources sur une même machine physique.

La virtualisation consiste à créer une représentation virtuelle, basée logicielle, d'un objet ou d'une ressource telle qu'un système d'exploitation, un serveur, un système de stockage ou un réseau. Ces ressources simulées ou émulées sont en tous points identiques à leur version physique.

Les machines virtuelles sont exécutées sur une couche d'abstraction matérielle. Ainsi, les entreprises sont en mesure d'exécuter plusieurs systèmes d'exploitation et applications simultanément sur un serveur unique. Les ressources et capacités du serveur sont réparties entre les différentes instances. Ceci permet de réaliser d'importantes économies et d'utiliser les serveurs plus efficacement puisque leurs capacités sont pleinement exploitées.

De plus, la virtualisation permet d'exécuter des programmes de façon isolée pour effectuer des tests en toute sécurité sans risquer de compromettre les autres machines virtuelles exécutées sur le même serveur hôte. Pour les particuliers et les utilisateurs de PC, il est aussi possible d'utiliser la virtualisation pour exécuter des applications nécessitant différents systèmes d'exploitation sur un seul et même ordinateur.

a) Comment fonctionne la virtualisation

La technologie de virtualisation repose sur l'abstraction d'une application, d'un système d'exploitation ou du stockage de données du véritable logiciel ou du hardware sous-jacent. L'un des principaux cas d'usage est la virtualisation de serveur, reposant sur une couche logicielle appelée « hyperviseur » pour émuler le hardware.

L'hyperviseur permet de créer et d'exécuter des machines virtuelles. Le logiciel se charge de diviser les ressources entre les différents environnements virtuels en fonction de leurs besoins.

Par le passé, on distinguait les hyperviseurs natifs, directement intégrés au hardware du logiciel, et les hyperviseurs « hébergés » semblables à des applications logicielles. Cependant, sur les systèmes modernes, cette distinction a perdu de l'importance. Pour cause, il existe désormais des systèmes comme le KVM (kernel-based Virtual machine), qui est intégré au kernel Linux et peut exécuter les machines virtuelles directement bien qu'il soit possible de continuer à utiliser le système lui-même comme un ordinateur normal.

Les utilisateurs peuvent ensuite interagir et lancer des applications ou des calculs au sein de l'environnement virtuel, que l'on appelle généralement machine virtuelle. La machine virtuelle est l'équivalent émulé d'un ordinateur, et est exécutée par-dessus un autre système. Elle peut exploiter la puissance de calcul du CPU et la mémoire de la machine hôte, un ou plusieurs disques virtuels pour le stockage, une interface réseau virtuelle ou réelle, ainsi que les autres composants tels que les cartes graphiques ou même les clés USB.

La machine virtuelle fonctionne comme un fichier de données unique. Elle peut donc être transférée d'un ordinateur à l'autre, et fonctionner de la même manière sur les deux machines. Si la machine virtuelle est stockée sur un disque virtuel, on parle souvent d'une image disque.

b) Types de virtualisations

Il existe différents types de virtualisation. On dénombre six principaux domaines de l'informatique où la virtualisation est couramment utilisée :

1. La virtualisation de serveur, précédemment évoquée, permet d'exécuter plusieurs systèmes d'exploitation sur un seul serveur physique sous forme de machines virtuelles. Elle permet une efficacité accrue, une réduction des coûts, un déploiement plus rapide des workloads, une augmentation des performances d'application, une disponibilité de serveur en hausse, et l'élimination des complications liées à la gestion de serveurs.

2. La virtualisation de réseau consiste à reproduire un réseau physique et ses différents composants : ports, interrupteurs, routeurs, firewalls, équilibreurs de charges... ceci permet d'exécuter des applications sur un réseau virtuel comme sur un réseau physique, tout en profitant de l'indépendance matérielle inhérente à toute forme de virtualisation.

3. La virtualisation de stockage consiste à assembler la capacité de stockage de multiples appareils de stockage en réseau sous forme d'un seul appareil de stockage (virtuel) pouvant être géré depuis une console centrale.

4. La virtualisation desktop est similaire à la virtualisation de serveur, mais permet de créer des machines virtuelles reproduisant des environnements de PC. Ceci permet aux entreprises de réagir plus rapidement aux changements de besoins et aux nouvelles opportunités. De plus, les PC virtualisés, tout comme les applications, peuvent être transférés rapidement à des sous-traitants ou à des employés travaillant sur des appareils mobiles comme les tablettes. C'est celle-ci qui va nous servir à faire le déploiement des machines virtuelles pour tous nos étudiants qui seront inscrits sur la plateforme en utilisant la technologie d'amazone Workspace.

5. La virtualisation de données repose sur l'abstraction des détails techniques traditionnels des données et du Data Management : localisation, performance, format... Ceci permet d'ouvrir l'accès aux données et d'accroître la résilience. De plus, la « Data Virtualization » permet aussi de consolider les données en une source unique afin de simplifier leur traitement.

6. La virtualisation d'application consiste en l'abstraction de la couche application du système d'exploitation. Ceci permet d'exécuter l'application sous une forme encapsulée, indépendante du système d'exploitation. Ainsi, il est par exemple possible d'exécuter une application Windows sur Linux et vice-versa.

? 4.5.3 Machine virtuelle et Container

En principe, les containers Linux sont similaires aux machines virtuelles. Les deux permettent l'exécution d'applications au sein d'un environnement isolé, et peuvent être accumulés séparément sur une même machine. Cependant, leur fonctionnement est différent.

Un container n'est pas une machine indépendante complète. Il s'agit simplement d'un processus isolé partageant le même kernel linux que le système d'exploitation hôte, ainsi que les bibliothèques et autres fichiers nécessaires à l'exécution du programme contenu dans le container. En général, les conteneurs sont conçus pour exécuter un programme unique et non un serveur complet.

? 4.5.4. Virtualisation et Cloud Computing

La virtualisation et le Cloud Computing sont deux technologies à ne pas confondre. La virtualisation permet de rendre les environnements informatiques indépendants d'une infrastructure physique, tandis que le Cloud Computing est un service délivrant les ressources informatiques partagées à la demande via Internet.

Ces deux technologies sont donc différentes, mais peuvent aussi être complémentaires. Il est par exemple possible de virtualiser les serveurs, pour ensuite migrer vers le Cloud en vue d'une agilité amplifiée et d'un accès self-service.

4.6. Amazon Web Services

Le Cloud AWS est une plateforme de services cloud développée par le géant américain Amazon. AWS regroupe plus de 100 services répartis en diverses catégories telles que le stockage cloud, la puissance de calcul, l'analyse de données, l'intelligence artificielle ou même le développement de jeux vidéo. Nous allons devoir apprendre d'Amazon Web Services, son histoire, ses avantages, son fonctionnement et les différents services proposés.

Lancé en 2006, Amazon Web Services est la plateforme de cloud computing qui regroupe les services Cloud d'Amazon. Initialement conçu comme une ressource interne à partir de l'infrastructure de Webstore, AWS est ensuite devenu un fournisseur de solutions cloud innovantes et économiques permettant aux entreprises qui les utilisent de grandir et de monter en échelle.

C'est grâce à Amazon Web Services que Amazon est devenu le leader mondial du cloud computing. Les services Amazon Cloud sont utilisés par des millions d'entreprises dans le monde entier comme Spotify, Yelp, Shazam ou encore AirBnB. AWS apparaît comme le leader sur ce marché. Entre 2015 et 2017, ses ventes sont passées de 7,8 millions de dollars à 17,5 millions de dollars en 2017. L'année dernière son bénéfice net atteignait 4,3 millions de dollars.

? 4.6.1. AWS : Une plateforme de solutions Cloud flexible et sécurisée

La plateforme Cloud Amazon Web Services offre une large variété de solutions de Cloud Computing flexibles, extensibles, simples d'utilisation et peu coûteuses.

Développée par Amazon, cette plateforme regroupe des IaaS (infrastructures en tant que service), des PaaS (plateformes en tant que service), et des SaaS (logiciels en tant que service).

? 4.6.2. AWS : Histoire

L'histoire d'Amazon Web Services débute en 2002, avec le lancement de la beta « Amazon.com Web Service ». Cette beta offre aux développeurs des interfaces SOAP et XML pour le catalogue de produits Amazon. Il s'agit d'un premier pas vers le Cloud que nous connaissons aujourd'hui.

Peu après, en 2003, Jeff Bezos réunit chez lui les cadres d'Amazon. Le chef d'entreprise leur demande d'identifier les principales forces de l'organisation. De cette réunion, il ressort un constat clair : les services d'infrastructures confèrent à Amazon un véritable avantage sur la compétition.

Les leaders de la firme de Seattle ont alors l'idée de combiner des services d'infrastructure et des outils développeurs pour créer une sorte de système d'exploitation pour internet. Leur idée serait d'isoler les différentes parties de l'infrastructure, telles que la puissance de calcul, le stockage et les bases de données sous forme de composants pour l'OS. Des outils destinés aux développeurs permettraient de gérer ces composants.

Cette idée sera pour la première fois dévoilée au public dans un billet de blog, en 2004. Par la suite, AWS est lancé le 19 mars 2006. A l'époque, la plateforme regroupe uniquement Simple Storage Service (S3) et Elastic Computer Cloud (E). Rapidement, Simple Queue Service (SQS) est ajouté.

En 2009, S3 et E sont lancés en Europe. La même année, Elastic Block Store (EBS) est rendu public au même titre qu'un puissant CDN (Content Delivery Network) : Amazon Cloudfront. Ces services attirent de nombreux développeurs et posent les bases de partenariats avec des entreprises telles que Dropbox, Netflix et Reddit.

Un premier événement est organisé en 2012. Par la suite, AWS file sur la route du succès mondial. La firme atteint un chiffre d'affaires de 4,6 milliards de dollars en 2015, puis 10 milliards de dollars en 2016.

La même année, Snowball et Snowmobile sont lancés. En 2019, Amazon Web Services offre près de 100 services Cloud. Un long chemin a été parcouru depuis les débuts de la plateforme, et ce n'est en réalité qu'un début...

? 4.6.3. AWS : Les principaux services

Amazone Web Services regroupe actuellement plus d'une centaine de services, et ne cesse de se développer. Ces services sont répartis en plusieurs catégories : calcul, stockage, base de données, migration, mise en réseau et diffusion de contenu, outils pour développeurs, outils de gestion, sécurité et identité, analyses, intelligence artificielle, services mobiles, services applicatifs, messagerie, productivité d'entreprise, streaming de bureau et d'applications, internet des objets, centres d'appels, et développement de jeux.

? 4.6.4. AWS : Développement logiciel

Sur AWS, les développeurs logiciels peuvent profiter de différents outils de lignes de commande et de kits de développement SDK pour déployer et gérer leurs applications et services.

La AWS Command Line Interface est l'interface de code propriétaire d'Amazon. Les outils AWS Tools for PowerShell permettent quant à eux de gérer des services Cloud à partir d'environnements Windows.

En outre, le AWS Serverless Application Model permet de simuler un environnement AWS afin de tester des fonctions Lambda. Les SDK AWS sont disponibles pour différentes plateformes et langages de développement comme Java, PHP, Python, Node.js, Ruby, C++, Android et iOS.

L'Amazon API Gateway permet à une équipe de développement de créer, de gérer et de surveiller des APIs permettant aux applications d'accéder aux données ou aux fonctionnalités de services back-end. Des milliers d'appels APIs concurrents peuvent être gérés de façon centralisée.

Le service Amazon Elastic Transcoder est dédié au transcoding, et le AWS Step Functions permet de visualiser les flux de travail des applications basées sur les microservices. Par ailleurs, il est possible de créer des pipelines d'intégration et de livraison continue grâce à AWS CodePipeline, AWS CodeBuild, AWS CodeDeploy ou AWS CodeStar.

Enfin, le code informatique peut être stocké dans des dépôts Git à l'aide de AWS CodeCommit. Les performances des applications basées sur les microservices peuvent être évaluées avec AWS X-Ray.

? 4.6.5. AWS : Développement mobile

Les smartphones et tablettes prennent le pas sur les PC. Pour le développement d'applications mobiles, Amazon propose la suite d'outils AWS Mobile Hub. On retrouve notamment le AWS Mobile SDK regroupant des échantillons et des bibliothèques de code.

Le service Amazon Cognito permet de gérer facilement l'accès des utilisateurs aux applications mobiles. De même, Amazon Pinpoint permet d'envoyer des notifications push aux utilisateurs finaux et d'analyser par la suite l'efficacité de ces notifications.

? 4.6.6. AWS : Avantages et inconvénients

La plateforme Amazon Web Services offre de nombreux avantages. Elle permet aux entreprises d'utiliser des modèles de programmation, des OS, des bases de données et des architectures déjà familières.

Toutefois, il s'agit d'une solution économique puisque les utilisateurs payent uniquement pour les ressources qu'ils utilisent. De plus, les entreprises qui se tournent vers cette offre n'auront pas besoin de dépenser d'argent pour exploiter ou maintenir leurs Data Centers. Le coût total est largement inférieur à celui de serveurs privés ou dédiés.

Il est possible d'effectuer des déploiements rapides, dans de nombreuses régions du monde en quelques clics. Les utilisateurs peuvent ajouter ou supprimer de la capacité en toute simplicité. L'accès au Cloud est rapide, et la capacité illimitée.

Néanmoins, AWS présente aussi quelques inconvénients. Tout d'abord, pour profiter d'une assistance immédiate, il est nécessaire d'opter pour des packages de support payant.

En outre, Amazon Web Services présente les mêmes faiblesses que toutes les plateformes Cloud : les utilisateurs perdent un certain contrôle sur leurs données, et le risque de panne existe.

Par ailleurs, les limites de ressources (images, volumes, snapshots...) par défaut varient d'une région à l'autre. Enfin, en cas de changement au niveau du hardware dans les Data Centers AWS, les applications peuvent subir des baisses de performances temporaires...

? 4.7. Base de données et interfaces utilisateurs

a) Base de données

Figure 4.7. La base de données

b) Interface d'accueil

Figure 4.8. La page d'accueil de la plateforme

c) Interface d'authentification

Figure 4.9. La page d'authentification utilisateur

d) Création compte

Figure 4.10. Formulaire de création de compte utilisateur

e) Ajout des cours

Figure 4.11. Formulaire de création de formation

f) Le tableau de bord de l'apprenant

Figure 4.12. Tableau de l'étudiant

g) Formulaire de contact

Figure 4.12. Formulaire de contact

? 4.7.2. Codes sources

Les codes sources de la plateforme seront sous la direction du Département de Génie informatique de l'Ecole Supérieure Polytechnique de Dakar.

? 4.8. Installation des outils dans les ordinateurs virtuels

Les différents outils que nous allons installer sur les machines virtuelles de sont les suivants : Kit FTK, FTK Manager, The Sleuth Kit Autopsy, Volatility et Rekall.

? Conclusion

En guise de conclusion, ce chapitre est le pilier de nos recherches car c'est ici où nous avons utilisé toutes les technologies présentées dans les différents chapitres précédents. La plateforme a été implémentée dans un serveur local xampp jusqu'à sa finition. Le processus d'hébergement sera sous la responsabilité du Département de Génie informatique.

? CONCLUSION GENERALE

Le domaine de technologie de l'information connaît une croissance rapide et permet de retracer un crime à l'aide de médias numériques liés à des crimes assistés par ordinateur. A travers ce projet de recherche nous avons souhaité mettre en place une plateforme de travaux pratiques d'investigation digitale pour les étudiants du Département de Génie Informatique de l'Ecole Supérieure Polytechnique de Dakar en apportant une méthodologie d'investigation qui leurs permettra de suivre des formations très bien structurées et de façon pragmatique au laboratoire proposé par ladite plateforme pour être précis et concis lors d'une enquête. Cette dernière consistera à accompagner les étudiants d'avoir des connaissances nécessaires, comme par exemple : connaître si des attaquants se sont introduits sur l'un des serveurs de votre infrastructure ; sile site Web a subi une altération suite à une attaque d'activistes ;si la base de données a été exfiltrée et l'organisation subit un chantage ;si un rançongiciel a infecté une grande partie du parc informatique ;si une levée de doute est nécessaire sur le poste de travail d'un employé, etc.

L'apprentissage dans ladite plateforme permettra à l'étudiant d'être en mesure de qualifier un événement de sécurité (confirmer qu'il s'agit d'un incident) ; de mesurer l'impact immédiat, afin de vous conseiller sur la meilleure réaction à adopter ; de comprendre la vulnérabilité exploitée, avec comme objectif de vous proposer un plan de traitement ; d'identifier la source de menace : humaine ou automatique, motivations, niveau de préparation.

Selon le rapport de Microsoft Security Intelligence, tout le monde est la cible de cyber attaques, parmi ces attaques, le piratage informatique. Le Sénégal doit élaborer une bonne stratégie dans le domaine relativement à travers le temple du savoir que l'Ecole Supérieure Polytechnique de Dakar, pour faire face aux cybermenaces il faut passer d'abord, par une prise de conscience, l'éducation, la formation et le soutien des internautes, le renforcement du partenariat public-privé, et renforcement des moyens juridique que des ressources humaines.

Le développement des systèmes embarqués, l'arrivée des robots dans nos domiciles mais aussi la bio-informatique sont autant de domaines qui intéressent les cybercriminels de demain. Ainsi, dans un futur proche, il pourra être possible de pirater une voiture pour en prendre le contrôle, de s'introduire dans une maison par le biais d'un robot compromis, ou encore d'arrêter les battements d'un coeur artificiel à distance ou de contrôler un membre robotisé. C'est dans ces environnements vulnérables que l'investigation numérique peut contribuer à la protection de nos données mais également de l'individu.

? BIBLIOGRAPHIE

A. Ouvrages

1. Beebe N.L., Clark J.G.A., Hierarchical, Objectives-Based Framework for the Digital Investigations Process. Digit. Invest. 2005.

2. Casey E., Rose C.W., «Forensic Analysis» and «Handbook of Digital Forensics and Investigation», 2010.

3. Frederick B.Cohen «Fundamentals of Digital Forensic Evidence, Chapter in Handbook of Information and Communication Security», 2010.

4. Garfinkel S., Farrell PA., Roussev V., Dinolt G., Bringing science to digital forensics with standardized forensic corpora. Digit. Invest. 2009.

5. ILAC-G19, Guidelines for forensic science laboratories.

6. Kevin M., Chris P., Matt P., «Incident Response & Computer Forensics» (2e éd.), McGraw-Hill/Osborne, Emeryville, 2003.

7. Leigland R., Krings A., «A Formalization of Digital Forensics», International Journal of Digital Evidence, automne 2004, Volume 3, Édition 2.

8. Palmer G., «A Road Map for Digital Forensic Research» Rapport technique DTR-T001-01, DFRWS, Report From the First Digital Forensic Research Workshop (DFRWS), 2001.

9. Pollitt M., «Applying Traditional Forensic Taxonomy to Digital Forensics», Advances in Digital Forensics IV, actes de la conférence du TC11.9 de l'IFIP, 2009

10. Valjarevic A., Venter H.S., «Analyses of the State-of-the-art Digital Forensic Investigation Process Models», The Southern Africa Telecommunication Networks and Applications Conference (SATNAC), Afrique du Sud, 2012.

11. Valjarevic A., Venter H.S., «Harmonized Digital Forensic Investigation Process Model», International workshop on Digital Forensics in the Cloud (IWDFC), South Africa, 2012.

12. Valjarevic A., Venter H.S., « Towards a Harmonized Digital Forensic Investigation Readiness Process Modell », neuvième conférence internationale du WG 11.9 de l'IFIP sur les sciences forensiques numériques, Orlando. Floride, USA, 2013

B. Normes

1. ISO/IEC 27035 (toutes les parties), Technologies de l'information -- Techniques de sécurité -- Gestion des incidents de sécurité de l'information 1 (disponible uniquement en anglais).

2. ISO/IEC 27037 : 2012, Technologies de l'information -- Techniques de sécurité -- Lignes directrices pour l'identification, la collecte, l'acquisition et la préservation de preuves numériques.

3. ISO/IEC 27038, Technologies de l'information -- Techniques de sécurité -- Spécifications concernant l'expurgation numérique.

4. ISO/IEC 27041 : --, Technologies de l'information -- Techniques de sécurité -- Préconisations concernant la garantie d'aptitude à l'emploi et d'adéquation des méthodes d'investigation sur incident.

5. ISO/IEC 27042 : --, Technologies de l'information -- Techniques de sécurité -- Lignes directrices pour l'analyse et l'interprétation des preuves numériques 3

6. ISO/IEC 30121, Technologies de l'information -- Gouvernance du cadre de risque forensique numérique.

* 1 www.esp.sn [consulté le, 28 février 2022]

* 2 www.ensetp.ucad.sn [consulté le 28 février 2022]

* 3 www.faseg.ucad.sn [consulté le 28 février 2022]

* 4 Ministère de l'Enseignement supérieur, de la Recherche et de l'Innovation- MESRI ( http://www.mesr.gouv.sn), « Ministère de l'Enseignement supérieur, de la Recherche et de l'Innovation - Gouvernement du Sénégal » [consulté le 28 février 2022]

* 5 http://www.jo.gouv.sn/spip.php?article6663 [consulté le 01 Mars 2022]

* 6 K. Hung-Jui, W. Shiuh-Jeng, L. Jonathan, and G. Dushyant. Hash-algorithms output for digital evidence in computer forensics. In bwcca'11, Proceedings of 2011 International Conference on Broadband and Wireless Computing, Communication and Applications, pp. 399-404, Barcelona, (2011).

* 7 M. Clugston and J. Ed. The New Penguin Dictionary of Science. (1998).

* 8 G. Hong, J. Bo, and H. Hang. Forensics in Telecommunications, Information, and Multimedia. Second Edition, Springer Berlin Heidelberg, China, (2011).

* 9 WGDE Scientificc Working Group on Digital Evidence. Swgde and swgit digital multimedia evidence glossary. Scientificc Working Group on Digital Evidence, Technical Report, (2011).

* 10 G. Palmer. A Road Map for Digital Forensic Research. DFRWS Technical Report n° DTR /T001-2001, Utica, New York, (2001).

* 11 D. Carrier and E.H. Spafford. An event-based digital forensic investigation framework. In CERIAS'04, Center for Education and Research in Information Assurance and Security Proceedings of the fourth Digital Forensic Research Workshop, pp. 11-13, Baltimore, Maryland, (2004).

* 12 KL. Fei. Data Vizualisation in Digital Forensics, Magister Scientia in computer science. Department of Computer Science, University of Pretoria, South Africa, (2007).

* 13 M. Reith, C. Caar, and G. Gunsch. An examination of digital forensic models. In IJDE'02, International Journal of Digital Evidence, Vol. 1, No. 3, (2002).

* 14 KL. Fei. Data Vizualisation in Digital Forensics, Magister Scientia in computer science. Department of Computer Science, University of Pretoria, South Africa, (2007).

* 15 E. Casey. Network traffic as a source of evidence: Tool strengths, weaknesses, and future needs. Digital Investigation, Vol. 1, No. 1, pp. 28-43, USA, (2004).

* 16 E. Casey. Digital Evidence and Computer Crime: Forensic Science, Computers, and the Internet. Second Edition, Elseiver Academic Press, Great Britain, (2004).

* 17 KL. Fei. Data Vizualisation in Digital Forensics, Magister Scientia in computer science. Department of Computer Science, University of Pretoria, South Africa, (2007).

* 18 P. Motion. Hidden evidence. In JLSS'05, The Journal of the Law Society of Scotland, Vol. 50, No. 2, pp.32-34, Scotland, (2005).

* 19 Idem

* 20 WGDE Scientificc Working Group on Digital Evidence. Swgde and swgit digital multimedia evidence glossary. Scientificc Working Group on Digital Evidence, Technical Report, (2011).

* 21 Carrier and E.H. Spafford. An event-based digital forensic investigation framework. In CERIAS'04, Center for Education and Research in Information Assurance and Security Proceedings of the fourth Digital Forensic Research Workshop, pp. 11-13, Baltimore, Maryland, (2004).

* 22 J.R. Vacca. Computer Forensics: Computer Crime Scene Investigation. Second Edition, Charles River Media, USA, (2005).

* 23 Seema. Analysis of digital forensic and investigation. In VSRD-IJCSIT'11, International Journal of Computer Science and Information Technology, Vol. 1, No. 3, pp. 171-178, India, (2011).

* 24 Valjarevic A., Venter H.S., « Towards a Harmonized Digital Forensic Investigation Readiness Process Modell », neuvième conférence internationale du WG 11.9 de l'IFIP sur les sciences forensiques numériques, Orlando. Floride, USA, 2013.

* 25 Idem

* 26Casey E., Rose C.W., «Forensic Analysis» and «Handbook of Digital Forensics and Investigation», 2010.

* 27 Barclay, D. (2009). Using forensic science in major crime inquiries. Dans J. Fraser et R. Williams (dir.), Handbook of Forensic Science (p. 337-358). Cullompton, UK : Willian Publishing.

* 28 Chisum, W.J. et Turvey, B.E. (2011a). Forensic Science. Dans W. J. Chisum et B.E. Turvey (dir.), Crime Reconstruction (2e éd., p. 3-18). London, UK : Academic Press.

* 29 Bradbury, S.-A. et Feist, A. (2005). The use of forensic science in volume crime investigations: a review of the research literature, Home Office Online Report. Repéré à : https://www.gov.uk/government/publications/the-use-of-forensic-science-in-volume-crime-investigations-a-review-of-the-research-literature

* 30 Ribaux, O. (2014). Police scientifique : Le renseignement par la trace. Lausanne, Suisse : Presses polytechniques et universitaires romandes, p.64

* 31 Julian, R., Kelty, S. et Robertson, J. (2012). "Get it right the first time": Critical issues at the crime scene. Current Issues in Criminal Justice, 24(1), 25-38.

* 32 https://www.mailinblack.com/ressources/blog/quels-sont-les-differents-vecteurs-dattaques-informatiques/

* 33 https://www.larousse.fr/dictionnaires/francais/fichier/33578

* 34 Le petit Robert

* 35 Idem

* 36 http://www.innoviscop.com/definitions/conception# :~:text=La%20conception%20technique%20consiste%20%C3%A0,conception%20pratique%2C%20%C3%A9conomique%20et%20s%C3%A9curitaire. [Consulté le 23 Février 2022]

* 37Dominique NANCI, Bernard ESPINASSE, Bernard Cohen, Jean-Claude Asselborn et Henri Heckenroth, ingénierie des systèmes d'information : Merise deuxième génération 4°édition-2001

* 38 Maxime Borin, Ramnivas Laddad, AspectJ in Action: Practical Aspect-Oriented Programming, Manning Publications, 2003, 512 p.

* 39 Russell Miles, AspectJ Cookbook, O'Reilly, 2004, 360 p.






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Ceux qui vivent sont ceux qui luttent"   Victor Hugo