Vous êtes sur la page 1sur 85

République Algérienne Démocratique et Populaire

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


Université20 Aout 1955-SKIKDA

Facultédes Sciences
Département d’Informatique

Mémoire de fin d’études en vue de l’obtention du diplôme de


Master professionnel en Informatique
Option : Réseaux et Systèmes Distribues (RSD)

Thème

Méthodes d’ensemble en machine


learning pour la détection d’intrusion

Réalisépar : Encadre par :


BOUSEBSI Amel Dr. MAZOUZI Smaine
BOUKADOUM Meriem

Session : Juin 2018


Remerciement
Nous tenons à remercier Allah de nous avoir donner la force, le
courage et la patience pour réaliser ce mémoire.
Nous tenons à remercier en premier lieu Mr Mazouzi
Smaine pour nous avoir proposé ce sujet et pour ses visions, et ses
conseils qui nous ont guidé tout au long de notre travail.
Nous tenons à remercier également les membres de jury pour
nous avoir honoré d'accepté d’évaluer notre modeste travail.
Nous tenons à remercier tous Les professeurs qui nous ont
enseigné durant cette année.
Enfin, Nous remercions toutes les personnes qui nous ont
conseillé, guidé, encouragé et soutenu tout au long de cette année,
et qui ont contribué de prés ou de loin à l’aboutissement de ce
travail.

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.

Dans ce mémoire, nous avons abordé l’ensemble de classifeurs, plus précisément la


méthode boosting avec quelques techniques d’apprentissage automatique comme
NaiveBayes, les machines avec vecteur de support (SVM) et arbres de décision, et ce afin
d’obtenir un meilleur modèle pour les systèmes de detection d’intrusion, et aboutir àde bons
taux de détection.

Mots Clés : sécuritédes réseaux informatiques, systéme de detection d’intrusion, boosting,


bagging, ensemble de classifieurs.

‫ملخص‬

‫ من‬.‫تتعرض شبكات الكمبيوتر لعدة أنواع من الهجمات ولهذا نحتاج إلى طرق لحمايتها‬
‫ مع التطور الذي أثر على تقنيات‬، ‫ ومع ذلك‬.‫بين هذه الوسائل نذكر أنظمة كشف التسلل‬
.‫ لم تعد هذه األنظمة تعطي نتائج جيدة‬، ‫الهجوم‬

‫ وبالتحديد طريقة التعزيز مع بعض‬، ‫ ناقشنا مجموعة المصنفات‬، ‫في هذه األطروحة‬
‫( وأشجار‬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.

Keywords: computer network security, intrusion detection system, boosting, bagging,


ensemble of classifiers.
Sommaire
Introduction Générale ................................................................................................................. 1

Chapitre 1 : La Sécuritédes Réseaux Informatiques


1. Introduction ............................................................................................................................ 3
2.Attaque et SécuritéInformatique ............................................................................................ 3
3. Sécuritédes réseaux informatiques ........................................................................................ 3
3.1. Définition ......................................................................................................................... 3
3.2. Terminologie.................................................................................................................... 4
4.Les objectifs de La sécurité d’un réseau informatique ............................................................ 4
4.1. La confidentialité............................................................................................................. 4
4.2. L’authentification ............................................................................................................ 4
4.3. L’intégrité ........................................................................................................................ 5
4.4. La disponibilité................................................................................................................ 5
4.5. La non répudiation de l’origine ....................................................................................... 5
4.6. La non répudiation de la délivrance................................................................................. 5
4.7. Le contrôle d’accès .......................................................................................................... 5
4.8. Le secret du flux .............................................................................................................. 6
4.9. Le confinement ................................................................................................................ 6
5. Schéma d'une attaque ............................................................................................................. 6
6. Les types d’attaques ............................................................................................................... 6
6.1. Les attaques réseau .......................................................................................................... 6
6.1.1. Les techniques de scan .............................................................................................. 7
6.1.2. IP Spoofing ............................................................................................................... 7
6.1.3. ARP Spoofing (ou ARP Redirect) ............................................................................ 8
6.1.4.DNS Spoofing ............................................................................................................ 8
6.1.5. Fragments attacks ..................................................................................................... 9
6.1.6.TCP Session Hijacking .............................................................................................. 9
6.2. Les attaques applicatives ............................................................................................... 10
6.2.1. Les problèmes de configuration .............................................................................. 10
6.2.2. Les bogues .............................................................................................................. 10
6.2.3. Les buffer overflows ............................................................................................... 10
6.2.4. Les scripts ............................................................................................................... 11
6.2.5. Les injections SQL.................................................................................................. 11
6.2.6. Man, in the middle .................................................................................................. 11
6.3. Le Déni de service ......................................................................................................... 11
6.4. Les attaques des données ............................................................................................... 12
6.4.1. Virus........................................................................................................................ 13
6.4.2. Vers ......................................................................................................................... 13
6.4.3. Cheval de Troie ....................................................................................................... 13
6.4.4. Les bombes logiques ............................................................................................... 13
6.4.5. Porte dérobée .......................................................................................................... 14
6.4.6. Logiciel espion ........................................................................................................ 14
6.4.7. Spam ....................................................................................................................... 14
7. Outils de sécurité.................................................................................................................. 14
7.1. Antivirus ........................................................................................................................ 14
7.2. Pare-feu (Firewall) ......................................................................................................... 14
7.3. Cryptographie ................................................................................................................ 15
7.4. Réseau privévirtuel (VPN) ........................................................................................... 15
7.5. Système de détection d’intrusion (IDS) ......................................................................... 16
8.Conclusion ............................................................................................................................. 16

Chapitre 2 : Les Systèmes de Détection d’Intrusion


1.Introduction ........................................................................................................................... 17
2.Définition de la Détection d’intrusion ................................................................................... 17
3.Pourquoi a-t-on besoin de l’IDS............................................................................................ 17
4. Architecture d’un IDS .......................................................................................................... 18
5. Critères de Choix d’un IDS .................................................................................................. 19
5.1. Fiabilité ......................................................................................................................... 19
5.2. Réactivité....................................................................................................................... 19
5.3. Facilité de mise en œuvre et adaptabilité ....................................................................... 19
5.4. Performance ................................................................................................................... 20
6.Classification des systèmes de détection d’intrusions(IDS).................................................. 20
6.1. Selon l’emplacement dans le réseau informatique ........................................................ 20
6.1.1. Système de détection d'intrusion machine (HIDS) ................................................. 20
6.1.2. Système de détection d'intrusion réseau (NIDS) .................................................... 21
6.1.3. Système de détection d'intrusion hybride (Hybrid IDS) ......................................... 22
6.2. Selon le principe de détection des attaques ................................................................... 22
6.2.1. Approche par scénario ............................................................................................ 23
6.2.2. Approche comportementale .................................................................................... 23
6.3. Selon la fréquence d’utilisation ..................................................................................... 25
6.4. Selon le comportement après la détection des attaques ................................................. 25
6.5. Selon la Stratégie de contrôle ........................................................................................ 26
6.5.1. Centralisée .............................................................................................................. 26
6.5.2. Partiellement distribuée .......................................................................................... 26
6.5.3. Entièrement distribuée ............................................................................................ 26
7.Attaques contre les IDS ......................................................................................................... 26
8. Erreurs de classification ....................................................................................................... 28
9. Les Différents méthodes pour tester les IDS ........................................................................ 29
9.1. L’Attaque ....................................................................................................................... 29
9.2. L’Alarme........................................................................................................................ 29
9.3. La Qualitédes informations........................................................................................... 29
9.4. Le Réalisme ................................................................................................................... 30
9.5. La Flexibilitéet le mise àjour ....................................................................................... 30
9.6. La Qualitédes signatures ............................................................................................... 30
9.7. La Rapiditédu système .................................................................................................. 30
9.8. L’Intégration .................................................................................................................. 30
9.9. L’Interaction .................................................................................................................. 30
9.10. Le Dataset .................................................................................................................... 30
10. Logiciels existants .............................................................................................................. 30
11. Systèmes de détection d’intrusions distribués et collaboratifs ........................................... 31
11.1. Motivations .................................................................................................................. 31
11.2. Architecture des IDS collaboratifs............................................................................... 32
11.2.1. Approche centralisée ............................................................................................. 32
11.2.2. Approche hiérarchique .......................................................................................... 34
11.2.3. Approche distribuée .............................................................................................. 35
11.3. Méthodes de détection ................................................................................................. 37
11.3.1. Corrélation par similitudes.................................................................................... 37
11.3.2. Recherche de scénario d’attaques ......................................................................... 37
11.3.3. Corrélation d’attaques multi-étapes ...................................................................... 38
11.3.4. Corrélation par filtrage de données ....................................................................... 38
11.4. Dissémination des données .......................................................................................... 39
12.Conclusion ........................................................................................................................... 39

Chapitre 3 : Combinaison de classifieurs par AdaBoost pour la detection


d’intrusion
1.Introduction ........................................................................................................................... 41
2.Les classifieurs en détection d’intrusion ............................................................................... 41
2.1 Classifieur bayesien naïf................................................................................................. 42
2.2. Classifieur machine àvecteur de support(SVM) ........................................................... 42
2.3. Classifieur Arbre de Décision ........................................................................................ 44
3.Combinaison des classifieurs ................................................................................................ 45
3.1. Le Boosting .................................................................................................................... 45
3.1.1. Le principe .............................................................................................................. 45
3.1.2. L’1gorithme d’AdaBoost ........................................................................................ 46
3.2. Le Bagging..................................................................................................................... 46
3.2.1. Le principe .............................................................................................................. 46
3.2.2. L’1gorithme de Bagging ......................................................................................... 47
3.3. Pourquoi le choix d’AdaBoost....................................................................................... 47
4. Démarche de construction .................................................................................................... 48
4.1. Le principe ..................................................................................................................... 48
4.2. Echantillonnage et construction des sous-ensembles d’apprentissage .......................... 49
4.3. L’ensemble de Test ........................................................................................................ 50
4.4. Critère de performance .................................................................................................. 50
4.5 Récapitulation des résultats et decision .......................................................................... 51
5. Conclusion ............................................................................................................................ 51

Chapitre 4 : Implémentation et test


1.Introduction ........................................................................................................................... 52
2.Outils et Plateformes ............................................................................................................. 52
2.1. Le langage de programmation «Java »......................................................................... 52
2.2. L’environnement de développement «Eclipse »........................................................... 53
2.3. La plateforme Weka ...................................................................................................... 53
3. Le Dataset KDDcup99 ........................................................................................................ 54
4. Quelques Interfaces de l’application ................................................................................... 56
4.1. Fenêtre de l’apprentissage avec AdaBoost ................................................................... 56
4.2. Fenêtre de la classification avec AdaBoost .................................................................. 56
4.3. Fenêtre de l’apprentissage avec Bagging ...................................................................... 57
4.4. Fenêtre de la classification avec Bagging ...................................................................... 57
4.5. Fenêtre de l’apprentissage avec classifieur unique ........................................................ 58
4.6. Fenêtre de la classification avec classifieur unique ...................................................... 58

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.

Selon la littérature du domaine, les techniques de détection d'intrusion peuvent être


classées en 3 catégories : 1) les techniques basées signature, les techniques basées
comportement, et 3) les techniques basées sur les algorithmes du machine-learning. Cette
dernière catégorie a gagné du terrain ces dernières années comparée aux deux autres
catégories. Ceci peut être expliqué par la difficulté de concevoir des signatures, ou des
comportements modèles, notamment avec la prolifération des attaques, qui se généralisent
notamment avec l'informatique pervasive, et avec l'avènement de l'internet des objets (IoT :
Internet of Things).

