Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Rapport

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

Département Mathématiques et Informatique

Rapport du Stage d’Initiation

Filière :

«Ingénierie Informatique : Cybersécurité et Confiance Numérique»

II-CCN
Mise en Place d'un Système de Deep
Packet Inspection (DPI) pour l'Analyse
des Flux Réseau

Lieu du stage : PRISALYA CONSULTING

Soutenu le … / …/ ….

Réalisé par : Encadré par :


BENABID Ibtissam M.ERROUSSAFI El Mehdi

ENSET, Avenue Hassan II - B.P. 159 - Mohammedia - Maroc


🕾 05 23 32 22 20 / 05 23 32 35 30 – Fax : 05 23 32 25 46 - Site Web: www.enset-media.ac.ma
E-Mail : enset-media@enset-media.ac.ma
Année Universitaire : 2024-2025
Remerciements

Je tiens tout d'abord à exprimer mes sincères remerciements à Monsieur El Mehdi


Erroussafi, le directeur de PRISALYA Consulting , pour m’avoir permis d’effectuer
mon stage au sein de cette institution.

Je m’adresse également mes vifs remerciements aux membres du jury, pour avoir
bien voulu examiner et évaluer mon travail.

Je suis reconnaissant envers Madame BERRADA ALLAM Rabia, en qualité de


professeur des techniques d’expression et de communication, pour son assistance
au cours de la rédaction du rapport et la préparation pour la soutenance.

Je suis également reconnaissant envers toutes les personnes qui m’ont conseillé et
m'ont apporté leur aide pendant chaque étape de mon stage, Leur soutien a été
essentiel pour m'aider à surmonter les défis et les obstacles rencontrés.

Enfin , je remercie le corps professionnel et pédagogique de l’École Normale


Supérieure de l’Enseignement Technique de Mohammedia (ENSET
Mohammedia) qui veillent sans cesse à ce que notre formation soit de qualité.
Sommaire

Remerciement................................................................................................................
Sommaire.......................................................................................................................
Introduction...................................................................................................................1
I. Présentation de l’Entreprise......................................................................................2
II. Description du stage...............................................................................................4
III. Réalisation du Projet.............................................................................................10
Conclusion..................................................................................................................19
SITOGRAPHIE...........................................................................................................21
Introduction

En tant qu’étudiante en deuxième année de la filière Cybersécurité et Confiance


Numérique (II-CCN) à l’École Normale Supérieure de l’Enseignement Technique
de Mohammedia (ENSET Mohammedia), j’ai eu l’opportunité de réaliser un stage
professionnel au sein de PRISALYA, un cabinet reconnu pour son expertise en
cybersécurité. Ce stage s'inscrit dans le cadre de ma formation, visant à mettre en
pratique les connaissances acquises en matière de sécurité des systèmes
d’information et de protection des réseaux.

Ma mission principale au cours de ce stage était la mise en place d'un système de


Deep Packet Inspection (DPI), une technologie avancée permettant d’analyser en
profondeur le contenu des paquets réseau afin d’identifier les protocoles utilisés et
d’évaluer les risques associés. En utilisant la librairie nDPI, j’ai travaillé sur le
développement d’un outil capable de capturer et d’analyser en temps réel les flux
réseau pour en extraire des informations clés comme les adresses IP, les ports, et
les protocoles. L'objectif était de scorer ces flux réseau afin de déterminer leur
niveau de risque en fonction de critères spécifiques, comme l’utilisation de protocoles
non sécurisés ou de ports vulnérables.

Le projet a impliqué plusieurs étapes, allant de l'installation et de la configuration de


l'outil à la conception d'un système de visualisation des données. À cet effet, j'ai
utilisé des bibliothèques de visualisation comme Dash, qui m'ont permis de créer des
tableaux de bord interactifs. Ces tableaux de bord facilitent la compréhension et
l'analyse des données capturées, offrant une vue d’ensemble des risques potentiels
sur le réseau en temps réel. Ce projet m'a permis de développer des compétences
techniques solides en analyse réseau, tout en approfondissant ma compréhension
des mécanismes de sécurité appliqués aux systèmes d'information.

