Cybersécurité: Les Attaques Par Déni de Service

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 90

Cybersécurité : les attaques par déni de service Année académique : 2020-2021

DÉDICACES

A ma famille, mes proches et tous mes amis.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


i
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

REMERCIEMENTS

Je remercie premièrement le Seigneur sans qui je ne serais pas là aujourd’hui.


Je souhaite également adresser mes remerciements :
A mes Directeurs de Mémoire, Messieurs Fraidy BOUESSE et Désiré
LILONGA,
Qui m’ont accompagné tout au long de ce travail, de par leurs connaissances, leur
implication et surtout leur temps.
A mon cher Père,
De là où tu te trouves je sais que tu me vois et que t’es fière.
A ma chère Mère,
Qui n’a jamais cessé de m’épauler par ses prières, sa présence et son éducation,
afin que j’aille toujours de l’avant.
A mes frères et sœur,
Pour leur présence également plus qu’importante et drôle, surtout quand on sait
combien j’aime le rire ça m’aide beaucoup.
A mes grands-parents aussi,
Qui sont toujours présents à leur façon, dans toutes les situations que nous
traversons.
A une Merveilleuse personne,
Qui a toujours milité pour que j’aille de l’avant, avec ses conseils, son soutien et
ses prières.
A mon équipe indefectible Happy customer Development,
Qui a contribué et pas qu’un peu pour la réalisation de ce travail.
A tous les amis de la promo LET 2015 et PMTEL 2019,
Avec lesquels on s’est soutenu durant toutes ces années.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


ii
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Table des matières

DÉDICACES -------------------------------------------------------------------------------------------------------- i
REMERCIEMENTS -------------------------------------------------------------------------------------------- ii
GLOSSAIRE ------------------------------------------------------------------------------------------------------- v
LISTE DES TABLEAUX ----------------------------------------------------------------------------------- viii
LISTE DES FIGURES ---------------------------------------------------------------------------------------- ix
INTRODUCTION GÉNÉRALE : CONTEXTE ET MOTIVATIONS --------------------- 10
CHAPITRE 1 : NOTION de CYBERSÉCURITE et de CYBERATTAQUE ----------- 12
I.1 Introduction ---------------------------------------------------------------------------------------- 12
I.2 Définition de la cybersécurité ------------------------------------------------------------- 12
I.3 Critères de cybersécurité -------------------------------------------------------------------- 12
I.3.1 Disponibilité ---------------------------------------------------------------------------------- 13
I.3.2 Intégrité ---------------------------------------------------------------------------------------- 13
I.3.3 Confidentialité ------------------------------------------------------------------------------ 13
I.3.4 Non-répudiation ---------------------------------------------------------------------------- 13
I.4 Définition et étapes de réalisation d’une cyberattaque ----------------------- 13
I.5 Catégorie de cyberattaques ----------------------------------------------------------------- 14
I.5.1 Cyberattaques actives ------------------------------------------------------------------- 14
I.5.2 Cyberattaques passives ----------------------------------------------------------------- 19
I.6 Pourquoi les cyberattaques par Déni de Service ? ------------------------------ 21
I.7 Conclusion ------------------------------------------------------------------------------------------- 22
CHAPITRE 2 : les CYBERATTAQUES de type DoS et DDoS ----------------------------- 23
I.8 Introduction ---------------------------------------------------------------------------------------- 23
I.9 Définition d'une cyberattaque DoS ------------------------------------------------------ 23
I.10 Différence entre les cyberattaques DoS et DDoS --------------------------------- 23
I.11 Modèles en couches ----------------------------------------------------------------------------- 24
I.11.1 Généralités sur le modèle OSI ------------------------------------------------------- 24
I.11.2 Généralités sur le modèle TCP/IP -------------------------------------------------- 27
I.12 Protocoles -------------------------------------------------------------------------------------------- 28
I.12.1 Le protocole http --------------------------------------------------------------------------- 29
I.12.2 Le protocole TCP --------------------------------------------------------------------------- 32
I.12.3 Protocole UDP ------------------------------------------------------------------------------- 35
I.12.4 Protocole DNS ------------------------------------------------------------------------------- 36
I.13 Types d’attaques par Déni de Service (DoS) ---------------------------------------- 38
I.13.1 Attaques sur la couche Application ----------------------------------------------- 39
I.13.2 Attaques Protocolaires ------------------------------------------------------------------ 40
I.13.3 Attaques Volumétriques ---------------------------------------------------------------- 42
I.14 Conclusion ------------------------------------------------------------------------------------------- 43
CHAPITRE 3 : ANALYSE et ÉVALUATION ------------------------------------------------------ 45
I.15 Introduction ---------------------------------------------------------------------------------------- 45
I.16 Définition d’un test de pénétration ----------------------------------------------------- 45
I.17 Différentes phases d’un test de pénétration ---------------------------------------- 45
I.17.1 Phase de planification (avant le test) -------------------------------------------- 45
I.17.2 Phase d’exécution (pendant le test) ----------------------------------------------- 46
I.17.3 Phase post-exécution (après le test) ---------------------------------------------- 47
I.18 Types de test de pénétration --------------------------------------------------------------- 47
I.18.1 Test de pénétration externe ---------------------------------------------------------- 47
I.18.2 Test de pénétration interne ----------------------------------------------------------- 48
I.19 Conditions d’un test d’intrusion ---------------------------------------------------------- 48

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


iii
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

I.19.1 Test de pénétration en boîte noire ------------------------------------------------ 48


I.19.2 Test de pénétration en boîte grise ------------------------------------------------- 49
I.19.3 Test de pénétration en boîte blanche -------------------------------------------- 49
I.20 Environnement des tests de pénétration --------------------------------------------- 50
I.20.1 L’hyperviseur -------------------------------------------------------------------------------- 51
I.20.2 Machine Hôte -------------------------------------------------------------------------------- 52
I.20.3 Machine cible -------------------------------------------------------------------------------- 56
I.21 Conclusion ------------------------------------------------------------------------------------------- 57
CHAPITRE 4 : IMPLÉMENTATION, RESULTATS et DISCUSSION ----------------- 58
I.22 Introduction ---------------------------------------------------------------------------------------- 58
I.23 Plan d’adressage des machines ------------------------------------------------------------ 58
I.24 Réalisation de l’attaque SYN Flood ----------------------------------------------------- 60
I.24.1 Première méthode : le constructeur de paquets ---------------------------- 60
I.24.2 Deuxième méthode : l’instance attaquante de Metasploit ------------- 67
I.25 Résultats et discussions ----------------------------------------------------------------------- 70
I.25.1 Résultats de la méthode du constructeur de paquets -------------------- 70
I.25.2 Résultats de la méthode de l’instance attaquante de Metasploit --- 74
I.26 Mesures protectrices contre les attaques DoS et DDoS ----------------------- 76
I.27 Conclusion ------------------------------------------------------------------------------------------- 78
I.28 Conclusion générale et perspectives -------------------------------------------------- 79
Références bibliographiques --------------------------------------------------------------------------- 81
Annexe ----------------------------------------------------------------------------------------------------------------I

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


iv
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

GLOSSAIRE

A
ACK: Acknowledgement
APCJ : Asie Pacifique Chine Japon
API: Automatic Programmable Interface
ARP: Adress Resolution Protocol

C
CIDR Classless InterDomain Routing
CRC: Cyclic Redundancy Check

D
DDoS: Distributed Denial of Service
DNS: Domain Name Service
DoS: Denial of Service

E
EIGRP: Enhanced Interior Gateway Routing Protocol
EMEA: Europe Middle East and Africa

F
FIN: Fin
FTP: Files Transfer Protocol

H
HTML: HyperText Markup Language
HTTP: Hypertext Transfer Protocol
HTTPS: Hypertext Transfer Protocol Secure

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


v
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

I
ICMP: Internet Control Message Protocol
IDS: Intrusion Systems Detection
IGMP: Internet Group Management Protocol
IMAP: Internet Message Access Protocol
IP: Internet Protocol
IPSec: Internet Protocol Secure
IRC: Internet Relay Chat
IS-IS: Intermediate System to Intermediate System

J
JPEG: Joint Photographic Experts Group

M
MAC: Media Access Control
MIME: Multipurpose Internet Mail Extensions
MITM: Man In The Middle
MPEG: Moving Picture Experts Group

O
OS: Operating System
OSI: Open Systems Interconnection
OSPF: Open Shortest Path First

P
PPP: Point-to-Point Protocol
PSH: Push

R
RIP: Routing Information Protocol
RST: Reset

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


vi
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

S
SI: Système d’information
SIRT: Security Incident Response Team
SQL: Structured Query Language
SSH: Secure Shell
SSL: Secure Sockets Layer
SYN: Synchronization

T
TCP: Transmission Control Protocol
TLD: Top Level Domain

U
UDP: User Datagram Protocol
URG: Urgent
URL: Uniform Resource Locator

V
VM: Virtual Machine
VMware: Virtual machines Ware

X
XSS: Cross-Site Scripting

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


vii
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

LISTE DES TABLEAUX

Tableau 1 : Quelques commandes HTTP -----------------------------------------------------------------31


Tableau 2 : Adressage des machines virtuelles ---------------------------------------------------------58

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


viii
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

LISTE DES FIGURES

Figure 1 : Critères de Cybersécurité -----------------------------------------------------------------------12


Figure 2 : Cyberattaques Actives ---------------------------------------------------------------------------15
Figure 3 : Cyberattaque de type Sniffing -----------------------------------------------------------------20
Figure 4 : Attaque Man In The Middle --------------------------------------------------------------------20
Figure 5 : Différence entre DoS et DDoS -----------------------------------------------------------------24
Figure 6 : Modèle OSI -------------------------------------------------------------------------------------------26
Figure 7 : Modèle TCP/IP --------------------------------------------------------------------------------------28
Figure 8 : Communication Navigateur-Serveur --------------------------------------------------------30
Figure 9 : Requête et Réponse HTTP ----------------------------------------------------------------------31
Figure 10 : En-tête du Segment TCP ----------------------------------------------------------------------33
Figure 11: TCP Three Way Handshake -------------------------------------------------------------------35
Figure 12 : Communication UDP ----------------------------------------------------------------------------36
Figure 13 : Arborescence DNS -------------------------------------------------------------------------------37
Figure 14 : HTTP Flood-----------------------------------------------------------------------------------------40
Figure 15 : SYN Flooding --------------------------------------------------------------------------------------41
Figure 16 : UDP Flooding --------------------------------------------------------------------------------------42
Figure 17 : Amplification DNS -------------------------------------------------------------------------------43
Figure 18 : Représentation graphique de l’environnement d'analyse et d'évaluation -----50
Figure 19 : VMware Workstation Pro ----------------------------------------------------------------------51
Figure 20 : Kali Linux -------------------------------------------------------------------------------------------52
Figure 21 : Nessus ------------------------------------------------------------------------------------------------53
Figure 22 : Framework Metasploit -------------------------------------------------------------------------54
Figure 23 : Scapy -------------------------------------------------------------------------------------------------55
Figure 24 : Wireshark -------------------------------------------------------------------------------------------56
Figure 25 : Système d'exploitation Ubuntu --------------------------------------------------------------56
Figure 26 : Ifconfig sur la VM Kali Linux ----------------------------------------------------------------59
Figure 27 : Ifconfig sur la VM Metasploitable ----------------------------------------------------------60
Figure 28 : Construction de la couche IP des paquets ------------------------------------------------61
Figure 29 : Attribution de l'adresse de la cible à la couche IP -------------------------------------62
Figure 30 : Construction de la couche TCP des paquets ---------------------------------------------63
Figure 31 : Emission des paquets ---------------------------------------------------------------------------63
Figure 32 : Détails des paquets construits ---------------------------------------------------------------64
Figure 33 : Script de bombardement de paquets SYN------------------------------------------------66
Figure 34 : Lancement du script -----------------------------------------------------------------------------67
Figure 35 : Lancement Framework Metasploit ---------------------------------------------------------68
Figure 36 : Options de l'auxiliaire SYNFLOOD --------------------------------------------------------68
Figure 37 : Attaque SYN Flood ------------------------------------------------------------------------------69
Figure 38 : Trafic entre les VM Kali Linux et Metasploitable -------------------------------------70
Figure 39 : Paquet attaquant-cible -------------------------------------------------------------------------71
Figure 40 : Paquet cible-attaquant -------------------------------------------------------------------------72
Figure 41 : Trafic entrant sur le système cible ---------------------------------------------------------73
Figure 42 : Trafic entre l'attaquant et le cible ----------------------------------------------------------74
Figure 43 : Paquet cible-attaquant -------------------------------------------------------------------------75
Figure 44 : Paquet cible-attaquant -------------------------------------------------------------------------75
Figure 45 : Trafic entrant sur le serveur cible ----------------------------------------------------------76

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


