Vous êtes sur la page 1sur 87

DEDICACE

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 :

• Le Président et les membres du jury d’avoir accepté d’évaluer ce travail ;


• Le Pr. MOUANGUE Ruben, Directeur de l’Ecole Nationale Supérieure
Polytechnique de Douala, pour son dynamisme et les efforts déployés par son équipe
afin de nous assurer une formation de qualité ;
• Dr EKE Samuel et Dr MALONG Yanick, nos encadrants académiques pour les
sacrifices, l’encadrement sans faille, les conseils précieux, la peine qu’ils se sont
données tout au long de ce travail et surtout pour leurs disponibilités ;
• Dr NDOUMBE Jean, chef de département de TTIC pour son suivi depuis notre
admission au département ;
• M. YAOUSOU Benoit, Directeur Général de Nexttel Cameroun pour nous avoir
permis d’effectuer le stage dans sa structure ;
• M. NGAH CHRISTIAN, notre encadrant professionnel pour sa patience, sa
disponibilité, ses conseils et surtout son assistance tout au long de ce stage de fin
d’études ;
• Tout le personnel de l’entreprise NEXTTEL Cameroun pour leur apport sur le plan
professionnel ;
• Tout le personnel de l’Ecole Nationale Supérieur Polytechnique de Douala pour leur
apport et accompagnement académique ;
• Tout le corps enseignant pour leur grande rigueur dans le travail ;
• La grande famille DJAGUE et SOFFEU pour son accompagnement précieux dans le
travail et son soutien durant tout le cursus ;
• La grande famille TCHIPET et NGAMPA, en particulier la Feu NGAMBA Tchuipet
Champinette pour son accompagnement durant ces années d’étude.
• Tous ceux qui, de près ou de loin, par leurs soutiens multiformes et leurs divers
conseils ont contribué à la réussite de ce travail ;

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 ;

• Génie Frigorifique et Climatique ;

• Ingénierie des Systèmes Mécatroniques ;

• Ingénierie Automobile ;

• Ingénierie des Opérations – Capitaine de Pêche ;

• Electromécanique Navale ;

• Ingénierie de l’Energie Electrique ;

• Ingénierie des Systèmes Automatisés ;

• Qualité et Normalisation ;

• Hygiène Industrielle ;

• Sécurité Industrielle ;

• Environnement Industriel ;

• Construction Mécanique et Productique ;

• Construction Métallique et Tuyauterie ;

• Bâtiments et Constructions Industrielles ;

• Travaux Publics et Ouvrages ;

• Réseaux et Télécommunications ;

• Génie Logiciel ;

• Sécurité des Systèmes d’Information ;

• Management des Systèmes d’Information ;

• Chimie Industrielle ;

iii
• Bioprocédés Industriels ;

• Génie Pharmaceutique ;

• Capteurs, Instrumentations et Mesures ;

• Technologie Biomédicale ;

• Mécanique et Matériau ;

• Géophysique, Eau et Environnement ;

• Electronique, Electrotechnique et Automatique ;


• Energie.
Les étudiants y sont admis par voie de concours en 1ère année et en 3ème année pour le
cursus d’ingénieur et 1ere année pour le cursus des sciences de l’ingénieur et sur étude de
dossier pour le master professionnel. Les enseignements y sont organisés en cours magistraux,
travaux dirigés, travaux pratiques, travaux personnels, visites d’entreprise et stages techniques.
Les études sont effectuées en trois cycles : Les enseignements du 1er cycle s’étalent sur
six semestres et ont pour principal objectif « d’initier les étudiants aux techniques industrielles
» afin d’assister les ingénieurs. La validation de toutes les Unités d’Enseignement (UE) du 1er
cycle correspondant au quota requis donne droit à une admission au 2nd cycle et à l’obtention
d’une Licence en science de l’ingénieur pour le cursus science de l’ingénieur.
Le second cycle s’étend sur quatre semestres dit de « spécialisation ». Les étudiants ayant
choisi leur filière en fin de premier cycle se spécialisent en choisissant un axe pour l’élaboration
d’un profil particulier et personnel. En effet, l’étudiant a un quota d’unités d’enseignements
obligatoires et des optionnelles au choix en fonction de son profil. Les objectifs du 2nd cycle
sont :
• Donner à l’étudiant les connaissances professionnelles, technologiques et managériales de
pointes pour une compétence efficiente en entreprise ;

• 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]

L’administration et la gestion des ressources et du trafic généré viennent donc répondre à


ces exigences. Les avantages apportés par l’analyse du trafic d’un réseau représentent
également un grand intérêt au regard de l’engouement provoqué chez les entreprises. En effet
ce processus permet aux entreprises d’écouter le trafic afin de limiter, d’anticiper certains
problèmes pour améliorer la gestion de la bande passante et les performances de leurs
applications et services.

C’est dans le but d’améliorer la gestion du réseau informatique de l’entreprise Nexttell


Cameroun que nous travaillons sur son trafic réseau. L’objectif d’améliorer l’analyse du trafic
à l’aide de l’intelligence artificielle c’est à dire de pouvoir capturer un trafic et l’analyser et
ressortir les informations utiles et pertinentes pour optimiser la fourniture de la qualité de
service. C’est suivant une telle lancée que ce travail s’articule autour de <<l’analyse et la
sécurisation du trafic réseau avec le machine Learning>>

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. Présentation de l’entreprise

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.

Dès le départ l’entreprise ne possédait qu’une seule direction commerciale et générale


installée à BONANJO. Mais dans la logique d'expansion, elle a ensuite installé ses
représentations régionales dans les (10) chefs-lieux régions et dans près de 56 chefs-lieux de
départements de l'ensemble du pays à travers les shops et « business center »

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 ;

NEXTTEL s’intéresse à plusieurs autres domaines comme : l’éducation, le gouvernement


ou de la sante. Les activités de NEXTTEL et Objectifs

❖ Les activités

L’activité principale de la firme est l’exercice de la téléphonie mobile au Cameroun. Elle


est spécialisée dans les domaines tels que :

• La vente du crédit de communication ;


• La vente des produits (téléphones, clé internet, modem, SIM…)

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 :

• Accroitre un taux d’abonnes de 10% en 2020 ;


• Introduire la 3G au Cameroun tout en facilitant l’accès aisé à l’internet ou que l’on
se trouve ;
• Fidéliser sa clientèle ;
• Faciliter l’appel au moindre cout vers tous les réseaux de communications ;
• Améliorer la communication téléphonique sur de très longues distances ;
• Offrir un service internet de qualité à de moindre cout.

1.1.4. Organigramme de NeXttel


NEXTTEL est une entreprise de téléphonie mobile qui, pour mener à bien ses
activités, emploie un personnel compétent et soucieux du travail bien fait [2].

Figure 1.1: Organigramme de Nexttel [2].

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 :

Tableau 1.1 : Présentation des departements de Nexttel [2].

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

Le rôle du département IT est de concevoir, maintenir et soutenir l’infrastructure de


technologie de l’information, permettant ainsi à l’organisation de tirer parti à la fois de
l’information et de la technologie de manière efficace, productive et sécurisée. Le service
informatique travaille en étroite collaboration avec le service marketing car le marketing a
besoin de comprendre intimement leurs clients et leurs comportements respectifs, pour
améliorer la relation entre la marque et le consommateur. Pour cette raison, le plan marketing
doit suivre le bon état d'esprit et la bonne stratégie de transformation informatique.

Toutefois, la direction IT est composée de 08 divisions présentées comme suit :

Figure 1.2 : Organigramme IT de Nextell [2].

➢ Division Software Développer

La division a la responsabilité de gérer l'ensemble de la plateforme BCCS, OSS et QLTS.


Certaines de ces applications sont utilisées en interne pour aider les services à effectuer leur
travail quotidien, et les autres sont utilisées pour fournir des services aux utilisateurs finaux. On
peut lister :

• Plateforme de centre d'appels ;


• Plateforme de journalisation des plaintes du service client ;

6
• Application de surveillance de réseau, ERP One finance.
➢ Division VAS

IT VAS fournir, maintient un ensemble d'applications, de processus et de procédures qui


permettent d'ajouter de la valeur sur les appels, les données et les SMS et d'autres ressources
qui peuvent être fournies par notre réseau :

• IT VAS contribue à la mise en œuvre de l'offre et du produit en fonction de la demande


du produit et de la politique (data, jackpot, eco+, next15+…) ;
• Fournir un rapport statistique à l'équipe marketing concernant les données des services
VAS ;
• IT VAS contribue à intégrer le nouveau fournisseur de VAS (USSD, Billing API).

➢ Division OCS

OCS (Online Charging System) est en charge de gérer la plateforme de facturation en


temps réel de Nexttel. Division OCS :