Enfin, cette expérience chez PRISALYA m’a permis non seulement de mettre en
application mes connaissances théoriques en cybersécurité, mais aussi de
m'immerger dans un environnement professionnel exigeant, où l'importance de la
surveillance proactive des flux réseau et de la gestion des risques est primordiale
pour garantir la sécurité des infrastructures numériques.

1
I. Présentation de l’Entreprise

Introduction
Cette première partie sera consacrée à la présentation de l’organisme qui m’a
accueilli pendant la période de mon stage d’initiation. Elle abordera la structure,
l’historique et les activités du cabinet PRISALYA Consulting .

1.1 Présentation de l’organisme d’accueil

1.1.1 Fiche technique de PRISALYA Consulting

Dénomination sociale PRISALYA Consulting

Date de création 15 septembre 2020

Activité Services et consulting

Directeur Elmehdi Erroussafi

Adresse 10 Rue Chrarda, Quartier Bourgogne

Téléphone +212 (0) 6 90 97 10 11

Site web https://www.prisalya.com

1.1.2 Activité

a) Présentation de l’entreprise :
PRISALYA consulting est un cabinet d’expertise en cybersécurité qui accompagne
les clients dans la sécurisation de leur transformation digitale, de la stratégie à la
mise en place opérationnelle, tout en offrant une réponse appropriée en cas
d’attaque. La démarche PRISALYA est méthodique, innovante et opérationnelle.

2
Figure 1 : logo de l'entreprise d’accueil

b) Services de l’entreprise :
La boite de consulting offre les services suivants :
 Stratégie et Risk Management : Identifier et évaluer les dangers potentiels
pour votre infrastructure, vos projets et vos ressources informationnelles.
 Conformité Numérique : Pour renforcer la cyber-résilience des organisations et
les aider à être en conformité avec les nouvelles réglementations.
 Cloud et Digital : Repenser les méthodes et sécuriser la transformation digitale
à l’ère du cloud, de l’agilité et de la mobilité.
 Audits de Sécurité : Test d’intrusions, audits organisationnels et revue de
code : Un regard externe pour mieux évaluer ses mécanismes de défenses.
 Gestion de l'incident : Réagir et gérer, ou vous aider à gérer l’incident de
sécurité, à travers notre Centre Opérationnel de Sécurité et nos experts N3.
 Capacity Building : Une offre de formation riche, technique et pratique, afin
d’expérimenter la sécurité défensive et offensive et rester à jour.

c) Partenaires de l’entreprise :
Prisalya Consulting est fière de collaborer avec plusieurs entreprises de renom, dont
OCP, un leader dans le secteur des phosphates, et CDG, un acteur majeur du
développement économique. Elle travaille également avec Inetum, qui excelle dans
la transformation numérique, ainsi qu'avec CMRPI, spécialisée dans la gestion des
risques. Enfin, elle collabore aussi avec LMS qui permet d'intégrer des solutions
innovantes dans leurs offre de services. Ces partenariats renforcent leurs
engagement à fournir des solutions de haute qualité à leurs clients.

1.2 Structure organisationnelle

L'entreprise est considérée comme une petite structure, avec seulement le directeur
à sa tête. Ce dernier est responsable de toutes les opérations et décisions, gérant
l'ensemble des activités de l'entreprise sans autre personnel.

3
Conclusion
En résumé, cette première partie avait pour objectif de présenter l’organisme
PRISALYA Consulting qui m’a accueilli pendant la période de mon stage.

4
II. Description du stage

Introduction
Cette section présente le déroulement de mon stage d'initiation réalisé à distance au
sein de Prisyla Consulting, du 29 juillet au 30 septembre 2024.

2.1 Thème de stage

2.1.1 Contexte

La sécurisation des réseaux informatiques est devenue une priorité dans un monde
de plus en plus connecté, où les cybermenaces ne cessent de croître en nombre et
en complexité. L'analyse des flux réseau consiste à examiner les données qui
circulent au sein d'un réseau informatique afin de comprendre les comportements,
identifier les anomalies et évaluer les risques. Cette analyse permet de surveiller les
communications entre différents appareils connectés, de détecter les menaces
potentielles, et d'améliorer la sécurité du réseau en identifiant les points faibles ou
les protocoles non sécurisés.