ix
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

INTRODUCTION GÉNÉRALE : CONTEXTE ET MOTIVATIONS

Dans un monde de plus en plus technologique, la science apporte chaque jour des
changements plus que révolutionnaires dans la façon dont nous vivons au
quotidien, notamment avec l’utilisation des smartphones, des ordinateurs, des
télévisions intelligentes (smart-TVs), etc.
L’avènement d’internet a permis l’essor des nouvelles technologies, les systèmes
d’information deviennent incontournables pour les entités comme les entreprises,
les gouvernements, les associations etc. Cela est d’autant plus vrai en raison des
quantités importantes de données traitées et diffusées chaque jour. Internet s’est
imposé comme un outil indispensable tant pour les entreprises que pour les
particuliers.
De nos jours, la dématérialisation de l’information à travers les systèmes
d’information et leur large diffusion à travers les réseaux de communication, ont
des répercussions à tous les niveaux de l’existence humaine.
Les connexions à internet rendent les structures accessibles depuis l’extérieur, les
rendant ainsi vulnérables aux cyberattaques. Ces vulnérabilités sont encore plus
importantes pour les entreprises offrant des services sur internet comme les
services bancaires mobiles, les services de ventes et d’achats en ligne, les services
de transferts d’argents etc.
En effet, malgré, des très nombreux avantages, internet apporte également une
quantité non négligeable de risques en termes de sécurité de l’information qu’il
faut sérieusement prendre en considération. Car il ne se passe pas un seul jour
sans que des cyberattaques, de différentes natures soient perpétrées sur
internet : Des millions d’attaques réalisées par des cybercriminels (Pirates
informatiques) sont constamment menées sur les serveurs, les terminaux et sur
des objets connectés.
Parmi ces cyberattaques, on trouve le déni de service qui fait partie des
cyberattaques les plus utilisées par les pirates en raison de sa simplicité de mise
en œuvre et des dégâts qu’il peut causer.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


10
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Afin de limiter le développement et l’impact de ces attaques notamment des


attaques par déni de service sur le réseau internet, des nouvelles technologies
sont constamment déployées, pour protéger les informations et les services liés à
internet. Parmi ces nombreuses techniques, on a les tests d’intrusion, qui
permettent de tester un système informatique, pour y déceler des vulnérabilités
susceptibles d'être exploitées par un pirate.
C’est dans ce contexte, que nous présentons ce travail qui porte sur la
cybersécurité et les attaques par déni de service.
L’objectif ici est de permettre et faciliter la conception des systèmes d’information
robustes (sécurisés) dans un premier temps contre les cyberattaques par déni de
service. Pour cela, il sera nécessaire de mettre en place un environnement intuitif
d’analyse et d’évaluation des vulnérabilités des systèmes d’information face à ce
type d’attaques.

Cet environnement intégrera :


1. une machine hôte intégrant, un scanner de vulnérabilités, un
constructeur de paquets, un Framework d’exploitation de
vulnérabilités, et un sniffer de paquets.
2. une machine cible dont les vulnérabilités seront exploitées.
3. un générateur de rapport des résultats d’analyse.
4. un générateur de rapport de proposition non exhaustif de mesures de
protection.

Ce travail est organisé en quatre chapitres. Le premier chapitre aborde les


notions de cybersécurité et de cyberattaques. Dans le chapitre deux, on présente
les généralités sur les cyberattaques par déni de service. Le chapitre trois est
consacré au mode d’analyse et d’évaluation de la sécurité d’un système
d’information. Et enfin le dernier chapitre présente l’implémentation réalisée (cas
pratique) ainsi que les résultats obtenus.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


11
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

CHAPITRE 1 : NOTION de CYBERSÉCURITE et de CYBERATTAQUE

I.1 Introduction

Dans ce chapitre, nous aborderons les généralités ainsi que les enjeux de la
cybersécurité et des cyberattaques.

I.2 Définition de la cybersécurité

Aussi appelée sécurité informatique ou sécurité des systèmes d'information, la


cybersécurité est l’ensemble des mécanismes, dispositifs visant à protéger les
ordinateurs, les serveurs, les appareils mobiles, les systèmes électroniques, les
réseaux et les données contre tous types d’actions malveillantes.

I.3 Critères de cybersécurité

La notion de sécurité informatique fait référence à des propriétés d’un système


informatique qui s’expriment en termes de disponibilité, d’intégrité, de
confidentialité et de non-répudiation [1].

DISPONIBILITÉ INTÉGRITE

CONFIDENTIALITÉ NON-RÉPUDIATION

Figure 1 : Critères de Cybersécurité

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


12
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

I.3.1 Disponibilité

La disponibilité d’une ressource est relative à la période de temps pendant


laquelle le service qu’elle offre est opérationnel. Le volume potentiel de travail
susceptible d’être pris en charge durant la période de disponibilité d’un service
détermine la capacité d’une ressource à être utilisée.

I.3.2 Intégrité

Le critère d’intégrité des ressources physiques et logiques (équipements, données,


traitements, transactions, services) est relatif au fait qu’elles sont demeurées
intactes, qu’elles n’ont pas été détruites ou modifiées à l’insu de leurs
propriétaires tant de manière intentionnelle, que accidentelle.

I.3.3 Confidentialité

La notion de confidentialité est liée au maintien du secret, elle est réalisée par la
protection des données contre une divulgation non autorisée (notion de protection
en lecture).

I.3.4 Non-répudiation

Le critère de non-répudiation garantit la traçabilité au sein du système


d’information c’est-à-dire qu’aucun des utilisateurs ne pourra nier une action
réalisée au sein même du système.

I.4 Définition et étapes de réalisation d’une cyberattaque

De façon générale, une cyberattaque est un acte volontaire et malveillant,


orchestré par un individu ou un groupe de personnes, contre un dispositif ou
système numérique, soit dans le but de le pénétrer pour y dérober ou modifier les

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


13
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

informations, soit dans le but de le paralyser ou de grandement dégrader la


qualité d’un service.
La mise en place d’une cyberattaque suit globalement, une méthodologie que l’on
peut diviser en quatre grandes étapes.
1. La recherche d’informations : elle concerne la connaissance de la cible
et de son environnement par une recherche d’informations et de
vulnérabilités la concernant. Cette phase a pour objectif de connaître les
mécanismes et les niveaux de sécurité en vigueur d’un système
d’information mais aussi les failles techniques, organisationnelles et
humaines de son environnement.
2. Le choix des moyens à utiliser : il s’agit d’effectuer un choix de moyens
à utiliser pour réaliser l’attaque : soit des programmes (virus etc.), soit des
ordinateurs malveillants (botnets ou réseaux de machines zombies),
disponibles à la location en ligne ou soit utiliser son propre environnement.
3. L’exécution de l’attaque : en fonction des objectifs précédemment
établis.
4. L’exfiltration : elle consiste à rendre l’attaque indétectable et à
supprimer toutes traces pouvant servir à identifier l’attaquant ou l’origine
de l’attaque.

I.5 Catégorie de cyberattaques

Il existe un très grand nombre de cyberattaques ayant des objectifs divers. Ils
peuvent être classés en deux grandes familles :
 Les cyberattaques actives
 Et les cyberattaques passives

I.5.1 Cyberattaques actives

Ce sont celles qui, de par leur fonctionnement, modifient la nature des données
transitant dans le système cible et donc le fonctionnement du système. Les

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


14
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

principales menaces avec cette catégorie de cyberattaques, c’est la disponibilité


ainsi que l’intégrité des données [2].
Dans cette catégorie, on peut citer des cyberattaques comme :
 les DoS (Denial of Service) et DDoS (Distributed Denial of Service)
 le malware, le hameçonnage (phishing)
 l’injection SQL (Structured Query Language)
 le téléchargement furtif (drive by download)
 le cross-site scripting (XSS)

Figure 2 : Cyberattaques Actives

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


15
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

I.5.1.1 Le malware ou le hameçonnage (phishing)

Il s’agit d’un logiciel indésirable installé dans un système sans le consentement


du propriétaire. Il peut se cacher dans un code légitime ou dans des applications.
Les malwares attaquent donc en ouvrant des portes (vulnérabilités) sur le
système qui permettent de télécharger par la suite des logiciels malveillants. Il
en existe plusieurs :

- Rançongiciel (ransomware) : comme son nom l’indique, il s’agit d’un


logiciel malveillant qui prend en otage les données dans l’attente du paiement
d’une rançon. Il bloque l’accès au système menaçant de supprimer ou de
divulguer les données. Les contenus (données) sont chiffrés totalement ou
partiellement, de façon à les rendre inexploitables sans la clé de
déchiffrement. En général, le pirate demande à être payé en crypto-monnaie,
comme le Bitcoin.

- Logiciel espion (spyware) : il s’agit de programmes installés pour recueillir


des informations sur les utilisateurs, sur leurs habitudes de navigation ou
encore sur leurs ordinateurs. Ces logiciels surveillent à l’insu des propriétaires
tous leurs faits et gestes et envoient ces données au(x) cyber-attaquant(s). Ils
sont généralement mis en place lors du téléchargement d’une application
gratuite.

- Bombe logique : c’est un logiciel malveillant inséré dans une application. Il


s’agit de dispositifs programmés dont le déclenchement s’effectue à un
moment déterminé. Ce type de virus est capable de se déclencher à un
moment précis plus ou moins proche, et sur un grand nombre de machines.

- Macro-virus : ces virus utilisent le langage de programmation d’un logiciel


pour en altérer le fonctionnement. Lorsque le logiciel se télécharge, le macro-

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


16
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

virus exécute ses instructions avant de laisser le contrôle à l’application. Ils


s’attaquent principalement aux fichiers des utilisateurs. Leur expansion est
due au fait qu’ils s’intègrent à des fichiers très échangés et que leur
programmation est moins complexe que celle des virus.

- Virus polymorphes : il s’agit d’un virus informatique qui modifie sa propre


représentation lors de sa réplication. Cette manœuvre empêche alors leur
détection par les logiciels antivirus.

- Virus furtifs : ces types de virus prennent le contrôle de certaines


fonctionnalités du système pour se dissimuler. Pour ce faire, ils
compromettent les logiciels de détection. Ces virus peuvent se propager de la
même manière que tout autre virus, par le biais de pièces jointes ou
d’installations créées via divers sites internet.

- Cheval de Troie : il s’agit d’un programme en apparence légitime, mais à


