Ministère de l’Enseignement Supérieur et de la Recherche Scientifique

Ecole nationale Supérieure d’Informatique (ESI) Oued-Smar, Alger

Mémoire de fin d’études
Pour l’obtention du diplôme d’ingénieur d’état en informatique

Option : Systèmes Informatiques

Thème :
Conception et implémentation à base d’agents, d’un système de détection d’intrusions inspiré des systèmes immunitaires.
Réalisé par : DAOUDI Samir Encadré par : Mme S.SADEG Mme S.HASSINI
Promotion : 2008/2009

Ecole nationale Supérieure d’Informatique

Résumé
Face aux nouvelles technologies de l’information et de la communication, apparue avec l’avènement des réseaux et d’internet, la sécurité informatique est devenue un défi majeur, et les travaux dans cet axe de recherche sont de plus en plus nombreux. Divers outils et mécanismes sont développés afin de garantir un niveau de sécurité à la hauteur des exigences de la vie moderne. Parmi eux, les systèmes de détection d’intrusions destinés à repérer des activités ou comportements anormaux suspects de nuire au bon fonctionnement du système. L’objet de ce projet de fin d’études est la conception et la réalisation d’un IDS (Intrusion detection system) inspiré des systèmes immunitaires naturels. L’étude de systèmes biologiques afin de s’en inspirer pour la résolution de problèmes informatiques est un axe de l’intelligence artificielle qui a donné naissance à des méthodes robustes et efficaces (colonies de fourmis, algorithmes génétiques, réseaux de neurones …etc.). De part leur fonction naturel, les systèmes immunitaires ont suscité l’intérêt des chercheurs dans le domaine de la détection d’intrusion, compte tenu des similitudes des objectifs d’un SIN (système immunitaire naturel) et d’un IDS. Dans le cadre de ce travail, nous avons conçu un IDS inspiré des SIN et implémenté en utilisant une approche orientée agents. Une plate forme a été développé et des tests ont été effectués afin d’évaluer les performances de notre système.

Mots clés : Système de détection d’intrusions, systèmes immunitaires naturels, systèmes
immunitaires artificiels, systèmes multi-agents.

2

Ecole nationale Supérieure d’Informatique

Abstract
In view of new communication and information technologies that appeared with the emergence of networks and Internet, the computer security became a major challenge, and works in this research axis are increasingly numerous. Various tools and mechanisms are developed in order to guarantee a safety level up to the requirements of modern life. Among them, intrusion detection systems (IDS) intended to locate activities or abnormal behaviors suspect to be detrimental to the correct operation of the system. The purpose of this work is the design and the realization of an IDS inspired from natural immune systems. The study of biological systems to get inspired from them for the resolution of computer science problems is an axis of the artificial intelligence field which gave rise to robust and effective methods (ants colonies, genetic algorithms, neuron networks… etc) By their natural function, the immune systems aroused the interest of researchers in the intrusion detection field, taking into account the similarities of SIN (natural immune system) and IDS objectives. Within the framework of this work, we conceived an IDS inspired from natural immune system and implemented by using a directed agents approach. A platform was developed and tests were carried out in order to assess our system performances.

Keywords: Intrusion detection system, artificial immune system, natural immune system,
multi-agents systems.

3

.....................................3 Classification des IDS . 15 2...................................................................................................................................................................................... Emplacement de l’IDS.................2 Introduction .......................................... 3 Table des matières .............. 31 4 .... 20 Antivirus ......2........................................................ 27 Classification selon la fréquence d’utilisation .......3 Types de pirates informatiques ....................................... 25 Classification selon la source d’information ................................................... 22 Architecture des IDS ...................................................................... 29 Evaluation d’un IDS ......6 4....4 3..................................................................................... 24 Architecture totalement distribuée .....................................5 3.................................................................. 20 Pares feu ......1 2................................................................... Systèmes de détection d’intrusions . 11 Introduction générale ....................1 2.....................................................3....1 3.... 2......................... 17 Contre-mesures .............. 9 Liste des tableaux ....3.3....................................................................................................4 2................ 21 2................1 3......3................................................................................................................................................ 15 1........................................................ 21 Systèmes de leurre .................................................................. 22 3.................................................3............2..... 24 Classification selon l’approche de détection ................................3 2......................................................................................................................................... 15 Intrusions informatiques .................3............................................................3......................3.............................................1 3............................................................................................................................... 20 Scanners de vulnérabilités ................................................................................................................................ 23 Architecture partiellement distribuée... 24 Classification selon l’emplacement de l’IDS ................................................................................................................................................... 30 Conclusion ......................................... 28 3........................2..................Ecole nationale Supérieure d’Informatique Table des matières Résumé .....5 3............................... 2 Abstract .....................................................................................................................................................................................................................3 3.. Introduction .. 21 Patchs .................3...........4 3.......2 2............................... 12 Chapitre I : Détection des intrusions ................................... 24 3............................................................................ 4 Liste des figures ......................2 2...................................................................................................................5 3........ 27 Classification selon la réponse après détection .............................. 23 Architecture centralisée ............2 3..........................................................................................................3................................................... 29 Standardisation / normalisation ....3 3............................ 16 Différentes phases d’une attaque .......................2 3.............................................................................

..1 2................................................. 2................................................................... 3.2 Historique ................................. Déroulement d’une réponse immunitaire ...1 2........ 36 Immunité innée .......2 2.............................................1........................................................................1 2..............5................... 43 3...........................................6 Théories immunitaires ....... 34 Concepts immunologiques ..........................................................................5...............4 Réactions immunitaires ................. 42 Systèmes immunitaires artificiels .....6..........4.....2......3 2................................................4..................................5....2...............2 2...............................................1.......................3........................ 39 Communication et diffusion .......3 2.............. ...........................4 2...................................................................... 35 Antigène ..............3.........2 2............................................... 3........................................ 33 2.....3 2...................................................4...........2...................................2..................... 45 Algorithmes immunitaires . 37 Immunité humorale . 40 2. 39 La distributivité .............. ...........1 2....... 42 2.....2 2...................................5..................................... 38 Apprentissage et mémorisation ..........6 2............................................................................................................................... 48 Algorithme de la sélection clonale . 39 L’auto organisation .................... 41 Théorie du danger ........... 48 Algorithme de la sélection négative/positive .....5...................................................................................6.......................................... 39 Méta dynamisme .......................... 37 Immunité cellulaire ............................................................................................................................................................5 Propriétés du système immunitaire.............................. 34 Organes immunitaires ...... Historique ...........................3............ 34 Cellules immunitaires ............1 2................................1 2.. 43 Définitions .......................................2........................................................ 33 Systèmes immunitaires naturels .....5.............................................................................................4..............6...............................5 2............................... Introduction .......... 38 2.............................. 36 2............ 33 1...................................................................Ecole nationale Supérieure d’Informatique Chapitre II : Systèmes immunitaires..................................................................... 3.......................3 Immunité innée et immunité adaptative ..............................2 2............................................ 44 Modélisation des systèmes immunitaires artificiels ....... 38 Discrimination entre soi et non soi ....7 3................................. 40 Théorie de la sélection Négative/Positive ......................................................................................... 36 Immunité adaptative .......... 49 5 3......................................................................................................... 40 Théorie de la sélection clonale...................................... 3............................................................................................................................................................... 37 2............................................................................................................4.................................................

..................... 65 2................................................................................... 59 Agents ....1 2..................................4........................5...........................5 Architecture .............................................................. 62 Communication .....................................................3........................2 3..... 3........... 67 3.....1.............................................................2... 62 Activité .................................3...................................................................... Les systèmes immunitaires et les systèmes de détection d’intrusions................................... Introduction .........................................................4 2..................................................................................... 3..................3............... 69 Ouverts ..................................................5........................................................................4 2.......................................3......5.......................5...............................2 3....... 66 Systèmes multi-agents ........................................................................................................................................................................ 63 2......................................................................3 2.... 57 Chapitre III : Systèmes multi-agents .........1 3...........................................................................................6 2........................................ 60 2.............................................................1 2......................................3........................................................................................................................... 69 Domaines d’applications ........ Standards de communication ......3................................5 2..........................................................................................................................................3..3 3................3.... 70 6 3.............. 62 Sociabilité .................... 62 Réactivité .. 60 Définitions .....3.................................... 53 Génération des détecteurs .......................................3..... 62 L’apprentissage ...............................................2 2........................ 56 3. Conclusion .................................................. 59 1... 62 Pro-activité .................. 64 Agents cognitifs ................................................... 3................ 70 Fermés ...........1 3............... 3.......................5............................. 52 Systèmes immunitaires et algorithmes immunitaires .....1 2...... 70 Hétérogènes ...... 63 Types d’agents .............................................................................................. 70 Homogènes .................................................................... 56 Détection d’anomalies et détection par scénario ................... 51 Caractéristiques d’un IDS ..........................................................3.....................................5....................................................................................................................................7 2..............................Ecole nationale Supérieure d’Informatique 3.......... 62 Autonomie..5.........2 2............................ 2.............3 Agents VS Objets ................................................................................................................4 ...............................5....................... 4........ 60 Caractéristiques ...................................... 51 Propriétés des AIS pour la détection d’intrusion ............................................................................................................... 69 Types de systèmes multi agents..................6 3........2 2................................................................3 Avantage des systèmes multi-agents ...........................3....... 64 Agents réactifs .5......................

......................1 4.........3 5...... b........................................ 85 HIDS esclave ............................................. 79 La base de données « Signatures » ......................................1 5........................................................................................ 78 Bases de données utilisées .......................................................................................................................... 70 Plates formes multi-agents .................................................... 73 Chapitre IV : Conception ........................................................................................................................................................................ 98 1............................................ 90 Le Senseur .............2 4................................................................................ 86 Fonctionnement du HIDS ............ 103 Base de données «Signatures »................... 95 Chapitre V : Réalisation et tests expérimentaux ......................................................................................................................................................... 102 Base de données ............................... 86 Théorie de la sélection négative .................. 83 5........... 83 HIDS avec approche comportementale .... La base de données « Profils » ................................................... 4......2 6.... 90 Théorie de la sélection clonale ....................................2 BDD « Profils » .............................................................. 90 Le Manager ..................3 Architecture du NIDS ............................................. 3.... 98 Systèmes multi-agents ... Introduction ..................... 5................................................................................................. 2..2 5......... 6..................................................................................................................................................Ecole nationale Supérieure d’Informatique 4...............5 Architecture du HIDS .......................................... 6..............................................................1 a.... 80 La base de données «Alertes » .................................................... 100 3........................................ NIDS avec approche par scénario ............................................. 88 6.........2 4................................................................................... 105 7 ...........4 5....................... Les SMA et les IDS ..................................................................... 79 4............. 98 Environnement d’exécution .................... 72 Conclusion .................................................................................................................................................................................................................................................................................................... 78 Architecture globale de l’IDS .................................. 103 4............................................................................................................................................................................................ c.............. 76 1.... 2....................................................................................................................... 101 Le SMA « HIDS » ...............................................3 5...................... Le SMA « NIDS » ............. 3.......................................................................................................... Introduction .... 76 Description de la solution ............................. 89 6......................................................................................................1 4............................................................................................................................................ 90 L’Analyseur .....1 3............................................................................................. 84 HIDS Superviseur . 91 Fonctionnement du NIDS .............................

............................................................................................................... 113 Administration de l’IDS ............................ 110 HIDS esclave .................................Ecole nationale Supérieure d’Informatique 4. 136 Bibliographie........... 144 8 .2 6.............................................................................................................................1 2.................2 7...........................3 5................................................................................................ 110 2......................................................... Langages et environnements de développement...... Tests et résultats ....... 7..................... 123 9.............6.......... 129 Annexe II : Techniques de piratage informatique ....................... Conclusion .............................................................. Base de données «alertes » ................................................................................................................................................ 113 7......... 107 HIDS master ....................3 Prés requis...........................1 8...2 Tests sur le HIDS ........................................................................................................... 127 Annexe I : Plate forme JADE ................................................................................................................................................................................................................................... 112 Déploiement et lancement de l’IDS ......1 7................................................................. 113 Déroulement de l’exécution de l’IDS ...6....................................... 114 8.......................................................... 119 Tests du NIDS ................... 106 Découpage des classes ............................................................. 107 5................................................................................................. 125 Conclusion et perspectives ......................................................................................................................1 NIDS ... 119 8..........................................................................................

FIG 2. FIG 4. FIG 2. FIG 2. FIG 2.3 Processus de sélection Négative/Positive [CAS03].3 Résumé des différents types d’IDS.HIDS. FIG 1.4 Un agent cognitif [BOR05] FIG 3.2 Profil utilisateur . FIG 2.1 Structure d’un antigène avec ses épitopes [CAS01]. FIG 4.7 Architecture à base d’agents du NIDS. FIG 4. FIG 1.5 Représentation d’un système multi agents [TAN05].3 Architecture du HIDS utilisant l’approche comportementale. FIG 2.Ecole nationale Supérieure d’Informatique Liste des figures FIG 1.2 Pourcentage des différents types de piratage informatique selon les dégâts causés [BSA02].6 Fonctionnement du HIDS.1 Un agent dans un environnement [BOI02].5 Phase II de la sélection négative (mise en place des détecteurs pour l’analyse). FIG 1.3 Un agent réactif [BOI01f] FIG 3.2 Représentation caractéristique d’un agent à architecture modulaire horizontale [FER95].2Différents types de réponses immunitaires [AIC04].9 Principe de complémentarité entre antigène et anticorps [BRO04]. FIG 3.4 Emplacement de l’IDS au sein d’un réseau. FIG 3.1 Schéma global de la solution. FIG 2.6 Framework pour les systèmes immunitaires artificiels [BRO04].1 Rapport de CSI des pertes causées par le piratage informatique en millier de dollars [CSI08]. FIG 1.5 Modèle commun aux IDS [BUR06] FIG 2. FIG 2. FIG 4.4 Phase I de la sélection négative (Génération des détecteurs).8 : Format d’une signature.11 Système immunitaire artificiel pour la détection d'intrusions FIG 3. 9 . FIG 2.5 Déroulement d’une réponse immunitaire [cas99].4 Processus de sélection clonale [CAS02a]. FIG 4. FIG 4. FIG 4.10 Algorithme de sélection Négative/Positive en deux phase [CAS00c].8 Différentes distances pour le calcule d’affinité anticorps-antigène . FIG 2. FIG 4.7 Espace des formes [CAS01].

FIG 5.Ecole nationale Supérieure d’Informatique FIG 4.10 Aperçu rapide des différentes alertes générées.12 Gestionnaire des profils. FIG 5. FIG 5.19 Alertes générés par les différents HIDS esclaves.9 Administration de l’IDS. FIG 5. FIG 5. FIG 5. FIG 5.5 Schéma de la base de données « Signatures ».16 Réseau de test pour le HIDS. FIG 5.17 Interface du HIDS superviseur.13 Fonctionnement du NIDS.7 Schéma de la base de données « Alertes ».1 NIDS utilisé à part. 10 . FIG 5.13 Gestionnaire des alertes.8 Interface du NIDS. FIG 5.2 HIDS utilisé à part. FIG 5.11 Configuration de l’IDS.4 Schéma de la base de données « Profils ». FIG 5. FIG 5.12 : Processus de maturation d’affinité.3 Système multi-agents NIDS.18 Déploiement des agents du HIDS superviseur et des différents HIDS esclaves. FIG 5. FIG 5. FIG 4. FIG 5. FIG 5.10 : Attribution des poids aux différentes parties de la signature. FIG 5.14 Alertes NIDS.6 Modélisation de l’attaque par « injection SQL ».15 Gestionnaire des signatures. FIG 4.9 : Génération de l’ensemble initial d’anticorps FIG 4. FIG 4.20 Génération des détecteurs à partir des signatures – NIDS. FIG 5. FIG 5.11 : Mesure du degré d’affinité entre une signature et un détecteur.

TAB 3.1 : Comparaison entre les deux solutions.1 : Comparaison systèmes immunitaires et algorithmes immunitaires. TAB 4. 6 : Différentes classes du package « Profils » du HIDS superviseur. TAB 4. 3 : Différentes classes du package « Analyseur » du NIDS. 8 : Différentes classes du package « Captor » du HIDS esclave.1 : Différentes classes du package « SIG » du NIDS. TAB 4. TAB 4. 4 : Différentes classes du package « senseur » du NIDS. 7 : Différentes classes du package « Profils » du HIDS esclave TAB 4. 9 : Différentes classes du package « analyse » du HIDS esclave. TAB 4.2 : Comparaison entre systèmes immunitaires et systèmes de détection d’intrusions. TAB 4. TAB 4. TAB 4. 11 .Ecole nationale Supérieure d’Informatique Liste des tableaux TAB 3. TAB 4. 5 : Différentes classes du package « Detectors » du HIDS superviseur.2 : Différentes classes du package « Manager » du NIDS.

Afin de modéliser au mieux ces notions. Le système immunitaire biologique avec ses propriétés remarquables est une source d’inspiration pour la résolution de problèmes. Différentes méthodes et approches ont été adoptées pour la conception de systèmes de détection d’intrusions. Afin d’évaluer ses performances. qui présentent des propriétés et une grande similarité avec les systèmes de détection d’intrusions. nous adopterons une 12 . à savoir. l’implémentation et l’adaptation des concepts et méthodes des systèmes immunitaires biologiques pour la résolution de problèmes. L’étude des systèmes immunitaires est un nouvel axe de recherche très prometteur. Leur rôle est de reconnaitre des intrusions ou des tentatives d’intrusions par des comportements anormaux des utilisateurs ou par la reconnaissance d’attaque à partir du flux des données du réseau. Ces derniers sont en fait la modélisation. Différentes contre-mesures permettant d’éviter ces attaques ou de diminuer de leur gravité existent mais aucune solution ne peut être considérée satisfaisante et complète. Les systèmes de détection d’intrusions sont l’une de ces contre-mesures les plus efficaces. Avec leur grande diversité et spécificité aux systèmes. qui a donné naissance à une nouvelle branche de l’intelligence artificielle. notamment des systèmes immunitaires. nous nous intéressons aux systèmes immunitaires pour la détection d’intrusion. ces dernières peuvent avoir des conséquences catastrophiques. Dans le cadre de notre étude. Parmi ces méthodes. Notre objectif est de développer un système immunitaire artificiel pour notre système de détection d’intrusions. nous procéderons à une série de tests dont nous analyserons les résultats afin de mesurer l’apport des systèmes immunitaires pour la détection d’intrusions. en implémentant les principales théories immunitaires. l’une est inspirée de la nature. les systèmes immunitaires artificiels.Ecole nationale Supérieure d’Informatique Introduction générale Les attaques informatiques ont été depuis leur apparition une vraie menace. Les systèmes de détection d’intrusions ainsi que les systèmes immunitaires sont caractérisés par leur architecture hiérarchique et leur fonctionnement distribué sur un ensemble de sous systèmes.

13 . Nous détaillerons dans le chapitre cinq les différents plates-formes et langages de programmation auxquels nous avons eu recours pour l’implémentation de notre système. Nous finirons par un ensemble de tests permettant d’évaluer l’apport des systèmes immunitaires pour la détection d’intrusions. nous présenterons les systèmes immunitaires naturels. Dans le second chapitre. Les systèmes multi-agents feront l’objet du troisième chapitre La seconde partie « Mise en œuvre » sera dédiée à la présentation de notre système de détection d’intrusions développé à base d’agents en s’inspirant des systèmes immunitaires artificiels. et nous nous intéresserons de prêt aux systèmes multi-agents. Nous présenterons dans le quatrième chapitre toutes les théories et modèles immunitaires utilisés. systèmes immunitaires artificiels et leurs applications pour la détection d’intrusions.Ecole nationale Supérieure d’Informatique méthode de conception basée sur des agents. Ce rapport se divisera en deux parties principales : « Etat de l’art » et « Mise en œuvre ». Le premier chapitre est consacré à l’introduction des intrusions informatiques et des systèmes de détection d’intrusions.

14 .Ecole nationale Supérieure d’Informatique Première partie Etat de l’art.

L’arrivée d’Internet est définie comme l’âge d’or de l’informatique. Introduction De nos jours l’outil informatique est omni présent dans notre vie quotidienne. 4.Ecole nationale Supérieure d’Informatique Chapitre I : Détection des intrusions 1. Internet a révolutionné notre vie. Autrefois. Que ce soit pour l’achat d’articles. [Col01] 15 . La plupart des opportunités sont dans le domaine commercial. Introduction. Intrusions informatiques. Conclusion. Avec l’interconnexion des réseaux. de nouveaux marchés ont vu le jour et de nouvelles perspectives sont apparues. Systèmes de détection d’intrusions. Comme toute innovation ou nouvelle technologie. Par conséquent une communauté de gens malveillants s’est fondée et de nouveaux objectifs se sont créés tel que le détournement d’informations. Internet peut avoir des conséquences regrettables en cas de mauvaise utilisation. nous dépendons énormément de cette technologie et nous ne pouvons plus nous en passer. 2. où les entreprises peuvent exposer leurs produits et services au monde entier grâce à des sites web. 3. 1. l’envoi de courrier ou encore la réservation de places de cinéma. la rapidité de diffusion et d’acquisition de l’information. guerre inter-nations ou abus ont vu le jour. De nouveaux genres d’espionnage industriel. Des transactions avec des sommes colossales sont effectuées chaque jour. Intrusions informatiques Avec l’arrivée d’internet. faire des transactions bancaires. ce qui expose les entreprises à différentes menaces. on s’était beaucoup plus intéressé aux avantages de cette nouvelle technologie et rares étaient ceux qui pensaient ou mettaient quelques moyens et ressources pour assurer un minimum de sécurité. 2. la percée des secrets personnels et cela peut aller jusqu'à la destruction d’informations vitales.

Attaques applicatives : Cette deuxième catégorie contient les techniques basées sur les faiblesses et les bugs des applications. spécialistes des réseaux. Ils existent depuis longtemps. regroupe l’ensemble des techniques mises au point. Si les hackers s’intéressent à découvrir les failles et les bugs. Différentes techniques ont été mises en place par des communautés des pirates informatiques.1 Types de pirates informatiques Les pirates informatiques se sont organisés en communautés et selon leur appartenance. Nous pouvons catégoriser les différentes techniques de piratage informatique en deux classes [Gan00] : i. utilisent des techniques de 16 . On estime aujourd’hui à moins de 4 mn le temps moyen pour qu’un PC non protégé connecté à Internet subisse une tentative d’intrusion ou soit contaminé par un programme malicieux. [Sms00] ii. [Ray01]. leurs objectifs diffèrent ainsi que leurs manières de procéder. permettant ainsi d’exploiter ces dernières pour des fins malveillantes. d’autres ont créé Internet. les crackers les utilisent pour des fins destructives. et que les administrateurs réseau ou les personnes chargées d’assurer la sécurité informatique ignorent de quoi ils devraient se protéger. Crackers : Les crackers quant à eux sont dangereux et peuvent causer des dégâts. Dés l’apparition de l’informatique et avec les premiers mini-ordinateurs.Ecole nationale Supérieure d’Informatique Le plus grave est que plusieurs entreprises courent des risques sans le savoir. Certains d’entre eux ont participé au développement d’Unix. [Gan00]. Les différents types d’attaques seront détaillés en annexe II. Attaques réseaux : Cette classe d’attaques. 2. Hackers : ce sont d’excellents développeurs. ii. Chacune d’entre elles touche un certain aspect de l’outil informatique. Deux grandes catégories se sont distinguées i. ils ont contribué à faire de l’informatique ce qu’elle est aujourd’hui. Ils contournent les protections par mots de passe. permettant d’exploiter les faiblesses des réseaux ou bien les attaques qui ciblent des composants réseau. Les hackers partagent librement l’information et ne causent jamais la perte ou la destruction d’informations.

déstabilisent et mettent hors d’usage des systèmes …etc. et le système pénétré. Persist : Une fois l’attaque réussie. Ce problème est devenu très sérieux.Ecole nationale Supérieure d’Informatique brute force. des quantités énormes d’informations confidentielles et de secrets industriels ont été volés. Cette collecte est facilitée par des outils tel que Whois. DNS Lookup. Paralyze : A la fin de son attaque. Les infrastructures informatiques gouvernementales et nationales sont les cibles préférées des pirates. effacent des données. si l’attaque peu être propagée sur d’autres machines. Propagate : L’attaquant vérifie s’il y’a d’éventuelles cibles à partir du réseau local. elles ont toutes la même démarche [COL01]. Un scan des ports ou encore un scanner de vulnérabilités. ou installe une porte dérobée (Cheval de trois). les organisations commerciales. Penetrate : C’est la phase de pénétration. l’attaquant tente de garder un contrôle sur le système. les crackers (pirates) les démolissent. [RAY01] 2. en utilisant les informations collectées. ces cinq verbes anglais définissent ce que c’est qu’une attaque : Prob : C’est la partie d’audit qui sert à collecter des informations relatives à la cible. Voici un petit historique des plus grandes attaques connues avant le bug de l’an 2000 Le 11 mai 1999 : Le site web de la maison blanche a été mis hors service. Ensuite. Les conséquences du piratage informatique peuvent être très graves et les chiffres le montrent clairement : des centaines de systèmes ont été piratés. ou carrément mettre hors 17 . [CAS00a]. les banques et en derniers lieu les simples utilisateurs [ALL03]. Une attaque est constituée de ce qui est connu sous le nom des « 5 P ». l’attaquant peut utiliser la victime pour mener d’autres attaques ou détruire des informations vitales. Il crée ainsi un compte avec des droits d’administrateur.2 Différentes phases d’une attaque Quelque soit les attaques menées. La différence fondamentale entre hackers et crackers est que les hackers construisent les choses. d’usage le système.