• Assurer le bon fonctionnement et la disponibilité de la plateforme OCS ;


• Mettre en œuvre des offres, des promotions et un plan tarifaire en fonction des exigences
marketing ;
• Traiter les plaintes des clients liées à la recharge en ligne ;

Afin de garantir que tout le service sera facturé, l'OCS est intégré à l'EN suivant :

• Cœur NE (MSC, SMSC, MMSC, GGSN) ;


• Provisionnement de GW pour la mise en œuvre du VAS ;
• Anypay pour le rechargement de la carte SIM de l'utilisateur final ;
• Centre de bons pour la gestion des cartes Scratch ;
• FTP (envoi de CDR) pour analyse et reporting.

➢ Division Support et NOC

Elle fournit un emplacement centralisé pour l'aide en libre-service grâce à l'utilisation


d'une base de connaissances active contenant le contenu et la documentation couramment
demandés sur les problèmes connus, ainsi qu'un système de billetterie en ligne pour soumettre
une demande d'assistance au service informatique. La Division est composée de deux entités :

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.

La division est en charge de :

• Surveiller et maintenir les systèmes informatiques et les réseaux de l'organisation ;


• Diagnostiquer tout défaut matériel ou logiciel de ces systèmes et résoudre les
problèmes en personne ou par téléphone ;
• Veiller au respect des normes en vigueur.

➢ Division Système

La Division Système gère l'élément de réseau informatique composé de serveurs, de


périphériques de réseau et de stockage. La division est chargée de :

• Administration, Provisioning et Monitoring Infrastructure de stockage (SAN,


TAPE) ;
• Administration des serveurs et nœuds réseau (AIX, Linux, Windows, Firewalls,
Switches, Switches SAN et Load Balancers, Infrastructure VMWare,
Infrastructure PowerVM) ;
• Administration des bases de données et rapport (Oracle, MySQL) ;
• Administration des services réseau (FTP, Mail, DNS, Proxy, AD DC...) ;
• Audit et bilan de santé ;
• Stratégie de sauvegarde et de reprise après sinistre.

➢ Division SSI

La Direction de la Sécurité des Systèmes d'Information (SSI) a été créée le 20 janvier


2020 par décision du Directeur Général de Viettel Cameroun. L'objectif global de cette division
est de gérer les risques de sécurité afin d'assurer la confidentialité, la disponibilité, l'intégrité et
la traçabilité des informations en utilisant les moyens techniques, organisationnels, juridiques
et humains mis en place. La division est chargée de :

• Audit de sécurité des systèmes d'information ;


• Évaluation, analyse et gestion des risques de sécurité ;

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.

➢ Division Data Mining

La division est chargée d'administrer les applications de dépannage qui traitent les CDR,
qui sont utilisées pour :

• Réconciliation du trafic avec différents partenaires locaux et internationaux ;


• Rapports basés sur les ventes, le marketing et les exigences financières ;
• Analyse des données pour découvrir les schémas de fraude et les failles de
sécurité ;
• La division est chargée d'assurer l'intégrité, la disponibilité et la confidentialité
des magasins de données et des bases de données.

➢ Division Application

La division a la responsabilité de gérer l'ensemble de la plateforme BCCS, OSS et QLTS.


Certaines de ces applications sont utilisées en interne pour aider les services à effectuer leur
travail quotidien, et les autres sont utilisées pour fournir des services aux utilisateurs finaux. On
peut lister :

• Plateforme de centre d'appels ;


• Plateforme de journalisation des plaintes du service client ;
• Application de surveillance de réseau ;
• ERP One finance…

1.2. Cahier de charge


Afin de parvenir à la finalité de notre travail « d’analyse et de sécurisation du trafic réseau
dans l’entreprise NEXTTEL avec machine Learning » nous devons préalablement présenter les
sources de motivation du choix d’un tel thème.

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.

Compte tenu de l’observation faite du fonctionnement du réseau du service IT de Nexttel


Cameroun, il a été remarqué pour l’analyse de son trafic réseau, l’utilisation de la méthode
traditionnelle basée sur la capture des paquets telle que la configuration des ports SPAN (Switch
Port Analyzer) pour accéder au trafic réseau. L’utilisation des WAF (Web Application Firewall)
et de l’apprentissage d’application a été observer pour des données de trafic capturé.

b) Architecture existante

Figure 1.3: Architecture réseau de Nexttel [2].

1.2.2. Critique de l’existant et problématique


a) Critique

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.

L’utilisation de l’apprentissage d’application venant résoudre certains problèmes


rencontrés par les WAF se retrouve très limité lorsque le trafic de données devient de plus en
plus important créant ainsi un nombre très élevé de détection de faux positifs susceptibles de
bloquer le trafic critique et non malveillant, Le problème fondamental réside dans
l'apprentissage d'application (AL). Parce que AL est uniquement observationnel, il signale les
anomalies uniquement en fonction de ce dont il a déjà été témoin. Cette technologie n'a tout
simplement pas l'intelligence nécessaire pour déterminer si une anomalie détectée est une
attaque ou est simplement bénigne.

b) Problématique

Avec l’explosion des données des différentes infrastructures informatiques (réseaux,


systèmes, internet des objets ...etc.) et les innovations dans le domaine des Télécommunications
(4G, 5G), proposant des débits de transfert de plus en plus élevés, il devient donc important de
disposer d’éléments efficaces et rapides dans la détection de menaces et l’application des
mesures de sécurité lié à son trafic réseau. De cette analyse de l’existant, on peut déduire une
problématique sur Comment optimiser l’analyse et la sécurisation du trafic réseau de cette
entreprise ?

1.2.3. Objectif du travail


Considérant le contexte présenté ci-dessus, nous nous sommes donnés pour but de
proposer une méthode et un prototype d’outil digital intelligent capable d’analyser et de
sécuriser les flux de données transitant sur le réseau. Ce projet faisant référence aux notions
d’apprentissage machine, il possède les intentions suivantes :

• Capturer la totalité du trafic réseau de l’entreprise


11
• Analyser de façon optimale le trafic de celle-ci
• Produire un rapport détaillé d’analyse
• Prévenir en cas de détection intrusion ou d’anomalie
• Effectuer un ensemble d’action sur la base les résultats obtenus.

1.2.4. Identification des besoins


A travers les spécifications du modèle, les différents besoins des utilisateurs sont
présentés afin d’aboutir à un modelé performant et satisfaisant à la hauteur de leurs attentes.

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.

b. Spécifications non fonctionnelles

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. Généralité sur le trafic réseau


Le trafic réseau fait référence à la quantité de données se déplaçant sur un réseau à un
moment donné. Cette circulation des données se déroule à l’aide de plusieurs protocoles de
communication (IPV4, ICMP, ARP, DHCP…) qui gère l’acheminement et le contrôle de ces
données. Le trafic réseau est le composant principal pour la mesure du réseau, le contrôle du
trafic réseau etc… La bonne organisation du trafic réseau contribue à garantir la qualité de
service dans un réseau donné [3].

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]

2.1.1.1. Types de commutation :

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 :

Elle consiste à envoyer un message de l'émetteur jusqu'au récepteur en passant de nœud


de commutation à un autre. Chaque nœud attend d'avoir reçu complètement le message avant
de le réexpédier au nœud suivant. Cette technique nécessite de prévoir de grandes zones tampon
dans chaque nœud du réseau, mais comme ces zones ne sont pas illimitées il faut aussi prévoir
un contrôle de flux des messages pour éviter la saturation du réseau. Dans cette approche il
devient très difficile de transmettre de longs messages. En effet, comme un message doit être
reçu entièrement à chaque étape si la ligne a un taux de 10−5 par bit (1 bit sur 105 est erroné)
alors un message de 100000 octets n'a qu'une probabilité de 0,0003 d'être transmis sans erreur.

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.1.2. Les modes d’acheminement des paquets :

a) Le mode "circuit virtuel" : un chemin entre le nœud entrant et le nœud


destination est construit (établissement du circuit virtuel), puis tous les paquets d'un même
message suivent ce chemin figure 2.1; ils arrivent donc dans l'ordre où ils ont été émis
(acheminement en séquence).
14
Figure 2.1: Illustration de la commutation de paquets de type circuit virtuel [5].

b) Le mode "datagramme" : chaque paquet est traité indépendamment des autres,


les paquets n'arrivent donc pas nécessairement dans le même ordre comme l’illustre la figure
2.2, ils doivent être remis en séquence pour délivrance au destinataire.

Figure 2.2 : Illustration de la commutation de paquets de type datagramme [5].

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.

2.1.2.2. Principe du routage


Le routage est la fonctionnalité qui permet d’acheminer les données d’un point A vers un
point B situé dans un réseau distant. Le routage, effectué par les routeurs, se base sur l’adresse
IP de destination contenu dans le paquet reçu [6].

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.