Dans ce mémoire de fin d'étude, nous présentons une étude d'opportunité et de


performance de l'utilisation des algorithmes de construction de classifieurs d'ensemble pour la
détection d'intrusion, par l'analyse du trafic réseau. Nous avons démarréde l'hypothèse que
l'algorithme de construction d'un classifieur d'ensemble dit AdaBoost, permet d'améliorer
significativement les résultats de détection, comparés aux classifieurs pris individuellement,
ou avec des schémas de combinaison classiques, tels que la combinaison série, parallèle, ou
hybride. Pour ce faire, nous avons considérétrois classifieurs de bases, àsavoir, le SVM, le
Naïve Bayes, l'arbre de décision. L'objectif est de montrer quel est le classifieurs le mieux
adapté à l'AdaBoost, en considérant un dataset d'apprentissage et de test KDD Cup99. Ce
dataset est un ensemble de séquences de données du trafic réseau, étiquetées selon le type
d'attaque qu'il véhicule.

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 1 : est consacréàla sécuritédes réseaux de communication. Le chapitre présente


essentiellement les différents types d'attaques contre les systèmes informatiques via les
protocoles réseau, et aussi les différentes mesures de protection.

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.

Le chapitre 3 : présente la recherche réalisée dans le cadre de ce projet, àsavoir l'étude de


l'impact de l'utilisation des algorithmes d'ensemble sur la performance de classification des
attaques via les données du trafic réseau.

Le chapitre 4 : présente les outils logiciels utilisés, les éléments d'implémentation, et


quelques résultats expérimentaux.

Une conclusion générale : résume le travail, et souligne quelques perspectives.

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.Sécuritédes réseaux informatiques :


3.1. Définition de La sécurité d’un réseau :
La sécurité d'un réseau est un ensemble de moyens techniques, organisationnels,
juridiques et humains nécessaires et mis en place pour conserver, rétablir, et garantir sa

3
Chapitre1 La Sécuritédes réseaux informatiques

sécurité contre les menaces accidentelles ou intentionnelles. En général, la sécurité d'un


réseau englobe celle du système informatique sur lequel il s’appuie [1].

3.2. La terminologie de la sécuritédes réseaux informatique :

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.Les objectifs de la sécurité d’un réseau informatique :


La sécurité des réseaux informatique tente d’atteindre plusieurs objectifs parmi eux
nous citons :

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

4.5. La non répudiation de l’origine :


La technique de non répudiation à l’origine vise à éliminer le risque qu’un émetteur
puisse nier avoir envoyé un message alors que réellement tel a été le cas. A titre d’exemple,
lors d’une transaction commerciale électronique, le service de la non répudiation de l’origine
oblige le client àne pas démentir le fait qu’il a adressé une requête d’achat au fournisseur [3].

4.6. La non répudiation de la délivrance :


Le destinataire ne pourra jamais nier l’arrivée d’un message qu’il a réellement reçu. A
titre d’exemple, lors d’une transaction commerciale électronique, le service du non
répudiation de la délivrance oblige le fournisseur àne pas démentir le fait que le client lui a
adressé une requête d’achat [3].

4.7 Le contrôle d’accès :


En matière de sécurité, le contrôle d’accès est indispensable. Paradoxalement, son étude
n’a pas suscité l’intérêt d’une large communauté de chercheurs. Lorsqu’un sujet souhaite
effectuer une opération sur un objet, le système transforme l’opération en une requête qu’il
fait passer au moniteur de référence. Ce dernier est responsable du contrôle d’accès aux
ressources. Si le sujet est autorisé à accéder à l’objet et à réaliser le type d’opération demandé
alors l’accès à l’objet est accordé et l’opération peut se dérouler sans aucune entrave. Dans le
cas contraire, il retournera un refus catégorique à l’utilisateur. Les buts du contrôle d’accès
rejoignent ceux de la disponibilité[3].

5
Chapitre1 La Sécuritédes réseaux informatiques

4.8. Le secret du flux :


L’intérêt est d’empêcher tout utilisateur non autorisé d’avoir la possibilité d’analyser les
flux des données àtravers le réseau. Tout accès illégal, même en lecture, àun flux de données
permet à l’utilisateur de déduire des informations utiles et qui peuvent, ultérieurement, servir
ses intentions malveillantes. La taille des messages échangés, leurs sources et leurs
destinations, ainsi que la fréquence des communications entre les utilisateurs sont des
exemples de données àpréserver pour prévenir le secret des flux dans le réseau et le rendre
plus sûr [3].

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

5.Schéma d'une attaque :


Une attaque est une tentative de violation d’un des objectifs de la sécurité informatique
alors que l’intrusion est une attaque réussie.
Une attaque peut être schématisée en six points : [4].
1. La collecte d'informations sur le système.
2. L'intrusion dans le système grâce àces informations.
3. La mise en place d'un système permettant une ré-intrusion future, tel que l'insertion
de code dans l'EEPROM.
4. La recherche d'une propagation de l'intrusion dans un autre système et ainsi permettre
des attaques distribuées.
5. La paralysie du système.
6. L'effacement des traces de l'attaquant.

6.Les types d’attaques :


Il existe essentiellement 04 types d'attaques :
6.1. Les attaques réseau :
Ces attaques sont souvent dues àune faille du protocole ou de son implémentation.

6
Chapitre1 La Sécuritédes réseaux informatiques

6.1.1. Les techniques de scan : scan


Les scans de ports ne sont pas des attaques àproprement parler. Le but des scans est de
déterminer quels sont les ports ouverts, et donc en déduire les services qui sont exécutés sur la
machine cible (ex. : port 80/TCP pour un service HTTP). Par conséquent, la plupart des
attaques sont précédées par un scan de ports.
Il existe un nombre important de techniques de scan. Idéalement, la meilleure technique
de scan est celle qui est la plus furtive afin de ne pas alerter les soupçons de la future victime.
Voici une description des techniques de scan les plus répandues : [5].
• le scan simple : aussi appeléle scan connect (), il consiste àétablir une connexion TCP
complète sur une suite de ports. S'il arrive àse connecter, le port est ouvert ; sinon, il est
fermé. Cette méthode de scan est très facilement détectable ;
• le scan furtif : aussi appeléscan SYN, il s'agit d'une amélioration du scan simple. Ce scan
essaie également de se connecter sur des ports donnés, mais il n'établit pas complètement la
connexion : pas de commande ACK (acquittement) après avoir reçu l'accord de se connecter.
Grâce àceci, la méthode est bien plus furtive que le scan normal ;
• les scans XMAS, NULL et FIN : se basent sur des détails de la RFC du protocole TCP
pour déterminer si un port est ferméou non en fonction de la réaction àcertaines requêtes.
Ces scans sont moins fiables que le scan SYN, mais ils sont un peu plus furtifs. La différence
entre ces trois types de scan se situe au niveau des flags TCP utilisés lors de la requête ;
• le scan à l'aveugle : s'effectue via une machine intermédiaire et avec du spoofing (voir plus
bas). Le système attaquépense que le scan est réalisépar la machine intermédiaire et non par
le pirate.
• le scan passif : est la méthode la plus furtive. Consiste àanalyser les champs d'en-tête des
paquets (TTL, ToS, MSS…) et à les comparer avec une base de signatures qui pourra
déterminer les applications qui ont envoyéces paquets.
Remarque : l'utilitaire incontournable pour réaliser des scans de ports se nomme Nmap.

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.3. ARP Spoofing (ou ARP Redirect):


