Académique Documents
Professionnel Documents
Culture Documents
Facultédes Sciences
Département d’Informatique
Thème
Amel et Meriem
Dédicace
Nous dédions ce modeste travail à nos parents, nos sœurs et
frères et tous nos proches. C’est grâce à leur amour, affection et
leur soutien morale qu'on est là et qu’on a réalisé nos espoirs et nos
objectifs dans la vie.
Amel et Meriem
Résumé
Les réseaux informatiques sont exposés aux plusieurs types d’attaques c’est pour cela
nous avons besoins des moyens pour les protéger. Parmi ces moyens nous citons les systèmes
de détection d’intrusions. Cependant, avec l’évolution qui a touché les techniques d’attaques,
ces systèmes ne donnent plus de bons résultats.
ملخص
من.تتعرض شبكات الكمبيوتر لعدة أنواع من الهجمات ولهذا نحتاج إلى طرق لحمايتها
مع التطور الذي أثر على تقنيات، ومع ذلك.بين هذه الوسائل نذكر أنظمة كشف التسلل
. لم تعد هذه األنظمة تعطي نتائج جيدة، الهجوم
وبالتحديد طريقة التعزيز مع بعض، ناقشنا مجموعة المصنفات، في هذه األطروحة
( وأشجارSVM ) اآلالت مع ناقالت الدعم، NaiveBayes تقنيات التعلم اآللي مثل
وهذا من أجل الحصول على أفضل نموذج ألنظمة كشف، (Arbre de décision)القرار
. والوصول إلى نسب اكتشاف جيدة، التسلل
مجموعة، التعبئة، التعزيز، نظام كشف التسلل، أمن شبكة الكمبيوتر:كلمات البحث
.المصنفات
Abstract
Computer networks are exposed to several types of attacks that's why we need ways to
protect them. Among these means we mention the intrusion detection systems. However, with
the evolution that has affected the attack techniques, these systems no longer give good results.
In this work, we have discussed the ensemble of classifiers, specifically the boosting
method with some machine learning techniques such as NaiveBayes, SVM and decision tree,
in order to get a best model for intrusion detection systems, and lead to good detection rates.
5. Expérimentations ................................................................................................................ 59
5.1. Chaque classifieur unique (NaiveBayes, SVM, J48)..................................................... 59
5.1.1. Classification par J48 ............................................................................................. 59
5.1.2. Classification par NaiveBayes ............................................................................... 59
5.1.3. Classification par SVM ........................................................................................... 60
5.2. Chaque classifieur avec AdaBoost ................................................................................ 60
5.2.1. Classification par J48+ AdaBoost .......................................................................... 60
5.2.2. Classification par NaiveBayes+ AdaBoost ............................................................. 60
5.2.3. Classification par SVM++ AdaBoost .................................................................... 60
5.3. Chaque classifieur avec Bagging ................................................................................... 61
5.3.1. Classification par J48+ Bagging ............................................................................. 61
5.3.2. Classification par NaiveBayes+ Bagging ............................................................... 61
5.3.3. Classification par SVM+ Bagging .......................................................................... 61
5.4. Combinaison des trois classifieurs (NaiveBayes, SVM, J48) ....................................... 61
5.4.1. Avec AdaBoost ...................................................................................................... 61
5.4.2. Avec Bagging ......................................................................................................... 62
5.5. La précision obtenue pour tous les cas .......................................................................... 62
6. Discussion ........................................................................................................................... 62
7. Conclusion .......................................................................................................................... 62
Conclusion générale ................................................................................................................. 64
Bibliographie ............................................................................................................................ 65
La liste des Figures
Figure1.1: Pare-feu (Firewall) ................................................................................................ 15
Figure1.2: Réseau privévirtuel (VPN) .................................................................................. 16
Figure2.1: Architecture d’un IDS............................................................................................ 19
Figure2.2: Exemple d’un HIDS .............................................................................................. 21
Figure2.3: Exemple d’un NIDS .............................................................................................. 22
Figure2.4: illustration de l’approche scénario ......................................................................... 23
Figure2.5: Caractère complet et correct du modèle de comportement normal ....................... 24
Figure2.6: Approche centralisée d’un IDS collaboratif .......................................................... 33
Figure2.7: Approche hiérarchique d’un IDS collaboratif ....................................................... 34
Figure2.8: Approche distribuée d’un IDS collaboratif ........................................................... 36
Figure 3.1: La tâche de classification ...................................................................................... 41
Figure 3.2: L’AdaBoost avec trois classifieurs de base .......................................................... 48
Figure 3.3: Le BAGGING avec trois classifieurs de base ...................................................... 49
Figure 3.4: Echantillonnage des données d’apprentissage ...................................................... 49
Figure 4.1: Fenêtre de l’apprentissage avec AdaBoost .......................................................... 56
Figure 4.2: Fenêtre de la classification avec AdaBoost ......................................................... 57
Figure 4.3: Fenêtre de l’apprentissage avec Bagging ............................................................. 57
Figure 4.4: Fenêtre de la classification avec Bagging ............................................................. 58
Figure 4.5: Fenêtre de l’apprentissage avec classifieur unique ............................................... 58
Figure 4.6: Fenêtre de la classification avec classifieur unique .............................................. 59
La liste des Tableaux
Tableau 3.1: Récapitulation des résultats de précision ........................................................... 51
Tableau 4.1: Types et catégories d'attaques existantes dans KDD-Cup 1999 ........................ 54
Tableau 4.2: La distribution des données pour la base d’entrainement et de test ................... 55
Tableau 4.3: Taux de classification et durée accumulépour chaque phase(J48) ................... 59
Tableau 4.4: Taux de classification et durée accumulépour chaque phase(NaiveBayes) ...... 59
Tableau 4.5: Taux de classification et durée accumulépour chaque phase(SVM) ................ 60
Tableau 4.6: Taux de classification et durée accumulépour chaque phase(J48+AdaBoost) . 60
Tableau 4.7: Taux de classification et durée accumulépour chaque phase (Bayes +AdaBoost)... 60
Tableau 4.8: Taux de classification et durée accumulépour chaque phase (SVM +AdaBoost) ... 60
Tableau 4.9: Taux de classification et durée accumulépour chaque phase(J48+Bagging) .... 61
Tableau 4.10: Taux de classification et durée accumulépour chaque phase (Bayes +Bagging) .. 61
Tableau 4.11: Taux de classification et durée accumulépour chaque phase (SVM +Bagging) ... 61
Tableau 4.12: Taux de classification et durée accumulépour chaque phase (J48+ SVM+
NaiveBayes) +AdaBoost .......................................................................................................... 61
Tableau 4.13: Taux de classification et durée accumulépour chaque phase (J48+ SVM+
NaiveBayes) +Bagging ............................................................................................................ 62
Tableau 4.14: La précision obtenue pour tous les cas ............................................................ 62
Introduction générale
Les systèmes et les réseaux informatiques ne cessent de subir des attaques, de plus en
plus ingénieuse et discrètes. Ces attaques se complexifient de plus en plus, en faisant recours à
des schémas collaboratives, et des procédés complexes de fructification, qui les rendent
presque indétectables du point de vue du système ciblé par les attaques. De ce fait, il était
toujours question d'améliorer les mécanismes de défense en fonction de l'émergence de
nouvelles attaques.
Afin de quantifier les résultats de détection, nous avons utilisé la plateforme WEKA
permettant d'instancier les classifieurs, et nous avons codé notre système en utilisant le
langage Java, pour que notre étude puisse être portable, et testésur les différentes plateformes
logicielles.
1
Ce mémoire est organisécomme suit :
Le chapitre 2 : traite des IDS (Intrusion Detection Systems). Après avoir présenté l'intérêt
des IDS, et les différentes architectures selon lesquelles sont construit. Il a été introduit
également les IDS collaboratifs.
2
Chapitre1 La Sécuritédes réseaux informatiques
1.Introduction :
Au début, Internet connectait des institutions gouvernementales et militaires
américaines, ce que ne posait pas de problème de sécurité, étant donnéqu'un tel réseau peut
être considéré privé, selon la terminologie actuelle. Virus, attaque, spam, intrusion ... etc.,
n'étaient pas des concepts à considérer dans le domaine informatique. Graduellement, le
réseau s'est ouvert àtout le monde, et devenu donc àla fois vecteur et cible d'attaques. Ainsi,
depuis plusieurs années, une multitude d'attaques informatiques ont eu lieu. Dans ce chapitre
nous présentons les aspects de sécuritérelatifs aux réseaux informatiques.
2.Attaque et SécuritéInformatique
Une attaque peut se faire par un individu ou un groupe de personnes, contre l'ordinateur
d'un individu ou d'un groupe de personnes morale ou physique. La dépendance contemporaine
de l’humain aux réseaux informatiques a généré une motivation non seulement pour le goût
de la réussite de l'exploit, mais aussi pour le gain d'argent, pour des convictions politiques,
pour des buts militaires et pour la curiosité. La cause d'une faille dans un système peut être
due àun manque de budget, de temps d'installation, de personnes qualifiées, de politique de
sécurité, de protections efficaces sur le marché, Néanmoins, de nos jours, le coût d'une attaque
et de sa réparation peut être très élevé. C'est pourquoi les entreprises et l'ensemble des
organisations s'intéressent de près àla sécuritéinformatique.
L'idée intuitive de la sécurité informatique est de limiter l'accès à un système
informatique avec une sécurité parfaite, les informations ne sont jamais compromises
puisqu'un utilisateur non-autorisén'y a jamais accès. Néanmoins, la sécuritéparfaite n'est pas
réaliste. C'est pourquoi on va essayer de prévenir, détecter et répondre àune attaque afin de ne
pas permettre qu'une même agression se reproduise. La prévention permet de limiter les cas
oùune offensive se produit.
Pour cela, on utilise des techniques d'authentification, de chiffrement, ou même de
camouflage faisant croire à un éventuel attaquant que l'initiative n'en vaut pas le coup.
Puisque la prévention n'est pas parfaite, la détection permet l'identification d'une certaine
caractéristique qui viole les politiques de sécurité.
3
Chapitre1 La Sécuritédes réseaux informatiques
Intrusion :
C’est une violation d’une politique de sécurité d’un système donnée, c’est-à-dire une
violation d’une des propriétés de confidentialité, d’intégrité ou de disponibilité du système en
question [2].
Attaque :
A ne pas confondre avec une intrusion. Une attaque est une tentative de violer la
politique de sécurité alors qu’une intrusion est une violation effective de cette politique. En
d’autres termes, une intrusion est une attaque réussie [2].
4.1. La confidentialité:
Dans la littérature, la confidentialité semble être la qualité la plus importante d’un
système sûr. Elle a étéest la première préoccupation des militaires. Assurer la confidentialité
des données consiste à faire en sorte que les informations restent secrètes et que seules les
personnes autorisées y aient accès. Les utilisateurs du système ont besoin d’avoir la garantie
que leurs informations ne risquent pas d’être divulguées à des personnes non autorisées [3].
4.2. L’authentification :
Fournir deux preuves en parallèle, l’une est aussi importante et indispensable que
l’autre : Prouver qu’un sujet (site, personne, système, processus, etc.) est celui qu’il prétend
être et que les informations reçues sont conformes àcelles fournies. Pratiquement, dans le cas
d’un simple message, le service d’authentification assure que le message provient de l’endroit
d’où il prétend venir. Dans le cas d’un échange bidirectionnel, deux aspects sont à vérifier. Il
faut assurer que les deux entités communicantes sont bien ce qu’elles affirment être. De plus,
le service d’authentification doit montrer que la connexion ne peut être brouillée par une
troisième entitéessayant de se faire passer pour un des deux correspondants [3].
4
Chapitre1 La Sécuritédes réseaux informatiques
4.3. L’intégrité :
Outre la confidentialité des informations, l’intégrité évite la corruption, l’altération et la
destruction des données dans le réseau de manière non autorisée. L’intégrité reste un domaine
très large couvrant à la fois les modifications, les moyens de modification mais également
l’apprès-modification et donc la cohérence des données [3].
4.4. La disponibilité:
Assurer aux utilisateurs légitimes une continuelle disponibilité des informations, des
services et des ressources dans le réseau (les temps de réponse, la tolérance aux fautes, le
contrôle de concurrence, le partage équitable de ressources, etc.). En somme, veiller à la
disponibilité d’un système, c’est prévenir contre les perturbations et les interruptions de son
fonctionnement et aussi contre toute utilisation abusive des services et des ressources du
système [3].
5
Chapitre1 La Sécuritédes réseaux informatiques
4.9. Le confinement :
Ce principe est complémentaire à la confidentialité s’inscrivant dans le même but du
bon usage des informations. Le confinement garantit qu’un sujet n’arrive pas à divulguer
volontairement le contenu des objets auxquels il a accès à quelqu’un qui n’a pas le droit d’y
accéder [3].
6
Chapitre1 La Sécuritédes réseaux informatiques
6.1.2. IP Spoofing :
But : usurper l'adresse IP d'une autre machine.
Finalité: se faire passer pour une autre machine en truquant les paquets IP. Cette technique
peut être utile dans le cas d'authentifications basées sur une adresse IP (services tels que
rlogin ou ssh par exemple).
Déroulement : il existe des utilitaires qui permettent de modifier les paquets IP ou de créer
ses propres paquets (ex. : hping2). Grâce à ces utilitaires, il est possible de spécifier une
7
Chapitre1 La Sécuritédes réseaux informatiques
adresse IP différente de celle que l'on possède, et ainsi se faire passer pour une autre «
machine ».
Cependant, ceci pose un problème : en spécifiant une adresse IP différente de notre machine,
nous ne recevrons pas les réponses de la machine distante, puisque celle-ci répondra à
l'adresse spoofée. Il existe toutefois deux méthodes permettant de récupérer les réponses :
• Source routing : technique consistant à placer le chemin de routage directement dans le
paquet IP. Cette technique ne fonctionne plus de nos jours, les routeurs rejetant cette option.
• Reroutage : cette technique consiste à envoyer des paquets RIP aux routeurs afin de
modifier les tables de routage. Les paquets avec l'adresse spoofée seront ainsi envoyés aux
routeurs contrôlés par le pirate et les réponses pourront être également reçues par celui-ci [5].
6.1.4.DNS Spoofing :
But : fournir de fausses réponses aux requêtes DNS, c'est-à-dire indiquer une fausse adresse
IP pour un nom de domaine.
Finalité : rediriger, à leur insu, des internautes vers des sites pirates. Grâce à cette fausse
redirection, l'utilisateur peut envoyer ses identifiants en toute confiance par exemple.
Déroulement : il existe deux techniques pour effectuer cette attaque [5] :
• DNS Cache Poisoning : les serveurs DNS possèdent un cache permettant de garder pendant
un certain temps la correspondance entre un nom de machine et son adresse IP. Le DNS
Cache Poisoning consiste à corrompre ce cache avec de fausses informations. Ces fausses
informations sont envoyées lors d'une réponse d'un serveur DNS contrôlépar le pirate àun
autre serveur DNS, lors de la demande de l'adresse IP d'un domaine (ex. :
www.ledomaine.com). Le cache du serveur ayant demandé les informations est alors
corrompu .
8
Chapitre1 La Sécuritédes réseaux informatiques
• DNS ID Spoofing : pour communiquer avec une machine, il faut son adresse IP. On peut
toutefois avoir son nom, et grâce au protocole DNS, nous pouvons obtenir son adresse IP.
Lors d'une requête pour obtenir l'adresse IP àpartir d'un nom, un numéro d'identification est
placé dans la trame afin que le client et le serveur puissent identifier la requête. L'attaque
consiste ici à récupérer ce numéro d'identification (en sniffant le réseau) lors de la
communication entre un client et un serveur DNS, puis envoyer des réponses falsifiées au
client avant que le serveur DNS lui réponde.
Remarque : une attaque que nous allons voir ci-après, le Déni de Service, peut aider à
ralentir le trafic du serveur DNS et ainsi permettre de répondre avant lui. F
9
Chapitre1 La Sécuritédes réseaux informatiques
10
Chapitre1 La Sécuritédes réseaux informatiques
11
Chapitre1 La Sécuritédes réseaux informatiques
• SYN Flooding : exploite la connexion en trois phases de TCP (Three Way Handshake :
SYN/SYN-ACK/ACK). Le principe est de laisser un grand nombre de connexions TCP en
attente. Le pirate envoie de nombreuses demandes de connexion (SYN), reçoit les SYN-ACK,
mais ne répond jamais avec ACK. Les connexions en cours occupent des ressources mémoire,
ce qui va entraîner une saturation et l'effondrement du système.
• UDP Flooding : le trafic UDP est prioritaire sur TCP. Le but est donc d'envoyer un grand
nombre de paquets UDP, ce qui va occuper toute la bande passante et ainsi rendre
indisponibles toutes les connexions TCP.
Exemple : faire une requête chargen (port 19/service de génération de caractères) à une
machine en spoofant l'adresse et le port source, pour rediriger vers echo (port 7/service qui
répète la chaîne de caractères reçue) d'une autre machine ;
• Packet Fragment : utilise une mauvaise gestion de la défragmentation au niveau ICMP.
Exemple : ping of death. La quantité de données est supérieure à la taille maximum d'un
paquet IP.
Remarque : pour rappel, nous avons vu que les techniques d'attaque se basant sur la
fragmentation des paquets peuvent aussi être utilisées pour outrepasser un filtre IP ;
• Smurfling : le pirate fait des requêtes ICMP ECHO àdes adresses de broadcast en spoofant
l'adresse source (en indiquant l'adresse de la machine cible). Cette machine cible va recevoir
un nombre énorme de réponses, car toutes les machines vont lui répondre, et ainsi utiliser
toute sa bande passante ;
• Déni de service distribué : le but est ici de reproduire une attaque normale àgrande échelle.
Pour ce faire, le pirate va tenter de se rendre maître d'un nombre important de machines.
Grâce à des failles (buffer overflows, failles RPC (4) …) il va pouvoir prendre le contrôle de
machines àdistance et ainsi pouvoir les commander àsa guise.
Une fois ceci effectué, il ne reste plus qu'àdonner l'ordre d'attaquer àtoutes les machines en
même temps, de manière àce que l'attaque soit reproduite àdes milliers d'exemplaires. Ainsi,
une simple attaque comme un SYN Flooding pourra rendre une machine ou un réseau
totalement inaccessible.
12
Chapitre1 La Sécuritédes réseaux informatiques
6.4.1. Virus :
Un virus est un morceau de programme informatique malicieux conçu et écrit pour qu’il
se reproduise. Cette capacité à se répliquer, peut toucher votre ordinateur sans votre
permission et sans que vous le sachiez. En termes plus techniques, le virus classique
s’attachera à un de vos programmes exécutables et se copiera systématiquement sur tout autre
exécutable que vous lancez. Il n’y a pas de génération spontanée de virus informatiques. Ils
doivent avoir étéécrits dans un but spécifique. A part se répliquer, le virus peut avoir ou non
une action plus ou moins néfaste, allant de l’affichage d’un simple message àla destruction de
toutes les données [6].
6.4.2. Vers :
Un vers est un programme parasite. Il n’est pas forcement auto-propageable. Son but est
de grignoter des ressources système : CPU mémoire espace disque, bande passante. Ce petit
programme est dépendant du système d’exploitation ou d’un logiciel. Il se propage, comme
toute données binaires, par disquettes, CD ROM, réseaux (LAN ou WAN). Depuis la
démocratisation des virus (due notamment à la prolifération des générateurs de virus), le
nombre de nouveaux vers est en net recul. Cependant, il en existe toujours. Pour les prévenir,
on utilise très généralement la même stratégie que celle qui est adoptée contre le virus [6].
13
Chapitre1 La Sécuritédes réseaux informatiques
6.4.7. Spam :
Le spam, courriel indésirable ou pourriel est une communication électronique non
sollicitée, en premier lieu via le courrier électronique. Il s'agit en général d'envois en grande
quantitéeffectués àdes fins publicitaires [9].
7. Outils de sécurité:
Dans ce qui suit nous allons présenter un ensemble non exhaustif d’outils de sécurité :
7.1. Antivirus :
Les antivirus sont des logiciels conçus pour identifier, neutraliser et éliminer des
logiciels malveillants (dont les virus ne sont qu'un exemple). Ceux-ci peuvent se baser sur
l'exploitation de failles de sécurité, mais il peut également s'agir de programmes modifiants ou
supprimant des fichiers, que ce soit des documents de l'utilisateur de l'ordinateur infecté, ou
des fichiers nécessaires au bon fonctionnement de l'ordinateur.
Un antivirus vérifie les fichiers et courriers électroniques, les secteurs de boot (pour
détecter les virus de boot), mais aussi la mémoire vive de l'ordinateur, les médias amovibles
(clefs USB, CD, DVD, etc.), les données qui transitent sur les éventuels réseaux (dont
internet), etc. [3].
14
Chapitre1 La Sécuritédes réseaux informatiques
7.3. Cryptographie :
La cryptographie est l’étude des méthodes permettant de transmettre des données de
manière confidentielle. Afin de protéger un message, on lui applique une transformation qui le
rend incompréhensible ; c’est ce qu’on appelle le chiffrement, qui, à partir d’un texte en clair,
donne un texte chiffré. Inversement, le déchiffrement est l’action qui permet de reconstruire le
texte en clair à partir du texte chiffré en utilisant une clé particulière et un algorithme de
déchiffrement [3].
15
Chapitre1 La Sécuritédes réseaux informatiques
les données et les achemine en empruntant ce chemin virtuel. Les données à transmettre
peuvent appartenir à un protocole différent d’IP. Dans ce cas le protocole de tunnelling
encapsule les données en rajoutant un entête. Permettant le routage des trames dans le tunnel.
Le tunneling est l’ensemble des processus d’encapsulation, de transmission et de
désencapsulassion [11].
8.Conclusion :
La sécuritédes réseaux informatiques est devenue un sujet crucial que personne ne peut
l’éviter. Pour faire agir à une attaque, une personne mal intentionnée cherche par différents
moyens à connaître le réseau et ses faiblesses. Ces faiblesses à exploiter dans le but par
exemple de récupérer des informations, modifier le comportement d’un réseau ou lui nuire par
saturation de ressources, sont nombreuses, d’autant plus nombreuses si les équipements sont
insuffisamment sécurisés c’est pourquoi il est primordial de s’équiper de plusieurs outils
permettant de renforcer la sécuritédes installations informatiques. Dans le chapitre suivant,
nous présentons des systèmes particuliers de défense, à savoir les IDS dans l’analyse du trafic
réseau, dans le but de détecter d’éventuelles attaques.
16
Chapitre2 Les systèmes de detection d’intrusion
1.Introduction :
Les réseaux informatiques contiennent diverses formes de vulnérabilité. Pour faire face
àces problèmes de sécurité, différents mécanismes ont étémis en place pour prévenir toute
sorte d’attaque comme les pares-feux, l’authentification, les proxys… etc.
Malheureusement, ces mécanismes ont des limites où certains types des attaques
peuvent les contourner pour nuire la confidentialité, l’intégrité ou la disponibilité. C’est la
raison pour laquelle un nouveau concept appelé système de détection d’intrusion a été
introduit comme une seconde ligne de défense afin de renforcer la sécurité des réseaux
informatiques. Ce concept a été introduit par James Anderson en 1980 Bien que l’idée
d’Anderson soit très originale, le sujet n’a pas eu beaucoup de succès. Il a fallu attendre la
concrétisation de cette idée par Denning en 1987 qui a proposéle premier modèle de détection
d’intrusions, pour marquer réellement le départ du domaine de détection d’intrusion [13].
17
Chapitre2 Les systèmes de detection d’intrusion
Cette topologie vous permettra de vérifier que votre ligne de base du par feu est suivi,
ou que quelqu'un a fait une erreur en changeant une règle de par feu. Si vous savez que votre
ligne de base du par feu proscrivent l'utilisation de ftp et votre système IDS montre des alertes
de ftp, alors vous savez que le par feu ne bloque pas de trafic de ftp. C'est juste un effet
secondaire et ne devrait pas être la seule manière que vous vérifiez la conformitéàvotre ligne
de base [14].
Le capteur :
Rassemble les informations sur l’évolution de l’état du système et fournit une séquence
d’évènement qui rendent compte de cette évolution [15].
Le capteur peut se contenter de transmettre directement ces données brutes, mais en
général un prétraitement est effectué. Et pour cela on distingue trois types de capteurs en
fonction des sources de données utilisées pour observer l’activité du système : les capteurs
système, les capteurs réseau et les capteurs applicatifs [13].
L’analyseur :
L’objectif de l’analyseur est de déterminer si le flux d’évènements fourni par le capteur
contient des éléments caractéristiques d’une activité malveillante.
Deux grandes approches ont été proposées, l’approche comportementale (anomaly
detection) et l’approche par scenarios (misuse detection) [16]:
– Dans l’approche comportementale, une attaque est qualifiée par la mesure d’une déviation
sensible du système surveille par rapport à un comportement de référence, répute sain et
défini auparavant.
– Dans l’approche par signatures, le système de detection possède une base de signatures qui
modélisent les différentes attaques connues. L’analyse consiste à rechercher l’occurrence d’un
motif caractéristique d’une attaque dans le flux d’évènements.
Le manager :
Réunit les alertes en provenance du capteur.il les met en forme et les présente à
l’operateur.il peut aussi avoir la responsabilité de la riposte appropriée. [15]
Eventuellement, le manager est chargéde la réaction àadopter qui peut être [13] :
18
Chapitre2 Les systèmes de detection d’intrusion
5.1. Fiabilité:
Les alertes générées doivent être justifiées et aucune intrusion ne doit pouvoir lui
échapper.
5.2. Réactivité:
Un IDS doit être capable de détecter les nouveaux types d'attaques le plus rapidement
possible, pour cela il doit rester constamment àjour. Des capacités de mise àjour automatique
sont indispensables.
19
Chapitre2 Les systèmes de detection d’intrusion
5.4. Performance :
La mise en place d'un IDS ne doit en aucun cas affecter les performances des systèmes
surveillés. De plus, il faut toujours avoir la certitude que l’IDS a la capacité de traiter toute
l'information à sa disposition (par exemple un IDS réseau doit être capable de traiter
l'ensemble du flux pouvant se présenter àun instant donnésans jamais supprimer de paquets)
car dans le cas contraire il devient trivial de masquer les attaques en augmentant la quantité
d'information.
20
Chapitre2 Les systèmes de detection d’intrusion
21
Chapitre2 Les systèmes de detection d’intrusion
22
Chapitre2 Les systèmes de detection d’intrusion
23
Chapitre2 Les systèmes de detection d’intrusion
Des attaques inconnues peuvent donc être détectées contrairement à l'approche par
scénario qui est biaisé par l'empreinte des signatures connues. Quand un comportement
s'éloigne trop du comportement normal, une alarme se déclenche. Néanmoins, cet
éloignement ne signifie pas forcément un comportement hostile, ce qui semble générer un
taux élevéde fausses alarmes.
La création du profil peut se faire grâce àplusieurs métriques : les commandes utilisées,
la charge CPU, les heures de connexions, . . .
Un des inconvénients de cette méthode est l'obligation d'un temps d'apprentissage pour
réaliser le profil des utilisateurs.
D'autres techniques existent pour implémenter un comportement. Par exemple, on peut
utiliser les techniques de machine learning à qui on va apprendre les différents profils. De
plus, on peut réaliser un IDS totalement distribué se basant sur le système immunitaire des
êtres vivants, ou sur les algorithmes génétiques se basant sur la sélection naturelle d'une
population. Le système immunitaire représente l'IDS par un ensemble de systèmes distribués,
diversifiés, autonomes et autoréparants pouvant détecter un intrus représenté par un corps
étranger inconnu du système immunitaire. La vérification qu'une certaine propriété est
toujours respectée est parfois utilisée.
Une dernière technique est la découverte d'un comportement anormal quand le
protocole réaliséne suit pas le protocole habituel [4].
Ces deux manières peuvent être combinées au sein d'un même système pour augmenter
L’efficacité.
Ainsi, on pourrait utiliser une méthode comportementale pour agrandir la base de
données des attaques connues de la méthode par scénario. Par conséquent, le temps
d'apprentissage se fait tout au long du temps et non seulement à un certain moment.
24
Chapitre2 Les systèmes de detection d’intrusion
Néanmoins, le manque de normes et d'interopérabilitésur les données échangées fait qu'il est
souvent complexe d'assembler plusieurs IDS dans un même réseau, ce qui implique une
détection complexe d'une attaque distribuée sur plusieurs systèmes protégés individuellement.
De plus, la coopération entre systèmes différents permet de mieux détecter une attaque
distribuée dans l'espace. Néanmoins, ces derniers sont très réticents àla publication de telles
données [4].
25
Chapitre2 Les systèmes de detection d’intrusion
6.5.1. Centralisée :
L’architecture de l’IDS est centrée autour d’un nœud central chargé d’exécuter toutes
les commandes et les actions relatives au fonctionnement de l’IDS : analyse, détection et
alertes. La collecte d’informations peut se faire dans plusieurs hôtes.
26
Chapitre2 Les systèmes de detection d’intrusion
Déni de service :
On rend l'IDS non fonctionnel en le saturant d'information. Pour contrer cela, il est
nécessaire de filtrer et stocker correctement les informations et avoir un IDS performant qui
gère un ensemble de paquets sans perte. De plus, un système de monitoring permet de vérifier
l'efficacitéréelle de l'IDS.
Insertion :
On insère des paquets d'informations supplémentaires que l'IDS va accepter alors
que les machines vont les rejeter.
Ainsi, en les regroupant ensemble, le message final dans les machines cibles pourra être
différent de celui dans les IDS.
Un exemple de cette offensive est l'insertion de checksum erronédans des paquets que
les machines cibles vont refuser alors que l'IDS va les accepter. En effet, pour des raisons de
performances, les IDS ne les refusent pas même s'ils ont de mauvais checksums.
Evasion :
Les paquets sont ignorés par l'IDS mais pris en compte par le système attaqué.
Modification :
On modifie des paquets envoyés du senseur jusqu'àl'analyseur. Il est donc primordial de
s'assurer qu'ils sont protégés.
Ainsi, on pourrait utiliser les techniques contemporaines de chiffrement tel que TLS
(Transport Layer Security).
Les raisons de la possibilitéde ce genre d'attaques sont variées : raison de performance,
ambiguïté de la norme d'un protocole, ignorance des normes des protocoles par les
constructeurs de l'IDS.
27
Chapitre2 Les systèmes de detection d’intrusion
puisque le NIDS est en mode promiscuité, il verra le paquet et renverra un echo reply sans
même vérifier qu'il est bien le destinataire du paquet ICMP.
2. Mesure de temps de latence : puisque les NIDS sont en mode promiscuité, ils doivent gérer
l'ensemble des paquets du réseau. Ainsi, si après un envoi massif de paquets à toute les
machines, une machine devient de plus en plus lente àrépondre, on peut supposer qu'elle est
en mode promiscuitéet qu'elle est donc probablement un NIDS.
3. Observation des requêtes : après une attaque, les IDS envoient généralement des messages
àun ordinateur central qui va gérer l'ensemble des alertes. Ainsi, en observant les paquets, on
peut essayer de retrouver la centrale.
Un des problèmes de ce genre d'attaques est que, dans la plupart des cas, l'IDS ne
prévient pas l'ensemble du système qu'il ne fonctionne plus. Ceci est d'autant plus dangereux
quand l’IDS ne sait pas s'il fonctionne correctement ou pas.
Ainsi, après avoir attaqué l'IDS, le pirate peut attaquer le système en toute impunité.
Par conséquent, un IDS doit pouvoir distinguer si un pirate attaque l'IDS ou le système des
machines protégées par l'IDS pour éventuellement prévenir le système [4].
8. Erreurs de classification :
Il existe plusieurs types d'erreurs venant d'un détecteur, influençant plus ou moins sa
puissance. Les vrais positifs sont les cas oùune alarme se déclenche quand il y a une violation
des politiques de sécurité. Les vrais négatifs sont les cas oùaucune alarme ne se déclenche et
rien d'anormal ne se produit. Les faux positifs sont les cas où une alarme se déclenche alors
qu'il ne se produit rien d'anormal. Les faux négatifs sont les cas oùune alarme ne se déclenche
pas alors qu'il se produit une chose anormale.
A première vue, on pourrait supposer qu'un faux positif est moins dangereux qu'un faux
négatif. Pour être plus précis, il faut regarder les coûts de ces erreurs.
1. DCost :
Le coût infligépar une attaque quand elle a lieu et que l'IDS n'est pas suffisamment
Performant pour l'arrêter.
28
Chapitre2 Les systèmes de detection d’intrusion
2. RCost :
Le coût pour agir contre une attaque quand elle a lieu.
3. CCost :
Le coût total d'une erreur. C'est-à-dire pour les faux négatifs, les faux positifs, Les vrais
positifs, les vrais négatifs et les non classables. Ainsi, les faux négatifs ont un DCost, les vrais
positifs et les faux positifs ont un RCost, les vrais négatifs ont un coût nul. Enfin, le coût
d'une mauvaise classification d'une attaque, c'est-à-dire d'une détection d’une agression alors
qu'une autre intrusion a lieu, est supposénégatif. Ainsi, on aura un DCost de la vraie attaque
et un RCost de l'agression supposée mais non apparue, tous deux étant inefficaces.
4. OpCost :
Le coût pour mettre en place l'IDS. Ceci incorpore le coût d'extraction des données, le
coût d'analyse des données, . . . lors de l'apprentissage et lors de l'exécution réelle de l'IDS.
Pour calculer les RCost et les CCost, il faut classifier les différents types d'attaques où
chaque partition aura son propre RCost et son propre CCost.
Ainsi, pour augmenter l'efficacitéde l'IDS, on pourra se demander si une attaque ayant
un RCost plus négatif que le DCost doit être détectée et il est préférable d'utiliser plusieurs
modèles spécialisés dans un IDS pour réduire les coûts des OpCost et ainsi augmenter la
rapiditéde l'IDS plutôt qu'un modèle généralisé[4].
9.1. L’Attaque :
On va utiliser les outils exploités par les attaquants pour détecter une faille dans le
système ou dans l'IDS, telles que les techniques d'évasion ou d'insertion.
9.2. L’Alarme :
On va regarder le taux des alarmes telles que les faux positifs.
29
Chapitre2 Les systèmes de detection d’intrusion
9.4. Le Réalisme :
Il est nécessaire de tester l'IDS dans un milieu réel et non pas uniquement avec un
générateur d'informations tel que «Network Security Auditor ».
9.8. L’Intégration :
Puisque les IDS ne suffisent pas pour garantir l'ensemble de la sécurité, ils doivent être
facilement installés et intégrés àson infrastructure.
9.9. L’Interaction :
Le nombre d'interactions entre un IDS et l'administrateur système doit être minime.
9.10. Le Dataset :
On va comparer les performances de l'IDS avec d'autres IDS grâce àdes datasets.
Ossec :
HIDS gratuit et facilement configurable qui fonctionne sur plusieurs OS tels que
Windows, Linux et MacOS.
30
Chapitre2 Les systèmes de detection d’intrusion
Bro :
NIDS gratuit construit par des groupes de recherche fonctionnant sur Unix. Il mélange
des signatures d'attaques connues et des comportements normaux pour détecter une intrusion.
IDSNet :
NIDS basé sur le machine learning, créé par le département «the Informatics and
Mathematical Modelling »de l'universitétechnique du Danemark (DTU) qui a permis à
d’implémenter son propre modèle de machine learning pour créer un NIDS.
Snort :
NIDS gratuit mélangeant les signatures d'attaques et des comportements normaux des
utilisateurs.
Prelude :
IDS hybride utilisant le format IDMEF (Intrusion Detection Message Exchange Format)
pour faire communiquer ses différentes Parties.
11.1. Motivations :
Cherchant initialement la notoriété, les pirates informatiques s’orientent maintenant vers
le profit. Leur but est de s’enrichir en utilisant les failles des systèmes ciblés. Qu’il s’agisse de
31
Chapitre2 Les systèmes de detection d’intrusion
Spam (envoi massif de mails non sollicités), de phishing (vol d’identité sur internet) ou encore
de dégradation de services grâce àdes attaques de déni de services, ces pirates ne visent plus
uniquement la popularité. Pour accélérer cet enrichissement, ils utilisent maintenant des
attaques àgrande échelle, telles que les scans de ports distribués, les vers ou les attaques par
déni de services distribuées. Ces attaques peuvent être automatisées et lancées à partir de
multiples réseaux, ce qui rend difficile la tâche de détection d’intrusions.
Effectivement, le morcellement des attaques permet de rendre moins suspect un
comportement malveillant. C’est pour réussir à détecter ce type d’attaques que les systèmes
de détection d’intrusions collaboratifs (CIDS) sont nés. Ces systèmes sont capables d’analyser
des événements provenant de multiples réseaux et de les corréler afin de déduire qu’une
attaque àgrande échelle est en train de se produire [19].
32
Chapitre2 Les systèmes de detection d’intrusion
DIDS est un CIDS qui se base sur cette approche. Proposée par Snapp et al. Cette
solution de sécurité est composée de trois types de composants : un système expert (le nœud
central), des HIDS et des NIDS. Les IDS collectent les données locales et les analysent. Une
fois qu’une donnée malveillante est détectée, elle est envoyée au système expert, grâce à un
format de message homogène. Le système expert décide ensuite s’il y a attaque globale ou
non.
Selon Vasilomanolakis et al. Un DIDS se repose sur une méthode de détection simpliste
qui peut facilement être outrepassée. De plus, ils ajoutent que le surcoût (en termes de
communication ou de calcul) augmente considérablement en fonction de la taille du réseau
surveillé. Pour finir, le système expert est un point individuel de défaillance (single-point of
Failure en anglais, ou SPOF), ce qui remet en cause la résistance aux fautes de cette solution.
NetSTAT est une solution assez similaire à DIDS. Elle se base également sur une
architecture client-serveur. Les IDS collectent les données locales et envoient les alertes àun
serveur central. Le serveur central détecte les intrusions en utilisant un mécanisme de machine
à états, décrit grâce à des signatures. Quant à la solution CRIM, l’architecture est similaire.
Leur méthode de détection se base sur un algorithme qui recherche les similarités entre les
alertes envoyées au serveur central.
Pour conclure sur cette approche, les CIDS centralisés ont généralement un très bon
taux de détection d’intrusions. Mais il y a deux désavantages majeurs pour cette approche.
Le premier concerne le nœud central, qui est un point individuel de défaillance. Si le nœud
d’analyse est désactivé, la corrélation d’alertes n’est plus utilisable. D’autre part, en cas
33
Chapitre2 Les systèmes de detection d’intrusion
d’attaque coordonnée, le nœud d’analyse devra être capable de gérer l’ensemble des alertes
envoyées par les nœuds collecteurs. Pour de grosses attaques, il est possible que des alertes
soient ignorées ou que la détection soit différée [19].
34
Chapitre2 Les systèmes de detection d’intrusion
Basée sur cette approche, Graph Based Intrusion Detection System (GrIDS) est une
solution destinée àêtre déployée sur de larges réseaux. Le réseau de protection est séparéen
départements, qui sont eux-mêmes organisés grâce à une structure en arbre. Chaque
département contient un système d’analyse et de multiples NIDS et/ou HIDS. Chacun de ces
IDS analyse les événements locaux et envoie les alertes au système d’analyse du département.
D’autre part, chaque département contient un moteur de graphe et un module de
communication. Ce dernier se charge de la communication entre les départements. Le moteur
de graphe est responsable de l’analyse des événements locaux et de l’agrégation de ces
informations, qui seront ensuite transmises au niveau supérieur si nécessaire. Autonomous
Agents for Intrusion Detection (AAFID) est également basésur cette approche hiérarchique.
Contrairement àla solution précédente, celle-ci n’est pas décomposée en départements,
mais les différents rôles des sondes en jeu sont les mêmes.
AAFID est composé de trois types de sondes : des agents, des récepteurs et des
moniteurs. Les agents analysent les événements locaux et génèrent des rapports d’alerte
lorsqu’une intrusion est détectée. Ces rapports sont envoyés aux récepteurs, qui supervisent
les agents et corrèlent les informations. Les moniteurs reçoivent des rapports synthétiques de
la part des récepteurs et peuvent corréler les rapports de plusieurs récepteurs. Quant àEvent
Monitoring Enabling Responses to Anomalous Disturbances (EMERALD), il s’agit d’un
CIDS qui définit plusieurs domaines de surveillance : service, département et entreprise. Cette
notion de domaine s’approche de la notion de département de GrIDS, mais EMERALD
permet d’établir des départements de départements. Chaque domaine est responsable de la
détection d’intrusions dans son groupe et envoie des rapports àla couche supérieure, qui sera
capable de corréler des informations venant de plusieurs domaines inférieurs.
L’approche hiérarchique passe plus facilement à l’échelle que l’approche centralisée.
Cependant, si le nœud responsable de la communication entre deux niveaux de groupes vient
àêtre désactivé, une branche entière de la structure est déconnectée de la hiérarchie. Pour finir,
les nœuds de niveau élevé sont généralement peu précis en ce qui concerne la corrélation
d’alertes, car les données envoyées sont généralement incomplètes ou trop abstraites [19].
35
Chapitre2 Les systèmes de detection d’intrusion
détectent localement les attaques et sont capables de corréler les informations des nœuds
voisins pour détecter les attaques coordonnées.
La Figure illustre cette approche et propose une structure composée de plusieurs nœuds.
Chaque nœud est équipé d’un module de détection et d’un module de corrélation. Les nœuds
détectent localement les intrusions lorsque cela est possible. Si cela est nécessaire, ils vont
faire appel à l’information des nœuds du réseau pour pouvoir compléter l’analyse de leurs
données.
Intrusion Detection and Rapid Action (INDRA) est un CIDS distribué, composé de
moniteurs qui reposent sur Pastry, une table de hachage distribuée (DHT).
Tous les moniteurs sont constitués d’un collecteur d’événements et d’un module
d’analyse. Lorsqu’une attaque est détectée, un système de défense proactif est activé, pour
canaliser l’attaque. Les moniteurs sont capables de corréler les informations du réseau
surveillégrâce àla DHT, qui offre des fonctionnalités de recherche de données. DOMINO est
une solution basée sur une architecture hybride, avec trois types d’entités : les nœuds axis, les
communautés satellites et les nœuds contributeurs.
Les nœuds axis sont les nœuds principaux de cette solution : ils se chargent de la
collecte des données et de leur analyse. Ils sont considérés comme fiables et communiquent
grâce à un protocole pair à pair. Les communautés satellites sont des réseaux de nœuds
satellites, organisées dans un schéma hiérarchique et sont supervisées par un nœud axis. Les
36
Chapitre2 Les systèmes de detection d’intrusion
nœuds contributeurs sont d’autres solutions de sécurité, jugées non fiables, qui peuvent
contribuer àla sécuritédu réseau en sa globalité.
L’avantage de l’approche distribuée est sa résistance aux fautes : si un nœud tombe en
panne ou est infecté, le système sera tout de même capable de continuer sa tâche de
corrélation d’alertes.
Toutefois, des avis négatifs sont exprimés sur ce type d’approche. Les critiques qui
leurs sont faites portent principalement sur deux points : détection d’attaques imprécise ou
répartition de la charge inégale [19].
37
Chapitre2 Les systèmes de detection d’intrusion
Synthèse :
Il y a un grand nombre de problèmes soulevés par les méthodes de détection utilisées
par les CIDS. Notamment, est-il possible d’avoir une méthode de corrélation expressive et
peu coûteuse en calculs ? Ou encore, comment maximiser le taux de détection sans pour
autant imposer un surcoût important en communication ou en calculs ? Chacune des
approches a des avantages et des inconvénients et aucune ne parvient à proposer une
technique àla fois efficace et expressive.
En effet, la corrélation par similitudes est efficace mais reste limitée dans sa capacitéà
découvrir des attaques complexes, décomposées en plusieurs étapes. Quant à la corrélation
par filtrage, il est nécessaire de donner une description précise de l’ensemble des systèmes à
surveiller, ce qui est irréalisable dans un parc de machines important. En ce qui concerne la
recherche de scénarios ou la corrélation d’attaques multi-étapes, elles proposent un taux de
détection élevé mais nécessitent des analyses coûteuses et des solutions de stockage
importantes [19].
38
Chapitre2 Les systèmes de detection d’intrusion
12.Conclusion :
Dans les multiples technologies de défense informatique, les IDS occupent une place
d'excellence. Ceci est dû au fait, qu'ils permettent l'analyse du trafic, seul moyen en absence
de connaissance àpriori, pour détecter d'éventuelles attaques contre les systèmes. Nous avons
vu que les IDS se diffèrent selon différents critères de conception, et d'utilisation. Dans notre
étude, nous visons à améliorer la précision des analyseurs des IDS par la proposition de
39
Chapitre2 Les systèmes de detection d’intrusion
nouvelles architectures de classifieurs. Dans le chapitre suivant, nous détaillons notre étude, et
nous montrons comment sont-ils construits des classifieurs d'ensemble, en se basant sur des
classifieurs de base.
40
Chapitre3 Combinaison de classifieurs par AdaBoost pour la detection d’intrusion
1.Introduction :
Parceque il n’existe pas un meilleur classifieur capable d’apprendre n’importe quelle
distribution des données d’apprentissage, de classifier suffisamment correctement un
ensemble important de classes, de plus régler un classifieur est un problème extrement
difficile puisque on procède souvent par essai/erreur.
C’est pour sa on a besoin de distribuer les caractéristiques sur un ensemble de
classifieurs adaptés et d’exploiter la complémentarité entre cet ensemble en prenant compte
les performances de chaque classifieur, aussi pour résoudre un problème complexe il est
mieux de le décomposé en plusieurs sous-problèmes qui sont faciles à comprendre et à
résoudre par un ensemble de classifieur.
Dans ce chapitre nous montrons l’intérêt d’un ensemble de classifieurs et nous
concentrons sur l’AdaBoost avec trois classifieurs qui sont la machine à vecteurs de support
(SVM), le NaiveBayes et l’arbre de decision.
41
Chapitre3 Combinaison de classifieurs par AdaBoost pour la detection d’intrusion
où : P(ci) est la probabilité à priori qu'un objet quelconque (sans savoir son vecteur de
caractéristiques) appartienne àla classe ci, et P(xo / ci) est la probabilitéde vraisemblance.
Si on suppose l'indépendance des composants du vecteur xo l’expression P (xo / ci) est
calculée comme suit :
En considérant les aspects volume et incomplétude des données caractérisant les Big
data, le classifieur bayesien est efficace pour la classification de ce type de données. D'une
part, les estimations de probabilités, qui sont simples dans cet algorithme, se font par des
calculs très peu coûtant en temps, ce qui rend le classifieur utilisable avec les ensembles de
données volumineux. D'autre part, l'estimation des données manquantes est possible grâce aux
distributions de probabilités, estimées àpartir des données existantes [20].
42
Chapitre3 Combinaison de classifieurs par AdaBoost pour la detection d’intrusion
{−1, 1} pour lequel les exemples sont linéairement séparables par une fonction f(X) = W.X+b.
Un hyperplan admissible permettant de séparer ces exemples dans l’espace des attributs
a une équation de la forme W.X + b = 0, et vérifie :
(W.Xi + b) = +1 si Yi = +1 (1)
(W.Xi + b) = −1 si Yi = −1
L’hyperplan admissible pour lequel la distance aux points les plus proches est maximale
est dit optimal, car il maximise la marge entre les deux sous régions de l’espace ainsi formées.
La marge étant égale à2/||W||, maximiser la marge revient àminimiser la norme ||W|| sous les
contraintes données dans l’équation (1). La reformulation du problème d’optimisation
s’exprime :
Min 1/2||W||2
(W.Xi + b) Yi ≥ 1 ∀i ∈ {1, . . ., N}
Une telle approche minimise le risque empirique tout en cherchant à améliorer les
propriétés en généralisation du modèle appris par maximisation de la marge géométrique
entre les deux régions de décision ainsi formées.
Après l’optimisation on obtient les équations suivantes :
43
Chapitre3 Combinaison de classifieurs par AdaBoost pour la detection d’intrusion
ArbreDecision(T)
Si "condition d'arret"
Retourner feuille(T)
Sinon
Choisir le "meilleur" attribut i entre 1 et m
Pour chaque valeur v de l'attribut i
T[v] = {(x, y) de T tels que x_i = v}
t[v] = ArbreDecision(T[v])
Fin pour
Retourner noeud (i, {v -> t[v]})
Fin si
Oùnoeud (i, {v → tv}) désigne le constructeur d’un nœud qui teste l’attribut i et
possède un descendant tv pour chaque valeur v possible. Les parties entre guillemets
correspondent àdes choix heuristiques propres àchaque algorithme :
Condition d’arrêt :
Elle influe sur la profondeur et la précision du prédicteur produit. Par exemple, la
condition |T| = 1 produira des arbres très précis sur l’ensemble d’entraînement (i.e. pour une
instance (x, y) ∈ T, la prédiction pour x sera exactement y) mais également très profonds,
donc longs àcalculer, et qui risquent de surapprendre les données d’entraînement.
Meilleur attribut :
Il s’agit d’évaluer localement quel attribut apporte « le plus d’information »(ou encore
«est le plus corrélé») au résultat àprédire. On verra plusieurs tels critères par la suite.
Lorsque l’attribut xi est à valeurs réelles, on adapte l’algorithme ci-dessus en choisissant
une valeur de partage (split value) v et en effectuant le test xi ≤ v. On notera «noeud
(i, v, t≤, t>) » le constructeur associé. En particulier, si tous les attributs sont réels, l’arbre de
décision obtenu est binaire.
41
Chapitre3 Combinaison de classifieurs par AdaBoost pour la detection d’intrusion
Fin si
42
Chapitre3 Combinaison de classifieurs par AdaBoost pour la detection d’intrusion
semble donc que AdaBoost soit plus efficace que le bagging, mais le bagging reste le plus
efficace au sens de la réduction de la variance [23].
3.2. Le Bagging :
3.2.1. Le principe :
Le bagging est une méthode d’ensemble qui introduit la technique du rééchantillonnage
dans la production d’un ensemble de classifieurs (Breiman - 1996a). A partir d’un ensemble
d’apprentissage original An, cette méthode consiste à générer plusieurs ensembles de données
indépendants de taille n par bootstrap (tirage aléatoire avec remise dans An de n couples (xi;
yi) de données étiquetées). Pour chaque échantillon ainsi généréon construit un classifieur en
utilisant le même algorithme d’apprentissage. La décision finale est obtenue par vote
majoritaire.
Breiman (1996a) signale qu’il est important d’avoir un algorithme d’apprentissage
instable (i.e. sensible aux changements des données d’apprentissage) et qu’il s’agit d’une
condition préalable pour que le bagging fonctionne efficacement. Par exemple, les
algorithmes d’apprentissage tels que les arbres de décision sont instables.
43
Chapitre3 Combinaison de classifieurs par AdaBoost pour la detection d’intrusion
Les études de Breiman (1996b, 1997) et Dietterich (2000) montrent que le bagging
fonctionne en réduisant la variance de l’erreur de classification en laissant le biais inchangé.
Le biais et la variance de l’erreur sont deux critères utiles pour étudier le comportement d’un
algorithme d’apprentissage et sont donc souvent employés pour la conception d’ensembles de
classifieurs (Valentini et Dietterich - 2002, 2004 ; Buciu et al. - 2006) [23].
44
Chapitre3 Combinaison de classifieurs par AdaBoost pour la detection d’intrusion
permettent de contrôler l’apprentissage. Une autre propriété intéressante du boosting est qu’il
tend à détecter les exemples aberrants (outliers) puisqu’il leur donne un poids
exponentiellement grand en cours d’apprentissage [26].
4. Démarche de construction :
4.1. Le principe :
Afin de montrer l’intérêt de combinaison de classifieur pour la detection d’intrusion,
nous construisons des classifieurs d’ensemble en utilisant les algorithmes de la littérature, à
savoir l’algorithme de BAGGING et l’algorithme AdaBoost avec 3 classifieurs de base à
savoir le SVM, le naïf Bayes, et l’arbre de décision.
Le but est de comparer, d’une part les deux algorithmes d’ensemble, et d’autre part
d’identifier le meilleur classifieur de base pour la construction du classifieur d’ensemble
(Figure 3.2 et Figure 3.3).
Arbre de
SVM KDDcup99 Naïve KDDcup99
KDDcup99
Décision
Bayes
Comparaison
45
Chapitre3 Combinaison de classifieurs par AdaBoost pour la detection d’intrusion
Arbre de
SVM KDDcup99 Naïve KDDcup99
KDDcup99
Décision
Bayes
Comparaison
KDDcup99
Echantionner
… …………..
41
Chapitre3 Combinaison de classifieurs par AdaBoost pour la detection d’intrusion
Algorithme 5 : Echantillonnage
Entrée : Dataset KDDcup99.
Sorties : les sous-datasets SOUSDS1, …, SOUSDS M
Pour i=1 jusqu’à M Faire
SOUSDSi = Ø
Pour j=1 jusqu’à N/M Faire
k=Random(N)
SOUSTest = Ø
Pour j=1 jusqu’à N/M Faire
i=Random(N)
k=Random(N/M)
41
Chapitre3 Combinaison de classifieurs par AdaBoost pour la detection d’intrusion
5.Conclusion :
Nous avons proposédans ce chapitre une méthodologie de construction de classifieurs
d’ensemble pour la detection d’intrusion à base des données de trafic réseau, nous avons
considéré les 2 algorithmes les plus utilisé en matière de construction de classifieurs
d’ensemble à savoir l’AdaBoost et le BAGGING, d’autre part nous avons considéré 3
classifieurs de base sont le SVM, le NaiveBayes et L’arbre de décision.
42
Chapitre4 Implémentation et test
1.Introduction :
Après que nous avons présenté notre méthodologie de construction de classifieurs
d’ensemble pour la detection d’intrusion à base des données du trafic réseau dans le chapitre
précédent. Dans ce chapitre, nous allons tout d'abord présenter les outils utilisés pour la
réalisation de notre méthodologie. Par la suite, nous définissons la base de test (KDDcup99),
et nous décrivons l'ensemble des résultats du test obtenus qui va nous permettra la validation
de notre méthodologie.
2.Outils et Plateformes :
2.1. Le langage de programmation «Java »:
Le langage Java est un langage de programmation récent, il trouve ses origines dans les
années 90. Celui-ci fait partie de la «grande famille »des langages orientés objets.il répond
donc aux trois principes fondamentaux de l’approche orientés objets.il répond donc aux trois
principes fondamentaux de l’approche orientée objet(POO) : L’encapsulation, le
polymorphisme et l’héritage.
Java est un langage multi plateforme qui permettrait d’écrire une fois pour toutes les
applications capables de fonctionner dans tous les environnements, cela implique la définition
d’une machine virtuelle java (JVM) sur laquelle les programmes écrits fonctionnent, ainsi que
la réalisation de cette machine virtuelle dans tous les environnements concernés.
Java a rapidement intéresséles développeurs pour quatre raisons principales :
*C’est un langage orienté objet dérivé du C, mais plus simple à utiliser et plus «pur »que le
C++.on entend par «pur » le fait qu’en Java, on ne peut faire que de la programmation orienté
objet, c’est-à-dire autorisant plusieurs styles de programmation.
*Il est doté, en standard, de bibliothéques de classes très riches comprenant la gestion des
interfaces graphiques (fenêtres, boites de dialogues, contrôles, menus, graphisme), la
programmation multi threads (multitâches), la gestion des exceptions, les accès aux fichiers et
au réseau …L’utilisation de ces bibliothéques facilitent grandement la tache du programmeur
lors de la construction d’applications complexes.
*Il est doté, en standard, d’un mécanisme de gestion des erreurs (les exceptions) très utile et
performant.
*il est multi plate formes : les programmeurs tournent sans modification sur tous les
environnements (Windows, Unix et Mac) [27].
52
Chapitre4 Implémentation et test
53
Chapitre4 Implémentation et test
3. Le Dataset Kddcup99 :
Les données utilisées pour nos expérimentations sont des données réelles issues de la
base KDD-Cup 1999. Elles ont étépréparées et contrôlées par les laboratoires MIT Lincoln
pour le programme d'évaluation de détection d'intrusion DARPA 1998. Ces données ont aussi
étéutilisées pour le concours de détection d'intrusions de KDD 1999. Chaque connexion est
étiquetée en tant que connexion normale ou attaque, avec le type spécifique d'attaque. Les
attaques trouvées sont classées selon quatre catégories principales comme le montre le tableau
suivant :
ftp write, guess passwd, imap, multihop, phf, spy, warezmaster R2L
• La catégorie DOS provoque un déni de service via des requêtes d’écho ICMP, manipulées
à une adresse de diffusion d’un réseau.
• U2R (User to Root attacks) : l’attaquant essaie d’avoir les droits d’accès au système par le
biais d’un poste.
• R2L (Remote to Local access) : Ce type d’attaque essaie d’exploiter la vulnérabilité du
système afin de contrôler la machine distante.
54
Chapitre4 Implémentation et test
• Probe (sondage et surveillance) : Ces actions ne sont pas vraiment des attaques
puisqu’elles ne sont pas ” destructrices ”elles n’empêchent pas une entité de fonctionner
correctement, mais permettent d’acquérir des informations parfois cruciales pour mener une
attaque de plus grande envergure plus tard.
Ces données sont décrites au moyen de différentes variables explicatives. Pour une
meilleure compréhension, celles-ci ont étéclassifiées en cinq types. Les variables d'une même
machine décrivent seulement les connexions faites durant les deux dernières secondes et ayant
le même destinataire que la connexion courante. Les variables de même service décrivent
seulement les connexions faites durant les deux dernières secondes et ayant le même service
que la connexion courante. On trouve aussi des variables de connections TCP individuelles.
Enfin, il existe des variables qui indiquent un comportement anormal dans les données, ainsi
le nombre de tentatives d'ouverture échouées. Il s'agit des variables de contenu.
Les données KDD-Cup 1999 correspondent à environ quatre giga-octets de données
binaires Tcpdump compressées, contiennent sept semaines du trafic de réseau. Ceci a été
transformé en environ cinq millions de connexions. Les données d'apprentissage KDD-Cup
99 possèdent 4,900,000 connexions étiquetées normale ou attaque. Chaque connexion
contient 41 variables descriptives. Le tableau suivant, donne la répartition exacte d'un
échantillon de 10% des données utilisé lors de la compétition, nommé LS-10%, selon les
différentes étiquettes de connexions.
55
Chapitre4 Implémentation et test
56
Chapitre4 Implémentation et test
57
Chapitre4 Implémentation et test
58
Chapitre4 Implémentation et test
5. Expérimentations :
Dans la suite de cette section, nous présentons les résultats des différentes
expérimentations, en considérant les différents cas de figures vus précédemment. Nous
commençons par les résultats des classifieurs pris individuellement, en suite nous présentons
les résultats pour les classifieurs d'ensemble.
59
Chapitre4 Implémentation et test
60
Chapitre4 Implémentation et test
61
Chapitre4 Implémentation et test
6. Discussion :
Les différentes expérimentations réalisées montrent l’efficacité du classifieur arbre de
decision (J48) par rapport au SVM et NaiveBayes que ce soit individuellement ou avec
L’AdaBoost et le Bagging dans la classification des connexions.
De plus les trois classifieurs que ce soit chacun ou ensemble avec AdaBoost est un peu
meilleur qu’avec Bagging. Nous recommandons donc la combinaison des classifieurs J48 en
utilisant l'algorithme d'AdaBoost. Par ailleurs, avec cette combinaison, le temps d'exécution,
que soit en apprentissage ou en test est moins d'une minute, ce qui donne un aspect temps réel
àl'analyse du trafic réseau par cette combinaison.
7. Conclusion :
Ce chapitre a été consacré à la comparaison de l’ensemble de classifieurs avec
l'AdaBoost et le Bagging pour la détection d’intrusion. Plusieurs expérimentations ont été
effectuées pour mesurer la performance des deux stratégies de boosting et de bagging dans la
62
Chapitre4 Implémentation et test
détection d’intrusion avec l’application des deux algorithmes « AdaBoost » et « Bagging »et
l’ensemble de données KDDcup’99.
Les résultats obtenus par « AdaBoost » et « Bagging », montrent que la qualité de
classification dépend du choix de classifieurs de base et elle est meilleure avec le classifieur
J48.
63
Conclusion générale :
Dans ce mémoire, nous nous sommes intéressés aux méthodes d’ensemble pour la
détection des intrusions. Plus précisément, nous avons abordé la méthode de boosting et
particulièrement l’algorithme AdaBoost en collaboration avec quelques techniques
d’apprentissage automatique comme le NaiveBayes, les machines àvecteur de support (SVM)
et les forets aléatoires.
Et pour ne pas commencer de zéro, nous avons utiliséla bibliothèque WEKA qui est
une collection d’algorithmes d’apprentissage automatique pour la fouille des données.
Ce travail avait pour but, d’obtenir un modèle pour la détection d’intrusion. Pour apprendre et
tester ce modèle nous avons utiliséla base de données KDDcup99.
Les expérimentations que nous avons menéet les résultats que nous avons obtenu ont
prouvé qu’un ensemble de classifieurs avec l’algorithme AdaBoost est la meilleure façon pour
détecter les intrusions, avec un taux de detection plus élevécomparéàl'utilisation d'un seul
classifieur.
En perspective àce travail, il est possible de tester les techniques de construction des
classifieurs d'ensemble sur d'autres données de sécurité, telles que les données d'attaques par
malwares.
64
Bibliographie
[1] : M. TOUATI Azeddine, Détection d’intrusions dans les réseaux LAN : Installation
et configuration de l’IDS-SNORT, Diplôme de Master, UniversitéA /Mira de Bejaïa, 2015-
2016.
[2] : Michaël AMAND et Mohamed NSIRI, Etude d’un système de détection d’intrusion
comportemental pour l’analyse du trafic aéroportuaire, Rapport de projet tutoré, 27 janvier
2011.
[3] : Mme. BOUKHLOUF Djemaa, Une approche à base d’agents mobiles pour la sécurité
des systèmes d’informations sur le web, Thèse de Doctorat, UNIVERSITE MOHAMED
KHIDER BISKRA,2016.
[4] : Liran LERMAN, Les systèmes de détection d'intrusion basés sur du machine learning,
UNIVERSITÉ LIBRE DE BRUXELLES.
[5] : Jonathan Krier, Les systèmes de détection d'intrusions, document réalisédans le cadre
d'un sujet d'initiation à la recherche en Master, publié sur le site web Developpez.com, 21
juillet 2006.
[6] : Melle AISSAOUI Sihem, Apprentissage automatique et sécurité des systèmes
d’information avec l’Application : Un système de détection d’intrusion basé sur les
Séparateurs àVaste Marge (SVM), Diplôme de Magister, Université d’Oran Es-senia,
2007-2008
[7] : Melle Asma CHIKH et Melle Amina DJENNANE, Sécurité d’une application Web à
l’aide d’un système de détection d’intrusions comportementale, Diplôme de Master,
UniversitéAbou Bakr Belkaid– Tlemcen, 2011-2012.
[08] : https://fr.wikipedia.org/wiki/Logiciel_espion.html
[09] : https://fr.wikipedia.org/wiki/Spam.html
[10] : Cisco et la sécurité, Dossier de presse, Novembre 2004
[11] : https://www.guill.net
[12] : https://fr.wikipedia.org/wiki/ Système_de_détection_d'intrusion.html
[13] : Mlle BELKHATMI Keltouma et Mlle BENAMARA Ouarda, Mise en place d’un
systéme de détection et de prévention d’intrusion, Diplôme de Master, UniversitéA/Mira de
Béjaïa, 2015-2016.
[14] : M. Tran Van Tay, LE SYSTÈME DE DÉTECTION DES INTRUSIONS ET LE
SYSTÈME D’EMPÊCHEMENT DES INTRUSIONS (ZERO DAY), Rapport de stage de fin
d’études, Institut de la Francophonie pour l'Informatique – Montréal, Février 2005.
65
[15] : Emna BAHRI, Amélioration des méthodes adaptatives pour l'apprentissage supervisé
des données réelles, Thèse de doctorat, UniversitéLumière Lyon 2, 8 décembre 2010
[16] : Guillaume Hiet, Détection d’intrusions paramétrée par la politique de sécuritégrâce au
contrôle collaboratif des flux d’informations au sein du système d’exploitation et des
applications : mise en œuvre sous Linux pour les programmes Java, Thèse de doctorat,
UNIVERSITÉ DE RENNES 1, 19 décembre 2008.
[17] : DABOUR Imane et HADJI Imène, Etude et mise en place d’un système de
détection/prévention d’intrusion (IDS/IPS) réseau. Etude de cas SNORT, Diplôme de License,
UniversitéAbou Bakr Belkaid– Tlemcen, 2013-2014.
[18] : Abdelhalim ZAIDI, Recherche et détection des patterns d’attaques dans les réseaux IP
àhaut débits, Thèse de doctorat, UNIVERSITE D'EVRY VAL D'ESSONNE, Janvier 2011.
[19] : Damien Riquet, Discus : Une architecture de détection d’intrusions réseau distribuée
basée sur un langage dédié, Thèse de doctorat, UniversitéLille 1, 3 décembre 2015.
[20] : Rabah Mazouzi, Approches collaboratives pour la classification des données
complexes, Thèse de doctorat, l'UniversitéParis 8, 12/12/2016.
[21] : David Gacquer, Sur l’utilisation active de la diversitédans la construction d’ensembles
de classifieurs. Application àla détection de fumées nocives sur site industriel, Thèse de
doctorat, l’universitéde Valenciennes et du Hainaut-Cambrésis, 5 décembre 2008.
[22] : https://scaron.info/doc/intro-arbres-decision.
[23] : Yuan DONG, Modélisation probabiliste de classifieurs d’ensemble pour des
problèmes àdeux classes, Thèse de doctorat, l’Université de Technologie de Troyes, 08 Juillet
2013.
[24] : Hassan CHOUAIB, Sélection de caractéristiques : méthodes et applications, Thèse de
doctorat, l'universitéParis Descartes, 8 juillet 2011.
[25] : Joseph Salmon, Travaux Pratiques : Bagging et Boosting pour la Classification Binaire
Supervisée.
[26] : https://www.lri.fr/~antoine/Courses/Master-ISI/section-boosting.pdf.
[27] : http://t-dev-info.blogspot.com/2012/11/module-11-langage-de-programmation.html
[28] : https://www.c-s.fr/Eclipse-bien-plus-qu-un-environnement-de-
developpement_a780.html.
[29] : http://www.plantie.fr/EMA/projetdatamining/fouille2010-1/docs/weka1.pdf
66
[30] : CHAIRI IKRAM, Sélection des Echantillons pour le Problème de classification en
Distributions déséquilibrées, Thèse de doctorat, UNIVERSITE ABDELMALEK ESSAADI
ECOLE NATIONALE DES SCIENCES APPLIQUEES TANGER, 25 Juillet 2014
67