• Le mode Broadcast : Il concerne la diffusion de données depuis une source unique à


un ensemble de récepteurs. Dans ce mode il est possible d’adresser un paquet de
données à un ensemble de machine d’un même réseau uniquement pas des adresses
spécifiques qui seront interceptées par toutes les machines du réseau ou sous réseau

2.1.2.4. Types de routage

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.

Figure 2.3: Illustration du routage statique [5].


16
➢ Avantages du routage statique :

• Sécurité par masquage de certaines parties d’un inter réseau

• Moins de surcharge par rapport au routage dynamique.

➢ Inconvénients du routage statique :

• 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

c) Protocoles de routage dynamiques


Il existe plusieurs protocoles de routage implémenter dans le réseau en fonction de
bossions et exigence (IGP, EGP, RIP, IGRP, EIGRP …) comme le montre la Figure 2.4

17
Figure 2.4:les protocoles de routage dynamique [5].

• Le protocole IGP (interior Gateway protocols) : C’est un protocole de routage utilisé


dans les systèmes autonomes qui permet d'établir les routes optimales entre un point du
réseau et toutes les destinations disponibles, et éviter les boucles. Aussi il assure la
convergence du réseau en cas de modification de topologie dans les plus brefs délais.

On distingue généralement deux types de protocole IGP

➢ Les protocoles de routage à vecteur de distance (distance vector


protocols) :
Les algorithmes à vecteurs de distance entrent dans la catégorie des algorithmes
d'optimisation, qui nécessitent plus de bande passante que de puissance en processus, son
particulièrement sensibles aux boucles de routage. Les protocoles de routage à vecteur de
distance comprennent : RIP, IGRP et EIGRP.

➢ Les protocoles de routage à état de lien :


Ils transmettent la totalité des informations de routage à tous les routeurs participants et
établissent des tables de voisins directs, c'est le cas d'OSPF ou d'IS-IS,

• Protocole EGP (exterior geteway protocols) :


C’était un protocole de routage externe dans Internet, Décrit pour la première fois avec la
notion du système autonome, est un protocole permettant le routage entre différents systèmes
autonomes de routage. C'est un protocole class full, qui ne prenait pas en compte l'adressage
VLSM. Ce protocole est obsolète et remplacé par BGP (protocole d’échange de route externe,
utilise notamment sur le réseau internet), qui a conservé les numéros d'AS. Il était utilisé dans
la dorsale ARPANET et a permis la décentralisation du routage sur Internet.

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.

2.1.4. Bande passante


Dans le domaine des réseaux informatiques, spécialement les accès à internet à haut débit,
on utilise le terme bande passante pour désigner le débit binaire maximal d'une voie de
transmission (flux circulant par unité de temps) exprimé en octets. Elle indique la capacité d'un
réseau à transmettre des informations. C’est-à-dire de la vitesse de transfert de données
numériques, mesurée en bits par seconde (bit/s, b/s ou bps). Elle est aussi utilisée pour désigner
le débit d'un périphérique (tel qu'une mémoire, un disque dur).

2.1.5. La qualité de Service


La Qualité de service (QoS) est la capacité à véhiculer dans de bonnes Conditions un type
de trafic donné, en termes de disponibilité, débit, délais de Transmission, gigue, taux de perte
de paquets, une technologie réseau utilisée dans certaines organisations afin de fournir des
performances optimales à l’utilisateur final pour les communications audio et vidéo.

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.

2.1.6. La congestion de trafic


La congestion dans les réseaux est un phénomène qui peut influer sur la QoS,
l’augmentation continue de trafic impose aux opérateurs de répondre efficacement à ce

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.

Avec l’évolution de l’architecteur des réseaux et l’arrives de nouvelles applications, de


nouveau paradigmes de contrôle de congestion a été envisagés. Des solutions de traitement de
la congestion appliquées à l’environnement utilisées par les entreprises pour offrir des capacités
de traitement de données et de stockage pour leurs services internet. Cela engendre une grande
quantité de trafic qui provoque un risque de cogestion menant à une dégradation de la QoS.

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.

Congestion Exposure(ConEx) un mécanisme standardisé par l’IETF qui permet à


l’opérateur de limiter les utilisateurs de son réseau en fonction de la congestion qu’ils
engendrent, donc sur leur impact sur les autres utilisateurs qui utilisent la même infrastructure.il
permet de limité des utilisateurs selon le niveau de congestion. Donc il fait visualiser l’état de
congestion du réseau pour pouvoir répartir les ressources équitablement entre les utilisateurs,
L’avantage apporté par ConEx est de pouvoir identifier les flux de trafic, ou plus largement
intéressant les utilisateurs, selon leur contribution à la congestion dans le réseau, donc selon
l’impact de leur trafic sur celui des autres utilisateurs.

2.2. Analyse du trafic

2.2.1. Généralité sur l’analyse du trafic réseau


Il est facile de comprendre que face, par exemple, à un problème de performance
applicative, vous voulez pouvoir observer et évaluer le trafic généré, et c’est exactement ce qui
permet l’analyse du trafic réseau car Cette première impulsion naturelle pour observer le trafic
est justifiée, car l’analyse du trafic s’est avérée utile pour identifier des problèmes tels que des
erreurs de configuration, des problèmes de latence dans certains composants du réseau et

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.

2.2.2. Méthodes d’analyse du trafic réseau


Il existe au moins deux méthodes principales d’effectuer une analyse du trafic réseau :
l’analyse des paquets et l’analyse du flux du trafic réseau. Dans les deux techniques, bien
entendu, l’objectif est le même : obtenir des informations sur le trafic réseau qui peuvent être
présentées sur une interface facilitant son évaluation. Les différences entre l’un et l’autre se
concentrent dans la méthodologie utilisée [8].

2.2.2.2. Analyse des paquets


a) Le paquet réseau
Le paquet est l'unité de transmission de données qui est acheminée entre une origine et
une destination sur un réseau pour établir une communication.
Afin de transmettre un message d'une machine à une autre sur un réseau, celui-ci est
découpe en plusieurs paquets transmis séparément. Lorsqu'un fichier est envoyé d'un point à un
autre sur Internet, la couche TCP (Transmission Control Protocol) du Protocol TCP/IP le scinde

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.

Figure 2.5: Réseaux de données [3].

b) La méthode d’analyse des paquets


Elle utilise des technologies de capture de paquets afin d’obtenir des copies brutes du
trafic et donc offre la possibilité d’évaluer le trafic réseau paquet par paquet.

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é.)

Un flux fait donc référence à toute connexion ou canal de communication de type


connexion. En termes plus techniques, un flux est défini par son 5-tuple (un ensemble de cinq
points de données) :
- Les adresses IP source et de destination échangeant des informations
- Les ports source et de destination, le cas échéant (ICMP, par exemple, n’utilise
pas de ports)
- Le protocole
Le flux identifie un canal de communication et tous les paquets partageant les mêmes
champs de 5 tuples appartiennent au même flux [13].

a) La méthode d’analyse du Flux


L’analyse des flux consiste à collecter les métadonnées du trafic réseau utilisées à des fins
statistiques (par exemple, le trafic par protocoles, l’utilisation de la bande passante, etc) [12].

2.2.2.4. Classification du trafic


La classification de trafic consiste à associer le trafic réseau avec l’application ou la
catégorie d’applications qui l’a généré. Les opérateurs aimeraient dans certains cas savoir à
quelle application appartiennent les paquets de façon à optimiser l’ingénierie du trafic, à affiner
leur politique de tarification etc. Les solutions de Qualité de Service (QoS) qui séparent le trafic
en classes et leur affectent différentes priorités nécessitent également la capacité d’associer le
trafic aux applications puisque celles-ci n’étiquètent pas elles-mêmes le trafic qu’elles génèrent.
Nous utilisons cette approche pour décrire les méthodes de classification du trafic en fonction
des caractéristiques observées passivement dans le trafic et selon des objectifs de classification
spécifiques.

La classification du trafic permet donc d’optimiser et diversifier les méthodes d’analyse


du trafic en fonction des caractéristiques observées passivement dans le trafic et selon des
objectifs de classification spécifiques [14]. Les approches de classification pour analyse du
trafic sont représentées dans la figure 2.6 ci-dessous :

23
Figure 2.6: Les approches de la classification [3]

a) Approche d’analyse basée sur les ports


Les premières solutions de classification de trafic se basent principalement sur les
numéros de ports pour classifier les applications. Cette approche est particulièrement simple et
rapide en comparaison avec d’autres approches, elle classifie efficacement les applications
standards vu qu’elles utilisent des ports assignés par l’IANA qui sont bien connues. Bien qu’elle
présente des avantages, la classification basée sur les ports est devenue inefficace avec la
présence des applications non standards telle que le trafic P2P (peer to peer). En fait, ces
dernières peuvent contourner les systèmes de contrôle d’accès de plusieurs façons, par exemple
en utilisant des ports non enregistrés ou via une allocation dynamique ou encore en utilisant les
ports standards et enregistrés des autres applications.

