Vous êtes sur la page 1sur 6

Intitulé : Rapport de détection des attaques basées sur

l’apprentissage automatique
Sécurité Informatique

Domaine : Mathématiques-Informatique
Filière : Informatique
Spécialité : Réseaux et sécurité informatique
Préparé par : Messaoudi Chiraz
Préparé par : Zaoui Geurfi Oumaima

Préparé par : Tazir Roumaissa Année : 2023-2024

Introduction
Ce rapport couvre le processus, la méthodologie, les résultats et les conclusions du projet de détection
des attaques basées sur l’apprentissage automatique. L’objectif de ce projet est de comprendre et d’analyser le
comportement des réseaux dans des conditions normales d’exploitation et lors de types spécifiques de cyberattaques .

Tache 1 : Simulation d’attaques


Dans cette tâche, nous nous concentrons sur l’exécution de diverses cyberattaques et la capture de données de
trafic réseau dans des conditions normales d’exploitation et dans des scénarios d’attaque. Ce processus implique la
mise en place d’un réseau avec deux machines virtuelles, l’une agissant en tant qu’attaquant et l’autre en tant que
victime. Nous utilisons ensuite la bibliothèque Scapy pour écrire des scripts Python qui exécutent trois attaques
distinctes : Xmas Scan (attaque par analyse), DNS Cache Poisoning (attaque de l’homme du milieu) et UDP Flood
(attaque par déni de service). En capturant les données de trafic réseau pour chaque scénario, nous pouvons analyser
le comportement du réseau dans différentes conditions et mieux comprendre les caractéristiques et les effets de
chaque type d’attaque. Cette compréhension nous permettra de développer un modèle d’apprentissage automatique

efficace pour détecter et classer ces attaques dans la tâche 2 .

Tâche 1.1 : Exécution des attaques


Nous avons mis en place un réseau composé de deux machines virtuelles (VM), l’une servant d’attaquant et
l’autre de victime. Nous avons ensuite écrit des scripts Python à l’aide de la bibliothèque Scapy pour exécuter les trois
attaques suivantes :

Notre environnement de travail par 2 machine :

-192.168.100.7: machine attaquant kali linux .

-192.168.100.8: machine cible de l’attaque ubuntu.

Figure1.1: l’environnement des attaques

1
1. Xmas Scan (Scanning Attack):nous avons collecté le trafic réseau à l’aide de Wireshark sur la
machine victime.

Figure 1.2 xmas_scan .py Figure 1.2 xmas_scan.pcap

Dans ce script nous effectue un scan Xmas sur l'adresse IP de la victime, en envoyant des paquets TCP
avec les flags FIN, PUSH et URG activés pour chaque port dans la plage de 1 à 1023

2. Empoisonnement du cache DNS (attaque de l’homme du milieu) Nous avons capturé le trafic
réseau pour 100instances de l’attaque afin de collecter un ensemble de données complet sur les
efforts de manipulation du DNS

Figure 1.3 dns.py Figure 1.3 dns.pcap


Ce script envoie de manière répétée des paquets DNS trafiqués à une victime, visant à remplacer les entrées
légitimes dans son cache DNS par des données malveillantes. Chaque paquet DNS trafiqué contient une
réponse falsifiée associant un nom de domaine spécifique à une adresse IP malveillante.

3. UDP Flood (Denial-of-Service Attack) : Compte tenu du volume élevé de trafic généré par cette
attaque, nous avons collecté le trafic réseau pendant une période plus courte de 10 à 15 minutes.

2
Figure 1.4 udp_flood.py Figure1.4 udp_flood.pcap
Ce script envoie en boucle des paquets UDP contenant des données aléatoires à l'adresse IP de la victime et
au port spécifié. .
Pour limiter la période de collecte à 10 à 15 minutes,nous introduire une temporisation dans le script pour
qu'il s'arrête automatiquement après un certain temps

4. Trafic normal : Nous avons collecté le trafic réseau normal en lançant Wireshark en utilisant la
machine normalement pendant une durée de 30 à 60 minutes.
Pour chaque attaque, nous l’avons exécutée une par une, capturé le trafic réseau sur la machine victime et
l’avons enregistré sous forme de fichier PCAP.

Figure 1.5 trafic normal.pcap

Tâche 1.2 : Extraction de flux réseau et de caractéristiques


Nous avons utilisé CICFlowMeter pour convertir les fichiers PCAP en fichiers CSV, en extrayant les flux
de trafic réseau et en calculant les caractéristique qui caractérisent de manière unique chaque flux réseau.
Nous avons obtenu quatre fichiers CSV : un pour le trafic normal et un pour chacune des trois attaques.

3
Trafic normal.csv udp_flood .csv Dns.csv

Xmas_scan .csv

Tache 2 : Détection et classification basées sur l’apprentissage


automatique
Nous avons écrit un programme Python pour effectuer les tâches suivantes en étulise l’outil Google Colab :

 Dans la manipulation de chaque fichier CSV, nous introduisons une nouvelle colonne appelée
"Label". Dans cette colonne, nous assignons le nom de l'attaque pour les captures d'attaques
respectives, et pour la capture contenant du trafic normal, nous attribuons la valeur "Normal". Par
la suite, nous combinons les quatre fichiers CSV en un seul fichier CSV nommé "Dataset.csv"

4
code python
dataset.csv

 Nous procédons à l'entraînement et à la création


d'un classificateur d'arbre de décision en
utilisant la bibliothèque Scikit-Learn. Ce
classificateur est conçu pour distinguer le trafic normal des différents types d'attaques

5
Code python d’arbre de décision

 Évaluez les performances de l’arbre de décision à l’aide du taux de détection (rappel) et du taux de
faux positifs.
 Taux de détection (rappel)

Taux de detection

Code python

 Taux de faux positifs

Code python Confusion matrix

CONCLUTION

Le projet de détection des attaques basées sur l'apprentissage automatique met en lumière
l'efficacité de la méthodologie utilisée. En simulant diverses cyberattaques, en capturant le trafic
réseau et en développant un modèle d'apprentissage automatique, le projet a démontré sa capacité
à détecter et classifier les attaques avec précision. Les résultats obtenus soulignent l'importance de
l'analyse du trafic réseau pour renforcer la sécurité informatique.

Vous aimerez peut-être aussi