des répertoires personnels.). et par conséquent.Ecole nationale Supérieure d’Informatique Le 21 mai 1999 : le GAO (General Accounting Office) dit : « Nous avons réussi à pénétrer quelques systèmes à missions critiques. dont un responsable du calcul de position terre-orbite pour un vaisseau spatial » Le 1er juin 1999 : Des pirates chinois ont attaqué une poignée de sites gouvernementaux américains.etc. une attaque très massive et très discrète. Nous pouvons donc imaginer les dégâts causés sur des systèmes moins importants. FIG 1. La figure suivante FIG 1. un grand nombre d’attaques ont eu lieu touchants les plus grandes institutions gouvernementales qui sont supposées être sécurisées. Nous pouvons voir clairement sur la figure que durant les deux années qui ont suivi l’an 2000. les attaquants ont pris une très grande quantité d’informations (des listes de fichiers. le total des pertes s’est vu augmenter d’une manière très remarquable.1 montre les pertes causées par le piratage informatique. les backdoors ont été découvert bien après l’attaque…etc. Le 7 octobre 1999 : Des pirates russes réussissent à s’introduire dans le réseau du département de défense américain et ont réussi à dérober une très grande quantité d’informations du département d’armement nucléaire et de recherche. Le passage à l’an 2000 a couté très chère aux sociétés de l’information d’après le rapport publié par CSI (Computer Security Institute).. Le 7 octobre 1999 : Une attaque réussie contre la NASA. Les attaquants ont installé des backdoors.1 Rapport de CSI des pertes causées par le piratage informatique en millier de dollars [CSI08]. pour pouvoir se reconnecter plus tard. le site de la maison blanche a été encore mis hors service.. Nous remarquons que dans un laps de temps très réduit. une grande activité des pirates a été constatée. 18 .

Différentes attaques sont derrières toutes ces pertes.2 les différentes techniques de piratage citées plus haut présentent avec pour chacune le taux de perte causé. que ce soit des attaques de virus. 76 % des entreprises en Europe ne connaissent pas les sanctions prévues par la loi en cas d'utilisation frauduleuse de logiciel (73. mais ce fléau ne fait qu’augmenter.Ecole nationale Supérieure d’Informatique Voici un simple rappel de chiffres [Bsa02] :  4 logiciels sur 10 dans le monde sont des copies illicites avec pour conséquence des pertes s'élevant à près de 12 milliards d'euros.4% des futurs ingénieurs font des copies illégales de logiciels sur leurs ordinateurs personnels. même avec les mesures prises pour le contourner.2 Pourcentage des différents types de piratage informatique selon les dégâts causés [BSA02]. 19 . Non seulement les conséquences du piratage sont là pour nous donner une idée du danger couru quotidiennement.  63 % des entreprises seulement ont mis en place une politique logicielle (la France faisant figure de mauvais élève avec 38%).2% en France).   40% des petites entreprises en Europe seraient concernées par le piratage sur Internet. des attaques par déni de service ou des détournements de sessions. FIG 1.  79. nous retrouvons sur la figure FIG 1.  Moins de 50 % des entreprises effectuent régulièrement des audits de leurs logiciels.

de l’effacer ou bien de le mettre en quarantaine. garantissant ainsi un certain niveau de sécurité. ou vers un autre port. - D’autres antivirus scannent le code source des fichiers afin de trouver des morceaux de code dangereux pour l'intégrité du système.3 Contre-mesures Bien évidemment. Certaines personnes préconisent d'utiliser les deux types d'anti-virus de front afin de limiter les failles. D'autres conseillent d'utiliser un anti-virus et un pare-feu en même temps[COL01]. en créant des mécanismes de protection. face à de telles menaces. 2.2 Antivirus Un anti-virus est un logiciel qui se charge de détruire tout virus qu'il détecte.Ecole nationale Supérieure d’Informatique 2. Le pare-feu empêche un grand nombre d’attaques et présente un important mécanisme au sein d’une stratégie de sécurité [COL01]. qui peuvent parvenir d’Internet. Le pare feu peut aussi interdire à une application d’utiliser les services réseaux ou de se mettre en mode écoute sur un port défini.1 Pares feu La plus part des entreprises craignent les attaques externes. Le pare feu permet de définir des règles à vérifier pour chaque transmission. Certains logiciels sont déclarés au cours de leur utilisation comme étant vulnérables. Voici les contres mesures les plus connues : 2.3. Ils cherchent pour chaque fichier l’existence de signatures de virus dans leur base. le meilleur moyen pour se protéger de ces logiciels est de modifier les règles du pare feu afin de leurs interdire toutes communications avec l’extérieur en attendant l’installation de correctifs. et ainsi dérober certains secrets industriels ou informations confidentielles. Il existe différentes approches pour l’analyse des virus: - Certains antivirus possèdent une liste de virus et de leurs dérivés. 20 . ensuite ils essayent de le désinfecter. Il peut par exemple interdire les connexions venant d’une plage d’adresses IP ou une adresse IP précise. les informaticiens et surtout les développeurs ont réagi.3. interdire les connexions sur un port défini.

Ecole nationale Supérieure d’Informatique 2. Malgré l’existence de différents mécanismes de protection (pare feu. tels que les HoneyPots qui font croire à l’attaquant qu’il a réussi son attaque alors qu’il n’a pénétré qu’un système destiné à sauvegarder toutes les traces de cette intrusion [COL01]. 21 .5 Systèmes de leurre Ce sont des systèmes permettant de ralentir des attaques en générant de fausses réponses. Ces applications peuvent scanner des ports et déterminer les services exécutés sur ces derniers. D’autres méthodes et mécanismes existent tels que les systèmes de détections d’intrusions (Intrusion Detection System). scanner de vulnérabilités).4 Patchs Peu après la détection d’une vulnérabilité. l’éditeur de logiciels fournie un patch (correctif) ou bien une mise à jour pour corriger son produit. 2.3. Ils permettent de retrouver les traces des attaques déjà connues ou de détecter une nouvelle forme d’attaques. Les systèmes de détection d’intrusions servent à contrôler le trafic autorisé par le pare-feu et prennent des décisions si le trafic observé est suspect. cependant leurs principal avantages est leur rapidité [Col01]. une faille ou un bug. qui peuvent prendre des mesures pour éviter d’éventuels dégâts.3. 2. Ils ne sont pas aussi fiables.3 Scanners de vulnérabilités Ce sont des programmes permettant de scanner une cible afin de déterminer les éventuelles failles ou vulnérabilités dans son système. antivirus. C’est une très bonne (ou la meilleur) façon de se protéger de la majorité des failles. Objet de ce mémoire de fin d’études. ce sont des systèmes permettant de détecter des tentatives d’attaques ou des attaques réussies.3. car chacun d’entre eux à ses points faibles. Un grand nombre d’applications a été mis en œuvre par les experts en la matière. Ces derniers peuvent découvrir les attaquants qui parviennent à pénétrer le pare-feu ou le trafic qu’ils jugent suspects et l’annoncent aux administrateurs du système. chaque système de protection peut présenter une menace particulière pour les systèmes d’informations. bugs et erreurs de programmation connues.

ou seulement des tentatives). les IDS sont là pour détecter des attaques (réussies. Nous présentons dans ce chapitre les différentes architectures des IDS. processus…etc [BAC02]. ce qui éveillerait les soupçons des administrateurs. leurs approches de détections. Systèmes de détection d’intrusions 3. ou une tentative de déjouer des mécanismes de sécurité ou de compromettre la confidentialité. il convient de définir d’abord ce que c’est qu’une intrusion.1 Introduction Avant d’aborder les systèmes de détection d’intrusions.Ecole nationale Supérieure d’Informatique 3. l’intégrité et la disponibilité des informations [Ray01] [BUR06]. une tentative des utilisateurs d’augmenter leurs privilèges. Le terme intrusion est utilisé pour définir une attaque qui est réussie. Nous pouvons nous intéresser aux attaques durant ou après leurs apparitions. Découvrir de nouvelles attaques. des attaquants peuvent utiliser des machines intermédiaires pour effectuer leurs attaques dans le but de dissimuler leurs traces. leurs 22 . mais on continue de l’utiliser par abus. Automatiser la tâche d’analyse des fichiers log (Fichiers contenants les traces des utilisateurs). Pour être sémantiquement correct et pour être consistant on devrait dire système de détection d’attaques « Attack Detection System » au lieu de dire système de détection d’intrusion [ALL03]. L’intrusion peut ne pas être couronnée de succès. Une intrusion peut être provoquée par une personne malveillante ou une personne tierce. un système de détection d’intrusion (IDS) est un outil qui vient s’ajouter à une panoplie d’utilitaires utilisés pour avoir un certain niveau de sécurité. Une intrusion peu être définie comme une pénétration du système. On parle dans ce cas de tentatives d’intrusion. Reconnaitre des attaques connues. Un système de détection d’intrusion est un dispositif logiciel et ou matériel permettant de : Analyser du trafic réseau. En effet. En résumé. C’est pour cette raison que les attaquants doivent d’abord étudier le système en question avant de lancer des attaques. or. Analyser le comportement des utilisateurs.

les contre mesures peuvent être diverses :     Sauvegarde d’informations relatives à l’alerte. La réponse : C’est la partie qui prend en charge les contre mesures.Ecole nationale Supérieure d’Informatique comportements. composé de trois modules : La Source : ou la sonde. La stratégie de contrôle permet de déterminer la manière de gérer plusieurs sondes du même IDS. des actions peuvent être entreprises à partir du même point d’analyse. Différents modèles d’IDS (qui seront abordés plus loin) peuvent être utilisés dans un même réseau à différents points stratégiques. Différentes méthodes d’analyses existent et seront détaillées par la suite. Nous aborderons également les mesures qui permettent de définir le degré d’efficacité d’un IDS et pour finir les travaux très récents de standardisation et d’homogénéisation des IDS. Selon la gravité de l’alerte. 3.2.1 Architecture centralisée Une certaine disposition permettra de contrôler tous les événements à partir d’une console centrale. et décider des mesures à entreprendre. afin de récolter les informations en provenance des différents IDS et les traiter à un point central.2 Architecture des IDS Les systèmes de détection d’intrusions ont un modèle commun. plusieurs architectures peuvent être adoptées : 3. L’analyseur : L’outil permettant d’analyser les informations en provenance des différentes sources. Plusieurs sondes peuvent être installées à divers points stratégiques de la zone sous surveillance. Envoi d’emails à l’administrateur. analyser. Alertes visuelles sur des terminaux. permet de récupérer des informations qui seront étudiées par la suite. Refus des connexions …etc. Selon la disposition des différents composants de l’IDS. 23 . ou la façon de gérer plusieurs IDS dans un réseau. En cas de doutes. L’analyseur peut en cas de doutes signaler une tentative d’intrusions. ou ‘actionner’ des mécanismes de contres mesures par des alertes.

Les NIDS sont généralement appelés IDS on-line puisqu’ils analysent le trafic réseau en temps réel. en le comparant à une base de signatures des attaques connues. 3. Certaines classifications sont basées sur le comportement des IDS.3. Les tâches d’audits et d’analyses sont prises au niveau local. Ils ont pour rôle de surveiller le trafic du réseau.2. et la surveillance de tels réseaux est très difficile. 3.3 Classification des IDS Nous pouvons classer les IDS selon différents critères. chacun d’entre est géré par son propre IDS. Chaque ‘sous partie’ ou bien sous réseau est géré par un point local. Ces derniers peuvent être utilisés afin de choisir l’IDS le plus approprié aux besoins.Ecole nationale Supérieure d’Informatique 3. une autre classification selon leurs fréquences d’utilisations …etc. Les ‘conclusions’ et les rapports sont communiqués à un nœud d’ordre supérieur hiérarchiquement qui transmet ses conclusions au nœud suivant et ainsi de suite.2. Un problème se pose : les performances du réseau se voient diminuées à cause de l’IDS. d’autres sur leurs sources d’informations. 3. Les mesures sont prises par la console de niveau supérieur. Une hiérarchie est mise en place. Dans ce cas le réseau est décomposé en plusieurs sous-réseaux. Les NIDS sont généralement confrontés à deux grands problèmes : o o Les réseaux sont de plus en plus commutés.3 Architecture totalement distribuée Cette disposition est adoptée dans le cas des réseaux de grande taille.2 Architecture partiellement distribuée Cette disposition permet de décharger le serveur (le point central d’analyse et de traitement) de l’ensemble des tâches. Les transmissions cryptées rendent l’analyse de ces dernières presque impossible. afin de détecter la présence d’éventuelles signatures.1 Classification selon l’emplacement de l’IDS  Les NIDS (Network Based Intrusion Detection System) Ces IDS s’installent sur un réseau.  Les HIDS (Host Based Intrusion Detection System) 24 .

Donc la base de données doit être régulièrement mise à jour. une stratégie pour faire fonctionner et standardiser les communications et les alertes est à prévoir. les algorithmes génétiques…etc.2 Classification selon l’approche de détection L’approche de détection est un paramètre clé pour un IDS. les modifications majeures seront apportées à ce modèle. ces IDS sont une imbrication des deux types définis précédemment. les HIDS ont pour tâche de vérifier les fichiers LOG. les actions A-B-C se succèdent et si l’attaquant arrive à changer cet ordre ou à introduire une nouvelle action. deux principales approches existent :  Approche par scenario (Knowledge Based detection) Cette méthode de détection s’appuie sur une base de données de toutes les attaques connues. sont point faible 25 . Dans un même réseau. différents IDS peuvent être installés. les systèmes experts.Ecole nationale Supérieure d’Informatique Ce type d’IDS s’installent sur un hôte et ont pour rôle de surveiller l’activité de ce dernier. L’avantage de cette technique est qu’elle est déterministe. Cependant son point faible réside dans le fait que cette méthode est basée sur les signatures d’attaques connues. Parmi les techniques utilisées dans cette approche par scénario : Le pattern matching : Pour cette méthode. Le modèle de reconnaissance constitue le cœur du détecteur. De plus les attaques inconnues ne seront jamais détectées ainsi que des variantes de la même attaque. Chaque attaque a sa propre signature. Si dans un processus d’attaque. peuvent être utilisés pour permettre cette reconnaissance. analyser les appels superviseur et analyser le comportement. la même attaque qui aboutit aux mêmes résultats ne sera pas détectée. Cette méthode est simple à mettre en œuvre.  Les IDS hybrides Comme leur nom l’indique. Cependant.3. selon les besoins et selon les machines sur lesquelles l’IDS sera déployé. On essaie ensuite de localiser les signatures d’attaques dans les sources d’informations. l’IDS cherche à reconnaitre cette signature parmi les paquets qu’il analyse. Si l’on veut optimiser la phase de détection. nous avons besoin d’un langage pour modéliser une attaque. 3. des algorithmes tels que le pattern matching.

Le profil peut évoluer en observant les mesures réelles des paramètres choisis. Le profil utilisateur peut évoluer dynamiquement avec le temps. Le point faible est que les attaques sont spécifiques aux systèmes d’exploitation. utilisation des services système. utilisation des processeurs. accès aux disques. et pour éviter les faux positifs. Les horaires de connexion et d’ouverture de session. elle se base sur un modèle de comportement habituel et normal de l’utilisateur. Ces paramètres peuvent être : La bande passante moyenne consommée par l’utilisateur. La consommation des ressources système (Mémoire. Les systèmes experts : On garde dans la base de données des implications (Si…Alors…) pour modéliser des attaques (signatures ou classes d’attaques). un modèle est construit. Systèmes experts : Ensemble de règles décrites (politique de sécurité) ou générées (comportements) Réseaux de neurones : On définit un profil par rapport aux : . CPU).Outils préférés.  Approche comportementale (Anomaly detection) Cette méthode est un peu plus ‘compliquée’ à mettre en œuvre. En se basant sur ces paramètres. 26 les critères choisis et . Le plus important dans cette méthode est la définition des paramètres du profil. L’IDS a la charge de comparer le comportement courant de l’utilisateur au comportement préalablement enregistré (Profil).Ecole nationale Supérieure d’Informatique est qu’il est difficile de construire les patterns pour les attaques surtout pour toutes les variantes d’une attaque. Plusieurs approches ont été adoptées selon l’interprétation des divergences dans ces critères Modèle de Denning : C’est un modèle quantitatif se basant sur des notions de statistique. Ce modèle définit le comportement habituel et ‘sains de l’utilisateur. on récupère des paramètres relatifs aux utilisateurs. Ce modèle s’intéresse beaucoup plus à l’utilisation des ressources système : Occupation mémoire. Le type des fichiers utilisés …etc. Durant une période d’apprentissage.

 Utilisation différée : Cet IDS est lancé périodiquement (généralement en fin de journée).3. que ce soit sur un réseau ou sur un hôte. Dans le cas de l’utilisation différée on ne peut analyser que les fichiers journaux et les traces des utilisateurs. cette dernière a déjà causé d’éventuels dégâts.3 Classification selon la source d’information La source d’information représente un paramètre clé pour un IDS. il ne s’intéresse qu’au flux des paquets.3. Cette source d’information impose généralement l’usage de certain algorithmes et méthodes pour l’analyse des données récoltées. .Vitesse de saisie au clavier…etc. Ils sont toujours actifs. Son point faible réside dans le fait que la détection vient en retard et que si une attaque s’est produite. les fichiers journaux. 3. afin de décentraliser les tâches. Il se base sur les fichiers d’enregistrement. L’utilisation différée est préférée dans le cas où les ressources système sont précieuses (Serveur de messagerie. Leur inconvénient est qu’ils consomment beaucoup des ressources système. des IDS utilisant l’approche comportementale peuvent s’intéressés aux comportements des utilisateurs. 27 . .  Utilisation continue : Ces types d’IDS sont des services qui s’exécutent au lancement des systèmes d’exploitation.  Paquets : Ce genre d’IDS est très spécifique.4 Classification selon la fréquence d’utilisation Deux modèles d’IDS se distinguent selon la fréquence d’utilisation. Cette méthode permet de détecter des intrusions ou des tentatives d’intrusions.Ecole nationale Supérieure d’Informatique . En effet. 3. et analysent en permanence le trafic réseau et/ou les fichiers journaux. dans un réseau. et les performances des machines peuvent se voir dégradées.Les activités.  Audit : Ce genre d’IDS est généralement utilisé dans le cas où la vérification se fait de temps en temps. Ce type d’IDS peut être installé avec d’autres types. tandis que ce type d’IDS s’intéresse aux paquets réseaux. Son point fort est que ce genre d’IDS permet aux experts de sécurité informatique de découvrir de nouvelles attaques et de définir leurs signatures.Habitudes. Serveur Web très solicité).

 Les IDS actifs : A l’inverse du précédent.5 Classification selon la réponse après détection Les IDS ne font pas que détecter des attaques ou tentatives d’attaques.Ecole nationale Supérieure d’Informatique 3.3. ou le système d’exploitation de réagir [Lar03]. elle fait la différence entre deux modèles :  Les IDS passifs : Ce type d’IDS ne fait qu’analyser les données en provenance des sondes et en cas de détection ou d’estimation d’un danger. FIG 1.3. Cette habilité est plus connue sous le nom de réponse de l’IDS.3 Résumé des différents types d’IDS.Refuser ou arrêter une connexion par un appel. Voici un récapitulatif des différents modèles et caractéristiques des IDS FIG 1. certains ont la faculté d’agir si nécessaire.Arrêter un processus…etc.Modifier la table de routage d’un routeur. à l’inverse des IDS actifs. Un autre type bien particulier d’IDS actif est connu sous le nom de système de prévention ou de protection contre les intrusions (Intrusion Prenvention System). ou à la limite envoie une alerte visuelle sur la console d’administration.Donc plusieurs caractéristiques sont à étudier et à déterminer avant d’installer un IDS.Demander au pare-feu de modifier ses règles. qui en cas de tentative d’attaques ou d’intrusions. . l’IDS actif a les mêmes facultés précédentes. l’IDS peut réagir sans attendre l’intervention humaine.-à-d. sauf qu’en cas de grands dangers ‘estimés’. Un IPS est positionné en coupure sur un réseau c. il peut par exemple : . demandent à d’autres composants tels que les pares feu. Un IPS ne fait pas que détecter et signaler des menaces ou des intrusions. l’IDS sauvegarde cette trace d’attaque. 28 . les routeurs. qu’il a la faculté de mettre fin a des connexions et d’agir par ses propres ‘moyens ‘. . .

pour cela le choix de l’IDS est très décisif et doit être basé sur les caractéristiques de ce dernier. FIG 1.4 Emplacement de l’IDS Le choix de l’IDS est très influencé par son éventuel emplacement au sein du réseau. Si dans un autre réseau. le meilleur emplacement de l’IDS est qu’il soit juste après le routeur. un IDS est placé pour chaque point de connexion comme nous pouvons le voir dans la figure FIG 1. les tâches qu’il devra accomplir. Les IDS sont des éléments très importants dans une stratégie de sécurité. mais également selon des mesures qui permettent d’évaluer son efficacité. la topologie réseau impose quelques règles à respecter si on veut que l’IDS soit efficace. Cependant. il existe un seul point de connexion à internet. différents points de connexions à internet existent. La technique la plus utilisée pour évaluer un IDS est le scanner de vulnérabilités. Les mesures permettant de mieux choisir son IDS et mesurer son efficacité sont [BUR06] : . L’emplacement de l’IDS doit également tenir compte du type d’intrusions à détecter (internes. ce dernier reste peu fiable.4. Par contre pour détecter les intrusions internes un IDS doit être placé à chaque segment du réseau [Snr03]. Si dans un réseau. externes. son emplacement …etc. En effet.4 Emplacement de l’IDS au sein d’un réseau.Qualité des informations fournies par l’IDS : Le taux de faux positif. 3.5 Evaluation d’un IDS Des mesures permettent de comparer et de mesurer l’efficacité des IDS. les deux). 29 .Ecole nationale Supérieure d’Informatique 3.

Le groupe IDWG (Intrusion Detection Working Group) a participé à la standardisation des IDS en définissant la norme IDMEF (Intrusion Detection Message exchange format) pour le format des messages échangés entres IDS et le protocole IDXP (Intrusion Detection eXchange Protocol) qui définie les procédures de transport entre IDS.La séparabilité des fonctions d’administration (architecture distribuée). .Analyseur d’événements (boîte A) : Analyse les événements reçus de la boite E et produit des alertes. En effet.6 Standardisation / normalisation L’un des problèmes majeurs auquel sont confrontés les développeurs. HIDS) sont souvent utilisés ensemble sur les réseaux. En langage IDMEF un analyseur est connu sous le nom de sonde .…etc. . Une hétérogénéité est donc inévitable due à la complémentarité des deux types d’IDS [BUR06]. Les deux types d’IDS (NIDS. La sonde envoie une alerte (sous forme de message) vers un collecteur. Les IDS à leurs tours peuvent faire l’objet d’attaques et certaines de leurs faiblesses sont liées au système d’exploitation (saturation de la mémoire ou de la carte réseau) [Gad07]. les décideurs ainsi que les administrateurs est : «Comment peut-on faire coopérer différents IDS dans une même zone ? ». Le NIDS est généralement installé sur des points stratégiques du réseau (derrière le routeur et le pare-feu) tandis que le HIDS est installé généralement sur l’ensemble des machines du parc informatique.Système de réponse (boîte R) : réponse en temps réel face aux attaques.5 qui a été adopté par la suite pour l’ensemble des IDS : .La possibilité de mettre à jour la base des signatures ou de modifier certaines signatures. . Un comité du DARPA a défini quatre briques pour décrire l’architecture d’un IDS.Générateur d’événements (boîte E) : envoie des événements à la boîte A . .Ecole nationale Supérieure d’Informatique . alertes. ce modèle permet d’avoir une 30 .Base de données événementielles (boîte D) : Pour stocker tous types d’informations relatifs aux événements.Réponse de l’IDS dans un environnement surchargé. 3. et c’est ce modèle FIG 1. les différents formats de messages et principes d’audit font du fait de réutiliser des composants dans des environnements différents un vrai défi.

4. Les IDS peuvent être classifié selon différents critères tels que : la source d’information.5 Modèle commun aux IDS [BUR06]. Conclusion Les attaques informatiques ne cessent de croitre et par conséquent les dégâts causés par ces derniers s’accumulent. Une hybridation entre les deux est en fait possible donnant un résultat plus satisfaisant. L’implémentation est en général binaire à fin d’éviter l’insertion d’informations inutiles. les 31 .[BUR06] FIG 1. Il existe deux catégories principales d’IDS : le NIDS pour Network based Intrusion Detection System. Le choix du type d’IDS est basé sur les tests d’efficacité. Les alertes sont sous format XML. Quant à l’approche comportementale (utilisée par le HIDS). Dans ce chapitre nous avons présenté ce que c’est qu’un IDS ainsi que les différents types d’IDS. elle se base sur un ensemble de signatures des différentes attaques connues. qui est un IDS qui a pour rôle de surveiller le trafic sur le réseau.Ecole nationale Supérieure d’Informatique communication hétérogène hormis l’environnement sur le quel se passent les communications. le modèle IDMEF offre également un vocabulaire précis sur les différents composants d’un IDS. Différentes approches de détections existent. Différentes stratégies de sécurité doivent être mises en place afin de garantir un certain niveau de confort et de sécurité. la réponse après détection …etc. la méthode d’analyse. Les différents types d’IDS sont appropriés pour des situations et des usages précis. et le HIDS pour Host based Intrusion Detection System qui est un IDS chargé de surveiller les machines et les comportements des utilisateurs. elle analyse le comportement de l’utilisateur et le compare à un comportement préalablement enregistré est défini comme étant normale. L’approche par scénario (souvent utilisée par les NIDS) est la plus simple.

Ecole nationale Supérieure d’Informatique besoins en matière de sécurité et enfin les contraintes imposées par les systèmes et les utilisateurs. Un point très important dans le cas de l’utilisation de différents IDS au sein d’une même organisation est de gérer les différents formats et modèles. Cette gestion étant fastidieuse, des modèles communs ainsi que des Frameworks et des langages ont été mis en place pour standardiser les différents IDS rendant leur coopération très aisée. Une nouvelle branche de l’intelligence artificielle qui est l’étude du système immunitaire nous a particulièrement attiré pour la ressemblance frappante entre les systèmes de détection d’intrusion et les systèmes immunitaires. Nous présenterons dans le chapitre suivant les systèmes immunitaires naturels et artificiels, leurs domaines d’applications, propriétés et leur utilisation pour la détection d’intrusions.

32

Ecole nationale Supérieure d’Informatique

Chapitre II : Systèmes immunitaires.
1. Introduction. 2. Systèmes immunitaires naturels. 3. Systèmes immunitaires artificiels. 4. Les systèmes immunitaires et les systèmes de détection d’intrusions.

1. Introduction
Le corps humain est un ensemble de systèmes complexes et très variés, chacun d’eux accomplit une tâche ou une fonctionnalité bien précise. Cet ensemble de systèmes est géré par le cerveau du corps, garantissant ainsi une parfaite communication et gestion des événements. L’étude du corps humain à toujours suscite une très grande attention pour sa grande complexité. Nous nous intéresserons dans le cadre de notre étude à un système très particulier et très important qui est le système immunitaire humain. La complexité du système immunitaire est parfois comparée à celle du cerveau. Durant une longue période, ce dernier est resté une énigme difficile à résoudre pour les biologistes et les chercheurs, et ce n’est qu’avec l’avancée de la microbiologie et la génétique moléculaire que la compréhension de ce système est devenue possible [CAS02a]. Dans ce chapitre nous présenterons les concepts fondamentaux des systèmes immunitaires naturels et les principales théories sur lesquelles est basé le comportement de ces derniers. Puis nous nous intéresserons aux systèmes immunitaires artificiels qui sont l’application des systèmes immunitaires naturels pour la résolution de problèmes complexes. Nous finirons ce chapitre par une comparaison entre les systèmes immunitaires artificiels et les systèmes de détection d’intrusions. Sur la base de cette comparaison, nous pourrons par la suite concevoir notre IDS inspiré des systèmes immunitaires.

2. Systèmes immunitaires naturels
Le système immunitaire a tout le temps attiré les plus curieux d’entre nous, avec une complicité des différents organes le constituant, il reste jusqu'à nous jour un grand centre

33

Ecole nationale Supérieure d’Informatique d’intérêt des biologistes et chercheurs. Des découvertes voient encore le jour, d’autres sont revues…etc

2.1 Historique
L’étude du système immunitaire remonte à des milliers d’années avant jésus christ, en effet les premiers témoignages remontent à 430 AJ, pendant l’épidémie de fièvre typhoïde qui sévit à Athènes durant la guerre du Péloponnèse, on nota que seuls les personnes ayant déjà supporté l’infection avaient assez de forces pour s’occuper des malades. Les années soixante sont en général considérées comme le début de l’époque moderne de l’immunologie. Rodney Porter et Gerald Edelman réussirent à élucider la structure des anticorps entre 1959 et 1961, et furent lauréats du prix Nobel de médecine en 1972. Vers 1960, la communauté scientifique découvrait, grâce aux travaux de Jacques Miller, d’autres caractéristiques fondamentales des cellules immunitaires. En 1989, Charles Janeway propose un modèle selon lequel ce serait l'immunité innée qui serait la véritable gardienne des clefs du déclenchement d'une réponse immunitaire.

2.2 Concepts immunologiques
Le système immunitaire étant très complexe peut être vu sous différents angles. Nous pouvons le considérer en tant qu’un ensemble d’organes, molécules ou cellules. 2.2.1 Organes immunitaires Si nous nous intéressons aux organes du système immunitaire, ce dernier est constitué principalement de: Moelle osseuse : Lieu de maturation des lymphocytes B. Thymus : Dans le bas du cou, constitue le site de maturation des lymphocytes T. Vaisseaux lymphatiques : Transportent la lymphe, les vaisseaux lymphatiques sont situés dans tout le corps. Ainsi que d’autres organes tels que les amygdales, les ganglions lymphatiques et la rate.

34

Ecole nationale Supérieure d’Informatique 2.2 Cellules immunitaires Si par contre nous considérons les cellules du système immunitaire.2. ce qui explique leur spécificité. Lymphocytes T : Il existe différentes variantes des lymphocytes T. Ils possèdent deux fonctions essentielles : a) Leur activation par un corps étranger induit leur transformation en cellules sécrétrices d'immunoglobulines. Ces dernières se trouvent dans le sang et la lymphe. b) Les lymphocytes B ont également la capacité de se comporter en cellule présentant le corps étranger . les suppresseurs. Anticorps (immunoglobuline) : On définit un anticorps comme étant une protéine complexe synthétisée par les cellules du système immunitaire en réponse à la pénétration d’un corps étranger (antigène)[SAL09]. Les cellules T aideuses sont essentiellement chargées de l’activation des cellules B . Leur rôle est d’attaquer les cellules infectées (réponse cellulaire). Les immunoglobulines ou anticorps sont formés de deux chaînes polypeptidiques lourdes et de deux autres chaînes légères. les plus importantes sont les lymphocytes. Les cellules T tueuses quant à elles s’attachent aux anticorps et leurs injectent des produits toxiques pour les tuer . 35 . Les anticorps sont dérivés des lymphocytes B et les plasmocytes. ils sont capables de détecter et de neutraliser des substances étrangères. Une autre variante de cellules T. Il est important de signaler qu’il y a plus de dix millions d'anticorps différents dans un organisme. assemblées sous forme d'un Y par des ponts disulfures [All06]. qui servent à éviter les réactions immunitaires non appropriées (maladies auto-immune). [GAR05B]. Chez l’homme les lymphocytes représentent 5 à 15% des lymphocytes sanguin [Gar05a] et se compose de : Lymphocytes B : Les lymphocytes B tirent leur nom de la moelle osseuse chez les mammifères (Bone marrow en anglais). Il existe différents types de globules blancs (leucocytes). celles impliquées dans la défense sont les globules blancs appelées leucocytes.