b) Approche d’analyse basée par l’inspection de charge


Pour pallier à la limite de la classification précédente, une approche alternative, dite
l’analyse par l’inspection de charge des paquets, ou (Payload based Classification) a été
envisagée. Cette approche consiste à examiner la charge utile de chaque paquet dans sa
recherche d’un indice ou la signature de l’application. Elle se décline en deux branches :
• L’inspection profonde de paquets (DPI pour Deep Packet Inspection) : La première
branche repose sur une inspection mécanique de la charge utile de chaque paquet lors
de la recherche d’une expression ou d’un mot clé caractérisant une application donnée.
Cette approche présente des avantages, notamment son taux de classification élevé. De
plus, elle est susceptible d’être utilisée dans un processus de classification de trafic en
ligne car la signature peut être déduite à partir des premiers paquets des flux. Pour ces
raisons, cette approche est implémentée dans plusieurs solutions, telles que la détection

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

• L’inspection stochastique de paquets (SPI pour Stochastic Packet Inspection) : La


deuxième famille de techniques reprend le même principe de base qui est l’inspection
de la charge, mais d’une manière statistique de façon à chercher les propriétés
distinctives de chaque application. Elle vise à combler certaines lacunes de la première
famille de techniques. Ainsi, elle utilise des méthodes automatiques pour former des
modèles distinctifs. Plusieurs techniques de reconnaissance de forme sont proposées.

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.

c) Approche d’analyse comportementale


L’approche comportementale se focalise sur l’analyse du comportement des hôtes et de
la distribution des connexions pour déduire le type de trafic avec le but d’identifier les
applications actives sur un hôte donné. Les classificateurs de cette catégorie examinent les
patrons générés par le trafic en observant un certain nombre de paramètres, tel que le nombre
d’hôtes qui y sont connectés, le nombre de ports et les protocoles utilisés. L’idée derrière une
telle approche est que différentes applications génèrent des patrons différents. Par exemple un
serveur Web est interrogé par plusieurs clients par des sockets parallèles tandis que dans un
réseau P2P (Peer to Peer) les hôtes sont interconnectés avec le même degré de popularité.
L’outil BLINC est une solution qui permet de classifier le trafic en se référant à l’allure des
communications au niveau d’un hôte.

d) Approche d’analyse statistique


La classification du trafic par l’approche statistique s’appuie d’un côté sur les techniques
d’apprentissage machine et d’un autre côté sur le fait que les différents types de trafic possèdent
différentes caractéristiques ou métadonnées telles que la taille des paquets (petite ou grande),
la taille des flux, le temps inter arrivé des paquets, la durée des flux, etc. En effet, chaque flux

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.

2.3. Sécurité des réseaux informatique


La sécurité du réseau signifie que le matériel, les logiciels et les données du système
réseau sont protégés et qu’ils ne sont pas endommagés, modifiés ou divulgués pour des raisons
accidentelles ou malveillantes, que le système fonctionne de manière continue et fiable et que
les services réseau ne sont pas interrompus [15].

La sécurité réseau comprend la sécurité des périphériques réseau, la sécurité des


informations réseau et la sécurité des logiciels réseau. Au sens large, toutes les technologies et
théories connexes liées à la confidentialité, à l’intégrité, à la disponibilité, à l’authenticité et à
la contrôlabilité des informations réseau sont les domaines de recherche de la sécurité des
réseaux. La sécurité des réseaux est une discipline complète impliquant l’informatique, la
technologie des réseaux, la technologie de la communication, la cryptographie, la technologie
de la sécurité de l’information, les mathématiques appliquées, la théorie des nombres, la théorie
de l’information, etc.

2.3.1. Type primaire


La cybersécurité a produit différents types de sécurité en raison de différents
environnements et applications. Il y a principalement les éléments suivants :

• Sécurité du système : fait référence au fonctionnement de la sécurité du système, c’est-


à-dire à assurer la sécurité du système de traitement et de transmission de l’information.
Il se concentre sur le maintien du système opérationnel. Évitez les dommages et la perte
des messages stockés, traités et transmis par le système en raison de plantages et de
corruption du système. Évitez les fuites d’informations, les interférences avec d’autres
ou les interférences d’autres personnes dues à des fuites électromagnétiques.
• Sécurité du réseau : fait référence à la sécurité des informations système sur le réseau.
Y compris l’identification du mot de passe de l’utilisateur, le contrôle des autorisations
d’accès de l’utilisateur, les droits d’accès aux données, le contrôle du mode, l’audit de
sécurité, le suivi des problèmes de sécurité, la prévention et le contrôle des virus
informatiques, le cryptage des données, etc.
• Sécurité de la diffusion de l’information : Sécurité de la diffusion de l’information
sur le réseau, c’est-à-dire la sécurité des conséquences de la diffusion de l’information,

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.

2.3.2. Gestion des risques : le jeu de la sécurité


Il est très important de comprendre qu'en matière de sécurité, on ne peut tout simplement
pas dire « quel est le meilleur pare-feu ? » Il existe deux extrêmes : la sécurité absolue et l'accès
absolu. Le plus proche d'une machine absolument sécurisée est une machine débranchée du
réseau, alimentée en électricité, enfermée dans un coffre-fort et jetée au fond de l'océan.
Malheureusement, ce n'est pas très utile dans cet état. Une machine avec un accès absolu est
extrêmement pratique à utiliser : elle est simplement là, et fera tout ce que vous lui direz, sans
questions, autorisation, mots de passe ou tout autre mécanisme. Malheureusement, ce n'est pas
très pratique non plus, car il existe sur internet des personnes malintentionnées.

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.

2.3.3. Types et sources de menaces réseau


On distingue plusieurs types de menaces, les menaces contre les ordinateurs en réseau,
puis certaines choses qui peuvent être faites pour vous protéger contre diverses menaces.

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

c) Attaque Brute Force


Une attaque par force brute est une tentative visant à craquer un mot de passe ou un nom
d'utilisateur, ou encore à trouver une page Web cachée ou la clé utilisée pour chiffrer un
message, via un processus d'essais et d'erreurs pour, au bout du compte, espérer deviner juste.
C'est une vieille méthode d'attaque, mais elle reste efficace et répandue parmi les pirates [18].

En fonction de la longueur et de la complexité du mot de passe, le craquage peut prendre


entre quelques secondes et plusieurs années. En réalité, que certains pirates ciblent les mêmes
systèmes chaque jour pendant des mois et parfois même des années.

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.

d) Attaque par Injection de Code


Les auteurs de menaces utilisent des vulnérabilités d’injection de code pour intégrer du
code malveillant dans un code source, que l’application interprète et exécute. Au cours de
l’injection malveillante, les attaquants exploitent le fait que ces systèmes construisent une partie
d’un segment de code à l’aide de données externes tout en ne disposant pas d’une validation
d’entrée suffisante. Le code malveillant est généralement conçu pour contrôler le flux de
données, ce qui entraîne une perte de confidentialité et une disponibilité réduite des
applications. Les attaquants identifient les failles de validation des entrées utilisateur telles que
le format des données, les caractères autorisés et la quantité de données attendues et les utilisent
comme base pour développer du code malveillant. OWASP classe les vulnérabilités d’injection
au premier rang, leur détectabilité allant de facile à complexe. Bien que cela semble alarmant,
les vulnérabilités d’injection sont modérément difficiles à exploiter avec les bonnes pratiques
et une détection rapide.

Figure 2.8 : Illustration Processus Injection SQL [19].

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

De nombreux routeurs ont désormais la capacité d'effectuer leurs tâches de manière


sélective, en fonction d'un certain nombre de faits concernant un paquet qui leur parvient. Cela
inclut des éléments tels que l'adresse d'origine, l'adresse de destination, le port de service de
destination, etc. Ceux-ci peuvent être utilisés pour limiter les types de paquets autorisés à entrer
et sortir d'un réseau donné.

• Zone démilitarisée (DMZ).


La DMZ est une partie essentielle d'un pare-feu : c'est un réseau qui ne fait ni partie du
réseau non approuvé, ni partie du réseau approuvé. Mais c'est un réseau qui relie les non fiables
aux fiables. L'importance d'une DMZ est énorme : quelqu'un qui s'introduit dans votre réseau à
partir d'Internet devrait avoir à traverser plusieurs couches pour réussir. Ces couches sont
fournies par divers composants au sein de la DMZ.

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

Figure 2.9 : Passerelle d’application Azure [20].

• 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

