Rapport
Rapport
Rapport
Filière :
II-CCN
Mise en Place d'un Système de Deep
Packet Inspection (DPI) pour l'Analyse
des Flux Réseau
Soutenu le … / …/ ….
Je m’adresse également mes vifs remerciements aux membres du jury, pour avoir
bien voulu examiner et évaluer mon travail.
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.
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
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.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.
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.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.
5
2.1.3 Objectifs
2.1.4 Déroulement
● 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.
● 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.
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é
Sécurité
Accessibilité
Compatibilité
Extensibilité
8
2.3 Conception de la solution
9
Figure 2 : Diagramme de cas d'utilisation
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.
ID du distributeur Ubuntu
Release 22.04
Codename jammy
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
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
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.
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.
Python
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
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
Visual studio
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
- 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
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).
- 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.
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.
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 :
- Exemple d'Utilisation
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.
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.
-Jaune vif : Correspond aux scores les plus élevés, signalant probablement une
activité plus risquée ou plus volumineuse.
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.
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.
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.
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
23
24