Rapport

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

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 Zaoui Geurfi Oumaima 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. Analyse de Noël (attaque par analyse) : nous avons collecté le trafic réseau à l’aide de Wireshark
sur la machine victime pendant la durée de deux ou trois analyses.

1
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 deux ou trois instances 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.

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

2
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.

Dns.csv

Xmas-scan.csv

Trafic normal.csv

udp_flood .csv

3
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 :

 Ajoutez une nouvelle colonne nommée « Label » à chaque fichier CSV, en attribuant le nom de
l’attaque pour les captures d’attaque respectives et « Normal » pour la capture de trafic normale.
 Fusionnez les quatre fichiers CSV en un seul fichier CSV nommé « Dataset.csv ».

code python dataset.csv

 Entraînez et créez un classificateur d’arbre de décision à l’aide de la bibliothèque Scikit-Learn,


capable de faire la distinction entre le trafic normal et les différents types d’attaques.

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)

4
Taux de detection

Taux de faux positifs

Confusion matrix

Code python

Livrables
 Trois scripts Python pour mener les attaques.
 Fichier de jeu de données fusionné nommé « Dataset.csv ».
 Un programme Python pour l’entraînement et l’évaluation du classificateur d’arbre de décision.
 Ce rapport détaillé, n’excédant pas 5 pages, en format PDF

Les scripts Python et le jeu de données « Dataset.csv » sont regroupés dans une seule archive .zip pour la
soumission.

Vous aimerez peut-être aussi