But : rediriger le trafic d'une machine vers une autre.
Finalité: grâce àcette redirection, une personne mal intentionnée peut se faire passer pour
une autre. De plus, le pirate peut rerouter les paquets qu'il reçoit vers le véritable destinataire,
ainsi l'utilisateur usurpéne se rendra compte de rien. La finalitéest la même que l'IP spoofing,
mais on travaille ici au niveau de la couche liaison de données.
Déroulement : pour effectuer cette usurpation, il faut corrompre le cache ARP de la victime.
Ce qui signifie qu'il faut lui envoyer des trames ARP en lui indiquant que l'adresse IP d'une
autre machine est la sienne. Les caches ARP étant régulièrement vidés, il faudra veiller à
maintenir l'usurpation [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

6.1.5. Fragments attacks :


But : le but de cette attaque est de passer outre les protections des équipements de filtrage IP.
Finalité: en passant outre les protections, un pirate peut par exemple s'infiltrer dans un réseau
pour effectuer des attaques ou récupérer des informations confidentielles.
Déroulement : deux types d'attaque sur les fragments IP peuvent être distingués : [5].
• Fragments overlapping : quand un message est émis sur un réseau, il est fragmenté en
plusieurs paquets IP. Afin de pouvoir reconstruire le message, chaque paquet possède un
offset. Le but de l'attaque est de réaliser une demande de connexion et de faire chevaucher des
paquets en spécifiant des offsets incorrects.
La plupart des filtres analysant les paquets indépendamment, ils ne détectent pas l'attaque.
Cependant, lors de la défragmentation, la demande de connexion est bien valide et l'attaque a
lieu ;
• Tiny fragments : le but de l'attaque est de fragmenter une demande de connexion sur deux
paquets IP : le premier paquet de taille minimum (68 octets selon la RFC du protocole IP) ne
contient que l'adresse et le port de destination. Le deuxième paquet contient la demande
effective de connexion TCP. Le premier paquet est acceptépar les filtres puisqu'il ne contient
rien de suspect. Quand le deuxième paquet arrive, certains filtres ne le vérifient pas, pensant
que si le premier paquet est inoffensif, le deuxième l'est aussi. Mais lors de la défragmentation
sur le système d'exploitation, la connexion s'établit !
De nos jours, une grande majoritédes firewalls sont capables de détecter et stopper ce type
d'attaques.

6.1.6.TCP Session Hijacking :


But : le but de cette attaque est de rediriger un flux TCP afin de pouvoir outrepasser une
protection par mot de passe.

9
Chapitre1 La Sécuritédes réseaux informatiques

Finalité: le contrôle d'authentification s'effectuant uniquement àl'ouverture de la session, un


pirate réussissant cette attaque parvient àprendre possession de la connexion pendant toute la
durée de la session.
Déroulement : dans un premier temps, le pirate doit écouter le réseau, puis lorsqu'il estime
que l'authentification a pu se produire (délai de n secondes par exemple), il désynchronise la
session entre l'utilisateur et le serveur. Pour ce faire, il construit un paquet avec, comme
adresse IP source, celle de la machine de l'utilisateur et le numéro d'acquittement TCP attendu
par le serveur. En plus de désynchroniser la connexion TCP, ce paquet permet au pirate
d'injecter une commande via la session préalablement établie [5].

6.2. Les attaques applicatives :


Ces attaques sont souvent dues àune faille d'un logiciel ou d'une configuration.

6.2.1. Les problèmes de configuration :


Il est très rare que les administrateurs réseau configurent correctement un programme.
En général, ils se contentent d'utiliser les configurations par défaut. Celles-ci sont souvent non
sécurisées afin de faciliter l'exploitation du logiciel (ex. : login/mdp par défaut d'un serveur de
base de données).
De plus, des erreurs peuvent apparaître lors de la configuration d'un logiciel. Une
mauvaise configuration d'un serveur peut entraîner l'accès à des fichiers importants, ou
mettant en jeu l'intégritédu système d'exploitation. C'est pourquoi il est important de bien lire
les documentations fournies par les développeurs afin de ne pas créer de failles [5].

6.2.2. Les bogues :


Liés àun problème dans le code source, ils peuvent amener àl'exploitation de failles. Il
n'est pas rare de voir l'exploitation d'une machine bloquée suite à une simple erreur de
programmation. On ne peut toutefois rien faire contre ce type de problèmes, si ce n'est
attendre un correctif de la part du développeur [5].

6.2.3. Les buffer overflows :


Les buffer overflows, ou dépassement de la pile, sont une catégorie de bogue
particulière. Issus d'une erreur de programmation, ils permettent l'exploitation d'un shellcode à
distance. Ce shellcode permettra àune personne mal intentionnée d'exécuter des commandes
sur le système distant, pouvant aller jusqu'àsa destruction.
L'erreur de programmation est souvent la même : la taille d'une entrée n'est pas vérifiée
et l'entrée est directement copiée dans un buffer dont la taille est inférieure à la taille de

10
Chapitre1 La Sécuritédes réseaux informatiques

l'entrée. On se retrouve donc en situation de débordement, et l'exploitant peut ainsi accéder à


la mémoire [5].

6.2.4. Les scripts :


Principalement web (ex. : Perl, PHP, ASP), ils s'exécutent sur un serveur et renvoient un
résultat au client. Cependant, lorsqu’ils sont dynamiques (i.e. qu'ils utilisent des entrées
saisies par un utilisateur), des failles peuvent apparaître si les entrées ne sont pas correctement
contrôlées.
L'exemple classique est l'exploitation de fichier à distance, telle que l'affichage du
fichier mot de passe du système en remontant l'arborescence depuis le répertoire web [5].

6.2.5. Les injections SQL :


Tout comme les attaques de scripts, les injections SQL profitent de paramètres d'entrée
non vérifiés. Comme leur nom l'indique, le but des injections SQL est d'injecter du code SQL
dans une requête de base de données. Ainsi, il est possible de récupérer des informations se
trouvant dans la base (exemple : des mots de passe) ou encore de détruire des données [5].

6.2.6. Man in the middle :


Moins connue, mais tout aussi efficace, cette attaque permet de détourner le trafic entre
deux stations. Imaginons un client C communiquant avec un serveur S. Un pirate peut
détourner le trafic du client en faisant passer les requêtes de C vers S par sa machine P, puis
transmettre les requêtes de P vers S. Et inversement pour les réponses de S vers C.
Totalement transparente pour le client, la machine P joue le rôle de proxy. Elle accédera
ainsi àtoutes les communications et pourra en obtenir les informations sans que l'utilisateur
s'en rende compte [5].

6.3. Le Déni de service :


Évoquéprécédemment, le déni de service est une attaque visant àrendre indisponible un
service. Ceci peut s'effectuer de plusieurs manières : par le biais d'une surcharge réseau,
rendant ainsi la machine totalement injoignable ; ou bien de manière applicative en crashant
l'application àdistance.
L'utilisation d'un buffer overflow peut permettre de planter l'application àdistance.
Grâce à quelques instructions malicieuses et suite à une erreur de programmation, une
personne mal intentionnée peut rendre indisponible un service (serveur web, serveur de
messagerie…) voire un système complet.
Voici quelques attaques réseau connues permettant de rendre indisponible un service [5] :

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.

6.4. Les attaques des données (contenu) :


Les données transportées par le protocole applicatif (Contenu) peuvent constituer une
menace pour l’intégrité du système qui les reçoit. Les principales attaques de ce type, nous
trouvons : virus, ver, Applet Java, trojans…désignés par les codes malicieux ou Malwares.

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

6.4.3. Cheval de Troie :


Un Cheval de Troie est un programme simulant de faire quelque chose, mais faisant tout
autre chose àla place. Leur nom vient du fameux Cheval de Troie de la Grèce antique, offert
en cadeau, mais qui en fait avait pour but de causer la ruine et la destruction de la ville ayant
reçu ce cheval en bois.
Un Cheval de Troie sur un ordinateur est un programme exécutable indépendant qui est
présentécomme ayant une action précise. Néanmoins lorsque ce programme est lancé, il va
par exemple formater le disque dur, voler les mots de passe ou envoyer des informations
confidentielles au créateur via Internet [6].

6.4.4. Les bombes logiques :


Une bombe logique est une partie de programme qui reste dormante dans le système
hôte jusqu’à ce qu’un instant ou un événement survienne, ou que certaines conditions soient
réunies, pour déclencher des effets dévastateurs en son sein [6].

13
Chapitre1 La Sécuritédes réseaux informatiques

6.4.5. Porte dérobée :