Figure 2.10 : Illustration Filtrage de paquets [21].

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.

Figure 2.11: Illustration Système Hybride [22].

2.3.5. IDS / IPS


Les IDS et les IPS font tous deux parties de l’infrastructure réseau. Les IDS/IPS
comparent les paquets de réseau à une base de données de cybermenaces contenant des
signatures connues de cyberattaques et repèrent tous les paquets qui concordent avec ces
signatures. La principale différence entre les deux tient au fait que l’IDS est un système de
surveillance, alors que l’IPS est un système de contrôle.

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.

Figure 2.12: Illustration IDS – IPS [23].

2.4. MACHINE LEARNING


Dans le domaine de l'intelligence artificielle, la machine Learning est la technologie qui
permet aux machines d'apprendre seules à partir de données fournies. Ces algorithmes
permettent aujourd'hui de résoudre des équations ou des cas qui semblaient être insolubles [24].
Il existe de nombreuses approches d'apprentissage automatique qui se répartissent en trois
grandes catégories d'apprentissage supervisé, non supervisé et semi supervisé. Nous nous
concentrons largement sur l'approche d'apprentissage supervisé car elle est la plus fréquemment
utilisée pour la classification du trafic réseau. Il consiste à construire des modèles pour
apprendre une correspondance entre les entités extraites et les étiquettes de classe pour les
classes des trafics où les étiquettes sont prédéfinies à l'avance et déterminées à partir des
annotations de référence.

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.

Figure 2.13: les types d’apprentissages automatique [25].

2.4.1. L’apprentissage supervisé


Dans le cas de l’apprentissage supervisé, le système est guidé dans son apprentissage. On
lui indique le type de résultat à atteindre en le nourrissant d’exemples. Pour cela, on lui fournit
des données d’entrée pour lesquelles le résultat est connu et communiqué au système. Le but
est qu’il puisse ensuite généraliser ce qu’il a appris pour des données non connues. Par exemple,
si le système doit apprendre à reconnaître des feuilles de vigne dans une image, on lui fournit
des images où la feuille est signalée et où le label « feuille de vigne » est associé.

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

Équation de régression linéaire :

𝛾 = 𝛽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).

Figure 2.14: Régression logistique [28].

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.

➢ Machine à vecteur de support

Dans le cas de données séparables linéairement en deux dimensions, comme le montre


la figure, un algorithme d'apprentissage machine typique tente de trouver une limite qui divise
les données de manière à minimiser l'erreur de classification. Si vous regardez attentivement la
(figure 2.15), il peut y avoir plusieurs limites qui divisent correctement les points de données.
[29]. Les deux lignes pointillées ainsi qu'une ligne continue classent correctement les données.

Figure 2.15: Limites de décisions multiples [29].

Le SVM diffère des autres algorithmes de classification dans la mesure où il choisit


la limite de décision qui maximise la distance par rapport aux points de données les plus proches
de toutes les classes. Un SVM ne se contente pas de trouver une limite de décision ; il trouve la
limite de décision la plus optimale.

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.

Figure 2.16: Frontière de décision avec les vecteurs de soutien [29].

Il existe différents types des noyaux dans le SVM :

• Noyau linéaire : 𝐾(𝑋, 𝑌) = 𝑋 𝑇 𝑌 (3)


• Noyau polynomial : 𝐾(𝑋, 𝑌) = (𝛾. 𝑋 𝑇 𝑌 + 𝑟)𝑑 , 𝛾 > 0 (4)
• Noyau gaussien : 𝐾(𝑋, 𝑌) = exp(−𝛾. ‖𝑋 𝑇 𝑌‖2 ) , 𝛾 > 0 (5)
• Noyau sigmoïde : 𝐾(𝑋, 𝑌) = tanh(𝛾. 𝑋 𝑇 𝑌 + 𝑟 ) , 𝛾 > 0 (6)
D’où 𝑟,𝑑 et 𝛾 sont des paramètres de noyau.

➢ 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).

Figure 2.18: Le classificateur Random forest [31].

➢ Naïve bayes

Pour une problématique de classification, la structure de naïve bayes a prouvé


expérimentalement qu’elle était capable de donner de bons résultats. L’hypomémoire de base
de ce modèle est de supposer que toutes les observations étaient indépendantes les unes des
autres conditionnellement à la variable classe, ce qui revient à une simplification de la loi jointe
suivante :

𝑃(𝐴).𝑃(𝐵|𝐴)
𝑃(𝐴|𝐵) = (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.

L’algorithme des k-plus proches voisins (k-Nearest Neighbours) permet la


classification d’instances à partir des instances de formation les plus proches dans l’espace
caractéristique. Il s’agit d’un type d’apprentissage basé sur les instances, appelé aussi memory-
based ou lazy-learning, car il n’y a pas d’apprentissage réel, les exemples d’apprentissage sont
juste stockés en mémoire et réutilisés lors de la classification.
L’idée principale de l’algorithme est de prédire pour chaque nouvelle observation les
k observations lui étant les plus similaires dans l’ensemble de données d’apprentissage [3].
Le cas le plus simple de cet algorithme est lorsque k est égale à 1. 1-NN se base sur
la classe du voisin le plus proche afin de classer l’instance inconnue.
KNN se caractérise par la possibilité de faire une classification sans émettre
d’hypomémoires sur la fonction reliant la variable dépendante (classe) aux variables
indépendantes (instances), mais aussi, par l’influence de la valeur de k qui peut être choisie
dans une échelle allant de quelques unités à quelques milliers, où les grandes valeurs de k
produisent un lissage qui réduit le sur-apprentissage dû au bruit, ce qui est un avantage. Un
exemple de classification KNN est illustré par la figure 1 où le point inconnu (cercle) appartient
soit à la première classe (carré) ou bien la deuxième classe (triangle).

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]

2.4.2. L’apprentissage non supervisé


Dans le cas de l’apprentissage non supervisé, on ne donne pas d’exemples de résultats
attendus au système. Seules les données d’entrée sont fournies et le système doit apprendre, de
façon autonome, la meilleure façon d’explorer les données. Il doit chercher à identifier dans le
jeu de données une façon de les structurer (trouver des modèles ou « patterns ») ou encore à
extraire des caractéristiques particulières. La performance permettant l’ajustement du modèle
est alors appréciée grâce à des indicateurs objectifs, comme, par exemple, des calculs de
variabilité intra ou interclasses [3].

2.4.3. L’apprentissage par renforcement


L’apprentissage par renforcement est un modèle d’apprentissage automatique dans lequel
l’agent apprend par essais et erreurs pour atteindre l’objectif. Il s’agit d’un algorithme orienté
objectif dans lequel un agent reçoit une récompense lorsqu’il effectue l’action correcte. Ces
récompenses aident les agents à naviguer dans un environnement complexe pour atteindre
l’objectif final. Tout comme un tout-petit apprend à marcher seul par essais et erreurs. De
même, une machine apprend à effectuer des tâches complexes sans intervention humaine. C’est
assez différent des autres algorithmes d’apprentissage automatique. Il apprend de
l’environnement et atteint de meilleures performances que les humains. Alors que les modèles
d’apprentissage supervisés et non supervisés dépendent de données existantes collectées auprès
d’humains et se limitent à l’intelligence humaine.

Figure 2.20: apprentissage par renforcement [33].

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.

La première étape à réaliser est donc l'obtention de données en suffisance,


représentatives du problème à résoudre. En effet, s'il s’avère qu’on a beaucoup de données
d’entraînement et/ou que l’algorithme d’apprentissage est lourd, il est possible que l’utilisation
de toutes les données prenne énormément de temps et/ou de ressources hardware. Dans ce cas,
il faut naturellement échantillonner et ne récupérer qu’un petit pourcentage du dataset qui
servira au travail de modélisation pour aller plus vite. Le problème lorsqu’on effectue un
échantillonnage, c'est que l’on doit être bien sûr que cet échantillon est représentatif de toutes
les données. On parle d'étape de sampling en anglais [34].

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 :

Hold-out ou «la rétention » consiste à diviser votre ensemble de données en un ensemble


« train » et « test ». L'ensemble d'apprentissage est ce sur quoi le modèle est formé, et l'ensemble
de test est utilisé pour voir dans quelle mesure ce modèle fonctionne sur des données invisibles.
Une division commune lors de l'utilisation de la méthode de maintien consiste à utiliser 80%
des données pour la formation et les 20% restants des données pour les tests [36].

➢ 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].

2.4.4.6. Performance du modèle


Après avoir déroulé son algorithme sur ses données d’entraînement (Training set) et faire
des prédictions avec le jeu de test (Test Set), il est temps d’évaluer la performance de notre
algorithme.

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.

• Le rapport de classification (Précision, rappel et f_score).

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 Négative (FN): nombre d'instances prédites à tort 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.

