Rapport: Université Mohammed Premier, Oujda Faculté Multidisciplinaire, Nador Département D'informatique Maroc
Rapport: Université Mohammed Premier, Oujda Faculté Multidisciplinaire, Nador Département D'informatique Maroc
Rapport
Module : La sécurité des données
Data Science and Intelligent Systems .
Par
Rami Chaymae
Encadré par :
Prof EL Mekkaoui Khalid
2
Abstract
In today’s digital landscape, where online threats are constantly evolving and becoming increa-
singly sophisticated, Intrusion Detection Systems (IDS) play a fundamental role in preserving
the security and integrity of IT systems. IDSs are essential tools for continuously monitoring
network traffic, user activity and application behavior for suspicious or malicious activity. In
this project, we implemented an intrusion detection system (IDS) based on two machine lear-
ning models, namely Random Forest and Support Vector Machine (SVM). The main objective
of our work was to achieve effective detection of computer attacks within two distinct data-
sets, namely NSL KDD and CIC-IDS-2018, through the application of these machine learning
models, preceded by exploratory data analysis and appropriate pre-processing. To evaluate the
performance of our IDS, we subjected the system to attack tests, including a brute-force attack
on the SSH protocol. In addition, we deployed the CICFlowMeter framework to monitor and
analyze network traffic in real time. Whenever our IDS detects suspicious activity or an attack
attempt, it automatically generates an alert, notifying the administrators in charge of security.
3
Table des figures
4
Table des matières
Introduction générale 6
2 Bases de données 11
2.1 Introduction : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 NSL-KDD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.1 A propos du data : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.2 Analyse Exploratoire des Données (EDA) : . . . . . . . . . . . . . . . . 13
2.2.3 Preprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
[Link] Nettoyage et transformation des données . . . . . . . . . . . . . 15
[Link] Réduction de dimensions . . . . . . . . . . . . . . . . . . . . . 16
[Link] Création des collection d’entrainement et de test . . . . . . . . 16
2.2.4 Résultat des modéles : . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.5 Projet final en Knime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.6 Avantage et inconvénient de knime . . . . . . . . . . . . . . . . . . . . . 19
2.3 CSE-CIC-IDS2018 : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3 Déploiement : 22
3.1 CICFlowmeter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2 Attack SSH Brute Force . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.1 Définition : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.2 Moteur de script Nmap (NSE) : . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.3 Hydra : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3 Alerte d’avertissement : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Conclusion générale 26
5
Introduction générale
1. IDS basé sur les signatures : Ce type d’IDS compare les données collectées à une
base de données de signatures connues d’attaques ou d’anomalies. Si une correspondance
est trouvée, une alerte est déclenchée. Cependant, les IDS basés sur les signatures ont
tendance à être moins efficaces pour détecter de nouvelles menaces pour lesquelles il
n’existe pas encore de signature connue.
2. IDS basé sur le comportement : Les IDS basés sur le comportement surveillent les
modèles de trafic ou de comportement normaux sur le réseau ou le système. Ils identifient
les déviations par rapport à ces modèles et déclenchent des alertes en cas de comportement
anormal, même s’il n’y a pas de signature spécifique associée.
L’IDS est un outil complémentaire aux firewalls, les systèmes de prévention d’intrusion
(IPS) et les antivirus pour renforcer la sécurité globale d’un environnement informatique.
Dans le cadre de ce projet, nous avons entrepris l’implémentation d’un système de dé-
tection d’intrusion (IDS) basé sur deux modèles d’apprentissage automatique : Random Forest
et Support Vector Machine (SVM). Notre objectif principal était de détecter efficacement les
6
attaques informatiques sur deux ensembles de données, NSL KDD et CIC-IDS-2018, en utili-
sant ces modèles d’apprentissage automatique aprés une analyse exploratoire des données et
preprocessing. Afin d’évaluer les performances de notre IDS, nous avons réalisé des tests d’at-
taques, notamment une attaque de type SSH brute force. Nous avons également déployé le
framework CICFlowMeter pour surveiller et analyser le trafic réseau en temps réel. Lorsque
notre IDS détecte une activité suspecte ou une attaque, une alerte est générée pour avertir les
administrateurs de sécurité. Ce rapport présente en détail notre méthodologie, nos résultats et
nos conclusions, démontrant ainsi l’efficacité de notre système de détection d’intrusion dans la
protection des systèmes informatiques contre les menaces en ligne
7
1 Les modèles d’apprentissage automatique :
1.1 Introduction
L’apprentissage automatique, également connu sous le nom de machine learning, est une
discipline au sein de l’intelligence artificielle. Il repose sur l’idée fondamentale que les ordina-
teurs peuvent apprendre à partir de données et améliorer leurs performances dans des tâches
spécifiques sans une programmation explicite. Les systèmes d’apprentissage automatique uti-
lisent des algorithmes comme Random Forest, Support Vector Machine (SVM), les réseaux de
neuronnes,etc, pour analyser les données, identifier des modèles et prendre des décisions auto-
nomes. Ces modèles sont formés à l’aide de données d’entraînement, ajustant leurs paramètres
internes pour mieux représenter les caractéristiques et les relations des données. Une fois for-
més, ces modèles peuvent généraliser leurs connaissances pour effectuer des prédictions précises
sur de nouvelles données non vues. L’apprentissage automatique est devenu essentiel dans de
nombreux domaines, de la reconnaissance d’image à la recommandation de contenu, offrant des
solutions puissantes pour résoudre une gamme variée de problèmes complexes.
8
1.2.2 Bootstrap Aggregating :
En effet, l’arbre de décision est performant avec le jeu d’entraînement mais il n’est pas
assez flexible pour donner de bonnes performances sur des données de test. Or, le but des algo-
rithmes est de pouvoir classifier des données dont nous ne connaissons pas encore la prédiction.
Alors, RF ont vu le jour. Cet algorithme permet d’utiliser plusieurs arbres de décision afin de
créer une forêt et d’améliorer la généralisation de l’ensemble du modèle. Nous empruntons la
théorie de l’ensemble Learning, ce qui donne des modèles de meilleure qualité. La technique
utilisée est Bootstrap Aggregating(Bagging).
Le bagging est donc une méthode particulièrement mise en pratique pour améliorer l’ap-
prentissage des arbres de décision, considérés comme des classifieurs faibles car ils ont des
performances limitées et sont assez instables. Chaque arbre de décision est entraîné sur un
sous-ensemble du dataset et donne un résultat. Tous les arbres de décision aboutissent à des
résultats qui sont combinés afin de donner une réponse finale. Pour faciliter la compréhension,
nous pouvons dire que chaque arbre « vote » oui ou non. Et c’est la réponse finale qui obtient
la majorité de votes. En classification, nous parlons d’un “vote des modèles”.
Comme vous pouvez le voir, les arbres de décision sont assez intuitifs et leurs décisions
sont faciles à interpréter, nous appelons ce genre de modèle : des boîtes blanches. En revanche,
d’autres algorithmes comme RF sont généralement considérés comme des modèles de boîte
noire.
9
leur simplicité d’usage.
Le concept de frontière implique que les données soient linéairement séparables. Pour y
parvenir, les SVM font appel à des noyaux, c’est-à-dire des fonctions mathématiques permettant
de projeter et séparer les données dans l’espace vectoriel, les "vecteurs de support" étant les
données les plus proches de la frontière. C’est la frontière la plus éloignée de tous les points
d’entraînement qui est optimale, et qui présente donc la meilleure capacité de généralisation.
1.4 Conclusion
Dans la conclusion de ce chapitre, nous pouvons constater que Random Forest (Forêt
Aléatoire) et Support Vector Machine (Machine à Vecteurs de Support, SVM) sont deux mo-
dèles d’apprentissage automatique puissants et largement utilisés pour résoudre une variété de
problèmes. Chacun de ces modèles présente des avantages spécifiques et des domaines d’appli-
cation appropriés.
Random Forest est réputé pour sa capacité à gérer des ensembles de données complexes,
à identifier des relations non linéaires et à traiter des caractéristiques importantes. Il excelle
dans la classification et la régression, et est particulièrement résistant au surapprentissage.
D’un autre côté, SVM est connu pour sa capacité à trouver des frontières de décision
optimales dans des espaces de données de grande dimension. Il est efficace pour la classification
binaire et peut également être étendu à des problèmes de classification multiclasse. SVM est
apprécié pour sa robustesse en présence de données bruyantes et son efficacité dans la séparation
de classes linéairement non séparables grâce à des noyaux personnalisés.
10
2 Bases de données
2.1 Introduction :
Dans l’ère moderne de l’analyse de données et de la science des données, l’accès à une
multitude d’outils et de ressources est essentiel pour résoudre des problèmes complexes et
extraire des informations précieuses à partir de données hétérogènes. Ce chapitre se penche
sur l’exploration et l’analyse de deux ensembles de données distincts, une tâche qui exige une
approche polyvalente et une combinaison d’outils puissants. Nous explorerons l’utilisation de
deux de ces outils essentiels : KNIME, une plateforme d’analyse de données visuelle, et Python,
un langage de programmation polyvalent et puissant.
KNIME Analytics Platform est un logiciel libre et open source de type ETL (Extract
Transform Load) développé par la société suisse [Link] AG. C’est un véritable couteau
suisse de la Data Science !
Basé sur le concept « Low code / No code », cet outil puissant offre une large gamme
de fonctionnalités permettant, aux novices comme pour les experts de la donnée, d’élaborer
des workflows afin d’explorer, d’analyser et de transformer les données de manière efficace et
intuitive.
Principalement, il écrit à partir du langage compilé Java, KNIME Analytics Platform
fournit une portabilité sur l’ensemble des principaux OS du marché : Windows, Mac et Linux
(client lourd).
Le concept de KNIME Analytics Platform repose sur l’utilisation de nœuds interconnectés
pour représenter les différentes étapes du processus d’analyse de données.
11
Ces nœuds peuvent être combinés et configurés de manière flexible afin de créer des
workflows spécifiques de traitement des données.
Un workflow peut également être encapsulé dans un nœud spécifique appelé composant
afin d’en glober la complexité d’un processus de traitement.
Aujourd’hui, le KNIME met à disposition des utilisateurs :
— 16 608 Workflows
— 4 386 Nœuds
— 1 443 Composants
— 226 Extensions
2.2 NSL-KDD
2.2.1 A propos du data :
NSL-KDD, acronyme de "NSL-Knowledge Discovery in Databases" est une base de don-
nées largement utilisée dans le domaine de la sécurité informatique et de la détection d’intru-
sions. Cette base de données a été développée en réponse aux limitations de la célèbre base
de données KDD Cup 99, qui est devenue obsolète en raison de l’évolution des menaces et
des techniques d’intrusion. NSL-KDD a été conçue pour servir de banc d’essai plus réaliste et
plus actuel pour les chercheurs et les professionnels de la sécurité. Elle contient un ensemble
de données synthétiques basées sur le trafic réseau, avec une variété d’activités normales et
d’intrusions simulées.
Bien que cette nouvelle version de l’ensemble de données KDD souffre encore de certains
des problèmes et qu’elle ne soit peut-être pas parfaitement représentative des réseaux réels
existants, en raison du manque d’ensembles de données publiques pour les IDS basés sur les
réseaux, nous pensons qu’elle peut encore être utilisée comme ensemble de données de référence
efficace pour aider les chercheurs à comparer les différentes méthodes de détection des intrusions.
En outre, le nombre d’enregistrements dans les ensembles de formation et de test du
NSL-KDD est raisonnable, mais dans l’étude de la base de données, on fait la concaténation
de train data et set data.
Fichiers de données :
12
2.2.2 Analyse Exploratoire des Données (EDA) :
L’Analyse Exploratoire des Données (EDA) est une étape cruciale dans tout projet d’ap-
prentissage automatique. Elle consiste à explorer et à analyser en profondeur un jeu de données
pour en extraire des informations pertinentes et en comprendre la structure, les tendances et
les relations entre les différentes variables. L’EDA permet aux scientifiques des données et aux
analystes de mieux appréhender leurs données avant de les utiliser pour construire des modèles
prédictifs ou pour prendre des décisions éclairées.
L’objectif principal de l’EDA est de découvrir des motifs cachés, d’identifier des anoma-
lies, d’évaluer la qualité des données, de détecter des valeurs manquantes ou aberrantes, et de
comprendre les interactions potentielles entre les caractéristiques du jeu de données.
La variable cible est ’attack’. Cette variable joue un rôle central dans notre projet de pré-
diction précise des attaques, car elle détermine la classe à prédire. Il y’a 40 types d’attaques,
mais c’est possibles de les classer dans 5 classes :
On rearque ici qu’il y’a un déséquilibre entre les classes . On peut réduire le nombre de
classes à deux classes.
13
Nous avons constaté maintenant que les deux classes
cibles sont équilibrées. Cela signifie que le nombre d’ins-
tances appartenant à la classe 0 ’Normal’ est approxi-
mativement égal au nombre d’instances appartenant à la
classe 1 ’attaque’. En ayant des classes équilibrées, nous
nous assurons que notre modèle est exposé à un nombre
égal d’exemples positifs et négatifs lors de l’apprentissage,
ce qui lui permet de mieux généraliser et de produire des
prédictions plus justes et équilibrées pour les deux classes.
Cela améliore la performance globale du modèle et per-
met de mieux identifier les cas d’attaques.
Nous avons esnuite distingué les variables categorique et numerique présentes dans le
jeu de données. Parmi les variables categorique, nous avons identifié 3 variables de ce type
(’protocol_type’, ’flag’ , ’service’ ). En ce qui concerne les variables numerique, nous en avons
recensé ceux qui reste. Nous remarquons qu’il y a une variable avec une seule valeur possible .
Ensuite, nous avons résumé ses principales caractéristiques concernant les variables quan-
titatives. Nous avons déterminé leur valeur maximale (Max) et minimale (Min), ainsi que leur
moyenne et leur écart-type (Standard Deviation). Ces statistiques nous ont permis de mieux
comprendre la répartition des données dans chaque variable.
Enfin, nous avons également examiné le pourcentage des valeurs manquantes pour chaque
variable et les valeurs redandantes en utilisant les deux fonctions suivantes : [Link]().sum() ,
[Link]().sum() . Cela nous a permis d’identifier qu’il n y’a pas des valeurs manquantes
et qu’il existe 610 ligne deplicat .
Nous pouvons utiliser les "Count Plots". Ils sont des représentations visuelles qui per-
mettent d’afficher le nombre d’occurrences de chaque catégorie dans une variable catégorielle.
Ces graphiques sont particulièrement utiles pour explorer la distribution des valeurs dans une
variable catégorielle et pour obtenir un aperçu des fréquences relatives de chaque catégorie
14
Figure 2.6 – Le nombre d’occurrences de chaque catégorie dans quelques variables.
On remarque pour la variable ’protocol_type’ que la catégorie ’tcp’ est très peu fréquente
par rapport aux autres catégories. Ce déséquilibre peut avoir des implications importantes lors
de l’entraînement de modèles de machine learning, car le modèle pourrait avoir du mal à géné-
raliser correctement pour les catégories moins fréquentes.
Enfin, on peut déterminer la corrélation. C’est une mesure statistique qui évalue la rela-
tion ou l’association entre deux variables. Elle indique dans quelle mesure les changements dans
une variable sont liés aux changements dans une autre variable. On remaque qu’il y’a des fortes
corrélations significatives entre les variables dans une dataset, cela signifie que les fluctuations
ou les changements dans une variable sont linéairement associés aux fluctuations d’une autre
variable. Et voici les fortes corrélation trouvé :
2.2.3 Preprocessing
[Link] Nettoyage et transformation des données
D’aprés EDA , Il y a des lignes redondantes qu’ il faut supprimer par data.drop_duplicates().
Il faut encore supprimer le variable uniforme ’num_outbound_cmds’, et supprimer encore les
variables qui ont causer des fortes corrélation.
On a encore utiliser la fonction get_dummies() qui peut être très utile pour préparer
des données catégorielles pour l’apprentissage automatique, car elle permet de traiter les va-
riables catégorielles de manière numérique, ce qui peut améliorer les performances des modèles.
Puis, data est passé à la phase de la normalisation. La normalisation est une technique de
prétraitement des données utilisée en statistiques et en apprentissage automatique pour mettre
15
toutes les variables ou caractéristiques d’un ensemble de données sur une échelle commune. Il
existe différentes techniques de normalisation, mais l’une des plus couramment utilisées est la
"normalisation RobustScaler" et c’est le type qu’on a utilisé et se trouve dans la bibliothéque
sklearn.
16
Le code fourni utilise la fonction train_test_split de la bibliothèque scikit-learn pour
diviser un ensemble de données normalisées en ensembles d’entraînement et de test.
17
tement. Parmi les types de nœuds que nous avons exploité, on peut citer les nœuds de lecture de
données pour importer nos ensembles de données, les nœuds de transformation pour nettoyer
et préparer nos données, les nœuds de modélisation pour créer des modèles d’apprentissage au-
tomatique, et les nœuds de visualisation pour représenter graphiquement nos résultats. Grâce
à l’ensemble de fonctionnalités offertes par KNIME et à la diversité des nœuds à notre disposi-
tion, nous avons pu mener à bien notre projet d’analyse de données avec efficacité et précision,
et voici le résultat trouvé :
Les métanœuds (ou metanodes) sont une fonctionnalité puissante dans KNIME qui per-
met aux utilisateurs de regrouper des nœuds, des sous-flux de travail ou des opérations com-
plexes en une seule entité ou unité. Ils sont utilisés pour plusieurs raisons importantes dans
KNIME notemment organisation et structuration .
18
Figure 2.16 – MetaNode de Random Froset. Figure 2.17 – MetaNode de SVM.
2.3 CSE-CIC-IDS2018 :
L’ensemble de données final 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. Il com-
prend 80 caractéristiques extraites du trafic capturé à l’aide de CICFlowMeter-V3.
CSE-CIC-IDS2018 est une base de données qui contient un ensemble de fichiers CSV. Les
fichiers CSV sont couramment utilisés pour stocker des données tabulaires, ce qui en fait un
choix pratique pour représenter les données de trafic réseau et les informations sur les activités
normales et malveillantes dans le contexte de la sécurité informatique.
Chaque fichier CSV peut représenter différents aspects des données, tels que les caractéris-
tiques du trafic réseau, les étiquettes indiquant si une observation est normale ou malveillante,
les horodatages, les adresses IP, les ports, etc.
Il n y’a pas une grande différence entre la préparation des deux bases de données :
NSL-kdd et CSE-CIC-IDS2018. Donc voici la distribution des classes aprés un échantillonnage
aléatoire de 10 000 observations de chaque classe d’étiquettes présentes dans les DataFrames
respectifs.
19
Figure 2.18 – La déstribution des classes dans CSE-CIC-IDS2018
20
La valeur d’Accuracy : 0.7063603250210143 .
2.4 Conclusion
Dans ce chapitre, nous avons entrepris une étude approfondie des ensembles de données
à travers deux phases cruciales : l’Exploratory Data Analysis (EDA) et le prétraitement des
données. Notre objectif principal était d’explorer, de comprendre et de préparer les données
pour une analyse plus poussée à l’aide de modèles Random Forest et Support Vector Machine
(SVM).
Au cours de l’EDA, nous avons plongé dans les ensembles de données, en examinant leurs
caractéristiques, leurs distributions, leurs corrélations et en identifiant les potentielles anomalies
ou valeurs aberrantes. Cette phase nous a permis d’acquérir une vision approfondie de la nature
de nos données, ce qui s’est avéré essentiel pour la suite de notre analyse.
Le prétraitement des données a été une étape cruciale où nous avons nettoyé les données
en gérant les valeurs manquantes, en effectuant des encodages adéquats pour les variables
catégorielles, et en normalisant ou en mettant à l’échelle les données selon les besoins. Cette
étape a également inclus la sélection des caractéristiques et la réduction de la dimensionnalité
pour optimiser la performance de nos modèles.
Nous avons ensuite appliqué deux modèles de machine learning, à savoir Random Forest
et SVM, sur nos ensembles de données préparés. Les résultats obtenus ont montré que le mo-
dèle Random Forest a produit des performances remarquables, démontrant sa capacité à bien
généraliser les données et à fournir des prédictions précises.
21
3 Déploiement :
3.1 CICFlowmeter
CICFlowMeter représente un atout essentiel pour les professionnels de la sécurité infor-
matique et de la gestion des réseaux. Conçu spécifiquement pour l’analyse en temps réel du
trafic réseau, cet outil open source offre une version complète de fonctionnalités puissantes. Il se
distingue par sa capacité à capturer et à analyser des données de trafic réseau en provenance de
diverses sources, notamment des commutateurs, des routeurs et d’autres périphériques réseau.
Parmi ses points forts, CICFlowMeter excelle dans l’extraction d’informations cruciales telles
que les adresses IP source et de destination, les ports, les protocoles, les volumes de données, et
les durées de connexion, permettant ainsi une compréhension approfondie du flux de données.
CICFlowMeter va plus loin en générant des rapports détaillés sur le trafic réseau, fournis-
sant ainsi des statistiques précises, des graphiques illustratifs et des résumés de flux complets.
Ces données sont des atouts précieux pour les administrateurs de sécurité, car elles leur per-
mettent de prendre des décisions éclairées en matière de gestion de la sécurité du réseau. Dans
son ensemble, CICFlowMeter s’impose comme un outil essentiel pour la surveillance et l’ana-
lyse du trafic réseau, contribuant ainsi à renforcer la sécurité et la gestion efficace des réseaux
informatiques.
22
informations d’identification. Il existe plusieurs méthodes pour effectuer une attaque SSH par
force brute qui conduira finalement à la découverte d’identifiants de connexion valides.
Bien que ce ne soit pas la seule façon de procéder, nous explorerons des outils tels que
Hydra, et le moteur de script de Nmap pour accomplir cette tâche.
Avant de commencer toute attaque par force brute, nous devons déterminer l’état du
port sur lequel SSH fonctionne. Nous pouvons effectuer un simple scan Nmap pour voir s’il est
ouvert ou non. Tapez la commande suivante : sudo nmap ’adresse IP’
23
Figure 3.4 – La commande de Moteur de script Nmap.
3.2.3 Hydra :
Hydra est un puissant craqueur de login qui est très rapide et qui supporte un certain
nombre de protocoles différents.
Tapez la commande suivante : " sudo hydra -L ’UserData’ -P ’PassData’ ssh ://’adres-
seIp’ -t 4 "
24
Figure 3.7 – Alerte d’attaque.
25
Conclusion générale
En conclusion, notre travail a abouti à la mise en place d’un IDS basé sur les modèles
Random Forest et SVM. Notre objectif principal était de détecter de manière efficace les at-
taques informatiques au sein des ensembles de données NSL KDD et CIC-IDS-2018, en tirant
parti de l’analyse exploratoire des données et du prétraitement. En comparant les résultats des
modéles, Random Forest a donné des bons résultats pour les deux bases de données.
Premièrement, notre IDS a démontré une capacité prometteuse à identifier et à signaler
les activités suspectes et les tentatives d’attaques, ce qui renforce la sécurité des systèmes
informatiques.
Deuxièmement, les tests d’attaques que nous avons réalisés, y compris une attaque de
type SSH brute force, ont révélé que notre système était capable de résister à ces menaces bien
établies.
Troisièmement, le déploiement du framework CICFlowMeter pour la surveillance en
temps réel et l’analyse du trafic réseau a amélioré la réactivité de notre IDS, permettant une
détection rapide des activités malveillantes.
En somme, notre travail a prouvé l’efficacité de notre système de détection d’intrusion
dans la protection des systèmes informatiques contre les menaces en ligne. Toutefois, la sécu-
rité informatique étant un domaine en constante évolution, des améliorations continues seront
nécessaires pour maintenir la robustesse de notre IDS face à de nouvelles menaces. Ce projet
constitue une base solide pour des travaux futurs visant à renforcer davantage la sécurité des
systèmes informatiques contre les intrusions malveillantes.
26
Bibliographie
[1] [Link]
[2] [Link]
[3] [Link]
[4] ASHOOR, Asmaa Shaker et GORE, Sharad. Importance of intrusion detection system
(IDS). International Journal of Scientific and Engineering Research, 2011, vol. 2, no 1, p. 1-4.
[5] OWENS, Jim et MATTHEWS, Jeanna. A study of passwords and methods used in
brute-force SSH attacks. In : USENIX Workshop on Large-Scale Exploits and Emergent
Threats (LEET). 2008.
27