Une porte dérobée (backdoor) est un logiciel de communication caché, installé par
exemple par un virus ou par un cheval de Troie, qui donne àun agresseur extérieur accès à
l’ordinateur victime, par le réseau [7].

6.4.6. Logiciel espion :


Un logiciel espion (aussi appelémouchard ou espiogiciel ; en anglais spyware) est
un logiciel malveillant qui s'installe dans un ordinateur ou autre appareil mobile, dans le but
de collecter et transférer des informations sur l'environnement dans lequel il s'est installé, très
souvent sans que l'utilisateur en ait connaissance. L'essor de ce type de logiciel est associéà
celui d'Internet qui lui sert de moyen de transmission de données [8].

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

7.2. Pare-feu (Firewall) :


Un pare-feu (firewall) est une solution matérielle ou logicielle mise en place au sein de
l'infrastructure du réseau afin de filtrer l'accès à des ressources réseau définies. Il ne laisse
entrer que les utilisateurs autorisés, disposant d'une clef ou d'un badge, et crée une couche
protectrice entre le réseau et le monde extérieur. Il est doté de filtres intégrés qui peuvent

14
Chapitre1 La Sécuritédes réseaux informatiques

empêcher des documents non autorisés ou potentiellement dangereux d'accéder au système. Il


enregistre également les tentatives d'intrusions dans un journal transmis aux administrateurs
du réseau. Il permet également de contrôler l’accès aux applications et d’empêcher le
détournement d’usage [10].

Figure1.1 : Pare-feu (Firewall) [7].

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

7.4. Réseau privévirtuel (VPN) :


Les réseaux privés virtuels (VPN : Virtual Private Network) permettent à l’utilisateur de
créer un chemin virtuel sécuriséentre une source et une destination. Avec le développement
d’internet, il est intéressant de permettre ce processus de transfert de données sécurisé et
fiable. Grâce à un principe de tunnel (tunnelling) dont chaque extrémité est identifiée, les
données transitent après avoir étéchiffrées.
Un des grands intérêts des VPN est de réaliser des réseaux privés àmoindre coût. En
chiffrant les données, tout se passe exactement comme si la connexion se faisait en dehors
d’Internet. Il faut par contre tenir compte de la toile, dans le sens où aucune qualité de service
(QoS) n’est garantie.
Le principe du VPN est basésur la technique du tunnelling. Cela consiste àconstruire
un chemin virtuel après avoir identifié l’émetteur et le destinataire. Ensuite la source chiffre

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

Figure1.2 : Réseau privévirtuel (VPN) [7].

7.5. Système de détection d’intrusion (IDS) :


Un système de détection d'intrusion (ou IDS : Intrusion Detection System) est un
mécanisme destiné à repérer des activités anormales ou suspectes sur la cible analysée (un
réseau ou un hôte). Il permet ainsi d'avoir une connaissance sur les tentatives réussies comme
échouées des intrusions [12].

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

2.Définition de la Détection d’intrusion :


La détection des intrusions est le processus de surveillance des événements se trouvant
dans un système des ordinateurs ou du réseau et les analysant pour détecter les signes des
intrusions, défini comme des tentatives pour compromettre la confidentialité, intégrité,
disponibilité ou éviter des mécanismes de sécurité de l’ordinateur ou du réseau.
L’intrusion est causée par les attaques accédant au système via l’Internet, autorisée
l’utilisateur du système qui essayer à gagner les privilèges supplémentaires pour lesquels ils
n’ont pas autorisés, et autorisé les utilisateurs qui abusent les privilèges donnés. Le système
de détection des intrusions est un logiciel ou un matériel qui automatise des surveillances et
les processus analysés [1].

3.Pourquoi a-t-on besoin de l’IDS ?


Pourquoi vous avez besoin d’installer un système IDS dans votre système de réseau ?
Pour surveiller la circulation des paquets sur le réseau. Vous pouvez considérer le IDS comme
une caméra installée devant votre port. Ça pour savoir qui essaye àattaquer àvotre réseau.
Quand une tentative est réussie en passant votre par feu, il va peut-être provoquer des
menaces. Alors, vous pouvez diminuer des fautes positives en connaissant ces tentatives.
Dans l’environnement de NAT est aussi un profit parce qu’il nous permet de tenir l’adresse
réelle de la source par mettre en corrélation avec des événements entre le système IDS qui
situe avant d’après le par feu.

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

4.Architecture d’un IDS :


Un système de détection d’intrusion est constitué classiquement de trois composants .la
figure suivante illustre les interactions entre ces trois composants :

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

_ Isolement de l’attaque, qui a pour but de limiter les effets de l’attaque.


_ Suppression d’attaque, qui tente d’arrêter l’attaque.
_ Recouvrement, qui est l’étape de restauration du système dans un état sain.
_ Diagnostic, qui est la phase d’identification du problème.

Figure2.1 : L’architecture d’un IDS [15].

5.Critères de Choix D'un IDS :


Les systèmes de détection d'intrusion sont devenus indispensables lors de la mise en
place d’une infrastructure de sécurité opérationnelle. Ils s'intègrent donc toujours dans un
contexte et dans une architecture imposante des contraintes très diverses.
Certains critères imposant le choix d'un IDS peuvent être dégagés [17] :

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.

5.3. Facilité de mise en œuvre et adaptabilité :


Un IDS doit être facile à mettre en œuvre, surtout s'adapter au contexte dans lequel il
doit opérer. Il est inutile d'avoir un IDS émettant des alertes en moins de 10 secondes si les
ressources nécessaires à une réaction ne sont pas disponibles pour agir dans les mêmes
contraintes de temps.

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.

6.Classification des systèmes de détection d’intrusions(IDS) :


Nous venons de voir qu'il existe un grand nombre d'attaques connues. Une première
idée est de vouloir lutter contre celles déjà existantes. Pour cela, on utilise un IDS qui
surveille l'état de l'ensemble du système à protéger. Il existe plusieurs manières pour
différencier les types d'IDS.
Ainsi, certains s'implémentent de manière software alors que d'autres le sont en
hardware. Une autre différenciation se fait sur ce que l'IDS regarde. Il peut être HIDS (Host-
based Intrusion Detection System), NIDS (Network-based Intrusion Detection System) ou un
mélange des deux types [4].

6.1. Selon l’emplacement dans le réseau informatique :


6.1.1. Système de détection d'intrusion machine (HIDS) :
L'objectif des HIDS est de se focaliser sur une seule machine. Pour cela, il regarde les
logs ainsi que toute information se trouvant sur la machine pour déduire si une attaque a lieu.
Il existe des HIDS implémentés au sein du noyau pour protéger le système dès son installation,
très efficaces contre les buffer overflows, tels que le KIDS (Kernel Intrusion Detection
System) et le KIPS (Kernel Intrusion Prevention System). Malheureusement, ces HIDS noyau
ralentissent fortement le système [4].

20
Chapitre2 Les systèmes de detection d’intrusion

Figure2.2 : exemple d’un HIDS [7].

6.1.2. Système de détection d'intrusion réseau (NIDS) :


Le but des NIDS est de regarder les paquets transitant dans le réseau pour déterminer si
une attaque a lieu. Ainsi, un NIDS ne pourra protéger que les ordinateurs se trouvant sur le
même réseau que lui, sauf dans le cas oùil existe des machines routant les informations d'un
système différent vers l'IDS.
Un désavantage des NIDS est que tout paquet chiffréne pourra pas être compris par les
NIDS, qui doivent lire le contenu des paquets. Ce désavantage peut disparaître en utilisant des
HIDS qui vont obtenir les informations après leur déchiffrement sur la machine. Néanmoins,
les NIDS sont faciles àinstaller pour la détection d'intrusion d'un ensemble de machines.
En d'autres termes, les NIDS détectent plus facilement des attaques sur plusieurs
machines que ne le ferait un HIDS [4].

21
Chapitre2 Les systèmes de detection d’intrusion

Figure2.3 : exemple d’un NIDS [7].

6.1.3. Système de détection d'intrusion hybride (Hybrid IDS) :


Dans ce type d'IDS, les sources d’information viennent à la fois du réseau et des
machines sur le réseau. Ainsi, la complexitédu système grandit mais les avantages des NIDS
et des HIDS sont combinés. De plus, ils permettent une meilleure détection d'attaques
distribuées [4].

6.2. Selon le principe de détection des attaques :


Une autre différenciation se fait sur la manière de détecter une attaque. Elle peut se
baser sur ses signatures (aussi appelée approche par scénario) ou en se basant sur des profils
normaux d'utilisation (aussi appelée approche comportementale). Dans le premier cas, on
regarde la suite d'actions effectuées par une personne et on la compare àune attaque connue.
Dans le deuxième cas, on regarde le comportement d'une personne et on le compare à son
comportement normal.
En d'autres mots, l'un sait ce qui est mal et l'autre ce qui est bien [4].

22
Chapitre2 Les systèmes de detection d’intrusion

6.2.1. Approche par scénario :