2.5. TRAVAUX CONNEXES


Les recherches actuelles sur l’analyse du trafic se concentrent principalement sur
l’approche d’analyse par inspection de charge, comportementale et statistique. De nombreuses
recherches sont actuellement menées sur la base de l’apprentissage automatique et profond.

La première catégorie se concentre principalement sur les méthodes classiques de


machine Learning, par exemple, Wang et al. [38] , Coull et Mauro et al. [39] ont fait des
recherches sur le P2P, iMessage et WebRTC respectivement. Ils ont appliqué respectivement
les caractéristiques de flux et les caractéristiques de paquets. Les classificateurs correspondants
sont l'arbre de décision C4.5, l'arbre de décision Naive respectivement Bayes et Random Forest.
Relativement parlant, moins de recherches sont menées sur la classification du trafic encapsulé
dans les protocoles.

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. Outils de développement


Maintenant que le projet a bien été appréhendé, il convient de présenter les outils de
développement matériel et logiciel 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.

Figure 3.1: Topologie du réseau [44].

Le jeu de données CSE-CIC-IDS2018 comprend sept scénarios d'attaque différents :


Brute-force, Heartbleed, Botnet, DoS, DDoS, attaques Web et infiltration du réseau de
l'intérieur. L'infrastructure attaquante comprend 50 machines et l'organisation victime a 5
départements et comprend 420 machines et 30 serveurs. L'ensemble de données comprend les
captures de trafic réseau et les journaux système de chaque machine, ainsi que 80
fonctionnalités extraites du trafic capturé à l'aide de CICFlowMeter-V3. [44]. (Tableau 3.1)

48
Tableau 3.1: Liste des attaques exécutées et durée [44]

Attaque Durée Attaquant Victime

Attaque de force brute Un jour Kali linux Ubuntu 16.4 (serveur Web)

Attaque DOS Un jour Kali linux Ubuntu 16.4 (Apache)

Attaque DOS Un jour Kali linux Ubuntu 12.04 (SSL ouvert)

Attaque Web Deux Kali linux Ubuntu 16.4 (serveur Web)


jours

Attaque par infiltration Deux Kali linux Windows Vista et Macintosh


jours

Attaque de botnet Un jour Kali linux Windows Vista, 7, 8.1, 10 (32


bits) et 10 (64 bits)

DDoS+PortScan Deux Kali linux Windows Vista, 7, 8.1, 10 (32


jours bits) et 10 (64 bits)

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.

3.1.3.4. Visual Studio Code


Visual Studio Code est un éditeur de code extensible développé par Microsoft pour
Windows, Linux et MacOS. Les fonctionnalités incluent la prise en charge du débogage, la
mise en évidence de la syntaxe, la complétion intelligente du code, les snippets, la
refactorisation du code et Git intégreé.

3.1.4. Langage, Librairies


3.1.4.2. Python (3.7)
Le langage Python doit sa popularité à plusieurs avantages qui profitent aussi bien aux
débutants qu’aux experts. Tout d’abord, il est facile à apprendre et à utiliser. Ses
fonctionnalités étant peu nombreuses, il permet de créer des programmes rapidement et avec
peu d’efforts. En outre, sa syntaxe a été conçue pour être lisible et simple [45].

3.1.4.3. Choix des bibliothèques


• Pandas (version utilisée 1.0.5) : La bibliothèque logicielle open-source Pandas est
spécifiquement conçue pour la manipulation et l’analyse de données en langage Python. Elle
est à la fois performante, flexible et simple d’utilisation. Grâce à Pandas, le langage Python
permet enfin de charger, d’aligner, de manipuler ou encore de fusionner des données. Les
performances sont particulièrement impressionnantes quand le code source back-end est écrit
en C ou en Python.
• Mlxtend (0.17.2) : La bibliothèque MLxtend (extensions Machine Learning) possède
de nombreuses fonctions intéressantes pour l'analyse de données quotidienne et les tâches
d'apprentissage automatique. Bien qu'il existe de nombreuses bibliothèques d'apprentissage
automatique disponibles pour Python, MLxtend offre des fonctionnalités supplémentaires et
peut être un ajout précieux à votre boîte à outils de science des données. Elle est utilisée pour
la sélection d’attributs
• Scikit learn (version utilisée 0.21.3) : Est une bibliothèque d'apprentissage machine,
Elle comprend notamment des fonctions pour estimer des forêts aléatoires, des régressions
logistiques, des algorithmes de classification, et les machines à vecteurs de support. Elle est
50
conçue pour s'harmoniser avec d'autres bibliothèques libres Python, notamment NumPy c‘est
le moteur de beaucoup d’application de l’intelligence artificielle et de science des données.
• Numpy (version utilisée 1.18.5) : extention de python, elle permet de créer directement
un tableau depuis un fichier ou au contraire de sauvegarder un tableau dans un fichier, et
manipuler des vecteurs, matrices et polynomes
• Matplotlib (version utilisée 3.2.1) : C’est une bibliothèque de traçage de graphique
python 2D capable de générer des histogrammes, des spectres de puissance, des graphiques a
barre, différents diagrammes avec seulement quelques lignes de code
• Streamlit : Le Framework d’application open source de Streamlit est le moyen le plus
simple pour les scientifiques des données et les ingénieurs en apprentissage automatique de
créer de belles applications performantes en quelques heures seulement ! Le tout en Python pur.
Le tout gratuitement permettant de générer des interfaces graphiques et rendre le modèle
utilisable par d’autres utilisateurs

3.1.5. Algorithmes utilisés pour le modèle


KNN, Naïve Bayes, SVM, Forêt Aléatoire, Arbre De Décision et Logistic Reggresion sont
utilisés comme des classificateurs dans notre projet.

3.2. Métriques de performance utilisées


𝑇𝑃
• Précision : 𝑝𝑟é𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑇𝑃+𝐹𝑃 (8)

𝑇𝑃
• 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.

Figure 3.2: schéma synoptique du processus d’apprentissage du système

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.

Ce processus a présenté plusieurs étapes à prendre en compte lors du prétraitement des


données brutes de trafic réseau pour l'exploration de données (par exemple, faire des
prévisions), Certaines de ces étapes sont essentielles, d'autres peuvent être facultatives, A fourni

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.

3.3.2. La sélection d’attributs


Du nombre total d’attributs basés le flux obtenus à l’étape précédente, deux groupes de
caractéristiques ont été sélectionnées conformément aux recherches précédentes. Le premier
groupe de huit caractéristiques a été choisi selon la méthodologie introduite par Sharafaldin et
al. [46], où un Random Forest Regressor a été utilisé pour obtenir les métriques
comportementales (Subflow_Fwd_Byts, Subflow_Bwd_Byts, TotLen_Fwd_Pkts,
TotLen_Bwd_Pkts, Fwd_Pkt_Len_Mean, Bwd_Pkt_Len_Mean, Fwd_Pkts/s et Bwd_Pkts/s)
décrit dans le tableau 3.2. Le deuxième groupe de neuf fonctionnalités a été ajouté en fonction
de la méthodologie présentée par Gonzalez-Cuautle et al. [46] où l'ensemble de données CSE-
CIC-IDS2018 était utilisé (Src_Port, Dst_Port, Flow_Duration, Flow_Byts/s, Flow_Pkts/s,
Tot_Fwd_Pkts, Tot_Bwd_Pkts, Subflow_Bwd_Pkts et Subflow_Fwd_Pkts). Deux
fonctionnalités ont été sélectionnées à l'aide de 'feature_importances', critère pour améliorer la
précision de l'algorithme Random Forest—Fwd Pkt Len Max et Fwd Pkt Len Min. Enfin, deux
fonctionnalités ont été ajoutées à nos propres critères pour fournir plus d’informations :
"Protocole et étiquette". Par conséquent, le jeu de données CIC-AWS-2018 comporte 19
variables d'entrée et une variable de sortie

Tableau 3.2: Fonctionnalités de classification utilisées [44].

Taper Nom de la Description