2.1.2 Solution proposée

Dans le cadre de ce projet, il a été proposé de développer un système de DPI en


utilisant la librairie nDPI, un outil open-source qui offre des fonctionnalités avancées
pour l'analyse des protocoles réseau et l'identification des flux. Ce projet a pour but
de mettre en place un système capable non seulement de capturer et d'analyser les
flux réseau en temps réel, mais aussi de scorer les risques associés à ces flux, en
fournissant des visualisations claires et exploitables des données recueillies.

5
2.1.3 Objectifs

Les principaux objectifs de ce projet sont les suivants :

 Installation et Configuration de nDPI : Mettre en place l'environnement


nécessaire à l'exécution de nDPI sur un système Linux et configurer l'outil
pour capturer et analyser les paquets réseau en temps réel.
 Capture et Analyse des flux réseau : Utiliser le nDPI pour capturer les
paquets réseau, extraire les informations pertinentes telles que les
protocoles, les adresses IP, et les ports, puis développer des scripts en
Python pour analyser ces données.
 Visualisation des Informations : Créer des outils de visualisation pour
représenter graphiquement les résultats de l'analyse, facilitant ainsi la
compréhension et l'interprétation des risques associés aux flux réseau.

2.1.4 Déroulement

J'ai effectué mon stage d'initiation à distance au sein de Prisyla Consulting, du 29


juillet 2024 au 30 septembre 2024. Chaque mardi, nous avions une réunion en
ligne via Google Meet pour discuter de l'avancement du projet. Voici le déroulement
des semaines :
 Semaine 1 : Recherche sur l'outil NDPI pour comprendre ses fonctionnalités et
son utilisation dans notre projet.
 Semaine 2 : Manipulation de l'outil de capture et d'analyse des flux réseau en
mode terminal.
 Semaine 3 : Scoring des risques, apprentissage de l'évaluation et de la
quantification des risques associés aux données.
 Semaine 4 : Visualisation des données et tests pratiques, permettant d'appliquer
les connaissances acquises.

2.2 Analyse Fonctionnel

2.2.1 Spécifications des besoins Fonctionnelles

● Capture des paquets réseau : Le système doit capturer en temps réel les
paquets réseau transitant par une interface spécifique.

6
○ Entrée : Paquets réseau via l'interface réseau.
○ Sortie : Données des paquets capturés, incluant les informations
suivantes : protocole, ports source et destination, score des ports, score
des protocoles et évaluation du risque.

● Analyse et classification des protocoles : Le système doit analyser chaque


paquet capturé, identifier le protocole et attribuer un score de sécurité et une
catégorie de risque en fonction du protocole.
○ Entrée : Protocole détecté dans le paquet réseau.
○ Sortie : Score du protocole et classification du risque (faible, moyen,
élevé).

● Scoring des ports : Le système doit analyser les ports source et destination pour
déterminer si des ports non sécurisés sont utilisés, et leur attribuer un score.
○ Entrée : Ports source et destination du paquet réseau.
○ Sortie : Score basé sur l'utilisation de ports non sécurisés.

 Enregistrement des données capturées :Les informations sur les paquets


capturés doivent être stockées dans un fichier CSV pour une analyse ultérieure.
○ Sortie : Fichier network_data.csv contenant les données réseau
capturées et analysées.

 Visualisation des données : Les résultats de l'analyse (protocoles, scores,


risques) doivent être affichés via une interface web interactive avec des tableaux
de bord.
 Graphiques de score des protocoles.

 Heatmap pour les scores des ports.

 Graphiques de répartition des risques.

 Tableau des paquets capturés.

● Filtres dynamiques pour l'analyse: L'utilisateur doit pouvoir filtrer les


résultats affichés selon le protocole, les ports, et le score total minimum.
○ Filtres : Protocole, Port, Score total.

● Arrêt de la capture: L'utilisateur doit avoir la possibilité d'arrêter la capture


réseau via l'interface.

7
2.2.2 Spécifications des besoins non-Fonctionnelles

Performance

● Temps réel : Le système doit capturer et analyser les paquets en temps réel
pour fournir une analyse rapide des risques réseau.
● Scalabilité : Le système doit pouvoir traiter un grand volume de paquets
sans perte de données ou baisse de performance.