vocation malveillante. Les cybercriminels usent de techniques dites
d’ingénierie sociale (une pratique de manipulation psychologique visant à
pousser les utilisateurs à partager des informations privées ou exécuter des
actions précises) pour inciter les utilisateurs à charger et à exécuter ce Cheval
de Troie. L’objectif est de : voler, supprimer, bloquer, modifier ou copier des
contenus personnels et sensibles tels que les mots de passe, références
bancaires etc.

- Ver : ce sont des logiciels malveillants qui se reproduisent sur plusieurs


ordinateurs en utilisant un réseau informatique. Les Vers ont la capacité de se
dupliquer une fois qu’ils ont été exécutés. La propagation la plus courante se
fait au travers de pièces jointes d’emails.

- Injecteurs : il s’agit d’un programme créé pour injecter un logiciel malveillant


dans un système. Il est également appelé « programme seringue » ou « virus

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


17
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

compte-gouttes ». Une fois le logiciel malveillant activé, il peut arriver que


l’injecteur s’autodétruise.

I.5.1.2 L’injection SQL (Structured Query Language)

C’est une attaque qui se produit lorsque qu’un cybercriminel exécute un morceau
de code SQL (langage informatique normalisé) pour manipuler une base de
données et accéder à du contenu potentiellement sensible. Ces données sont alors
consultables, modifiables et supprimables.

I.5.1.3 Le téléchargement furtif (drive by download)

Il s’agit d’une méthode courante de propagation de logiciels malveillants. Les


cyber-attaquants piratent des sites web non sécurisés en insérant un script dans
le code http ou PHP d’une des pages web. Le but est d’installer des logiciels
malveillants directement sur l’ordinateur d’un visiteur du site, via un
téléchargement furtif. Ce dernier peut se faire à l’insu ou bien avec le
consentement du propriétaire mais sans que celui-ci en ait compris les
conséquences.

I.5.1.4 Le Cross-site Scripting (XSS)

Avec cette attaque, le cyber-attaquant insère un code JavaScript malveillant


dans la base de données d’un site web. Quand l’internaute visite une page de ce
site web, ce dernier transmet cette page à son navigateur avec le script
malveillant intégré au code HTML. Le navigateur de l’internaute exécute alors ce
script, envoyant par exemple le cookie de la victime au serveur de l’attaquant, qui
l’extrait et l’utilise pour détourner la session. Ces vulnérabilités peuvent
entraîner de plus lourdes conséquences qu’un vol de cookie : l’enregistrement des
frappes de touches du clavier, des captures d’écran, de collecte de contenus
sensibles et de contrôle à distance de l’ordinateur.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


18
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

I.5.1.5 Les attaques DoS (Denial of Service) et DDoS (Distributed Denial


of Service)

Ces attaques visent à rendre indisponible un serveur, une infrastructure ou un


service. Elles peuvent prendre différentes formes :

 Saturation des bandes passantes


 Épuisement des ressources du système de la machine, du serveur, du
service ou de l’infrastructure concernée.
Plus concrètement, ce type de cyberattaque vise à surcharger de requêtes la
ressource ciblée, de façon à épuiser la bande passante et provoquer un
ralentissement ou un arrêt total de fonctionnement. Les pirates peuvent
également utiliser plusieurs machines compromises pour lancer ce type
d’attaque, il s’agit dans ce cas d’un déni de service distribué (DDoS).

I.5.2 Cyberattaques passives

Elles relèvent de l’écoute du trafic sans altération des données. Ces attaques
n’influencent donc pas les ressources du système piraté. La seule menace pour
cette catégorie de cyberattaque est la confidentialité des données. On retrouve
dans cette catégorie des attaques de type sniffing [3].

I.5.2.1 Le sniffing

Le reniflage (en français) est une technique qui consiste à analyser le trafic
réseau. Lorsque deux équipements communiquent, il y a un échange
d'informations (trafic). Il est donc possible qu'une personne malveillante récupère
ce trafic qu’elle peut alors analyser.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


19
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Figure 3 : Cyberattaque de type Sniffing

I.5.2.2 The man in the middle

Parfois notée MITM, le Man in The Middle, est un scénario d'attaque dans lequel
un pirate écoute une communication entre deux périphériques et falsifie les
échanges afin de se faire passer pour l'une des parties [4].
Le pirate positionné au milieu capte, contrôle et analyse le trafic entre des
équipements connectés pour extraire des informations personnelles comme un
mot de passe, une photo etc.

Figure 4 : Attaque Man In The Middle

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


20
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

I.6 Pourquoi les cyberattaques par Déni de Service ?

Si nous avons choisi de travailler sur les attaques de types DoS et DDoS, c’est
parce qu’il s’agit du type de cyberattaques le plus fréquemment utilisé par les
pirates. En effet, nous nous sommes basés sur une étude de F5 SIRT (Security
Incident Response Team) publiée le 19/04/2021, qui révèle les statistiques issus
de leurs interventions auprès d’entreprises victimes de cyberattaques.
Rappelons que F5 est une société opérant dans le domaine de la sécurité
informatique. En cas d’attaques, l’équipe F5 SIRT protège les données
d’utilisateurs et clients, les actifs ainsi que les applications.
F5 Labs a constaté que près d’un tiers (32 %) des incidents enregistrés jusqu’en
2019 par l’équipe F5 SIRT étaient des attaques DoS. Et cette tendance se
confirme, avec un taux qui a atteint 36 % en 2020.
La plupart des cyberattaques DoS sont des attaques par inondation volumétrique
du réseau (connues sous le nom d’attaques TCP SYN ou UDP Flood). L’équipe F5
SIRT a également enregistré des attaques de type « Slow POST/Slowloris » qui
visent à ouvrir et maintenir ouvertes le plus grand nombre possible de
connexions pour un utilisateur cible. 19 % des incidents DoS signalés visaient un
serveur DNS.
La région APCJ (Asie Pacifique Chine et Japon) a été la plus touchée par ces
attaques DoS qui représentaient 57 % des incidents enregistrés par l’équipe
SIRT. Arrivaient ensuite la région EMEA (Europe Middle East and Africa) avec
47 %, puis les États-Unis et le Canada avec 33 % et l’Amérique latine avec 30 %.
C’est dans la région EMEA que le taux a connu la plus forte hausse, passant de
2,2 % en 2018 à 23 % en 2020, soit une augmentation spectaculaire de 20,8 %.
Les prestataires de services et les établissements d’enseignement figuraient
parmi les secteurs les plus touchés, avec un taux d’attaques DoS s’élevant à 59 %
des incidents globaux. Ils étaient suivis par les entreprises du secteur financier
(36 %) et celles du secteur public (28 %) [5].

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


21
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

I.7 Conclusion

Dans ce chapitre, nous avons présenté les notions de cybersécurité et de


cyberattaques.
Nous avons vu qu’un système d’information est considéré comme sécurisé, s’il
présente un certain nombre de caractéristiques qui garantissent la sécurité des
informations, notamment la disponibilité, l’intégrité, la confidentialité ainsi que
la non-répudiation.
Seulement, un système d’information quand il n’est pas sécurisé, présente
différents niveaux de vulnérabilités qui peuvent être exploitées par des pirates
(personnes malveillantes) en utilisant des cyberattaques passives ou actives.
La première catégorie (attaques passives) d’attaques permet spécifiquement de
sniffer (c’est-à-dire écouter) le trafic sur un système en vue de l’analyser. Quant à
la seconde catégorie (attaques actives), elle a pour objectif de paralyser un
système afin d’alterner son fonctionnement.
Il existe certes de nombreuses attaques, seulement nous avons choisi de
travailler sur le déni de service, car il s’agit d’une attaque qui bien que facile à
mettre en œuvre, peut grandement endommager un système ce qui fait qu’elle est
particulièrement appréciée des pirates.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


22
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

CHAPITRE 2 : les CYBERATTAQUES de type DoS et DDoS

I.8 Introduction

Dans ce deuxième chapitre, nous allons étudier les cyberattaques par déni de
service de type DoS et de type DDoS. Les différences entre les deux types
d’attaques seront présentées, ainsi que les généralités sur les modèles en couches
OSI et TCP/IP utilisées pour les réalisées seront abordés.

I.9 Définition d'une cyberattaque DoS

Une cyberattaque par déni de service est une attaque qui vise à paralyser
intentionnellement un système informatique en l’inondant de grandes quantités
de requêtes. Le principe est de le surcharger de données afin de le rendre
incapable de répondre correctement aux requêtes légitimes.

I.10 Différence entre les cyberattaques DoS et DDoS

Au cours des dernières années, presque toutes les principales attaques par déni
de service ont été effectuées de façon distribuée (DDoS).
Une attaque DDoS distribuée est une attaque DoS dans laquelle de nombreux
ordinateurs individuels ou d’autres dispositifs connectés dans des régions
diverses inondent simultanément une cible de requêtes [6]. Les appareils utilisés
par le pirate pour inonder le service afin de le saturer de requêtes sont appelés
des « botnets » (réseaux de machines zombies). Ce sont des réseaux d'ordinateurs
infectés qui, sous le contrôle d'un seul ordinateur maître, travaillent ensemble
pour atteindre un objectif.
Ces systèmes zombies submergent ainsi la bande passante et la capacité de
traitement de la cible. Ces attaques DDoS sont difficiles à tracer, car les bots
(terminaux zombies) sont disséminés dans des lieux géographiques différents [7].
Les cyberattaques DoS distribuées les plus sophistiquées impliquent parfois

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


23
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

l’utilisation de caméras connectées à Internet et d’autres dispositifs plutôt que


des ordinateurs classiques.

Figure 5 : Différence entre DoS et DDoS

Les attaques DoS et DDoS sont réalisées sur les couches 4 et 7 du modèle OSI
(Open Systems Interconnection).

I.11 Modèles en couches

Les modèles en couches permettent de classer divers protocoles réseaux. Il existe


deux types de modèles : le modèle OSI et le modèle TCP/IP.

I.11.1 Généralités sur le modèle OSI

Les différentes couches du modèle OSI sont représentées sur la figure 6. Il est
composé de 7 couches : physique, liaison de données, réseau, transport, session,
présentation et application.
Les divers protocoles qui définissent le réseau et les communications sont donc
répartis dans chaque couche selon leur utilité. Il est d'usage de diviser ces sept
couches en deux : les couches basses, qui se limitent à gérer des fonctionnalités
de base, et les couches hautes, qui contiennent les protocoles plus élaborés. Le

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


24
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

modèle OSI est donc une norme qui préconise la façon dont les ordinateurs
devraient communiquer entre eux.

1. La couche physique : s'occupe de la transmission physique des bits entre


deux équipements réseaux. Elle s'occupe de la transmission des bits, leur
encodage, leur synchronisation (cartes réseau), etc.
2. La couche liaison de données : s'occupe de la transmission d'un flux de
bits entre deux ordinateurs, par l'intermédiaire d'une liaison point à point
ou d'un bus. Pour simplifier, elle s'occupe de la gestion du réseau local. Elle
prend notamment en charge l’adresse MAC (Media Access Control, qui
permet d’identifier une machine de façon unique) et le protocole ARP
(Address Resolution Protocol, qui permet de faire la correspondance entre
une adresse MAC et une adresse IP).
3. La couche réseau : gère tout ce qui a trait à internet : l'identification des
différents réseaux à interconnecter, la spécification des transferts de
données entre réseaux, leur synchronisation, etc. C'est notamment cette
couche qui s'occupe du routage, à savoir la découverte d'un chemin de
transmission entre le récepteur et l’émetteur. Le protocole principal de
cette couche est le protocole IP (Internet Protocol).
4. La couche transport : permet de gérer la communication entre deux
programmes ou processus. Les deux protocoles de cette couche sont les
protocoles TCP (Transmission Control Protocol) et UDP (User Datagram
Protocol).
5. La couche session : comme son nom l'indique, permet de gérer les
connexions, déconnexions et la synchronisation entre deux processus.
6. La couche présentation : se charge du codage des données à
transmettre. Elle s'occupe notamment du chiffrement ou de la compression
des données transmises.
7. La couche application : C’est la seule couche qui interagit directement
avec les données de l’utilisateur. Les applications logicielles comme les
navigateurs web et les clients e-mail se servent de la couche applicative
pour initier des communications.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