et elle agit sans se soucier du type de ce dernier. 2. Mais cette réaction peut également être nocive lorsqu'elle est disproportionnée ou inappropriée : réaction allergique [Chr08].).. Elle est déclenchée en premier lieu dés la pénétration d’un corps étranger.3 Antigène Substance étrangère. la première barrière devant les envahisseurs du corps humain. ou présentes dans l'environnement (pollens). virus.Ecole nationale Supérieure d’Informatique 2.1 Structure d’un antigène avec ses épitopes [CAS01]. celle qui constitue le plus important bouclier est en fait la peau. La sueur et le sébum donnent à la peau une certaine acidité (pH 5) ce qui est désavantageux pour la majorité des microorganismes. organes greffés.3 Immunité innée et immunité adaptative La défense de l'organisme contre le milieu extérieur comporte une immunité dite innée ou naturelle. et une immunité dite adaptative ou acquise. La réaction antigène-anticorps est la base de l'immunité. c'est-à-dire apparaissant après contact de l'organisme avec des molécules étrangères qui sont des antigènes [All06]. bactéries. FIG 2..1 Immunité innée L’immunité innée existe depuis la naissance de l’être humain et elle reste invariable tout au long de sa vie. Les antigènes sont généralement des protéines contenues dans des cellules ou des corps étrangers (globules rouges transfusés. Elle définit les grandes lignes de défenses.2. Le système immunitaire peut aussi être vu en tant qu’ensemble de couches. 2. c'est-à-dire existante en absence de tout contact avec un antigène. Elle assure notre protection contre les infections.3. identifiée comme telle par le système immunitaire qui produit des anticorps dirigés spécifiquement contre cette substance. En effet. 36 .

37 . Généralement l’immunité humorale est utilisée pour les maladies infectieuses [Mou07].2 Immunité adaptative L’immunité adaptative résulte du contact du système immunitaire avec les antigènes grâce à la caractéristique d’apprentissage et mémorisation du système immunitaire qui sera détaillée plus loin. la température ainsi que les cellules tueuses naturelles (NK) [Mou07]. la plus efficace et plus précise est sans doute l’immunité adaptative (spécifique) qui réagit selon l’antigène en question. Les lymphocytes T. 2.4 Réactions immunitaires Les deux grandes lignes de défense du système immunitaire étant l’immunité innée et l’immunité adaptative. Selon le type d’infection. L’immunité adaptative est dite immunité à mémoire [KHE06].1 Immunité humorale Capable de neutraliser les bactéries et les toxines. Cependant. les lymphocytes B et les immunoglobulines constituent les principaux acteurs de l’immunité adaptative. elle est assurée par le transfert d’humeurs (vaccin ou sérum) d’un patient à un autre (ou d’un animal expérimental à un autre).Ecole nationale Supérieure d’Informatique L’immunité innée est constituée de la barrière anatomique (la peau et le système respiratoire). la réponse sera plus rapide et bien spécifique avec production d’anticorps particuliers pour cet antigène. La réponse de l’immunité adaptative est lancée après la réponse de l’immunité innée. La première intrusion d’un antigène entraine une réponse lente et une réaction difficile du système immunitaire.3. la réponse spécifique se décompose en : 2.1. Si le même antigène pénètre une seconde fois le corps. Chacune emploie un certain nombre de méthodes et met en œuvre des organes complémentaires. les deux types d’immunités sont liées et se complètent. les conditions physiologiques telles que le pH. 2.4. cependant elle permet de mémoriser l’antigène grâce à ses marqueurs (épitopes) FIG 2.

2 Différents types de réponses immunitaires [AIC04]. 2. voici quelques unes des propriétés les plus importantes du système immunitaire : 2.5 Propriétés du système immunitaire Le système immunitaire est une source d’inspiration pour les nouvelles branches de l’informatique. Ce qui est connue sous le nom du soi ce sont toutes les cellules apprenant au corps humain. Les cellules ont à leurs surfaces des marqueurs permettant de les reconnaitre en tant que cellules ‘inoffensives’.1 Discrimination entre soi et non soi La plus importante propriété qui est à la base des réactions immunitaires est l’aptitude du système immunitaire à distinguer entre les cellules du soi et les cellules du non soi (étrangères) ainsi que la possibilité de reconnaitre le type exact de chaque cellule étrangère. L’immunité cellulaire est transmise par des immunoglobulines synthétisées par des cellules [Mou07].2 Immunité cellulaire Nécessite le transfert de cellules.4. Les cellules du soi en temps normal sont incapables de déclencher 38 .5. Voici un résumé des différents types de réponses immunitaires avec les principaux acteurs participants à chaque réponse [Aic04] : FIG 2.Ecole nationale Supérieure d’Informatique 2. Beaucoup de travaux de recherches ont vu le jour en s’inspirant du fonctionnement de ce dernier. il devient une référence précieuse. Avec des propriétés très importantes.

Ecole nationale Supérieure d’Informatique une réaction du système immunitaire. il est à l’origine de la rapidité et de l’efficacité des réponses suivantes.5 L’auto organisation L’auto-organisation caractérise un processus au cours duquel une structure émerge au niveau global uniquement à partir d’un grand nombre d’interactions entre ses composants de niveau local du système. ceci grâce au mécanisme de division cellulaire suivi d’un processus de sélection afin de raffiner et d’améliorer la réponse du système immunitaire au prochain contact avec le même antigène. Toutes les autres cellules sont considérées comme étant des cellules du non soi et donc le système immunitaire est appelé à réagir contre ces dernières. des signaux à sens unique (sans feedback) transitant par des composantes immunologiques ou des dialogues continus par un échange de signaux moléculaires [MAN04].4 Méta dynamisme Le système immunitaire a la faculté de générer de nouvelles molécules et cellules par des processus tels que la division cellulaire ou l’hyper mutation somatique ou de se débarrasser des cellules invalides (vielles ou peu utilisées) [KOU07].5. De plus. le système immunitaire catégorise ce dernier et le garde en mémoire. Deux types de dialogues existent. les règles qui spécifient les interactions entre les 39 . 2. Ce processus est appelé maturation de la réponse immunitaire.5. Un sous ensemble de cellules parmi les cellules qui ont participé à la réponse immunitaire est souscrit avec une durée de vie augmentée créant les cellules mémoires.2 Apprentissage et mémorisation Comme nous avons pu le voir précédemment. ce processus est appelé la maturation de l’affinité [Bro04].5. reconnaissance de chiffres [KHE08] …etc.3 Communication et diffusion Les différents acteurs du système immunitaire ont besoin d’échanger des messages sous forme de signaux.5. 2. le système immunitaire est évolutif. Ceci permet au système immunitaire d’augmenter son efficacité pour la reconnaissance d’antigènes. Cette propriété a été utilisée dans l’élaboration d’algorithmes de reconnaissance de formes [CAS02a]. A chaque contact d’un nouveau genre d’antigènes. 2. 2.

dans ce cas lymphocytes sont détruits et purgés de la population des nouveaux lymphocytes.3 Processus de sélection Négative/Positive [CAS03].6 Théories immunitaires Le comportement et les réactions du système immunitaire sont principalement régit par des théories immunitaires.Ce processus est illustré par la figure suivante : FIG 2. on parle de sélection négative. puis un test très important est mis en place [CAS03b]. 2.6 La distributivité Le système immunitaire avec toute sa complexité. Les lymphocytes issus de la moelle osseuse migrent vers le thymus. Le reste de la population est autorisé à quitter le thymus pour circuler dans le sang et effectuer leurs taches de surveillance. 2. 40 . Plus précisément.1 Théorie de la sélection Négative/Positive Cette théorie gère le processus de création des lymphocytes. sans référence à la structure globale [DRE03]. ne contient pas de point central de contrôle.Ecole nationale Supérieure d’Informatique composants du système immunitaire sont prises en utilisant uniquement des informations locales.6. à ce stade ils sont appelés cellules T naïves ou immatures. Leurs paratopes subissent un processus de réarrangement génétique pseudo aléatoire. Le test en question consiste à vérifier si les nouveaux récepteurs s’attaquent aux cellules du soi. 2. chaque cellule est stimulée et répond à l’antigène attaquant.5. Les lymphocytes ont sur leurs surfaces des récepteurs (paratopes). cette théorie gère le processus de création au niveau de la discrimination entre soi et non soi.

6. Elle met en avant la réaction du système immunitaire à une stimulation antigénique [CAS02a]. et à la présence d’un antigène précédemment reconnu. la reconnaissance de formes et l’apprentissage-machine (intelligence artificielle). L’anticorps s’associe à l’antigène à l’aide des récepteurs (épitopes-paratopes) puis à l’aide des cellules telles que les T aideuses. une réaction rapide et efficace est immédiatement lancée [cas99]. La théorie de la sélection clonale explique les deux processus de prolifération et de maturation d’affinité. Cette théorie est particulièrement utilisée dans les domaines tels que l’optimisation. 41 . L’idée de cette théorie est la suivante : Des la reconnaissance d’un antigène par les lymphocytes B. la lymphe et les tissus.Ecole nationale Supérieure d’Informatique 2. Cette théorie a été exposée en 1959 par Burnet [CAS03b]. les cellules B sont stimulées et un processus de prolifération (division cellulaire) permet aux cellules B de se reproduire en créant des clones d’elles mêmes [CAS02b].4 Processus de sélection clonale [CAS02a]. ces derniers produisent des anticorps spécifiques (chaque cellule sécrète un seul type d’anticorps).2 Théorie de la sélection clonale Une autre théorie tout aussi importante que la sélection négative st la théorie de la sélection clonale. Un second processus permettra de sélectionner parmi les nouvelles cellules celles présentant une grande affinité afin d’en faire des cellules mémoires [Hof04]. FIG 2. Les cellules mémoires circulent à travers le sang.

5.3 Théorie du danger Proposée initialement par Polly Matzinger. il faudrait également savoir si ces dernières sont dangereuses ou pas [AIC03]. Nous constatons que dans la théorie du danger il ya une corrélation entre les signaux d’alarmes. 42 . les molécules HLA du système d’histocompatibilité. elle se fait phagocyter (englober et digérer) par un macrophage qui lui extrait des fragments (peptides antigéniques) et les exposes à sa surface sur sa membrane avec l’aide des molécules de présentation. Il ne suffit pas de détecter les cellules étrangères. Cette présentation sur la membrane permet la reconnaissance de la substance par les lymphocytes T FIG 2.Ecole nationale Supérieure d’Informatique 2.7 Déroulement d’une réponse immunitaire Dés la pénétration d’une substance étrangère (antigène). La théorie du danger gère le comportement du système et sa réaction selon les nouvelles conditions suivantes : Le système immunitaire ne doit pas réagir contre le soi. Chaque lymphocyte T ne reconnait qu’un seul type d’antigène ce qui identifie une réponse spécifique (immunité innée) qui est lente à se déclencher mais très efficace. sauf si ce dernier n’est pas dangereux. 2. cette théorie est une nouvelle vision qui diffère de l’approche classique.6. Le système immunitaire réagit contre le non soi. sauf si ce dernier est dangereux.

Les travaux de Forrest sur la sélection négative commencèrent en 1994. c'est seulement dans le milieu des années 90 que les SIA devinrent un sujet à part entière.1. Systèmes immunitaires artificiels 3. Timmis et Neal continuèrent ces travaux en y apportant des améliorations.Ecole nationale Supérieure d’Informatique FIG 2. 3.5 Déroulement d’une réponse immunitaire [cas99]. Packard et Perelson sur les réseaux immunitaires (1986). Cependant. 43 . Hunt et Cooke commencèrent leurs travaux sur les modèles de réseaux immunitaires en 1995. Certains de ces lymphocytes T auxiliaires constituent des cellules mémoires. Les lymphocytes T auxiliaires sont activés et sécrètent des cytokines qui se comportent comme des facteurs de croissance permettant la multiplication des lymphocytes T et B ou des facteurs de différentiation permettant de produire des anticorps (réponse humorale) ou des facteurs d’activation permettant d’activer des cellules (réponse immunitaire cellulaire). tandis que Dasgupta menait des études sur les algorithmes de sélection négative.Historique Les travaux sur les SIA ont [BOR05] dans le milieu des années 80 avec l'article de Farmer.

la discrimination. Cette implémentation reprend les plus grandes lignes de son fonctionnement. langages de programmation. l’autonomie. les chercheurs essaient au mieux de représenter ce fonctionnement avec les moyens techniques disponibles (outils de modélisation.Ecole nationale Supérieure d’Informatique Le premier livre sur les Systèmes Immunitaires Artificiels a été ecrit par Dasgupta en 1999.Définitions Les systèmes immunitaires artificiels sont une nouvelle branche de l’intelligence artificielle.). l’auto-organisation. les travaux sur les AIS visaient à trouver des abstractions efficientes des phénomènes découverts dans le système immunitaire. ce sont toujours les propriétés remarquables du système immunitaire naturel à savoir la robustesse. 3. Pour la conception des systèmes immunitaires artificiels.2. Les systèmes immunitaires artificiels sont une implémentation mathématique ou informatique du fonctionnement du système immunitaire naturel. méthodes mathématiques …etc. Voici quelques définitions des AIS : Les AIS sont composés de méthodes dotées ‘d’intelligence’ inspirées des systèmes immunitaires naturels pour la résolution des problèmes réels. Les travaux de De Castro & Von Zuben et Nicosia & Cutello sur la sélection clonale (CLONALG) furent remarqués en 2002. les praticiens des AIS se sont aussi intéressés à la modélisation du système immunitaire et à l'application des résultats issus des SIA aux problèmes d'immunologie (ce qui entre dans le cadre de l'immunoinformatique) [DAS03]. Cependant il reste presque impossible de modéliser le comportement complet des systèmes biologiques. comme la théorie du danger (observation des dégâts plutôt que celle des agents pathogènes) et des algorithmes inspirés par le système immunitaire inné ont également été explorées. Au départ. qui ressuscite toute l’attention des chercheurs [Bro04]. 44 . Destinés à résoudre des problèmes divers. Quel qu’il en soit. la diversité. Le fait qu'elles apportent quelque chose de nouveau au delà des algorithmes existants est actuellement le sujet de débats qui animent le développement des AIS. Plus récemment. l’apprentissage …etc. De nouvelles voies. inspiré des propriétés et concepts remarquables du système immunitaire biologique [Cas01].

Un ensemble de fonctions d’affinité et des fonctions quantitatives des interactions entre les différents composants sont également à prévoir. mettant en œuvre les organes et molécules du système immunitaire naturel.Modélisation des systèmes immunitaires artificiels Les travaux dans ce domaine sont confrontés à quelques inconvénients pour les causes suivantes : Le nombre de personnes actives dans ce domaine de recherche reste très limité. 45 . Les trois conditions citées ci-dessus sont impératives pour l’élaboration d’un framework pour définir un système immunitaire artificiel. Ce n’est que récemment qu’un modèle commun a été mis en place pour la représentation de ces systèmes. Les applications des systèmes immunitaires artificiels sont très variées.3. Le schéma suivant FIG 2.Ecole nationale Supérieure d’Informatique 3. Ce modèle a facilité énormément la tâche aux développeurs et aux chercheurs [CAS03]. Les conditions nécessaires sont : La représentation des composants du système.6 représente le modèle abstrait pour créer un framework pour les AIS. Des procédures d’adaptation pour contrôler l’évolution du système. Le modèle commun connu sous le nom du Framework des systèmes immunitaires artificiels. il est difficile d’apporter une solution globale ou des algorithmes génériques. Un ensemble de mécanismes pour l’évaluation de l’interaction entre les individus et leurs environnements. définit les règles que doit respecter un AIS ainsi que les processus à suivre pour l’élaboration de nouvelles approches.

Ecole nationale Supérieure d’Informatique FIG 2.6 Framework pour les systèmes immunitaires artificiels [BRO04]. Ce sont principalement les cellules et les molécules du système immunitaire biologique qui seront utilisées pour modéliser le comportement du système immunitaire artificiel. proposée par Perelson & Oster en 1979 et connue sous le nom d’espace de formes [Cas01]. On peut voir la forme d’un anticorps comme un ensemble de L paramètres. FIG 2. ces dernières sont connues pour avoir sur leurs surfaces des récepteurs (paratopes) capables de reconnaitre des antigènes par la propriété de complétude avec leurs épitopes [Bro04]. Comme nous l’avons vu précédemment. 46 . Cette notion de complétude épitopes-paratopes est très importante pour donner une description quantitative de l’interaction antigène-anticorps.7 Espace des formes [CAS01]. Ces paramètres peuvent être représentés par un point dans un espace de L dimensions. Un premier constat est que dans ce plan. les anticorps qui ce ressembles sont proches les uns des autres. les principales cellules sont les lymphocytes B et T.

Le plus souvent on recourt à l’utilisation des distances.9.…. Donc un antigène est représenté par un point Ag=<Ag1. Différentes distances existent dont voici les plus utilisées [GHA06] : FIG 2. FIG 2.8 Différentes distances pour le calcule d’affinité anticorps-antigène [KOU07].AbL> FIG 2. Donc on remarque bien que l’affinité anticorps-antigène est relative à la distance dans cet espace entre ces derniers.9 Principe de complémentarité entre antigène et anticorps [BRO04]. Pour mesurer le degré de complétude entre l’antigène et l’anticorps FIG 2. un anticorps est à son tour représenté par un point Ab=<Ab1. En effet.Ecole nationale Supérieure d’Informatique Une population ou un répertoire de N individus (récepteurs) est modélisé comme un espace de formes d’un volume fini V contenant N points. Ag2.Ab2.… . plus l’affinité entre ces derniers est plus grande FIG 2. AgL>. plus la distance antigène-anticorps est petite. 47 .8. plusieurs techniques peuvent être utilisées.7.

Ecole nationale Supérieure d’Informatique Une fois les antigènes et anticorps représentés. pour la simple raison qu’elle soit non déterministe. Les principales théories immunitaires sont la théorie de la sélection clonale. il ne reste plus qu’a implémenter les théories immunitaires vues plus hauts. 48 . 3. l’optimisation multi modale ou la détection d’anomalies [CAS00b]. Il existe d’autres théories telles que la théorie des réseaux immunologiques mais qui sont utilisées dans d’autres domaines et contextes que celui de la sécurité informatique. 3.4. la théorie de la sélection négative/positive et la théorie du danger. Il existe différentes utilisations de la théorie de la sélection clonale selon les contextes. Maturation de l’affinité de ces derniers [Bro04]. la fonction quantitative du degré de complétude (affinité) entre eux définie et l’espace des formes connue.1. Sélection et clonage des anticorps les plus stimulés. les implémentations de cette théorie reprennent les principales étapes du déroulement de cette dernière. que ce soit dans l’apprentissage-machine. cette théorie se base sur le principe que seules les cellules ayant reconnu l’antigène prolifèrent et maturent et deviennent des cellules mémoires. La théorie du danger quant à elle est moins utilisée dans le domaine de détection d’anomalies. la reconnaissance de formes.4. Algorithme de la sélection clonale Comme nous avons pu le voir dans les sections précédentes. Re-sélection des clones proportionnellement à l’affinité avec l’antigène.Algorithmes immunitaires Il existe différentes utilisation des théories immunitaires selon le contexte et le problème à résoudre. Les deux algorithmes les plus connues sont CLONALG et CLONCLAS CLONALG initialement appelé CSA (Clonal Selection Algorithm) est basé sur les éléments suivants : Maintient d’un ensemble de cellules mémoires. Suppression des anticorps non stimulés.

ils comparent 49 . surtout pour les applications de surveillance des systèmes et la détection d’utilisations anormales ou inhabituelles [CAS03]. Initialisation Boucle La condition d’arrêt varie selon le problème à résoudre - - Sélectionner un antigène a de l’ensemble des Ags. Sélectionner les n meilleurs anticorps selon leurs affinités. Plus exactement.2. Appliquer le processus de maturation de l’affinité sur les clones pour augmenter leur degré de correspondance avec l’antigène a. calculer son affinité avec a. Pour chaque anticorps c de l’ensemble des anticorps Abs. 3. Les meilleurs clones seront placés dans m. Selon le problème la solution globale peut être le meilleur individu ou une collection d’individus de m. Exposer les clones de nouveau à l’antigène a et recalculer leurs affinités.4. Fin - L’ensemble m est considéré comme solution de l’algorithme.Ecole nationale Supérieure d’Informatique Cet algorithme s’exécute en trois étapes et qui sont : Créer un ensemble de taille N d’anticorps Un sous ensemble de taille m contiendra les anticorps mémoires qui représenteront la solution du problème. Cette notion est très intéressante. L’idée principale sur laquelle se base cette théorie est que seules les cellules T qui ne s’attaquent pas aux cellules du soi sont autorisées à quitter le thymus et auront pour tâche de reconnaitre les cellules du non soi. Forrest et al (1994) comparent le problème de protection des systèmes informatiques au problème d’apprentissage de la distinction entre soi et non soi. Cloner les n meilleurs anticorps. Algorithme de la sélection négative/positive Initialement utilisée dans le domaine de la sécurité informatique. Les r anticorps de N les plus faibles seront remplacés par d’autres générés aléatoirement.

Pour la comparaison. afin de surveiller les données.Ecole nationale Supérieure d’Informatique le problème de détection des changements au sein des systèmes au processus de sélection négative ayant lieu au niveau du thymus [CAS00c]. déterminer son affinité avec tous les éléments de l’ensemble du soi S.9. Afin de résumer l’algorithme. s’il est supérieur à un seuil r on dit qu’il y’a correspondance entre les deux. une méthode de détection d’anomalies basée sur la sélection négative des cellules T dans le thymus. Développée en 1994. cette méthode ainsi que toutes les autres méthodes utilisant l’algorithme de sélection négative se déroulent en deux phases Phase 1 : Génération d’un ensemble de détecteurs. Si l’affinité est supérieure à un seuil r. Voici un résumé de l’algorithme de sélection négative/positive [CAS00c]. alors l’élément de P reconnait un élément du soi et doit être supprimé de P. Phase 2 : Mise en place des détecteurs. sinon il est considéré comme un détecteur du non soi et sera mis dans N. on calcule le nombre de bits en communs entre une donnée et un détecteur. De Castro [CAS03b] a proposé le pseudo code suivant Générer aléatoirement des chaines et les placer dans P Pour chaque individu de P. FIG 2. FIG 2.9 Algorithme de sélection Négative/Positive en deux phase [CAS00c]. 50 .

Augmentable : Il est nécessaire que l’IDS puisse faire face à une augmentation inattendue du flux des données à surveiller due à une extension de l’ensemble des hôtes constituants l’IDS. Adaptable : L’IDS doit s’adapter dynamiquement aux changements (matériels ou logiciels) au sein du réseau en question. Distribué : Des attaques particulières ne peuvent être détectées qu’après analyse de différents signaux et alarmes en provenance de différents hôtes [KIM07]. Caractéristiques d’un IDS Il est important de rappeler les fonctions ou propriétés fondamentales très importantes que doit satisfaire un IDS.Ecole nationale Supérieure d’Informatique 3.Les systèmes immunitaires et les systèmes de détection d’intrusions L’étude des systèmes immunitaires pour la sécurité informatique a aboutit à un ensemble de propriétés très intéressantes que peut satisfaire un système immunitaire pour les besoins en sécurité informatique. Plusieurs tentatives de conception de systèmes immunitaires artificiels ont été fait bien avant. Extensible : L’ajout de nouveaux hôtes dans l’ensemble des machines à surveiller doit être élémentaire et aucune dépendance envers les systèmes d’exploitation ne doit être un obstacle devant cette extension.1. Une fois ces propriétés énumérées nous essaierons de voir en parallèle ce qu’offrent les systèmes immunitaires artificiels et faire l’analogie entre les deux. Le degré de dépendance envers le système d’exploitation doit être réduit au minimum.5. Ces travaux consistaient à définir un système immunitaire artificiel pour les systèmes de détection d’intrusions. mais ces derniers se résumaient à des tentatives d’implémentation d’un sous ensemble très réduit du système immunitaire humain [KIM02a]. Configurable : L’IDS doit s’auto configurer facilement en fonction de chaque machine sur laquelle il sera déployé.5. L’IDS doit 51 . Ces propriétés ont été utilisées pour la première fois dans des travaux de recherches par Kim et Bentley en 1999. Efficace : L’IDS doit être léger et simple à déployer pour ne pas affecter les performances des hôtes et réseau à surveiller. Tout IDS doit être [CAS04]: Robuste : L’IDS doit avoir différents points de détection et doit être très résistant aux attaques. 3.

En effet. 52 .Ecole nationale Supérieure d’Informatique être en mesure de récupérer différents événements issues de différentes stations du réseau. le système immunitaire naturel peut être comparé à un détecteur d’anomalies avec un nombre très réduit de faux positifs et faux négatifs. Auto-organisés : Le système immunitaire est principalement fondé sur trois éléments : les librairies des gènes. Les trois plus importantes propriétés d’un IDS ont été retrouvées dans les systèmes immunitaires. Plusieurs études ont été faites sur les systèmes immunitaires dans le but de comprendre les mécanismes fondamentaux de ces derniers et essayer de fournir des processus et des méthodes pour le développement de nouvelles solutions dans différents domaines et particulièrement dans la détection d’intrusions réseaux. Ce rôle fondamental est principalement basé sur la discrimination entre soi et non soi. Afin de développer un IDS performant nous essaierons de retrouver les propriétés précédemment évoquées dans un système immunitaire artificiel. ils ne sont soumis à aucun organe central pour les gérer.5. analyser ces derniers et envoyer les réponses aux différentes stations. Légers : Grâce aux fonctions d’approximations dans le cas d’attachement (antigènesanticorps). Cette discrimination est le processus clé constituant une réponse immunitaire. sélection négative et enfin la sélection clonale. En effet les systèmes immunitaires sont [ZIE00]: Distribués : Le fonctionnement du système immunitaire est distribué sur un réseau immunitaire et un ensemble d’anticorps uniques. La sélection négative permet de supprimer les anticorps inappropriés et enfin la sélection clonale permet de garder les meilleurs anticorps pour en faire des cellules mémoires. accomplissant chacun des tâches bien précises. 3. virus ou antigènes de tout genre. Ces trois processus sont indépendants.2. il n’est pas obligatoire que l’anticorps soit le complément exact de l’antigène pour qu’il puisse le reconnaitre. Que ce soit des antigènes connus ou non. Les librairies de gènes permettent de générer des anticorps. Propriétés des AIS pour la détection d’intrusion Le système immunitaire est capable de protéger le corps humain face à des bactéries.

Il est intéressant d’avoir une méthode pour la création des algorithmes constituants notre AIS. La comparaison peut être une comparaison du nombre de bits en communs [CAS00c].9. Cette étude a donné naissance à un algorithme de sélection négative. il est impératif de supprimer les détecteurs qui s’attaquent aux cellules du soi (sélection négative).3. Au cours de cette génération. L’algorithme se déroule en deux phases FIG 2. Ils ont comparé l’approche comportementale dans les systèmes de détection d’intrusions au processus de sélection négative ayant lieu au niveau du thymus. 3. 53 . Systèmes immunitaires et algorithmes immunitaires Une fois que nous avons retrouvé les propriétés nécessaires pour notre IDS et le choix de l’utilisation des systèmes immunitaires a été fait. La génération des détecteurs est très importante. nous permet de concevoir facilement les algorithmes composants notre système immunitaires artificiel. Cet algorithme est très intéressant dans le cas d’un IDS utilisant l’approche comportementale en nous basant sur un profil du comportement normal de l’utilisateur préalablement enregistré [QIA07].Ecole nationale Supérieure d’Informatique La protection des systèmes informatiques contre les attaques de virus ou d’utilisateurs mal intentionnés a été comparée par Forest et al en 1994 au problème de discrimination entre soi et non soi. Une comparaison entre les composants des systèmes immunitaires et leurs équivalents dans les algorithmes immunitaires.5. Les auteurs de cet algorithme ont également mis en place une équation pour l’estimation de probabilité que deux chaines aléatoires se ressemblent à un certain degré (r bits continus). La première consiste à générer un ensemble de détecteurs et la seconde consiste à utiliser ces détecteurs afin de surveiller des données en procédant à une comparaison.

nous ne nous intéresserons qu’à la conception d’un système de détection d’intrusions inspiré des systèmes immunitaires.Ecole nationale Supérieure d’Informatique Systèmes immunitaires Antigènes Anticorps Reconnaissance d’antigènes Production d’anticorps à partir des cellules mémoires Suppression des cellules T Algorithmes immunitaires Problème à résoudre Vecteur des meilleures solutions Identification du problème Chargement des meilleures solutions préalablement trouvées. Elimination du surplus des solutions potentielles. En suivant ce processus nous pouvons développer n’importe quel algorithme immunitaire.1 Comparaison systèmes immunitaires et algorithmes immunitaires [QIA07]. Prolifération d’anticorps Utilisation d’un processus pour la création de copies exactes de la solution TAB 3. Cette comparaison s’applique aux différents problèmes.2 Comparaison entre systèmes immunitaires et systèmes de détection d’intrusions [QIA07]. 54 .Kim & Bentley ont proposé en 1999 une comparaison plus adaptée aux IDS qui est la suivante : Système immunitaire Thymus et moelle osseuse Nœud lymphatique Anticorps Antigène Soi Non soi Systèmes de détection d’intrusions IDS primaire (superviseur) Hôte local Détecteur Intrusion Activité normale Activité anormale (suspecte) TAB 3.

10 Système immunitaire artificiel pour la détection d'intrusions Ce système immunitaire artificiel. consiste en un IDS primaire qui joue le rôle de superviseur et de plusieurs IDS seconds qui seront installés sur chaque hôte du réseau FIG2. ils ont proposé un système immunitaire artificiel pour la détection d’intrusion FIG 2.Ecole nationale Supérieure d’Informatique Sur la base de cette comparaison. Ces processus sont exécutés en permanence afin de surveiller le flux des événements arrivants à l’hôte et détecter un certain type d’attaques. Ces détecteurs sont ensuite transférés sur chaque IDS second (hôte local) et sont exécutés en tant que services du système d’exploitation. 55 . il a pour rôle de générer un ensemble de détecteur.10. Le fonctionnement de cet IDS modèle est le suivant : L’IDS primaire qui est comparable au thymus et à la moelle osseuse. Chaque ensemble de détecteurs est capable de reconnaitre un certain type d’intrusions réseau.

continue. Une fois que les éléments constituant le détecteur ont été énumérés avec le type de chacun d’entres eux. on dit que les deux éléments sont égaux. moyenne …etc).Ecole nationale Supérieure d’Informatique 3. un apprentissage concernant les détecteurs doit être mis en place comme suit : Définir le nombre d’éléments constituant le détecteur (longueur du détecteur). cette dernière n’est en fait que la comparaison du nombre continu de bits en communs comme suit : Dans le cas d’élément à valeur discrète.5. 3. la dernière étape sera de définir les valeurs de chaque élément du détecteur comme suit : Si l’élément est de type discret. Définir le type de chaque élément (Valeur discrète. Il est nécessaire d’avoir un format commun pour les détecteurs. Dans la phase d’apprentissage. Détection d’anomalies et détection par scénario Après la création de l’ensemble des détecteurs. Ces deux points sont primordiaux dans la création d’un détecteur. Génération des détecteurs Le processus de surveillance utilisant l’approche comportementale essaie en permanence de comparer à l’aide des détecteurs le comportement actuel de l’utilisateur avec un profil déjà enregistré. et en parallèle avec la création du profil. Cette surveillance se résume à une comparaison du comportement courant de l’utilisateur avec les détecteurs. l’élément sera représenté par une valeur unique. la deuxième étape consiste à mettre en œuvre ces détecteurs afin de surveiller le comportement de l’utilisateur. le détecteur sera représenté par une structure de données contenant ces éléments [KIM02a]. Proposée par Forrest pour la première fois. La comparaison est très simple. 56 . ce format doit être normalisé afin de couvrir la majorité des attaques possibles. Si l’élément est de type continu. s’ils ont exactement la même valeur. il sera représenté par un intervalle défini par deux bornes.4.5.5. Une fois les éléments ainsi que leurs valeurs respectives ont été énumérés.

Sur la base de ces signatures nous générerons des détecteurs permettant. et les plus grandes questions trouvèrent vite des réponses. Vers les années soixante. nous comptabilisons le nombre d’éléments communs entres eux et nous le comparons à un certain paramètre donné r. si la valeur du comportement courant de l’utilisateur est incluse dans l’intervalle du détecteur. les anticorps aux détecteurs et les antigènes connus aux signatures d’attaques [KIM02b]. Cette fonction de comparaison est toujours la même depuis la première proposition de Forrest en 1994 [KIM02a]. ce domaine complexe est devenu un grand centre d’intérêt pour les biologistes et les chercheures. Pour conclure qu’un certain comportement correspond à un détecteur. Conclusion L’immunité a été durant une longue période un mystère. Nous avons vu que pour la détection comportementale il est favorable d’utiliser la théorie de sélection négative. 57 . cette théorie permet de générer des anticorps et de les perfectionner pour la détection d’antigènes connus. Cependant pour la seconde approche (détection par scénario) et qui est basée sur un ensemble de signatures. 4. nous disposons d’une base de données contenant l’ensemble des signatures d’attaques connues. Donc. pour conclure voici l’usage le plus fréquent des théories immunitaires pour la conception des systèmes de détection d’intrusions : NIDS avec détection par scénario : Théorie de la sélection clonale HIDS avec détection comportementale : Théorie de la sélection négative. après analyse des paquets de détecter la présence de certaines signatures afin de conclure qu’une intrusion ou une tentative d’intrusion s’est produite. on ignorait le rôle et le fonctionnement exact de ce système. on dit que les deux éléments sont égaux. Le choix de la théorie de la sélection clonale pour l’approche par scénario a été fait car dans ce processus. On peut donc comparer dans la théorie de sélection clonale.Ecole nationale Supérieure d’Informatique Dans le cas d’élément à valeur continue. nous utiliserons la théorie de sélection clonale comme suit : Dans l’approche de détection par scénario.

Les différentes lignes de défense ainsi que leurs différents mécanismes opèrent ensemble afin de maintenir un équilibre et une certaine sécurité au corps humain. Pour l’immunité adaptative. D’autre part. Nous avons vu le rôle de chacun de ces composants. Le fonctionnement de ce système est basé sur des théories telles que la sélection clonale et la sélection négative. la distributivité …etc. ont donné naissance aux systèmes immunitaires artificiels. l’apprentissage. macrophages). 58 . nous avons besoins d’outils informatiques appropriés aux besoins et aux contraintes de ces derniers. Ceci grâce aux propriétés très intéressantes du système immunitaire telles que l’auto-organisation. En effet les systèmes immunitaires artificiels sont une implémentation du système immunitaire biologique. essayant de modéliser son fonctionnement afin de trouver des solutions à des problèmes tout aussi variés que complexes. les deux méthodes de réponse sont l’immunité humorale basée sur le transfert d’humeur. ainsi que l’interaction qui existait entre eux afin de former les deux grandes lignes de défense. qui après plusieurs études. surtout pour la détection d’intrusions. Afin de concevoir un système de détection d’intrusions. la discrimination entre soi et non soi. et l’immunité cellulaire basée sur des cellules. basé sur des systèmes immunitaires artificiels. les principales caractéristiques des systèmes de détection d’intrusions ont été toutes retrouvées parmi l’ensemble des propriétés des systèmes immunitaires. moelle osseuse) ou ses cellules (lymphocytes. Les propriétés des systèmes immunitaires artificiels sont très intéressantes. D’une part. Le prochain chapitre sera consacré à un outil très important qui permet de concevoir ce genre de solutions distribuées. Les outils utilisés doivent nous permettre de modéliser l’architecture hiérarchique et faciliter les différentes interactions entres les sous systèmes de notre IDS qui doivent être distribués. L’outil en question est un nouvel axe de programmation : les systèmes multi-agents. connues sous le nom d’immunité innée et adaptative.Ecole nationale Supérieure d’Informatique Dans ce chapitre nous avons abordés les concepts fondamentaux du système immunitaire naturel à savoir les organes le composant (thymus. une très grande ressemblance fonctionnelle existe entre les deux systèmes de détection d’intrusions et les systèmes immunitaires.

Nous aborderons dans ce chapitre les concepts fondamentaux d’agents. cette technologie reste très compliquée et très difficile à mettre en place.) [BRI01]. caractéristiques. différentes architectures et les principaux types d’agents. 1. des contraintes plus grandes apparurent. impliquent d’autres règles telles que la coopération. Ensuite 59 . 2. Plates formes multi-agents. Agents. 5. des problèmes plus complexes. Introduction Pendant une longue période.Ecole nationale Supérieure d’Informatique Chapitre III : Systèmes multi-agents 1. Malgré les efforts dans ce domaine. A partir des années 80. 3. Introduction. A titre d’exemple. pour la conception de machines évoluées. l’informatique se résumait à des applications s’exécutant sur des machines. informaticiens. Ce savoir peut être distribué sur une communauté de personnes. Cette approche de concevoir des systèmes a inspiré une branche très récente de l’intelligence artificielle distribuée : Les systèmes multi-agents (SMA). Les systèmes multi-agents et les systèmes de détection d’intrusions. gestion de stock. en essayant de réaliser des tâches plus appropriées aux humains. et l’approche utilisée précédemment ne répondait plus aux besoins. qui sont des systèmes utilisant des entités intelligentes (agents) autonomes qui travaillent en coopération pour atteindre un objectif donné. l’apprentissage et le partage des connaissances.). Petit à petit. Cette approche a été enrichie par des métaphores afin d’implémenter au mieux le comportement des sociétés d’humains. Cette façon de voir les choses répondait autrefois à la majorité des attentes des utilisateurs. Connue sous le nom de la première génération de l’informatique. les machines évoluaient et commençaient à s’identifiaient aux humains. les différentes définitions. Les problèmes appropriés aux humains. calcul de paie…etc. nouvelle gestionnaires …etc. Systèmes multi-agents. 4. designers. les ordinateurs avaient pour tâches d’exécuter des calculs ou des applications que les êtres humains avaient l’habitude de faire (calculs. les personnes s’organisent de façon à faire appel à différentes compétences (mathématiciens.

et c’est sur ces bases que se fait le choix de l’approche à utiliser selon la problématique. Ces points font la différence entre agents et objets. 2.  Un agent agit en fonction de son but.1 Agents VS Objets Les deux grandes branches de l’informatique ‘moderne’ sont sans doute la programmation orientée objets POO et la programmation orientée agents POA. les définitions diffèrent selon le domaine d’utilisation et les caractéristiques des systèmes. de ses contraintes et de ses capacités. Le plus important par la suite est la comparaison entre les systèmes multi-agents et les systèmes de détection d’intrusions ainsi que les raisons pour lesquelles nous avons opté pour le choix de cette solution pour concevoir notre propre IDS basé sur les systèmes immunitaires. 2. Nous aborderons également les concepts d’agents au sein des sociétés. Nous verrons vers la fin l’intérêt des SMA. les nouvelles contraintes et les nouvelles fonctionnalités issues d’une coopération entre les différents agents constituant la société. Voici les principales différences entre les deux approches [Ada08]:  Un agent est un objet qui est adaptatif.2 Définitions Plusieurs définitions d’agents existent. 60 .  Un agent a1 peut demander l’exécution d’une méthode à l’agent a2 qui est libre de l’exécuter ou pas.  Un agent logiciel est de préférence créé sous forme d’un objet ayant les caractéristiques d’un processus.  Un objet o1 peut appeler une méthode existante d’un objet o2 qui doit l’exécuter. rationnel. capable de communiquer et d’agir. leur émergence de l’intelligence artificielle distribuée et leurs domaines d’applications.Ecole nationale Supérieure d’Informatique nous verrons les systèmes multi-agents (SMA). Agents Les ‘agents’ sont les principaux composants des SMA. chacun d’entre eux est une entité autonome chargée d’accomplir une tâche bien précise. autonome. les points forts de ces systèmes et les nouveautés apportées par ces derniers. 2.

 Un agent est une entité logicielle ou physique à qui est attribuée une certaine mission qu’elle est capable d’accomplir de manière autonome ou en coopération avec d’autres agents [BRI01]. 61 .1 [BOI02].1 : Un agent dans un environnement [BOI02]. de prise de décision ou d’exécution [Pic04]. de communication. FIG 3. possédant des ressources propres.Ecole nationale Supérieure d’Informatique Le terme « Agent » est utilisé de manière assez vague. capable de percevoir (mais de manière limitée) son environnement Ne disposant que d’une représentation partielle de cet environnement (et éventuellement aucune) possédant des compétences et offrant des services pouvant éventuellement se reproduire dont le comportement tend à satisfaire ses objectifs. voire de survie. et en fonction de sa perception. FIG 3.          capable d’agir dans un environnement. pouvant communiquer directement avec d’autres agents. Régie par un ensemble de tendances (sous la forme d’objectifs individuels ou d’une fonction de satisfaction.  Un agent est une entité physique ou virtuelle [Fer95]. d’acquisition de connaissances.  Une entité devient un agent aussitôt qu’elle est capable d’exercer un contrôle local sur ses processus de perception. en tenant compte des ressources et des compétences dont il dispose. de ses représentations. cependant quelques définitions précises existent dont voici quelques unes :  Un agent est un système informatique situé dans un environnement qu’il peut percevoir et sur lequel il peut agir de manière autonome. qu’elle cherche à optimiser). de raisonnement.

1 Communication La communication est une caractéristique essentielle des agents.3. 2. des difficultés majeures existent en termes de 62 . 2. coopérer pour la résolution de problèmes. et il n’a pas besoin d’une intervention humaine pour l’exécuter [BOI01e]. 2. les agents sont amenés à négocier. il doit agir seul et seulement en fonction des signaux qu’il reçoit des autres agents ou de l’environnement.4 Autonomie L’agent doit être autonome. De ce fait.2 L’apprentissage Les agents ont la capacité d’apprendre tout au long de leur existence.3. 2.3 Activité L’agent s’exécutant dans un processus à part est toujours actif.6 Réactivité Cette caractéristique est la base du comportement social des agents. 2. 2. quelques caractéristiques de base telles que la communication ainsi que d’autres caractéristiques bien particulières aux agents. la réactivité …etc.Ecole nationale Supérieure d’Informatique 2. Cet apprentissage leur permet d’évoluer et même de changer leurs comportements [BOI01b]. Il gère son état interne en fonction de ces informations [Pic04]. Un agent peut demander un service auprès d’un autre agent en lui envoyant des messages [Bar03]. telles que la sociabilité. Cependant. Une communauté impose des relations entres ses constituants. Elle est également la base de la coopération entre agents. standards et langage de communication …etc.5 Sociabilité Généralement les agents sont organisés en communautés.3.3.3.3. La sociabilité est basée sur des interactions entres agents.3 Caractéristiques Nous retrouvons parmi les caractéristiques des agents. qui se font grâce à des standards de communication qui seront détaillés par la suite [BOI01f].

2. 63 . 2.  La gestion des engagements…etc. La principale architecture pour définir les agents cognitifs est fondée sur la notion d’ensembles de modules horizontaux liés entres eux.7 Pro-activité Un agent peut également réagir en fonction de ce qu’il doit accomplir. structures de subordination …etc.  L’émission et l’interprétation des communications. on retrouve les paramètres généraux tels que : le type d’approche.  La base de croyances comprenant la modélisation de l’environnement et des autres agents. de réagir en fonction des événements et d’interagir avec les composants de son système (des ressources ou avec d’autres agents). Dans une architecture d’agents. que ce soit pour des travaux théoriques ou des applications pratiques. L’Architecture modulaire horizontale est sans doute la plus répondue. C’est cette structure qui lui permet d’accomplir les buts pour lesquels il a été créé. ce type d’agents est doté d’une certaine intelligence et connu sous le nom d’agents cognitifs et sera détaillé par la suite.Ecole nationale Supérieure d’Informatique Cette propriété se résume au fait que l’agent réagit en fonction de ce qui se passe dans son environnement. Voici quelques uns des modules les plus courants  Les fonctions perceptives. de taches compétitives et les architectures connexionnistes [Fer95].4 Architecture La structure d’un agent est parfois complexe. Nous ne nous intéresserons qu’à l’architecture modulaire horizontale. Les architectures modulaires sont conçues comme un assemblage de modules réalisant chacun une fonction horizontale particulière. et en fonction de ces informations il peut agir via des actionneurs (effecteurs) FIG 3.3. Différentes architectures existent telles que l’architecture à base de modules horizontaux. L’agent possède des capteurs (senseurs) lui permettant de recevoir des informations de l’environnement ou des autres agents.1.

si cette situation est familière pour l’agent mais il lui faut un certain ‘raisonnement’ pour la résoudre. il s’agit dans ce cas là d’un agent cognitif [DAS03]. pour laquelle il connait ‘parfaitement’ l’action à effectuer il s’agit d’un agent réactif. 2. 2.Ecole nationale Supérieure d’Informatique FIG 3.2 les connexions existantes entre les différents modules de l’architecture de cet agent. il peut réagir. Nous remarquons clairement dans la figure FIG 3.d.1 Agents réactifs Ce type d’agents se caractérise par le fait qu’il n’on pas de représentation de leur environnement.5 Types d’agents En fonction de ce que perçoit l’agent comme situations. 64 . Par contre. Il est important de noter que dans de pareilles architectures. ni du monde auquel ils appartiennent. (c.2 : Représentation caractéristique d’un agent à architecture modulaire horizontale [FER95]. les liaisons sont préalablement définies.5.à. Ces agents sont les plus simples à mettre en œuvre du fait qu’ils se comportent selon le stimulus. le mode de circulation des informations est prédéfini par le concepteur). S’il s’agit d’une situation familière pour l’agent. L’agent sera programmé sous forme de couples « Stimulus/Réponse » [Pic04].

sont les sociétés d’insectes (Fourmies). les agents cognitifs sont en général dotés d’une certaine intelligence et une parfaite représentation de l’environnement et du monde auquel ils appartiennent. Chaque agent possède des connaissances comprenant des informations et du savoir faire.3 : Un agent réactif [BOI01f]. Ces dernier sont de plus bas niveau et n’ont qu’un protocole et un langage de communication réduit [BRI01]. Les agents cognitifs sont dit intentionnels car ils ont des buts à accomplir. Ces agents ont une représentation très précise de leur environnement. Les meilleurs exemples de ce genre de systèmes constitués d’entité de faible intelligence mais dont la coopération conduit à des systèmes très intelligents. 2. FIG 3.2 Agents cognitifs A l’inverse des agents réactifs. il n’est pas nécessaire que les agents soient intelligents pour que le système ait un comportement global intelligent. avec une certaine intelligence artificielle et une capacité d’apprentissage et d’adaptation. Les sociétés d’agents cognitifs sont généralement constituées d’un petit nombre d’agents. Selon les défenseurs de cette approche. et nous considérons que l’intelligence émerge de la coopération des différents agents.Ecole nationale Supérieure d’Informatique Généralement les agents réactifs sont considérés comme non ou peu intelligents. 65 . Ces agents sont semblables à des systèmes experts et sont des agents communicants [DEM93].5.

Par contre l’intérêt des agents réactifs est uniquement l’interaction avec les autres agents. KIF possède une notation similaire à LISP avec quelques opérateurs et des quantifieurs. Il ya eu plusieurs propositions pour les langages de communication [Ada08]:  KIF : Knowledge Interchange Format (Langage formel de dialogue interne) Basé essentiellement sur la logique du premier ordre. En termes de programmation. [Pic04].  FIPA ACL : extension de KQML 66 . 2.4 : Un agent cognitif [COU05]. KQML permet de définir le format général d’un message. et l’exécution de tâches précises et élémentaires.Ecole nationale Supérieure d’Informatique FIG 3.  KQML : Knowledge Query Meta Language Plus général. un message KQML en un objet hérité de la classe message et possédant des attributs. un standard de communication s’impose afin de normaliser les messages et les signaux entre agents. et vue la diversité fonctionnelle des agents. Les agents cognitifs sont donc intéressants individuellement et collectivement pour leur intelligence.6 Standards de communication Vu le grand nombre d’interactions entres les agents. ce langage permet d’exprimer les propriétés d’un domaine particulier.

lesquels représentent les entités actives du système. Un système multi-agents est assimilable à un système distribué composé d’agents. Systèmes multi-agents L’utilisation d’un agent individuellement ne répond souvent pas aux attentes. transformer et manipuler des objets de O. détruits et modifiés par les agents. Ces objets sont passifs. créés. d’associer une position dans E.  Des opérateurs chargés de représenter l’application de ces opérations et la réaction de l’ensemble des constituants du SMA à cette tentative de modification. qui sont des objets particuliers (A ⊆ O).  Un ensemble d’opérations Op permettant aux agents de A de percevoir. consommer. Ces objets sont situés. chacun ayant un objectif. il est possible.  Un ensemble de relations R qui unissent des objets entre eux.  Un ensemble A d’agents. ACL est un ensemble de performatifs. c’est-à-dire un espace disposant généralement d’une métrique.Ecole nationale Supérieure d’Informatique ACL a été développé par la FIPA en 1995. c’est-à-dire que. produire. un système composé des éléments suivants:  Un environnement E. En effet. 3.  Un ensemble d’objets O. et donc seule une solution distribuée peut résoudre ce genre de problèmes [Ric01]. à un moment donné. 67 . pour tout objet. et ce n’est qu’en les faisant coopérer qu’on arrive à des solutions plus efficaces. des problèmes plus complexes nécessitent l’utilisation de divers agents. ils peuvent être perçus. On appelle système multi-agent (SMA). que l’on appellera les lois de l’univers multi agents. et plus d’attributs. Une autre contrainte est le fait que des problèmes sont de manière inhérente distribués (ex : gestion décentralisée d’un réseau électrique).

 Environnement : L’espace regroupant les agents. protocoles et infrastructures) permettant une interaction entres les agents.  Organisation : La structure des agents en définissant les liens hiérarchiques et les relations entre agents FIG 3. elle n’a pas été remise en cause depuis ce temps [FER95].Ecole nationale Supérieure d’Informatique FIG 3.  Interaction : Tout les mécanismes de communications (langages. Cette définition des systèmes multi agents a été donnée par Ferber en 1995. L’approche voyelle est régie par trois principes :   Principe déclaratif : Qui est la décomposition précédente des SMA en quatre briques (SMA = A U E U O U I) Principe fonctionnel : Qui regroupe les fonctionnalités des agents considérés individuellement. auxquelles on rajoute les fonctionnalités résultantes des interactions entre ces derniers. L’équipe de recherche MAGMA a donné une approche simple pour la conception des systèmes multi-agents connue sous le nom d’approche voyelles [Tan05]:  Agent : Les agents sont les composants les plus élémentaires d’un SMA. 68 . Cette approche voyelle est la plus utilisée pour sa simplicité et son organisation hiérarchique.5 : Représentation d’un système multi agents [TAN05].  Principe de récursion : Les SMA peuvent être considérés dans un niveau d’abstraction supérieur comme des entités multi agents.5.

Ces systèmes sont complexes. les télécommunications. ce qui donne la possibilité aux concepteurs d’intégrer différents agents (réactifs. Nous pouvons considérer les types de systèmes multiagents selon les types d’agents les constituants ou bien selon les interactions entre leurs agents 69 . les systèmes de commandes et de contrôle en temps réel …etc. 3. les systèmes distribués.)  Coopération : Les systèmes entre eux peuvent coopérer pour la résolution de problèmes plus complexes. Quand on se retrouve face à des problèmes qui imposent un tel choix. ont été le point de départ pour cette nouvelle technologie.  A chaque agent sa façon de résoudre les problèmes (en fonction de ses acquis). les systèmes coopératifs.1 Avantage des systèmes multi-agents L’utilisation des systèmes multi-agents (SMA) est quelques fois obligatoire. distribués. Une telle solution est généralement meilleure par rapport à celle obtenue avec un seul agent. 3. l’E-commerce. nous pouvons choisir d’utiliser des SMA pour les raisons suivantes [DRO05]:  Les SMA reflètent la réalité : la majorité des problèmes sont distribués qui s’adapte facilement aux SMA.Ecole nationale Supérieure d’Informatique 3.3 Types de systèmes multi agents Il existe différents types de SMA. cognitifs …etc. Donc un même problème peut avoir différentes solutions selon les agents.  Diversité : Les SMA peuvent avoir parmi les agents les constituants une grande diversité. Ensuite le domaine d’application des systèmes multi-agents s’est étendu et nous avons remarqué une présence des SMA dans les systèmes suivants : Réseaux d’échange P2P.2 Domaines d’applications Malgré leur jeune âge.  Modularité : Le grand nombre d’agents permet de découper les problèmes en sous problèmes ‘simples’. cette approche est l’extension du découpage modulaire de la POO à la POA. les systèmes multi-agents sont présents dans plusieurs domaines. et ont permis le développement de solutions très performantes et très prometteuses. Cependant. Des systèmes tels que : les systèmes boursiers.

3. Les tendances actuelles vont vers la détection d’intrusion distribuées. Cette approche monolithique impose énormément de contraintes telles que [BOU05]:  La consommation de ressources système. ressortir. les agents ne doivent interagir qu’au sein de leur environnement et doivent se contenter de ce qui est présent dans ce dernier.4 Homogènes Le système multi agents est composé de plusieurs agents du même type. Pour palier à ces faiblesses. changer d’environnement. aucune barrière n’est imposée aux agents (concernant leur migration).  Difficulté de mise à jour.2 Fermés Aucun échange n’est autorisé. 70 .3 Hétérogènes Différents types d’agents peuvent se trouver au sein du même SMA. de nouvelles tendances pour la conception d’IDS existent.  Nécessité de beaucoup de données d’audit.3. les agents peuvent entrer. mais arrivent à coexister ensemble dans le même environnement grâce aux standards de communication. Les SMA et les IDS Beaucoup d’IDS sont composés d’un seul bloc qui se charge de toute l’analyse.3. Si nous considérons les SMA selon les interactions entre leurs agents. il existe deux types de SMA : 3.3.3. 4.  Le point central est lui-même le point faible si une attaque est lancée contre l’IDS. Les agents sont créés sur des modèles différents.1 Ouverts Dans ce genre de SMA. Ce type de SMA est en général utilisé pour les systèmes nécessitants des ressources (physiques ou virtuelles) qui ne peuvent pas être que dans un second système. 3.Ecole nationale Supérieure d’Informatique …etc. Si par contre. nous considérons les SMA selon le type d’agents les constituants : 3. Ex : Ecommerce. En effet.

C’est pour cette raison que différentes alertes doivent être lancées par les hôtes affectés et au niveau supérieur un agent de coordination pourra récupérer ces différentes alertes et faire l’analyse à son niveau. Si un agent a besoin d’une fonction bien précise au cours de son analyse. Pour une détection d’intrusions efficace.Ecole nationale Supérieure d’Informatique Le premier projet ayant utilisé cette approche de récolte d’informations d’audit a été le projet NADIR en 1993 qui faisait l’analyse par un système expert [HOC93]. la réactivité et l’adaptabilité [Bou99]. Ce modèle est adopté dans le développement de la majorité des nouveaux IDS de nos jours. qui a été mis en place par un comité du DARPA. les SMA nous semblent très appropriés pour les raisons suivantes [BOU00]:  Architecture robuste : L’architecture hiérarchique est connue pour être plus robuste. De plus les composants de l’architecture seront des agents qui peuvent être relancés automatiquement par un manager dans le cas ou l’un d’eux ne répond pas ou dépasse un certain délai ‘timeout’.  Partage de connaissances : Une caractéristique importante des agents est leur habilité à coopérer afin de résoudre un problème donné. Généralement plusieurs lignes de communications sont mises en place. 71 .  Détection multi points : Certaines attaques sont distribuées et l’analyse au niveau de chaque hôte à part ne détectera jamais ce genre d’attaques.3. Cette coopération peut être exploitée dans le domaine de détection d’intrusions en définissant un annuaire des agents en cours d’exécution et leurs capacités d’analyse. Une telle architecture est parfaitement réalisable à l’aide de systèmes multi-agents. l’autonomie. Ce modèle est composé de quatre briques qui sont : La source d’information. à savoir : la distributivité. un modèle standard pour les IDS. l’analyseur et le manager. il est important de rappeler les caractéristiques que doit satisfaire tout IDS. Nous avons abordé dans la section 1. le senseur. il consulte l’annuaire des agents et cherche parmi les agents disponibles si l’un d’entre eux est capable de réaliser cette tâche à sa place. Après ce que nous avons pu voir comme propriétés des systèmes multi agents. la communication et la coopération. ce qui rend la mise hors service d’une telle architecture un vrai défit.

com/) AgentBuilder est une suite d’outils intégrés permettant de construire des agents intelligents. exécuter et intégrer des systèmes multi-agents commerciaux. KQML …etc. Chaque agent est capable d’exécuter certaines tâches (rôles). ainsi que des classes de communication permettant des interactions entre agents tout en respectant les standards (FipaACL. Dans le modèle micro nous définissons l’architecture interne de chaque agent. Jack (http://www. La méthodologie globale est documentée dans l’AgentBuilder User’s Guide [Ric01]. Les outils logiciels sont le JDE ( Jack Development Environment) : un environnement de programmation graphique. Ces deux modèles définissent respectivement la vue globale de la solution et les détails de chaque composant de cette solution.agentbuilder. La modèle macro définit globalement notre architecture.).com. Voici quelques unes des plates formes multi-agents les plus connues : AgentBuilder (http://www. les capacités de ce dernier et les différents modules qui le constituent. et la coopération entre ces agents permet au système d’accomplir son but global.agent-software. Les plates formes offrent des classes d’abstractions pour les agents.au/) Jack est décrit comme étant un environnement pour construire. les classes d’agents et les relations qui existent entre ces dernières. Ltd. Plates formes multi-agents Plusieurs plates formes existent permettant de développer et d’exécuter des systèmes multi-agents conformément aux normes précédemment évoquées. le 72 . Cet outil est remarquable car il allie à la fois un logiciel de grande qualité et un modèle sous-jacent qui a fait ses preuves au niveau académique.Ecole nationale Supérieure d’Informatique La conception de l’architecture d’un IDS à base de SMA se déroule en deux étapes : le modèle macro et le modèle micro. Les classes d’agents sont caractérisées par des rôles qui leurs sont affectés et des relations inter agents. Développée par Reticular Systems Inc. écrits en Java et utilisant une approche orientée composants. 5. Il est développé par la société australienne Agent Oriented Software Pty. Jack s’intéresse principalement à l’étape de développement.

madkit.com) Jade permet le développement et l’exécution de systèmes multi-agent conformes aux normes FIPA. 6.bt.Ecole nationale Supérieure d’Informatique compilateur du Jack Agent Language (JAL). conforme aux spécifications FIPA. qui traduit les programmes écrits en JAL en Java pur. des mécanismes de transport de messages. Cette plateforme est : Entièrement implémentée en JAVA. MadKit (http://www. utilisant un micro-noyau agent. de Robotique et de Micro-électronique de Montpellier). et insiste particulièrement sur l’importance des aspects méthodologiques de Zeus [Ric01]. open Source et distribuée avec licence LGPL.tilab. [Ric01]. et la librairie de classes permettant l’exécution des agents. Le modèle organisationnel sous-jacent est le modèle Aalaadin. Zeus (http://www.com/projects/agents.labs. modifiable en cours d’exécution (mobilité des agents) [Tan05]. Cette plate forme sera détaillée d’avantage dans l’annexe II. MadKit est avant tout une plate-forme d’exécution de systèmes multi-agents. Il est développé par l’Agent Research Program du British Telecom Intelligent System Research Laboratory. Jade (http://jade. cette plate forme offre : Un service de nommage. appelée Jack Agent Kernel.htm) Zeus est un environnement intégré pour la construction rapide d’applications à base d’agents collaboratifs. La documentation de Zeus est abondante. 73 . Elle est développée par Olivier Gutknecht et Jacques Ferber du LIRMM (Laboratoire d’Informatique. un service de pages jaunes. et sera utilisée pour l’implémentation de notre propre système multi-agents.org/) MadKit est une plate-forme multi-agents écrite en Java basée sur un modèle organisationnel. Conclusion Les tendances actuelles ainsi que les besoins croissants et les contraintes grandissantes ont conduit à l’émergence d’une nouvelle branche de l’intelligence artificielle qui est vite devenue l’un des axes les plus importants de l’informatique moderne. un service d’analyse et une bibliothèque des protocoles d’interactions de FIPA.

Les agents. nous avons cité quelques unes des principales plates formes de développement de SMA. un nouveau concept de programmation se caractérisent par leur autonomie. les outils et langages de programmation et nous finirons par une série de testes qui nous permettent d’évaluer notre IDS et surtout l’apport des systèmes immunitaires dans la détection d’intrusions. réactivité. activité. types d’agents. 74 . pro-activité …etc. ils sont amenés à coopérer. La seconde partie de ce projet de fin d’étude sera consacrée à la conception de notre propre IDS à base d’agents. Nous avons vu qu’il existe deux types d’agents : les agents cognitifs qui tentent d’accomplir un but donné et les agents réactifs qui sont un ensemble de stimulus/réactions (agissent en fonction des événements). Quand les agents sont disposés dans des sociétés. relations existantes …etc. Les agents avec les interactions existant entre eux. Nous avons abordé par la suite. Pour finir. qui se résume à la définition des quatre briques de l’approche voyelle. communiquer et doivent faire face à des contraintes telles que le partage des ressources. Nous présenterons notre solution.Ecole nationale Supérieure d’Informatique Les systèmes multi-agents ont apporté une nouvelle vision des choses et une nouvelles façon de concevoir des solutions à des problèmes qui au par-avant était impossible ou extrêmement difficiles à résoudre. en fonction du nombre d’agents. constituent les systèmes multi-agents qui sont des sociétés intelligentes d’agents collaborant pour atteindre un but donné. Le choix de l’utilisation des systèmes multi-agents pour l’implémentation de notre système de détection d’intrusions est motivé par plusieurs propriétés très intéressantes retrouvés parmi les nombreuses propriétés des SMA et qui répondent aux exigences et attentes des IDS. nous avons abordé les types de SMA existants. l’approche de conception des SMA. inspiré des systèmes immunitaires artificiels. Ensuite.

75 .Ecole nationale Supérieure d’Informatique Deuxième partie Mise en œuvre.

Notre IDS sera basé sur un système multi-agents. Description de la solution. et celle de la sélection clonale utilisée dans la détection d’intrusions avec approche par scénario. Différents types d’IDS ont été cités. La fréquence d’utilisation (Continue/Périodique). Nous pouvons déterminer le type d’IDS selon : L’emplacement de l’IDS (NIDS/HIDS).Ecole nationale Supérieure d’Informatique Chapitre IV : Conception 1. à savoir. nous nous proposons de concevoir un SIA pour la détection d’intrusions basé sur les deux principales théories immunitaires. NIDS avec approche par scénario. 1. le choix de l’adoption d’un certain type par rapport à un autre doit être fondé essentiellement sur les besoins en matière de sécurité et les contraintes logicielles et matérielles. Le choix de cette approche est essentiellement fondé sur le fait que l’IDS est composé de différents modules qui doivent être 76 . 2. 6. HIDS avec approche comportementales. Introduction L’étude des systèmes de détection d’intrusions nous a permis de réaliser l’importance du rôle que jouent ces derniers au sein d’une stratégie de sécurité. la théorie de la sélection négative utilisée pour la détection d’intrusions avec approche comportementale. Dans ce chapitre. La réponse de l’IDS (Passive/Active). La méthode de détection (Comportementale/Par scénario). 3. Composants de la solution. Introduction. 4. chacun caractérisé par une certaine architecture et une méthode d’analyse. La similarité entre les fonctionnalités des systèmes de détection d’intrusions et celles des systèmes immunitaires ainsi que leurs propriétés communes ont donné lieu à plusieurs travaux visant à réaliser un IDS basé sur un SIA (système immunitaire artificiel) dans le but d’approcher les performances extraordinaires d’un système immunitaire naturel. Bases de données utilisées. Les caractéristiques des IDS doivent répondre à certaines exigences. 5.

le point faible de cette solution est la source d’information qui doit être régulièrement mise à jour. Une attaque non répertoriée n’a aucune chance d’être détectée par le NIDS. pour définir un NIDS utilisant l’approche d’analyse par scénario. Cette source d’information nous permet de diminuer significativement le taux de faux positifs. Cependant. En utilisant la théorie de la sélection négative. le point négatif de cette solution est le taux de faux positifs dû aux comportements anormaux ou inhabituels des utilisateurs. Afin de tirer profit des deux approches (comportementale et par scénario) qui nous semblent complémentaires. qui devient par la suite un standard pour la conception d’IDS [KIM02b]. Le HIDS doit se baser sur des profils utilisateurs décrivant leurs comportements normaux. Plusieurs travaux ont été réalisés permettant de concevoir des systèmes immunitaires artificiels pour la détection d’intrusions. Donc le choix d’adoption des systèmes multiagents nous parait le plus approprié. Cependant. qui eux auront pour tâches la capture d’événements et la transmissions des conclusions. Cette source d’information peut être maintenue à jour seulement avec des phases d’apprentissage (audit). une première solution peut être envisagée pour définir un HIDS utilisant l’approche comportementale dont le noyau d’analyse sera essentiellement basé sur cette théorie. Le modèle en question est composé d’un IDS primaire qui a pour rôle d’organiser les différentes tâches et gérer les différents IDS seconds.Ecole nationale Supérieure d’Informatique distribués sur un ensemble de stations du réseau pour effectuer des tâches différentes. dans lesquels ils définissent un certain modèle. Le NIDS avec approche par scénario utilise essentiellement une base de données des signatures d’attaques connues. Les plus importants sont sans doute ceux réalisé par Kim & Bentley. Les différents composants de l’IDS doivent être en permanente interaction. La seconde solution peut être envisagée en utilisant la théorie de la sélection clonale. Nous adopterons à notre tour ce modèle pour concevoir notre système immunitaire artificiel pour la détection d’intrusions. notre choix s’est porté sur la conception d’un IDS hybride à base 77 . qui ne sont pas forcement nocifs. D’autant plus que même le comportement du système immunitaire est basé sur des interactions entre les différents sous systèmes qui le composent. Cette solution est très intéressante dans la mesure où la seule source d’information nécessaire est le comportement des utilisateurs au sein d’un réseau.

utilisant les deux approches d’analyses basée sur les deux principales théories immunitaires. et d’un HIDS basé sur l’approche comportementale. En utilisant les théories immunitaires. visualiser les différentes alertes. Cependant. il est nécessaire de préciser que pour notre solution. Voici l’architecture globale de notre solution : 78 . Description de la solution Nous avons opté pour la conception d’un IDS hybride composé d’un NIDS basé sur l’approche d’analyse par scénario. nous voulons avoir un comportement exact et prévisible de l’agent. La raison pour laquelle nous avons adopté ce type d’agents est que dans de pareilles solutions. 3. lancer la commande d’apprentissage …etc. 2. le HIDS utilise la théorie de la sélection négative. Notre IDS sera développé en tant que système multi-agents. afin de générer des détecteurs capables de reconnaitre des comportements inhabituels des utilisateurs. Console d’administration : A partir de cette console. les agents constituants notre solution seront des agents réactifs. implémentant la théorie de la sélection négative et utilisant une base de données des profils des utilisateurs. Ces détecteurs seront utilisés pour analyser le trafic réseau. cela nous impose de concevoir l’IDS de manière passif.Ecole nationale Supérieure d’Informatique d’agents. le noyau de notre IDS génère des variantes des signatures d’attaques et des profils des utilisateurs de manière pseudo-aléatoire. Architecture globale de l’IDS Notre IDS est composé de : NIDS : Ce NIDS utilise la théorie de la sélection clonale afin de générer des détecteurs sur la base des signatures. HIDS : Sur la base de profils des comportements normaux des utilisateurs. Tandis que le HIDS sera déployé sur l’ensemble des machines qui constituent le réseau local. Cette méthodologie nous permet de perfectionner l’analyseur afin de découvrir éventuellement de nouvelles attaques ou des variantes d’attaques. implémentant la théorie de la sélection clonale et utilisant une base de signature. l’administrateur peut configurer les différents paramètres de l’IDS. Les composants de notre solution doivent être déployés de la sorte : Le NIDS sera installé sur la machine qui est le proxy du réseau pour pouvoir analyser l’ensemble des paquets du réseau.

79 .Ecole nationale Supérieure d’Informatique FIG 4. Pour des raisons de sécurité. des alertes générées par les différents détecteurs ou une liste de signatures d’attaques. 4. Bases de données utilisées Une grande quantité d’informations est analysée et produite par les différents composants de notre IDS. nous avons opté pour l’utilisation de trois bases de données : 4.1 La base de données « Profils » Cette base de données contient l’ensemble des informations relatives aux profils utilisateurs. L’utilisation des bases de données est très importante dans l’architecture de notre IDS.1 : Schéma global de la solution. Que ce soit des profils utilisateurs. les profils utilisateurs doivent transiter par le superviseur du HIDS afin de garantir la conformité et la cohérence des données contenues dans le profil. Les données contenues dans cette base sont générées par le HIDS durant la phase d’apprentissage.

  Compteur de durée : Le temps écoulé entre deux événements (ex : intervalle de temps entre deux tentatives de connexion). Nous pouvons analyser le trafic réseau à plusieurs niveaux de granularité. processus …etc. nous pouvons considérer le trafic d’un point de vue paquets. En effet.2 La base de données « Signatures » Cette source de données est très importante. Malheureusement.  Compteur d’événement : Le nombre d’occurrences d’un événement durant une période donnée (ex : le nombre de tentatives de connexion échouées durant une durée de temps).Ecole nationale Supérieure d’Informatique 4. non ambigüe et exacte les attributs qui permettent de reconnaitre cette attaque. Jeu d’attribut KDD’99 [KDD99]: Ce jeu d’attributs a servi à formater la base de données Darpa’98 qui est la première base de données qui découle d’une série de compagnes destinées à standardiser les IDS. service…etc. Le format de la signature est important dans la mesure où l’ensemble des détecteurs adoptent ce format. Il faut définir le jeu d’attributs qui doit être utilisé parmi l’ensemble des attributs existants. Compteur de ressources : Quantité des ressources utilisées par une entité (ex : temps CPU alloué à un processus). Le jeu KDD’99 contient 9 attributs de base et 32 attributs de haut niveau répartis sur quatre catégories :  Attributs de base : Les connexions au niveau paquets (protocole. Voici à titre d’exemple deux jeux d’attributs : Jeu d’attributs de Denning [KDD99]: Denning propose un jeu d’attributs composé de trois catégories qui utilisent au total 16 attributs pour modéliser des sessions. elle est la base du NIDS. 80 - . il n’existe aucun modèle standard pour la codification des signatures. utilise son propre modèle pour représenter les signatures d’attaques. Les attributs à utiliser pour représenter une attaque doivent être basés sur les informations contenues dans les paquets. Elle regroupe l’ensemble des attaques connues en utilisant un certain format. sessions ou connexions. Il faut rappeler que les signatures seront utilisées pour analyser le trafic réseau. Chaque éditeur de logiciels ayant développé un IDS. La signature doit représenter de manière fiable.).

.etc. Certaines attaques ne seront reconnues qu’en analysant l’ensemble des paquets qui constituent la requête. Le jeu d’attributs KDD’99 a été démontré incohérent. L’analyse et la synthèse des différentes attaques réseau a permis de classer ces dernières en trois classes : Les attaques ‘données’ : Ce sont l’ensemble des attaques reconnues en analysant la partie données des paquets. La signature d’attaque doit représenter de manière non ambigüe l’attaque et ne doit contenir que les informations qui permettent de reconnaitre cette attaque. En faisant attention à modéliser les différentes classes d’attaques existantes. les signatures sont codées de manière à être modifiables et permettent de modéliser les nouvelles attaques. telles que les attaques de Validation d'entrées ou les attaques de Buffer Overflow. Ces dernières seront reconnues si les chaines suivante ('' --. Les attaques ‘Requêtes’ : Les requêtes regroupent généralement plusieurs paquets. qui ne peuvent être reconnues. que la longueur ou le nombre de paramètres qui constituent la requête. Attributs de trafic : Le trafic impliquant une machine données (pourcentage de connexions ayant la même adresse IP source parmi les cent dernières connexions). Nous proposons ici un modèle particulier de signatures. or 1=1) est retrouvée à l’intérieure des paquets. car il ne contenait pas assez d’informations pour modéliser l’ensemble des attaques existantes.Ecole nationale Supérieure d’Informatique    Attributs de contenu : Contenu des paquets. Notre modèle de signatures a été conçu de manière à répondre aux exigences que doit satisfaire une signature d’attaque. Attributs temporel : L’aspect temporel du trafic réseau (nombre de connexion sur un service pendant une durée donnée). par de nouvelles méthodes d’analyses . Les attaques ‘Entêtes’ : Ce sont l’ensemble des attaques reconnues par l’analyse des entêtes des paquets. notre signature contient les champs suivants : 81 . telles que les attaques DOS avec usurpation des entêtes. telles que les attaques par injection SQL.. Dans notre cas.

L’action définie le traitement à faire. service demandé …etc. c’est le champ de plus important pour une signature. ce dernier contient un mot clé qui permet de savoir quelle méthode appelée pour l’analyse des données. Différentes actions ont été implémentées telle que :  SubStr : Permet de rechercher une sous chaine.  Val : Dans le cas d’attributs à valeurs numériques : la valeur de l’attribut. Le champ ‘Flags’ est un champ optionnel qui sert de paramètres pour la méthode d’analyse.Ecole nationale Supérieure d’Informatique Id Type Action Data Val Flags  Id : identifiant unique de la signature. contient la sous chaine à rechercher.)  Data : Dans le cas d’attributs de type chaines de caractères : la chaine recherchée. dans le cas ou on recherche une chaine de caractère (ex : L’action SubStr).  Action : L’action d’analyse (ex : retrouver une sous chaine. contient la valeur numérique qui permet de dire que c’est une attaque. l’action utilisée est ‘LenStr’ qui permet de calculer la longueur de la partie données des paquets. données. Le champ ‘Val’. pour les attaques de type débordement de tampon. dans le cas ou l’action retourne une valeur numérique (ex : La longueur d’une chaine de caractère). Le champ ‘data’ ne contient aucune chaine puisque nous n’allons essayer de reconnaitre aucune chaine.  Type : Entête. A titre d’exemple.  LenStr : Calculer la longueur d’une chaine de caractère. longueur d’une requête. ce mot clé est utilisé beaucoup plus sur les attaques de type données et requête.  ValidStr : Cette permet de savoir si les chaines de caractères ne contiennent pas de caractères invalide. permet de retrouver les attaques telles que les attaques DOS.  Flags : informations supplémentaires L’identifiant sert d’index dans la base de données des signatures tandis que le type permet de retrouver la table qui contient la signature. Le champ ‘Data’. compter le nombre d’attributs. requêtes. Par 82 .

il suffit d’utiliser le modèle précédemment définie. et si on a besoin de nouvelles fonctions d’analyse. durant laquelle on sauvegarde les traces des comportements normaux des utilisateurs en créant un profil pour chacun. on les rajoutes à l’interpréteur. 83 . la victime …etc. on attribuera un interpréteur permettant d’exécuter l’action d’analyse de chaque signature. une base de données des comportements ‘sains’ des utilisateurs est nécessaire. 5. le champ ‘Flags’ contient l’opérateur ‘>‘ qui indique à la méthode d’analyse que si la longueur dépasse la valeur indiquée dans ‘Val’. Une alerte doit renseigner l’administrateur sur l’événement suspect.Ecole nationale Supérieure d’Informatique contre le champ ‘Val’ contient la valeur numérique à partir de laquelle nous pouvons conclure que c’est une attaque de débordement de tampon. Cette base de données sera consultée par l’administrateur afin de relever les traces d’attaques ou de comportements anormaux. Un autre exemple pour modéliser l’attaque d’injection SQL. l’agent détecteur. HIDS avec approche comportementale Comme tout HIDS utilisant l’approche comportementale. La première étape du déploiement du HIDS. l’analyseur d’éclanche une alerte. or 1=1) du champ Data à l’intérieur des paquets capturés. est sans doute l’étape d’apprentissage. Cette attaque est détectée si on arrive à reconnaitre grâce au mot clé SubStr du champ Action. la sous chaine ('' --. 4. la date. A ce modèle de signature. l’attaquant. en fournissant suffisamment d’informations : l’heure. A tout moment si l’on veut augmenter le nombre de signatures en rajoutant de nouvelles.3 La base de données «Alertes » Cette base de données permet de répertorier l’ensemble des alertes générées par les détecteurs des deux composants de l’IDS (NIDS et HIDS). la signature ou comportement anormal.

84 . les sites web les plus consultés. Nous avons choisi d’utiliser les informations suivantes pour modéliser un profil utilisateur : Nom de l’utilisateur.1 Architecture du HIDS En suivant le modèle proposé par Kim & Bentley. Répertoire racine. Consommation moyenne CPU et RAM.2 : Profil utilisateur. 5. la vitesse de réponse au messages du système d’exploitation …etc.Ecole nationale Supérieure d’Informatique FIG 4. Liste des processus les plus fréquemment utilisés. Liste des interfaces réseaux…etc. Heure d’ouverture / fermeture des sessions. notre HIDS sera constitué d’un HIDS superviseur et d’un ensemble de HIDS esclaves qui seront déployés sur l’ensemble des machines constituants le réseau. D’autres informations auraient pu être utilisés telles que la consommation moyenne de bande passante. Les profils utilisateurs sont une source de données qui peut nous renseigner sur le comportement des utilisateurs.

analyse. lancement et arrêt des HIDS esclaves…etc.2 HIDS Superviseur Le HIDS superviseur a pour rôle de :  Extraire les profils des utilisateurs de la base de données. La théorie de la sélection négative est le noyau de notre HIDS. qui envoie les détecteurs générés aux HIDS esclaves pour exécuter la deuxième phase de la théorie.  Envoie des commandes permettant de lancer les phases d’apprentissage.  Générer les détecteurs et les envoyer aux HIDS esclaves en exécutant la première phase de la théorie de la sélection négative qui consiste à générer des détecteurs qui regroupent l’ensemble des informations nécessaires pour l’analyse du comportement des utilisateurs par la suite. 85 . Cette théorie s’exécute en deux phases : Génération des détecteurs et analyse du comportement. Celle-ci consiste à analyser le comportement actuel de l’utilisateur sur la base des détecteurs.Ecole nationale Supérieure d’Informatique FIG 4. La première phase s’exécute sur le HIDS superviseur.  Analyser les rapports des HIDS esclaves et répertorier les alertes dans une base de données.3 : Architecture du HIDS utilisant l’approche comportementale basée sur la théorie de la sélection négative. 5.

5. Durant cette phase.4 : Phase I de la sélection négative (Génération des détecteurs).4. Comme nous avons pu le voir précédemment cette théorie se déroule en deux phases  Phase I : Génération des détecteurs Cette phase s’exécute sur le HIDS superviseur. 86 .Ecole nationale Supérieure d’Informatique 5. Chaque profil sera considéré comme la chaine de soi. elle permet de générer des détecteurs (anticorps) à partir du profil utilisateur. et sera utilisée pour la génération aléatoire de détecteurs. afin de purger l’ensemble des détecteurs générés en ne gardant que ceux qui ne reconnaissent pas la chaine de soi (voir Fig. 4.3 HIDS esclave Le HIDS esclave quant à lui a pour rôle de :  Générer les profils des utilisateurs durant la phase d’apprentissage.) FIG 4.4 Théorie de la sélection négative C’est sur cette théorie qu’est basé le noyau de notre HIDS.  Utiliser des capteurs d’événements pour extraire le comportement actuel de l’utilisateur. et les mettre en place à fin de reconnaitre des comportements suspects (Antigènes).  Exécuter la deuxième phase de la théorie de la sélection négative qui consiste à utiliser les détecteurs générés par la première phase afin d’analyser le comportement de l’utilisateur. Ensuite. on extrait les profils des utilisateurs à partir de la base de données. un test est mis en place.

Le HIDS esclave doit disposer de capteurs pouvant le renseigner sur le comportement actuel de l’utilisateur. une alerte de surconsommation sera générée. pour les informations telles que la consommation moyenne des ressources (CPU et RAM) un certain intervalle doit être défini sur la base de la moyenne. Pour cette raison. Donc si cette consommation dépasse la moyenne d’une certaine valeur ∆. 87 . on exploite les détecteurs générés par la phase précédente afin de procéder à l’analyse du comportement actuel de l’utilisateur. Il faut rappeler que les composants de l’IDS doivent être distribués et en permanente interaction. Une fonction permettra de mesurer le degré de ressemblance entre ce comportement et les détecteurs générés précédemment et une alerte est générée dans le cas où celle-ci atteint un certain pourcentage. Le degré de ressemblance est un paramètre très important pour la génération d’alertes.5 : Phase II de la sélection négative (mise en place des détecteurs pour l’analyse). les composants seront installés sur des agents. Durant cette phase. A titre d’exemple.Ecole nationale Supérieure d’Informatique  Phase II : Analyse Cette phase s’exécute sur les HIDS esclaves. et notre HIDS sera en fait un système multi-agents distribué sur l’ensemble des machines constituant le réseau local. FIG 4.

Chaque HIDS lance un agent ‘Analyseur’. Les détecteurs seront envoyés à chaque HIDS esclave avec la commande de début de la phase de surveillance. qui se charge de le répertorier.Ecole nationale Supérieure d’Informatique 5. applique la première phase de la théorie de la sélection négative afin de générer des détecteurs. le HIDS esclave calcule la moyenne des différentes valeurs extraites. procède par comparaison des parties de chacun. Ce dernier nécessite une seconde source d’informations. toutes ces informations seront transcrites dans le détecteur suivant un certain format. qu’il comparera par la suite au détecteur. 88 .  La phase de surveillance : Durant cette phase. permettant de nous renseigner sur le degré de ressemblance entre le détecteur et le comportement actuel. Pour cela. qui est le comportement actuel de l’utilisateur. Pour les valeurs numériques.5 Fonctionnement du HIDS Le déploiement et la mise en marche de notre HIDS se fait en deux phases :  La phase d’apprentissage : Le HIDS superviseur envoie la commande du début de la phase d’apprentissage aux différents HIDS esclaves. Durant la phase d’apprentissage. le HIDS esclave extrait périodiquement des informations du comportement de l’utilisateur. Le profil généré par chaque HIDS esclave sera ensuite envoyé au HIDS superviseur. Comme nous avons pu le voir précédemment le profil utilisateur contient plusieurs informations. le HIDS superviseur extrait les profils de chaque utilisateur. La fonction de comparaison entre le détecteur et le comportement actuel. l’agent ‘Analyseur’ demande à l’agent ‘Capteur’ de lui transmettre les informations nécessaires.

89 . basée sur la théorie de la sélection clonale. capables de reconnaitre la signature initiale (antigène). sur la base de ces signatures. 6. mais également des signatures qui dérivent de cette dernière (variantes). NIDS avec approche par scénario Le second composant très important est le NIDS utilisant l’analyse avec approche par scénario. Le noyau du NIDS contient principalement la fonction d’analyse qui est basée sur la théorie de la sélection clonale. le noyau du NIDS génère des détecteurs (anticorps).Ecole nationale Supérieure d’Informatique FIG 4. La fonction d’analyse de notre NIDS contient les deux processus de génération de détecteurs et leur mise en place pour l’analyse du flux de paquets.6 : Fonctionnement du HIDS. Cette approche nécessite une base de données des signatures d’attaques connues (antigènes).

Affecter les différentes tâches d’analyse aux agents. Le sous ensemble du trafic réseau sera envoyé par l’agent ‘Senseur’. Dans notre cas.). avec pour chacun un rôle bien précis. il existe trois rôles principaux qu’on attribue à trois classes respectives d’agents. Le Senseur Le senseur est responsable de la capture des paquets réseaux.Ecole nationale Supérieure d’Informatique 6. Recevoir les rapports des différents agents et répertorier les alertes. l’Analyseur reçoit les signatures du ‘Manager’ et les met en place pour reconnaitre un type d’attaques. Au sein du NIDS. il faut définir pour chacun le sous ensemble du trafic réseau qu’il devra capturer (Ex : TCP. Différents ‘Senseurs’ peuvent être déployés dans notre solution afin de rendre cette tâche plus légère. Nous avons opté pour l’utilisation conjointe des ‘Analyseurs-Senseurs’.1 Architecture du NIDS Le NIDS est en réalité un système multi-agents. Pour cela. constitué de divers agents. b. UDP …etc. Extraire les signatures d’attaques et générer les détecteurs. Donc. Le Manager C’est le gestionnaire de la solution. Le manager est chargé de :     Lancer les différents agents. Cette utilisation nous garantit une solution plus légère et autonome. 90 . en exécutant l’algorithme de sélection clonale. c. l’antigène en question est la signature d’attaque à reconnaitre. Si on opte pour le déploiement de plusieurs ‘Senseurs’. l’Analyseur doit recevoir un sous ensemble du trafic réseau afin de procéder à son analyse. a. L’Analyseur L’analyseur est en fait comparable à un anticorps qui a pour tâche de surveiller et de reconnaitre un certain type d’antigènes.

 Les détecteurs qui présentent les degrés d’affinité les plus faibles seront supprimés. o Génération des détecteurs  Calculer l’affinité de chaque détecteur de ‘AB’ avec la signature ‘S’. à partir de laquelle il génère un ensemble initial de détecteurs ‘AB’ de taille ‘N’.7 : Architecture à base d’agents du NIDS.  Recalculer le degré d’affinité des nouveaux détecteurs avec la signature ‘S’. o Initialisation Le ‘Manager’ extrait une signature d’attaque ‘S’. o Génération des détecteurs  Les ‘m’ meilleurs détecteurs relatifs à la signature ‘S’constituerons les détecteurs qui seront utilisés plus tard pour l’analyse.2 Théorie de la sélection clonale Cette théorie constitue la base du NIDS. 91 .Ecole nationale Supérieure d’Informatique FIG 4.  Appliquer le processus de maturation d’affinité sur les clones. Elle est utilisée par le ‘Manager’ afin de créer des détecteurs à partir d’une signature. 6.  Sélectionner les ‘n’ meilleurs détecteurs et les cloner on créant des copies identiques.

FIG 4. data. flags. En effet.  La fonction de mesure du degré d’affinité entre chaque anticorps et l’antigène en question. nous présenterons notre adaptation de ces processus pour notre IDS.  Le processus de clonage. type.8 : Format d’une signature.  Génération de l’ensemble initiale d’anticorps Comme nous avons pu le voir. nous avons adopté un certain format de signature. Durant cette phase. on prépare un ensemble d’anticorps (détecteurs) à partir de la signature initiale (antigène). La signature contient des parties spécifiques qui sont : Identifiant. Les principaux processus sur lesquels est basée la théorie de la sélection clonale sont :  La génération aléatoire d’un ensemble initial d’anticorps. Cette méthode nous permet de générer un ensemble de détecteur de taille ≤ 5 qui ressemblent à la signature initiale. Nous allons générer les détecteurs de manière à ce que ces derniers reprennent une partie de la signature. nous allons utiliser des méthodes qui permettent d’approche le fonctionnement extraordinaire de cette théorie. 92 . action. Ces quatre processus sont la base de la théorie de la sélection clonale.  Le processus de maturation d’affinité. val.Ecole nationale Supérieure d’Informatique L’utilisation de cette théorie immunitaire implique une certaine adaptation des concepts fondamentaux de cette dernière dans notre cas qui est la détection d’intrusions.

10 : Attribution des poids aux différentes parties de la signature. et cela en comparant leurs différentes parties comme suit : Nous attribuons des valeurs numériques (poids) pour les différentes parties de la signature. 93 . Pour l’attribution des poids (A. A titre d’exemple si nous attribuons les valeurs suivantes aux différentes parties de la signature : FIG 4.C…etc).B. la sommes des poids de ces parties doit retourner une valeur unique qui peut nous renseigner sans ambigüité des parties identiques et par conséquent.9 : Génération de l’ensemble initial d’anticorps  Fonction de mesure d’affinité La fonction de mesure d’affinité permet de calculer le degré de ressemblance entre la signature et le détecteur. La somme des poids des parties identiques est dans notre cas la valeur que retourne la fonction d’affinité.Ecole nationale Supérieure d’Informatique FIG 4. La fonction de mesure d’affinité retourne un entier qui est calculé de la sorte : Si les mêmes parties sont identiques dans les deux signatures. le résultat est incrémenté par le poids de cette partie. des parties différentes. il faudrait que quelques soient les parties identiques.

si ce dernier contient une action qui ne coïncide pas avec le type. nous avons rajouté dans notre base de données une table des règles à 94 . Sur la base de ces différences. nous essaierons d’augmenter le degré de ressemblance entre la signature et le détecteur. Afin de diminuer considérablement le taux de faux positifs en évitant de générer des détecteurs incohérents. nous permet d’identifier les parties qui diffèrent entre la signature et le détecteur. La valeur retournée par la fonction de mesure d’affinité. Le fait de choisir une partie aléatoirement parmi les parties qui constituent le détecteur. ou bien des paramètres qui ne sont pas faits pour cette action …etc. la sommes de ces dernières est une valeur unique.  Maturation de l’affinité Dans ce processus. nous pouvons améliorer le degré d’affinité entre la signature et le détecteur. FIG 4.11 : Mesure du degré d’affinité entre une signature et un détecteur. Nous appellerons un détecteur incohérent. en améliorant les parties différentes.Ecole nationale Supérieure d’Informatique Quelques soient les parties identiques entre la signature et le détecteur. peut donner à la fin un détecteur incohérent.

3 Fonctionnement du NIDS Notre NIDS utilise l’analyse avec approche par scénario. afin de les analyser plus tard si l’administrateur choisit de faire des analyses 95 . A ce niveau. en faisant attention à reprendre exactement la valeur de chaque partie. Ces regèles définissent pour chaque type les actions possibles. Voici les étapes de son exécution :  Capture des paquets : La première étape de l’analyse est la capture des paquets. on peut également enregistrer les paquets capturés dans des structures de données. il utilise comme source de données les paquets réseau.Ecole nationale Supérieure d’Informatique respecter.12 : Processus de maturation d’affinité. pour chaque action les paramètres possibles …etc. grâce aux agents ‘Senseurs’ qui capturent et transmettent les paquets réseaux aux agents ‘Analyseurs’ afin de procéder à leur analyse. Les autres étapes de la théorie de la sélection clonale. 6. basée sur la théorie de la sélection clonale. se dérouleront de la même manière. FIG 4.  Clonage Ce processus permet de faire des copies conformes de la même signature.

Il faut préciser que parmi les attributs. attaque). cette phase permet d’extraire les différents champs du paquets et leurs attribués des valeurs qui peuvent être interprétées par l’agent ‘Analyseur’. protocole. Alors que d’autres doivent être calculés tels que : le nombre de paquets durant les n dernières secondes. Les informations extraites des paquets subissent un formatage permettant ainsi d’utiliser le format standard des signatures adopté. port …etc. La pratique a montré que dans un paquet. Résumer les données : La quantité d’informations qui circule sur un réseau est de l’ordre de plusieurs giga-octets. 96 . HTTP …etc) que doit surveiller l’agent ‘Analyseur’. Fournir des attributs efficaces : Il faut garantir que les attributs de haut niveau extraits des paquets soient non ambigus et contiennent suffisamment d’informations capables de nous renseigner de manière claire sur le type d’activité (normale. IP destination). Selon le sous ensemble du trafic réseau (ex : FTP. la durée d’une connexion …etc. quelques parties sont analysées. il existe ceux qui sont extraits directement tels quels: adresse IP source. ce processus permet de structurer ces informations et produire des informations de haut niveau. elle permet de préparer les paquets pour la phase d’analyse en effectuant quelques modifications sur ces derniers : i. iii. Structurer les données : Les données capturées ne sont pas structurées pour une analyse. adresse IP de destination. ii. il est impératif afin de garantir un niveau de performances acceptable de ne garder que les informations pouvant servir à détecter des attaques. même dans les réseaux de taille moyenne. Les paquets sont capturés dans un format binaire. Donc.Ecole nationale Supérieure d’Informatique différées.  Extraction et formatage des attributs : Cette étape permet d’extraire un vecteur d’attributs de haut niveau à partir des paquets capturés afin d’être analysés par la suite. Une grande quantité d’information est redondante. il peut ne sélectionner que les attributs dont il a besoin afin de procéder à leur analyse (ex : IP source. Cette étape est très importante.

13 : Fonctionnement du NIDS. Sur la base de cette comparaison des rapports sont générés. FIG 4. un ensemble de détecteurs avec les attributs des paquets.  Envoi des rapports : Les rapports d’analyse sont systématiquement envoyés à l’agent ‘Manager’ qui se charge de les répertorier dans la base de données ‘Alertes’. 97 . la fonction d’analyse assurée par l’agent ‘Analyseur’ compare selon le type de signature.Ecole nationale Supérieure d’Informatique  Analyse des attributs : Une fois que l’agent ‘Manager’ a généré un ensemble de détecteurs par l’application de la théorie de la sélection clonale.

Découpage des classes. la base « Signatures » et la base « Alertes ». 7.Ecole nationale Supérieure d’Informatique Chapitre V : Réalisation et tests expérimentaux 1. Introduction. l’environnement d’exécution…etc. 8. Langages et environnement des développements. Nous présenterons également les différents tests effectués pour évaluer les performances de notre IDS et surtout l’apport des théories immunitaires utilisées. 2. 98 . 4. Déploiement et lancement de l’IDS. les liens entre ces modules. système de gestion des bases de données et outils utilisés pour le développement de notre solution. 3. Le NIDS étant développé entièrement en Java. Tests et résultats expérimentaux. Structures et sources de données. Introduction Après avoir décrit notre solution. 6. peut être déployer sur n’importe quel système d’exploitation . 1. nous aborderons dans cette section la partie implémentation de notre système : les langages de programmation. il suffit juste de reprendre son architecture et installer les deux bases de données nécessaires pour son fonctionnement. 2. Environnement d’exécution. plates formes. Environnement d’exécution Les deux composants de notre IDS peuvent être utilisés séparément. En effet. et s’intéressent à des sources d’informations différentes (Paquets réseau et comportement des utilisateurs). un point très intéressant c’est que les deux IDS qui constituent notre solution utilisent des bases de données différentes (‘Signatures’ et ‘Profils’). Systèmes multi-agents. Nous présenterons l’implémentation des différents modules constituants notre solution. 5.

et aussi pour le nombre limité d’IDS développés sous ce système d’exploitation.Ecole nationale Supérieure d’Informatique FIG 5. Quant au HIDS. le NIDS doit être installé sur une machine qui doit jouer le rôle de proxy au sein du réseau afin de faire transiter tout les paquets par cette station. Nous pouvons également utiliser le HIDS séparément. il présente une certaine dépendance vis-à-vis du système d’exploitation.1 : Architecture du NIDS utilisé à part. et celles-ci ont une relation directe avec le système d’exploitation. En effet. Dans notre cas nous avons utilisé le système d’exploitation Windows. Afin d’analyser l’ensemble des paquets du réseau. 5.2. Le HIDS peut être déployé sur un réseau de stations Windows comme le montre la figure FIG. qui est le système d’exploitation le plus utilisé par les utilisateurs. 99 . les profils utilisateurs regroupent des informations sur le comportement de ces derniers.

Ecole nationale Supérieure d’Informatique

FIG 5.2 : HIDS utilisé à part. Nous présenterons l’utilisation conjointe des deux composants de la solution. Cette utilisation nous permet d’exploiter les avantages de chacune. Donc, l’environnement d’exécution de notre IDS est comme suit : o NIDS installé sur le Proxy. o HIDS Superviseur installé sur une machine dédiée. o HIDS esclaves, déployés sur les machines constituant le réseau. Celles-ci étant dotées du système d’exploitation Windows. Une troisième application a été développée pour l’administration de l’IDS. Cette application sert d’interface entre l’administrateur et les différents composants de la solution. L’application d’administration permet de :  Visualiser les différentes alertes générées par le NIDS et le HIDS.  Définir les paramètres de configuration de l’IDS.  Mettre à jour la base des signatures.  Lancer la phase d’apprentissage pour le HIDS et consulter les différents profils…etc.

3. Systèmes multi-agents
L’ensemble des fonctionnalités de notre système de détection d’intrusions ont été implémentées à base des agents. Cette approche nous garantit distributivité, autonomie,

100

Ecole nationale Supérieure d’Informatique coopération …etc. L’ensemble de nos agents sont des agents réactifs. Nous avons opté pour ce type d’agents, afin d’éviter d’avoir des comportements inattendus de nos agents. Nous avons utilisé une plate forme multi-agents très connue, développée entièrement en Java qui est JADE (Java Agent DEveloppement framework) .Cette plate forme dispose de plusieurs classes abstraites nous permettant d’hériter des objets importants tels que : Agents, message, behaviour …etc. Deux systèmes multi-agents ont été développés pour notre IDS :

3.1 Le SMA « NIDS »
Créé par le NIDS, ce SMA regroupe les agents suivants :  Manager : C’est le superviseur des autres agents, il regroupe toutes les fonctions d’extraction et génération des détecteurs, archivage des alertes, lancement des différents agents.   Senseur : Responsable de capturer des paquets selon un certain filtre et les transmettre à son agent « Analyseur ». Analyseur : Reçoit les détecteurs de l’agent « Manager », et les paquets de l’agent « Senseur », puis procède à la comparaison de ces deux derniers. Dans le cas de détection d’une signature, l’agent «Analyseur » envoi un rapport d’alerte contenant toutes les informations relatives à cette alerte (Heure, source, destination, taux d’affinité, identifiant de la signature, détecteur, nom de l’agent…etc.)

101

Ecole nationale Supérieure d’Informatique

FIG 5.3 : Système multi-agents NIDS. Comme le montre la figure Fig. 5.3, nous avons opté pour le déploiement de trois couples (analyseur-senseur), afin de partager les tâches d’analyse sur les trois agents. Nous utiliserons un agent analyseur pour chaque type d’attaque (Données, entêtes et requête).

3.2 Le SMA « HIDS »
Ce système multi-agent destiné à contenir les agents du HIDS est un peu plus complexe. En effet, le système multi-agents HIDS est distribué sur l’ensemble des machines du réseau. Dans Jade, chaque plate forme doit contenir au moins un conteneur principal (MainContainer). La notion de système multi-agents distribué est traduite par Jade par une plate forme ayant un conteneur principal (Main-Container) qui est lancé par l’initiateur de la plate forme, et un ensemble de conteneurs, chacun lancé à distance par une station et qui sont hébergés au sein de la même plate forme. (voir annexe II). Les agents qui constituent ce SMA sont :  Manager : c’est le gestionnaire de la solution, l’agent «Manager» représente le HIDS superviseur. Cet agent se connecte aux bases de données, extrait les informations de configuration (phase en cours, paramètres des différentes méthodes …etc.), envoie les différentes commandes aux différents agents Slave-Manager de chaque HIDS esclave.

102

Ecole nationale Supérieure d’Informatique  Slave-Manager : Le gestionnaire de chaque HIDS esclave, ce dernier permet d’interagir avec l’agent « Manager » pour recevoir les commandes concernant la phase en cours, ou l’envoie des résultats de chaque phase (profil utilisateur dans le cas de la phase d’apprentissage, ou alertes générées dans le cas de phase d’analyse).  Analyseur : L’agent responsable d’analyser le comportement actuel de l’utilisateur. Cet agent reçoit les informations à partir de l’agent « Capteur » et le détecteur à partir de l’agent « Slave-Manager », puis procède à l’analyse du comportement de l’utilisateur.  Capteur : Cet agent fait appel à des API et des propriétés système, pour extraire les informations du comportement de l’utilisateur et les envoyés à l’agent « Analyseur ».  ProfilCreator : Dans le cas de la phase d’apprentissage, cet agent s’exécute pendant un certain intervalle, génère le profil du comportement de l’utilisateur qu’il envoie à l’agent Slave-Manager. Ce dernier ce charge de le transmettre à l’agent Manager du HIDS superviseur.

4. Base de données
Dans notre application, nous avons besoin de trois bases de données principales qui sont : signatures, profils et alertes. Nous avons utilisé le système de gestion de bases de données MYSQL. Ce SGBD est très léger et nous permet d’effectuer les taches de journalisation, consultation et mises à jour des données de manière simple. Le schéma de nos bases de données est le suivant :

4.1 BDD « Profils »
Cette base de données contient les informations sur le comportement des utilisateurs. Constituée principalement de trois tables :

103

Ecole nationale Supérieure d’Informatique

FIG 5.4 : Schéma de la base de données « Profils ».  Table ‘users’ : Cette table contient des informations générales concernant l’utilisateur à savoir : o Un identifiant unique uid. o Le nom d’utilisateur uname. o Le répertoire racine de l’utilisateur urep. o Le système d’exploitation os. o La version du système d’exploitation os_ver. o L’architecture du système d’exploitation os_arch. o La langue par défaut de l’utilisateur ulang. o La consommation moyenne des processeurs cpu. o La consommation moyenne mémoire ram. o Les horaires d’ouverture et fermeture de la session ton et toff. o Les droits de l’utilisateur utype.  Table ‘interfaces’ : Cette table contient des informations concernant les interfaces réseaux de l’utilisateur : o L’identifiant de l’utilisateur uid. o Le nom de l’interface nom. o L’adresse mac de l’interface mac. o L’adresse IP de l’interface ip. o Le sous réseau auquel appartient l’interface sousres.

104

o L’identifiant unique du processus pid. o L’identifiant unique de l’utilisateur uid. L’action de recherche permettant de reconnaitre l’attaque action. o La description du processus desc.4. Le nom de l’attaque représentée par la signature nom. étant utilisée par le HIDS.Ecole nationale Supérieure d’Informatique o Commentaires comments. 105 . La base de données « profils ». FIG 5. o o o o L’identifiant unique de la signature id.2 Base de données «Signatures » Cette base de données regroupe les différentes signatures d’attaques en trois tables.5 : Schéma de la base de données « Signatures ». o Paramètres de configuration du HIDS. o Le processus père du processus en question createur. 4. Les informations contenues dans ces trois tables sont formatées en utilisant le modèle de signature détaillé dans la section 4.2. La partie donnée sur laquelle s’applique la recherche data.  Table ‘process’ : Cette table contient la liste des processus les plus utilisés par l’utilisateur. o Le nom du processus nom. contient d’autres tables telles que : « Liste_process » ou «config » qui sont respectivement : o Liste des processus malveillants à partir desquelles les détecteurs seront générés. o Le titre du processus caption.

Donc cette attaque doit être répertoriée dans la table « données » . Elle peut contenir les paramètres nécessaires pour ce dernier à savoir : les paramètres de la théorie de la sélection clonale (Taux de clonage. D’autres informations peuvent être contenues dans cette base de données.7 : Schéma de la base de données « Alertes ».Ecole nationale Supérieure d’Informatique o o La valeur numérique concernant la recherche d’attributs numériques val. o Un identifiant unique de l’alerte id.6 : Modélisation de l’attaque par injection SQL. or 1=1) dans la partie données du paquet. nombre d’anticorps à générer. 106 .3 Base de données «alertes » Cette base de données regroupe les différentes alertes générées par le NIDS et le HIDS répertoriées dans deux tables : FIG 5. Paramètres optionnelles pour certaines méthodes d’analyse Flags A titre d’exemple.).  La table « alertes_h » : regroupe l’ensemble des alertes générées par le HIDS. FIG 5. 4. taille de l’ensemble initial d’anticorps) ainsi qu’un ensemble de paramètres définis par l’administrateur de l’IDS (La sauvegarde des paquets suspects…etc. cette dernière pourra être reconnue si on retrouve dans des paquets la chaine ('' --. pour une attaque d’injection SQL. puisque cette dernière est utilisée par le NIDS.

o La destination de l’attaque (l’hôte visé par l’attaque) destination. 5. o La date de l’envoie de l’alerte date. le degré de son affinité avec la signature ainsi que les modifications faites sur ce détecteur.1 NIDS Notre NIDS est principalement composé de quatre packages : Sig : Ce package contient trois classes principales o Antibody : Cette classe représente un détecteur avec la signature initiale.  La table « alerte_n » : Contient les alertes du NIDS. Découpage des classes Dans cette partie nous détaillerons les différents packages constituant notre solution. o La machine sur laquelle s’est produite l’attaque host. o Le nom de l’attaque qui s’est produite titre. o La source de l’attaque source. o Un identifiant unique de l’alerte id. o Signature : Cette classe définie le format de signature.Ecole nationale Supérieure d’Informatique o L’agent ayant envoyé le rapport d’alerte agent. o L’agent ayant envoyé le rapport d’alerte agent. o L’ensemble des détails de l’alerte details. ainsi que les différentes classes de chaque package. 5. o Le nom de l’attaque qui s’est produite titre. 107 . les différents champs du détecteur. o Clonalg : Cette classe implémente la théorie de la sélection clonale. o La date de l’envoie de l’alerte date. o L’ensemble des détails de l’alerte details.

Agent_manager template read_parametres apply_clonag save_alerte 108 . Cette méthode permet d’augmenter le degré d’affinité de chaque détecteur du tableau passé en paramètres. Créer des copies des meilleurs détecteurs et retourne un tableau des clones. Extrait l’ensemble des signatures contenues dans une table. Clonalg - Manager : ce package contient une seul classe ‘agent_manager’ qui défini le comportement de cet agent. Envoie un message Jade entre agents. Antibody set_string_antibody Get_signature Signature Set_string_sig Clonalg Mesure_affiniter Clonner Best_antibodies Maturation_affinite Affecter les valeurs d’une signature. Voici les différentes méthodes de la classe ‘agent_manager ‘ : Classes Méthode setup extract_sig send_sig send_message Rôle Définie le comportement de l’agent manager. Applique la théorie de sélection clonale sur une liste de signatures et retourne un tableau de détecteurs. Retourne un sous tableau à partir du tableau anticorps[] contenant les n meilleurs détecteurs. Envoie les différentes signatures aux agents.Ecole nationale Supérieure d’Informatique Classes Méthode Get_string_antibody Rôle Retourne une chaine représentant la signature. Mesure l’affinité du détecteur avec sa signature initiale et retourne un entier positif. Applique la théorie de la sélection clonale sur une signature. Retourne un template pour la réception de messages Jade. Enregistrement d’une alerte. Extrait les paramètres NIDS. Affecter les valeurs d’une signature à partir d’une chaine de caractère Retourne une chaine représentant la signature. et retourne un tableau de détecteurs.

Retourne un template pour la réception de messages Jade. Ajoute un filtre envoyé par l’agent analyseur à sa liste de filtres. Voici les différentes méthodes contenues dans la classe ‘agent_analyseur’ : Classes Méthode setup add_sig add_filtre Agent_analyseur send_message template analyse alerte Rôle Définie le comportement de l’agent analyseur. Agent_senseur Template Transmission Capturer 109 . Génère et envoie une alerte à l’agent manager. Envoie un message Jade entre agents. Capture les paquets correspondant aux filtres définis. qui définie le comportement de ce dernier. La classe ‘agent_senseur’ contient les méthodes suivantes : Classes Méthode Setup add_filtre send_message Rôle Définie le comportement de l’agent senseur. Analyse un tableau de paquets envoyés par l’agent senseur. Envoie un paquet capturé à l’agent analyseur. Retourne un template pour la réception de messages Jade. Ajoute un filtre envoyé par l’agent manager à sa liste de filtres. Ajoute un détecteur envoyé par l’agent manager à sa liste de détecteurs. Envoie un message Jade entre agents.Ecole nationale Supérieure d’Informatique Analyseur : Ce package contient la classe ’agent_analyseur’. - Senseur : Ce package contient la classe qui définie le comportement de l’agent ‘senseur’.

Get_profil Prf Void (String nom) get_uid 2.1 HIDS master Notre HIDS superviseur est principalement composé de deux packages : Detectors : ce pacquage contient deux classes qui définissent respectivement : le format d’un détecteur et l’implémentation de la théorie de la sélection négative. Classes Méthode Paramètres Valeur retournée Rôle Processus Interfac (int id) Informations relatives au processus Informations relatives à une interface réseau Extrait un profil de la base de données Retourne l’identifiant de Int l’utilisateur à partir de son nom d’utilisateur.6.2 HIDS esclave 110 .2 HIDS Notre HIDS est composé des packages suivants : 2. Negalg Negalg generate_random_process _liste - Profils : ce pacquage contient l’ensemble des classes qui définissent le profil utilisateur.Ecole nationale Supérieure d’Informatique 5. ainsi que les opérations à effectuer sur ce profil.6. Classes Méthode Rôle Cette méthode retourne une liste de détecteurs à partir d’un profil Cette méthode retourne une liste de processus à partir de la table’process_liste’ sans prendre en considération les processus contenus dans le profil.

extract_process_liste ArrayList extract_interfaces_lis te - () ArrayList Captor : ce pacquage contient la classe captors qui sert de générateur d’événements. La classe captors contient les méthodes suivantes : Classes Méthode Paramètres () Valeur retournée Rôle Retourne sous forme de chaine de get_general_infos String caractères les informations générales de l’utilisateur. cette classe sera utilisée par l’analyseur afin de comparer les détecteurs au comportement actuel de l’utilisateur.Ecole nationale Supérieure d’Informatique Le HIDS esclave est composé principalement de trois pacquages : Profils : Ce pacquage contient une classe très importante. get_interfaces_liste () ArrayList - Analyse : ce pacquage contient les structures de données destinées à contenir les détecteurs. Retourne une liste des interfaces réseau existantes. Profil_generator () Retourne une liste des processus en cours d’exécution. Retourne une liste des interfaces réseau existantes. qui est la classe de génération du profil. La classe captors contient les méthodes uivantes : Classes Méthode Paramètres Valeur Rôle 111 . ainsi que la classe d’analyse ?. Captors get_process_liste () ArrayList Retourne une liste des processus en cours d’exécution. cette dernière est constituée des méthodes suivantes : Classes Méthode Paramètres () extract_general_infos String Valeur retournée Rôle Retourne sous forme de chaine de caractères les informations générales de l’utilisateur.

nous avons utilisé le langage JAVA avec l’IDE Eclipse. Ce choix s’est imposé. L’application d’administration quant à elle a été développée avec C#. Langages et environnements de développement Nous avons utilisé plusieurs langages de programmation et environnements intégrés de développement.String details.String Alerte Analyse host. (detecteur D) Compare le comportement actuel de l’utilisateur au détecteur D. 112 . 6. String cont. puisque les différents composants de l’IDS sont implémentés sur des agents Jade. Informations relatives à un détecteur.Ecole nationale Supérieure d’Informatique retournée Processus Interfac Detecteur Informations relatives au processus. Ceci nous a permis de développer notre NIDS de manière à être portable sur différents systèmes d’exploitation. Void Analyser Void (String agent. String receiver) Void agents. Génère une alerte.Net en utilisant l’IDE Visual Studio 2008. Ce choix a été fait parce qu’aucune contrainte ne s’est imposée à ce niveau. String send_message ont.String titre) () Setup Void Définie le comportement de l’agent analyseur. conviviale et pratique. Envoie un message Jade entre (int type. Nous avons développé cette application de manière à ce que l’interface d’administration soit simple. Informations relatives à une interface réseau. Pour le développement des composants de l’IDS (NIDS et HIDS). en fonction des besoins.

7. qui nous permet d’exécuter les différentes requêtes sur le SGBD à partir d’applications Java ou C#. Une fois les prés requis de l’IDS installés. Nous avons également fait appel à la bibliothèque JPCAP afin de capturer les paquets réseau. 113 . nous pouvons lancer notre IDS.Sql) contiennent les schémas et informations des bases de données. Son interface nous renseigne sur l’état de ses composants. Voici les étapes de l’exécution du NIDS : o Création du conteneur « NIDS » pour le système multi-agents.  La plate forme JADE : Cette plate forme sera installée sur la machine allouée au NIDS (Le proxy) et la machine allouée au HIDS superviseur. nous avons utilisé la bibliothèque MYSQL Connector. lister les différentes interfaces réseau …etc.Net.1 Prés requis Notre solution nécessite des composants qui doivent être installés avant le lancement de l’IDS.  La librairie JPCAP : Doit être installée sur la même station que le NIDS.Ecole nationale Supérieure d’Informatique Pour la connexion avec les différents SGBD. il est nécessaire d’importer les schémas et contenus des bases de données. Trois fichiers (. 7. 7. ces fichiers doivent être importés sur les stations concernées.2 Déroulement de l’exécution de l’IDS Après l’installation de l’ensemble des prés requis de notre IDS. Cette bibliothèque est utilisée par l’agent « Senseur » du NIDS pour la capture des paquets et l’agent « ProfilCreator » du HIDS esclave pour lister et extraire les informations relatives aux interfaces réseau. Les composants en questions sont :  Le SGBD MYSQL : doit être installé sur les machines réservées pour contenir les différentes sources d’informations. afin de permettre aux agents senseurs du NIDS de capturer l’ensemble des paquets réseau. Déploiement et lancement de l’IDS Les différents composants de notre IDS doivent être déployés selon un certain ordre et en respectant certaines conditions.  NIDS : Le NIDS sera lancé sur le proxy.

elle permet à l’administrateur de contrôler à partir de sa station les différents composants de l’IDS.net.3 Administration de l’IDS L’application d’administration a été développée entièrement en C#. o L’agent « Manager » envoie aux différents agents la commande de début de surveillance. 7. o L’agent « Manager » extrait l’ensemble des signatures d’attaques.8 : Interface du NIDS. FIG 5. 114 . o L’agent « Manager » se connecte au deux bases de données « Alertes » et « Signatures ». applique la théorie de la sélection clonale sur chaque signature et génère un ensemble de détecteurs.Ecole nationale Supérieure d’Informatique o Lancement de l’Agent « Manager » sur ce conteneur. o Chaque agent « Analyseur » lance son propre agent « Senseur » et lui transmet les filtres de captures des paquets. o L’agent « Manager » lance les différents agents « Analyseurs » et envoie à chacun un sous ensemble de détecteurs.

11]. Sur l’onglet ‘Configuration’. La première fenêtre nous présente un résumé complet concernant notre IDS contenant :  L’état des différents SGBD contenant nos trois bases de données. A partir de cette fenêtre. l’administrateur se connecte aux différentes sources de données. Au lancement de l’application.Ecole nationale Supérieure d’Informatique FIG 5. L’administrateur peut visualiser rapidement les alertes rapportées sur l’onglet ‘Alertes’ FIG5. « Alertes » pour plus de détails.  Le nombre de profils utilisateurs et la date de la dernière phase d’apprentissage lancée.9 : Administration de l’IDS. 115 . « Signatures ». l’administrateur peut définir les différents paramètres de configuration des deux théories immunitaires (Sélection clonale et sélection négative) FIG5.  Le nombre de signatures contenues dans chacune des tables de la base de données « Signatures ».10]. l’administrateur peut accéder aux trois gestionnaires « Profils ».  Le nombre d’alertes générées par le NIDS et le HIDS.

11 : Configuration de l’IDS.Ecole nationale Supérieure d’Informatique FIG 5. Cet onglet présente un aperçu rapide des différentes alertes avec possibilité de filtrage. FIG 5. 116 .10 : Aperçu rapide des différentes alertes générées.

Gestionnaires des alertes : Cette interface permet de visualiser les différentes alertes générées. FIG 5.Ecole nationale Supérieure d’Informatique Les trois gestionnaires permettent à l’administration un contrôle plus approfondi et lui fournissent plus de détails concernant les différentes sources d’informations de l’IDS.12 : Gestionnaire des profils. Gestionnaires des profils : Cette interface lui permet de visualiser les informations contenues dans chaque profil et de relancer la phase d’apprentissage pour l’ensemble ou une partie des utilisateurs. a. b. 117 .13 : Gestionnaire des alertes. FIG 5.

L’avantage de générer des variantes d’une signature est la possibilité de reconnaitre des variantes d’attaque. elle permet de : o Lister les différentes signatures.  Gestionnaire des signatures : Cette interface permet d’interagir directement avec la base de données des signatures. tandis que d’autres (reconnues avec des détecteurs ayants un degré d’affinité<100%). ces variantes peuvent augmenter le degré de faux positifs. FIG 5. 118 . Ces détecteurs sont en fait des variantes de la signature. Donc certaines alertes sont sûres (c.Ecole nationale Supérieure d’Informatique Il faut rappeler que le NIDS génère des détecteurs avec la théorie de la sélection clonale à partir d’une signature. ou de découvrir de nouvelles attaques. o Importer / exporter une liste de signatures.14 : Alertes NIDS. o Editer des signatures existantes …etc.-à-d. avec un degré d’affinité de 100%). Cependant. Le gestionnaire met en évidence les alertes sûres et fournit un ensemble d’informations permettant d’analyser les autres alertes.

capables de reconnaitre toutes différences entre le profil et le comportement actuel de l’utilisateur.15 : Gestionnaire des signatures. 8.16.Ecole nationale Supérieure d’Informatique FIG 5. Tests et résultats Notre solution étant composée de deux IDS. Notre HIDS génère des détecteurs avec la théorie de la sélection négative.1 Tests sur le HIDS Le HIDS a pour tâche de reconnaitre les comportements anormaux des utilisateurs. 119 . Sur la base des profils préalablement enregistrés. Dans ce but. et étant donnée qu’il n’ya pas de liens directs entre les deux IDS. sur lesquels sera déployé le HIDS esclaves et une machine qui sera dédiée au HIDS superviseur FIG 5. 8. nous ferons des séries de tests sur chaque composant séparément. nous ferons nos tests sur un réseau local composé de trois stations.

le HIDS sera capable de détecter les variations suivantes :  Informations générales : La variation des informations générales telles que la consommation moyenne des ressources système (CPU. sera considérée par le HIDS comme étant un comportement anormale. pour la consommation des ressources systèmes (CPU et RAM). Ces informations sont généralement attribuées par l’administrateur. 120 .  Utilisation de processus : L’utilisation d’un processus qui ne figure pas dans le profil sera considérée comme processus suspect. l’administrateur peut décider qu’il y’aura une alerte de surconsommation des ressources.Ecole nationale Supérieure d’Informatique FIG 5. Les seuils représentent un paramètre important à partir duquel le HIDS décidera de générer ou pas des alertes. une alerte de tentative d’usurpation d’identité est lancée. Donc si un utilisateur essaie de changer cette configuration. La base de données des profils sera hébergée sur la même station que celle réservée au HIDS superviseur et contiendra les profils respectifs de chaque machine. Chaque profil utilisateur contient une liste des processus les plus utilisés. le HIDS superviseur extrait les paramètres de configuration lui permettant de savoir la phase actuelle (apprentissage / Surveillance) ainsi que d’autres paramètres telles que les seuils définis par l’administrateur.  Information réseau : Pour chaque utilisateur une liste des interfaces réseau ainsi que leurs adresses (MAC et IP) respectives est contenue dans son profil. ainsi que la liste des interfaces réseaux que possède l’utilisateur. si les valeurs de ces dernières dépassent la valeur moyenne du profil avec un certain ∆. Les trois types d’alertes citées ci-dessous seront testés sur les trois stations du réseau. Sur la base des profils. A titre d’exemple.17.16 : Réseau de test pour le HIDS. RAM). Au lancement FIG 5. les horaires d’ouverture et fermeture de session.

Le HIDS superviseur envoie un message pour informer l’ensemble des stations du réseau qu’à présent nous sommes dans la phase de surveillance. donc le HIDS superviseur extrait les profils de chaque utilisateur (Med.18 : Déploiement des agents du HIDS superviseur et des différents HIDS esclaves. FIG 5. 121 . Ces derniers lancent juste après la réception de ce message les deux agents ‘Analyseurs’ et ‘Captor’. Samir et Ali). applique la théorie de la sélection négative afin de générer un détecteur pour chaque profil. qui leurs permettent de surveiller le comportement actuel de l’utilisateur et transmettre les différents rapports au HIDS superviseur.17 : Interface du HIDS superviseur. FIG 5.Ecole nationale Supérieure d’Informatique Nous nous trouvons dans la phase de surveillance.

Cette lecture en boucle entraine plusieurs allocations mémoire et une surconsommation du processeur.  Sur la machine 2 (Ali) : Nous essaierons d’utiliser des processus nouveaux qui ne figurent pas dans le profil de l’utilisateur de cette machine.  Sur la machine 3 (Med) : On essaiera de changer la configuration réseau de la machine et lancer des commandes Ping vers d’autres machines du réseau.19 : Alertes générés par les différents HIDS esclaves. Analyse des résultats D’après les tests effectués sur le HIDS. qui se chargera de les répertoriées dans la base de données alertes FIG 5. qui boucle indéfiniment sur la lecture de différents fichiers à partir du disque dure.19. le point critique ce cette approche est le taux de faux positifs du au fait que 122 . détectent les différentes actions citées ci-dessus comme étant inhabituelles et par conséquents génèrent des alertes qui seront envoyées au HIDS Superviseur. Les agents ‘Analyseurs’ des différents HIDS esclaves.Ecole nationale Supérieure d’Informatique  Sur la machine 1 (Samir) : Nous essaierons de faire une surconsommation des ressources en utilisant une application qui a été développée pour ce test. FIG 5. Comme tout HIDS avec analyse par approche comportementale. nous constatons que ce dernier détecte tout comportement qui diffère de celui du profil comme étant un comportement anormal et par conséquent génère une alerte.

D’autant plus qu’il est très difficile de choisir un modèle standard pour le profil à adopté.  L’attaque par débordement de tampon peut être reconnue par le calcul de la longueur des paquets. cette dernière nous permet d’éditer manuellement les différents champs des paquets et les envoyés à une adresse IP donnée. sur lesquelles il applique l’algorithme de sélection clonale afin de générer des détecteurs capables de reconnaitre cette signature mais également des variantes de cette dernière. elles sont reconnues par la reconnaissance d’une chaine de caractère qui est : '' --. La chaine en question peut être reconnue en analysant le contenu des paquets. nous l’utiliserons pour mener quelques attaques et voir les performances de notre NIDS. l’agent ‘Manager’ extrait les deux signatures d’attaques. 8. La théorie de la sélection négative interprète parfaitement le fait que tout comportement différent du comportement type est considéré comme dangereux.Ecole nationale Supérieure d’Informatique le comportement anormal de l’utilisateur n’est pas forcément mal intentionné.  Les attaques par injection de code SQL sont lancées contre les serveurs de bases de données SQL. 123 . or 1=1.2 Tests du NIDS Notre NIDS utilise une base de données des signatures d’attaques. L’application utilisée est ‘PacketCreator’. Sur lesquelles il applique l’algorithme de sélection clonale qui permet de générer un ensemble de détecteurs FIG 5. nous utiliserons une application de génération de paquets. Afin d’effectuer des tests sur notre NIDS. Au lancement du NIDS. l’attaque par injection SQL et l’attaque par débordement de tampon. L’administrateur du HIDS pourra diminuer du taux de faux positifs en définissant des seuils moins stricts. Nous nous intéresserons à deux types d’attaques bien particulières à savoir. Avec PacketCreator nous mettrons en place ces deux attaques et nous détaillerons par la suite l’apport des systèmes immunitaires.20.

la partie données qui contient la 124 . LenStr : Longueur de la partie donnée.Ecole nationale Supérieure d’Informatique FIG 5. Cette variation peu donner naissance à des mauvais détecteurs qui augmenterons les taux de faux négatifs. qui ont été générées en faisant varier les valeurs des différentes parties de la signature. LenHeader : Longueur de l’entête du paquets. Les détecteurs générés seront capables de détecter les deux attaques en question. mais également d’autres variantes. Les principales actions de recherche utilisées sont : ValidStr : Vérifie si les données ne contiennent pas de caractères spéciaux et invalides. SubStr : Recherche une sous chaine dans la partie donnée. Les différents détecteurs générés par l’agent ‘Manager’ seront utilisés par les agents ‘Analyseurs’ qui permettent de détecter nos simulation d’attaques suivante :  1er test. Mise en place des attaques initiales : A l’aide de PacketCreator nous créerons nos propre paquets avec pour le premier.20 : Génération des détecteurs à partir des signatures – NIDS.

est un détecteur capable de reconnaitre une attaque.  3iem test. Nous avons utilisé dans notre solution les deux méthodes d’analyses comportementale et par scénario. sauf si ce dernier a été édité manuellement. 125 . Analyse des résultats L’application de la théorie de la sélection clonale pour la détection d’intrusion est d’un grand apport. nous avons proposé notre solution qui consiste en un IDS hybride (NIDS et HIDS) utilisant les deux sources d’informations sur un réseau.Ecole nationale Supérieure d’Informatique chaine '' --. Conclusion Dans le présent chapitre. Cependant. Cette attaque ne figurait pas dans notre base de données. faux positif généré : Le quatrième détecteur généré à partir de la signature d’injection SQL. 9. mais après analyse de ce détecteur. sera capable de détecter les sous chaines de la chaine '' --. elle permet de détecter de nouvelles attaques ou des variantes d’attaques existantes. Nous avons remarqué que cette décomposition induit forcément à des faux positifs. En s’inspirant des systèmes immunitaires artificiels.’ ne correspond pas à une attaque connue de nos jour. or 1=1 et le second avec une très longue chaine de caractères qui dépasse 199 octets. nous avons conçu des noyaux pour le NIDS et le HIDS. nous remarquons qu’il est impossible d’avoir un paquet avec la partie entête qui dépasse les 30 octets. en effet. du fait qu’elle emploi des mécanismes aléatoires au cours du processus de génération des détecteurs. Notre solution étant déployée sur un réseau et utilisant des composants physiquement distribués. / or / 1=1. comme nous l’avons fait pour notre test. un faux négatif évité : Le troisième détecteur généré à partir de la signature de débordement de tampon.  2nd test. or 1=1 et qui sont: '' / --. se la longueur de l’entête du paquet dépasse 30 octets. qui utilisent respectivement l’algorithme de sélection clonale et l’algorithme de sélection négative. à savoir : les paquets réseau et les comportements des utilisateurs. augmente le taux de faux positifs. puisque un paquet qui contient ‘or’ ou qui contient ‘--. elle est conçu en utilisant l’approche multi-agents.

Nous avons conclue que la méthode utilisée avait des points forts et des points faibles. Enfin pour la partie multi-agents.Ecole nationale Supérieure d’Informatique Dans la partie implémentation nous avons détaillé les outils et langages de programmation utilisés pour développer notre solution. le fait de faire appel à des méthodes aléatoires peut augmenter le risque de générer un grand nombre de faux positifs. Nous avons également utilisé le SGBD MYSQL. Nous avons achevé ce chapitre par un ensemble de tests qui nous ont permis de voir l’efficacité non seulement de notre IDS mais également l’apport des systèmes immunitaires artificiels pour la détection d’intrusions. Nous avons utilisé principalement le langage Java pour le développement des deux composants de notre solution : NIDS et HIDS. pour la gestion des différentes bases de données qui constituent notre solution. Le plus grand gain qu’apportent les systèmes immunitaires artificiels dans le cas de la détection d’intrusion est sans doute l’habilité de détecter de nouvelles attaques ou des variantes d’attaques qui ne figuraient pas dans la base de données. 126 . nous avons utilisé la plate forme Jade. sur chaque composant nous avons effectué trois tests. Les tests ont été effectués sur les HIDS et NIDS séparément. Cependant.

la sélection clonale et la sélection négative.Ecole nationale Supérieure d’Informatique Conclusion et perspectives L’objectif de ce projet de fin d’études était de concevoir et implémenter à base d’agents un système de détection d’intrusions inspiré des systèmes immunitaires. Le fait que l’IDS soit conçu de manière hiérarchique et soit distribué sur plusieurs machines et nécessitant l’analyse de données en provenance de différentes sources. inspirés des systèmes immunitaires naturels. surtout si on prend en considération que l’IDS sera déployé sur un réseau contenant plusieurs machines avec différentes configurations matérielle et logicielle. a montré que la théorie de la sélection clonale est plus appropriée à l’analyse par scénario. permet de générer à partir d’une signature d’attaques plusieurs détecteurs capables de reconnaitre non seulement l’attaque en question. plusieurs travaux de recherches utilisant différentes méthodes et approches leur sont consacrés. Nous nous sommes attardés sur les deux grandes théories qui sont la base de la réponse immunitaire. à savoir. tandis que la théorie de la sélection négative est plus appropriée à l’analyse comportementale. Le choix de l’implémentation d’un IDS est très important. les systèmes immunitaires artificiels. peuvent s’avérer très intéressant pour le domaine de la détection d’intrusion compte tenu de la similarité des fonctionnalités et des objectifs de ces derniers. impose l’utilisation des systèmes multi-agents. analysant les deux sources d’informations (Paquets réseau et comportement des utilisateurs) et utilisant les deux théories immunitaires. ou de 127 . L’utilisation de la théorie clonale. Parmi elles. Les systèmes de détection d’intrusions étant une brique très importante dans un système de sécurité. mais également des variantes de cette attaque. à savoir la théorie de la sélection clonale et la théorie de la sélection négative. L’étude de ces deux théories immunitaires dans le cas de la détection d’intrusions. Nous avons donc conçu un système de détection d’intrusions hybride (NIDS + HIDS) à base d’agents. Les tests effectués sur notre solution avaient pour but de définir l’apport des systèmes immunitaires pour la détection d’intrusions.

il ne serait pas conseillé de développer ce type d’IDS pour un usage grand public. il faut prévoir le fait qu’il yai différentes sessions sur la même machine et par conséquent. A partir de ce constat. Afin d’enrichir ce travail.  La reconnaissance de l’architecture du réseau : Pour une auto-adaptation de l’IDS.  Nous avons supposé dans notre solution qu’il n’existe qu’un seul utilisateur par machine. génèrent un grand nombre de faux positifs. L’analyse des tests a permis de déduire que l’application des théories immunitaires est avantageuse pour la reconnaissance de nouvelles formes d’attaques. Cependant. 128 .Ecole nationale Supérieure d’Informatique nouvelles attaques similaires. d’autre part à définir les comportements normaux des utilisateurs d’un système donné. ces méthodes. qui permet de modifier ces derniers aux fils du temps. nous nous proposons de donner quelques perspectives :  Le maintient des profils : Cette tâche implique une méthode dynamique de mise à jour des profils. Par ailleurs. se limitent à quelques données et qui ont une relation très étroite avec le système d’exploitation. du fait qu’elles fassent appel à des processus aléatoires dans la phase de génération de détecteurs. Par contre. Donc. compte tenu du nombre important de faux positifs générés. nous pouvons envisager que l’IDS soit en mesure de reconnaitre le système d’exploitation et utiliser un profil plus adapté à ce dernier. ce dernier doit être capable de reconnaitre les différentes machines qui composent le réseau sur lequel il est déployé. nous pensons que le développement d’IDS basé sur des AIS peuvent être d’un grand apport dans l’étude de nouvelles attaques et contribuer d’une part à enrichir une base de données des signatures. En effet.  Généralisation des profils : Les informations que nous avons prises en considération dans le profil. différents profils seront enregistrés pour cette machine. l’utilisation de la théorie de la sélection négative dans le cas d’analyse avec approche comportementale permet de détecter tout comportement anormal et qui soit différent du comportement type de l’utilisateur (Profil).

Ces packages prennent en charge la gestion des threads agents. Packages jade 129 . qui a fait ses preuves : JADE. Jade est composé de plusieurs packages. 4. Introduction Nous avons opté dans le cadre du développement de notre IDS et plus précisément la partie qui traite des systèmes multi-agents. d’utiliser une plate forme trés connue. En plus des fonctionnalités telles que l’appelle de méthodes distantes (RMI : Remote Methode Invocation). JADE (Java Agent DEvelopement Framework) est une plate forme développée par TILAB en 1999. Conteneurs. Outils de la plate forme. 3. offrants aux développeurs un ensemble de fonctionnalités pré développées. Packages jade. la sérialisation d’objet…etc. l’architecture distribuée …etc. le transport des messages. 2. Introduction. La plate forme Jade se compose principalement de deux composants : Une plate forme agents compatible FIPA et un package pour le développement d’agents Java. Le choix du langage de programmation java est essentiellement basé sur le fait que ce langage permet une parfaite programmation orienté objet dans des environnements hétérogènes et distribués. 5. Comportements. codée entièrement en JAVA. 2. 6. dans le but de faciliter le développement de systèmes multi-agents et applications conformément au standard FIPA.Ecole nationale Supérieure d’Informatique Annexe I : Plate forme JADE 1. 1. Communication inter-agents. Cette plate forme est fournie avec une License open source LGPL.

jade est fournie avec un ensemble d’outils de gestion. Jade.proto : Contient l’ensemble des classes qui servent à modéliser les protocoles d’interactions standards. Jade.acl : ce package inclut les classes de communication d’agents conformément aux standards FIPA. Jade.lang. principalement : Jade.core implémente la classe agent qui est la classe principale pour l’héritage d’objet de type agent. tels que les agents AMS et DF qui permettent respectivement de gérer le cycle de vie d’un agent. Ces outils sont : - L’agent RMA (Remote Management Agent) : C’est une console graphique permettant le contrôle et la gestion de différentes plates formes et conteneurs.core : Le noyau du système.gui : l’ensemble de classes permettant de fournir des interfaces graphiques pour la gestion des agents. D’autres packages existent tels que jade.Ecole nationale Supérieure d’Informatique Jade est composé de plusieurs packages. Les pages jaunes répertorient l’ensemble des agents ainsi que les différents services proposés par chaque agent. 130 .wrapper ou FIPA. La classe Behaviour qui est la classe permettant de modéliser le comportement des agents. Jade.tools et qui sont à leur tour des agents.domain : Contient l’ensemble des classes qui représentent les agents gestionnaires de la plate forme. et de fournir un service de pages jaunes. jade. Outils Jade En plus de l’organisation en packages.mtp : ce package fournie des interfaces que n’importe quel protocole de transport de message est sensé implémenter afin de pouvoir interagir avec la plate forme jade. Jade. chacun incluant des sous packages de jade. 3.

2 : L’agent dummy de la plate forme Jade. Figure A. ce dernier est en faite un agent avec une interface graphique permettant l’envoi de message ACL et la surveillance des messages échangés entre agents avec toutes les informations relatives.Ecole nationale Supérieure d’Informatique Figure A.1 : L’agent RMA de la plate forme Jade L’agent RMA permet de contrôler le cycle de vie de la plate forme et ses agents. - L’agent Sniffer : Permet de modéliser graphiquement tous les échanges de messages avec une notation très proche de celle utilisée sous UML. - L’agent Dummy : C’est l’outil de débogage et de monitoring. Cette modélisation 131 .

- L’agent Introspector : C’est l’agent permettant de surveiller le cycle de vie des autres agents. - L’agent DF (Directory Facilitator) : Cet agent permet à l’aide d’interface graphique de gérer des domaines de pages jaunes. Figure A. 132 .Ecole nationale Supérieure d’Informatique des messages est très pratique pour le débogage des agents en observant l’échange de messages ACL. les messages échangés et les tâches en exécution.3 : L’agent Sniffer de la plate forme Jade. L’utilisateur peut même créer un réseau complexe de domaines et de sous domaines de pages jaunes.

Done () : qui retourne un booléen indiquant si la tâche est terminée. L’ensemble des conteneurs peut être distribué sur un réseau permettant ainsi d’avoir une plate forme multi agents distribuée. Chaque tâche est un behaviour qui est une classe contenant principalement deux méthodes Action() : qui définie les opérations à exécuter. - L’aget LogManager : Permet de définir les attributs et les niveaux de journalisation d’événements. suspendu …etc. - 4. qui doit être lancé sur les différentes machines sur lesquelles la plate forme est distribuée. 133 . gestion des files d’attentes). c’est le conteneur principal (main-container).4 : L’agent DF de la plate forme Jade. Le conteneur garde des informations relatifs à tout ses agents lui permettant de les identifier. Cette conversion est à la charge de cet agent.Ecole nationale Supérieure d’Informatique Figure A. L’agent SocketProxy : Cet agent agit de manière bidirectionnelle entre la plate forme Jade et les connexions TCP IP. Les conteneurs Une plate forme est composée de plusieurs instances de l’environnement d’exécution Jade. les invoquer …etc. Les conteneurs prennent en charge les tâches de gestion des cycles de vie de leurs agents et la communication (envoie et réception de message.). Un conteneur particulier doit être toujours actif. A titre d’exemple les messages ACL transmis par la plate forme sont d’abord convertit en messages ASCII puis envoyés à travers des sockets et vice-versa. que ce soit en local ou à distance. Chaque conteneur peut contenir plusieurs agents et peut être dans différents états (actifs. Cette interface permet la gestion complète du conteneur et offre un contrôle complet sur ce dernier. 5. Cette fonctionnalité est permise grâce au service d’appel de méthodes à distance (Remote Methode Invocation). L’ensemble des conteneurs actifs constitue la plateforme. Une gestion distante est possible grâce à l’interface graphique (GUI). Les comportements (behaviours) Les agents ont des comportements qui se modélisent par des tâches à accomplir. Ces instances sont appelées conteneurs.

Communication inter-agents La communication entre les agents et un concept clé de la plate forme Jade. Envoi de messages : La classe agent contient une méthode appelée send() qui prend comme paramètre un objet de type ACL-Message qui a des attributs tels que : Langage. 134 . Nous avons pu voir dans le chapitre 3. message.Ecole nationale Supérieure d’Informatique Différents types de behaviours existent à titre d’exemple : Cyclic behaviour : C’est une tâche répétitive.addReceiver (new AID("Agent_1". sa méthode done() retourne toujours faux. Jade propose un package permettant d’hériter un message qui n’est rien d’autre qu’un objet avec des attributs. Cette lecture se fait par un appel de la méthode receive(). il sera mis dans une file d’attente jusqu'à ce que son (ses) destinataire(s) le récupère. 6. qui ne se termine ‘jamais’. Ontology. OneShotBehaviour : Sa méthode action() est exécutée seulement une fois et sa méthode done() retourne vrai. send(message). que sans la communication. message.ISLOCALNAME)).Receiver …etc. Réception de messages : La réception du message est en fait une lecture de la file d’attente. Une fois le message envoyé. le rôle des agents se retrouve très réduit.setOntology("Etat_serveur").AID.setContent("En_Marche").REQUEST). message. ACLMessage message= new ACLMessage(ACLMessage.

MessageTemplate. ACLMessage msg = myAgent.MatchOntology("Etat_serveur")). 135 . Nous pouvons voir qu’avec la plate forme Jade.MatchPerformative(ACLMessage.Ecole nationale Supérieure d’Informatique MessageTemplate temp = MessageTemplate.receive(temp).and (MessageTemplate.REQUEST). nous disposons de l’ensemble des outils necessaire à la l’implémentation de notre solution.

Les attaques réseaux Ce sont des attaques liées à des failles dans des protocoles réseaux ou des failles dans leurs implémentations voici quelques unes des attaques les plus connues : 1. telles que les détournements d’informations. Il existe plusieurs variantes de cette technique telles que Le scan connect. piratage de logiciels. Les services exécutés.1 Les techniques de scan C’est la première étape de plusieurs attaques. FIN et XMAS. mais le début d’une attaque. les types d’attaques sont propres à chacun d’eux. Nous citons ci-après les attaques les plus connues [BUR06]. le scan NULL. le scan à l’aveugle et le scan passif.Ecole nationale Supérieure d’Informatique Annexe II : Techniques de piratage informatique 1. les failles existantes dans le système…etc. le système d’exploitation. Quelque soit le domaine ou le genre d’activités. 136 . une quantité importante d’informations peut être récoltée (Les ports ouverts. Différentes techniques de piratage informatique existent. 2. 1. déni de services…etc.2 L’IP spoofing Le but de cette attaque est de se faire passer pour quelqu’un d’autre dans le but de gagner des privilèges supplémentaires ou avoir accès à des ressources. Attaques applicatives. Les techniques de scan ne sont pas considérées comme des attaques. 1. les versions des logiciels utilisés. Après l’utilisation des techniques de scan. cette méthode est surtout utilisée dans le cas où il existe des mécanismes d’authentification basés sur l’adresse IP tel que Rlogin et SSH. Attaques réseaux. le scan SYN.

Une fois le cache ARP usurpé. il faudra veiller à ce que l’usurpation soit maintenue.) aux attaquants. Le problème avec cette méthode est que la réponse sera envoyée à l’adresse spécifiée et donc l’adresse de la machine pour laquelle l’attaquant s’est fait passé. numéro de carte de crédit …etc. Il existe une façon de procéder pour récupérer ce paquet. il faudra compromettre le cache ARP de la machine victime en lui envoyant des trames indiquant que l’adresse IP d’une autre machine est la sienne. Parfois l’attaquant redirige les internautes vers le site http://www. le pirate répond par une autre adresse IP qui serait préparée pour avoir une page simple semblable à celle du site originale. Il existe deux façons connues pour effectuer cette attaque : 137 .com et dans ce cas son attaque est transparente. L’ARP spoofing est semblable à l’IP spoofing sauf qu’on travaille sur la couche liaison de données.4 Le DNS spoofing Cette technique permet de rediriger les internautes vers des sites pirates dans le but de récupérer des informations. numéro de sécurité sociale.com est hébergé sur le serveur 89. Cette technique s’appel Routage et elle consiste à envoyer des paquets RIP au routeur pour modifier sa table de routage. 1.mabanque.90. mais il pourra modifier ses paquets sortants en usurpant son adresse grâce à des utilitaires permettant de créer des paquets avec les informations désirées tel que Hping2 ou PacketCreator. Le cache ARP est régulièrement vidé. Lors des requêtes des internautes aux serveurs DNS correspondants. 1.20). le pirate reçoit le trafic initialement destiné à la victime. mais qui renvoie les informations confidentielles (login. L’attaquant cible les serveurs DNS .Ecole nationale Supérieure d’Informatique L’attaquant ne prendra pas réellement l’adresse voulue. Pour réaliser cette attaque.mabanque. pour faire correspondre une fausse adresse ip à un nom de domaine par exemple (le site http://www.129. L’attaquant pour ne pas éveiller les soupçons peut rediriger le trafic vers la victime. Il devra alors récupérer le paquet envoyé en réponse.3 L’ARP spoofing Sert à détourner le trafic d’une machine vers une autre.

l’attaque est réussie.6 TCP Session Hijacking Cette attaque est menée dans le but de contourner une protection par mot de passe.1 Fragments Overlapping : Cette méthode utilise une faille dans les filtres analysant des paquets. 1. Il existe deux variantes de cette attaque 1. en essayant de détourner le trafic TCP. L’attaquant envoi une demande de connexion avec des paquets chevauchés et contenant des offset erronés. puisqu’il ne contient aucune information suspecte. la connexion est établie. Si l’attaquant arrive à modifier ce cache en modifiant l’IP correspondant à sa cible par une fausse adresse. il pourra la rediriger vers un autre site.2 DNS Id spoofing : Une requête DNS est accompagnée d’un identifiant qui sera associé à la réponse du serveur DNS. Cependant. 1. pour réussir à modifier le cache d’un serveur DNS. la plupart des filtres ne le vérifient pas puisque le précédent ne contenait aucune information ‘dangereuse’. 138 .4. et lors de la défragmentation. il faudra lui renvoyer de fausses informations à partir d’un autre serveur DNS contrôlé par le pirate. ne détectent pas l’attaque et lors de la défragmentation. Le second paquet contient le reste de la demande de connexion. Le premier de taille minimale ne contenant que les adresses sources et destination. 1. 1.2 Tiny fragments : Fragmenter la demande de connexion en deux paquets.5 Fragments Attacks Cette attaque consiste à contourner les protections des équipements de filtrage IP dans le but d’effectuer des attaques ou de récupérer des informations.5.1 DNS cache poisonning : Les serveurs DNS possèdent un cache contenant les adresses dernièrement trouvées ou les adresses les plus fréquentes.4. la connexion est établie et l’attaque a lieu. Ce paquet n’est pas bloqué par le filtre. si le pirate arrive à retarder le serveur par une attaque de déni de service et utilise le numéro d’identification pour répondre à la victime par une autre adresse IP.5.Ecole nationale Supérieure d’Informatique 1. les filtres analysent les paquets indépendamment.

2.4 Les injections SQL 139 . un débordement de pile peut même permettre l’exploitation du Shell à distance. par exemple dans une application. une erreur de débordement de tampon ou d’accès à une zone mémoire non autorisée est signalée. 2. sont installés avec la configuration par défaut. dans une ligne de saisie si la valeur attendue est un caractère qui sera copié dans une zone mémoire et si le programmeur ne fait pas la vérification du type et de la longueur de la chaine en entrée. celle qui facilite l’exploitation du logiciel. et il injecte une commande dans la session préalablement établie.2 Les bugs Des erreurs de programmation sont parfois fatales. on devra attendre les patchs des programmeurs. La plupart des erreurs mènent à des attaques de type buffer overflow. 2.Ecole nationale Supérieure d’Informatique Cette attaque est menée en désynchronisant une session entre un utilisateur et le serveur. sauf que celle-ci utilise également des droits d’accès par défauts (login : root. L’attaquant peut aussi accéder à des zones mémoires importantes.3 Le buffer overflow Ce genre d’attaques est très fréquent et très particulier. en créant un paquet contenant comme adresse source l’IP de l’utilisateur et le numéro d’acquittement attendu par le serveur. 2. et rares sont les administrateurs qui prennent le temps de comprendre les paramètres de leurs applications. La majorité d’entre eux vont vite choisir la configuration par défaut. après écoute du réseau. password : root) 2. La raison est presque toujours la même : une mauvaise programmation. le pirate utilise des failles dans des logiciels ou des erreurs de configuration [BUR06]. Attaques applicatives Dans ce genre d’attaque.1 Les problèmes de configuration La plupart des logiciels. Dans ce cas.

2. Le pirate envoie des demandes de connexion avec SYN. toutes ses demandes de connexion occupent des ressources mémoires.JSP. Cette approche a révolutionné le web elle est connue sous le nom du Web Dynamique (PHP.7. 140 .7 Attaque DOS Ce genre d’attaques vise à mettre la victime hors service.1 Syn flooding : Cette attaque consiste à saturer le système distant par des demandes connexions auxquelles le pirate ne répond pas. 2.7. 2. De cette façon l’attaquant a accès à toutes les communications entre les deux machines. Cette attaque est mise en œuvre par la surcharge du réseau d’informations inutiles. 2.3 Packets fragment : Cette méthode utilise une mauvaise défragmentation du protocole TCP. la victime répond par SYN-ACK et attend la validation par le hacker.2 Udp flooding : Les paquets UPD passent avant les paquets TCP. l’attaque est réussie. Si l’attaquant parvient à uploader un fichier contenant des commandes lui permettant d’avoir accès au serveur. le pirate essaie de submerger la victime par un nombre important de paquets UDP. 2. 2. Cependant.6 Man in the middle Dans ce genre d’attaques. Généralement lancées contre des serveurs d’applications ou des serveurs web.Ecole nationale Supérieure d’Informatique Comme son nom l’indique c’est une injection d’un code SQL dans une requête afin de récupérer des informations.PERL).ASP.7. cette approche permet à une personne malveillante d’exécuter du code directement sur le serveur. ce qui bloquera toutes les connexions TCP. et assure l’acheminement des données aux deux stations.5 Les scripts Certains langages de programmation web ont une particularité très importante : la programmation côté serveur. l’attaquant détourne le trafic initialement entre deux stations en le faisant passer par sa station. ce qui cause le blocage du système distant.

une grande quantité de réponses sera envoyée à la victime.7. ce qui provoquera un crash de la cible. ici on lance une très grande attaque à partir de plusieurs points différents au même moment. 2. l’attaquant devra pour finir supprimer les fichiers journaux ou bien ses traces qu’il a laissé dans ces derniers.Ecole nationale Supérieure d’Informatique 2. 141 . Il envoie des requêtes ICMP ECHO en modifiant son adresse et indiquant l’adresse de sa cible. indiquant ainsi toutes les connexions et les usages fait de ces dernières. Après chaque attaque. le pirate tente d’effacer ses traces. Les participants à cette attaque ne se rendent pas compte qu’ils ont fait partie d’une attaque à grande échelle. Généralement des fichiers de journalisation sont gardés dans les machines et serveurs.4 Smurfing : Le pirate peut lancer une attaque à partir d’une autre machine vers sa cible.5 DDOS : Denis de Service distribué. Les plus grandes attaques DDOS ont été lancées à partir de réseaux zombies.7. ce qui provoquera son blocage et l’utilisation de toutes ses ressources. Donc pour se protéger.

Multi-Agent Programming. Languages. NIST special publication on Intrusion Detection System. Jed PICKEL. Julia ALLEN. Ed Stoner . Amal El Fallah Seghrouchni. pp 147-155. ENS Mines SaintEtienne.2005. Platforms and Applications. Proceedings ICARIS-2003. Vers un IDS Intelligent à base d’Agents Mobiles. ENS Mines SaintEtienne. Intrusion detection systems. ENS Mines Saint-Etienne. ISBN-10: 0-387-24568-5. ENS Mines Saint-Etienne. J Kim. 2001. BORDINI. 2002 Rafael H. Les médicaments 3ème édition. 2001. John McHUGH. ALLAIN. S Cayzer. Olivier BOISSIER Multi-Agent Systems (MAS Platforms). Artificial Immune Systems Tutorial. State of the Practice of Intrusion Detection Technologies. Systèmes multi-agents : éléments introductifs. Olivier BOISSIER. 2003. 2000. Philippe BEAUNE. 142 [AIC03] [AIC04] [ALL03] [ALL06] [BAC02] [BAR03] [BOI01A] [BOI01B] [BOI01C] [BOI01D] [BOI01E] [BOI01F] [BOI02] [BOR05] . P Bentley. Olivier BOUSSIER. U Aickelin. Farah Abdel Majid BARIKA. Systèmes multi-agents. Olivier BOISSIER. Systèmes multi-agents (environnement). P.2002.2006. Magazine pharmacorama . Ens Mines Saint-Etienne.com / 2004. ENS Mines Saint-Etienne. 2001.aickelin. J McLeod.Ecole nationale Supérieure d’Informatique Bibliographie [ADA08] Emmanuel ADAM. Université de Valenciennes et du Hainaut-Cambrésis France. 2001. 2nd International Conference on Artificial Immune Systems. Alan CHRISTIE. Université de Tunis. ENS Mines SaintEtienne. Systèmes multi-agents (coordination). Laurent VERCOUTER. Dr Uwe AICKELIN. Rebecca BACE and Peter Mell. Olivier BOISSIER. Networked Systems Survivability Program . 2003. http://www. Olivier BOISSIER.Jiirgen Dix. Olivier BOISSIER. 2001. Systèmes multi-agents (Organisation). Danger Theory: The Link between AIS and IDS?. Systèmes multi-agents (Interactions et communication dans les SMA). William FITHEN.Mehdi Dastani. 2001. Systèmes multi-agents (Négociation). 2008.

Vol 7 July. vol. Jonathan KRIER. ICANNGA . Clonal Selection Theory & Clonalg selection classification algorithm (CSA). VI-Brazilian Symposium on Neural Networks. Soft Computing Journal . 3. Leandro Nunes DE CASTRO. 2003. Institut EURECOM Sophia-Antipolis France. 2001. David BURGERMEISTER. J. Learning and Optimization Using the Clonal Selection Principle. Swinburne University of Technology. 67-84. Hermès. qui était exponentiel. Feb 2000. University of Paisley. trouve actuellement sa limite. [BOU05] [BOU99] [BRI01] [BRO04] [BSA02] [BUR06] [CAS00A] [CAS00B] [CAS00C] [CAS01] [CAS02A] [CAS02B] [CAS03] 143 . Leandro Nunes de CASTRO. Fernando José VON ZUBEN. In Artificial Neural Networks in Pattern Recognition Artificial Immune Systems: A Novel Paradigm to Pattern Recognition. TIMMIS. UK. Computing laboratory.developpez. Leandro N. 2001. Master of Information Technology. 1999. J I TIMMIS. n. Introduction aux agents : Principes et architecture des systèmes multi-agents. N. Jean-Pierre BRIOT. Thèse 2328. Le développement d'Internet. 2000. Fernando J. ( http://dbprog. 2000. 22-25th April. Ecole polytechnique fédérale de Lausanne. An Introduction to the Artificial Immune Systems . 2002. Artificial immune system: Part II. Transactions on Evolutionary Computation / Special Issue on Artificial Immune Systems. Artificial immune system as a Novel Soft Computing paradigm. Journal le monde. Système de détection d’intrusion. 239-251. Collection IC2. 6. Karima Boudaoud. Leandro Nunes de CASTRO.Ecole nationale Supérieure d’Informatique [BOU00] Karima BOUDAOUD.Prague. Détection d’intrusions : Une nouvelle approche par système multi-agents. Karima BOUDAOUD.N De CASTRO. Pr Manuel CASTELLS. Un système multi-agents pour la détection d’intrusions. VON ZUBEN. 2002.A survey of applications. University of Kent at Canterbury . Institut EURECOM. Yves DEMAZEAU. Jason BROWNLEE. Artificial Immune Systems: Theory and Applications.com). DE CASTRO. 2006. L. Un système multi-agents pour la détection d’intrusions. 2002. 2004. 2005. L. de CASTRO . DCA-RT. Statistiques communiqués par la BSA (Business Software Aliance). pp. 2000. Technical Report. pp.

Y. Université de médecine de Nantes. 2005 Jacques FERBER. Signaux et Systèmes (LERISS. ProMAS. Laboratoire d’informatique Fondamentale d’Orleans. Dec 1999.fr/~courdier/). The Construction of a Boolean Competitive Neural Network Using Ideas from Immunology. (http://www.com). Eric COLE. Université de Paris XII Val-deMarne Laboratoire d’Etude et de Recherche en Instrumentation. 2003. Patrick SIARRY. Abdoul Karim GANAME. CSI Computer Crime & Security Survey. DROGOUL. Centre européen de réalité virtuelle. 2000. VON ZUBEN. attention danger.chu-rouen. Mokhtar GHARBI. Programming Multi Agents Systems.( http://www.fr/cismef/). Les Anticorps. Leandro Nunes DE CASTRO. (http://www. 2004. 2003. 51-85.2005.univ-reunion. CHU de Rouen. A. Métaheuristiques pour l’optimisation et auto organisation dans les systèmes biologiques. 50C. Evaluation des systèmes de détection d’intrusions. Systèmes Immunitaires Artificiels et Optimisation. Mehdi DASTANI. motivations des pirates. Immunologie . 2001. Piratage informatique : aperçu. Doctorant en sécurité informatique. Leandro Nunes de Castro . Compuss Press ISBN: 2-74401273-4. 2007. 1995.EA 412).Lymphocytes B. Amal El Fallah SGHROUCHNI. Paulo Licio de Geus. Fernando José VON ZUBEN. Johann DREO. 1993. Fernando J. Montpellier. Immunologie . La plate forme PACO et ses applications.DEMAZEAU. Artificial immune systems: Part I – Basic theory and applications. HACKERS. Systèmes multi-agents : Intelligence artificielle et intelligence collective. First International Workshop.2008. 2005. 2003. Université de Paris-6. pp.Lymphocytes T.Ecole nationale Supérieure d’Informatique [CAS03B] Leandro Nunes DE CASTRO. 2009. 2005. Rémy COURDIER.gocsi. Neurocomputing. 144 [CAS04] [CAS99] [CHR08] [COL01] [COU05] [CSI08] [DAS03] [DEM93] [DRE03] [DRO05] [FER95] [GAD07] [GAN00] [GAR05A] [GAR05B] [GHA06] . 2iem journée nationale du PRC-IA sur les systèmes multi-agents. Dr Mohamed GAD EL BAR. Université de médecine de Nantes. An Intrusion Detection System Using Ideas from the Immune System. Systèmes multi-agents. 2006. Technical Report TR – DCA. Les systèmes multi-agents vers une intelligence collective.Fabricio Sérgio de Paula. InterEditions.

Laboratoire Signal Image Parole SIMPA – Université des sciences et de la technologie d’Oran. Jungwon Kim and Peter J. J. J. 1993. Abdel BELAÏD : Application du système immunitaire artificiel pour la reconnaissance des chiffres. Introduction aux systèmes de détection d’intrusions. 2002. Stallings. Cyrille LARRIEU. Académie des Sciences Collège de France. The UCI KDD Archive. Detecting danger applying a novel immunological concept to intrusion detection system. Bentley. Bentley. Abdelkader BENYETTOU. Department of Computer Science. Irvine. Université de Liège. F. Gianni Tedesco. Maghrebian Conference on Software Engineering and Artificial Intelligence MCSEAI'08. HOFMEYR. Application du système immunitaire artificiel ordinaire et amélioré pour la reconnaissance des caractères artificiels. 2008. Marie-Michèle MANTHA. Jamie Twycross. what you need to know. McClary. Stephanie FORREST. Jackson. Pr Michel MOUTSCHEN.A Review. An Evaluation of Negative Selection in an Artificial Immune System for Network Intrusion Detection. Department of Computer Science. Dept. University College London. of Computer Science University of New Mexico.University of California. Pr. J. Julie Greensmith. 2007. C.Ecole nationale Supérieure d’Informatique [GRE04] Julie Greensmith. Department of Computer Science University College London. Jungwon Kim. 2004. 2006. D. An Artificial Immune System. États-Unis.Information and Computer Science. Peter J. 2003. 2004. Immune System Approaches to Intrusion Detection . Computers and Security. Uwe Aickelin & Jamie Twycross . K. Peter J. Abdelkader BENYETTOU. 12(3):235-248. Bentley. Immunologie générale. Hiba KHELIL. HOCHBERG. The truth about your immune system. Hiba KHELIL. Jungwon Kim . DuBois. Philippe KOURILSKY. Steven A. Immunologie moléculaire. Harvard College. 2002. Nadir: An automated system for detecting network intrusion and misuse. The Artificial Immune System for Network Intrusion Detection: An Investigation of Clonal Selection with a Negative Selection Operator. 2007. 1999. 2009. Immunity by Design. Uwe Aickelin. Ford. 145 [HOC93] [HOF04] [KDD99] [KHE06] [KHE08] [KIM02A] [KIM02B] [KIM07] [KOU07] [LAR03] [MAN04] [MOU07] . 2004. University College London.

Ch. 2001. Vulgaris-Médicale 2009. PHP.html). Lucas VENTER. ISBN 0-13-140733-3.Ecole nationale Supérieure d’Informatique [PIC04] [QIA07] Noémy PICARD. Intrusion Detection Systems with Snort Advanced IDS Techniques Using Snort. Apache. 146 . MySQL. [SMS00] [SNR03] [TAN05] Sattisvar TANDABANY. [ZIE00] Marek ZIELINSKI.vulgaris-medical. SPIE Newsroom. Université de Mont-Saint-Aignan. 2003. Auteurs anonymes.com/encyclopedie/anticorps-generalites5560. 2009 (http://www. Compuss Press ISBN : 0-672-32459-8. Programmation Orientée Multi-Agents Développement et Déploiement de Systèmes Multi-Agents Voyelles. [RAY01] [RIC01] [SAL09] Jerne. SALMON et R. 2007. Sécurité Maximale des systèmes et réseaux. Yan Qiao. Institut National Polytechnique de Grenoble. Applying similarities between immune systems and mobile agent systems in intrusion detection. Eric Steven RAYMOND. Détection des intrusions réseau. Pierre-Michel RICORDEL. André. Méthode de programmation orienté Agent. 2000. and ACID. Mémoire de stage. 2001. 2004. University of South Africa. 2000. 2005. An intrusion detection system based on immune mechanisms. School of Computing. Les anticorps.