fonctionnalité
Métriques Etiquette (sortie) Classe attribuée aux différents échantillons
descriptives de logiciels malveillants
Port d’heure d’été Numéro de port de destination
Protocole Protocole de transport
Métriques Flow_duration Durée du flux en micro secondes
comportementales Tot_fwd_pkts Nombre total de paquets transmis dans le
sens aller
Tot_Bwd_Pkts Nombre total de paquets transmis dans le
sens inverse
Totlen_bwd_pkts Taille totale de paquets transmis dans le
sens direct
53
Totlen _fwd_pkts Taille totale de paquets transmis dans le
sens inverse
Avant pkt len max Taille max de paquets dans le sens aller
Avant pkt len min Taille min de paquets dans le sens aller
Fwd_pkt_len_mean Taille moyenne de paquets transmis dans le
sens direct
Bwd_pkt_len_mean Taille moyenne de paquets transmis vers
l’arrière
Flow_byts/s Nbre d’octets par seconde
Flow_pkts/s Nbre de paquets de flux par seconde
Fwd_pkts/s Débit de paquets de flux transmis à aller par
seconde
Bwd_pkts/s Débit de paquets de flux transmis à arrière
par seconde
Subflow_fwd_byts Nbre moyen d’octets dans un sous flux vers
l’avant
Subflow_bwd_byts Nbre moyen d’octets dans un sous flux vers
l’arrière
Subflow_bwd_pkts Nbre moyen de paquets dans un sous flux
vers l’avant
Subflow_fwd_pkts Nbre moyen de paquets dans un sous flux
vers l’arrière

3.3.3. Construction de modèles d'apprentissage automatique


L'objectif principal est de connaitre si les informations reçues dans le flux appartiennent
à un trafic bénin, anormal ou malveillant. Ceci étant la cible principale de la classification
supervisée, il est question de trouver le meilleur modèle de classification qui correspond à
l’ensembles de données. Étant donné que la proposition a introduit un nouveau modèle de
référence pour la détection d’intrusion ou d’anomalies basé sur le flux de trafic, il devrait servir
d’éléments préliminaires d'analyse comparative pour d'autres applications, devant donc
répondre aux exigences suivantes :

i. Ils doivent être des solutions adoptées tôt ;

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.

Ce chapitre présente le dispositif expérimental défini pour effectuer nos comparaisons


expérimentales. Nous avons présenté notre ensemble de données et la façon dont nous l'avons
divisé en ensemble de formation et d'essai afin de réaliser l'évaluation de notre système. Nous
avons également présenté les outils que nous avons utilisés pour mener notre expérience et la
topologie de notre système. Nous avons souligné le fait que notre étude expérimentale repose
sur différents ensembles de caractéristiques spectrales et de modèles d'apprentissage machine.

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.

4.1. Résultats et interprétation

4.1.1. Première expérience


Les algorithmes ici sont utilisées avec les méthodes par défauts définis dans la
bibliothèque scikit-learn, aucun preprocessing n’est effectué et les tests sont effectuées sur des
données de types integer et de types float.

Tableau 4.1: Résultats de classification machine learning sans preprocessing

Algorithme Accuracy score

KNN 87%

SVM 68%

Random Forest 89%

Decission Tree 88%

Bayesien naïve 65%

SGDC regression 62%

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

4.1.2. Deuxième expérience


Dans cette étape, nous avons fait une expérimentation machine learning sur notre
ensemble de données de type float et integer sans faire passer par la sélection d’attributs. La
répartition de l’ensemble a été faite sur 3 méthodes (K_fold, Shuffle_splits, stratified K_fold)
de cross validation avec K=10 le score moyenne pour chaque méthode a été recueillir, nous
avons aussi recueilli le meilleur score obtenu sur chaque algorithme pour une valeur de K=100.

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

K_Fold Shuffle_split Stratified K_Fold

KNN 86,83% 81,36% 86,82%

SVM 65,95% 65,78% 65,93%

RF 89,17% 89,92% 89,48%

DT 88,77% 88,91% 88,63%

BN 62,32% 62,17% 62,35%

SGDC 65,47% 68,28% 67,37%

57
Tableau 4.3: Résultats de classification machine learning sans sélections d’attributs avec 100
splits cross validation

K_Fold Shuffle_split Stratified K_Fold

KNN 97,50% 89,13% 97,50%

SVM 82,5% 68,87% 82,5%

RF 100% 94,00% 100%

DT 97,50% 91,38% 100%

BN 82,50% 68,625% 80,00%

SGDC 85,00% 77,12% 85,00%

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.

Figure 4.2: scores moyens de précision

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.

Tableau 4.4: Les mesures de performances obtenues

Algorithme Accuracy score

KNN 90%

SVM 80%

Random Forest 92%

Decission Tree 91%

Bayesien naïve 70%

SGDC regression 74%

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.

Figure 4.3: score accurrency des algorithmes d’apprentissage


59
Courbe d’apprentissage du Random Forest
La courbe d’apprentissage montre l’évolution de la machine au cours de la phase
entrainement et de validation, les 2 courbes évoluent de facon croissante permettant ainsi
d’éviter les problèmes overfutting, mais on remarque un certain écart entre ces 2 courbes
montrant qu’il nous faudrai plus de données pour améliorer notre modèle.

Figure 4.4: Courbe d’apprentissage du Random forest

4.2. Présentation de la solution


Comme présenté à la figure 3.4, nous avons mis sur pied notre solution grâce aux
algorithmes d’apprentissage qui pourra améliorer l’analyse du trafic garantissant ainsi une
meilleure sécurité du réseau. En effet, il a été développé pour être accessible via une interface
graphique de gestion pour les gérants et ses administrateurs au sein de l’entreprise.

4.2.1. Mise sur pied du Prototype


a) Valeur de Hyperparamètre
Le modèle ayant présenté les meilleures performances est celui du Random Forest, les
algorithmes de GridSearch ont été utilisé pour déterminer les meilleurs Hyperparamètres de
celui-ci, nous avons évalué le nombre estimateur nécessaire pour obtenir la meilleure
performance et nous avons obtenu 66. Nous avons obtenu comme meilleur performance 97,27%
avec cet hyperparamètre. Ces données seront directement insérées comme valeur par défaut
dans la machine pendant sa phase de conception.
b) Organigramme Fonctionnel
La figure 4.5 ci-dessous présente les toutes les phases du fonctionnement du prototype
d’analyse. Commençant tout d’abord par une importation de données, ensuite une analyse de
ces données et enfin une prise d’action en fonction des résultats obtenu.

60
Figure 4.5: Organigramme fonctionnel prototype de l’outil d’analyse

4.2.2. Présentation d’interface Homme Machine


Les interfaces ont été développé à partir du Framework Streamlit, et le prototype comporte 4
pages parmis lesquels :

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

Figure 4.6: Page d’accueil Prototype


61
• Une page de connexion : Cette page permettra de faire une authentification pour pouvoir avoir
accès à la page de réglages et d’ajout d’utilisateur.

Figure 4.7: Page de connexion du Prototype

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

Figure 4.8: Page de paramétrage du model

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.

Figure 4.9: Test d’un échantillon de données

4.3. Estimation du coût de développement

4.3.1. Estimation du coût des équipements


Le tableau 4.10 présente la liste des équipements nécessaires à la réalisation de notre travail.
Les montants donnés sont pris en FCFA.
Tableau 4.5: Détails des besoins matériels et logiciels pour la réalisation du projet

DESIGNATION CARACTERISTIQUES PRIX QUANTITE PRIX TOTAL


MINIMALES UNITAIRE

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

4.3.2. Estimation du coût de développement


a) Contexte du développement d’une application
Toute application développée se fait en fonction de la demande du client. Cette demande
est rédigée par un ingénieur informaticien. La précision de ce contexte nous permet de
comprendre des notions telles que le cout de développement ou le contrat des besoins du client.
b) Estimation de la charge
Barry W. Boehm propose en 1981 une méthode (COCOMO : Constructive Cost Model) basée
sur la corrélation entre la taille d’un projet et sa charge en fonction des hypothèses suivantes :
• Il est facile à un informaticien d'estimer le nombre de lignes source.
• La complexité d'écriture d'un programme est la même quel que soit le langage de
programmation.
➢ Formules

Les formules suivantes permettent d’estimer la charge et le délai d’un projet :


𝐸𝑓𝑓𝑜𝑟𝑡 = 𝑎. (𝐾𝐿𝑆)𝑏 (13)
𝐷𝑒𝑙𝑎𝑖 = 𝑐. (𝐸𝑓𝑓𝑜𝑟𝑡)𝑑 (14)
Avec :
𝐾𝐿𝑆 égale au nombre de milliers de ligne sources
𝑎, 𝑏, 𝑐, 𝑑 des paramètres dépendants de la catégorie du projet
➢ Classification

Projet simple : 𝑙𝑖𝑔𝑛𝑒𝑠


Projet moyen : 𝑙𝑖𝑔𝑛𝑒𝑠
Projet complexe : 𝑙𝑖𝑔𝑛𝑒𝑠

Tableau 4.6 : Classification des paramètres en fonction du type de projet

TYPE DE PROJET CHARGE EN M/h DELAI EN M

Simple a = 2,4 ; b =1,05 c = 2,5 ; d = 0,38

Moyen a = 3,0 ; b =1,12 c = 2,5 ; d = 0,35

Complexe a = 3,6 ; b =1,20 c = 2,5 ; d = 0,32

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.

Tableau 4.7: Coût de productivité de l'application

