Memoire IDS Spam 2020
Memoire IDS Spam 2020
Memoire IDS Spam 2020
Promotion 2019/2020
- Dédicaces -
Djohra
Meriem
- Remerciements -
Au terme de notre travail, on remercie Dieu tout puissant de nous avoir donné le courage et la
patience pour réaliser ce modeste travail.
On tient à remercier les membres du jury qui nous font le grand honneur d’évaluer ce travail.
Enfin, nos remerciements s’adressent à toutes nos familles qui sont toujours là pour nous soutenir.
Et les personnes qui ont contribué de près ou de loin à la réalisation de ce modeste travail.
Djohra et Meriem
Table des matières
Introduction générale 1
i
TABLE DES MATIÈRES
1.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
ii
TABLE DES MATIÈRES
Conclusion et perspectives 39
Annexe A 40
Références Bibliographiques 45
Références Webliographiques 46
iii
Table des figures
iv
Liste des abréviations
v
Introduction générale
Les systèmes informatiques sont devenues des outils indispensables au fonctionnement des en-
treprises ou tout secteurs professionnels. L’information gérée par ces systèmes peut être exposée
à des attaques qui exploitent des éléments vulnérables du système d’information ce qui a mené
à l’utilisation des systèmes de détection d’intrusions (IDS : Intrusion Detection Systems). Nous
dénombrons à l’heure actuelle environ une centaine de systèmes de détections d’intrusions qui sont
devenus pratiquement indispensables dû à l’incessant accroissement en nombre et en dangerosité
des attaques depuis quelques années.
En quelques années, l’intelligence artificielle a pris une place importante dans de nombreux
domaines et s’est imposée comme une technologie incontournable. Elle est devenue inséparable
de notre quotidien vue sa capacité de gérer les problèmes et générer plusieurs solutions fiables
et plus acceptables. Pour améliorer les capacités de détection d’intrusions, des recherches ont été
réalisé montrant une combinaison nécessaire entre la sécurité et le Machine Learning où ce dernier
représente la technologie qui permet aux machines d’apprendre seules à partir des données fournies.
Dans notre cas, nous avons traité le problème des spams. Les spams entraînent des pertes an-
nuelles totales s’élevant à plusieurs dizaines de milliards de dollars, d’après les recherches obtenues.
Pour régler ce problème, les filtres antispam ont été créés. L’approche d’apprentissage automatique
la plus connu dans le filtrage des spams est le classificateur Bayes naïf, il permet de calculer la
probabilité qu’un message est un spam ou non. Dans notre étude, nous avons utilisé l’algorithme
naïf bayes multinomial pour la classification des messages, où nous avons rajouté une deuxième
vectorisation des messages par rapport aux anciennes méthodes, ce qui génère des résultats avec
un faible taux d’erreur.
Dans le chapitre 1, nous présentons les deux notions de base, IDSs et Machine Learning et
décrivons les caractéristiques qui construisent chacun d’entre eux.
Dans le chapitre 2, nous présentons quelques travaux sur la détection d’intrusion et le Machine
Learning où nous avons abordé cinq articles concernant les recherche récente montrant l’impor-
tance du Machine Learning dans la détection des intrusions, ainsi représenter l’une des recherche
1
sur la détection des spams faite avec l’apprentissage machine.
Dans le chapitre 3, nous présentons notre proposition sur le problème des spams. Une section
sur les notions de base utilisées est représentée ainsi une explication sur l’architecture et les étapes
de l’implémentation du filtre antispam proposé pour enchaîner avec les résultats obtenus.
Finalement, nous concluons par une récapitulation du travail accompli et pointant quelques
travaux potentiels futurs.
1.1 Introduction
À l’époque, on associe le terme " Sécurité Informatique " à la protection des matériels informa-
tiques contre les agressions externes physiques. Cependant, avec le développement des technologies
de communication et la possibilité d’accéder à distance aux réseaux, les informaticiens étaient obli-
gés de trouver des moyens de contrôle tel que les systèmes de détection d’intrusions pour assurer
la protection des ordinateurs, des réseaux et des programmes contre toutes formes d’accès non
autorisées et c’est là que la sécurité informatique prend sa définition et s’intègre dans le domaine
de Machine Learning. Le Machine Learning s’appuie sûr de nombreuses disciplines des mathéma-
tiques. Il a pris une grande importance et est devenu inséparable dans les domaines de la science.
Le Machine Learning peut être classé usuellement au moins en trois catégories : apprentissage
supervisé, non supervisé et par renforcement.
Ce chapitre est organisé de la manière suivante : la section 1.2 définit la notion de la sécurité
informatique. La section 1.3 présente le système de détection d’intrusions. La section 1.4 présente
la notion du Machine Learning. Finalement, la section 1.5 conclut ce chapitre.
3
CHAPITRE 1. SYSTÈME DE DÉTECTION D’INTRUSIONS ET MACHINE LEARNING
La détection d’intrusions basée sur hôte surveille et analyse périodiquement le trafic des données
où niveau de la machine ou ordinateur dans lequel il est installé. Leur fonctionnement est basé
sur l’analyse des journaux système afin d’identifier toute éventuelle violation de la politique de
sécurité [21]. Ils permettent d’analyser les activités de la machine contrôlée à un niveau de détail
suffisant pour déterminer lequel des processus et des utilisateurs sont impliqués dans les activités
malveillantes.
La détection d’intrusions basée sur le réseaux surveille et analyse en temps réel les paquets
qui circulent sur un réseau pour assurer la sécurité et renvoyer une alerte en cas de détection
d’intrusions.
Un IDS hybride est une combinaison des caractéristiques des HIDS et NIDS. Il offre une sur-
veillance multiple pour les réseaux et les terminaux on se basant sur une architecture distribuée.
Après avoir détecté des intrusions, le tout sera centralisé dans une machine qui va recevoir toutes
les alertes ce qui permet des résultats plus exacts, avoir le moins de faux positifs.
4
CHAPITRE 1. SYSTÈME DE DÉTECTION D’INTRUSIONS ET MACHINE LEARNING
Les définitions ci-dessous sont largement inspirées de celles proposées par l’IDWG [26] :
1. Capteur
Utilisé pour collecter un ensemble de données suspectes et de les envoyer vers l’analyseur
sous forme d’événements.
2. Analyseur
Sous forme de processus dans le rôle est de vérifier et d’attribuer une analyse profonde sur
les événements reçus par le capteur concernant des signes d’activité non autorisés ou indési-
rables. Un ou plusieurs capteurs couplés avec un analyseur forme une sonde.
3. Manager
Après l’analyse des événements, en cas de détection d’intrusions, une alerte est envoyée ou
manager. Ce dernier s’occupe de la mise en forme des alertes reçus puis de notifier l’opéra-
teur. Il peut aussi établir une réaction qui peut être un isolement de l’attaque, suppression,
recouvrement ou effectuer un diagnostic dans le but de limiter ou d’arrêter l’attaque.
4. Opérateur
C’est l’utilisateur principal qui surveille les sorties du système et réagit aux notifications
admises pour répondre aux attaques.
5
CHAPITRE 1. SYSTÈME DE DÉTECTION D’INTRUSIONS ET MACHINE LEARNING
5. Administrateur
Personne chargée de mettre en place les lois ou la politique de sécurité qu’une sonde utilise
pour la détection des menaces dans un IDS, par conséquent, de déployer et configurer les
IDSs.
6
CHAPITRE 1. SYSTÈME DE DÉTECTION D’INTRUSIONS ET MACHINE LEARNING
1. Approche comportementale
Cette approche permet de détecter toute déviation par rapport au comportement normal
d’un utilisateur ou d’une application (profil). Le système de détection d’intrusions compare
l’activité courante au profil. Tout comportement déviant est considéré intrusif.
Il existe deux types de réponses suivant les IDSs utilisés, la réponse passive et la réponse active :
1. Réponse passive
Lorsqu’une attaque est détectée, le manager génère seulement une alerte en direction de
l’administrateur système par Email, message dans une console, voire même par beeper. L’ad-
ministrateur prend les mesures qui s’imposent.
2. Réponse active
La réponse active consiste à répondre directement à une attaque, elle implique des actions
automatisées prises par un IDS qui permet de couper rapidement une connexion suspecte
quand le système détecte une intrusion.
1. Audits système
Utilisée par les HIDS, elle peut être une source d’information sous forme de commande sys-
tème qui fournit des données sur les activités courantes du système. Elle peut aussi être
un ensemble d’informations partagé par l’utilisateur durant un certain temps qui représente
l’historique des événements et où finale, elle peut être un audit de sécurité dans le rôle est de
collecter et associer à des utilisateurs des événements déjà définis, ce qui induit une surcharge
sur le système surveillé.
7
CHAPITRE 1. SYSTÈME DE DÉTECTION D’INTRUSIONS ET MACHINE LEARNING
2. Audits applicatif
Les sources des données à analyser sont collectées à partir de l’application surveillée ce qui
diminue le risque de désynchronisation entre les data qui circule entre le capteur et l’appli-
cation, mais seule l’activité de l’application est surveillée.
1. Surveillance périodique
Un IDS qui surveille le système d’une manière périodique veut dire faire une analyse d’un
temps à un autre, à une période bien précise. Souvent retrouvé au niveau des HIDS.
8
CHAPITRE 1. SYSTÈME DE DÉTECTION D’INTRUSIONS ET MACHINE LEARNING
Dans l’apprentissage supervisé, l’agent observe quelques couples types entrée-sortie et apprend
une fonction de l’entrée vers la sortie [41]. C’est-à-dire, notre échantillon des données est sous forme
de couple (x,y) ou x c’est l’ensemble des aspects qui représente les catégories de la cible y. À partir
de cet échantillon, une fonction d’apprentissage (un modèle) sera déduite pour nous permettre
d’étudier les autres cibles d’entrée non catégorisées. Apprentissage supervisé souvent utilisé pour
des problèmes de reconnaissance où la machine apprend en lui donnons un ensemble d’exemples
de ce qu’il faut apprendre et à partir de quelles données apprendre.
On dit que l’apprentissage est non supervisé lorsqu’on ne connaît pas les valeurs en sortie et
que l’algorithme doit travailler sur l’ensemble des aspects x où il doit reconnaître les structures
communes entre ces derniers pour prédire la cible y. Dans l’apprentissage non supervisé, l’agent
apprend des structures dans les données d’entrée, même s’il ne dispose pas de feedback explicite
sur ses actions [41]. On peut ainsi regrouper des données dans des Clusters (c’est le Clustering),
détecter des anomalies, ou encore réduire la dimension de données très riches en compilant les
dimensions ensemble [42].
L’apprentissage par renforcement, c’est apprendre à agir par essais et erreur. Dans ce paradigme,
un agent peut percevoir son état et effectuer des actions. Après chaque action, une récompense
numérique est donnée. Le but de l’agent est de maximiser la récompense totale qu’il reçoit au cours
du temps [24].
9
CHAPITRE 1. SYSTÈME DE DÉTECTION D’INTRUSIONS ET MACHINE LEARNING
Afin de mieux expliquer le processus de Machine Learning, nous commençons par la définition
de quelques concepts de base :
1. Dataset
C’est un ensemble de données qu’on fournit à une machine sous forme d’un couple d’exemples
(x, y) dans l’apprentissage supervisé où x représente les questions et y les réponses au pro-
blème que la machine doit résoudre. Dans l’apprentissage non supervisé, le dataset contient
que des questions x. On ne peut pas démarrer un projet sans avoir de dataset.
3. Les hyper-paramètres
Les hyper-paramètres sont les valeurs de réglage du modèle : le nombre d’itérations, les
valeurs de seed (valeur aléatoire initiales), la solution initiale et les autres paramètres spéci-
fiques des différents modèles testés [18].
4. Fonction Coût
La phase de validation établit la performance du modèle en termes de taux de faux positifs
(les fausses alertes) et de faux négatifs (les ratés) que l’on doit réduire simultanément [18].
10
CHAPITRE 1. SYSTÈME DE DÉTECTION D’INTRUSIONS ET MACHINE LEARNING
Ceci se fait par une fonction coût qui représente un ensemble d’erreurs qu’un modèle nous
retourne par apport à notre dataset. La validité du modèle dépend de la fonction coût à partir
de laquelle la machine distingue les paramètres de notre modèle qui minimisent cette dernière.
5. La généralisation
Consiste à intégrer le modèle dans un processus de big data, et dépasse l’horizon méthodo-
logique concernant l’industrialisation des processus de plus en plus souvent assurée par une
distribution du calcul [18].
11
CHAPITRE 1. SYSTÈME DE DÉTECTION D’INTRUSIONS ET MACHINE LEARNING
Figure 1.4 – Quelques algorithmes des 3 types d’apprentissage du Machine Learning : supervisé
ou non et par renforcement [1].
12
CHAPITRE 1. SYSTÈME DE DÉTECTION D’INTRUSIONS ET MACHINE LEARNING
Dans ce qui suit, nous présentons le principe des algorithme : K-PPV, Bayes Naïf et la régres-
sion logistique.
Le classifieur K-plus proches voisins est un algorithme de la reconnaissance des formes, qui
permet de calculer la similarité d’un nouveau cas avec les données du dataset et de prédire la
classe dans laquelle il appartient selon les K plus proches voisins détectés par ordre décroissant.
L’algorithme des K-plus proches voisins permet de définir une probabilité d’appartenance de la
salve à chacune des classes. La probabilité est définie simplement par le rapport entre le nombre de
plus proches voisins associé à la classe majoritaire divisé par le nombre total des voisins testé [37].
La valeur de K optimale peut être déterminée au préalable par la méthode du Leave-on-out qui
consiste à appliquer ce classificateur à chaque vecteur de la bibliothèque pour différentes valeurs
de K et à sélectionner la valeur optimale de K conduisant au pourcentage d’erreur le plus faible [37].
Bayes naïf
Le bayes naïf est un classifieur probabiliste se basant sur le théorème de bayes. Il permit de
classer des éléments d’après leurs caractéristiques, on passant par une phase d’apprentissage. Les
modèles sont naïf car ils assument que tous les attributs décrivant un élément à classer sont condi-
tionnellement indépendants. A est conditionnellement indépendant de B si P(A|B,C)=P(A|C) [38].
P (A|B)P (B)
P (B|A) =
P (A)
Deuxième formule de bayes : A un événement et B un système complet d’événements [38] :
P (A|Bi )P (Bi )
P (Bi |A) =
P (A|B1 )P (B1 ) + ... + P (A|Bn )P (Bn )
Régression logistique
La régression logistique est une approche statistique qui peut être employée pour évaluer et
caractériser les relations entre une variable réponse de type binaire et une, ou plusieurs, variables
explicatives. Dans la régression logistique, ce n’est pas la réponse binaire (malade/pas malade) qui
est directement modélisée, mais la probabilité de réalisation d’une des deux modalités (être malade
par exemple) [46].
13
CHAPITRE 1. SYSTÈME DE DÉTECTION D’INTRUSIONS ET MACHINE LEARNING
Le K-Mean est un algorithme de Clustering qui regroupe des données selon leur structure
commune on désignant K nombre de centre de gravité et affecter chaque point du dataset à un
Cluster qui contient le seul et le plus proche centre K pour qu’au final avoir un K Clusters bien
centrés. L’algorithme fonctionne en 2 étapes répétées en boucle. L’étape 1 consiste à rallier chaque
exemple au centre le plus proche. Après cette étape, nous avons K Clusters, l’étape 2 consiste à
déplacer les centres au milieu de leur Cluster. On répète ainsi les étapes 1 et 2 en boucle jusqu’à
ce que les centres ne bougent plus [42].
1.5 Conclusion
Dans ce chapitre, nous avons présenté les notions des systèmes de détection d’intrusions, cela
nous a permis de constater que les IDSs sont de plus en plus fiables, d’où le fait qu’ils soient souvent
intégrés dans les solutions modernes de sécurité donc ils sont indispensables aux entreprises afin
d’assurer leur sécurité informatique. Nous avons aussi présenté la notion de Machine Learning et
ses bases pour réussir à résoudre un problème.
14
Chapitre 2
2.1 Introduction
Les systèmes de détection d’intrusions sont devenus indispensables dans n’importe quel appa-
reille qui nécessite une sécurité solide et profonde soit du matériel ou des données privées. Presque
toutes les entreprises utilisent ce moyen de protection depuis son apparition ou même par des
individus. Cela a permis un environnement plus stable et ininterrompu, mais ça n’a pas duré pour
certains vu la force que les intrus impliquent pour la destruction de ce dernier. Les intrus, générale-
ment utilisent des bases de données qui contiennent des caractéristiques d’un ensemble d’attaques
déjà déduites pour énoncer des menaces inconnues, pour cela de nouvelles méthodes de détection
doivent être implémentées. Dans cette section, nous allons citer quelques-unes des recherches sur
la corrélation d’alertes et la prédiction des spams qui vont nous montrer l’avancement et l’efficacité
des IDSs existants.
15
CHAPITRE 2. PRÉSENTATION DE QUELQUES TRAVAUX SUR LA DÉTECTION
D’INTRUSIONS ET LE MACHINE LEARNING
données sur lesquelles le manuscrit se base et le nom des algorithmes utilisées pour la détection
des attaques et l’attaque détectée. La référence de chacun de ces articles est citée dans le manus-
crit [33]. Ce travail aboutit aux trois résultats que nous allons citer dans ce qui suit. L’étude a
démontré que les recherches actuelles ne couvrent qu’environ 25 % des menaces. Les attaques les
plus visées sont les attaques disponibles dans l’ensemble des données KDD-99 met en évidence par
l’IDS. Le taux de détection d’un IDS en ligne se dégrade souvent lorsqu’il est utilisé sur un réseau
occupé. La mise en oeuvre d’un système hybride peut être plus efficace où les hôtes jouent le rôle
des capteurs pour le renseignement sur les attaques.
Il est aussi remarquable que l’apprentissage machine est utilisé par 97,25 % des IDSs étudiés.
L’IDS basé sur l’apprentissage machine se concentre sur la détection d’intrusions dans les réseaux.
Les algorithmes les plus utilisés sont ANN(Artificial Neural Network), k-means et SVM(Support
Vector Machine). Les résultats atteints sont remarquables mais obtenus par des datasets obsolètes
qui ne reflètent pas la réalité des attaques de réseau. La plupart des ensembles de données n’ont
pas de véritables propriétés de vie ce qui dégrade l’efficacité des IDSs et peut refléter des fausses
alertes ou manqué les nouvelles attaques qui n’existe pas encore dans le dataset utilisé et ils ne
peuvent pas s’adapter aux changements constants des réseaux.
L’IDS basé sur l’hôte se situe sur le système qu’il surveille, ce qui donne une excellente visibilité
16
CHAPITRE 2. PRÉSENTATION DE QUELQUES TRAVAUX SUR LA DÉTECTION
D’INTRUSIONS ET LE MACHINE LEARNING
de l’état du système, mais peut-être désactivé par les attaquants ayant accès au système ce qui
le rend inutile. À l’inverse des systèmes NIDS qui sont indépendants des systèmes surveillés, mais
rend la détection plus difficile. Le HIDS peut offrir un environnement de sécurité pour des applica-
tions individuelles où seulement cette application ou logiciel qui sera protégé, ou bien détecter des
intrusions sur le système complet. Ce dernier se décrit en deux formes, HIDS avec des journaux sys-
tèmes et HIDS avec des données d’audit. Les journaux systèmes sont l’ensemble d’enregistrements
et d’actions associées aux activités et événements d’un programme ou un système d’exploitation
observé. La détection d’intrusions avec ces journaux nécessite beaucoup de temps processeur et
exige beaucoup d’espace de stockage ce qui rend leur accessibilité et l’extraction des fonctionnalités
plus difficiles. L’analyse peut se faire en se concentrant sur la précision de la détection ou bien sûr
l’architecture des IDSs. Les données d’audit constituent les informations et actions de contrôle en-
registrés et exécutés par le système sécurisé qui réfère aux activités des utilisateurs. Dans l’exemple
de l’article [31], les journaux d’audit permettent de visualiser les connexions réseau, les actions en
ligne de commande les escalades de privilèges et les modifications apportées. Les données d’appel
système représentent un objet principal du noyau du système d’exploitation. Une séquence de tous
les appels invoqués par un processus unique peut aussi être utilisée pour la détection, c’est ce que
montrent les recherches réalisées. Les séries d’appels enregistrées peuvent être courtes ce qui peut
invoquer une ignorance des données en comparaison avec les longues séries, mais elles permettent
moins de calculs pendant l’analyse. Pour une grande précision de détection avec moins de sur-
charge, plusieurs caractéristiques peuvent s’ajouter aux appels vu la sensibilité de la détection à la
longueur de ces derniers. Ces caractéristiques sont soit séquentielles (n-Grammes) ou bien basées
sur la fréquence. Des faux positifs risquent de se produire en utilisant cette approche si la charge
de calcul pour la collecte augmente.
Plusieurs exemples d’étude sont présentés dans cet article [31] concernant les points cités et
d’autres points sur les IDSs du registre Windows et les IDSs des systèmes de fichiers. Une sélection
d’oeuvres décrit des tests d’algorithmes d’apprentissage machine standard qui sont applicables aux
HIDS, mais qui relèvent des applications NIDS. Des recherches sont recommandées sur l’avance-
ment et le développement dynamique des IDSs afin d’optimiser la sécurité.
Le RACC permet une corrélation d’alertes en temps réel, en utilisant une matrice pour chaque
scénario appelé code-book avec un index unique de chacune généré dans la phase hors ligne.
17
CHAPITRE 2. PRÉSENTATION DE QUELQUES TRAVAUX SUR LA DÉTECTION
D’INTRUSIONS ET LE MACHINE LEARNING
Les hypers alertes représentent les caractéristiques du dataset qui ne sont pas gardées dans la
mémoire, mais plutôt dans le code-book, ce qui réduit le temps de corrélation des alertes. Ces
caractéristiques sont extraites en utilisant les méthodes séquentielles qui tentent notamment de
modéliser les relations de cause à effet entre les incidents. Ces derniers font partie des entrées XML
qui est la structure utilisée dans ce modèle. L’idéal pour ces méthodes est de pouvoir prédire les
prochains mouvements des utilisateurs malveillants en analysant les incidents actuels. Chaque ligne
de la matrice doit représenter une alerte typique qui pourrait être utilisée dans plusieurs scénarios
prévus et les colonnes de la matrice représentent un système protégé. Un élément de la matrice
est représenté par un entier et n’occupe qu’un bit d’espace mémoire. Chaque scénario est placé
dans un vecteur, est chaque vecteur contient la position de l’hyper alerte dans ce vecteur pour
former un vecteur indice. Pour trouver ces indices qui permettent d’avoir le bon chemin d’accès
au code-book, un arbre rouge-noir(red-black trees ) est utilisé. Les noeuds de cet arbre prétendent
les hypers alertes qui se pointent vers un vecteur indice. Le texte de l’hyper-alerte est la clé de tri
de l’arbre Rouge-Noir.
18
CHAPITRE 2. PRÉSENTATION DE QUELQUES TRAVAUX SUR LA DÉTECTION
D’INTRUSIONS ET LE MACHINE LEARNING
Premièrement, les auteurs ont choisi une base de données avec laquelle l’extraction des scénarios
existants est faite pour former le code-book et articuler l’arbre Rouge-Noir avec tous les vecteurs.
Ensuite, le programme récursif commence en vérifiant l’existence d’une alerte signalée. Si c’est le
cas, un moteur de recherche sur l’arbre se lance pour trouver le vecteur d’indice qui va préciser
la ligne correspondante à l’alerte signalée et dans quelle matrice. Les opérations matricielles ne
sont pas liées au nombre de problèmes de sécurité et dans la phase en ligne, elles apparaîtront
19
CHAPITRE 2. PRÉSENTATION DE QUELQUES TRAVAUX SUR LA DÉTECTION
D’INTRUSIONS ET LE MACHINE LEARNING
comme des valeurs constantes. Un accès au scénario aura lieu. Après avoir détecté la ligne, une
vérification des colonnes s’effectue. S’il y a une colonne dans la matrice relative à l’hôte dans lequel
l’alerte est signalée, les éléments de cette colonne sont vérifiés, sinon une colonne pour ce dernier
doit être ajoutée. L’intersection entre la ligne et la colonne repérée, représente l’élément souhaité.
Si l’élément égal à zéro, ça veut dire qu’aucun signal n’a été déjà dénoncé sur cet hôte donc il
est nécessaire de créer une méta-alerte et un index unique comme élément correspondant dans
le code-book. Si l’élément est différent de zéro, la méta-alerte correspondante existe déjà et elle
sera corrélée avec l’hyper-alerte qui lui convient. Ensuite, le programme se répète à l’existence de
nouvelles alertes jusqu’à qu’il se termine.
En faisant la comparaison avec d’autres méthodes qui utilisent des graphes de traitements
nécessitent des parcours de graphes lourds, l’utilisation de la structure des code-books permet de
réaliser des tâches similaires, plus simples et plus rapides ce qui illustre les avantages du RACC.
Une autre comparaison aux autres modèles est effectuée pour examiner la validité de l’allégation
de grande vitesse en termes de temps CPU. Les résultats de la figure qui suit sont calculés en
utilisant un matériel similaire dans les mêmes conditions d’évaluation et en temps réel. La figure
2.2 désigne une courbe indiquant le temps CPU nécessaire pour traiter les alertes dans des épisodes
de 30, 60, 90 et 120 minutes entre quatre méthodes inclue la méthode RACC. Il est clair que le
RACC peut traiter les alertes et corréler les scénarios, en un temps nettement inférieur à celui des
méthodes présentées dans [40], [45] et [27]. Les tests réalisés dans cet article [35] ont montré une
augmentation considérable des performances et une diminution de la consommation de ressources
par rapport aux autres méthodes de corrélation d’alertes en temps réel.
20
CHAPITRE 2. PRÉSENTATION DE QUELQUES TRAVAUX SUR LA DÉTECTION
D’INTRUSIONS ET LE MACHINE LEARNING
Figure 2.2 – Comparaison du temps CPU avec un matériel similaire dans le traitement des alertes
Realsecure pour le premier scénario de DARPA2000 entre RACC et [40], [45] et [27], acquis à partir
de [35].
21
CHAPITRE 2. PRÉSENTATION DE QUELQUES TRAVAUX SUR LA DÉTECTION
D’INTRUSIONS ET LE MACHINE LEARNING
de l’APT est une attaque persistante elle se déroule en plusieurs étapes, son but principal est
l’espionnage puis l’exfiltration des données. Du coup, APT est estimé comme une nouvelle version
plus complexe. D’après une longue recherche, les auteurs ont constaté que l’APT représente un
défi pour les méthodes de détections (pare feux.) car elle peut agir sans être détectée pendant des
mois voir des années et elle utilise des vulnérabilités inconnues contrairement aux autres.
22
CHAPITRE 2. PRÉSENTATION DE QUELQUES TRAVAUX SUR LA DÉTECTION
D’INTRUSIONS ET LE MACHINE LEARNING
Dans un premier temps, le trafic du réseau est scanner et traité pour détecter les éventuelles
techniques utilisées dans le cycle de vie de l’APT. À cette fin, huit modules de détection ont été
développés ; chaque module met en oeuvre une méthode pour détecter une technique utilisée dans
l’une des étapes de l’attaque APT et il est indépendant des autres modules. Le MLAPT a mis en
oeuvre huit modules pour détecter les techniques les plus couramment utilisées dans le cycle de
vie de l’APT. Les résultats de cette phase sont des alertes, également appelées événements, déclen-
chés par des modules individuels. Les alertes déclenchées par les différents modules de détection
sont ensuite transmises au cadre de corrélation. L’objectif du cadre de corrélation est de trouver
des alertes qui pourraient être liées et appartenir à un scénario d’attaque APT. Le processus de
cette phase comporte trois étapes principales : Le filtrage des alertes pour identifier les alertes
redondantes ou répétées, regroupement des alertes qui appartiennent très probablement au même
scénario d’attaque APT, et l’indexation de la corrélation pour évaluer le degré de corrélation entre
Présentation de quelques travaux sur la détection d’intrusions et le Machine Learning les alertes
de chaque groupe.
Dans la phase finale, un module de prédiction basé sur l’apprentissage machine est utilisé par
l’équipe de sécurité du réseau pour déterminer la probabilité des premières alertes pour développer
une attaque APT complète. Cela permet à l’équipe de sécurité du réseau de prédire l’attaque APT
dans ses premières étapes et d’appliquer la procédure requise pour l’arrêter avant qu’elle ne soit
terminée et minimiser les dégâts. La détection de l’APT est différente de la prédiction. La détection
peut avoir lieu lorsque deux ou plusieurs étapes de l’APT sont corrélées. Cependant, la prédiction
peut être réalisée après que les deux premières étapes de l’APT soient liées.
23
CHAPITRE 2. PRÉSENTATION DE QUELQUES TRAVAUX SUR LA DÉTECTION
D’INTRUSIONS ET LE MACHINE LEARNING
Figure 2.4 – Une comparaison entre le MLAPT et d’autres systèmes existants [28].
Le système TerminAPTor, un détecteur APT [22] utilise le suivi des flux d’informations pour
trouver les liens entre les alertes élémentaires est considéré comme le système le plus efficace en
termes de taux positifs réel avec un TPR (taux de faux positifs) de 100 %. Les développeurs ont
noté que le système TerminAPTor a un taux élevé de faux positifs, ce dernier a besoin que les
alertes soient fournies par d’autres systèmes et ne peut pas fonctionner de manière indépendante
[28]. Par contre, il est remarquable que le système CC [47], a un taux de faux positifs plus faible
(0%) et ne permet pas la détection en temps réel et ne dépend que de la détection d’une seule étape
du cycle de vie de l’APT [28]. Ainsi que le système basé sur le spear phishing [23], il a un TPR de
97,2 %, le FPR (taux de faux négatifs) de 14,2 % est considérablement élevé. Le système basé sur
le contexte [30], a un TFP significativement élevé de 27,88 % alors que le TFP n’a pas été fourni
par les auteurs [28]. Réaliser un taux élevé de vrais positifs signifie que le taux de faux positifs
augmente également. Par suite, l’équilibre entre le TPR et le FPR est une exigence essentielle
pour tout système de détection. D’après les résultats demandés, un équilibre remarquable entre les
valeurs de TPR et FPR, ce qui donne la possibilité à MLAPT de générer des événements et avoir
un fonctionnement autonome.
Ces événements couvrent quatre étapes de détection de l’APT ce qui réduit les faux positifs et
donne plus de possibilités de détection de l’APT au cas où l’une des étapes serait manquée. En
outre ce système aide à minimiser les dommages et de prévenir d’autres effractions [28].
D’après les auteurs, le MLAPT est le seul système qui peut prévoir l’APT dans ses premières
étapes avec une précision de prévision de 84,8 %, ce qui empêche l’attaquant d’atteindre l’objectif
de l’ex filtration des données.
24
CHAPITRE 2. PRÉSENTATION DE QUELQUES TRAVAUX SUR LA DÉTECTION
D’INTRUSIONS ET LE MACHINE LEARNING
On prenant en considération les techniques citées, les auteurs de cet article [34] ont pu réa-
liser une méthode réussie pour une meilleure prédiction en utilisant un modèle baysien qui est
connue comme l’un des plus puissants modèles de classification pour des problèmes a plusieurs
caractéristiques. Les données du dataset sont codées en supprimant les mots d’arrêt et la ponctua-
tion. Plusieurs mots ayant une signification similaire sont liés ou regroupés dans le processus de
transformation. Ensuite, la transformation obtenue sera convertie en une matrice de comptage de
fréquence sur laquelle le modèle baysien prédit le résultat.
25
CHAPITRE 2. PRÉSENTATION DE QUELQUES TRAVAUX SUR LA DÉTECTION
D’INTRUSIONS ET LE MACHINE LEARNING
Le résultat de prédiction peut être présenté sous forme d’une matrice de confusion, figure 2.6,
qui permet d’exprimer des indicateurs de performance où on peut voir le nombre de messages
prédit et calculer l’erreur de prédiction. On remarque que le taux de faux négatifs est égale à 0
ce qui veut dire qu’aucun message bénin ni détecter comme message spam alors que 34 messages
spams détectés comme bénins représentant le nombre de faux positifs. La question posée dans ce
résultat, c’est : comment va-t-il réagir le modèle si un mot inexistant dans la base de données
apparaît ? C’est la réponse demandée pour tout modèle basant sur des anciennes données.
26
CHAPITRE 2. PRÉSENTATION DE QUELQUES TRAVAUX SUR LA DÉTECTION
D’INTRUSIONS ET LE MACHINE LEARNING
2.7 Conclusion
Dans ce chapitre, nous avons abordé quelques méthodes de détection avec une brève explication
de leur fonctionnement et nous avons entamé d’autres articles qui indiquent une énorme utilisation
des algorithmes d’apprentissage dans le domaine de détection d’intrusions. Selon les résultats
obtenus et les études effectuées, ces algorithmes ont prouvé leur efficacité et peuvent être un point de
base irremplaçable pour le réglage de ce genre de problèmes. Malgré cet avancement remarquable,
une infinité d’études pour minimiser ces intrusions sont exigées. Tant que les intrus essaient sans
hésitation d’accéder aux informations illégales ou personnelles, d’autres intrusions apparaissent.
L’avancement des réseaux sociaux peut mettre la vie privée de l’utilisateur en danger ce qui exige
des moyennes plus fiables de sécurité. Les modèles de détection des spam basés sur le Machine
Learning sont de plus en plus demandés et utilisés par tout appareil vu leur importance pour une
communication sécurisée.
27
Chapitre 3
3.1 Introduction
Dans ce chapitre, nous proposons notre modèle de filtrage des spams basé sur le traitement
automatique du langage naturel (NLP, Natural Language Processing). Ce modèle est testé sur
quatre algorithmes d’apprentissage. Nous commençons par présenter quelques concepts de base
liés à notre proposition, puis nous présenterons notre proposition et les étapes d’implémentation.
Pour enfin, nous synthétisons et évaluons les résultats obtenus.
3.2.1 Spam
Le terme "spam" fait généralement référence à des courriers électroniques commerciaux non
sollicités qui sont généralement envoyés en masse à des milliers, voire des millions de destinataires
[44]. Le spam peut être classé en fonction de l’objectif du spammeur. De nombreux spammeurs
envoient leur courrier électronique en masse pour des raisons publicitaires, par exemple, ils envoient
des publicités commerciales ou participent à des campagnes politiques, tandis que d’autres ont en
tête une sorte de fraude criminelle ou distribuent des logiciels malveillants, tels que des virus ou
des chevaux de Troie [43]. C’est à partir de l’année 2004 que les spammeurs donnent aux auteurs
de virus les moyens de distribuer leurs marchandises et maintenant les spammeurs peuvent faire
plus que simplement envoyer du courrier indésirable, ils peuvent contrôler les ordinateurs de leurs
victimes [44]. Les messages légitimes, par opposition aux spams sont souvent désignés par le mot
ham, probablement pour dire que " spam, c’est mauvais, mais ham, c’est bon " [25].
28
CHAPITRE 3. PROPOSITION D’UN FILTRE ANTI-POURRIEL
Table NxN qui résume la réussite des prédictions d’un modèle de classification, c’est-à-dire la
corrélation entre les étiquettes et les classificat ions du modèle. L’un des axes d’une matrice de
confusion est l’étiquette prédite par le modèle et l’autre l’étiquette réelle. N correspond au nombre
de classes. Dans un problème de classification binaire, N=2 [3]. La figure 3.1 montre une vue de la
matrice de confusion théorique NxN.
29
CHAPITRE 3. PROPOSITION D’UN FILTRE ANTI-POURRIEL
Les matrices de confusion contiennent suffisamment d’informations pour calculer diverses sta-
tistiques de performance, notamment la précision et le rappel [3]. Les quatre mesures essentielles
sont VP, FP, VN et FN. VP représentent le nombre de valeurs positives, VN le nombre de valeurs
négatives prédites correctement, FP représente le nombre de valeurs positives mal estimé et FN le
nombre mal estimé de valeurs négatives.
3.2.3.2 Précision
La précision est une donnée qui est prise sur la base d’un manque d’information. Dans la clas-
sification binaire, la précision peut être rendue égale à des valeurs prédictives positives. La formule
suivante est la règle de précision [39] :
TP
P recision = ( ) ∗ 100%
TP + FP
3.2.3.3 Rappel
Le rappel, connu sous le nom de sensibilité dans la classification binaire, concerne les données
de suppression qui ont été récupérées avec succès à partir de données pertinentes pour la requête.
Il est défini par l’équation suivante [39] :
TP
Rappel = ( ) ∗ 100%
TP + FN
30
CHAPITRE 3. PROPOSITION D’UN FILTRE ANTI-POURRIEL
3.2.3.4 Accuracy
Accuracy , ou bien l’exactitude est un pourcentage du total des données qui est identifié et
évalué. La règle d’exactitude est la suivante [39] :
TP + TN
Accuracy = ( ) ∗ 100%
TP + TN + FP + FN
31
CHAPITRE 3. PROPOSITION D’UN FILTRE ANTI-POURRIEL
La phase d’apprentissage encerclé dans la figure 3.2 comport les différentes étapes de l’im-
plémentation d notre modèle avant d’être employé. L’enchaînement d’exécution de ces étapes est
représenté par des flèches. Après la création du modèle, on passe à la prédiction. À chaque entrée
d’un nouveau message, un filtrage de ce dernier sera effectué et l’un des résultats possibles sera
prédit, soit le message est un spam, soit il est bénin.
32
CHAPITRE 3. PROPOSITION D’UN FILTRE ANTI-POURRIEL
Figure 3.3 – L’ensemble de données de spam à traiter, publiquement disponible sur Kaggle [4].
33
CHAPITRE 3. PROPOSITION D’UN FILTRE ANTI-POURRIEL
34
CHAPITRE 3. PROPOSITION D’UN FILTRE ANTI-POURRIEL
35
CHAPITRE 3. PROPOSITION D’UN FILTRE ANTI-POURRIEL
Les deux courbe illustré dans la figure 3.6 et 3.7 nous permettent de visualiser les probabilités
pour les mesures, taux de faux positifs en fonction du vrai positifs et précision vs rappel. On conclu
que le programme de classification naïve bayes est plus performant que les autres en prenant en
considération AP(Average precision) et ROC(Receiver Operating Characteristic) area.
Pour plus de détails, la figure 3.8 décrit la matrice de confusion qui prend en compte les deux
types d’erreurs possibles : les faux positifs et les faux négatifs ainsi retrace les résultats de l’éva-
luation des performances du filtre anti-pourriel naïve bayes en termes de précision. On note une
36
CHAPITRE 3. PROPOSITION D’UN FILTRE ANTI-POURRIEL
Figure 3.8 – Résultat de l’évaluation des performances du filtre anti-pourriel naïve bayes proposé
et la matrice de confusion.
valeur de justesse égale à 0,985, soit 98 %, ce qui conclu que notre classificateur affiche des résultats
très satisfaisants du point de vue de la détection des messages malveillants.
37
CHAPITRE 3. PROPOSITION D’UN FILTRE ANTI-POURRIEL
3.6 Conclusion
Dans ce chapitre, nous avons présenté l’architecture de notre système de filtrage des spams
ainsi une vue complète sur ce système. Nous avons étudié les résultats obtenus dans les différents
algorithmes Log Reg, RF, NB et KNN avec des différentes représentations où nous avons pris
l’algorithme NB (naïf bayes) comme meilleur classificateur grâce à ces bons résultats générés. Notre
proposition apporte une nouvelle méthode de classification des messages spams. Dans les anciennes
méthodes, on passe d’une implémentation scalaire, ensemble de messages dans la colonne message,
à une implémentation vectorielle ou chaque mot est stocké par colonne indiquant son apparition
par ligne. Mais cela ni pas suffisant pour de nouvelles prédictions d’où, nous avons implémenté
une deuxième relation qui réunit chaque mot ou message à un autre. Cette méthode ni pas limitée
seulement sur les mots déjà existants dans le dataset, mais aussi basée sur chaque apparition d’une
lettre dans un message ce qui fait même si le modèle ni pas familiarisé avec un mot du message
d’entrée, il sera filtré en fonction des lettres qu’il compose. Nous avons conclu le chapitre par une
illustration du déploiement de notre modèle sur une page web pour une bonne visualisation du
fonctionnement.
38
Conclusion et perspectives
Dans ce mémoire, nous avons présenté, dans le chapitre 1, deux principaux axes. D’abord, les
systèmes de détection d’intrusions où nous avons décrit les types qui construisent ce système ainsi
l’architecture fonctionnelle et la classification de ses éléments. Par la suite, nous avons expliqué les
méthodes d’apprentissages Machine Learning.
Dans le chapitre 2, nous avons accordé entre les deux concepts « Machine Learning » et « les
IDSs » en illustrant avec un cas d’étude sur la détection des spams malveillants où, nous avons
traité plusieurs articles sur les IDSs et finaliser par le problème des spams qui touche presque tous
les utilisateurs du courrier électronique.
Dans le chapitre 3, nous avons proposé une nouvelle technique de modélisation et d’analyse
des attaques par des moyennes de communication numérique. Cette méthode permet de filtrer les
courriels électroniques à base d’un classificateur bayésien multinomial. Le résultat de prédiction
porte une valeur de précision remarquable 98 % ce qui prouve sa performance.
Comme perspectives nous envisageons un chiffrement des données pour un déploiement sécurisé
pour des utilisations externes et nous comptons faire une étude sur les message contenant des
images.
39
Annexe A
Python
langage de programmation polyvalent, qui existe déjà depuis assez longtemps, Quido van Ros-
sum , son créateur, ayant débuté son développement en 1990. Stable et mature, il s’agit d’un
langage de très haut niveau, dynamique et orienté objet [36]. Il soutient de multiples paradigmes
de programmation au-delà de la programmation orientée objet, comme la programmation procé-
durale et fonctionnelle [5]. Un fichier python porte l’extension (.py).
Anaconda
Spyder
un environnement scientifique puissant écrit en Python, pour Python. Il est conçu par et pour
les scientifiques, les ingénieurs et les analystes de données. Il présente une combinaison unique de
fonctionnalités avancées d’édition, d’analyse, de débogage et de profilage d’un outil de dévelop-
pement complet avec les capacités d’exploration de données, d’exécution interactive, d’inspection
approfondie et de visualisation d’un ensemble scientifique [7].
Jupyter Notebook
application Web à source ouverte qui vous permet de créer et de partager des documents
contenant du code en direct, des équations, des visualisations et du texte narratif. Les utilisations
incluent : nettoyage et transformation de données, simulation numérique, modélisation statistique,
visualisation de données, apprentissage automatique, etc . Le projet Jupyter est un projet open-
40
CHAPITRE 3. PROPOSITION D’UN FILTRE ANTI-POURRIEL
source à but non lucratif, né du projet IPython en 2014. Il a été évolué pour soutenir la science
des données interactives et le calcul scientifique dans tous les langages de programmation. Jupyter
sera toujours un logiciel 100% open-source, libre d’utilisation pour tous [8].
Cascading Style Sheets, en français "feuilles de style en cascade" est un langage informatique
permettant de mettre en forme le contenu d’un site et de gérer le design d’une page HTML [9].
Dans ce qui suit, nous allons définir les bibliothèques utilisées dans notre implémentation :
Pandas
Bibliothèque open source, sous licence BSD (Berkeley Software Distribution), qui fournit des
structures de données et des outils d’analyse de données performants et faciles à utiliser pour le
langage de programmation Python [11].
Matplotlib
Seaborn
41
Bibliothèque de visualisation de données en Python basée sur matplotlib. Elle fournit une in-
terface de haut niveau pour dessiner des graphiques statistiques attrayants et informatifs [13].
NumPy
Paquet fondamental pour le calcul scientifique en Python. C’est une bibliothèque Python qui
fournit un objet de tableau multidimensionnel, divers objets dérivés (tels que des tableaux et des
matrices masqués), et un assortiment de routines pour des opérations rapides sur des tableaux, y
compris des opérations mathématiques, logiques, de manipulation de formes, de tri, de sélection,
d’entrées/sorties, de transformées de fourier discrètes, d’algèbre linéaire de base, d’opérations sta-
tistiques de base, de simulation aléatoire et bien plus encore [14].
sklearn
Un module Python intégrant des algorithmes classiques d’apprentissage machine dans le monde
étroitement lié des paquets scientifiques Python (numpy, scipy, matplotlib) [15].
Pickle
Le module pickle met en œuvre des protocoles binaires pour sérialiser et désérialiser une struc-
ture d’objet Python. Le "pickling" est le processus par lequel une hiérarchie d’objets Python est
convertie en un flux d’octets, et le "unpickling" est l’opération inverse [5].
Le module Re
Re , C’est un module en python qui fournit des opérations sur les expressions rationnelles [5].
42
Références Bibliographiques
43
RÉFÉRENCES BIBLIOGRAPHIQUES
[29] C-E. Gherabi. Mémoire présenté pour l’obtention du diplôme de Master Académique de
M’SILA. UNIVERSITE MOHAMED BOUDIAF - M’SILA, Algérie, 2017.
[30] P. Giura et W. Wang. A context-based detection framework for advanced persistent threats,
in : Cyber Security (CyberSecurity). International Conference on, IEEE, pp. 69-74, 2012.
[31] T. R. Glass-Vanderlan et al. A Survey of Intrusion Detection Systems Leveraging Host
Data. arXiv :1805.06070, 2018.
[32] L. Hamza. Génération automatique de scénario d’attaques pour les systèmes de détection
d’intrusion. Mémoire de magistère Université Abderrahmene Mira de Béjaia, Algérie, 2005.
[33] H. Hindy, D. Brosset et E.n Bayne. A Taxonomy and Survey of Intrusion Detection
System Design Techniques. Network Threats et Datasets, 2018.
[34] B. Kuchipudi, R. T Nannapaneni et Q. Liao. Adversarial Machine Learning for Spam
Filters. In Proceedings of the 15th International Conference on Availabality et Security, pp.
1-6, 2020.
[35] E. Mahdavi, A. Fanian et Fatima Amini. A real-time Alert Correlation Method Based on
Code-books for Intrusion Detection Systems. Computers Security, 2019.
[36] Alex Martelli. python en concentré. edition O’Reilly, paris, 2004.
[37] G. Fantozzi N. Godin P. Reynaud. Émission acoustique et durabilité des composites. ISTE
Editions Ltd, 2018.
[38] Jean-Marc Quéré. WinDev 9 : Implémentation de méthodes décisionnelles, Editions ENI,
2005.
[39] F. Rahmad, Y. Suryanto et K. Ramli. Performance Comparison of Anti-Spam Technology
Using Confusion Matrix Classification. Series : Materials Science et Engineering (Vol.879,No.
1,p.012076). IOP Publishing, 2020.
[40] A. A. Ramaki, M. Amini et R. E. Atani. RTECA : Real time episode correlation algorithm
for multi-step attack scenarios detection. computers security, vol. 49, pp. 206-219, 2015.
[41] S. Russell et P. Norvig. Intelligence artificielle : Avec plus de 500 exercices. Pearson
Education, 2010.
[42] G. Saint-Cirgue. apprendre le machine learning en une semaine. machinelearnia.com,
2019.
[43] G. Schryen. Anti-Spam Measures Analysis and Design. Springer-Verlag Berlin Heidelberg,
2007.
[44] P. H. Gregory M. Simon et Spyware For Dummies. Blocking Spam Spyware For Dummies.
John Wiley Sons, 2005.
[45] M. Soleimani et A. A. Ghorbani. Multilayer episode filtering for the multi-step attack
detection. Computer Communications, vol. 35, no. 11, pp. 1368-1379, 2012.
[46] C. Della Vedova. Introduction à la régression logistique. 2020.
44
RÉFÉRENCES BIBLIOGRAPHIQUES
[47] X. Wang, K. Zheng et X. Niu. Detection of command and control in advanced persistent
threat based on independent access,in : Communications (ICC). International Conference on,
IEEE, pp. 1–6., 2016.
45
Références Webliographiques
46
RÉSUMÉ
L’utilisation des systèmes de détection d’intrusions est l’un des moyens d’offrir un environ-
nement sécurisé et rassurant pour les Utilisateurs des systèmes informatiques. Des mises à jours
et amélioration pour ces systèmes de protection sont recommandés vue l’apparition régulière des
nouvelles vulnérabilités. Les recherches ont montrées le rôle important du Machine Learning dans
la construction et la réalisation de nouvelles techniques plus satisfaisante et qui peuvent prédire
les nouvelles attaques plus rapidement et efficacement pour préparer la contre-mesure la mieux
adaptée. Dans notre cas, nous avons traité le problème des spams. Les courriers électroniques sont
devenus indispensables de notre quotidien mais qui importe des inconvénients que seule une bonne
détection peut la régler. Nous avons crié un modèle de filtrage des spams à base de NLP, qui
prédit l’origine d’un message d’entrée avec une precision de 98 %. Grâce à l’utilisation du Machine
Learning, des solutions efficaces peuvent être réalisé en vue de renforcer la capacité de détection
des systèmes de détection d’intrusions.
mot clé : Machine Learning, Sécurité Informatique, IDSs, Spam, Filtre Antispam.
ABSTRACT
The use of intrusion detection systems is one of the means to offer a secure and reassuring
environment for the Users of computer systems. Updates and enhancements to these protection
systems are recommended as new vulnerabilities regularly appear. Research has shown the im-
portant role of Machine Learning in the construction and realization of new techniques that are
more satisfactory and that can predict new attacks more quickly and efficiently in order to prepare
the most appropriate countermeasure. In our case, we dealt with the problem of spam. E-mails
have become an indispensable part of our daily lives, but they have disadvantages that only a
good detection can solve. We cried out a spam filtering model based on NLP, which predicts the
origin of an incoming message with an accuracy of 98 %. Through the use of Machine Learning,
effective solutions can be realized to enhance the detection capability of intrusion detection systems.
key words : Machine Learning, Computer Security, IDSs, Spam, Antispam filter.