Vous êtes sur la page 1sur 31

République Algérienne démocratique et populaire

Ministère de l’enseignement supérieur et de la recherche scientifique


Université SAAD DAHLAB de BLIDA
 Faculté de Technologie
 Département d’Électronique

SOUTENANCE POUR L’OBTENTION DU DIPLÔME DE MASTER


En Télécommunication
Spécialité : Réseaux et télécommunications

DÉTECTION D'INTRUSIONS
RÉSEAUX EN UTILISANT LE
MACHINE LEARNING
Présenté par : Encadré par :
LIZLI Rafik Mr Y.Kabir
KECIOUR Anes
Plan de travail.

01 02 03
Introduction Position de problème Etat de l’art

04 05 06
Implementation Test et résultats Conclusion
01
Introduction.
Introduction.
.
• Le concept de surveillance de l'activité des utilisateurs à travers les journaux et les
enregistrements informatiques a été introduit en 1980 par Jim Anderson

• Depuis lors, les systèmes de détection d'intrusions (IDS) ont été développés pour suivre
l'utilisation croissante d'Internet et ses vulnérabilités. Le premier système de détection
d'intrusion en temps réel, Intrusion Detection Expert System (IDES), a été développé en
1986.
• Depuis lors, les IDS ont connu une amélioration constante en termes de performance et de
précision, offrant aux utilisateurs un choix varié.
• Cependant, les IDS ont également été confrontés à des défis, notamment les techniques d'évasion
des attaquants et la génération de faux positifs.
• Pour y faire face, de nouvelles approches basées sur l'apprentissage automatique ont été
développées. Malgré ces défis, les IDS restent essentiels pour détecter les activités suspectes et
assurer la sécurité des réseaux et des systèmes informatiques.
1
Introduction.

• En 1959, Arthur Samuel a fait une proposition concernant l'application de l'apprentissage


automatique (machine learning)

• le Machine Learning est un processus automatisé qui permet aux machines de résoudre des
problèmes et de prendre des décisions basées sur des observations passées

• Il est largement utilisé dans diverses industries pour l'analyse de données et l'automatisation de
tâches.

• L'utilisation du Machine Learning peut améliorer l'efficacité de la détection d'intrusion et


renforcer la sécurité des entreprises.
2
02
Position de
problème .
Position de problème.

• Les intrusions réseau font référence à des activités


malveillantes visant à accéder, compromettre ou perturber
un système informatique ou un réseau.
• Il existe quatre grandes catégories d'attaques en réseau. Chaque
attaque sur un réseau peut être classée dans l'une de ces
catégories.

• Déni de service (DoS)


• Attaques à distance sur un utilisateur (R2L)
• Attaques d'utilisateur à super-utilisateur (U2R)
• Une Sonde
3
Position de problème .
Défis actuels dans la détection d'intrusions :
• Volume de données : Les réseaux génèrent d'énormes quantités de données, ce qui rend difficile la détection
des activités malveillantes ,
• Complexité des attaques : Les attaquants utilisent des techniques sophistiquées pour éviter la détection , Ces
techniques rendent difficile la détection des intrusions à l'aide de méthodes traditionnelles.
• Évolution des attaques : Les attaques évoluent constamment, de nouvelles vulnérabilités sont découvertes et
de nouvelles techniques sont développées. Les systèmes de détection doivent être en mesure de s'adapter
rapidement aux nouvelles menaces..
• Réduction des faux positifs dans la détection d'intrusions grâce à l'apprentissage automatique et au deep
learning, améliorant la précision de la détection et focalisant sur les véritables intrusions.

4
03
Etat de l’art.
Revue de la littérature .
• Des travaux de recherche ont montré que les algorithmes de ML peuvent
considérablement améliorer les performances de détection d'intrusions.
• Des articles tels que "A Survey of machine learning for big data processing in
intrusion detection systems" (Nguyen et al., 2018) et "Intrusion detection using
machine learning techniques: A comprehensive review" (Mirjalili et al., 2021) ont
démontré l'efficacité des méthodes de ML dans la détection d'intrusions.
• Il est important d'utiliser des approches adaptées aux spécificités de chaque système
pour obtenir les meilleurs résultats de détection d'intrusions. (Tavallaee et al., 2019)
• La qualité des données utilisées pour entraîner les modèles de Machine Learning est
essentielle. (Idowu et al., 2020)

5
L'intelligence artificielle.
• L'intelligence artificielle (IA) vise à créer des systèmes informatiques
capables d'effectuer des tâches nécessitant normalement l'intelligence
humaine.
• L'IA repose sur l'utilisation de données comme base fondamentale de son
fonctionnement.
• Les systèmes d'IA utilisent le machine learning et le deep learning pour
apprendre à partir de ces données et accomplir des tâches de manière
autonome.
• L'IA peut être utilisée pour diverses tâches telles que la reconnaissance
d'objets, la traduction, la prédiction ou la détection d'anomalies.
6
04
Implémentation.
La base de données utilisées .