25
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Figure 6 : Modèle OSI

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


26
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Ce découpage du réseau en sept couches présente les avantages suivants :


 Il permet de diviser les communications sur le réseau en éléments plus
petits et plus simples.
 Il uniformise les éléments du réseau afin de permettre le développement et
le soutien multi constructeur.
 Il permet à différents types de matériel et de logiciel réseau de
communiquer entre eux.
 Il empêche les changements apportés à une couche d'affecter les autres
couches, ce qui assure un développement plus rapide.
 Il divise les communications sur le réseau en éléments plus petits, ce qui
permet de les comprendre plus facilement.

I.11.2 Généralités sur le modèle TCP/IP

Le modèle TCP/IP est plus simple que le modèle OSI, avec seulement quatre
couches : liaison, Internet, transport et application. La différence avec OSI est
simplement que certaines couches ont été fusionnées. La couche liaison de
TCP/IP regroupe notamment les couches physiques et liaison du modèle OSI. De
même, la couche application de TCP/IP regroupe les couches session, application
et présentation du modèle OSI.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


27
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Figure 7 : Modèle TCP/IP

L’IP est le protocole principal du modèle TCP/IP, car lors d’une communication
entre deux processus, quel que soit le protocole de transport utilisé (TCP ou UDP)
pour identifier les ports des applications engagées dans la communication, le
protocole IP est toujours utilisé car il permet lui d’identifier les machines
impliquées dans la communication avec leurs adresses IP. C’est donc un protocole
universel qui permet à tout ordinateur de communiquer en tout temps et en tout
lieu.

I.12 Protocoles

Pour une meilleure compréhension des cyberattaques par déni de service, nous
allons étudier en détails le fonctionnement de certaines couches ainsi que leurs
protocoles, notamment les protocoles http (HyperText Transfer Protocol) et DNS
(Domain Name Service) de la couche 7 et les protocoles TCP (Transport Control
Protocol) et UDP (User Datagram Protocol) de la couche 4.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


28
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

I.12.1 Le protocole http

Le protocole HTTP (HyperText Transfer Protocol) est le protocole le plus utilisé


sur Internet depuis 1990. La version 0.9 était uniquement destinée à transférer
des données sur Internet (en particulier des pages Web écrites en HTML). La
version 1.0 du protocole permet désormais de transférer des messages avec des
en-têtes décrivant le contenu du message en utilisant un codage de type MIME
(Multipurpose Internet Mail Extensions, qui est une norme Internet qui étend le
format des messages électroniques pour prendre en charge le texte dans des jeux
de caractères autres que ASCII, ainsi que les pièces jointes d'audio, de vidéo,
d'images et de programmes d'application).
Le but du protocole HTTP est de permettre un transfert de fichiers
(essentiellement au format HTML) localisés sur le web grâce à une chaîne de
caractères appelée URL au moyen d’un navigateur (le client) [8].

Principe de fonctionnement
La communication entre un navigateur et un serveur se fait en deux étapes :

 Le navigateur effectue une requête HTTP


 Le serveur traite la requête puis envoie une réponse HTTP

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


29
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Figure 8 : Communication Navigateur-Serveur

Une requête HTTP est un ensemble de lignes envoyé au serveur par le


navigateur. Elle comprend :

 Une ligne de requête: c'est une ligne précisant le type de document


demandé, la méthode qui doit être appliquée, et la version du protocole
utilisée. Cette ligne comprend trois éléments devant être séparés par un
espace : La méthode, l'URL et la version du protocole utilisé par le client.
 Les champs d'entête de la requête : il s'agit d'un ensemble de lignes