NOMBRE DE LIGNES A/h HEURES COÛT

10 000 0,67 904,5 6 950 000

Du coût estimatif des équipements et de la productivité du logiciel, on obtient un total


estimatif de 7 800 000 FCFA.

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 :

Tableau 4-8: Coût total estimatif du projet


TOTAL ESTIMATIF MAIN D’ŒUVRE DE COUT TOTAL ESTIMATIF
L’INGENIEUR DU PROJET

7 800 000 FCFA. 2 340 000 FCFA 10 140 000 FCFA

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

[1] «IDS-IPS,» 14 juin 2020. http://igm.univ-


mlv.fr/~dr/XPOSE2007/plebacco_ids/A_enjeux.html. [Accès le 3 mai 2022].

[2] «Viettel Cameroon,» Mars 2017. http://viettelglobal.vn/globals/cameroon-1.html.

[3] M. Madina, «CONCEPTION ET MISE EN ŒUVRE D’UN SYSTEME DE


CLASSIFICATION DU TRAFIC RESEAU CRYPTE,» 2020.

[4] «Réussir son CCNA,» MAI 2022. https://reussirsonccna.fr/principe-basique-de-la-


commutation-et-du-routage/.

[5] Z. JUBA, «Analyse et classification du trafic réseau,» 2018.

[6] «ciberview,» février 2020. https://www.cyberview.fr/le-routage.

[7] «Le cahier de l'administrateur Debian,» mars 2021. https://debian-


handbook.info/browse/fr-FR/stable/sect.dynamic-routing.html.

[8] A. L. rosa, «Pandora FMS,» Octobre 2020.://pandorafms.com/blog/fr/analyse-du-trafic-


reseau/.

[9] A. Gupta, «motadata,» mai 2022. https://www.motadata.com/fr/blog/netflow-traffic-


monitoring.

[10] A. L. DeCarlo, «Techtarget,» 2020. https://www.techtarget.com/contributor/Amy-


Larsen-DeCarlo. [Accès le mai 2022].

[11] A. L. DeCarlo, «Lemagit,» 17 Fevrier 2020. https://www.lemagit.fr/conseil/Comment-


lanalyse-du-trafic-reseau-ameliore-la-
securite?msclkid=9d8920a3d13711ecb76e06f860095d6e. [Accès le 15 Juin 2022].

[12] «Noction network intelligence,» 18 Oct 2021. https://www.noction.com/blog/trafic-


reseau-netflow-sflow-ipfix-netstream. [Accès le 9 mai 2022].

[13] S. Petryschuk, «Auvik,» 19 mars 2019.: https://www.auvik.com/franklyit/blog/netflow-


basics/. [Accès le 24 janvier 2021].

[14] S. VATON, Mesure et Analyse du Trafic de Réseaux, Brest, 2013.

[15] M. d. f. Chine, «CCGP,» 7 janvier 2015.


http://www.ccgp.gov.cn/specialtopic/wlaq/gnlx/201501/t20150107_4909279.htm.
[Accès le juillet 2022].

xiii
[16] «interhack net,» 2021. http://www.interhack.net/pubs/network-security/. [Accès le mai
2022].

[17] «Sawakinome,» 2021. https://fr.sawakinome.com/articles/technology/difference-


between-dos-and-ddos-attack.html. [Accès le 2 juillet 2022].

[18] Kaspersky, «Kaspersky,» 16 janvier 2019. https://www.kaspersky.fr/resource-


center/definitions/brute-force-attack. [Accès le 15 mars 2022].

[19] «cloudflare,» 14 janvier 2021.


https://www.cloudflare.com/img/learning/security/threats/sql-injection-attack/sql-
injection-infographic.png. [Accès le 24 mai 2022].

[20] microsoft, «microsoft azure,» 14 juin 2022. https://docs.microsoft.com/fr-


fr/azure/application-gateway/overview. [Accès le 1 mai 2022].

[21] «frame ip,»: https://www.frameip.com/firewall/ .

[22] «researchgate,» https://www.researchgate.net/figure/Structure-of-the-hybrid-firewall-


system_fig4_357070544.

[23] «huawei.com,» 2021. https://forum.huawei.com/enterprise/fr/comparaison-et-


diff%C3%A9rences-entre-ips-vs-ids-vs-firewall-vs-waf/thread/778991-1003.

[24] S. Marius, «emarketing,» 12 mars 2021. https://www.e-


marketing.fr/Definitions%20Glossaire/Machine-learning-305604.htm. [Accès le 14
janvier 2022].

[25] S. Sukanya, «Medium,» 6 octobre 2020. https://medium.com/analytics-vidhya/which-


machine-learning-algorithm-should-you-use-by-problem-type-a53967326566. [Accès
le 16 mai 2022].

[26] P. Pedamkar, «EDUCBA,» 2022. https://www.educba.com/machine-learning-models/.


[Accès le 18 juin 2022].

[27] M. Waseem, «edureka,» 15 juillet 2021. https://www.edureka.co/blog/logistic-


regression-in-python/. [Accès le mars 2022].

[28] A. R., «datascientest,» 2020. https://datascientest.com/regression-logistique-quest-ce-


que-cest.

[29] U. Malik, «stackabuse,» 13 juin 2020. https://stackabuse.com/implementing-svm-and-


kernel-svm-with-pythons-scikit-learn/. [Accès le 14 mars 2022].

[30] «scikitlearn,» 2021. https://scikit-learn.org/stable/modules/tree.html.

[31] K. N, «IA,» 19 novembre 2020.


https://ai538393399.wordpress.com/2020/11/19/random-forest-algorithm/. [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].

[33] S. d. Simseo, «SIMSEO,» 26 mai 2022. https://simseo.fr/apprentissage-par-


renforcement-pour-les-debutants/. [Accès le 12 mai 2022].

[34] Y. Chaouche, «OC,» 05 janvier 2022. https://openclassrooms.com/fr/courses/4011851-


initiez-vous-au-machine-learning/4020631-exploitez-votre-jeu-de-donnees. [Accès le
16 mars 2022].

[35] C.-A. Azencott, «OC,» 30 septembre 2021.


https://openclassrooms.com/fr/courses/4297211-evaluez-les-performances-dun-
modele-de-machine-learning. [Accès le 1 juin 2022].

[36] E. Allibhai, «Medium,» 3 octobre 2018. https://medium.com/@eijaz/holdout-vs-cross-


validation-in-machine-learning-7637112d3f8f. [Accès le 15 mai 2022].

[37] M.-R. k. Bouguelia, «studylib,» 2015.

[38] G. A. Thuy T.T. Nguyen, «A Survey of Techniques for Internet Traffic Classification
using Machine Learning,» australie, 2008.

[39] H. B. G. C. P. K. Claffy, «Une méthodologie paramétrable pour le profilage des flux de


trafic Internet,» 1995.

[40] W. Wang, Y. Sheng et J. Wang, «HAST-IDS : Apprentissage des caractéristiques spatio-


temporelles hiérarchiques à l’aide de réseaux de neurones profonds pour améliorer la
détection des intrusions,» 2017.

[41] M. Lopez-Martin, B. Carro et A. Sanchez-Esguevillas, «Classificateur de trafic réseau


avec réseaux de neurones convolutifs et récurrents pour l’Internet des objets,» 2017.

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

[44] «UNB,» 2018. https://www.unb.ca/cic/datasets/ids-2018.html. [Accès le 1 mai 2022].

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

[46] I. Sharafaldin, A. Lashkari et Ghorbani, Toward generating a new intrusion detection


dataset and intrusion traffic characterization, 2018.

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.

[48] D. Gonzalez-Cuautle et A. Hernandez-Suarez, Synthetic minority oversampling


technique for optimizing classification tasks in botnet and intrusion-detection-system
datasets. Appl. Sci., 2020.

[49] Q. Zhou et D. Pezaros, Evaluation of Machine Learning Classifiers for Zero-Day


Intrusion Detection—An Analysis on CIC-AWS-2018 dataset. arXiv 2019,
arXiv:1905.03685., 2019.

[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

Figure 1.A: TAP réseau [Tester le point d'accès]

Figure 2.A: SPAN [analyseur de port de commutation]

Figure 3.A: Capture d’écran du dataset utilisé dans Jupiter Notebook

xvii
Figure 4.A : Phase d’encodage

Figure 5.A : K_fold cross validation

Figure 6.A: Selection d’attribut à partir de l’algorithme de Random Forest Regressor

xviii
Figure 7.A: preprocessing

Figure 8.A : SVM Accurancy

Figure 9.A: Nombre estimateur pour la meilleure performance

Figure 10.A: Nombre estimateur pour la meilleure performance

xix
Figure 11.A: Matrice de Confusion Random Forest

xx

Vous aimerez peut-être aussi