Fiabilité

● Robustesse : Le système doit être capable de gérer les erreurs liées à la


capture de paquets (ex. : paquets corrompus) sans compromettre l'ensemble
de l'analyse.
● Sauvegarde des données : Les données capturées doivent être
régulièrement enregistrées dans le fichier CSV pour éviter les pertes en cas
d’arrêt du système.

Sécurité

● Protection des données : Les données capturées doivent être protégées,


en particulier si elles contiennent des informations sensibles, pour éviter les
fuites d’informations.

Accessibilité

● Interface utilisateur : L'interface web doit être simple, intuitive, et permettre


une navigation fluide entre les différentes sections d'analyse.

Compatibilité

● Multiplateforme : Le système doit être compatible avec différentes versions


de Linux, puisque l'application utilise des interfaces réseau spécifiques pour
capturer les paquets.

Extensibilité

● Facilité d'ajout de nouveaux protocoles : Le système doit permettre


d'ajouter facilement de nouveaux protocoles à analyser et à scorer sans
nécessiter de modifications majeures du code.

8
2.3 Conception de la solution

2.3.1 Diagramme de cas d’utilisation :

 Scénario Normal :Le diagramme représente un diagramme de cas d'utilisation


pour une application d'inspection du trafic réseau, mettant en avant les
interactions entre l'utilisateur et plusieurs systèmes externes. L'utilisateur peut
démarrer et arrêter la capture du trafic, appliquer des filtres, télécharger des
fichiers, et inspecter les visualisations des données capturées. Lors de la
capture, nDPI analyse les paquets, un système de scoring attribue un score de
sécurité en fonction des protocoles détectés, et les paquets sont enregistrés
pour un usage ultérieur. Les résultats sont ensuite affichés via une librairie de
visualisation, et il est possible d'analyser des fichiers capturés précédemment à
l'aide du système de fichiers. Ce diagramme illustre de manière claire les
principales fonctionnalités d'une application de surveillance réseau.
 Scénario d'Erreur : Si une erreur se produit lors du démarrage de la capture
(par exemple, interface réseau indisponible), le système affiche un message
d'erreur. Lors de l'analyse, si un paquet corrompu est détecté, l'erreur est
consignée et l'analyse continue. En cas d'échec d'enregistrement des résultats
(fichier inaccessible), l'utilisateur est notifié et le système essaie à nouveau. Si
un problème survient lors du chargement des visualisations (données
manquantes), un message d'erreur s'affiche, indiquant que les résultats ne
peuvent pas être présentés correctement.

9
Figure 2 : Diagramme de cas d'utilisation

2.3.2 Diagramme de séquence

Le système d'analyse du trafic réseau permet à l'utilisateur de capturer des paquets


réseau en temps réel. Lorsqu'il démarre la capture, le système lance un processus
de collecte de paquets via pyshark. Chaque paquet capturé est ensuite traité pour
extraire le protocole, le port source, et le port de destination. Le système attribue des
scores aux protocoles et aux ports, puis classe les risques associés. Les données
sont sauvegardées et affichées dans une interface utilisateur où l'utilisateur peut
appliquer des filtres et visualiser les résultats sous forme de tableaux et de
graphiques. À tout moment, l'utilisateur peut arrêter la capture en appuyant sur un
bouton, ce qui met fin au processus de collecte des paquets.

10
Figure 3 : Diagramme de séquence

Conclusion
En résumé, cette deuxième partie avait pour objectif d’établir un analyse et
conception du projet .

11
III. Réalisation du Projet

Introduction
Dans cette section, je vais décrire les différentes étapes de la réalisation du projet au
cours de mon stage chez Prisyla Consulting.

3.1 Environnement de Développement

Pour mettre en place nDPI, un environnement Linux a été utilisé, en raison de sa


robustesse, de sa flexibilité, et de sa compatibilité avec de nombreux outils de
développement et d'analyse réseau. Le système d'exploitation choisi pour ce projet
est :

ID du distributeur Ubuntu

Description Ubuntu 22.04.4 LTS

Release 22.04

Codename jammy

3.2 Présentation de la Technologie DPI