Ce type d'IDS contient une base de données des signatures d'attaques et essaye de faire
correspondre une donnée, obtenue par les sources d'information du système, avec celles
connues. Ces signatures sont les caractéristiques d'une attaque, c'est-à-dire l'empreinte d’une
attaque connue, et peuvent varier d'un système àl'autre. Pour la correspondance, on utilise les
algorithmes de pattern matching tel qu'E2xB, Boyer-Moore et Knuth-Morris-Pratt.
Un avantage de cette approche est la normalisation possible de la description des
signatures et ainsi la possibilitéde diffuser et de configurer rapidement et facilement les IDS.
De plus, ceci permet d'avoir un faible taux de fausses alarmes. Néanmoins, la problématique
est le besoin d'une mise àjour régulière de la base de données des signatures pour détecter de
nouvelles attaques. Ils sont donc faillibles aux attaques 0day qui sont des exploitations d'une
faiblesse le jour de leur publication. De plus, une même attaque peut être faite de plusieurs
manières légèrement différentes. Ainsi, le pattern matching ne semble pas très efficace.
A sa place, on peut utiliser le machine learning pour apprendre leurs signatures de
manière générique et ainsi les repérer même si celles-ci évoluent légèrement au cours du
temps [4].

Figure2.4 : illustration de l’approche scénario [13]

6.2.2. Approche comportementale :


Le but de cette technique est la prédiction de comportement. Pour cela, cette technique
utilise une base de données des comportements normaux des utilisateurs, d’un groupe
d'utilisateurs, des services ou d'un système entier pour constituer un profil.

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

Figure2.5 : Caractère complet et correct du modèle de comportement normal [7].

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

6.3. Selon la fréquence d’utilisation :


«Online ou Offline »:
La différenciation peut se faire sur la caractéristique online ou offline de l'IDS.
Le premier détecte une attaque au moment où elle se produit alors que le deuxième
s'exécute périodiquement et ne voit que son résultat.
La deuxième méthode est préférable pour avoir une dépense plus faible du point de vue
du temps de calcul que la première, dû à l'aspect temps-réel de l'online. Néanmoins, la
deuxième méthode, contrairement àla première, souffre du fait qu'une attaque ne peut pas être
détectée le plus tôt possible pour l'éviter. Plus une attaque est détectée tardivement, plus les
dommages sont importants.
Dans la plupart des cas, avant d'attaquer un réseau, l'attaquant doit scanner
l'environnement pour récolter des informations. Par conséquent, en voyant cela, on peut
détecter une attaque avant même qu'elle ne se produise et ainsi y répondre le plus tôt possible
[4].

6.4. Selon le comportement après la détection des attaques :


«Réponse active ou passive »:
Une autre différenciation est le type de réponse réalisée par l'IDS. Certains IDS
préfèrent laisser l'être humain répondre àl'attaque. Néanmoins, ça implique une surveillance
continue de l'IDS par un être humain. D'autres préfèrent une réponse, dite active, plus rapide
venant de l'IDS pour arrêter au plus vite l'offensive.
Enfin, il est possible d'unir ces deux méthodes pour obtenir un système hybride.
Les réponses d'un IDS peuvent être variées. Celles-ci peuvent être une modification de
la politique de sécurité, un arrêt d'un service sur le réseau, une augmentation de l'audit du
système, un backup du système pour pouvoir revenir en arrière en cas d'attaque, une
reconfiguration d'un firewall, un affichage d'une alerte à un responsable, Néanmoins, ceci
peut être dangereux.

25
Chapitre2 Les systèmes de detection d’intrusion

En effet, supposons qu'un attaquant pénètre dans un système A et lui demande


d'attaquer un autre système B. Cette situation est semblable à celle où l'attaquant usurpe
l'identité de A. Si l'IDS de B répond à l'offensive en attaquant A, ceci peut avoir des
répercutions dramatiques, ce qui fait qu'un pirate peut s'en servir pour réaliser un déni de
service. De plus, dûàla possible apparition de fausses alarmes, il existe un grand potentiel de
réponse inappropriée. Enfin, il est intéressant de se pencher sur le fait de savoir s'il est normal
qu'un système de détection d'intrusion (IDS) réponde àune attaque [4].

6.5. Selon la Stratégie de contrôle :


Elle décrit les méthodes de gestion des modules composants les IDS, ainsi que les
modes de contrôles appliqués aux entrées et aux sorties de l'IDS. Trois stratégies peuvent être
appliquées aux IDS [18] :

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.

6.5.2. Partiellement distribuée :


Dans ce cas un nombre limité de nœuds peuvent exécuter des tâches d’analyse locale et
de détection mais ils sont commandés par un nœud maître, celui-ci collabore avec d’autres
nœuds maîtres pour superviser la détection globale sous forme d’une structure hiérarchique.

6.5.3. Entièrement distribuée :


La collecte d’informations, l’analyse et la détection ainsi que les alertes seront réalisées
au niveau local de chaque nœud. Mais dans le cas d’information incomplète ou bien suspicion
les nœuds peuvent déclencher des procédures de collaboration supervisées par des nœuds
maitres. C’est des architectures d’IDS autonomes, qui utilisent souvent des approches basées
sur le paradigme agent.

7.Attaques contre les IDS :


Un IDS étant le moyen de protéger un système, les attaquants voudront souvent
l'attaquer avant de s'attaquer au système qu'il protège, et puisque les IDS sont des systèmes
informatiques, ils contiennent des failles.
Il existe plusieurs types d'attaques telles que le déni de service, l'insertion, l'évasion et
la modification des paquets transitant du senseur jusqu'àl'analyseur.

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.

Détection d'un IDS :


Tout comme pour attaquer une machine, pour attaquer un IDS il faut pouvoir le détecter.
En voici quelques exemples :
1. Usurpation d'adresse MAC (Media Access Control) : les NIDS mettent l'interface de
capture de paquet réseau en mode promiscuitéoùils voient tout paquet qui transite. Ainsi, en
envoyant un paquet ICMP (Internet Control Message Protocol) de type «echo request »oùla
machine le recevant doit émettre un paquet ICMP de type «echo reply », avec une adresse
MAC destinataire inexistante dans le réseau, on peut vérifier si la machine répond. Ainsi,

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.

Coût des erreurs :


Le coût d'une erreur peut être positif ou négatif. Quand celui-ci est négatif, l'erreur est
Préjudiciable. Inversement, quand celui-ci est positif, l'erreur est bénéfique. Il existe quatre
types de coûts :

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. Les Différents méthodes pour tester les IDS :