Le jeu de données NSL-KDD est une proposition visant à résoudre certains problèmes du jeu de
01 données KDD'99. Bien qu'il présente encore quelques limitations, il peut être utilisé comme un
ensemble de données de référence efficace pour la comparaison de différentes méthodes de détection
d'intrusions, en l'absence d'autres ensembles de données publics pour les systèmes de détection
d'intrusions basés sur le réseau.

Le jeu de données NSL-KDD contient 42 caractéristiques et 5 classes, comprenant une classe


02 normale et quatre types d'attaques : DoS, Probe, R2L et U2R. Les attaques DoS visent à surcharger
les ressources du système, les attaques Probe cherchent à obtenir des informations sur le réseau, les
attaques U2R exploitent des vulnérabilités pour obtenir un accès root, tandis que les attaques R2L
exploitent des vulnérabilités pour obtenir un accès utilisateur sur la machine cible.

7
Les outils uilisés.
Python
Langage de programmation polyvalent, interprété et
populaire.

Kaggle
Plateforme en ligne pour compétitions de
données.

Jupyter Notebook
Application web pour code interactif
et collaboration.
8
logistique régression.
• La régression logistique est un algorithme
d'apprentissage automatique largement utilisé dans le
domaine de la classification.
• Elle utilise une fonction logistique en forme de "S" pour
prédire des valeurs probabilistes entre 0 et 1.
• Elle permet d'identifier les comportements anormaux et
de détecter les intrusions dans les systèmes
informatiques.
Training Precision : 86.648% Test Precision 86.687%
Training Recall : 87.068% Test Recall : 86.680%
Training Accuracy : 87.758% Test Accuracy 87.517% 9
KNN (k-nearest neighbors).
• L'algorithme des k-plus proches voisins (KNN) est une
méthode simple et efficace d'apprentissage automatique
supervisé.
• C'est un algorithme paresseux, ce qui signifie qu'il
stocke les données d'entraînement et les utilise
directement lors de la phase de classification.
• En ce qui concerne la détection d'intrusion, la méthode
KNN est utilisée pour analyser les caractéristiques des
données réseau.

• Training Accuracy : 99.052% Test Accuracy : 98.936%


• Training Precision : 99.225% Test Precision : 99.056%
• Training Recall : 98.731% Test Recall : 98.671%
10
Naive Bayes.
• Le Naïve Bayes est un algorithme d'apprentissage supervisé
utilisé pour la classification.
• Il est basé sur le théorème de Bayes et est principalement
utilisé dans la classification de texte avec de grandes
quantités de données.
• Il est également utilisé pour la détection d'intrusion dans les
systèmes de sécurité informatique.
• (Training Precision) : 92.626% (Test Precision) : 92.532%
• (Training Recall) : 89.479% (Test Recall) : 89.296%
• (Training Accuracy) : 91.802% (Test Accuracy) : 91.605%

11
SVM (Support Vector Machine)

• L'algorithme des Machines à Vecteurs de Support (SVM) est


utilisé pour la classification en créant un hyperplan pour séparer
les données en différentes classes.
• Il cherche à maximiser la marge entre l'hyperplan et les points
les plus proches de chaque classe.
• Les SVM sont largement utilisés dans la détection d'intrusion

• Training Accuracy : 96.901% Test Accuracy : 96.733%


• Training Precision : 97.502% Test Precision : 97.191%
• Training Recall : 95.784% Test Recall : 95.800% 1
Arbre de Décision (Decision Tree).
• L'arbre de décision est un outil puissant et populaire pour la
classification et la prédiction.
• Un arbre de décision est structure arborescente utilisée pour
tests attributs et étiquettes de classe.
• Le surajustement est un défi courant des arbres de décision,
mais peut être atténué grâce à l'utilisation de l'algorithme de
random forest (forêt aléatoire),

• Training Accuracy : 99.994% Test Accuracy : 99.877%


• Training Precision : 100% Test Precision : 99.848%
• Training Recall : 99.987% Test Recall : 99.890%

1
Random forest.
• Random Forest est une méthode d'apprentissage supervisé
utilisée pour la classification et la régression.
• Elle combine plusieurs classificateurs pour améliorer les
performances du modèle.
• Les prédictions de chaque arbre sont combinées par vote
majoritaire. Cela permet d'obtenir une meilleure précision en
évitant le surajustement.
• Elle est aussi une méthode utilisée pour détecter les intrusions