Le Deep Packet Inspection (DPI) est une méthode avancée d'analyse des paquets
de données sur un réseau, qui inspecte non seulement les en-têtes, mais aussi le
contenu des paquets. Cela permet d'identifier des menaces, de filtrer des contenus
selon des règles, et de classer le trafic par application ou service.
Le DPI est essentiel pour :
 Sécurité Réseau : Il détecte et bloque les paquets malveillants, protégeant ainsi
contre les cyberattaques.
 Gestion de la Bande Passante : Il priorise certains types de trafic et optimise
l'utilisation des ressources.

12
 Conformité : Il garantit que les communications respectent les politiques de
l'entreprise en filtrant les contenus inappropriés.
nDPI (Network Deep Packet Inspection) est une bibliothèque open-source conçue
pour effectuer des analyses approfondies des paquets. Elle supporte plus de 250
protocoles, est optimisée pour des environnements à haute performance, et peut être
intégrée dans des systèmes existants. nDPI est régulièrement mise à jour grâce à la
contribution de la communauté, ce qui en fait un outil adapté pour analyser et évaluer
les risques des flux réseau.

a) Procédure d'installation

L'installation de la librairie nDPI a suivi plusieurs étapes cruciales, permettant de


configurer correctement l'environnement pour capturer et analyser les paquets
réseau en temps réel.
 Pré-requis : Avant de procéder à l'installation de nDPI, il a été nécessaire de
s'assurer que tous les pré-requis étaient en place, notamment les outils de
développement essentiels tels que gcc, make, et git.

 Clonage du dépôt nDPI : nDPI étant une bibliothèque open-source, son code
source est accessible via un dépôt GitHub. Le dépôt a été cloné localement en
utilisant la commande : https://github.com/ntop/nDPI.git

 Compilation de nDPI : Après avoir cloné le dépôt, la compilation de la librairie a


été effectuée en se rendant dans le répertoire nDPI et en exécutant les
commandes suivantes :

b) Configuration de nDPI

Après l'installation, il a fallu configurer nDPI pour qu'il soit en mesure de capturer et
d'analyser les paquets réseau en temps réel. Cette étape a impliqué la modification
de certains fichiers de configuration et l'utilisation d'options spécifiques lors de
l'exécution des outils fournis par nDPI.

Fichiers de Configuration : nDPI propose plusieurs options de configuration


permettant de personnaliser son comportement. Par exemple, le fichier ndpiReader.c
peut être modifié pour spécifier quels protocoles doivent être analysés, ou encore
pour ajuster les seuils de détection.

13
Options de Ligne de Commande : Pour capturer et analyser les paquets, l'outil
ndpiReader a été utilisé. Il permet de spécifier diverses options via la ligne de
commande, telles que l'interface réseau à écouter, le fichier pcap à analyser, ou le
niveau de verbosité des logs.

3.3 Outils et Bibliothèques

Python

Python est un langage de programmation de haut niveau, interprété


et orienté objet, très apprécié pour sa simplicité et sa lisibilité. Il est
couramment utilisé pour le développement web, la science des
données, l'automatisation, et bien plus encore.

Ctypes

cytypes est une bibliothèque Python qui permet d'appeler des fonctions de
bibliothèques partagées (comme les DLL sous Windows ou les fichiers .so sous
Linux) et de manipuler les types C directement depuis le code Python. Cela facilite
l'intégration de bibliothèques C dans les projets Python.

Pyshark

pyshark est une bibliothèque Python qui permet de capturer et d'analyser des
paquets réseau en utilisant l'interface de programmation de Wireshark. Elle simplifie
le travail avec les captures réseau pour des applications d'analyse ou de
surveillance.

Panda

pandas est une bibliothèque Python incontournable pour la manipulation


et l'analyse des données. Elle fournit des structures de données flexibles
et expressives comme les DataFrames, facilitant la manipulation de
grandes quantités de données.

14
Dash

Dash est un framework Python conçu pour créer des applications web
analytiques interactives. Il est largement utilisé pour créer des tableaux
de bord et des visualisations de données en temps réel avec un
minimum de code.

Wireshark

Wireshark est un analyseur de protocole réseau qui permet de


