Académique Documents
Professionnel Documents
Culture Documents
A nos familles.
i
REMERCIEMENTS
Au terme de ce travail, nous tenons affectueusement à exprimer notre gratitude à toutes
les personnes qui, ont contribué à l’aboutissement de ce travail. Ainsi nous remercions :
ii
AVANT-PROPOS
L’Ecole Nationale Supérieure Polytechnique de Douala (ENSPD), né de la
transformation de l’Ex-Faculté de Génie Industriel, ayant vu le jour par le décret présidentiel
N2020/272 du 11 Mai 2020, est l’une des institutions de l’Université de Douala. Elle a pour
mission principale de former des citoyens aptes à diriger des travaux d’art ou d’industrie, en
vue de donner un nouveau souffle à son développement technologique et de lutter contre le
sous-développement. Elle offre les domaines de formations suivants :
• Ingénierie de la Production et de la Maîtrise de l’Energie ;
• Ingénierie Automobile ;
• Electromécanique Navale ;
• Qualité et Normalisation ;
• Hygiène Industrielle ;
• Sécurité Industrielle ;
• Environnement Industriel ;
• Réseaux et Télécommunications ;
• Génie Logiciel ;
• Chimie Industrielle ;
iii
• Bioprocédés Industriels ;
• Génie Pharmaceutique ;
• Technologie Biomédicale ;
• Mécanique et Matériau ;
• D’initier l’étudiant à la recherche. Les études du 2nd cycle sont sanctionnées par la validation
de tous les stages et Unités d’Enseignement correspondant au nombre de crédits indiqués et,
l’obtention du Diplôme d’Ingénieur de l’Ecole Nationale Supérieure Polytechnique de
Douala pour le cursus d’ingénieur, celui de master 2 en science de l’ingénieur pour le cursus
science de l’ingénieur donnant lieu au passage au 3eme cycle et celui de master 2
professionnel pour le cursus master professionnel. A la fin de nos études, il est obligatoire
de produire un mémoire qui sera présenté devant un jury compétent.
iv
RESUME
Ce travail vient répondre au besoin d’amélioration de l’analyse du trafic réseau avec pour
cas d’application l’entreprise Nexttel Cameroun. Afin de réduire les cyberattaques et optimiser
la de gestion des anomalies, il est présenté un schéma d'évaluation fondé sur les méthodes
d’Apprentissage Machine qui permettent la détection et la discrimination de différentes familles
d’attaques dans des environnements opérationnels réels pour lesquels les performances de six
classificateurs supervisés ont été étudiées à savoir l’Arbre de décision, Forêt aléatoire, Naïve
Bayésien, Support Vecteur Machine, Algorithme du gradient stochastique et K-Voisins. La
validation expérimentale a été effectuée sur un dataset publics de trafic réel : CSE-CIC-
IDS2018. L'utilisation des méthodes de preprocesssing et d’algorithme de GridSearch ont
permis d'améliorer entre 2% et 12% de précision sur les résultats de classification des
algorithmes instanciés. Ce qui a incité à considérer les modèles de Forêt aléatoire et Arbre de
décision comme plus performants pour la détection des intrusions et anomalies avec des taux
de précision plus élevés respectivement 92% et 91% tout en analysant un grand nombre
d'échantillons. Un prototype d’application a été mis sur pied dans le but de fournir à tout
administrateur du trafic réseau un espace ergonomique et facile d’usage mais aussi dans le but
d’optimiser les méthodes pour mise à jour.
Mots clés : Trafic Réseau, Arbre de décision, Forêt aléatoire, Naïve Bayésien, Support Vecteur
Machine, Algorithme du gradient stochastique et K-Voisins, Apprentissage Machine, Intrusion,
Anomalie, Algorithmes de GridSearch.
v
ABSTRACT
This work responds to the need to improve the analysis of network traffic with the case
of the company Nexttel Cameroon. In order to reduce cyberattacks and optimize anomaly
management, an evaluation scheme based on Machine Learning methods is presented which
allows the detection and discrimination of different families of attacks in real operational
environments for which the performances of six supervised classifiers were studied namely
Decision Tree, Random Forest, Naive Bayesian, Support Vector Machine, Stochastic Gradient
Algorithm and K-Neighbors. The experimental validation was carried out on a public dataset
of real traffic: CSE-CIC-IDS2018. The use of the preprocessing and algorithm methods of
GridSearch have improved between 2% and 12% of accuracy on the classification results of the
instantiated algorithms. This prompted to consider the Random Forest and Decision Tree
models as more efficient for the detection of intrusions and anomalies with higher accuracy
rates respectively 92% and 91% while analyzing a large number of samples. An application
prototype has been set up with the aim of providing any network traffic administrator with an
ergonomic and easy-to-use space, but also with the aim of optimizing the methods for updating.
Keywords: Network Traffic, Decision Tree, Random Forest, Naive Bayesian, Machine
Vector Support, Stochastic Gradient and K-Neighbors Algorithm, Machine Learning, Intrusion,
Anomaly, GridSearch Algorithms.
vi
TABLE DES MATIERES
DEDICACE.................................................................................................................................................. i
REMERCIEMENTS .....................................................................................................................................ii
AVANT-PROPOS .......................................................................................................................................iii
RESUME ....................................................................................................................................................v
ABSTRACT ................................................................................................................................................ vi
TABLE DES MATIERES ............................................................................................................................. vii
LISTE DES TABLEAUX ................................................................................................................................x
LISTE DES FIGURES................................................................................................................................... xi
LISTE DES SIGLES ET ABREVIATIONS ....................................................................................................... xii
INTRODUCTION GENERALE ..................................................................................................................... 1
CHAPITRE 1 : CADRE DU PROJET ............................................................................................................. 2
1.1. Présentation de l’entreprise .................................................................................................... 2
1.1.1. Historique ........................................................................................................................ 2
1.1.2. Evolution.......................................................................................................................... 2
1.1.3. Missions ........................................................................................................................... 3
1.1.4. Organigramme de NeXttel............................................................................................... 4
1.1.5. Présentation du IT ........................................................................................................... 6
1.2. Cahier de charge ...................................................................................................................... 9
1.2.1. Contexte et recueil de l’existant.................................................................................... 10
1.2.2. Critique de l’existant et problématique ........................................................................ 10
1.2.3. Objectif du travail .......................................................................................................... 11
1.2.4. Identification des besoins.............................................................................................. 12
CHAPITRE 2 : ETAT DE L’ART SUR L’ANALYSE DU TRAFIC RESEAU ET CONCEPTS GENERAUX DU
MACHINE LEARNING ............................................................................................................................. 13
2.1. Généralité sur le trafic réseau ............................................................................................... 13
2.1.1. La commutation............................................................................................................. 13
2.1.2. Le Routage ..................................................................................................................... 15
2.1.3. Débit binaire .................................................................................................................. 19
2.1.4. Bande passante ............................................................................................................. 19
2.1.5. La qualité de Service ...................................................................................................... 19
2.1.6. La congestion de trafic .................................................................................................. 19
2.2. Analyse du trafic .................................................................................................................... 20
2.2.1. Généralité sur l’analyse du trafic réseau ....................................................................... 20
2.2.2. Méthodes d’analyse du trafic réseau ............................................................................ 21
vii
2.3. Sécurité des réseaux informatique ....................................................................................... 26
2.3.1. Type primaire ................................................................................................................ 26
2.3.2. Gestion des risques : le jeu de la sécurité ..................................................................... 27
2.3.3. Types et sources de menaces réseau ............................................................................ 27
2.3.4. Pare-feu ......................................................................................................................... 30
2.3.5. IDS / IPS ......................................................................................................................... 33
2.4. MACHINE LEARNING ............................................................................................................. 34
2.4.1. L’apprentissage supervisé ............................................................................................. 35
2.4.2. L’apprentissage non supervisé ...................................................................................... 41
2.4.3. L’apprentissage par renforcement ................................................................................ 41
2.4.4. Cycle de vie de l'implémentation des algorithmes ....................................................... 42
2.5. TRAVAUX CONNEXES ............................................................................................................. 44
CHAPITRE 3 : MATERIEL ET METHODES ................................................................................................ 47
3.1. Outils de développement ...................................................................................................... 47
3.1.1. Matériel ......................................................................................................................... 47
3.1.2. Dataset .......................................................................................................................... 47
3.1.3. Logiciels ......................................................................................................................... 49
3.1.4. Langage, Librairies ......................................................................................................... 50
3.1.5. Algorithmes utilisés pour le modèle.............................................................................. 51
3.2. Métriques de performance utilisées ..................................................................................... 51
3.3. Mise en œuvre du modelé de Machine Learning ................................................................. 52
3.3.1. Preprocessing ................................................................................................................ 52
3.3.2. La sélection d’attributs .................................................................................................. 53
3.3.3. Construction de modèles d'apprentissage automatique .............................................. 54
3.3.4. Cross-validation ............................................................................................................. 55
CHAPITRE 4 : RESULTATS EXPERIMENTAUX ET DISCUSSION ................................................................ 56
4.1. Résultats et interprétation .................................................................................................... 56
4.1.1. Première expérience ..................................................................................................... 56
4.1.2. Deuxième expérience .................................................................................................... 57
4.1.3. Troisième expérience .................................................................................................... 59
4.2. Présentation de la solution ................................................................................................... 60
4.2.1. Mise sur pied du Prototype ........................................................................................... 60
4.2.2. Présentation d’interface Homme Machine ................................................................... 61
4.2.3. Présentation du test ...................................................................................................... 63
4.3. Estimation du coût de développement ................................................................................. 63
viii
4.3.1. Estimation du coût des équipements ............................................................................ 63
4.3.2. Estimation du coût de développement ......................................................................... 64
CONCLUSION GENERALE ....................................................................................................................... 66
REFERENCES BIBLIOGRAPHIQUES ......................................................................................................... xiii
ANNEXES............................................................................................................................................... xvii
ix
LISTE DES TABLEAUX
Tableau 1.1 : Présentation des departements de Nexttel [2]. ..................................................... 5
Tableau 3.1: Liste des attaques exécutées et durée [44] .......................................................... 49
Tableau 3.2: Fonctionnalités de classification utilisées [44]. ................................................... 53
Tableau 4.1: Résultats de classification machine learning sans preprocessing ........................ 56
Tableau 4.2: : Résultats de classification machine learning avec 10 splits cross validation .... 57
Tableau 4.3: Résultats de classification machine learning sans sélections d’attributs avec 100
splits cross validation ............................................................................................................... 58
Tableau 4.4: Les mesures de performances obtenues .............................................................. 59
Tableau 4.5: Détails des besoins matériels et logiciels pour la réalisation du projet ............... 63
Tableau 4.6 : Classification des paramètres en fonction du type de projet .............................. 64
Tableau 4.7: Coût de productivité de l'application ................................................................... 65
Tableau 4-8: Coût total estimatif du projet .............................................................................. 65
x
LISTE DES FIGURES
Figure 1.1: Organigramme de Nexttel ........................................................................................ 4
Figure 1.2 : Organigramme IT de Nextell .................................................................................. 6
Figure 1.3: Architecture réseau de Nexttel ............................................................................... 10
Figure 2.1: Illustration de la commutation de paquets de type circuit virtuel. ......................... 15
Figure 2.2 : Illustration de la commutation de paquets de type datagramme ........................... 15
Figure 2.3: Illustration du routage statique .............................................................................. 16
Figure 2.4:les protocoles de routage dynamique. ..................................................................... 18
Figure 2.5: Réseaux de données ............................................................................................... 22
Figure 2.6: Les approches de la classification.......................................................................... 24
Figure 2.7: illustration attaque ddos ......................................................................................... 29
Figure 2.8 : Illustration Processus Injection SQL ................................................................... 30
Figure 2.9 : Passerelle d’application Azure ............................................................................ 32
Figure 2.10 : Illustration Filtrage de paquets .......................................................................... 32
Figure 2.11: Illustration Système Hybride ............................................................................... 33
Figure 2.12: Illustration IDS – IPS .......................................................................................... 34
Figure 2.13: les types d’apprentissages automatique. .............................................................. 35
Figure 2.14: Régression logistique [28]. .................................................................................. 37
Figure 2.15: Limites de décisions multiples............................................................................. 37
Figure 2.16: Frontière de décision avec les vecteurs de soutien. ............................................. 38
Figure 2.17: régression de l’arbre de décision ......................................................................... 39
Figure 2.18: Le classificateur Random forest . ........................................................................ 39
Figure 2.19: exemple de classification KNN .......................................................................... 41
Figure 2.20: apprentissage par renforcement ........................................................................... 41
Figure 4.1: scores accurrency ................................................................................................... 57
Figure 4.2: scores moyens de précision ................................................................................... 58
Figure 4.3: score accurrency des algorithmes d’apprentissage ................................................ 59
Figure 4.4: Courbe d’apprentissage du Random forest ............................................................ 60
Figure 4.5: Organigramme fonctionnel prototype de l’outil d’analyse .................................... 61
Figure 4.6: Page d’accueil Prototype ....................................................................................... 61
Figure 4.7: Page de connexion du Prototype............................................................................ 62
Figure 4.8: Page de paramétrage du model .............................................................................. 62
Figure 4.9: Test d’un echantillon de données .......................................................................... 63
xi
LISTE DES SIGLES ET ABREVIATIONS
ACL Access Control List
AL Application Learning
ARP Address Resolution Protocol
BN Bayesien Naîf
CIC Cannadian Institute for Cybersecurity
CNN Convolutional Neural Networks
CST Centre de Securité des Télécommunication
CSV Comma Separated Values
DDOS Distributed Denial of Service
DHCP Dynamic Host Control Protocol
DOS Denial of Service
DPI Deep Packet Inspection
DT Decision Tree
EGP Exterior Gateway Protocol
FAI Fournisseur Access Internet
HIDS Host Intrusion Detection System
IANA Internet Assigned Numbers Authority
IDS Intrusion Detection System
IETF Interntet Engineering Task Force
IGP Interior Gateway Protocol
IGRP Interior Gateway Routing Protocol
IMCP Internet Message Control Protocol
IP Internet Protocol
IPS Intrusion Prevention System
KNN K-Nearest Neighbors
LAN Local Aera Network
LTSM Long Short Term Memory
MAC Media Access Control
NIDS Network Intrusion Detection System
OSI Open System Interconnection
xii
OSPF Open Shortest Path First
P2P Peer to Peer
PCAP Packet Capture
QoS Quality of Service
RF Random Forest
RIP Routing Information Protocol
SGDC Stochastic Gradient Descent
SPAN Switch Port Analyser
SPI Stateful Packet Inspection
SVM Support Vector Machine
TAP Test Access Port
TCP Transmission Control Protocol
URL Uniform Ressource Locator
WAF Web Application Firewall
xiii
INTRODUCTION GENERALE
Les systèmes informatiques sont constamment menacés par une diversité d'attaquants
(pirates, traîtres, terroristes ou même gouvernements) qui compromettent intentionnellement
l'intégrité, la disponibilité ou la confidentialité des actifs protégés. Poussés par différentes
motivations, leur objectif final est de tirer parti de vulnérabilités spécifiques du système qui leur
permettront de mener des cyberattaques. Si ces attaques ne peuvent être évitées, il est
néanmoins possible de chercher à en diminuer l’impact. Dans ce contexte, les Systèmes de
Détection d’Intrusion (IDS – Intrusion Détection System) sont un élément essentiel dans une
politique de sécurité. [1]
Les réflexions menées et les démarches réalisées dressent la structure de ce travail sur
quatre chapitres. Le premier chapitre sera destiné à une présentation du cadre d’étude. Le
second chapitre présentera l’état de l’art sur l’analyse du trafic et les concepts d’apprentissage
automatique. Le troisième chapitre quant à lui présentera les méthodes d’implémentation de
notre solution. Et pour finir le quatrième et dernier chapitre sera consacré à la présentation des
résultats obtenus.
1
CHAPITRE 1 : CADRE DU PROJET
Nexttel, est la filiale camerounaise de l'entreprise de télécommunications vietnamienne
Viettel Mobile. C'est le troisième opérateur de téléphonie mobile au Cameroun, et premier
opérateur à déployer la technologie 3G dans le pays. Dans ce chapitre nous allons présenter
opérateur de télécommunication et ensuite nous allons présenter le cahier de charge du projet
lié à celle-ci.
1.1.1. Historique
Installé au Cameroun depuis Décembre 2012 suite au rachat de la 3eme licence de la
téléphonie mobile au Cameroun l’opérateur vietnamien VIETTEL en lui confiant aussi
l’exclusivité de la 3G. VIETTEL avait alors a annoncé le lancement de ses activités à la fin de
2013 avec une couverture de 81% du territoire, une baisse des couts de communication de 15%
à 20%, la création de 6300 emplois avec pour président du conseil d’admiration monsieur
BABA DANPULLO qui détient 30% du capital de VIETTEL Cameroun à travers BESTCAM
et ces partenaires; et pour dénomination commercial VIETTEL CAMEROUN. Celle-ci
comptait un virgule trois million (1.3) d’abonnes actif au 31 mars 2015, près de 8.1% de part
de marché de la téléphonie mobile Cameroun. En fin 2017, NEXTTEL compte plus de 4,2
millions d'abonnés avec plus 11% de part de marché. NEXTTEL a déjà investi plus de 200
milliards de franc CFA dans le développement d’un réseau de télécommunication moderne
constitue de douze (12) milles stations BTS et mille six cent (1600) sites qui lui assurent une
présence interrompue dans les dix 10 régions du pays avec un taux couverture de 95% la
population.
1.1.2. Evolution
Appelée VIETTEL Cameroun a sa création, elle a évolué au fil des temps avec pour
dénomination commerciale NEXTTEL en 2013.
2
Mais avec l'abondance de sa clientèle, NEXTTEL va s’étendre à travers les shops et les
boutiques dans les dix régions du Cameroun pour la satisfaction des besoins de sa clientèle.
Avec pour siège social Douala, son évolution se fait remarquer sur le plan commercial avec la
qualité de ses services qu’elle offre à ses clients ses efforts ayant vu leurs œuvres s’accroitre
cela a entrainé une augmentation du personnel qualifié avec une multiple poste de services.
Il est important de préciser que contrairement à ses concurrents, NEXTTEL a opté pour
la stratégie d'implantation du réseau et de conquête des parts du marché à partir des zones
rurales vers les zones urbaines, d'où une couverture rapide et exhaustive du territoire dès le
début de ses opérations.
1.1.3. Missions
Pour s’installer, et avoir une part de marché en constante évolution, NEXTTEL a dû user
d’une approche pragmatique et d’un engagement ferme à fournir des produits de
télécommunications de qualité tout en assurant un service qui répond aux nombreux abonnés :
• NEXTTEL a mis sur pied une infrastructure réseau pour qualité de service ; ce qui
a valu un grand investissement et permet donc de compter plus de 1250 stations
relais, 15000km de fibre optique ;
• NEXTTEL participe au développement national durable en couvrant les zones
Rurales et l’emploi des jeunes camerounais ;
• NEXTTEL tient compte des responsabilités sociales, la création de millier
d’emplois pour les Camerounais, le nombre étant en pareille croissance (à ce jour
plus de 1200 employés).
• NEXTTEL offre des services a valeurs flexibles : il offre des services de qualité a
des prix abordables ;
❖ Les activités
3
• La présentation de service clients.
Après avoir présenté, les activités de NEXTTEL nous citons directement les objectifs.
❖ Les objectifs
NEXTTEL a comme objectif majeur de se positionner en tant que leader sur le marché
de la téléphonie mobile au Cameroun. A côté de cet objectif majeur viennent s’ajouter les
objectifs secondaires qui sont :
4
Elle s’organise autour d’une ossature hiérarchique, composée de directions, elles-mêmes
subdivisées à leur tour en sous-directions. Chaque sous-direction comptant un nombre bien
défini de département. Une récente mise à jour du dispositif organisationnel se présente comme
suit :
Blocs Directions
Marketing (Produits et services)
Ventes
Marketing E-commerce
Service clients
Communication
Mécanique et électricité (Energies)
Infrastructure
Centre opérationnel (NOC)
Transmission
Technologie de l’information Data Center
Informatique
Station générale
Radio
Affaires techniques générales
Patrimoine
Ressources humaines
Finance
Administration
Support Affaires juridiques
Relations avec les institutions
Service achats
Planning des affaires
Audit, qualité et risques
Etant donné que nous avons fait notre au stage au département IT nous ferons donc une
brève présentation de celui-ci.
5
1.1.5. Présentation du IT
6
• Application de surveillance de réseau, ERP One finance.
➢ Division VAS
➢ Division OCS
Afin de garantir que tout le service sera facturé, l'OCS est intégré à l'EN suivant :
7
SERVICE INFORMATIQUE (représenté dans chaque région par un personnel), CENTRE
SERVICE en charge de la gestion de l'outil de billetterie en ligne.
➢ Division Système
➢ Division SSI
8
• Coordonner l'élaboration et la conception des référentiels de sécurité et s'assurer
du respect des exigences de ces derniers ;
• Conduite des actions de sensibilisation des collaborateurs ;
• Assurer le contrôle des accès aux systèmes et des états de conformité ;
• Gérer l'organisation opérationnelle de la sécurité des systèmes d'information.
La division est chargée d'administrer les applications de dépannage qui traitent les CDR,
qui sont utilisées pour :
➢ Division Application
9
1.2.1. Contexte et recueil de l’existant
a) Contexte
L’évolution des réseaux de nos jours fait évoluer la complexité du trafic réseau. Du coup
l’utilisation des méthodes classiques de supervision et de gestion sécurisée du trafic augmente
les risques de vulnérabilité car Il semble qu’il ne se passe plus un jour sans que les ingénieurs
réseau ne soient confrontés à de véritables défis de gestion d’anomalie et de menaces
intentionnelles ou accidentelles dans le réseau. Ce qui nécessite l’application de nouvelles
méthodes pour optimiser ces fonctions, particulièrement l’analyse du trafic.
b) Architecture existante
De tous ce que nous avons eu à présenter plus haut, nous pouvons ressortir les limites
suivantes :
10
L’analyse du trafic au sein de Nexttel connait beaucoup de lacunes lors de l’application
de ports SPAN, comme la dépendance aux ressources de traitement du commutateur où ils sont
configurés et la relation délicate entre la quantité de trafic que nous avons l’intention de capturer
et la capacité du port SPAN elle-même. Ce qui rend la tâche d’analyse délicate et fastidieuse
au vue l’importante quantité de ressources à analyser et de son impact sur le réseau.
Pour se protéger contre des attaques web visant la vulnérabilité des application web,
l’entreprise utilise des pares-feux d’application Web qui sont une référence de nos jours mais
on une réputation d’être très gourmands en ressources, et ont une certaine lenteur dans la
détection de faux positifs car celle-ci est basé sur des méthodes de détection comportementales.
b) Problématique
a. Spécifications fonctionnelles
Pour assurer l’analyse et la sécurisation du trafic réseau, le modèle mis sur bien donnera
un meilleur schéma d’évaluation des données flux entrants et sortants et une rapidité plus
adéquate de réponse sous incident. L’outil ou prototype mis sur bien utilisera ce modèle avec
ces meilleurs paramètres pour l’efficience et la facilité d’utilisation à travers une interface
graphique. Pour une meilleure sécurité de l’outil de monitoring l’accessibilité se fera via une
authentification préalable.
Des besoins non fonctionnels sont tout aussi importants car ils agissent de manière
indirecte le rendement de l’utilisateur. Pour cela l’outil devra générer des rapports sur les
données analysées par période d’analyse et les interactions effectués. L’outil devra produire des
logs en cas d’erreur ou de bugs du programme. L’outil devra être également conçu pour agir
sur n’importe que système d’exploitation.
12
CHAPITRE 2 : ETAT DE L’ART SUR L’ANALYSE DU
TRAFIC RESEAU ET CONCEPTS GENERAUX DU MACHINE
LEARNING
A l'heure actuelle, l'apprentissage automatique est largement utilisé dans les tâches
d'analyse du trafic réseau. De nombreux facteurs tels que l'extraction de caractéristiques, la
sélection du modèle et le réglage des paramètres déterminent les performances du modèle.
Notre objectif dans ce chapitre est de définir d’une part les notions de trafic réseau et les
méthodes d’analyse du trafic et d’autre part les concepts de machine Learning.
2.1.1. La commutation
La commutation est la fonctionnalité qui permet d’acheminer les données d’un point A
vers un point B dans un même réseau local (un LAN Ethernet par exemple). La commutation,
effectuée par les commutateurs ou switch, se base sur l’adresse niveau 2 de destination contenue
dans la trame paquet reçue (par exemple, c’est une adresse MAC pour le protocole Ethernet).
[4]
Il existe trois grands types de réseaux commutés : les réseaux à commutation de circuits,
à commutation de message et les réseaux à commutations de paquets [5].
a) La commutation de circuits :
La première à avoir été utilisée, Elle consiste à créer dans le réseau un circuit particulier
entre l'émetteur et le récepteur avant que ceux-ci ne commencent à échanger des informations.
Ce circuit sera propre aux deux entités communiquant et il sera libéré lorsque l'un des deux
coupera sa communication. Par contre, si pendant un certain temps les deux entités ne
13
s'échangent rien, le circuit leur reste quand même attribué. C'est pourquoi, un même circuit
pourra être attribué à plusieurs communications en même temps. Cela améliore le
fonctionnement global du réseau mais pose des problèmes de gestion. Une communication, via
a un réseau à commutation de circuits nécessite donc 3 phases : La connexion, le transfert des
données et la déconnexion.
b) Commutation de messages :
c) Commutation de paquets :
Elle est apparue pour résoudre les problèmes d'erreurs de la commutation de messages.
Un message émis est découpé en paquets et par la suite chaque paquet est commuté à travers le
réseau comme dans le cas des messages. Ces paquets sont envoyés indépendamment les uns
des autres et sur une même liaison on pourra trouver les uns derrière les autres des paquets
appartenant à différents messages. Chaque nœud redirige chaque paquet vers la bonne liaison
grâce à une table de routage. La reprise sur erreur est donc ici plus simple que dans la
commutation de messages, par contre le récepteur final doit être capable de reconstituer le
message émis en réassemblant les paquets. Ceci nécessitera un protocole particulier car les
paquets peuvent ne pas arriver dans l'ordre initial, soit parce qu'ils ont emprunté des routes
différentes, soit parce que l'un d'eux a dû être réémis suite à une erreur de transmission.
2.1.2. Le Routage
Le routage est le mécanisme par lequel des chemins sont sélectionnés dans un réseau pour
acheminer les données d'un expéditeur jusqu'à un ou plusieurs destinataires. Le routage est une
tâche exécutée dans de nombreux réseaux, tels que le réseau téléphonique, les réseaux de
données électroniques comme l'Internet, et les réseaux de transports. Sa performance est
importante dans les réseaux décentralisés, c'est-à-dire où l'information n'est pas envoyée à une
source qui va les redistribuer mais échangée entre des agents indépendants.
15
2.1.2.3. Modes de routage
Le routage peut pendre différente forme qui se base sur le nombre de station destinataire
ou le quelle l'information doit transmise.
• Le mode unicast : La connexion réseau est définit point à point, il s'agit d'établir la
communication entre deux stations, identifier chacune par une adresse réseau unique et
seul le destinataire peut recevoir et décoder le message.
• Le mode multicast : Est une forme de diffusion, dans ce cas les données envoyées par
l'émetteur sont acheminées à un groupe de station qui veulent les recevoir. Le routage
des paquets de données se fait suivant l'adresse des destinataires encapsulée dans la
trame envoyée. Les paquets transmis seront interceptés et décodés seulement par les
destinataires. Chaque paquet n'est émis qu'une seule fois et sera routé vers toutes les
machines du groupe de diffusion sans que le contenu ne soit dupliqué sur une
quelconque ligne physique ; c'est donc le réseau qui se charge de reproduire les données.
Ce qui permet de n'est pas gaspiller de temps, et ressources de serveur et surtout de
bande passante.
a) Routage statique
Le routage statique est un routage mis en place par l’administrateur du réseau qui permet
de définir le chemin que doit emprunter un paquet afin qu’il puisse atteindre sa destination
figure 2.3. Il doit gérer toutes les routes créées de chaque unité de routage du réseau.
• Mise à jour manuelle de tous les équipements du réseau ce qui fait un temps plus long
pour la configuration.
• Une station ne peut atteindre que les réseaux qu’on lui indique par la commande route
Boucles de routage.
b) Routage dynamique
Permet au routeur d’ajuter en temps réelle les chemins employés pour faire circuler les
paquets IP pour cela un protocole (RIP ou OSPF) est mis en œuvre pour construire
dynamiquement les chemins entre routeur et chaque un à sa propre méthode de définition des
routes (calcule de chemin le plus court, récupération des routes annoncées par les
partenaires…etc.) [7].
➢ Avantage
• Prise en compte automatique d’un changement de la topologie du réseau
➢ Inconvénient
• Augmentation de la charge du système, car des mises à jour de routage doivent être
envoyées
17
Figure 2.4:les protocoles de routage dynamique [5].
18
2.1.3. Débit binaire
Est une mesure de la quantité de données numériques transmises par unité de temps. Il
est le plus souvent exprimé en bits par seconde (bit/s, ou bps) ou un de ses multiples en
employant les préfixes de Système international d’unités : kb/s (kilobits/s, kbps pour 1 000 b/s),
Mb/s (megabits/s, mbps pour 1000 kbit/s soit 1 000 000 bit/s), Gb/s (gigabit/s, Gbps pour 1 000
Mbit/s soit 1 000 000 000 bit/s) et ainsi de suite.et parfois exprimé en byte au lieu de bits (Byte/s,
B/s ou Bps), ce qui équivaut généralement à 8 bits par seconde.
QoS est le plus souvent utilisée sur les réseaux où la bande passante est limitée : avec un
grand nombre de paquets réseau simultanés pour une quantité de bande passante disponible
relativement faible, la Qualité de service permet aux administrateurs d’affecter une priorité
supérieure aux paquets transportant des données audios ou vidéo. Le fait d’affecter une priorité
supérieure à ces paquets permet aux communications de s’effectuer plus rapidement, et avec
moins d’interruption, que les sessions réseau impliquant des opérations telles que des transferts
de fichiers, de la navigation web ou des sauvegardes de bases de données. C’est la raison pour
laquelle la priorité « Meilleur effort » est affectée aux paquets réseau utilisés pour les transferts
de fichiers ou les sauvegardes de bases de données.
19
phénomène. La congestion est le moment ou le buffer (mémoire virtuelle stoker temporairement
les données) sur l’interface d’un équipement qui arrive à la saturation et qu’il ne peut plus stoker
de nouveau paquets et qu’il y a par conséquent une perte de paquets. Elle est alors mesurée
donc par le taux de paquets perdus sur cette interface. Il y a une congestion lorsque les capacités
du réseau (la bande passante, files d’attente) sont entièrement utilisées. En conséquence, des
pertes de paquets ou une augmentation importante de délais de transite contribuent à la
dégradation de la QoS du l’utilisateur dans le réseau.
Des mécanismes à prendre en compte des informations sur la charge de trafic et sur la
congestion disponible dans le réseau, et les utilisées comme métrique pour répartir la bande
passante entre les utilisateurs. Tel que pré-congestion notification (PCN), et conEx.
20
d’autres conditions d’erreur. D’où l’importance de l’analyse du trafic réseau comme base pour
la supervision selon [8].
En réalité, l’enjeu de la performance optimale d’un réseau informatique est très complexe
au vu des risques d’anomalies selon Amartya Gupta. En effet, lorsque le trafic est surchargé par
exemple par une augmentation de l'utilisation des serveurs cloud, de la vidéo, de la VOIP, etc.
mais d’autre part, Les informations issues de la surveillance du trafic réseau pourraient être
utilisées dans de nombreux cas opérationnels et de sécurité informatique (résoudre les
problèmes liés au réseau et analyser l'impact des nouvelles applications sur le réseau global.)
[9].
L’une des finalités de l’analyse du trafic selon [10], consiste à garantir la fiabilité, et
sécurité des flux de données qui transitent grâce à l’adoption de nouvelles techniques liées à
l’apprentissage automatique pour l’identification du trafic malveillant qui passerait
normalement inaperçue dans le réseau [11].
L’analyse du trafic fournit des données détailler et exploitable sur le trafic réseau et la
bande passante, ce qui permet de définir et mettre en œuvre des stratégies d’utilisation de la
bande passante, de contrôler les frais de FAI, de sécuriser le réseau. Nous constatons que la
tâche d’analyse du trafic réseau n’est pas aisée et que cela nécessite de bonnes compétences
dans administration et gestion du réseau.
21
en « fragments » de taille adaptée pour le routage. Chacun de ces paquets, numérotés
séparément, comprend l’adresse IP de la destination Figure 2.5. Les paquets individuels d'un
fichier donné peuvent suivre des parcours différents sur Internet. Une fois tous parvenus à
destination, ils sont réassemblés pour reformer le fichier d'origine (au niveau de la couche TCP
côté réception). Un paquet inclut les données, encapsulées dans un "en-tête", comprenant des
informations utiles pour transporter et décoder le message.
A travers le processus d’analyse des paquets, on peut, lorsque l’en-tête de paquet complet
ainsi que la charge utile sont collectés, effectuer une analyse approfondie d’une conversation
spécifique [12]. Les données du réseau sont principalement encapsulées dans des paquets
réseau, qui fournissent la charge dans le réseau.
22
2.2.2.3. Analyse du flux
a) Flux de donnée
Lorsque les ordinateurs ont besoin de communiquer entre eux, ils établissent des canaux
de communication, communément appelés connexions. (Techniquement parlant, ces canaux de
communication ne peuvent être appelés connexions que lorsque le protocole TCP est impliqué.)
23
Figure 2.6: Les approches de la classification [3]
24
d’intrusion et le pare-feu de Linux (L7-filter). Néanmoins, elle souffre de plusieurs
problèmes, en particulier celui du trafic chiffré.
Bien que les méthodes SPI (Stochastic Packet Inspection) permettent de distinguer la
nature de plusieurs types de contenu de trafic, y compris le contenu chiffré, ce qui peut être
utile pour prioriser un trafic par rapport aux autres. Ces méthodes héritent de plusieurs
problèmes des méthodes DPI (Deep Packet Inspection) et elles sont incapables d’identifier le
type du trafic du fait que certaines applications peuvent utiliser plusieurs types de contenu en
même temps.
25
est décrit par un vecteur de caractéristiques qui réfère à une observation ou une instance dans
le jeu de données.
26
y compris le filtrage de l’information. Il se concentre sur la prévention et le contrôle des
conséquences de la diffusion d’informations illégales et préjudiciables et sur la
prévention de la perte de contrôle des informations librement transmises sur les réseaux
publics.
• Sécurité du contenu de l’information : la sécurité du contenu de l’information sur le
réseau. Il met l’accent sur la protection de la confidentialité, de l’authenticité et de
l’intégrité de l’information. Évitez aux attaquants d’exploiter les vulnérabilités de
sécurité du système pour écouter, usurper l’identité, fabriquer frauduleusement et
d’autres comportements qui nuisent aux utilisateurs légitimes. Son essence est de
protéger les intérêts et la vie privée des utilisateurs.
Chaque organisation doit décider elle-même où elle doit se situer entre les deux extrêmes
de la sécurité totale et de l'accès total. Une politique doit articuler cela, puis définir comment
cela sera appliqué avec des pratiques et autres. Tout ce qui est fait au nom de la sécurité doit
donc appliquer cette politique de manière uniforme.
a) Attaque DOS
DoS sont probablement les plus méchantes et les plus difficiles à traiter. Ce sont les plus
méchants, car ils sont très faciles à lancer, difficiles (parfois impossibles) à tracer, et il n'est pas
facile de refuser les demandes de l'attaquant, sans refuser également les demandes de service
légitimes.
27
Le principe d'une attaque DoS est simple : envoyer plus de requêtes à la machine qu'elle
ne peut en gérer. Il existe des boîtes à outils disponibles dans la communauté clandestine qui
simplifient l'exécution d'un programme et lui indiquent quel hôte envoyer des demandes. Le
programme de l'attaquant établit simplement une connexion sur un port de service, peut-être en
falsifiant les informations d'en-tête du paquet indiquant d'où provient le paquet, puis en
interrompant la connexion. Si l'hôte est capable de répondre à 20 requêtes par seconde et que
l'attaquant en envoie 50 par seconde, il est évident que l'hôte ne pourra pas répondre à toutes
les requêtes de l'attaquant, et encore moins à toutes les requêtes légitimes (hits sur le site Web
qui s'y exécute, par Exemple). De telles attaques étaient assez courantes à la fin de 1996 et au
début de 1997, mais elles sont maintenant moins populaires.
Certaines choses qui peuvent être faites pour réduire le risque d'être piqué par une attaque
par déni de service comprennent
• Ne pas exécuter vos serveurs visibles par le monde à un niveau trop proche de
la capacité
• Utilisation du filtrage de paquets pour empêcher les paquets manifestement
falsifiés d'entrer dans votre espace d'adressage réseau. De toute évidence, les paquets
falsifiés incluraient ceux qui prétendent provenir de vos propres hôtes, les adresses
réservées aux réseaux privés tels que définis dans la RFC 1918 [16] et le réseau de
bouclage (127.0.0.0).
• Restez à jour sur les correctifs liés à la sécurité pour les systèmes d'exploitation
de vos hôtes.
b) Attaque DDOS
Une attaque par déni de service distribué (DDoS) est une arme de cybersécurité visant à
perturber le fonctionnement des services ou à extorquer de l’argent aux organisations ciblées.
Ces attaques peuvent être motivées par la politique, la religion, la concurrence ou le profit.
Techniquement, une attaque DDoS est une version distribuée d’une attaque par déni de service
(DoS) dont le but est de perturber les opérations commerciales de la cible. Ce type d’attaque
envoie un volume élevé de trafic pour surcharger le fonctionnement normal d’un service, d’un
serveur ou d’une interconnexion de réseau, les rendant ainsi indisponibles. Les attaques DoS
interrompent le service, tandis que les attaques distribuées (DDoS) sont menées à une échelle
beaucoup plus grande, ce qui permet de mettre hors service des infrastructures entières et des
services évolutifs (cloud).
28
Figure 2.7: illustration attaque ddos [17].
Deviner le mot de passe d'un utilisateur particulier ou d'un site peut prendre beaucoup de
temps. Par conséquent, les pirates ont mis au point des outils pour faire le travail plus
rapidement. Les dictionnaires sont les outils les plus basiques. Certains pirates parcourent des
dictionnaires en intégralité et complètent les mots avec des caractères spéciaux et des chiffres,
ou utilisent des dictionnaires de mots spécifiques. Toutefois, ce type d'attaque séquentielle est
fastidieux. Lors d'une attaque classique, le pirate choisit une cible et saisit les mots de passe
possibles par rapport à ce nom d'utilisateur.
Pour qu'il soit plus compliqué de mener à bien des attaques par force brute, les
administrateurs système doivent s'assurer que les mots de passe de leur système sont chiffrés
en utilisant les taux de chiffrement les plus élevés possible, comme le chiffrement à 256 bits.
Plus le nombre de bits contenus dans le schéma de chiffrement est important, plus il est difficile
de craquer le mot de passe. Les administrateurs doivent également saler le hachage randomiser
des hachages de mot de passe en ajoutant une chaîne aléatoire de lettres et de chiffres (appelée
29
salage) pour le mot de passe lui-même. Cette chaîne doit être stockée dans une base de données
distincte, puis être extraite et ajoutée au mot de passe avant qu'il ne soit haché. Ainsi, les
utilisateurs qui disposent du même mot de passe ont des hachages différents. En outre, les
administrateurs peuvent exiger une authentification en deux étapes et installer un système de
détection des intrusions qui détecte les attaques par force brute.
2.3.4. Pare-feu
Un pare-feu est simplement un groupe de composants qui forment collectivement une
barrière entre deux réseaux. Un certain nombre de termes spécifiques aux pares-feux et aux
réseaux seront utilisés tout au long de cette section, alors présentons-les tous ensemble.
30
• Hôte du bastion.
Ordinateur à usage général utilisé pour contrôler l'accès entre le réseau interne (privé)
(intranet) et Internet (ou tout autre réseau non approuvé). En règle générale, il s'agit d'hôtes
exécutant une version du système d'exploitation Unix qui a été personnalisée afin de réduire ses
fonctionnalités à ce qui est nécessaire pour prendre en charge ses fonctions. De nombreuses
fonctionnalités à usage général ont été désactivées et, dans de nombreux cas, complètement
supprimées, afin d'améliorer la sécurité de la machine.
• Liste de contrôle d'accès (ACL).
• Procuration.
C'est le processus par lequel un hôte agit au nom d'un autre. Un hôte capable de récupérer
des documents sur Internet peut être configuré en tant que serveur proxy et un hôte sur l'intranet
peut être configuré en tant que clients proxy. Dans cette situation, lorsqu'un hôte sur l'intranet
souhaite récupérer la page Web <http://www.interhack.net/>, par exemple, le navigateur établit
une connexion avec le serveur proxy et demande l'URL donnée. Le serveur proxy récupérera le
document et renverra le résultat au client. De cette manière, tous les hôtes de l'intranet peuvent
accéder aux ressources sur Internet sans avoir la possibilité de parler directement à Internet.
31
Types de pare-feu
Il existe trois types de pare-feu de base, et nous examinerons chacun d'eux.
• Passerelles d'applications
Les premiers pares-feux étaient des passerelles d'application, et sont parfois appelés
passerelles proxy. Ceux-ci sont constitués d'hôtes bastion qui exécutent un logiciel spécial pour
agir en tant que serveur proxy. Ce logiciel s'exécute au niveau de la couche application de notre
vieil ami le modèle de référence ISO/OSI, d'où son nom.
• Filtrage de paquets
Le filtrage de paquets est une technique par laquelle les routeurs ont des listes de contrôle
d'accès (ACL) activées. Par défaut, un routeur transmettra tout le trafic qui lui est envoyé, et le
fera sans aucune restriction. L'utilisation d'ACL est une méthode pour appliquer votre politique
de sécurité en ce qui concerne les types d'accès que vous autorisez le monde extérieur à avoir
sur votre réseau interne, et vice versa
32
• Système hydride
Dans une tentative de combiner la sécurité des passerelles de la couche application avec
la flexibilité et la vitesse du filtrage de paquets, certains fournisseurs ont créé des systèmes qui
utilisent les principes des deux. Dans certains de ces systèmes, les nouvelles connexions doivent
être authentifiées et approuvées au niveau de la couche application. Une fois cela fait, le reste
de la connexion est transmis à la couche de session, où les filtres de paquets surveillent la
connexion pour s'assurer que seuls les paquets faisant partie d'une conversation en cours (déjà
authentifiée et approuvée) sont transmis.
L’IDS ne modifie en aucune façon les paquets réseau, alors que l’IPS empêche la
transmission du paquet en fonction de son contenu, tout comme un pare-feu bloque le trafic en
se basant sur l’adresse IP.
Les IDS analysent et surveillent le trafic réseau pour détecter des signes indiquant que
des hackers utilisent une cybermenace connue afin de s’infiltrer dans votre réseau ou y voler
des données. Les systèmes d’IDS comparent l’activité réseau en cours avec une base de données
33
d’attaques connues afin de détecter divers types de comportements tels que les violations de la
politique de sécurité, les malwares et les scanners de port.
Les IPS : agissent dans la même zone du réseau qu’un pare-feu, entre le monde extérieur
et le réseau interne. Les IPS rejettent de façon proactive les paquets réseau en fonction d’un
profil de sécurité si ces paquets représentent une menace connue.
De nombreux fournisseurs d’IDS/IPS ont intégré de nouveaux systèmes IPS à des pares-
feux, afin de créer une technologie appelée UTM (Unified Threat Management). Cette
technologie combine en une seule entité les fonctionnalités de ces deux systèmes similaires.
Certains systèmes intègrent dans une même entité les fonctionnalités d’un IDS et d’un IPS.
34
L’apprentissage automatique fait référence au développement, à l’analyse et à
l’implémentation des méthodes qui permettent à une machine d’évaluer grâce à un processus
d’apprentissage, ainsi de remplir des tâches qu’il est difficile ou impossible de remplir par des
moyennes algorithmiques plus classique. L’objectif de l’apprentissage automatique est
d’extraire et exploiter automatiquement l’information présente dans un jeu de données. Il existe
plusieurs façons de faire apprendre à une machine (Figure 2.13). On distingue notamment
l’apprentissage supervisé, l’apprentissage non supervisé et l’apprentissage par renforcement.
35
On parle ainsi de données étiquetées ou annotées. Le jeu de données d’entraînement
annotées permet au système de calculer ses erreurs en comparant ses résultats avec les résultats
connus et ainsi d’ajuster le modèle pour progresser. Une partie des données annotées (non
utilisées pendant l'entraînement) pourra également servir à vérifier l’efficacité du modèle, une
fois l’apprentissage terminé. En fonction du type de tâches, nous pouvons classer les modèles
d'apprentissage automatique supervisé dans les types suivants [26].
a) Régression
Dans la machine, l'apprentissage de la régression est un ensemble de problèmes où La
variable de sortie peut prendre des valeurs continues.
Régression logistique
La régression logistique en python s'agit d'une technique d'analyse d'un ensemble de
données qui comporte une variable dépendante et une ou plusieurs variables indépendantes pour
prédire le résultat dans une variable binaire, ce qui signifie qu'il n'y aura que deux résultats. La
variable dépendante est de nature catégorique. La variable dépendante est également appelée
variable cible et les variables indépendantes sont appelées prédicteurs. La régression logistique
est un cas particulier de régression linéaire où nous ne prédisons le résultat que dans une
variable catégorielle. Elle prédit la probabilité de l'événement à l'aide de la fonction
logarithmique. Nous utilisons la fonction/courbe Sigmoïde pour prédire la valeur catégorique.
La valeur seuil détermine le résultat (gagnant/perdant) [27].
𝛾 = 𝛽0 + 𝛽1 𝑋1 + 𝛽2 𝑋2 + ⋯ + 𝛽𝑛 𝑋𝑛 (1)
Où :
• 𝛾 Représente la variable dépendante qui doit être prédite.
• 𝛽 0 est l'intersection Y, qui est en fait le point sur la ligne qui touche l'axe des y.
• 𝛽 1 est la pente de la droite (la pente peut être négative ou positive selon la relation entre
la variable dépendante et la variable indépendante).
• X représente ici la variable indépendante qui est utilisée pour prédire notre valeur
dépendante résultante.
Fonction sigmoïde :
1
𝑝 = 1+𝑒 −𝛾 (2)
36
On Applique la fonction sigmoïde sur l'équation de régression linéaire (Figure 2.14).
b) Classification
La classification est la tâche de prédire le type ou la classe d'un objet dans un nombre
fini d'options. La variable de sortie pour la classification est toujours une variable catégorielle.
37
La frontière de décision la plus optimale est celle qui a la marge maximale par rapport
aux points les plus proches de toutes les classes. Les points les plus proches de la limite de
décision qui maximisent la distance entre la limite de décision et les points sont appelés vecteurs
de soutien, comme le montre la figure 2.16 La limite de décision dans le cas des machines à
vecteurs supports est appelée classificateur de marge maximale, ou hyperplan de marge
maximale.
➢ Arbre de décisions
Les arbres de décision (DT) sont une méthode d'apprentissage supervisé non paramétrique
utilisée pour la classification et la régression. L'objectif est de créer un modèle qui prédit la
valeur d'une variable cible en apprenant des règles de décision simples déduites des
caractéristiques des données. Par exemple, dans la figure 2.17 ci-dessous, les arbres de décision
apprennent à partir des données à se rapprocher d'une courbe sinusoïdale avec un ensemble de
règles de décision "if-then-else". Plus l'arbre est profond, plus les règles de décision sont
complexes et plus le modèle est adapté.
38
Figure 2.17: régression de l’arbre de décision [30].
➢ Forêts aléatoires
Random Forest (algorithme des forêts d’arbres décisionnels) a été formellement proposé
en 2001 par Leo Breiman et Adèle Cutler. Il fait partie des techniques d’apprentissage
automatique. Cet algorithme combine les concepts de sous-espaces aléatoires et de « bagging
». Le Random Forest effectue un apprentissage sur de multiples arbres de décision entraînés sur
des sous-ensembles de données légèrement différents (Figure 2.18).
➢ Naïve bayes
𝑃(𝐴).𝑃(𝐵|𝐴)
𝑃(𝐴|𝐵) = (7)
𝑃(𝐵)
39
• P(A) : Probabilité de réalisation d’un évènement A
• P(B) : Probabilité de réalisation d’un évènement B
• P(A|B) : Probabilité de réalisation d’un évènement A sachant que B est réalisé
• P(B|A) : Probabilité de réalisation d’un évènement B sachant que A est réalisé
➢ K-Nearest Neighbor
La règle de classification de K-plus proches voisins (KNN) est une méthode de
classification puissante permettant la classification d’une instance inconnue en utilisant un
ensemble d’instances de formation classées.
Si K = 3, le point inconnu est classé en deuxième classe parce qu’il y a deux triangles
et un seul carré parmi les trois plus proches exemples à l’intérieur du cercle. Si K = 5 il est
classé dans la première classe (Figure 2.19).
40
Figure 2.19: exemple de classification KNN [32]
41
2.4.4. Cycle de vie de l'implémentation des algorithmes
2.4.4.2. Prétraitement
Comme le modèle est construit à partir des données, il est clair que plus on dispose de
données, plus le modèle construit est précis et permettra ainsi de prendre de bonnes décisions.
Mais Quand les données d’un DataSet sont dans des ordres de grandeurs différents,
certains algorithmes de Machine Learning et Deep Learning mettent plus de temps à trouver un
modèle prédictif optimal. Le prétraitement et le nettoyage des données sont alors des tâches
importantes qui doivent intervenir avant d'utiliser un jeu de données à des fins d'apprentissage
automatique ou profond. Les données brutes sont souvent bruyantes, peu fiables et incomplètes.
Leur utilisation pour la modélisation peut générer des résultats trompeurs.
2.4.4.3. La modélisation
Une fois les données prétraitées, il va s’agir de trouver le bon algorithme. De nombreux
choix d'algorithmes d'apprentissage et de leurs hyper paramètres s'offrent aux Data Scientists.
La nature du problème à résoudre permet en partie de guider ce choix. Ce choix doit donc être
fait en fonction des résultats désirés ainsi que de la complétude des données [35].
Les facteurs qui peuvent entrer en jeu pour choisir le bon algorithme peuvent être
nombreux, notamment le nombre de caractéristiques (features), la quantité de données qu’on a
etc. Une autre distinction qui nous aidera dans le choix d'un algorithme de machine Learning
est le type de sortie que l'on attend de notre programme : est-ce une valeur continue (un nombre)
ou bien une valeur discrète (une catégorie) ? Le premier cas est appelé une régression, le second
une classification. Néanmoins, il est nécessaire de savoir évaluer n'importe quel algorithme
d'apprentissage sur son jeu de données. Une évaluation rigoureuse des performances d'un
algorithme est une étape indispensable à son déploiement [35].
42
2.4.4.4. La phase d’apprentissage
La phase d’apprentissage repose sur un algorithme d’apprentissage c’est-à-dire la mise
en place d’une architecture et d’un programme informatiques qui permettent à une machine de
recevoir des données d’entrée, d’effectuer une série de traitements utilisant ces données
d’entrée, de produire un résultat en sortie et, surtout, de s’améliorer pour produire ce résultat.
Ce dernier point suppose qu’un objectif de résultat (et éventuellement une tolérance par rapport
à l’atteinte de cet objectif) soit communiqué au système et que des données d'entraînement et
les moyens de mesurer ses performances lui soient fournis. C’est en cherchant à améliorer ses
performances sur les données d'entraînement que la machine va apprendre.
Une fois que l’apprentissage sera terminé, la « machine » pourra produire le résultat de
façon autonome sur des données d’entrée qu’elle n’aura encore jamais rencontrées.
Mais, selon le résultat visé, les données dont on dispose au départ et le contexte, il existe
plusieurs façons de faire apprendre à une machine. On distingue notamment l’apprentissage
supervisé, l’apprentissage non supervisé et l’apprentissage par renforcement (d’autres méthodes
existent mais nous ne les développerons pas ici).
2.4.4.5. Validation
Durant cette phase, on va tester et valider le modèle et ses paramètres selon des critères
se basant sur ses résultats. Il permet d'obtenir le meilleur modèle généralisant les données
obtenues lors de la phase d'apprentissage. Pour cela, on a un ensemble d'exemples pour
l'apprentissage et un autre pour les tests. Voici quelques méthodes pour les tests :
➢ Hold-out :
➢ Cross-validation :
Cross-validation ou « validation croisée k-fold » signifie que le jeu de données est divisé
au hasard en groupes « k ». L'un des groupes est utilisé comme ensemble de test et les autres
sont utilisés comme ensemble de formation. Le modèle est formé sur l'ensemble d'entraînement
43
et noté sur l'ensemble d'essai. Ensuite, le processus est répété jusqu'à ce que chaque groupe
unique soit utilisé comme ensemble de test [36].
On mesure la performance du modèle sur la base de test. Il existe certaine façon standard
de le faire en fonction des types de problèmes [37].
➢ Classification :
• Matrice de confusion.
Toutes ces métriques d’évaluation sont essentiellement dérivées des quatre attributs de
base de la matrice de confusion décrivant les classes réelles et prévues. Ces éléments de la
matrice de confusion sont :
True Negative (TN): nombre d'instances correctement prédites comme normal.
False Positif (FP) : nombre d'instances prédites à tort comme des attaques.
True Positive (TP) : nombre d'instances correctement prédites comme des attaques.
44
La deuxième catégorie se concentre principalement sur les méthodes d’apprentissage
profond. Par exemple, mohammad lotfollahi et al. ont proposé une approche basée sur
l'apprentissage approfondi qui intègre à la fois les phases d'extraction de caractéristiques et de
classification dans un seul système. Le schéma qu’ils ont proposé, appelé "Deep Packet", peut
gérer à la fois la caractérisation du trafic, dans laquelle le trafic réseau est classé en grandes
classes (par exemple, FTP et P2P), et l'identification des applications, dans laquelle
l'identification des applications des utilisateurs finaux (par exemple, BitTorrent et Skype) est
souhaitée. En 2018, wang and al. [40] ont proposé un nouvel IDS appelé le système de détection
d'intrusion hiérarchique spatio-temporel basé sur des caractéristiques (HAST-IDS). Ils ont
appliqué CNNs et LSTM pour la classification du datasets ISCX2012. Lopez-Martin and al.
[41] ont proposé une nouvelle technique pour NTC basée sur une combinaison de deux modèles
d'apprentissage profond : CNN et LSTM qui peuvent être utilisés pour IoT traffic. Ils ont
appliqué l’entête plus la charge utile comme caractéristique.
D’autres travaux antérieurs ont également montré que les méthodes Deep Learning
surpassent d’autres algorithmes d’apprentissage machine tels que la machine à vecteur de
support (SVM) et les réseaux artificiels neuronales traditionnels (ANN) dans la détection des
anomalies [42]
Wu et al. [43] ont proposé un modèle IDS en utilisant des réseaux neuronaux convolutifs
(CNN). Le CNN est utilisé pour sélectionner automatiquement les caractéristiques du trafic à
partir d’un ensemble de données brutes. Les auteurs ont utilisé l’ensemble de données NSL-
KDD pour l’évaluation, et aussi pour résoudre le problème de déséquilibre des ensembles de
données (the imbalanced Dataset problem), ils fixent le coefficient de pondération de la fonction
de coût de chaque classe en fonction de ses nombres. Pour réduire le coût du calcul, ils
convertissent le format vectoriel de trafic brut en format d’image. Le modèle proposé améliore
la précision de la classe avec de petits nombres et réduit également le taux de fausses alarmes
(FAR).
Dans ce chapitre, il était question pour nous de présenter les concepts généraux du trafic
réseau. Après avoir montré comment chemine ce trafic, nous avons présenté les différentes
méthodes d’analyse, ensuite nous avons présenté les différentes notions du machine Learning
à intégrer dans les méthodes d’analyse du trafic et enfin avons abordé quelques travaux
effectués dans le domaine. Il en ressort que pour n’importe quel réseau informatique, il est
important de gérer efficacement le trafic, d’adopter les nouvelles technologies pour améliorer
45
les performances du réseau afin d’optimiser la fourniture de la qualité de service. Au regard de
ce qui précède, nous pouvons constater de l’utilité et de l’enjeu de l’analyse optimal du trafic
pour une entreprise. Ce qui vient donc justifier notre travail qui s’oriente dans l’utilisation de
l’apprentissage automatique pour analyser et sécuriser le trafic réseau.
46
CHAPITRE 3 : MATERIEL ET METHODES
Pour la réalisation d’un tel projet, il est indispensable qu’une étude préalable et
minutieuse soit réalisée. Ayant déjà une vue d’ensemble sur le trafic réseau et des notions de
base d’apprentissage machine, ainsi que l’apport que nous offre l’intelligence artificielle à
travers le MACHINE LEARNING, nous entrons dans ce chapitre pour une compréhension
générale du projet, suivie d’une étude des différents outils et méthodes que nous avons utilisés
pour sa réalisation.
3.1.1. Matériel
Nécessitant d’énormes ressources en termes de puissance de calcul pour un entrainement
rapide et fiable, notre modèle de machine Learning nous a imposé de choisir des caractéristiques
assez élevées pour notre machine. Mais malgré ces performances, elles n’auront pas suffi à
satisfaire les exigences requises pour un entrainement optimal des modèles de machine learning
mis en place. Le matériel utilisé dans ce cas était composé d’un ordinateur HP Intel Core i5
(TM) M520 ayant 8Go de Ram pour les test bas niveau et le développement graphique
3.1.2. Dataset
En raison que Nexttel a un principe de sécurité très haut, l’obtention de ses propres
données reste une demande illégale. Pour cela nous avons utilisé un Dataset publique adaptable
à notre travail. L’ensemble de données utilisé pour cette tâche est CSE-CIC-IDS2018, collectés
par le Centre de la Sécurité des Télécommunication (CST) et l’institut Canadienne de la
Cybersécurité (CIC).
Les modèles de classifications du trafic réseau ne peuvent être construits que s’il existe
un ensemble de données efficace. Un ensemble de données comptant une quantité appréciable
de données de qualité imitant le temps réel ne peut que permettre de former et de tester un
modèle de classification. Dans ce projet, le jeu de données CSE-CIC-IDS2018 est analysé et
utilisé pour étudier l'efficacité de nos modèles d’analyse du trafic réseau.
47
Pour générer un ensemble de données représentatif du trafic réel dans ISCX, ils ont défini
un ensemble de tâches, garantissant que leur ensemble de données est suffisamment riche en
diversité et en quantité. Ils ont implémenté une topologie de réseau LAN commune sur la plate-
forme informatique AWS. Pour avoir une diversité de machines similaires aux réseaux du
monde réel, ils ont installé 5 sous-réseaux, à savoir le département R&D (Dep1), le département
de gestion (Dep2), le département de technicien (Dep3), le département de secrétariat et
d'exploitation (Dep4), le département informatique (Dep5) et salles de serveurs. Pour tous les
départements, à l'exception du département informatique, ils ont installé des ensembles de
différents systèmes d'exploitation MS Windows (Windows 8.1 et Windows 10) et tous les
ordinateurs du département informatique sont sous Ubuntu. Pour la salle des serveurs, ils ont
implémenté différents serveurs MS Windows tels que 2012 et 2016.
48
Tableau 3.1: Liste des attaques exécutées et durée [44]
Attaque de force brute Un jour Kali linux Ubuntu 16.4 (serveur Web)
3.1.3. Logiciels
3.1.3.2. Anaconda
Anaconda est une distribution libre et open source des langages de programmation Python
et R appliqué au développement d'applications dédiées à la science des données et à
l'apprentissage automatique, qui vise à simplifier la gestion des paquets et de déploiement.
Disponible sur Linux, Windows et MacOS X, il possède plus de 15 millions d’utilisateurs dans
le monde entier et permet notamment d’acquérir rapidement une multitude de packages de
gestion des données Python et R, de gérer les bibliothèques, les dépendances et les
environnements avec Conda, de développer et de former des modèles de machine learning et
de deep learning.
49
3.1.3.3. Jupyter Notebook
Jupyter Notebook est une application Web open source permettant de créer et de partager
des documents contenant du code en direct, des équations, des visualisations et du texte narratif.
Les utilisateurs incluent : nettoyage et transformation de données, simulation numérique,
modélisation statistiques, visualisation de données, apprentissage automatique.
𝑇𝑃
• Rappel : 𝑟𝑎𝑝𝑝𝑒𝑙 = 𝑇𝑃+𝐹𝑁 (9)
2∗𝑝𝑟é𝑐𝑖𝑠𝑖𝑜𝑛∗𝑟𝑎𝑝𝑝𝑒𝑙
• F_mesure : 𝑓𝑚𝑒𝑠𝑢𝑟𝑒 = (10)
𝑝𝑟é𝑐𝑖𝑠𝑖𝑜𝑛+𝑟𝑎𝑝𝑝𝑒𝑙
𝑇𝑃+𝑇𝑁
• Accurrency : 𝑎𝑐𝑐𝑢𝑟𝑟𝑒𝑛𝑐𝑦 = 𝑇𝑃+𝑇𝑁+𝐹𝑁+𝐹𝑃 (11)
TP : True Positive
TN : True Negative
FP : False Positive
FN : False Negative
51
3.3. Mise en œuvre du modelé de Machine Learning
La figure 3.2 présente les étapes à suivre partant de la capture des données du trafic
d’entrainement à la validation du modelé de machine Learning le plus performant à utiliser pour
construire le prototype.
3.3.1. Preprocessing
Les données utilisées pour ce travail sont de types catégoriels. Il contient des attributs de
type entier, réel et texte. Pour pouvoir les classifies par des paradigmes de classification, il est
obligatoire de passer par la phase de “preprocessing”. Cette dernière est définie par les étapes
suivantes :
• La transformation de l’ensemble de données qui contient plusieurs fichiers de
format PCAP en CSV et les fusionnées en un seul fichier.
• L’étiquetage des données en 10 classes.
• L’utilisation de la méthode Integer encoded pour l’obtention d’un tableau
numérique
• La suppression des valeurs manquantes et aberrantes.
52
une étude de cas en utilisant un ensemble de données librement disponibles. Les résultats
montrent que les étapes sont effectivement essentielles pour obtenir des résultats.
54
ii. Leurs avantages/inconvénients doivent être bien compris par la communauté des
chercheurs ;
iii. Il existe une grande variété d'adaptations/modifications dans les solutions de pointe ;
iv. Les surpasser est viable, donc ils motivent leur comparaison avec de nouvelles
propositions ;
À cette fin, des tests exhaustifs sont effectués avec les modèles de classification
d'apprentissage automatique les plus répandus pour la détection d’intrusion et d’anomalie
documentés dans la littérature de recherche, comme il est soutenu par Alenazi et al
[47]Gonzalez Cuautle et al. [48] et Zhou & Pezaros [49].
Ces classificateurs sont : Decision Tree, Naive Bayes, Random Forest, K-Nearest
Neighbors et Support Vector Machine (SVM), SGDC classifier. Il convient de garder à
l'esprit qu'une telle sélection correspond également à l'IDS basé sur la détection d'anomalies,
comme indiqué par Apruzzese et al. [50] dans une analyse approfondie de la famille
d'algorithmes les mieux adaptés à la détection des intrusions et des anomalies. Dans tous les
cas, les ensembles de données sont divisés en 80% pour la formation du modèle et 20% pour
les tests.
Pour chaque modèle cité plus haut, le jeu de données sera exploité sur chacun de façon
indépendante, puis une recherche de meilleur paramètre sera faite grâce à l’algorithme de
GridSearch et tout cela sera utilisé dans implémentation du modèle finale.
3.3.4. Cross-validation
Pour l’évaluation du modèle, des méthodes de cross validation sont utilisées. Pour cette
méthode, le K=10. Lorsque tous les modèles sont formés, un score de performance global est
calculé en prenant la moyenne des résultats sur les 10 splits. Nous avons mélangé nos données
pour générer différentes combinaisons afin de nous assurer que les événements sont présents
dans l'ensemble de test.
55
CHAPITRE 4 : RESULTATS EXPERIMENTAUX ET
DISCUSSION
Ce chapitre présente les résultats obtenus au cours des différentes expériences que nous
analysons et discutons de la première à la troisième série de nos expériences. Avant de finir par
la présentation du prototype d’outil réalisé pour mettre la solution à disposition de
l’administration réseau.
KNN 87%
SVM 68%
Le graphe illustré à la figure 4.1 Représente la distribution des scores accurrency sur
l’ensemble des évènements pour chaque système. Nous observons que le Random Forest et
Decision Tree présente les meilleures performances soit respectivement 89% et 88%. Les autres
algorithmes tel que le KNN présente aussi un score assez bon soit 87%, les algorithmes de
SVM, Bayessien naive et SGDC regression presentent un score se situant entre 62% et 68%.
56
Figure 4.1: scores accurrency
Les mesures de performances obtenues sont situées dans les tableaux 4.2, 4.3 suivants
Tableau 4.2: : Résultats de classification machine learning avec 10 splits cross validation
57
Tableau 4.3: Résultats de classification machine learning sans sélections d’attributs avec 100
splits cross validation
Le graphe illustré à la figure 4.2 représente la distribution des scores moyens de précision
sur l’ensemble des évènements pour chaque système. Nous observons que le RF et DT
présentent les meilleures performances, environ 90% pour RF et 89% pour DT. L’algorithme
de KNN présente aussi un score moyen assez bon sur les différentes méthodes utilisées.
On peut aussi remarquer sur un nombre de 100 splits le score maximal que peuvent
atteindre les algorithmes tel que le RF et le DT est de 100%. Toujours suivie du KNN de l’ordre
de 97,50%.
58
4.1.3. Troisième expérience
Dans cette étape, nous avons fait une expérience machine learning sur notre ensemble de
données de type float et integer passant par la selection d’attributs. La répartition de l’ensemble
a été faite par la méthode de Stratified K_Fold, la selection des attriibuts a été faites suivant le
processus enoncé au chapitre 3, une normalisation de nos informations a aussi été faites.
KNN 90%
SVM 80%
On remarque une augmentation du score accurrency, pour tous les algorithmes utilisés.
Bien que les algorithmes de Random Forest et d’arbre de décision restent les plus performant.
Le plus étonnant ici est l’algorithme Support Vector Machine donc les score se situait entre
65% et 68% qui nous donnes une performance de 80%. Une image du rapport fourni par cet
algorithme peut être observer ci-dessous.
60
Figure 4.5: Organigramme fonctionnel prototype de l’outil d’analyse
• Une page d’accueil : C’est la page ou sera affiché les résultats d’analyse et nous permettra
d’accéder aux autres pages.
• Page de réglage ou de Paramétrage : Cette page nous permettra d’améliorer les performances
de notre model, Ceci en ajoutant, supprimant des informations du Dataset. Elle nous permettra
aussi de réévaluer le model pour pouvoir ressortir les meilleur paramètre de celui-ci, elle nous
permettra aussi de configurer les prises de décision de sécurité qui pourront être manuel ou
automatique.
62
4.2.3. Présentation du test
Une expérience a été faite sur une partie du Dataset CIC-AWS-2018 et les résultats montre que
5 schémas d’attaque ont été effectué parmi lesquels : Bot, Dos attack Hulk, Dos attack Gold,
Brute Force Web, Brute Force XSS. Les données de chaque type ont été quantifié comme
indiqué à la figure ci-dessous.
Hardware
Serveur 32 GB RAM, CPU 64 bits, 700 000 01 700 000
7.2 GHz supportant les
instructions AVX, GPU
NVIDIA , DD 500 Go.
Modem Wifi 03 ports Ethernet 45 000 01 45 000
Autres
Connexion 4G 15 000 / mois 05 (mois) 75 000
63
Total 850 000
64
Le projet peut se classer comme projet de type simple, car au vu des différentes données
observées lors du développement du prototype. Nous pouvons estimer le nombre de ligne de
code à 10 000.
Paramètres : 𝑎 = 2,4 ; 𝑏 = 1,05, 𝑐 = 2,5 ; 𝑑 = 0,38
𝐸𝑓𝑓𝑜𝑟𝑡 = 2,4. (10 000)1,05 = 27 𝑀 ⁄ ℎ (15)
𝐷𝑒𝑙𝑎𝑖 = 2,5. (14)0,38 = 8 𝑚𝑜𝑖𝑠 (16)
c) Coût de l’application
L’unité de coût des applications s’exprime traditionnellement en Mois/homme (M/h) ou en
Année/homme (A/h) qu’il ne faut pas confondre avec la durée du développement. On a :
• 1 H/An = 1350h,
• 1 h=10€,
• Productivité =2 à 5 lignes/h.
Notre application correspond à 8M/h soit 0,67A/h qui nous donne une durée de 904,5 heures.
Nous obtenons le tableau 4.12 ci-dessous.
La main d’œuvre des ingénieurs est égale à Te x 30% (Te : Total estimatif de
l’application), soit 2 340 000 FCFA. Le coût total estimatif du projet est présenté dans le
tableau 4.13 ci-dessous :
Il était question pour nous après avoir commenté les résultats obtenus à la suite de l’étude
des performances de notre modèle, de présenter les résultats acquis à la suite de la réalisation
du prototype et de présenter son interface sur laquelle il sera accessible. Il en ressort de ces
résultats que notre prototype performant et peut s’améliorer.
65
CONCLUSION GENERALE
L’avènement des méthodes d’apprentissage automatique ont permis de grandes avancées
dans le domaine de l’analyse du trafic et de la sécurité des réseaux. Il a été proposé dans ce
travail une démarche opérationnel axée l’optimisation de l’analyse du trafic et la sécurisation
du réseau de l’entreprise Nexttel grâce aux méthodes d’apprentissage machine. Au cours de
cette étude il a été proposé une solution adéquate de capture du trafic réseau pour une analyse
efficace ensuite des méthodes optimales d’entrainement des différents modèles de Machine
Learning pour classifier le trafic malveillant et le trafic bénin ceci permettant au mieux de
détecter les anomalies et les intrusions. L’algorithme de Random Forest a présenté les meilleurs
performances 97% au cours de la phase d’apprentissage et a été utilisé pour modéliser un
prototype d’outil de d’analyse du trafic. Cependant cette étude nous informe qu’un modèle mal
entrainé ou construit constitue un grand inconvénient pour l’entreprise rendant ainsi son
système vulnérable. C’est donc dans ce souci que notre travail a été minutieusement effectué
afin de réduire au maximum les problèmes d’analyse du trafic.
Au regard des résultats obtenus, les objectifs fixés à la base de notre travail ont été atteints,
ceci du fait que les mesures de la précision des modèles utilisés ont été supérieur à 80% pour la
plupart.
Toutefois comme n’importe quel modèle de Machine Learning, le modèle mis sur pied
pourra être amélioré. C’est dans cette vision que nous trouvons intéressant de doter notre
modèle de fonctionnalités supplémentaires qui le rendrait beaucoup plus performant qu’il ne
l’est actuellement. Ainsi notre modèle utilisant un seul hyperparamètre, nous pourrons toujours
grâce aux algorithmes de GridSearch rechercher plus d’hyperparamètres pour augmenter la
précision de notre modèle, nous pourrons utiliser du Stacking pour améliorer nos résultats avec
pour base l’algorithme de Random Forest.
Nous prévoyons aussi mettre sur pied une application de monitoring pouvant fonctionner
en temps réel et accessible sur n’importe quel système ayant pour noyau le modèle final obtenu.
66
REFERENCES BIBLIOGRAPHIQUES
xiii
[16] «interhack net,» 2021. http://www.interhack.net/pubs/network-security/. [Accès le mai
2022].
xiv
[32] B. Saji, «Analytics vidhya,» 22 janvier 2021.
https://www.analyticsvidhya.com/blog/2021/01/a-quick-introduction-to-k-nearest-
neighbor-knn-classification-using-python/. [Accès le 17 mai 2022].
[38] G. A. Thuy T.T. Nguyen, «A Survey of Techniques for Internet Traffic Classification
using Machine Learning,» australie, 2008.
[42] J.-W. K. Min-Joo Kang 1, «Système de détection d’intrusion utilisant un réseau neuronal
profond pour la sécurité du réseau embarqué,» 2016.
[43] Z. C. W. L. Kehe Wu, «Un nouveau modèle de détection d’intrusion pour un réseau
massif utilisant des réseaux de neurones convolutifs,» 2018.
[45] «lebigdata,»https://www.lebigdata.fr/python-langage-
definition#:~:text=Le%20langage%20Python%20doit%20sa%20popularit%C3%A9%2
0%C3%A0%20plusieurs,cr%C3%A9er%20des%20programmes%20rapidement%20et
%20avec%20peu%20d%E2%80%99efforts..
xv
[47] A. Alenazi, I. Traore, K. Ganame et I. Woungang, Holistic Model for HTTP Botnet
Detection Based on DNS Traffic Analysis. Vancouver, BC, Canada, 26 October 2017;
Springer: Cham, Switzerland, 2017, vancouver, 2017.
[50] Apruzzese, On the effectiveness of machine and deep learning for cyber security. In
Proceedings of the 2018 10th International Conference on Cyber Conflict (CyCon),
Tallinn, Estonia, 29 May–1 June 2018, Tallinn, 2018.
xvi
ANNEXES
xvii
Figure 4.A : Phase d’encodage
xviii
Figure 7.A: preprocessing
xix
Figure 11.A: Matrice de Confusion Random Forest
xx