• Training Accuracy : 99.994% Test Accuracy : 99.881%


• Training Precision : 99.994% Test Precision : 99.941%
• Training Recall : 99.994% Test Recall : 99.805% 14
XGBoost.
• XGBoost est un algorithme d'apprentissage automatique basé
sur des arbres de décision.
• Il utilise la technique de boosting pour entraîner de manière
séquentielle plusieurs modèles, corrigeant ainsi les erreurs
des modèles précédents.
• Grâce à l'utilisation d'arbres de décision et de techniques de
boosting, XGBoost améliore la précision de la détection et
permet une meilleure identification des intrusions dans les
systèmes informatiques.
• Training Accuracy : 99.991% Test Accuracy : 99.916%
• Training Precision : 99.989% Test Precision : 99.932%
• Training Recall : 99.991% Test Recall : 99.889% 1
RNA (Réseau de Neurones Artificiels)
• Les RNA sont utilisés dans diverses tâches d'apprentissage
automatique, notamment la classification, la régression et la
reconnaissance de formes.,
• Les RNA sont des modèles computationnels inspirés du
fonctionnement du cerveau humain, composés de neurones
artificiels interconnectés.
• Les RNA sont entraînés à reconnaître les schémas et les anomalies
dans les données réseau, permettant d'identifier les intrusions de
manière efficace et précise.
• Training Accuracy : 97.826% Test Accuracy : 97.729%
• Training Precision : 98.990% Test Precision : 99.358%
• Training Recall : 96.360% Test Recall : 95.774% 16
CNN (réseau de neurones convolutifs)
• Les réseaux de neurones convolutifs (CNN) sont utilisés pour la
vision par ordinateur et sont adaptés au traitement de données
• Les CNN fonctionnent grâce à la convolution, qui extrait des
caractéristiques en appliquant des filtres, et au pooling, qui réduit la
dimensionnalité des caractéristiques en sélectionnant les valeurs
maximales ou moyennes
• Dans la détection d'intrusion réseau, les CNN peuvent analyser le
trafic réseau et détecter des comportements suspects liés à des
activités malveillantes.
• Training Accuracy : 99.357% Test Accuracy : 99.412%
• Training Precision : 99.294% Test Precision : 99.434%
• Training Recall : 99.184% Test Recall : 99.387% 1
RNN (Réseau de Neurones
Récurrents).
• Les réseaux de neurones récurrents (RNN) sont efficaces pour la
prédiction de séquences, la traduction automatique et l'analyse de
sentiments.)
• Les réseaux LSTM (Long Short-Term Memory) sont une forme
spéciale de RNN capables d'apprendre des dépendances à long
terme.
• Les RNN et les LSTM sont adaptés à la détection d'intrusion
• Training Accuracy : 99.289% Test Accuracy : 99.239%
• Training Precision : 99.239% Test Precision : 99.294%
• Training Recall : 99.1846% Test Recall : 99.1845% 18
05
Test et Résultats.
RNN (Réseau de Neurones Récurrents)

Tableaux

19
RNN (Réseau de Neurones
Récurrents).

20
06
Conclusion.
Conclusion.
Cette étude met en évidence l'efficacité du machine learning et du deep learning pour détecter les intrusions
réseau. Les techniques traditionnelles sont dépassées par les avancées du machine learning, notamment les
réseaux de neurones profonds.
Les résultats montrent que ces techniques surpassent les approches traditionnelles en termes de plusieurs
facteurs . L'utilisation du machine learning présente un potentiel significatif pour améliorer la détection
d'intrusions réseau, permettant une détection rapide des attaques et une meilleure protection des réseaux.
Les contributions de cette étude résident dans l'évaluation et la comparaison des différentes techniques de
machine learning, ainsi que dans l'identification des limitations actuelles et des perspectives pour des travaux
futurs.

2
Perspective.
Pour de futures recherches, il est recommandé d'explorer :
• les architectures avancées de réseaux de neurones, notamment les réseaux adversaires génératifs (GAN), pour
améliorer la détection des attaques sophistiquées.
• L'intégration de l'intelligence artificielle, telle que l'apprentissage par renforcement, peut être explorée pour
développer des systèmes de détection d'intrusions adaptatifs et auto-améliorants.
• L'utilisation du machine learning dans la détection d'intrusions réseau offre un potentiel prometteur pour
renforcer la sécurité des réseaux informatiques. Une application mobile dédiée pourrait fournir une
surveillance en temps réel et des notifications d'intrusions potentielles, améliorant ainsi la protection des
utilisateurs contre les menaces présentes et futures.

22
Merci !
Pour votre attention !

Vous aimerez peut-être aussi