capturer et de visualiser le trafic réseau en temps réel. Bien que ce ne
soit pas directement une bibliothèque Python, Wireshark est essentiel
pour le fonctionnement de Pyshark.

Visual studio

Visual Studio Code est un éditeur de code extensible développé par


Microsoft pour Windows, Linux et macOS. Les fonctionnalités incluent la
prise en charge du débogage, la mise en évidence de la syntaxe, la
complétion intelligente du code, les snippets, la refactorisation du code

3.4 Présentation du projet

- Capture et Analyse des flux réseaux

La capture et l'analyse des flux réseau sont des étapes essentielles pour
comprendre le trafic réseau, identifier les protocoles utilisés, et évaluer les risques
potentiels associés à ces communications. Ce document présente les techniques et
outils utilisés pour capturer et analyser les données réseau, avec une mise en œuvre
spécifique en Python à l'aide de bibliothèques comme pyshark et ctypes.

15
- Système de Scoring

Le système de scoring fournit une évaluation quantifiable du risque associé aux


différents flux réseau. Cette approche permet d'identifier rapidement les
communications potentiellement dangereuses, basées sur l'utilisation de protocoles
vulnérables ou de ports non sécurisés. Ce système est flexible et peut être ajusté en
fonction des besoins spécifiques du réseau analysé

- Scoring Basé sur le Protocole : Le scoring des protocoles se base sur plusieurs
critères, notamment la fréquence d'utilisation, l'importance du protocole dans le

réseau, et sa vulnérabilité potentielle. Chaque protocole a été attribué un score

numérique en fonction de ces facteurs :

 HTTP (10) : Protocole très utilisé mais non sécurisé car il ne chiffre pas les
données. Un score élevé est attribué en raison de sa fréquence d'utilisation et de
sa vulnérabilité.
 HTTPS (9) : Variante sécurisée de HTTP, qui chiffre les données. Le score est
légèrement inférieur à HTTP car il est plus sécurisé.
 FTP (8) : Utilisé pour le transfert de fichiers, mais non sécurisé par défaut, d'où
un score élevé mais inférieur à HTTPS.
 ARP (3) : Protocole fondamental du réseau, mais avec des risques de spoofing