Avent la mise en place d'un IDS, il est nécessaire de tester ses limites. Pour cela, il
existe plusieurs méthodes [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.

9.3. La Qualitédes informations :


On va regarder la qualitédes informations fournies par l'IDS lors d'une alarme.

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.5. La Flexibilitéet le mise àjour :


Il est souvent intéressant de pouvoir modifier les configurations d'un IDS telles que la
base de signature, c'est pourquoi il est aussi nécessaire d'avoir une bonne réactivité du
constructeur en cas de nouvelle attaque non encore détectée par l'IDS.

9.6. La Qualitédes signatures :


Dans le cas des IDS se basant sur les signatures, il est nécessaire de pouvoir évaluer la
qualitédes signatures.

9.7. La Rapiditédu système :


Il est nécessaire que l'IDS soit capable de gérer un grand nombre de données en un
temps raisonnable et de détecter l'attaque en un minimum de temps pour réduire les
dommages causés.

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.

10. Logiciels existants :


Le marché des IDS est très vaste. Certains produits sont gratuits et d'autres payants.
Voici une liste non-exhaustive [4] :

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. Systèmes de détection d’intrusions distribués et collaboratifs :


Nous avons vu dans la section précédente que les systèmes de détection d’intrusions se
déclinaient sous différentes formes, suivant leur placement et le système surveillé.
Nous avons mis en avant l’existence des IDS distribués, qui correspondent à une
composition de plusieurs IDS, potentiellement hétérogènes.
Vasilomanolakis et al. Définissent les IDS distribués et collaboratifs comme des
systèmes composés de sondes, responsables de la collecte, et de nœuds d’analyse, qui se
chargent de la détection d’intrusions. Ce type de structure permet d’analyser plus précisément
et avec plus de fiabilité les événements des systèmes à surveiller. Les deux éléments
principaux de cette structure sont les collecteurs et les analyseurs. Initialement, ces deux types
de composants étaient clairement distingués, mais les dernières propositions de la littérature
s’orientent maintenant vers des sondes capables à la fois de collecter et d’analyser les données.
Nous discutons dans cette section de ces IDS collaboratifs (CIDS), en décrivant les
structures de ces systèmes et leurs méthodes de détection [19].

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

11.2. Architecture des IDS collaboratifs :


Les CIDS sont des systèmes composés de plusieurs IDS, hétérogènes ou non. Les
différentes solutions proposées dans la littérature se basent sur plusieurs approches. Nous les
présentons en détail dans les prochains paragraphes [19].

11.2.1. Approche centralisée :


La première approche qui apparait dans la littérature est l’approche centralisée, qui est
composée de deux types de nœuds : les nœuds collecteurs et les nœuds d’analyse. Les nœuds
collecteurs sont des IDS qui opèrent de manière locale et reportent les intrusions au nœud
central, qui corrèle les informations.
La Figure illustre ce type de structure. Dans cette figure, nous avons schématisé
l’approche présentée, qui repose sur deux types de composants. Les nœuds de détection sont
placés sur le réseau et analysent localement les données. Lorsqu’une intrusion est détectée, ils
envoient des informations au nœud central, qui va pouvoir corréler les données et détecter si
un motif global d’attaque est en cours.

32
Chapitre2 Les systèmes de detection d’intrusion

Figure2.6 : Approche centralisée d’un IDS collaboratif [19].

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

11.2.2. Approche hiérarchique :


Pour éviter que le nœud central soit un SPOF, l’approche hiérarchique propose que
plusieurs nœuds soient responsables de ces opérations de corrélation.
Le système est décomposéen plusieurs groupes de communication. Chaque groupe est
un sous ensemble de la hiérarchie fixée. Un IDS est désigné comme nœud d’analyse par
groupe et est responsable de la communication avec les groupes de niveau supérieur. Cette
approche a été appliquée par de nombreuses solutions, dont GrIDS, AAFID ou encore
EMERALD.
La Figure représente cette approche. Nous illustrons dans cette figure trois groupes de
communications, composés chacun de modules de détection ou de corrélation. Pour le groupe
1, un nœud est désigné pour réaliser les opérations de corrélation, ainsi que la partie de
communication avec la couche supérieure. Le groupe 3 est alors capable de corréler des
informations venant àla fois du groupe 1 et du groupe 2.

Figure2.7 : Approche hiérarchique d’un IDS collaboratif [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].

11.2.3. Approche distribuée :


Le désavantage commun des deux approches précédentes est l’existence d’un ou
plusieurs points de défaillance. Si ces points viennent àêtre désactivés, la corrélation ne peut
plus avoir lieu. C’est pourquoi l’approche distribuée a été proposée. Celle-ci se repose sur une
structure entièrement composée de nœuds à la fois collecteurs et analyseurs. Ces nœuds

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

Figure2.8 : Approche distribuée d’un IDS collaboratif [19].

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

11.3. Méthodes de détection :


Nous avons vu les différentes méthodes utilisées pour détecter les intrusions pour une
solution de sécurité placée sur le réseau ou une machine hôte. Dans cette section, nous
détaillons les méthodes de détection utilisées pour les CIDS. L’ensemble de ces techniques
porte sur la recherche de similitudes entre différents événements ; le système cherche à
corréler des données qui proviennent de plusieurs points du réseau àprotéger [19].

11.3.1. Corrélation par similitudes :


Cette approche, appliquée par Valdes and Skinner, Debar and Wespi et Cuppens,
corrèle les alertes générées par les composants de la sécuritéen cherchant des similarités entre
les données ou les attributs des alertes. Des fonctions permettent de déterminer le score entre
deux jeux de données, le score permet alors de déterminer si les données sont corrélées ou non.
Cette approche est efficace pour regrouper les événements mais reste généralement peu fiable
quand il s’agit d’établir un lien de cause à effet entre deux événements liés et proches dans le
temps [19].

11.3.2. Recherche de scénario d’attaques :


Les attaques complexes sont généralement réalisées en plusieurs étapes. Par exemple,
une phase initiale permet de préparer le système cible, pour qu’il soit plus facilement
manipulable. Suite àcette étape initiale, la vraie attaque peut alors avoir lieu. Pour refléter ces
attaques complexes, des méthodes de détection établissent des scénarios d’attaques et tentent
d’identifier les étapes intermédiaires dans les données à analyser.
Cette approche, proposée par Dain et Cunningham, Cuppens et Ortalo et Eckmann et al,
est très efficace lorsque les scénarios sont détaillés dans la littérature. Cependant, elle est
inefficace contre les attaques qui ne sont pas décrites sous forme de scénario [19].

37
Chapitre2 Les systèmes de detection d’intrusion

11.3.3. Corrélation d’attaques multi-étapes :


La méthode présentée précédemment reste inefficace pour les attaques qui sont
inconnues par le système de détection. Pour parer à ce problème, L’approche par corrélation
d’attaques multi-étapes a étéproposée dans la littérature par Cuppens et Miege et Cheung et al.
Cette approche présume l’existence de relations entre différentes étapes d’une attaque.
Pour détecter les attaques, cette méthode fait l’hypothèse qu’une attaque est réalisée pour en
préparer une autre. En se basant sur une librairie d’attaques types, le système est capable de
détecter les attaques complexes.
Cette approche de détection permet de déterminer le lien de cause à effet entre deux
étapes d’une attaque, mais le nombre de faux positifs est plus important que dans les
approches précédentes. De plus, la librairie d’attaques sur laquelle se repose cette approche
doit être assez dense pour que le moteur de détection soit efficace [19].

11.3.4. Corrélation par filtrage de données :


Plutôt que de se baser sur la recherche de similarités entre plusieurs alertes, cette
approche propose plutôt d’éliminer les alertes non pertinentes. Proposée par Porras et al, Gula
et Kruegel et Robertson, cette approche se concentre sur les alertes qui auront un fort impact
sur le système protégé. Par conséquent, il est nécessaire de spécifier une description du
système à surveiller car l’efficacité du moteur de détection repose sur la précision de cette
description [19].

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

11.4. Dissémination des données :


Pour pouvoir collaborer et détecter de manière coopérative les attaques, les CIDS
doivent Échanger des informations quant à leur état courant. Nous discutons dans cette
section des méthodes de dissémination des données utilisées par ces systèmes.
La dissémination des données est fortement influencée par l’architecture du CIDS et son
mécanisme de gestion des membres du réseau.
Les CIDS centralisés proposent une dissémination dirigée exclusivement vers ou depuis
le nœud central. En cas d’attaques coordonnées, cela peut provoquer une contention au niveau
du nœud central, qui ne serait alors plus capable de gérer l’axe de communication ou
d’analyse. Les nœuds d’un CIDS hiérarchique communiquent uniquement avec les nœuds du
même groupe ou vers le nœud responsable de la communication avec la couche supérieure.
Les CIDS distribués se reposent sur une architecture qui n’est pas organisée, c’est pour
cette raison qu’il faut mettre en place des moyens de communication efficaces. Plusieurs
approches ont étéproposées dans la littérature. La première approche est basée sur le principe
d’inondation sélective : les informations sont envoyées aux nœuds atteignables dans le réseau.
Vishnumurthy et Francis proposent d’inonder aléatoirement certains nœuds, alors que
Ganesh et al. Proposent un protocole pour lequel les composants murmurent les informations
aux nœuds voisins. La deuxième approche est basée sur le principe du protocole
publish/subscribe.
Les nœuds stockent des informations localement et lorsqu’une modification survient, ils
préviennent les nœuds abonnés qu’une modification a eu lieu. La troisième approche se
repose sur des réseaux Peer-to-Peer 3 (P2P). Dans cette approche, un nœud du CIDS peut
rechercher un contenu sur le réseau P2P établi, le protocole permettant de facilement localiser
le nœud qui héberge les données souhaitées. Les tables de hachage distribuées (DHT) sont
également des solutions paires à pair utilisées pour distribuer les données entre les nœuds
d’un CIDS [19].

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.

2.Les classifieurs en détection d’intrusion :


La classification du trafic réseau (des paquets IP) est loin d’être une nouveauté.
L’augmentation croissante en nombre d’attaques et l’apparition de nouvelles menaces sont
toutes des facteurs qui ont favoriséson utilisation.
La classification dans la détection d’intrusion consiste à séparer les données captées sur
un réseau en plusieurs classes distinctes, selon leur contenu. Chaque classe regroupe donc des
paquets au contenu similaire. Le but principal de cette tâche est de rendre l’IDS capable de
déterminer de façon autonome les paquets connexes à une classe d’attaque. Tel qu’illustré
dans la figure suivante [6] :

Figure 3.1 : La tâche de classification[6]

41
Chapitre3 Combinaison de classifieurs par AdaBoost pour la detection d’intrusion

2.1 Classifieur bayesien naïf :


La classification bayésienne naïve des données, est une méthode de classification
supervisée facile à mettre en œuvre. Le calcul des paramètres de l'algorithme n'est pas
complexe ce qui permet son utilisation avec des ensemble de données très volumineuses.
Le classifieur est basé sur le théorème de Bayes pour le calcul des probabilités
conditionnelles et est utiliséen classification comme suit :
Soit un objet O de vecteur caractéristique xo= (xo1, xo2,…, xod), et soit la classe ci de l'ensemble
de classes C. On exprime la probabilitéque l'objet O soit de la classe ci comme suit (loi de
Bayes) :
P (ci / xo) = P (xo / ci). P (ci) / P (xo)

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 :

P (xo / ci) = П P (xoj / ci), j =1…n

d'oùla qualification de classification naïve.


La classe attribuée àl'objet O est ck, maximum de l'ensemble des probabilités {P (xo / ci), i =
1…d}
ck=Argmax {P (xo / ci), i =1…d}

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

2.2. Classifieur machine àvecteur de support(SVM) :


Les Machines à Vecteurs de Support ou SVM constituent une famille d’algorithmes
d’apprentissage permettant de contrôler la capacité de généralisation des modèles qu’ils
produisent.
Soit un ensemble d’apprentissage Z = {(X1, Y1), . . ., (XN, YN)} avec Xi ∈ ℜn et Yi ∈ Ω=

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 :

Déterminer l’hyperplan optimal revient à résoudre le problème d’optimisation