facultatives permettant de donner des informations supplémentaires sur la
requête et/ou le client (Navigateur, système d'exploitation, ...). Chacune de
ces lignes est composée d'un nom qualifiant le type d'en-tête, suivi de deux
points (:) et de la valeur de l'en-tête.
 Le corps de la requête : c'est un ensemble de lignes optionnelles devant
être séparées des lignes précédentes par une ligne vide et permettant par
exemple un envoi de données par une méthode POST (mode de
transmission de données au serveur via un formulaire).

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


30
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

La figure suivante présente un exemple de requête et de réponse http :

Figure 9 : Requête et Réponse HTTP

MÉTHODE DESCRIPTION
GET Requête de la ressource située à l'URL spécifiée
HEAD Requête de l'en-tête de la ressource située à l'URL spécifiée
POST Envoi de données au programme situé à l'URL spécifiée
PUT Envoi de données à l'URL spécifiée
DELETE Suppression de la ressource située à l'URL spécifiée
Tableau 1 : Quelques commandes HTTP

Sur la base du tableau précédent, on constate que le protocole http peut intégrer
de nombreuses méthodes à ses requêtes, les plus importantes sont les méthodes
« GET » et « POST ».

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


31
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

- La méthode GET : Avec cette méthode, les données à envoyer au serveur


sont écrites directement dans l’URL c’est-à-dire dans la fenêtre de votre
navigateur. Avec cette méthode, seule une quantité limitée de données
peut être envoyée car les données sont envoyées dans l’en-tête.
- La méthode POST : avec cette méthode, les données saisies par
l’utilisateur sont transmises au serveur en étant intégrées au corps de la
requête et non à son en-tête. Par conséquent, avec cette méthode, une
grande quantité de données peut être envoyée au serveur.

I.12.2 Le protocole TCP

TCP qui signifie en français : Protocole de Contrôle de Transmission, est un des


principaux protocoles de la couche transport du modèle TCP/IP. Il permet, au
niveau des applications, de gérer les données en provenance (ou à destination) de
la couche inférieure du modèle (c'est-à-dire du protocole IP).
TCP est un protocole orienté connexion, c'est-à-dire qu'il permet à deux machines
qui communiquent de contrôler l'état de la transmission. Les caractéristiques
principales du protocole TCP sont les suivantes :

 TCP permet de remettre en ordre les datagrammes en provenance du


protocole IP
 TCP permet de vérifier le flot de données afin d'éviter une saturation
du réseau
 TCP permet de formater les données en segments de longueur variable
afin de les "remettre" au protocole IP
 TCP permet de multiplexer les données, c'est-à-dire de faire circuler
simultanément des informations provenant de sources (applications par
exemple) distinctes sur une même ligne
 TCP permet enfin l'initialisation et la fin d'une communication de
manière courtoise. Sous TCP, les données sont appelées des segments
dont l’en-tête est au format représenté sur la figure 10.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


32
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Figure 10 : En-tête du Segment TCP

 Les ports source et destination identifient les applications qui font


partie de la communication.
 Sequence number (ou numéro de séquence en français), est un chiffre
qui sert à représenter le nombre d'octets qui ont été envoyés par la
machine émettrice. Cela permet d'informer la machine (réceptrice) du
nombre d'octets envoyés.
 Acknowledgement number (ou numéro d'acquittement) est un chiffre
qui sert à représenter le nombre d'octets que nous avons reçus de la part
de l'autre machine. Il nous permet d'indiquer à l'autre machine combien
d'octets nous avons actuellement reçus de sa part.
 Data Offset, indique à partir de quel octet les données applicatives
commencent.
 Reserved, inutilisé actuellement mais prévu pour l'avenir.
 URG, ACK, PSH, RST, SYN et FIN sont des flags (ou drapeaux en
français), qui servent à indiquer à une machine un état particulier de la
connexion ou pour fournir des informations utiles supplémentaires telles
que le dépannage ou pour gérer le contrôle d'une connexion particulière.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


33
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

 Window (ou fenêtre en français), indique la quantité de données qu'une


machine peut accepter sans exiger un accusé de réception.
 Checksum (ou somme de contrôle en français), sert à vérifier que les
informations n'ont pas été altérées pendant le transport.
 Urgent Pointer, qui est le pointeur sur les données urgentes. Ce pointeur
est utilisé si le flag URG est positionné et indique dans ce cas la longueur
des données urgentes.

Principe de fonctionnement
Les flags contenus dans l’en-tête TCP sont à la fois utilisés pour initialiser les
connexions entre différentes machines, et pour acquitter chaque paquet reçu lors
d’une communication.
Pour qu’une connexion TCP soit établie entre deux machines, il faut un échange
de trois paquets spécifiques contenant respectivement les flags SYN, SYN+ACK,
ACK : c’est le Three Way Handshake. Ce mécanisme se passe en trois étapes [9]:
 Dans un premier temps la machine émettrice transmet un segment dont le
flag SYN est à 1 (pour signaler qu'il s'agit d'un segment de
synchronisation), avec un numéro d'ordre N, que l'on appelle numéro
d'ordre initial du client.
 Dans un second temps la machine réceptrice reçoit le segment initial
provenant de la machine émettrice, puis lui envoie un accusé de réception,
c'est-à-dire un segment dont le flag ACK est à 1 et le flag SYN est à 1 (car
il s'agit là encore d'une synchronisation). Ce segment contient le numéro
d'ordre de cette machine (machine réceptrice) qui est le numéro d'ordre
initial de la machine émettrice. Le champ le plus important de ce segment
est le champ accusé de réception qui contient le numéro d'ordre initial de
la machine émettrice, incrémenté de 1.
 Enfin, la machine émettrice transmet à la machine réceptrice un accusé de
réception, c'est-à-dire un segment dont le flag ACK est à 1, dont le drapeau
SYN est à zéro (il ne s'agit plus d'un segment de synchronisation). Son
numéro d'ordre est incrémenté et le numéro d'accusé de réception
représente le numéro d'ordre initial du serveur incrémenté de 1.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


34
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Figure 11: TCP Three Way Handshake

I.12.3 Protocole UDP

Le protocole UDP (ou datagramme utilisateur en français), est un protocole de


communication utilisé sur Internet pour des transmissions particulièrement
dépendantes du temps telles que la lecture vidéo ou les recherches DNS. Étant
un protocole de transport non-connecté, les échanges d’informations sont parfois
effectués sans que les données aient complètement été intégrées aux paquets
concernés. Cela permet aux données d'être transférées très rapidement, mais cela
peut également entraîner la perte de paquets en transit.

Principe de fonctionnement
Le protocole UDP n’étant pas un protocole de transmission connecté (c’est-à-dire
fonctionnant avec un système d’acquittement) comme TCP, il envoie des paquets
directement à un ordinateur cible, sans établir de connexion au préalable, sans
indiquer l'ordre des dits paquets ou sans vérifier s'ils sont arrivés comme prévu.
UDP est donc plus rapide mais moins fiable.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


35
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Dans une communication UDP, si un datagramme UDP est perdu en transit, il ne


sera pas renvoyé. Par conséquent, les applications qui utilisent UDP doivent être
capables de tolérer les erreurs, les pertes et les duplications.

Figure 12 : Communication UDP

I.12.4 Protocole DNS

Le DNS (Domain Name System) est un protocole permettant d'établir une


correspondance entre un nom de domaine et une adresse IP. Il s'agit donc d'un
système essentiel à Internet afin de ne pas avoir à saisir des adresses IP à
longueur de temps.
Ce système garanti :

 un espace de noms hiérarchique permettant de garantir l'unicité d'un nom


dans une structure arborescente.
 un système de serveurs distribués permettant de rendre disponible
l'espace de noms.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


36
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

 un système de clients permettant de résoudre les noms de domaines, c'est-


à-dire interroger les serveurs afin de connaître l'adresse IP correspondant
à un nom.

Principe de fonctionnement

La structuration du système DNS s'appuie sur une structure arborescente dans


laquelle sont définis des domaines de niveau supérieurs (appelés TLD, pour Top
Level Domains), rattachés à un nœud racine représenté par un point [11].

Figure 13 : Arborescence DNS

Chaque nœud de l'arbre est appelé « nom de domaine » et possède une étiquette
d'une longueur maximale de 63 caractères. L'ensemble des noms de domaine
constitue ainsi un arbre inversé où chaque nœud est séparé du suivant par un
point (« . »).

Les machines chargées de la résolution de noms de domaines, sont appelées


serveurs de noms de domaines. Chaque domaine est contenu un serveur de noms
de domaines, appelé « serveur de noms primaire » (primary domain name server),
ainsi qu'un serveur de noms secondaire (secondary domaine name server),

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


37
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

permettant de prendre le relais du serveur de noms primaire en cas


d'indisponibilité.

Chaque serveur de nom est déclaré dans un serveur de nom de domaine de


niveau immédiatement supérieur, ce qui permet implicitement une délégation
d'autorité sur les domaines. Le système de nom est une architecture distribuée,
où chaque entité est responsable de la gestion de ses noms de domaine. Il n'existe
donc pas d'organisme ayant à charge la gestion de l'ensemble des noms de
domaines.

Les serveurs correspondant aux domaines de plus haut niveau (TLD) sont
appelés « serveurs de noms racine ». Il en existe treize, répartis sur la planète,
possédant les noms « a.root-servers.net » à « m.root-servers.net ».

Le système de noms de domaine est transparent pour l'utilisateur, néanmoins il


ne faut pas oublier les points suivants :

 Chaque ordinateur doit être configuré avec l'adresse d'une machine


capable de transformer n'importe quel nom en une adresse IP. Cette
machine est appelée Domain Name Server.
 L'adresse IP d'un second Domain Name Server (secondary Domain Name
Server) doit également être définie : le serveur de noms secondaire peut
relayer le serveur de noms primaire en cas de dysfonctionnement.

I.13 Types d’attaques par Déni de Service (DoS)

Les différents types d'attaques DoS ciblent des composants variables d'une
connexion réseau.
On distingue donc [12]:
 Les attaques sur la couche d'application
 Les attaques protocolaires
 Et les attaques volumétriques

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


38
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

I.13.1 Attaques sur la couche Application

Parfois appelées attaques DoS de la couche 7 (en référence à la septième couche


du modèle OSI), ces attaques ont pour objectif d'épuiser les ressources de la cible
afin de créer un déni de service.
Une requête HTTP unique est facile à exécuter côté client, mais peut être très
difficile à gérer pour le serveur cible qui, pour y répondre, doit souvent charger
plusieurs fichiers et exécuter des requêtes de base de données afin de créer une
page web.
Il est difficile de se défendre contre les attaques visant la couche 7, car il est
difficile de différencier le trafic malveillant du trafic légitime. L’attaque DoS de
type application la plus fréquente est le HTTP Flood.

I.13.1.1Http Flood

Le HTTP Flood est une attaque par déni de service distribué (DDoS) dans lequel
l'attaquant manipule les requêtes http GET ou POST afin d'attaquer un serveur
Web ou une application. Ces attaques utilisent souvent des ordinateurs
interconnectés qui sont infectés de logiciels malveillants. Ce qui est plus simple
que d'utiliser des paquets volontairement malformés, notamment en modifiant le
contenu des requêtes http. Cela nécessite également moins de bande passante
pour attaquer les sites ou les serveurs ciblés.
Sur la base des méthodes intégrées aux requêtes http, on distingue deux types de
cyberattaques http Flood : http GET Flood et le http POST Flood.
- un http GET Flood demande une représentation de la ressource spécifiée
(comme des images), car elle est uniquement utilisée pour récupérer des
données.
- Un http POST Flood permet d’envoyer des données au serveur en les
intégrant au corps de la requête et non à l’en-tête comme avec la méthode
GET.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


39
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Figure 14 : HTTP Flood

I.13.2 Attaques Protocolaires

Les attaques protocolaires exploitent les faiblesses ou le comportement normal de


certains protocoles, notamment les protocoles de la couche 4 du modèle OSI tels
que TCP (Transport Control Protocol) et UDP (User Datagram Protocol).
L'objectif est d'épuiser les capacités de calcul du réseau ou des ressources
intermédiaires (telle qu’un pare-feu), entraînant un déni de service.

I.13.2.1SYN Flood

Cette attaque protocolaire exploite le mécanisme « Three Way Handshake », du


protocole TCP. En effet, dans ce qu'on appelle une poignée de main à trois voies,
un client se connecte à un site Web en envoyant un paquet SYN
(synchronisation). Le serveur répond avec un paquet SYN+ACK (synchronisation
+ accusé de réception), puis attend un ACK (accusé réception) du paquet du
client. Cependant, dans une attaque par inondation SYN, l'attaquant n'envoie
jamais le paquet ACK mais continue à la place d'inonder le serveur avec
plusieurs requêtes SYN. Cela lie les ressources du serveur avec des connexions «

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


40
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

semi-ouvertes » au point qu'il ne peut pas répondre aux nouvelles demandes de


connexion légitimes.

Figure 15 : SYN Flood

I.13.2.2UDP FLood

Cette attaque se joue du comportement normal du protocole UDP, un protocole «


non-connecté » qui n'a pas de mécanisme d’acquittement des paquets. En tant
que tel, il ne crée pas de session et ne peut pas vérifier l'adresse IP de
l'expéditeur. L'attaquant envoie un grand nombre de paquets UDP avec des
adresses IP falsifiées à de nombreux ports sur le serveur de la victime.
Le serveur, essayant de faire correspondre les applications associées aux ports
demandés, est rapidement débordé en raison de la grande quantité de paquets
reçus, et devient incapable de répondre aux requêtes, y compris les requêtes
légitimes. L'un des avantages de cette attaque est de permettre aux attaquants
de cacher facilement leurs identités en usurpant l'adresse IP source.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


41
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Figure 16 : UDP Flooding

I.13.3 Attaques Volumétriques

Les attaques de type volumétrique envoient généralement une quantité massive


de trafic vers le réseau de la victime ciblée dans le but de consommer la bande
passante afin de refuser des accès aux autres utilisateurs. Comme nous l'avons
déjà vu, les attaquants utilisent souvent des botnets pour augmenter le volume
de trafic du réseau ou du serveur cible. Cela permet aux attaquants de lancer des
attaques DDoS massives, qui peuvent atteindre des centaines de gigabits par
seconde ou des térabits par seconde. Ces valeurs sont bien au-delà des capacités
que la plupart des entreprises peuvent gérer.

I.13.3.1DNS Flood

Dans un flot DNS DDoS, qui est essentiellement une version spécifique à une
application d'un flot UDP, l'attaquant envoie un volume énorme de fausses
requêtes DNS directement au serveur DNS de la victime dans le seul but de le
surcharger. Comme pour les autres types d'attaques par inondation, le serveur

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


42
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

DNS de la victime essaie de répondre à toutes les demandes (il ne peut pas faire
la distinction entre les demandes fausses et légitimes) et est finalement
submergé et incapable de répondre, rendant le site Web de la victime
inaccessible.

Figure 17 : Amplification DNS

I.14 Conclusion

Dans ce chapitre, nous avons présenté de façon détaillée les cyberattaques par
déni de service, notamment le déni de service distribué avec l’utilisation des
botnets qui sont des réseaux de machines zombies.
De manière générale, les attaques par déni service exploitent les failles des
protocoles existants afin de causer des dommages sur les systèmes. C’est le cas
avec les protocoles TCP, UDP, http et DNS.
Dans le protocole TCP, l’attaque par déni de service exploite le mécanisme de
« Three Way Handshake » pour bombarder de requêtes une cible sans acquitter
les paquets envoyés. Le protocole UDP quant à lui, ne fonctionnant pas avec un
système d’acquittement, il est encore plus facile de saturer la cible.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


43
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

En le http, l’attaquant manipule et modifie la structure des requêtes GET ou


POST afin de rendre un site web ou une fonctionnalité de ce site web (connexion,
achats, etc.) inaccessible, et enfin dans le DNS, l’attaquant rend un site web
inaccessible en saturant son serveur DNS de requêtes à traiter, ce qui l’occupe et
par conséquent le rend incapable de traiter les requêtes légitimes de résolution de
nom de domaine dudit site web.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


44
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

CHAPITRE 3 : ANALYSE et ÉVALUATION

I.15 Introduction

Dans ce chapitre, nous allons présenter les différentes méthodes d’analyse et


d’évaluation du niveau de sécurité des systèmes d’information.

I.16 Définition d’un test de pénétration

Un test d'intrusion ou test de pénétration ou encore « pentest », est un ensemble


d’actions informatiques, visant à reproduire de manière contrôlée les conditions
réelles d'une attaque sur un système (cible), afin d’en détecter les failles de
sécurité et d'en évaluer leur exploitabilité en vue de les corriger [13]. Cette cible
peut être :

 Une adresse IP,


 Un système d’information,
 un serveur web,
 ou un réseau complet.

I.17 Différentes phases d’un test de pénétration

La conduite d’un test d’intrusion doit respecter trois principales phases :

I.17.1 Phase de planification (avant le test)

Cette phase comprend :

• La portée du test : le pentesteur (l’ingénieur en charge du test


d’intrusion) doit coopérer avec le client pour définir une portée faisable et
donner la quantité maximale d’informations sur la sécurité du réseau à
tester.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


45
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

• L’estimation de l’effort : basée sur la portée définie, le pentesteur devra


donc estimer la quantité de temps requise.
• La Légalité : Avant de commencer un test de pénétration, le client doit
autoriser le test.

La partie légale doit expliciter le test qui va être fait et définir clairement le
niveau d’indemnité, d’assurance et de limitations de portée en cas de dommages
irrémédiables lors du test. Après accord sur ces points, le pentesteur pourra
commencer le travail pratique.

I.17.2 Phase d’exécution (pendant le test)

Durant la phase d’attaque, le pentesteur teste l’accès physique aux


serveurs/systèmes d’information de l’organisme :

 Attaquer l’infrastructure : Si on arrive à avoir accès à travers le


cracking du cryptage, on effectue un test de pénétration standard s’il est
dans la portée.
 réaliser : le scanning des ports, l’identification des services en exécution,
l’énumération de tous les services ouverts comme des services non
authentifiés FTP (Files Transfer Protocol) ou http.
 Compromission des clients, attaques dirigées vers les clients :
Après avoir énuméré et testé tous les réseaux sans-fil, des attaques
directes sur les clients peuvent être exécutées.
 Trouver les clients vulnérables
 Trouver les clients non autorisés

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


46
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

I.17.3 Phase post-exécution (après le test)

Cette phase correspond à la rédaction et à la présentation du rapport de test. Ce


rapport doit contenir :

1. Un résumé sur la gestion/le management


2. Un résumé technique
3. Des résultats :

1. description des vulnérabilités trouvées,


2. sévérités,
3. types de vulnérabilités : logiciel/matériel/configuration
4. liste des appareils affectés

4. Préconisation de mesures correctives.

I.18 Types de test de pénétration

Il existe deux types de tests d'intrusion [14]:

 les tests d'intrusion externes


 les tests d'intrusion internes

I.18.1 Test de pénétration externe

Dans un test de pénétration externe, le pentesteur est placé sur Internet. Il est
donc dans la situation d’un pirate qui tenterait de pénétrer dans l’entreprise à
partir de l’extérieur. L'adresse IP publique de la connexion internet du
pentesteur et l'adresse IP publique de la connexion internet de l'entreprise sont
utilisées dans ce scénario.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


47
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

I.18.2 Test de pénétration interne

Dans le cas d’un test de pénétration interne, le pentesteur est sur le réseau
interne de la cible. Il est dans la situation d'une personne malveillante interne.

Par exemple, cela peut être le cas d'un prestataire qui a accès physiquement au
bureau de la cible comme un technicien télécom, un électricien, etc. C'est
également le cas d'un employé malveillant (espionnage industriel ou vengeance).
L’employé peut également être inconscient des risques, et cliquer sur une pièce
jointe infectée ou communiquer des identifiants. Enfin, on peut également
imaginer un pirate ayant la possibilité de s'introduire physiquement dans
l'entreprise et de se retrouver dans un de ces scénarios.

I.19 Conditions d’un test d’intrusion

En fonction du niveau de connaissance du pentesteur, trois conditions différentes


sont utilisées pour mener des tests d'intrusion [14]:

 Condition en boîte noire


 Condition en boîte grise
 Condition en boîte blanche

I.19.1 Test de pénétration en boîte noire

Dans ce cas, le pentesteur n'a aucune information sur le réseau cible au début du
test et ne connaît aucun nom d’utilisateur ni mot de passe.

Il s'agit dans un premier temps de rechercher des informations sur :

 La cible,
 les employés/les utilisateurs,
 connaître la situation géographique,

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


48
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

 les informations générales,


 le fournisseur d'accès à Internet,
 et toutes autres données pour rassembler un maximum d'informations qui
pourraient aider à trouver des vulnérabilités.

Nous sommes là dans le scénario d'un pirate qui souhaiterait s'introduire dans
un système (cible) qu'il ne connaît pas.

I.19.2 Test de pénétration en boîte grise

Le testeur possède un nombre limité d'informations. En général, lors d’un test


d'intrusion en boîte grise, le testeur dispose uniquement d'un identifiant et d’un
mot de passe que la cible lui fournit avant de démarrer la phase de test. Cela
permet notamment de passer l'étape d'authentification, et de pouvoir approfondir
les tests à l'intérieur de l'application ou du système.

L'objectif de ce type de test est de se mettre dans la peau d'un « utilisateur


normal » du système de la cible.

I.19.3 Test de pénétration en boîte blanche

Dans ce type de condition, le pentesteur peut être en possession de nombreuses


informations. Parmi elles, les plus courantes sont :

 les schémas d'architecture,


 un compte utilisateur permettant de s'authentifier,
 le code source de l'application,
 etc.

Dans ce scénario, la recherche est très approfondie et très complète avec une
recherche exhaustive des failles par le pentesteur.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


49
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

L'objectif ici, est de se mettre dans la peau d'un administrateur système et


réseau de la cible.

I.20 Environnement des tests de pénétration

La figure 18 est la représentation graphique de l’environnement qui a été mis en


place.

Figure 18 : Représentation graphique de l’environnement d'analyse et d'évaluation

Pour mettre en place tout cet environnement d’analyse et d’évaluation des


systèmes d’information, nous avons opté pour l’utilisation d’une plateforme de
virtualisation.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


50
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

I.20.1 L’hyperviseur

L’hyperviseur est un logiciel capable de partager les ressources de la machine sur


laquelle elle est installée. Il a deux rôles principaux : créer des ressources
virtuelles propres à chaque machine virtuelle et répartir ses propres ressources.
Il existe deux types d’hyperviseurs : de type 1 et de type 2. Ceux de type 1 sont
utilisés pour virtualiser de très grosses architectures alors que ceux de type 2
sont utilisés pour faire tourner sur une machine hôte différents systèmes
d’exploitation dans le but de réaliser une tâche spécifique. Ce qui s’inscrit
parfaitement dans le cadre de ce que nous voulons réaliser. L’hyperviseur de
type 2 que nous avons décidé d’utiliser est VMware Workstation Pro.

Figure 19 : VMware Workstation Pro

Cet environnement (VMware) sera donc constitué de deux machines virtuelles :


la machine virtuelle de l’hôte et celle de la cible. Chacune fonctionnant avec un
système d’exploitation.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


51
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

I.20.2 Machine Hôte

C’est la machine du pentesteur qui contient tous les outils nécessaires pour
réaliser des tests de pénétration. Il intègre, un OS, un scanneur de vulnérabilité,
un Framework d’exploitation des vulnérabilités, un constructeur de paquets et un
sniffer.

I.20.2.1Système d’exploitation

Il s’agit du programme principal d’une machine, chargé d’établir une relation


entre les différentes ressources matérielles, les applications et l’utilisateur.
On distingue principalement trois types de systèmes d’exploitation : les systèmes
Windows, Unix (Linux et MAC OS) et Android.
Pour les besoins de ce travail nous avons opté pour un système type Unix
notamment Linux avec sa distribution Kali. Linux est parfaitement adapté parce
qu’elle permet d’optimiser au mieux l’exploitation des ressources de la machine.
Kali Linux est une distribution Linux orientée test d’intrusion et sécurité
informatique, car elle dispose d’une gamme d’outils nativement intégrés pour
l’analyse et l’évaluation de la sécurité des systèmes.

Figure 20 : Kali Linux

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


52
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

I.20.2.2Scanner de vulnérabilités

Un scanner de vulnérabilités est un outil qui audite la sécurité d’un système


informatique et qui fait un rapport sur les failles de sécurité qu’il trouve dans le
dit système.
Il en existe plusieurs, notamment Nessus ou encore OpenVAS. Nous avons choisi
de travailler avec Nessus parce qu’il est plus élaboré et permet d’effectuer des
scanners plus variés sur des infrastructures diverses. De plus, la présentation
des vulnérabilités trouvées ainsi que les propositions des différentes mesures
correctives sont plus abouties et plus précises.

Figure 21 : Nessus

I.20.2.3Framework d’exploitation des vulnérabilités

Nous avons choisi comme Framework : Metasploit qui permet de conduire des
tests d’intrusion en exploitant les vulnérabilités détectées sur la cible.
Ce Framework contient deux éléments essentiels : Metasploit (comme le nom du
Framework) et Metasploitable.
 L’élément Metasploit est l’instance du Framework qui permet de conduire
le test. Cette instance sera notamment installée sur la machine hôte c’est-
à-dire la machine du pentesteur.
 L’élément Metasploitable, est l’instance du Framework qui contient
volontairement des vulnérabilités qui seront détectées par le pentesteur et
ainsi exploitées par la suite. Il s’agit donc de l’élément cible du test
d’intrusion.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


53
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Le choix de ce Framework se justifie également par le fait qu’il soit déjà intégré
dans la distribution Kali Linux.

Figure 22 : Framework Metasploit

I.20.2.4Constructeur de paquets

Le constructeur de paquets que nous avons décidé d’utiliser est Scapy qui est
nativement intégré au système d’exploitation Kali Linux. Il s’agit d’un
programme Python qui permet à l'utilisateur d'envoyer, de renifler, de disséquer
et de forger des paquets réseau. Cette capacité permet la construction d'outils qui
peuvent sonder, scanner ou attaquer des réseaux.

Scapy fait principalement deux choses :


 envoyer des paquets
 et recevoir des réponses.
On définit un ensemble de paquets, il les envoie, reçoit les réponses, fait
correspondre les requêtes aux réponses et retourne une liste de paires de paquets
(requête, réponse) et une liste de paquets non appariés.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


54
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Figure 23 : Scapy

I.20.2.5Sniffer de paquets

Comme sniffer de paquets, nous avons choisi Wireshark, car comme Scapy, il est
déjà intégré au système d’exploitation Kali Linux et de plus il s’agit d’un logiciel
Open-source (caractéristique d’un programme dont le code de conception est
accessible au public et peut être modifié à sa convenance). Il nous permettra
d’intercepter et d’analyser le trafic entre nos deux machines virtuelles (hôte et
cible).

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


55
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Figure 24 : Wireshark

I.20.3 Machine cible

Il s’agit de la machine représentant le système cible du test. Au sein de notre


environnement, c’est la machine qui hébergera Metasploitable c’est-à-dire
l’instance cible du Framework Metasploit.

I.20.3.1Système d’exploitation

Le système d’exploitation intégré à cette instance du Framework est un OS type


Unix. Il s’agit de Linux avec la Distribution Ubuntu.

Figure 25 : Système d'exploitation Ubuntu

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


56
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

I.21 Conclusion

Dans ce chapitre, nous avons abordé les méthodes d’analyse et d’évaluation du


niveau de sécurité d’un système d’information, notamment les types de tests ainsi
que les outils nécessaires pour les réaliser.
Nous avons vu que le principal moyen de tester la sécurité d’un système était de
le faire au moyen d’un test d’intrusion. Car il est permet de confronter une
infrastructure aux mêmes moyens qu’utiliserait un pirate pour pénétrer le
système.
Aussi, selon la façon dont le test d’intrusion est conduit, il peut s’agir d’un test
externe ou interne réalisé en boîte noire, grise ou blanche.
Concernant l’environnement de test, nous avons opté pour l’utilisation d’une
plateforme virtuelle intégrant une machine hôte et une machine cible. La
machine hôte est composée de Kali Linux comme OS (Operating System), Nessus
comme scanner de vulnérabilités, Metasploit comme Framework d’exploitation
des vulnérabilités, Scapy comme constructeur de paquets et Wireshark comme
sniffer réseau. La machine cible pour sa part renferme Metasploitable, l’instance
du Framework contenant volontairement des vulnérabilités.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


57
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

CHAPITRE 4 : IMPLÉMENTATION, RESULTATS et DISCUSSION

I.22 Introduction

Ce dernier chapitre est consacré au cas pratique. Nous allons dans un premier
temps présenter l’installation, ainsi que les configurations réalisées au sein de
l’environnement pour réaliser des attaques puis terminer avec les résultats.

I.23 Plan d’adressage des machines

Le choix de la plage d’adresses IPv4 (suite de chiffres codés en décimale


permettant d’identifier une machine sur internet), doit prendre en compte le
nombre de périphériques qui seront intégrés à l’infrastructure.
Pour les besoins de notre environnement, nous allons utiliser des adresses IP
privées pour nos deux instances Metasploit, à savoir VM Kali Linux (instance
attaquante) et VM Metasploitable (instance cible).
Il s’agira du couple d’adresse IP/masque sous-réseau suivant :
192.168.117.0/255.255.255.0 ou encore en écriture CIDR (Classless InterDomain
Routing) 192.168.117.0/24.
Nos deux machines virtuelles Kali Linux et Metasploitable ont donc
respectivement les adresses IP suivantes :

VM Kali Linux VM Metasploitable


192.168.117.129/24 192.168.117.130/24
Tableau 2 : Adressage des machines virtuelles

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


58
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Ces configurations peuvent être vérifiées sur chacune des deux machines
virtuelles en tapant la commande « ifconfig ».

Figure 26 : Ifconfig sur la VM Kali Linux

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


59
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Figure 27 : Ifconfig sur la VM Metasploitable

I.24 Réalisation de l’attaque SYN Flood

I.24.1 Première méthode : le constructeur de paquets

Pour réaliser l’attaque SYN Flood avec cette méthode, nous allons construire des
paquets à l’aide de l’outil Scapy.
La première étape consiste à envoyer des requêtes TCP SYN au port associé au
service du système de la cible. Pour envoyer une requête TCP SYN à un port
donné, nous devons d'abord construire les couches de cette requête. La première
couche que nous devons construire est la couche IP [15]:

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


60
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Figure 28 : Construction de la couche IP des paquets

Pour construire la couche IP de notre requête, nous devons créer une variable i et
nous devons lui affecter l’objet IP. Pour prendre connaissance des configurations
d’attributs de cette variable i, nous devons lui appliquer la fonction « display() ».
Les adresses d'envoi et de réception sont définies par défaut, et ces valeurs
peuvent être modifiées en changeant l'adresse de destination en définissant
« i.dst » égal à l'adresse IP du système cible qui n’est autre que notre machine
virtuelle Metasploitable qui a pour adresse IP : 192.168.117.130/24.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


61
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Figure 29 : Attribution de l'adresse de la cible à la couche IP

En appelant à nouveau la fonction display(), nous pouvons voir que non


seulement l'adresse IP de destination a été mise à jour, mais que Scapy a
également automatiquement mise à jour l'adresse IP source à l'adresse associée à
l'interface par défaut.
Maintenant que nous avons construit la couche IP de la requête, nous devons
procéder à la construction de la couche TCP.
Pour construire la couche TCP de notre requête, nous utiliserons la même
technique que pour la couche IP. L'objet TCP a été affecté à la variable t. Comme
indiqué précédemment, les configurations par défaut peuvent être identifiées en
appelant la fonction display(). Ici, nous pouvons voir que la valeur par défaut
pour le port de destination est le port HTTP 80. Pour notre analyse initiale, nous
laisserons les configurations TCP par défaut telles qu'elles sont.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


62
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Figure 30 : Construction de la couche TCP des paquets

Maintenant que nous avons créé les couches IP et TCP, nous pouvons construire
la requête en empilant ces deux couches :

Figure 31 : Emission des paquets

Pour obtenir les détails des paquets il suffit d’appliquer la fonction display() à la
variation « response ».

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


63
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Figure 32 : Détails des paquets construits

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


64
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

L'efficacité du flot SYN dépend du nombre de requêtes SYN qui peut être généré
dans un laps de temps donné. Pour améliorer l'efficacité de cette attaque, nous
allons rédiger un script multithread (script donc l’exécution des instructions se
fait de manière asynchrone) qui peut exécuter autant de processus simultanés de
génération de requêtes SYN (identique à la réalisation d’une attaque).
Ce script est rédigé en langage « Python ».

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


65
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Figure 33 : Script de bombardement de paquets SYN

Pour lancer le script, il nous suffit d’exécuter le fichier tout en complétant les
trois paramètres indispensables suivants :
 L’adresse IP de la cible
 Le nombre de threads (bombardement simultané)
 Et le numéro du port du service cible

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


66
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Figure 34 : Lancement du script

I.24.2 Deuxième méthode : l’instance attaquante de Metasploit

Le Framework Metasploit contient de nombreux modules auxiliaires pouvant


être utilisés pour conduire des tests d’intrusion sur les cyberattaques de tous
types, notamment par déni de service.
Comme nous souhaitons reproduire une attaque SYN Flood, nous allons utiliser
le module auxiliaire « synflood ».
Une fois le Framework lancée avec la commande « msfconsole », on obtient la
figure suivante :

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


67
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Figure 35 : Lancement Framework Metasploit

Il faut ensuite naviguer jusqu’au dossier contenant l’auxiliaire « synflood » et


consulter les options de nécessaire à ce dernier.

Figure 36 : Options de l'auxiliaire SYNFLOOD

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


68
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Une fois l'auxiliaire chargé, on tape la commande « show options » pour lister
toutes les options pouvant lui être appliquées. Et on constate qu’il contient de
nombreuses options dont certaines sont facultatives, et certaines ont déjà des
valeurs par défaut.
Ensuite, il ne nous reste plus qu’à configurer le paramètre RHOST (l’adresse IP
du système cible) et RPORT (le numéro de port du service cible qui est par défaut
le port 80).
Une fois toutes ces configurations terminées, on peut lancer l’attaque avec la
commande « exploit ».

Figure 37 : Attaque SYN Flood

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


69
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

I.25 Résultats et discussions

I.25.1 Résultats de la méthode du constructeur de paquets

I.25.1.1Au niveau de l’attaquant

Pour observer les résultats de l’attaque, il nous faut utiliser le sniffer Wireshark
afin de capturer le trafic entre nos deux machines (attaquant et cible).

Figure 38 : Trafic entre les VM Kali Linux et Metasploitable

Pour nous assurer du bon fonctionnement de l’attaque, il nous faut vérifier la


structure des paquets échangés entre les deux machines.
Rappelons que lors d’une attaque par déni de service de type SYN Flood :
1. La machine hôte (l’attaquant) ignore volontairement les paquets
provenant de la cible c’est-à-dire qu’il n’acquitte pas les paquets reçus, et
continue à bombarder la cible de requêtes
2. La machine cible, essaie d’acquitter tous les paquets qu’elle reçoit.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


70
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Figure 39 : Paquet attaquant-cible

On constate que dans le paquet qui par de l’attaquant vers la cible,


l’« Acknowledgement Number » c’est-à-dire que le flag ACK est égal à 0, ce qui
signifie que l’attaquant ignore d’accusé réception des paquets reçus.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


71
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Figure 40 : Paquet cible-attaquant

De l’autre côté, on constate que dans le paquet qui part de la cible vers
l’attaquant, l’« Acknowledgement Number » c’est-à-dire que le flag ACK est égal à
1, ce qui signifie que la cible acquitte tous les paquets reçus.

I.25.1.2Au niveau de la cible

Au niveau de la cible, nous avons utilisé la commande « netstat –ct » afin de


contrôler le trafic entrant en temps réel sur le serveur et ainsi voir le statut des
paquets.
Avec cette commande, on peut prendre connaissance des paquets arrivant sur le
serveur. La plus importante de toutes les informations renvoyées par cette
commande est l’état c’est-à-dire le statut d’un paquet.
En effet, un paquet peut avoir différents statuts selon sa nature [16]:
 LISTEN : représente l'attente d'une demande de connexion de n'importe
quelle transmission TCP et sur n’importe quel port.
 SYN-SENT : représente l'attente d'une demande de connexion après avoir
envoyé une demande de connexion.
 SYN-RECV : représente l'attente d'une confirmation de connexion, c’est à
dire l’attente d’un accusé de réception après avoir à la fois reçue et envoyée
une demande de connexion.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


72
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

 ÉTABLI : représente une connexion ouverte, les données reçues peuvent


être remis à l'utilisateur. L'état normal pour la phase de transfert de
données de la connexion.
 FIN-WAIT-1 : représente l'attente d'une demande de clôture de connexion
d’une transmission TCP distante, ou un acquittement de la connexion ou
encore une demande de résiliation précédemment envoyée.
 FIN-WAIT-2 : représente l'attente d'une demande de clôture de connexion
d’une transmission TCP distant.
 CLOSE-WAIT : représente l'attente d'une demande de clôture de
connexion de l'utilisateur local.
 FERMETURE : représente l'attente d'une demande de clôture de
connexion c’est-à-dire un acquittement d’une transmission TCP distante.
 LAST-ACK : représente l'attente d'un accusé de réception de la demande
de clôture de connexion précédemment envoyée pour une transmission
TCP distante (qui inclut un accusé de réception de sa clôture de connexion
demandée).

Une fois l’attaque lancée sur le système cible et après avoir entrée la commande
« netstat –ct », on obtient le résultat de la figure 38.

Figure 41 : Trafic entrant sur le système cible

On remarque effectivement qu’il y a des paquets provenant de l’adresse IP


étrangère 192.168.117.129, qui arrivent sur l’adresse IP local 192.168.117.130,
précisément sur « www », c’est à dire sur le port Web, notamment le port 80. Et
ces paquets ont tous pour statut « SYN_RECV ».

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


73
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Ce statut signifie que le système cible est en attente d'une confirmation de


connexion : demande d’un accusé de réception après avoir à la fois reçue et
envoyée une demande de connexion.

I.25.2 Résultats de la méthode de l’instance attaquante de Metasploit

I.25.2.1Au niveau de l’attaquant

Tout comme avec la méthode du script rédigé, pour observer les résultats de
l’attaque au niveau de l’attaquant, nous allons utiliser le sniffer de paquets
Wireshark.

Figure 42 : Trafic entre l'attaquant et le cible

On constate que avec cette méthode, le Framework camoufle l’adresse IP de


l’attaquant qui est normalement 192.168.117.129, en utilisant une autre adresse
IP permettant ainsi ne pas pouvoir l’identifier. Il s’agit notamment de
l’adresse 180.71.118.80.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


74
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Tout comme avec la méthode précédente, nous allons vérifier le bon


fonctionnement de l’attaque en regardant la structure des paquets circulant entre
nos deux systèmes.

Figure 43 : Paquet cible-attaquant

On constate que dans le paquet qui par de l’attaquant vers la cible,


l’« Acknowledgement Number » c’est-à-dire que le flag ACK est égal à 0, ce qui
signifie que l’attaquant ignore d’accusé réception des paquets reçus.

Figure 44 : Paquet cible-attaquant

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


75
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

On constate que dans le paquet qui part de la cible vers l’attaquant,


l’« Acknowledgement Number » c’est-à-dire que le flag ACK est égal à 1, ce qui
signifie que la cible acquitte tous les paquets reçus.

I.25.2.2Au niveau de la cible

Nous allons utiliser la commande « netstat -ct » qui nous permettra d’avoir en
temps réel connaissance du trafic entrant sur le serveur.

Figure 45 : Trafic entrant sur le serveur cible

On constate qu’il y a de nombreux paquets provenant de l’adresse IP étrangère


180.71.118.80, qui arrivent sur l’adresse IP local 192.168.117.130, précisément
sur « www », c’est à dire sur le port Web qui est le port 80. Et ces paquets ont
tous pour statut « SYN_RECV ».
Et ce statut signifie que le système cible est en attente d'une confirmation de
connexion, c’est-à-dire à demander un accusé de réception après avoir à la fois
reçue et envoyée une demande de connexion.

I.26 Mesures protectrices contre les attaques DoS et DDoS

Stopper une attaque par déni de service de type SYN Flood n’est pas facile.
L’enjeu étant de pouvoir distinguer les paquets SYN malveillants de ceux qui
sont légitimes. Cependant, de nombreuses mesures à la fois préventives et
correctives peuvent être prises afin de les éviter ou de limiter leurs impacts sur
un système.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


76
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Comme mesures préventives, on peut [17]:


1. Diminuer le taux de connexion par adresse IP.
2. Utiliser des IDS (Intrusion Detection Systems) et pare-feu d'application
Web pour analyser le trafic réseau.
3. Ajuster la connexion par seuil IP.
4. S’assurer que l’hébergeur dispose d’une large connectivité internet, ce qui
permettra de gérer de grands volumes de trafic.

Pour les mesures correctives en cas d’attaques, on peut mettre en place les
solutions suivantes :

- Extension du backlog SYN


Le backlog SYN fait partie du système d’exploitation. D’un point de vue
conceptuel, on peut définir le backlog SYN comme un tableau. Chaque ligne
contient les informations concernant l’établissement d’une connexion TCP
individuelle. Le système d’exploitation gère les connexions dans un premier
temps. Lorsqu’une connexion est établie après avoir passé le « Three Way
Handshake », elle est alors transmise à l’application écoutant sur le port et
retirée du backlog SYN.

L’une des méthodes les plus simples pour protéger un système contre les
attaques SYN flood consiste à étendre le backlog SYN. Chaque entrée du backlog
SYN nécessite une certaine quantité de mémoire vive ce qui limite le nombre
d’entrées. Par défaut, cette limite est de quelques centaines d’entrées sous Linux
mais cette valeur peut facilement être augmentée. En principe, le backlog SYN
peut contenir des milliers d’entrées permettant ainsi d’absorber les attaques SYN
flood les plus petites.

- Recyclage de la connexion TCP semi-ouverte la plus ancienne


Une approche similaire consiste à supprimer la connexion semi-ouverte la plus
ancienne dans le backlog SYN lorsque celui-ci est plein. Cette suppression
laissera de la place pour une nouvelle connexion semi-ouverte. Associée avec un

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


77
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

backlog SYN suffisamment étendu, cette approche peut permettre de maintenir


un système accessible pendant une attaque SYN flood.

I.27 Conclusion

Dans ce chapitre, nous avons mis en évidence dans l’environnement défini, un cas
pratique d’une cyberattaque réalisée avec deux méthodes.
Nous avons pour cela, à partir des outils choisis, pu reproduire les conditions
réelles d’une cyberattaque par déni de service de type SYN Flood, afin d’en
mesurer l’impact sur un système d’information.
Nous avons constaté que pour les systèmes d’information de type applications
web, un simple port ouvert pouvait constituer une porte d’entrée suffisante pour
une cyberattaque.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


78
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

I.28 Conclusion générale et perspectives

Internet, de par sa disponibilité, est devenu un outil incontournable, tant pour un


usage personnel que professionnel. Cette disponibilité, couplée à l’essor des
nouvelles technologies (en termes de périphériques : ordinateurs, smartphones,
etc.) a permis aux systèmes d’information de s’imposer comme un impératif au
sein des entreprises. Seulement, avec cette dépendance à internet, les entreprises
sont accessibles depuis l’extérieur rendant ainsi leurs systèmes d’information
vulnérables aux cyberattaques, parmi lesquelles : le déni de service. C’est dans ce
cadre que nous avons eu comme objectif de notre travail : la mise en place d’un
environnement de test et d’analyse, afin de pouvoir faciliter la conception des
systèmes d’information résistants aux attaques par déni de service.
Ce travail a été divisé en quatre grands chapitres.
Dans le premier chapitre, nous avons abordé les généralités sur la cybersécurité
et les cyberattaques. Tout d’abord nous avons vu qu’un système d’information
pour être considéré comme sécurisé, doit présenter les caractéristiques
suivantes : la disponibilité, l’intégrité, la confidentialité ainsi que la non-
répudiation de l’information. Ensuite, nous avons vu qu’un système d’information
non sécurisé possède des failles qui peuvent être exploitées par un pirate aux
moyens des cyberattaques actives ou passives.
Dans le deuxième chapitre, nous avons étudié en profondeur les cyberattaques
par déni de service. Nous avons compris que leur fonctionnement repose sur
l’exploitation des failles des protocoles indispensables au bon fonctionnement
d’internet, notamment TCP, UDP, http et DNS.
Ensuite, nous avons consacré le chapitre trois, aux différents moyens d’analyse et
d’évaluation de la sécurité d’un système d’information, ainsi que les outils
nécessaires pour les réaliser. Il existe deux types de tests pour auditer la sécurité
d’un SI, le test externe et le test interne. Et selon la quantité d’information à
disposition du pentesteur, il peut s’agir d’un test en boîte noire, grise ou blanche.
En ce qui concerne l’environnement, nous avons utilisés les outils suivants : l’OS
Kali Linux, le scanner de vulnérabilités Nessus, le Framework d’exploitation des

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


79
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

vulnérabilités Metasploit, le constructeur de paquets Scapy et le sniffer de trafic


Wireshark.
Enfin dans le dernier chapitre, nous avons testé notre système d’information
cible, en reproduisant les conditions réelles d’une attaque par déni de service au
moyen d’un test d’intrusion externe en boîte grise.
Toutefois, pour être encore plus efficace, cet environnement pourrait être utilisé :
 Comme environnement au sein duquel les applications web, après avoir
été développées, sont installées sur la machine cible (serveur web) afin
d’être testé contre les attaques DoS et DDoS avant d’être mis en ligne.
 Pour tester chaque contre-mesure (préventive et corrective) afin d’en
dégager la ou les plus efficaces contre les cyberattaques DoS et DDoS.
 Pour tester, toujours dans le cadre d’une cible de type application web,
d’autres cyberattaques telles que le Cross-Site Scripting (XSS) ou encore
l’injection SQL.

Au regard de tout le travail réalisé, nous avons compris que la sécurité des
systèmes d’information, est aujourd’hui très important en raison de la sensibilité
des informations y circulant chaque jour.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


80
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Références bibliographiques

[1] Ghernaouti, S. (2019). Cybersécurité : Analyser les risques, mettre en œuvre des
solutions. Paris: Dunod.
[2] Le top 10 des différents types de cyberattaques. (2021, Mars 17). Récupéré sur
oodrive: https://www.oodrive.com/fr/blog/securite/top-10-differents-types-
cyberattaques/
[3] X, W. (2018, Juillet 28). Difference entre attaque active et passive. Récupéré
sur WayToLearn X: https://waytolearnx.com/2018/07/difference-entre-
attaque-active-et-attaque-passive.html
[4] Pillou, J.-F. (2018, 11 05). Attaque man in the middle (« homme au milieu ») .
Récupéré sur CCM Comment Ca Marche:
https://www.commentcamarche.net/contents/60-attaque-man-in-the-middle
[5] Richard, P. (2021, Avril 19). Explosion des attaques DoS et par mot de passe.
Récupéré sur IT Social: https://itsocial.fr/enjeux-it/enjeux-
securite/cybersecurite/explosion-des-attaques-dos-et-par-mot-de-passe/
[6] Lussan, P.-L. (2019, Septembre 18). Les 10 types de cyberattaques les plus
courants. Récupéré sur netwrix: Les 10 types de cyberattaques les plus
courants
[7] Steinberg, J. (2020). La cybersécurité pour les nuls. Paris: Wiley Publishing.
[8] noctambule28. (2020, Janvier 07). Le protocole HTTP. Récupéré sur CCM
Comment Ca Macrhe: https://www.commentcamarche.net/contents/520-le-
protocole-http
[9] avenuepopulaire. (2017, Juin 01). Le Protocole TCP. Récupéré sur CCM
comment ca marche: https://www.commentcamarche.net/contents/538-le-
protocole-tcp
[10] Pillou, J;-F. (2011, 20 04). Le protocole UDP. Récupéré sur CCM Comment
Ça Marche: https://www.commentcamarche.net/contents/541-le-protocole-
udp
[11] Pillou, J.-F. (2019, Septembre 23). Qu'est-ce que le DNS ? . Récupéré sur
CCM Comment Ca Marche:

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


81
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

https://www.commentcamarche.net/contents/518-dns-systeme-de-noms-de-
domaine
[12], [17] Walkowski, D. (2019, 06 05). What Is a Distributed Denial-of-Service
Attack? Récupéré sur F5: https://www.f5.com/labs/articles/education/what-
is-a-distributed-denial-of-service-attack-
[13] Openclassrooms. (2021, Janvier 01). C’est quoi un test d’intrusion (ou pentest)
? Récupéré sur Openclassrooms:
https://openclassrooms.com/fr/courses/1756296-conduisez-un-test-
dintrusion/5369701-c-est-quoi-un-test-d-intrusion-ou-pentest
[14] Openclassrooms. (2021, Janvier 01). Maîtrisez les types de tests. Récupéré sur
Openclassrooms: https://openclassrooms.com/fr/courses/1756296-conduisez-
un-test-dintrusion/5369711-maitrisez-les-differents-types-de-tests
[15] Hutchens, J. (2014). Kali Linux Networking Scanning Cookbook.
Birmingham - Mumbai: Packt.
[16] Way, I. S. (1981, Septembre ). TRANSMISSION CONTROL PROTOCOL.
Récupéré sur IETF: https://datatracker.ietf.org/doc/html/rfc793

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


82
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Annexe

 Installation du scanner de vulnérabilités Nessus

Le téléchargement du scanner Nessus se fait depuis le site « tenable.com ». Une


fois le l’archive .deb obtenue, il suffit d’extraire les fichiers d’installation puis de
lancer le fichier d’exécution.

Figure c : Connexion Nessus

Après la connexion, nous sommes rédigés vers le tableau de bord de Nessus d’où
nous pouvons réaliser nos scans.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


I
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Figure d : Tableau de bord Nessus

Pour scanner la cible, il suffit de cliquer sur le lien « new scan » en haut à droite
de notre page de tableau de bord.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


II
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Figure e : Liste des scans disponibles sur Nessus

Le « Basic Network Scan » permet d’obtenir toutes les informations nécessaires


pour réaliser des analyses.

Figure f : Création du scan sous Nessus

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


III
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

On doit renseigner le nom du scan afin de le distinguer des autres scans du même
type qui seront effectués ultérieurement, un descriptif du scan, le dossier
d’enregistrement puis le plus important l’adresse IP de la cible qui est dans notre
cas celle de l’instance VM Metasploitable. Une fois tous ces champs renseignés,
on a plus qu’à enregistrer et le scan apparaît automatiquement dans la liste des
scans créés.

Figure g : Tableau de bord Nessus

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


IV
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Le scan enregistré peut alors être exécuté en cliquant sur la petite icone « Play »
après la date d’enregistrement du scan.

Figure h : Liste des vulnérabilités identifiées par Nessus sur la VM Metasploitable

Les failles découvertes par Nessus sont alors consultables en cliquant sur le nom
du scan. Comme on peut le constater, Nessus classe les vulnérabilités par ordre
de gravité, notamment dans cinq catégories à savoir : Critical, High, Medium,
Low et Info.
Si l’on souhaite mettre en place un déni de service de type « SYN Flooding », il
faut rechercher les vulnérabilités en rapport avec le flag SYN. Pour cela, il
faudra rechercher le flag SYN dans la boîte de recherche au-dessus du tableau.

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


V
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

Figure i : Liste des vulnérabilités relatives au flag SYN

Pour connaître les détails de cette vulnérabilité, il ne faut cliquer sur la ligne du
tableau.

Figure j: Liste des ports ouverts sur la VM Metasploitable

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


VI
Cybersécurité : les attaques par déni de service Année académique : 2020-2021

En scrollant, on obtient encore plus de détails sur la vulnérabilité, notamment la


liste de tous les ports ouverts sur la machine et donc toutes les vulnérabilités
pouvant être exploitées par le moyen de ports.

Figure k : Description de la vulnérabilité et préconisation

Mémoire de Master Professionnel DIABANGOUAYA YENGOZO Di Rosaire M/METL/ENSP/UMNG


VI
I
RÉSUMÉ et MOTS-CLÉS

Le nombre de cyberattaques par déni de service


contre les systèmes d’information a connu une
croissance exponentielle ces dernières années.
En effet, la grande majorité de ces systèmes
sont connectés à internet en raison des
différents services qu’ils offrent. Ceux-ci sont
donc exposés à des menaces informatiques qui
peuvent bloquer leur bon fonctionnement ou
limiter fortement leur accessibilité.
Disposer d’un environnement expérimental qui reproduit les conditions d’un
piratage informatique de type déni de service, permettrait d’évaluer et d’analyser
le comportement des systèmes d’information face à ce type d’attaques.
Une telle évaluation permettrait d’une part de mieux mesurer l’impact des
attaques par déni de service sur les systèmes d’information, et d’autre part de
pouvoir tester différentes politiques de sécurité afin d’identifier laquelle est la
plus efficace pour lutter contre les cyberattaques par déni de service.

Mots-clés :
Internet,
Cybersécurité,
Cyberattaque,
Déni de service,
TCP SYN Flood,
Test d’intrusion,
Metasploit,
Et système d’information.

Vous aimerez peut-être aussi