(usurpation d'adresse IP).

- Classification du Risque Basée sur le Protocole : En parallèle du scoring,


chaque protocole est classé en une catégorie de risque :

● HTTP : Risque Moyen : Absence de chiffrement, ce qui expose les données


aux interceptions.
● HTTPS : Faible Risque : Chiffrement des données, rendant le protocole
sécurisé.
● FTP : Haut Risque : Protocole non sécurisé, souvent cible d'attaques.

- Scoring Basé sur les Ports Non Sécurisés : Les ports non sécurisés sont
identifiés comme une autre source potentielle de vulnérabilité. Un score
supplémentaire est attribué lorsque des ports non sécurisés sont utilisés pour la
communication :

16
● Ports Non Sécurisés Identifiés : 21 (FTP), 23 (Telnet), 80 (HTTP), 110
(POP3), 143 (IMAP)
● Score Additionnel : Un score de 10 est ajouté pour chaque port non
sécurisé détecté en tant que port source ou destination.

Ce système de scoring permet de quantifier l'exposition aux risques lorsque des


protocoles non sécurisés ou des ports non sécurisés sont utilisés.

3.5 Démonstration
Dans le cadre de ce projet, une interface utilisateur a été développée pour permettre
l'affichage des informations sur les flux réseau ainsi que les scores de risque
associés. Cette interface permet non seulement de visualiser les données en temps
réel mais également d'appliquer divers filtres afin d'affiner les résultats affichés.

Fonctionnement de l'Interface Utilisateur

Figure 4 : Page d’accueil


- Démarrage et Arrêt de la Capture :

● L'utilisateur peut démarrer la capture du trafic réseau en lançant l'application.


Les paquets sont capturés en temps réel et traités pour extraire les
informations pertinentes, telles que les protocoles utilisés, les ports source et
destination, etc.

17
● Un bouton "Arrêter la capture" permet à l'utilisateur d’arrêter l'analyse en
cours. Une fois la capture arrêtée, les données recueillies sont finalisées et
enregistrées.

- Filtrage et Visualisation :

● Filtres de protocole et de port : L'interface offre des filtres qui permettent


de sélectionner uniquement les paquets correspondant à un protocole ou à
un port spécifique.
● Tableaux interactifs : Les résultats de la capture sont présentés sous forme
de tableaux dynamiques, que l'utilisateur peut trier, filtrer et explorer.
● Graphiques interactifs : Plusieurs visualisations sont disponibles :
○ Diagramme circulaire : Il affiche la répartition des paquets selon leur
niveau de risque (bas, moyen, élevé).
○ Diagramme en barres des scores par protocole : Il montre le score
moyen des différents protocoles analysés.
○ Carte thermique des scores des ports : Une heatmap illustre les
scores des ports source et destination, mettant en évidence les
combinaisons de ports potentiellement non sécurisées.

- Exemple d'Utilisation

Figure 5 :Tableau des données filtrées par protocole TLS.

La table liste des connexions utilisant le protocole TLS, avec des informations sur les
ports source et destination, ainsi que des scores de protocole, de port, et un score
total.
Chaque ligne correspond à un flux spécifique, tous avec un score de protocole de 7
et un score de port de 0, résultant en un score total de 7. Le niveau de risque
associé est uniformément "Medium".
 Protocole : Le protocole TLS est affiché pour toutes les connexions.

18
 Ports Source et Destination : Divers ports sont utilisés, y compris le port 443,
qui est standard pour HTTPS.
 Scores : Tous les flux reçoivent un score de protocole de 7 et un score de port
de 0, ce qui pourrait indiquer que le port utilisé est considéré comme sûr.
 Risque : Le risque est classé comme "Medium" pour tous les flux, suggérant
une évaluation de sécurité qui nécessite peut-être une révision ou des règles de
scoring plus précises pour différencier les niveaux de risque.

- Explication des résultats visuels


Interface ci-dessous comporte deux éléments visuels principaux résultant de
l'inspection du trafic réseau et l'analyse des risques :

 Graphique à barres : Analyse du trafic par protocole :


Ce graphique à barres horizontales montre une analyse du trafic, catégorisée par
protocole.L'axe des abscisses représente différents protocoles réseau tels que TLS,
DNS, TCP, DATA et QUIC.L'axe des ordonnées indique le "Score total", qui pourrait
refléter un score de risque ou un volume de trafic pour chaque protocole.
Une légende en haut à droite indique deux catégories de risque codées par couleur :
Bleu pour le risque "Faible", Rouge pour le risque "Moyen".Le graphique montre un
trafic ou des scores de risque élevés pour TCP et TLS, avec des valeurs minimes
pour d'autres protocoles. La majorité du trafic TCP est marquée comme "Risque
Moyen", tandis que le trafic TLS est catégorisé comme "Risque Faible".

 Graphique circulaire : Répartition des risques :


Ce graphique circulaire présente la répartition des risques à travers tous les
protocoles, en fonction de deux catégories :
Bleu pour le risque "Faible", représentant 63,8% du trafic total.
Rouge pour le risque "Moyen", représentant 36,2% du trafic.
Le graphique illustre visuellement la proportion de trafic dans chacune des
catégories de risque.

19
Figure 6 : Visualisation des données

La carte thermique ci-dessous représente la répartition des scores des ports source
et destination dans le cadre de l'analyse du trafic réseau.

 Axes :

- Axe horizontal (Source Port) : Représente les numéros des ports sources utilisés
dans les connexions. Les valeurs vont de 0 à environ 80 000, ce qui correspond à la
plage des numéros de ports.

- Axe vertical (Destination Port) : Représente les numéros des ports de destination. Il
semble aller de 0 à environ 70 000.

 Échelle des couleurs :

-Jaune vif : Correspond aux scores les plus élevés, signalant probablement une
activité plus risquée ou plus volumineuse.

-Violet foncé : Représente des scores bas ou une activité moindre.

Plus la couleur se rapproche du jaune, plus le score attribué à cette combinaison de


ports source et destination est élevé.

 Interprétation des données :

Certaines combinaisons spécifiques de ports source et destination présentent des


scores élevés :

20
- Un rectangle orange sur le côté gauche montre un score moyen pour un port
source autour de 10 000 et un port de destination proche de 40 000.

- Une bande jaune indique un score élevé pour des ports source dans la plage des
30 000 et un port de destination similaire.

- Le reste de la carte est largement bleu foncé ou violet, indiquant des scores faibles
ou nuls pour la plupart des combinaisons de ports.

Figure 7 :Carte thermique des scores des ports :

Conclusion

Ce projet de mise en place d’un système de Deep Packet Inspection (DPI) pour
l’analyse des flux réseau m’a offert de précieuses opportunités pour consolider mes
compétences en cybersécurité tout en faisant face à des défis techniques stimulants.

L’un des principaux challenges rencontrés a été la configuration initiale de la


bibliothèque nDPI. Sa compatibilité avec l’environnement de capture en temps réel a
nécessité plusieurs ajustements, notamment la personnalisation des fichiers de
configuration et la gestion des dépendances. Un autre défi a été lié à la capture des
paquets réseau en temps réel avec Pyshark, qui présentait parfois des lenteurs dans
le traitement des données à haute fréquence. Pour surmonter ces problèmes, des
optimisations ont été apportées en ajustant les paramètres d’interface et en réduisant
le niveau de verbosité des logs pour améliorer la performance. Enfin, la mise en
place des visualisations interactives avec Dash a posé des questions d'optimisation
pour rendre les tableaux de bord réactifs avec de grands volumes de données. La
solution trouvée a été de charger les données de manière asynchrone et de limiter
les filtres en temps réel.

21
En termes de perspectives d'amélioration, plusieurs pistes pourraient être explorées
pour optimiser encore davantage ce système. Une optimisation des algorithmes de
capture et d’analyse pourrait être envisagée, notamment en introduisant des
processus de parallélisation afin de traiter simultanément plusieurs flux de données.
De plus, l'intégration d’algorithmes plus performants pourrait améliorer la rapidité
d'analyse, rendant le système plus efficace dans des contextes où de grands
volumes de données transitent rapidement.

Concernant l'extension des fonctionnalités, l'ajout de nouveaux protocoles est une


priorité. En intégrant des protocoles plus spécifiques et modernes, comme QUIC ou
HTTP/3, le système pourrait mieux répondre aux besoins actuels des réseaux. Par
ailleurs, la détection des anomalies réseau pourrait être renforcée à l'aide de
méthodes de machine learning, en s’appuyant sur des données historiques pour
prédire et détecter plus efficacement les comportements anormaux.

En ce qui concerne les applications pratiques, ce système pourrait être étendu pour
surveiller des environnements spécifiques, tels que les réseaux IoT où la
sécurisation des flux de données devient critique. L’intégration de ce DPI dans des
infrastructures industrielles, par exemple, permettrait de détecter des tentatives
d’intrusions plus subtiles ou des attaques ciblées, en améliorant ainsi la sécurité
dans ces secteurs.

Ce projet m’a permis d’acquérir des compétences précieuses, tant sur le plan
technique que méthodologique. J’ai appris à configurer des environnements de
capture réseau complexes, à analyser des données en temps réel, et à concevoir
des interfaces de visualisation de données intuitives. J’ai également renforcé ma
capacité à résoudre des problèmes techniques en faisant preuve de créativité et de
persévérance, et j’ai acquis une compréhension plus fine des défis actuels en
cybersécurité. Ces acquis me serviront dans mes projets futurs, tant académiques
que professionnels, et me préparent à relever les défis de sécurisation des systèmes
d’information.

22
SITOGRAPHIE

 PRISALYA Consulting, site officiel : https://www.prisalya.com


 GitHub nDPI, librairie open-source : https://github.com/ntop/nDPI
 Dash Framework : https://dash.plotly.com
 Documentation Python ctypes : https://docs.python.org/3/library/ctypes.html
 Documentation Pyshark : https://kiminewt.github.io/pyshark/
 Documentation nDPI : FOSDEM 2021 - Using nDPI for Monitoring and Security
 Network Traffic Classification for Cybersecurity and Monitoring: FOSDEM 2022 -
Network Traffic Classification for Cybersecurity and Monitoring

23
24

Vous aimerez peut-être aussi