quadratique, dont la dimension est égale au nombre de contraintes, c’est-à-dire àla taille N de
l’ensemble d’entraînement. Les α *i solutions de ce problème sont non nuls et vérifient
l’équation [21] :

43
Chapitre3 Combinaison de classifieurs par AdaBoost pour la detection d’intrusion

2.3. Classifieur Arbre de Décision :


Un arbre de décision modélise une hiérarchie de tests sur les valeurs d’un ensemble de
variables appelées attributs. À l’issue de ces tests, le prédicteur produit une valeur numérique
ou choisit un élément dans un ensemble discret de conclusions.
À partir d’un ensemble d’observations T = {(x, y)}, on souhaite construire un arbre de
décision prédisant l’attribut y en fonction de nouvelles instances x. Pour ce faire, nous suivons
le paradigme diviser-pour-régner, que l’on peut schématiser par le pseudo-code suivant :

Algorithme 1 : Arbre de decision

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

Et pour classifier de nouvelles instances on suit l’algorithme suivant [22] :

Algorithme 2 : Classification par arbre de decision


Classifier (x, t)
Si t = feuille(Tf)
Retourner la classe majoritaire de Tf
Sinon si t = noeud (i, v, t_left, t_right)
Si x[i] <= v
Retourner Classifier (x, t_left)
Sinon, x[i] > v
Retourner Classifier (x, t_right)
Sinon, t = noeud (i, {v -> t[v]})
Retourner Classifier (x, t[x[i]])

Fin si

3.Combinaison des classifieurs :


3.1. Le Boosting :
3.1.1. Le principe :
Le boosting est une méthode itérative d’ajout de classifieurs faibles dans un ensemble
(Freund - 1995, 2001 ; Meir et Rätsch - 2003), qui consiste à faire varier la base
d’apprentissage par des pondérations successives des mêmes exemples afin de se focaliser sur
les exemples « difficiles » (i.e. les exemples mal classés par plusieurs classifieurs déjà
intégrés). Le classifieur fourni dans chaque cycle est également pondérépar la qualitéde sa
classification. La décision finale est donc obtenue par la somme pondérée des sorties des
classifieurs élémentaires de l’ensemble.
Cette technique de la production d’un ensemble peut s’utiliser avec un algorithme
d’apprentissage quelconque. Nous pouvons obtenir de très bons classifieurs simplement en
assemblant un grand nombre de classifieurs faibles. Par contre, la difficulté existante est
d’incorporer des connaissances a priori et d’effectuer le meilleur choix d’un algorithme
d’apprentissage faible.
AdaBoost est une version classique de l’approche boosting (Freund et Schapire - 1997),
qui exige moins d’instabilité que le bagging parce que cette méthode permet d’engendrer de
beaucoup plus grands changements dans l’ensemble d’apprentissage. Plusieurs études
comparatives sur AdaBoost et bagging (Breiman - 1996a ; Schapire et al. - 1998 ; Bauer et
Kohavi - 1999) ont montréque, en général, le bagging tend àdiminuer la variance sans influer
excessivement sur le biais, tandis que AdaBoost réduit à la fois le biais et la variance. Il

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.1.2. L’1gorithme d’AdaBoost [24] :


Algorithme 3 : AdaBoost

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

3.2.2. L’Algorithme de Bagging [25]:


Algorithme 4 : Bagging

3.3. Pourquoi le choix d’AdaBoost :


Le boosting, et particulièrement l’algorithme AdaBoost, a été employé avec succès avec
de nombreux algorithmes d’apprentissage « faibles ». On l’utilise souvent par exemple avec
des arbres de décision àprofondeur volontairement limitée (dans le cas extrême, les decision
stumps, ou « souches de décision » ne font qu’un seul test pour choisir une classe). On utilise
aussi un système d’apprentissage d’arbre de décision, un système d’apprentissage de règles).
Le boosting a été testé sur des domaines d’application variés. En général, l’utilisation du
boosting a pour résultat d’améliorer souvent sensiblement les performances en apprentissage.
Les avantages du boosting et de AdaBoost en particulier sont qu’il s’agit d’une méthode
facile à programmer et aisée d’emploi. Elle ne nécessite pas de connaissance a priori sur
l’algorithme d’apprentissage « faible » utilisé, et elle peut s’appliquer de fait à n’importe quel
algorithme d’apprentissage faible. Les seuls paramètres à régler sont la taille de l’ensemble
d’apprentissage m et le nombre total d’étapes T, qui peuvent être fixés par l’utilisation d’un
ensemble de validation. De plus, des garanties théoriques sur l’erreur en généralisation

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

AdaBoost AdaBoost AdaBoost

Comparaison

Classifieur retenu Précision


De classification

Figure 3.2 : L’AdaBoost avec trois classifieurs de base.

45
Chapitre3 Combinaison de classifieurs par AdaBoost pour la detection d’intrusion

Arbre de
SVM KDDcup99 Naïve KDDcup99
KDDcup99
Décision
Bayes

BAGGING BAGGING BAGGING

Comparaison

Classifieur retenu Précision


De classification

Figure 3.3 : Le BAGGING avec trois classifieurs de base.

4.2. Echantillonnage et construction des sous-ensembles d’apprentissage :


Les classifieurs d’ensemble n’ont aucun intérêt en absence de diversité des données
d’apprentissage. De ce fait, nous échantillonnons le Dataset KDDcup99 en considérant
l’utilisation de M classifieurs de base pour chaque cas de cas précédent (Figure 3.4).

KDDcup99

Echantionner

… …………..

Figure 3.4 : Echantillonnage des données d’apprentissage

L’échantillonnage se fait selon un tirage aléatoire avec remise, l’algorithme suivant


montre la construction des «M »sous-datasets SOUSDS1, …, SOUSDS M.

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)

SOUSDSi = SOUSDSi ᴜ{KDDcup99[k]}


Fin Pour
Fin Pour

4.3. L’ensemble de Test :


L’ensemble de test est considéré dans notre cas de travaille « N/M » ou les éléments
sont tirés aléatoirement à partir des sous-ensembles d’apprentissage SOUSDS1, …,
SOUSDS M.
Cette technique de construction des sous-ensembles de test nous permet d’éviter la
cross-validation de la classification car les données de tests sont prises à partir des sous-
ensembles d’apprentissage.
L’algorithme suivant montre comment le sous ensemble de test peut être construit :

Algorithme 6 : Construction Test


Entrée : les sous-datasets SOUSDS1, …, SOUSDS M
Sorties : le sous-dataset de test SOUSTest

SOUSTest = Ø
Pour j=1 jusqu’à N/M Faire
i=Random(N)
k=Random(N/M)

SOUSTest = SOUSTest ᴜ{ SOUSDSi [k]}


Fin Pour

4.4. Critère de performance :


Nous considérons uniquement la précision au sens de la classification comme critère de
performance des classifieurs d’ensemble. Soit les k classes c1, ……ck représentant les
étiquettes des données de KCCcup99, la précision globale d’un classifieur est donnée par
l’expression suivante :

41
Chapitre3 Combinaison de classifieurs par AdaBoost pour la detection d’intrusion

*vpi = nombre d’instances correctement classées dans la classe i.


*fpi = nombre d’instances incorrectement classées dans la classe i.
Typiquement k=2 pour une detection indifférente d’intrusion (k=1 le trafic est saint,
pour k=2 il y a une detection d’intrusion).

4.5 Récapitulation des résultats et decision :


Le tableau suivant montre le schéma des résultats de classification selon les différentes
configurations considérées dans notre travail.
AdaBoost BAGGING Individuel
SVM PSVM,AB PSVM,BAG PSVM
NaiveBayes PNB,AB PNB, BAG PNB
Arbre de decision PAD,AB PAD, BAG PAD

Tableau 3 .1 : Récapitulation des résultats de précision

La configuration àretenir comme optimale pour la classification de données d’intrusion


est :
Configuration= Argmax {Px, y}
xϵ {SVM, NB, AD}
yϵ {AB, BAG, Ind}

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

2.2. L’environnement de développement «Eclipse »:


Beaucoup de gens ne considèrent Eclipse que comme un Environnement de
Développement Intégré(EDI/IDE) : un outil qui rassemble toutes les fonctionnalités utiles aux
programmeurs pour développer des logiciels. Pourtant, même si c'est son utilisation première
aujourd'hui, ce simple nom cache une réalitébeaucoup plus vaste. Ce n'est qu'après avoir pris
conscience de tous ses aspects qu'Eclipse nous dévoile toute sa puissance.
Ce qui a rendu Eclipse populaire auprès des développeurs, c'est sa modularité. Plutôt
que d'offrir un ensemble de fonctionnalités figées, Eclipse propose une plateforme avec un
système de mise à jour permettant l'ajout de nouveaux modules. Plus encore, grâce à un
modèle de développement libre, chacun peut développer ses propres modules (voire modifier
ceux existant) et les intégrer à sa plateforme Eclipse. Ainsi, il est possible
d'utiliser Eclipse pour développer en langage Java, C++, PHP, Javascript ... et même tous àla
fois si on le souhaite. On peut également compléter cet environnement avec des générateurs
de code, de la vérification de code, tout ce que l'utilisateur peut souhaiter ou qu'un
développeur peut imaginer.
Les composants Eclipse peuvent aussi être réutilisés dans des applications Java en tant
que librairies. Ainsi, lorsqu'une technologie Eclipse nous semble intéressante, il est souvent
possible de l'embarquer dans une application externe àEclipse.
Si l'on souhaite rester plus proche du framework Eclipse et bénéficier de tous ses avantages,
celui-ci nous offre également la possibilité de développer une application basée
sur Eclipse. Ce, avec l'interface graphique historique d'Eclipse (SWT) ou plus récemment
avec n'importe quelle autre interface graphique avec un moteur de rendu implémenté en
Java. Vous pouvez ainsi créer une IHM moderne avec peu d’efforts [28].

2.3. La plateforme Weka :


Weka (Waikato Environment for Knowledge Analysis) est un ensemble d’outils
permettant de manipuler et d’analyser des fichiers de données implémentant la plupart des
algorithmes d’intelligence artificielle, entre autres, les arbres de décision et les réseaux de
neurones.
Il est écrit en java, disponible sur le web, et s’appuie sur le livre :
«Data Mining, practical machine learning tools and techniques with Java implementations
Witten & Frank, Editeur: Morgan Kauffman ».
Il se compose principalement :
– De classes Java permettant de charger et de manipuler les données.
– De classes pour les principaux algorithmes de classification supervisée ou non supervisée.

53
Chapitre4 Implémentation et test

– D’outils de sélection d’attributs, de statistiques sur ces attributs.


– De classes permettant de visualiser les résultats.
On peut l’utiliser à trois niveaux :
– Via l’interface graphique, pour charger un fichier de données, lui appliquer un algorithme,
vérifier son efficacité.
– Invoquer un algorithme sur la ligne de commande.
– Utiliser les classes définies dans ses propres programmes pour créer d’autres méthodes,
implémenter
D’autres algorithmes, comparer ou combiner plusieurs méthodes [29].

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 :

Types d'attaques Catégories d'attaques

neptune, back, land, pod, smurf, teardrop DOS

buffer overflow, loadmodule, perl, rootkit U2R

ftp write, guess passwd, imap, multihop, phf, spy, warezmaster R2L

ipsweep, nmap, portsweep, satan Probe

Tableau 4.1 : Types et catégories d'attaques existantes dans KDD-Cup 1999

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

Données d’entrainement Données test

Catégories Nombre de Pourcentage Nombre de Pourcentage


connexions connexions

Normal 79 270 19.69 % 60 593 19.48 %

OS 391 458 79.24 % 229 851 74.90 %

U2R 59 0.01 % 228 0.07 %

R2L 1 126 0.23 % 16 189 5.21 %

Prob 4 107 0.83 % 4 168 1.34 %

Total 494 021 100% 311 029 100%

Tableau 4.2 : La distribution des données pour la base d’entrainement et de test.

55
Chapitre4 Implémentation et test

A partir du tableau ci-dessus, nous remarquons que la classe "Normal" ne représente


qu'environ 20% de l'ensemble de la base [30].

4. Quelques Interfaces de l’application :


Dans la suite de cette section, nous présentons quelques éléments de l'application afin
de montrer comment elle est utilisée par un utilisateur afin de sélectionner la meilleure
configuration de classifieurs et d'algorithme de construction.

4.1. Fenêtre de l’apprentissage avec AdaBoost :


Cette interface montre les éléments de choix pour l'apprentissage avec l'algorithme de
construction de l'AdaBoost. On note l'ensemble d'apprentissage, l'ensemble de test, et les 3
types de classifieurs de base : J48, NaiveBayes, et SVM.

Figure 4.1: Fenêtre de l’apprentissage avec AdaBoost


4.2. Fenêtre de la classification avec AdaBoost :
Cette interface montre la classification en utilisant l'algorithme AdaBoost, avec les
différents classifieurs.

56
Chapitre4 Implémentation et test

Figure 4.2: Fenêtre de la classification avec AdaBoost


4.3. Fenêtre de l’apprentissage avec Bagging :
Cette interface montre l'apprentissage avec l'algorithme du Bagging, en considérant les
différents classifieurs.

Figure 4.3: Fenêtre de l’apprentissage avec Bagging


4.4. Fenêtre de la classification avec Bagging :
Il s'agit de l'interface du test de la classification, en utilisant l'algorithme du Bagging.
Aussi, différentes combinaisons peuvent être considérées en choisissant le classifieur de base
(SVM, NaiveBayes, J48).

57
Chapitre4 Implémentation et test

Figure 4.4: Fenêtre de la classification avec Bagging


4.5. Fenêtre de l’apprentissage avec classifieur unique
La figure suivante montre l'interface d'apprentissage en utilisant un seul classifieur.

Figure 4.5: Fenêtre de l’apprentissage avec classifieur unique


4.6. Fenêtre de la classification avec classifieur unique :
La fenêtre suivante montre la classification avec un seul classifieur parmi les 3
considérés (SVM, NaiveBayes, J48).

58
Chapitre4 Implémentation et test

Figure 4.6: Fenêtre de la classification avec classifieur unique.

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.

5.1. Chaque classifieur unique (NaiveBayes, SVM, J48) :


5.1.1. Classification par J48 :
Classifieur Taux des Taux des Temps Temps de test
instances bien instances mal d’apprentissage
classés classés

J48 97.54 2.46 3.5s 2.84s

Tableau 4.3 : Taux de classification et durée accumulépour chaque phase

5.1.2. Classification par NaiveBayes :


Classifieur Taux des Taux des Temps Temps de test
instances bien instances mal d’apprentissage
classés classés

NaiveBayes 81.18 18.82 0.89s 1.10s

Tableau 4.4 : Taux de classification et durée accumulépour chaque phase

59
Chapitre4 Implémentation et test

5.1.3. Classification par SVM :


Classifieur Taux des Taux des Temps Temps de test
instances bien instances mal d’apprentissage
classés classés

SVM 91.61 8.39 6.52 minutes 4.21minutes

Tableau 4.5 : Taux de classification et durée accumulépour chaque phase

5.2. Chaque classifieur avec AdaBoost :


5.2.1. Classification par (J48+ AdaBoost) :
Classifieur Taux des Taux des Temps Temps de test
instances bien instances mal d’apprentissage
classés classés

J48+ AdaBoost 98.30 1.70 41s 36.28s

Tableau 4.6 : Taux de classification et durée accumulépour chaque phase

5.2.2. Classification par (NaiveBayes+ AdaBoost) :


Classifieur Taux des Taux des Temps Temps de test
instances bien instances mal d’apprentissage
classés classés

NaiveBayes+ 81.93 18.07 43s 25.8s


AdaBoost

Tableau 4.7 : Taux de classification et durée accumulépour chaque phase


5.2.3. Classification par (SVM+ AdaBoost) :
Classifieur Taux des Taux des Temps Temps de test
instances bien instances mal d’apprentissage
classés classés

SVM+ 92.45 7.55 65.73minutes 158.18minutes


AdaBoost

Tableau 4.8 : Taux de classification et durée accumulépour chaque phase

60
Chapitre4 Implémentation et test

5.3. Chaque classifieur avec Bagging :


5.3.1. Classification par (J48+ Bagging) :
Classifieur Taux des Taux des Temps Temps de test
instances bien instances mal d’apprentissage
classés classés
J48+ Bagging 97.87 2.13 24.96s 21.71s

Tableau 4.9 : Taux de classification et durée accumulépour chaque phase

5.3.2. Classification par (NaiveBayes+ Bagging) :


Classifieur Taux des Taux des Temps Temps de test
instances bien instances mal d’apprentissage
classés classés
NaiveBayes+ 81.18 18.82 6.51s 7.6s
Bagging

Tableau 4.10 : Taux de classification et durée accumulépour chaque phase

5.3.3. Classification par (SVM+ Bagging) :


Classifieur Taux des Taux des Temps Temps de test
instances bien instances mal d’apprentissage
classés classés

SVM+ Bagging 90.69 9.31 53.36minutes 30.91minutes

Tableau 4.11 : Taux de classification et durée accumulépour chaque phase

5.4. Combinaison des trois classifieurs (NaiveBayes, SVM, J48) :


5.4.1. Avec AdaBoost :
Classifieurs Taux des Taux des Temps Temps de test
instances bien instances mal d’apprentissage
classés classés

(J48+SVM+ 95.97 4.03 66.33 minutes 44.05minutes


NaiveBayes)
+AdaBoost

Tableau 4.12 : Taux de classification et durée accumulépour chaque phase

61
Chapitre4 Implémentation et test

5.4.2. Avec Bagging :


Classifieurs Taux des Taux des Temps Temps de test
instances bien instances mal d’apprentissage
classés classés

(J48+SVM+ 94.68 5.32 61.21minutes 54.08minutes


NaiveBayes)
+Bagging

Tableau 4.13 : Taux de classification et durée accumulépour chaque phase

5.5. La précision obtenue pour tous les cas :


AdaBoost BAGGING Individuel
SVM 0.98 0.98 0.98
NaiveBayes 0.96 0.95 0.95
Arbre de decision 0.98 0.98 0.98
Combinaison (J48+SVM+ 0.98 0.98
NaiveBayes)

Tableau 4.14 : la précision obtenu pour tous les cas

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