République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université des Sciences et de la Technologie d’Oran – Mohamed Boudiaf USTO-MB Faculté des Sciences Département d’Informatique MEMOIRE En vue de l’obtention du Diplôme de Magister Spécialité : Informatique Option : Modélisation et Simulation (MOSI) Présenté par : Mr SLIMANI Ahmed Thème : Application des systèmes immunitaires artificiels à la détection d’intrusion Soutenu devant le jury: - Président Mr. A. BENYETTOU Professeur USTOMB - Rapporteur Mr. M .BE NYETTOU Professeur USTOMB -Examinateur Mr. K. BELKADI - Examinateur Mr. K. SADOUNI maitre de conférences maitre de conférences 2010- 2011 USTOMB USTOMB Dédicaces Je dédie ce modeste travail à : - Mes chers parents qui m’avoir énormément encouragé et soutenu pendant la réalisation de ce travail, que je ne pourrai assez remercier de m’avoir apporté le nécessaire. - Mes chers frères, sœurs et toute la famille de SLIMANI. - Ma deuxième famille SLIMANI à Oran - Mes chers frères de la mosquée « el-rachad » cité universitaire C1 - A mes chers amis - A mes collègues du laboratoire LAMOSI et tous les étudiants d’université USTO - Tous ceux qui m’ont aidé de prés ou de loin surtout dans les moments les plus difficiles. A tous, je dédie ce modeste travail. …… Mr. SLIMANI Ahmed. Remerciements Tout d’abord je remercie le bon dieu tout puissant qui ma guidé dans mes pas, qui ma donné le courage, la volonté, et la patience pour surmonter les épreuves que j’ai rencontré tout au long de ma vie. Je tiens à exprimer ma sincère gratitude et reconnaissance à mon encadreur : Mr Mohammed BENYETTOU professeur à l’USTOMB et responsable de laboratoire LAMOSI pour avoir accepté de diriger ce travail, pour son aide, sa disponibilité et ses conseils. Mes remerciements vont aussi à Monsieur Mr Abdelkader BENYETTOU professeur à l’USTOMB et responsable de l’option RFIA qui nous a fait l’honneur de présider ce jury. Je remercie Mr Khaled BELKADI maitre de conférences à l’USTOMB d’avoir accepté d’examiner ce travail. Je remercie Mr Kaddour SADOUNI maitre de conférences à l’USTOMB d’avoir accepté d’examiner ce travail. Mes remerciements s’adressent à tous mes collègues du laboratoire LAMOSI. Enfin je remercie toute personne ayant contribué de prés ou loin à la réalisation de ce travail. Mr. Ahmed SLIMANI Résumé Face aux nouvelles technologies de l’information et de la communication, apparues 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 mémoire 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 naturelle, 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 on propose un IDS basé sur le système immunitaire artificiel qui s’inspire du système immunitaire naturel en utilisant la base de données KDD99. L’algorithme analyse les connexions réseaux afin de les classer comme normale ou anormales. Les résultats expérimentaux montrent que le système est performant avec un taux de reconnaissance satisfaisant. Mots clés : Système de détection d’intrusions, systèmes immunitaires naturels, systèmes immunitaires artificiels, KDD99. 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) Within the framework of this work one proposes IDS based on the artificial immune system which takes as a starting point the natural immune system by using the base of data KDD99. The algorithm analyzes connections networks in order to classify them like normal or abnormal. The experimental results show that the system is powerful with a satisfying rate of recognition. Key words: intrusions detection System, natural immune system, artificial immune systems, KDD99. Sommaire Introduction général .......................................................................................................................................... 1 Chapitre 01 : Introduction à la sécurité informatique .............................................................................. 3 1- La sécurité informatique ........................................................................................................................... 4 2- Services et mécanismes de sécurité .......................................................................................................... 5 2.1. Les services de sécurité ..................................................................................................................... 5 2.2. Les mécanismes de sécurité ............................................................................................................. 6 3- Services et mécanismes de sécurité .......................................................................................................... 8 3.1 Types d’attaques .................................................................................................................................. 9 3.2 Profils et capacités des attaquants...................................................................................................... 9 4- Quelques possibilités en matière de sécurité réseaux ......................................................................... 10 4.1 Les Firewalls .................................................................................................................................10 4.2 Les filtres de paquets....................................................................................................................11 4.3 Les scanners et les outils relatifs à la sécurité .............................................................................11 4.4 Les systèmes de détection d’intrusions ........................................................................................12 5- Conclusion ..........................................................................................................................................12 Chapitre 02 : Détection d’intrusion ............................................................................................................. 13 1- Introduction ............................................................................................................................................ 14 2- Intrusions informatiques ......................................................................................................................... 14 2.1 Types de pirates informatique ......................................................................................................... 15 2.2 Différentes phases d’une attaque ..................................................................................................... 15 2.3 contre- mesures .................................................................................................................................. 18 3- Systèmes de détection d’intrusions ........................................................................................................ 18 3.1 Introduction ...................................................................................................................................... 18 3.1.1 C’est Quoi la détection d’intrusion ? ................................................................................... 18 3.1.2 Efficacité des systèmes de détection d’intrusion .......................................................... 20 3.1.3 Que doit assurer la détection d'intrusion ? ........................................................................ 20 3.2 Modèle de processus de la détection d’intrusion ......................................................................... 21 4- Classification des systèmes de détection d'intrusion ........................................................................... 22 4.1 La méthode de détection .................................................................................................................. 23 4.1.1 L’approche comportementale ............................................................................................. 23 4.1.2 L’approche basée connaissance .......................................................................................... 23 4.2 Le comportement après la détection d’intrusions ......................................................................... 23 4.2.1 Réponse active........................................................................................................................ 23 4.2.2 Réponse passive ..................................................................................................................... 23 4.3 La nature des données analysée ....................................................................................................... 24 4.3.1 Les audits systèmes ................................................................................................................ 24 4.3.2 Les sources d’informations réseau ...................................................................................... 25 4.3.3 Les audits applicatifs ............................................................................................................. 25 4.4 La fréquence d’utilisation .................................................................................................................. 25 4.4.1 Surveillance périodique ........................................................................................................ 25 4.4.2 Surveillance en temps réel ................................................................................................... 25 5- L’analyse basée connaissance versus l’analyse comportemental .................................................... 25 5.1 L’analyse basée connaissance ...................................................................................................26 5.1.1 Les avantage de l’analyse basée connaissance.................................................................... 26 5.1.2 Les inconvénients de l’analyse basée connaissance .......................................................... 26 5.2 L’analyse comportementale ..........................................................................................................26 5.2.1 Les avantages de l’analyse comportementale ..................................................................... 27 5.2.2 Les inconvénients de l’analyse comportementale ............................................................ 27 5.3 Les techniques utilisées dans l’approche comportementale ................................................... 27 5.3.1 L’approche statistique ........................................................................................................... 28 5.3.2 L’approche de machine learning ......................................................................................... 29 5.3.3 L’approche de réseaux de neurone..................................................................................... 29 5.3.4 L’approche de datamining .................................................................................................. 30 5.3.5 L’approche immunologique ................................................................................................ 30 6- Les IDS Bases Hôtes Versus Les IDS Bases Réseau .......................................................................... 31 6.1 L’IDS basé hôte (host- based IDS) ................................................................................................. 31 6.1.1 Les avantage d’un IDS basé hôte ....................................................................................... 31 6.1.2 Les inconvénients d’un IDS basé hôte .............................................................................. 31 6.2 L’IDS basé réseau (Network- based IDS) ..................................................................................... 31 6.2.1 Les avantages d’un IDS basé réseau .................................................................................. 32 6.2.1 Les inconvénients d’un IDS basé réseau ........................................................................... 32 7- les architectures d’implémentation des IDS ......................................................................................... 32 7.1 L'approche monolithique (centralisée) ............................................................................................ 32 7.2 L'approche hiérarchique .................................................................................................................... 33 7.3 L'approche coopérative (distribuée) ............................................................................................... 33 8- Une vue générale de quelques systèmes de détection d’intrusions Existants ........................... 33 8.1 IDES .................................................................................................................................................... 33 8.2 NIDES ................................................................................................................................................. 34 8.3 NADIR ................................................................................................................................................ 34 8.4 DIDS .................................................................................................................................................... 34 8.5 GrIDS .................................................................................................................................................. 35 8.6 CSM...................................................................................................................................................... 35 8.7 AAFID................................................................................................................................................. 36 9- L’emplacement de l’IDS .......................................................................................................................... 36 10- Evaluation d’un IDS .............................................................................................................................. 37 11- Conclusion ................................................................................................................................................. 38 Chapitre 03 : Système immunitaire .........................................................................................................39 1- Introduction ............................................................................................................................................ 40 2- Le système immunitaire naturel .............................................................................................................. 40 2.1 Introduction ...................................................................................................................................... 40 2.2 Le système immunitaire ................................................................................................................... 41 2.3 L’architecture du système immunitaire ........................................................................................... 41 2.3.1 Le système immunitaire inné............................................................................................... 41 2.3.2 Le système immunitaire adaptatif ....................................................................................... 42 2.4 La physiologie du système immunitaire ......................................................................................... 42 2.4.1 Les cellules B ......................................................................................................................... 43 2.4.1 Les cellules T ......................................................................................................................... 43 2.5 Comment le système immunitaire assure t-il la protection du corps humain? ........................ 43 2.6 Les processus de base d’un système immunitaire......................................................................... 45 2.6.1L’identification dans le système immunitaire naturel........................................................ 45 2.6.2 L’activation ............................................................................................................................ 45 2.7 Le principe du mécanisme de la sélection clonal .......................................................................... 46 2.7.1 L’hypermutation somatique ................................................................................................ 47 2.7.2 La mémoire immunitaire ..................................................................................................... 47 2.7.2.1 La réponse primaire ..................................................................................................... 48 2.7.2.2 La réponse secondaire ................................................................................................. 48 2.7.2.3 La réponse réactive croisée ......................................................................................... 48 2.7.3 La maturation d’affinité........................................................................................................ 49 2.8 Le répertoire cellulaire ...................................................................................................................... 49 2.9 La discrimination entre soi / non soi ............................................................................................. 50 2.9.1 La sélection négative pour les cellules T............................................................................ 50 2.9.2 La sélection négative pour les cellules B............................................................................ 50 2.10 La théorie du réseau immunitaire ................................................................................................. 51 3- Caractéristique du système immunitaire............................................................................................... 52 4- Le Système Immunitaire Artificiel ...................................................................................................... 53 4.1Définitions .......................................................................................................................................... 54 4.1.1 Définition 01 ......................................................................................................................... 54 4.1.2 Définition 02 ......................................................................................................................... 54 4.1.3 Définition 03 ......................................................................................................................... 54 4.2 Le processus de conception d’un AIS ........................................................................................... 54 4.2.1 La représentation ................................................................................................................. 55 4.2.1.1 Le modèle Shape - Space ........................................................................................... 55 4.2.1.2 Les concepts de base du modèle .............................................................................. 56 4.2.2 Les mesures d’affinités ........................................................................................................ 57 4.3 Les algorithmes du système immunitaire artificiel .................................................................... 57 4.3.1 L’algorithme de la sélection négative ................................................................................. 55 4.3.2 L’algorithme de la sélection positive .................................................................................. 58 4.3.3 Algorithme de la sélection clonale ...................................................................................... 59 4.3.4 L’algorithme du réseau immunitaire ................................................................................... 60 5- Extension du système immunitaire artificiel ........................................................................................ 61 5.1 Le modèle de soi / non soi .............................................................................................................. 61 5.2 Le modèle de la théorie de danger .................................................................................................. 62 5.2.1 Critique du modèle de soi / non soi ................................................................................. 62 5.2.2 Le principe de base de la théorie de danger ..................................................................... 62 5.2.3 La mort cellulaire ................................................................................................................ 63 5.2.3.1 La nécrose ..................................................................................................................... 63 5.2.3.2 L’apoptose ..................................................................................................................... 63 5.3 L’emploi de la théorie de danger dans un AIS ............................................................................... 64 6- L’analogie entre le système de détection d’intrusion et le système immunitaire ............................ 64 6.1 Introduction ................................................................................................................................ 64 6.2 L’immunologie et la sécurité des systèmes informatiques ..................................................... 64 6.2.1 L’immunologie ..................................................................................................................... 64 6.2.2 La sécurité des systèmes informatique............................................................................... 65 6.3 L’analogie entre le système immunitaire et un système de détection d’intrusion ............. 66 6.3.1Les exigences d'un IDS basé réseau .................................................................................... 66 6.3.2 Les buts de conception d'un IDS basé réseau .................................................................. 67 6.3.2.1 La distribution............................................................................................................... 67 6.3.2.2 L’auto organisation ...................................................................................................... 68 6.3.2.3 La souplesse ................................................................................................................. 68 6.3.3 Une analyse des caractéristiques du SIH ........................................................................... 68 6.3.3.1 Un modèle distribué...................................................................................................... 68 6.3.3.2 L’auto organisation ...................................................................................................... 69 6.3.3.3 La souplesse ................................................................................................................. 70 7- Les domaines d’application des AIS .................................................................................................... 71 7.1 La sécurité des ordinateurs ............................................................................................................. 71 7.2 La détection et l’élimination des virus informatiques .................................................................. 71 7.3 Optimisation ...................................................................................................................................... 72 7.4 Robotique ........................................................................................................................................... 72 7.5 Autres domaines d’utilisation .......................................................................................................... 72 7.6 Le Système Immunitaire Artificiel pour La détection d’intrusions ...................................... 73 8- Conclusion ............................................................................................................................................... 74 Chapitre 04 : Implémentation et résultat .................................................................................................. 76 1- Introduction ........................................................................................................................................... 77 2- Ressources matériels et logiciel ........................................................................................................... 77 3- Base de données KDD99 ..................................................................................................................... 77 3.1 Probing (Sondage) ............................................................................................................................. 78 3.2 Attaques de Dénis de Services ........................................................................................................ 78 3.3 Attaques User to Root ...................................................................................................................... 79 3.4 Attaques Remote to User .................................................................................................................. 79 3.5 Les attributs KDD99 ......................................................................................................................... 80 3.6 Distribution des attaques dans l’ensemble de données KDD9 ................................................... 81 4- Architecture du système ......................................................................................................................... 82 5- Fonctionnement ..................................................................................................................................... 84 5.1 Module de prétraitement de données ............................................................................................ 84 5.1.1 Étape d’élimination de redondances .................................................................................. 84 5.1.2 Numérisation de données .................................................................................................... 85 5.1.3 Scaling data (Mise à échelle de données) ........................................................................... 85 5.2 Sélection d’attribut ........................................................................................................................... 87 6- Utilisation de l’SIA ................................................................................................................................. 87 7- Résultats expérimentaux ....................................................................................................................... 87 8- Sélection d’attribut ................................................................................................................................. 95 8.1 Cas binaire ....................................................................................................................................... 95 8.2 Cas multi-classe ................................................................................................................................ 97 9- Etude comparative ................................................................................................................................ 100 10- Conclusion ........................................................................................................................................... 100 Conclusion général ........................................................................................................................................ 101 Bibliographie .................................................................................................................................................. 102 Annexe Liste des figures Chapitre 02 FIG II.1 Rapport de CSI des pertes causées par le piratage informatique en millier de dollars .......... 17 FIG II.2 Pourcentage des différents types de piratage informatique selon les dégâts causés .............. 17 FIG II.3 Modèle simplifié d’un système de détection d’intrusions ......................................................... 19 FIG II.4 Taxonomie des systèmes de détection d’intrusion .................................................................... 22 FIG II.5 Emplacement de l’IDS au sein d’un réseau. ................................................................................ 37 Chapitre 03 FIG III.1 Architecture du système immunitaire. ........................................................................................ 41 FIG III.2 Présentation d’une cellule B et une cellule T ............................................................................. 43 FIG III.3 Le processus de base de défense immunitaire .......................................................................... 44 FIG III.4 L’identification dans le système immunitaire ............................................................................ 45 FIG III.5 Le principe de la sélection clonale .............................................................................................. 47 FIG III.6 Les différents types de réponses immunitaires ......................................................................... 49 FIG III.7 La représentation du réseau immunitaire idiotypique ............................................................. 52 FIG III.8 structure de conception d’un AIS .............................................................................................. 55 FIG III.9 La représentation du modèle Shape-Space ............................................................................... 56 FIG III.10 Différentes distances pour le calcule d’affinité anticorps-antigène ............................................. 57 FIG III.11 La structure générale de l’algorithme de la sélection négative. .............................................. 57 FIG III.12 Principe de la théorie du danger ............................................................................................... 63 Chapitre 04 FIG IV.01 fonctionnement général du NIDS ............................................................................................ 82 FIG IV.02 construction de modèle de détection d’intrusion AIS ........................................................ 83 FIG III.03 Construction de modèle de détection d’intrusion AIS avec sélection d’attributs ............ 83 FIG IV.04 base de données KDD99 fichier texte ...................................................................................... 84 FIG IV.05 données après numérisation ....................................................................................................... 85 FIG IV.06 données après normalisation ..................................................................................................... 86 FIG IV.07 Techniques par filtre la sélection d’attributs ........................................................................... 86 FIG III.12 modèle de multi-classifieur ......................................................................................................... 99 Liste des Tableaux Chapitre 03 Tableau01 Un récapitulatif des différents travaux dans le domaine des IDS......................................... 74 Chapitre 04 Tableau01. Attaques de Probe ...................................................................................................................... 78 Tableau02. Attaques de dénis de service .................................................................................................... 79 Tableau03. Attaques de User to Root ........................................................................................................ 80 Tableau04. Attaques de Remote to User ................................................................................................... 80 Tableau05. Répartition des attaques dans l’ensemble d’apprentissage KDD99.................................... 81 Tableau06. Répartition des attaques dans l’ensemble de test .................................................................. 81 Tableau07. Nombres d'enregistrements avant et après élimination des enregistrements dupliqués .. 84 Tableau08. Représentation des attaques dans les différents ensembles d’apprentissage(cas multi-classes).... 89 Tableau09. Représentation des attaques dans les différents ensembles d’apprentissage(cas binaire) 90 Tableau10 Les résultats d’apprentissage cas binaire ................................................................................. 90 Tableau11. Les résultats d’apprentissage cas multiclasse ......................................................................... 90 Tableau12. Les résultats de test cas binaire ................................................................................................. 91 Tableau13. Les résultats de test cas multi- classe ...................................................................................... 91 Tableau14 Les résultats d’apprentissage cas binaire ................................................................................. 91 Tableau15. Les résultats d’apprentissage cas multiclasse ......................................................................... 92 Tableau16. Les résultats de test cas binaire ................................................................................................. 92 Tableau17. Les résultats de test cas multi- classe ...................................................................................... 92 Tableau18 Les résultats d’apprentissage cas binaire ................................................................................. 93 Tableau19. Les résultats d’apprentissage cas multiclasse ......................................................................... 93 Tableau20 Les résultats de test cas binaire .................................................................................................. 93 Tableau21. Les résultats de test cas multi- classe ...................................................................................... 93 Tableau22. Résultats de F-score pour le cas binaire ................................................................................. 96 Tableau23. Les résultats d’apprentissage cas binaire ................................................................................. 96 Tableau24. Les résultats de test cas binaire ............................................................................................... 96 Tableau25. Les résultats d’apprentissage cas binaire ................................................................................. 97 Tableau26 Les résultats de test cas binaire ............................................................................................... 97 Tableau27. Résultats de F-score pour le cas multiclasse .......................................................................... 98 Tableau28. Les résultats d’apprrentissage cas multi-classe ...................................................................... 98 Tableau29. Les résultats de test cas multi-classe ...................................................................................... 98 Tableau30. Étude comparative .................................................................................................................... 99 Introduction générale Introduction générale Introduction générale Les attaques informatiques ont été depuis leur apparition une vraie menace. Avec leur grande diversité et spécificité aux systèmes, ces dernières peuvent avoir des conséquences catastrophiques. 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. 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. Différentes méthodes et approches ont été adoptées pour la conception de systèmes de détection d’intrusions. Parmi ces méthodes, l’une est inspirée de la nature, notamment des systèmes immunitaires, qui présentent des propriétés et une grande similarité avec les systèmes de détection d’intrusions. Le système immunitaire biologique avec ses propriétés remarquables est une source d’inspiration pour la résolution de problèmes. L’étude des systèmes immunitaires est un nouvel axe de recherche très prometteur, qui a donné naissance à une nouvelle branche de l’intelligence artificielle, à savoir, les systèmes immunitaires artificiels. Ces derniers sont en fait la modélisation, l’implémentation et l’adaptation des concepts et méthodes des systèmes immunitaires biologiques pour la résolution de problèmes. Dans le cadre de notre étude, nous nous intéressons aux systèmes immunitaires pour la détection d’intrusion. Notre objectif est de développer un système immunitaire artificiel pour notre système de détection d’intrusions, en implémentant la théorie de sélection clonale. Afin d’évaluer ses performances, 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. Ce mémoire est organisé comme suit : Le premier chapitre représente une introduction générale au domaine de la sécurité informatique d’une façon générale. La deuxième chapitre est consacré à une description détaillé des systèmes de détection d’intrusion (IDS : Intrusion Detection System). Dans ce chapitre nous allons définir la détection et le processus de la détection d’intrusion, ainsi qu’une taxonomie des systèmes de détection d’intrusion. Nous allons aussi mettre en évidence les travaux de standardisation dans le domaine de la détection. Le troisième chapitre décrit les systèmes immunitaires artificiels (AIS). Afin de comprendre les différents algorithmes proposés dans le domaine des systèmes immunitaires artificiels, ce chapitre 1 Introduction générale commence par une présentation générale du système immunitaire naturel et les différents mécanismes utilisés dans l’identification et la détection des intrus. La partie consacrée aux systèmes immunitaires artificiels expose les différents algorithmes immunitaires disponibles ainsi que les différents domaines d’application des systèmes immunitaires artificiels. A la fin montre l’analogie entre l’objectif des systèmes de détection d intrusions et celui du système immunitaire humain. Le quatrième chapitre donne une description détaillé du système développé. Nous présentons au premier lieu l’architecture du système et le rôle de chacun de ses composants. Les différents résultats expérimentaux obtenus sur la base d’apprentissage et test KDD99 et sur la base KDD99 avec sélection d’attributs seront exposés. En fin nous concluons le mémoire par une idée générale et quelques perspectives pour les travaux futurs. Une description détaillée de l’ensemble de données KDD99 est donnée dans l’annexe A. 2 Chapitre I : introduction à la sécurité informatique Chapitre I : Introduction à la sécurité informatique Dans ce chapitre : 1. La sécurité informatique. 2. Services et mécanismes de sécurité. 3. Terminologie de la sécurité informatique. 4. Quelques possibilités en matière de sécurité réseaux. 5. Conclusion. 3 Chapitre I : introduction à la sécurité informatique 1. La sécurité informatique De nos jours, l'information dans l'entreprise est d'une importance capitale, ce qui rend sa protection une fonction primordiale. L'institut britannique de standardisation [BSI00] définit la sécurité informatique par la préservation des trois propriétés suivantes: La confidentialité : assurer que l'information est accessible uniquement aux utilisateurs autorisés (empêcher la divulgation non autorisée de données). L'intégrité : assurer l'exactitude et la complétude de l'information (empêcher la modification non autorisée de données). La disponibilité: assurer l'accès à l'information aux utilisateurs autorisés (empêcher l'utilisation non autorisée de ressources informatiques d’une façon générale). UBEZEN [Ubi00] a rajouté une autre propriété concernant l'utilisation de l'information : La responsabilité : assurer qu'une action peut être liée sans doute à son initiateur. De façon générale, la sécurité informatique peut être définie par l'ensemble des moyens matériels, logiciels et humains mis en œuvre pour minimiser les vulnérabilités d'un système d'information, et le protéger contre les menaces accidentelles ou intentionnelles, provenant de l’intérieur ou de l’extérieur de l'entreprise. La vulnérabilité est souvent définie comme une faille dans le système permettant la violation de la politique de sécurité. Une bonne politique de sécurité représente l’ensemble de règles qui fixent les actions autorisées et interdites dans le domaine de sécurité. Cette politique doit préserver les propriétés de sécurité citées ci-dessus. Du point de vue organisationnel, nous pouvons découper le domaine de la sécurité informatique de la façon suivante [Bac00]: La sécurité logicielle gère la sécurité au niveau logiciel du système d'information (par exemple : l’intégration des protections logicielles comme l’antivirus). La sécurité du personnel comprend la formation et la sensibilisation des personnes utilisant ou travaillant avec le système d'information. La sécurité physique regroupe : la politique d'accès aux bâtiments, la politique d'accès aux matériels informatiques, et les règles de sécurité pour la protection des équipements réseaux. La sécurité procédurale définit les procédures et les règles d'utilisation du système d'information. La sécurité réseau s’occupe de : l'architecture physique et logique du réseau, la politique d'accès aux différents services, la gestion des flux d'informations sur les réseaux, et surtout les points de contrôle et de surveillance du réseau. 4 Chapitre I : introduction à la sécurité informatique La veille technologique souvent oubliée permet d’évaluer la sécurité au cours du temps afin de maintenir un niveau suffisant de protection du système d'information. La préservation des propriétés de sécurité nécessite l'implémentation d’un certain nombre de services de sécurité. 2. Services et mécanismes de sécurité Le célèbre modèle en couches OSI (Open Systems Interconnection) est décrit dans la norme multi parties ISO 7498, intitulée “Interconnexion des Systèmes Ouverts - Modèle de référence de base”. Dans la partie intitulée “Architecture de sécurité” [Bsi00], se trouvent des définitions et des concepts de base de la sécurité. De façon générale, les mécanismes de sécurité permettent de mettre en œuvre des services de sécurité. Ces services peuvent être la confidentialité (des données ou du flux de données), l’authentification (d’une entité ou de l’origine des données), le contrôle d’accès, l’intégrité ou encore la non répudiation (avec preuve de l’origine ou preuve de la remise). Les mécanismes peuvent être le chiffrement, l’authentification, l’intégrité, la signature numérique, et d’autres encore. 2.1 Les services de sécurité Les principaux besoins de sécurité que peut avoir l’émetteur d’un message sont les suivants [Bsi00]: E1 : le message ne doit être connu que de son destinataire, E2 : le message doit parvenir au bon destinataire, E3 : le message reçu doit être identique au message émis, E4 : le destinataire ne doit pas pouvoir nier avoir reçu le message. Et les besoins du destinataire peuvent être : D1 : le message ne doit être connu que de lui (et de l’émetteur), D2 : l’émetteur du message doit être connu avec certitude, D3 : le message reçu doit être identique au message émis, D4 : l’émetteur ne doit pas pouvoir nier avoir émis le message. Les besoins E1 et D1 sont identiques. Ils sont satisfaits par la mise en œuvre d’un service de confidentialité, définie dans la norme 7498-2 comme la “propriété d’une information qui n’est ni disponible, ni divulguée aux personnes, entités ou processus non autorisés”. Les besoins E2 et D2 sont symétriques. Chaque entité doit s’assurer de l’identité de l’autre, ce qui implique de mettre en œuvre un service d’authentification, défini comme la “confirmation qu’une entité homologue d’une association est bien l’entité déclarée”, et même, 5 Chapitre I : introduction à la sécurité informatique dans le cas du destinataire, un service d’authentification de l’origine des données, ou “confirmation que la source des données est telle que déclarée”. Les besoins E3 et D3 sont identiques. L’égalité entre le message émis et le message transmis est assurée par un service d’intégrité (des données), qui est la “propriété assurant que des données n’ont pas été modifiées ou détruites de façon non autorisée”. Enfin, les besoins E4 et D4 sont symétriques. Le service correspondant est la non répudiation, qui empêche la répudiation, c’est-à-dire “le fait, pour une des entités impliquées dans la communication, de nier avoir participé aux échanges, totalement ou en partie”. Dans un cas il s’agira de non répudiation avec preuve de l’origine, dans l’autre de non répudiation avec preuve de la remise. A tout cela s’ajoute le service de contrôle d’accès, ou “précaution prise contre l’utilisation non autorisée d’une ressource”, et qui peut s’appliquer à divers types d’accès (utilisation de ressources de communication, lecture, écriture ou suppression d’une ressource d’information, exécution d’une ressource de traitement). Parfois, la simple observation du flux de données fournit de l’information à un ennemi. C’est ce qu’on appelle l’analyse de trafic, qui permet de détecter la présence, l’absence, la quantité, la direction, ou la fréquence de telles ou telles données, qu’elles soient compréhensibles ou non. On peut alors renforcer la confidentialité des données en assurant également la confidentialité du flux de données, c’est-à-dire un “service de confidentialité fournissant une protection contre l’analyse de trafic”. La confidentialité, tout comme l’intégrité, peut être sélective par champ, c’est-à-dire ne s’appliquer qu’à une partie des champs contenus dans le message transmis. 2.2 Les mécanismes de sécurité Les différents services de sécurité décrits précédemment sont mis en œuvre grâce à des mécanismes, dont la plupart sont de nature cryptographique. La cryptographie est la “discipline incluant les principes, moyens et méthodes de transformation des données, dans le but de cacher leur contenu, d’empêcher que leur modification passe inaperçue et/ou d’empêcher leur utilisation non autorisée” [Bsi00]. Afin d’assurer la confidentialité des données et/ou du flux de données, on fait appel à un mécanisme de chiffrement, qui est la “transformation cryptographique de données produisant un cryptogramme”, unité de données dont “le contenu sémantique n’est pas compréhensible”. L’opération inverse du chiffrement est le déchiffrement. Lorsqu’il est effectué de bout en bout, le chiffrement a lieu “à l’intérieur ou au niveau du système extrémité source, le 6 Chapitre I : introduction à la sécurité informatique déchiffrement correspondant ne se produisant qu’à l’intérieur, ou au niveau du système extrémité de destination”. S’il n’est effectué qu’à chaque liaison du système (dans quel cas les données sont en clair à l’intérieur des entités relais), il s’agit de chiffrement de liaison. La confidentialité du flux de données exige en outre un mécanisme de bourrage de trafic, consistant à produire des “instances de communications parasites, des unités de données parasites et/ou des données parasites dans des unités de données”. Cet échange continu de données, transportant ou non de l’information, permet d’éviter qu’un tiers ne sache quand deux entités sont entrées en communication. Le service d’authentification (d’entité homologue) est fourni par un mécanisme d’échange d’authentification, “destiné à garantir l’identité d’une entité par échange d’informations”. (Typiquement, cet échange est constitué d’un nombre choisi au hasard envoyé par l’entité qui souhaite authentifier l’autre, et d’une réponse de cette dernière obtenue en appliquant un mécanisme cryptographique à ce nombre et à un secret connu d’elle seule). L’authentification de l’origine des données peut être obtenue grâce à un mécanisme de signature numérique. Il s’agit de “données ajoutées à une unité de données permettant à un destinataire de prouver la source et l’intégrité de l’unité de données et protégeant contre la contrefaçon (par le destinataire, par exemple)”. Le même terme désigne aussi la transformation cryptographique qui produit ces données. Pour produire une signature, il faut une information privée, c’est-à-dire connue du seul signataire. Pour la vérifier, il suffit d’une information publique. Il doit cependant être matériellement impossible de déduire l’information privée de l’information publique correspondante. L’intégrité des données est assurée par un mécanisme du même nom. Un tel mécanisme peut consister à produire une valeur de contrôle cryptographique, à partir des données à protéger et d’un secret partagé par les entités en communication. Dans ce cas, la vérification par le destinataire consiste à recalculer cette valeur et à la comparer avec celle reçue. Si elles sont égales, il y a présomption d’intégrité. Mais on peut également utiliser un mécanisme de signature numérique qui, en plus de l’origine des données, garantit également leur intégrité. Par ailleurs, il peut être nécessaire de recourir en outre à des mécanismes visant à éviter le rejoue (répétition frauduleuse de tout ou partie des données), tels que la numérotation, l’horodatage ou le chaînage cryptographique des données. 7 Chapitre I : introduction à la sécurité informatique Pour obtenir le non répudiation avec preuve de l’origine, on peut utiliser un mécanisme de signature numérique. En effet, la caractéristique essentielle de ce mécanisme est que la signature ne peut être produite qu’en utilisant l’information privée du signataire. On peut donc, en vérifiant la signature, prouver à tout moment à une tierce partie (par exemple un juge ou un arbitre) que seul le détenteur unique de l’information privée peut avoir produit la signature. Il est cependant possible d’utiliser aussi des mécanismes de chiffrement ou d’intégrité. La non répudiation avec preuve de la remise peut aussi reposer sur un mécanisme de signature, produite cette fois par le destinataire du message. Les deux services de non répudiation, et plus particulièrement le second, peuvent aussi faire appel à un mécanisme de notariat. Ce mécanisme met en jeu une tierce partie, appelée notaire, qui garantit certaines propriétés relatives à des données communiquées entre deux ou plusieurs entités, telles que leur intégrité, leur origine, l’heure d’émission, etc. Le notaire s’interpose alors entre les entités communicantes. Les mécanismes de contrôle d’accès peuvent utiliser des éléments variés tels que l’identité authentifiée de l’entité, une information sur cette entité, une liste de droits d’accès, des “étiquettes” de sécurité spécifiant des niveaux de sensibilité, etc. La politique de contrôle d’accès choisie peut être de type discrétionnaire (l’utilisateur définit les droits d’accès aux informations dont il a la responsabilité) ou de type par mandat (l’autorisation d’accès dépend des droits du demandeur, du niveau de sensibilité des informations et d’attributs spécifiques). Le contrôle de routage permet d’acheminer l’information à travers des sous réseaux, liaisons ou relais considérés comme sûrs. Il peut, soit spécifier explicitement les chemins autorisés, soit tenir compte du niveau de sensibilité des informations dans le choix des chemins utilisés. 3. Terminologie de la sécurité informatique La sécurité informatique utilise un vocabulaire bien défini que nous utilisons dans cette thèse. Il est nécessaire de définir certains termes [Sec04]: • Les vulnérabilités : ce sont les failles de sécurité dans un ou plusieurs systèmes. Tout système vu dans sa globalité présente des vulnérabilités, qui peuvent être exploitables ou non. • Les attaques (exploits): elles représentent les moyens d'exploiter une vulnérabilité. Il peut y avoir plusieurs attaques pour une même vulnérabilité mais toutes les vulnérabilités ne sont pas exploitables. 8 Chapitre I : introduction à la sécurité informatique • les contre-mesures : ce sont les procédures ou techniques permettant de résoudre une vulnérabilité ou de contrer une attaque spécifique (auquel cas il peut exister d'autres attaques sur la même vulnérabilité). • Les menaces : ce sont des adversaires déterminés capables de monter une attaque exploitant une vulnérabilité. 3.1 Types d'attaques Les attaques peuvent à première vue être classées en deux grandes catégories : • Les attaques passives : consistent à écouter sans modifier les données ou le fonctionnement du réseau. Elles sont généralement indétectables mais une prévention est possible. • Les attaques actives : consistent à modifier des données ou des messages, à s'introduire dans des équipements réseaux ou à perturber le bon fonctionnement de ce réseau. Notons qu'une attaque active peut être exécutée sans la capacité d'écoute. De plus, il n'y a généralement pas de prévention possible pour ces attaques, bien qu'elles soient détectables (permettant ainsi une réponse adéquate). 3.2 Profils et capacités des attaquants Les attaquants peuvent être classés non seulement par leurs connaissances (débutant, expert, etc.) mais également suivant leur capacité d'attaques dans une situation bien définie. Ainsi, on dénombre les capacités suivantes [Sec04] : Transmission de messages sans capacité d'écoute (IP spoofing); Écoute et transmission de messages ; Écoute et perturbation des communications (blocage de paquets, DoS (Denial of Service) et DDoS (Distribute DoS)); Écoute, perturbation et transmissions de messages; Écoute et relais de messages (attaques type man-in-the-middle). Une autre caractéristique des attaquants est leur contrôle unidirectionnel ou bidirectionnel sur les communications, du fait de la nature asymétrique de celles-ci. En effet, la plupart des canaux de transmissions sur Internet ou sur tout autre réseau hétérogène sont unidirectionnels et empruntent des chemins différents suivant les règles de routage. Ainsi, de nombreux protocoles de sécurité sont également unidirectionnels et il faut établir plusieurs canaux pour permettre un échange en "duplex". Ces canaux qui sont au nombre de 2 minimums, sont la plupart du temps gérés de façon totalement indépendante par les protocoles de sécurité. C'est le cas pour SSL/TLS (Secure Socket Layer/Transport Layer Security) mais également pour IPSec 9 Chapitre I : introduction à la sécurité informatique (IP sécurisé) dont les associations de sécurité sont unidirectionnelles et indépendantes, chacune définissant son propre jeu de clés, algorithmes, etc. 4. Quelques possibilités en matière de sécurité réseaux Actuellement, toute une série d’outils et de techniques permettent à un administrateur de sécuriser facilement son réseau et les machines qui le composent. Chacune de ces techniques se base sur des principes fondamentalement différents, mais celles-ci ont un but commun : permettre une connexion entre Internet (réseau non sécurisé) et le réseau de l’entreprise concernée, en assurant la sécurité des équipements et des informations disponibles sur ce réseau, tout en tenant compte des contraintes de plus en plus présentes, telles que les interconnexions de réseaux, les besoins de « contacts électroniques » pour le personnel (mails, transferts de fichiers, accès Web, etc.), les systèmes d’informations complexes, et autres [Bac00]. Nous allons citer et expliquer brièvement quelques outils de sécurité courants, pour nous permettre par la suite de distinguer entre les systèmes de détection d’intrusions (IDSs), l’objectif de cette thèse, et les Firewalls, à cause de la confusion qui peut exister entre eux. 4.1 Les Firewalls Le mot Firewall (Pare-feu) signifie qu’on instaure une série de protections en un point particulier entre deux entités connectées, en l’occurrence entre Internet et le réseau interne d’une entreprise. En pratique, le Firewall consiste en une architecture, plutôt qu’un matériel ou un logiciel précis. Cette architecture intègre alors une série de composants matériels et logiciels, qui tentent précisément d’assurer le niveau de sécurité requis. [Dav06] L’architecture la plus utilisée actuellement est basée sur une « Zone démilitarisée », communément appelée DMZ (Demilitarized Zone). Elle consiste à placer un réseau intermédiaire entre l’accès Internet et le réseau interne (éventuellement plusieurs). Cette DMZ sera isolée, aussi bien vis-à-vis de l’Internet que du réseau local, par des systèmes de filtrage (filtres de paquets entrant et sortant). Ensuite, les éventuels serveurs nécessaires à l’entreprise devant continuer à être accessibles de l’extérieur seront connectés directement sur cette DMZ, de manière à les séparer du réseau interne. Par exemple, on pourra y trouver un serveur Web, un serveur DNS (Domain Name Service), un serveur de mails, un serveur FTP (File Transfer Protocol), etc. Dans le cas où l’un de ces serveurs serait compromis, le filtrage entre la DMZ et le réseau interne doit être capable d’assurer une protection suffisante au réseau interne. 10 Chapitre I : introduction à la sécurité informatique Bien évidement, cette architecture doit être adaptée plus précisément à la structure d’une entreprise précise, et éventuellement intégrer des composants supplémentaires, tels que des Proxys (machine intermédiaire entre les ordinateurs d'un réseau local et le Web) et autres dispositifs. 4.2 Les filtres de paquets Un filtre de paquet, tout comme son nom l’indique, permet de filtrer les paquets circulant sur un réseau. Plus précisément, on peut même dire que le filtrage s’effectue sur les paquets traversant une interface réseau. Celui-ci fonctionne en analysant le contenu de ces paquets, principalement en observant les valeurs de certains champs des en-têtes des protocoles IP (Internet Protocol), ICMP (Internet Control Message Protocol), UDP (User Datagramme Protocol) et TCP (Transmission Control Protocol). Cela permet par exemple d’interdire des paquets provenant d’une source précise, étant destinés à une destination précise, des paquets réceptionnés sur une interface précise, des paquets avec des ports sources ou cibles précis, d’intégrer des contraintes d’heures éventuelles d’après l’horaire d’une entreprise, etc. [Dav06] Au niveau de la configuration, on fait établir une série de règles de filtrage qui reflète la politique de sécurité de l’entreprise. Les paquets ne satisfaisant pas aux règles de filtrage seront alors bloqués (supprimés), et peuvent entraîner éventuellement la génération d’un message d’erreur (via un protocole comme ICMP). 4.3 Les scanners et les outils relatifs à la sécurité Etant donné que les hackers (pirates informatique) trouvent de plus en plus les outils nécessaires à la réalisation de leurs attaques, les entreprises travaillant dans le domaine de la sécurité ont petit à petit commencé à proposer leurs propres outils de vérification de vulnérabilités. C’est ainsi qu’on commence à avoir apparaître toute une série de scanners, qui offrent de nombreuses possibilités. Il est primordial à l’heure actuelle d’effectuer de nombreux tests de sécurité réguliers, car ces tests permettent de mettre en avance des modifications dans l’architecture et dans la configuration du réseau et des machines qui le composent. Ces outils sont décomposés en toute une série de catégories, dont notamment : [Dav06] Les scanners de vulnérabilités. Les scanners orientés réseaux. Les scanners orientés hosts (machines). Les sniffers. Les vérificateurs de mots de passe. 11 Chapitre I : introduction à la sécurité informatique 4.4 Les systèmes de détection d’intrusions Un IDS a pour fonction d'analyser en temps réel ou différé les évènements en provenance des différents systèmes à travers le réseau, de détecter et de prévenir les attaques. Les IDS ont donc un rôle d’alarme (la comparaison avec une alarme anti-vol placée dans le hall d’une maison, qui détecte des mouvements ou des ouvertures de portes, correspond d’ailleurs assez bien). Les buts sont nombreux : • Collecter des informations sur les intrusions. • Gestion centralisée des alertes. • Effectuer un premier diagnostic sur la nature de l'attaque permettant une réponse rapide et efficace. • Réagir activement à l'attaque pour la ralentir ou la stopper. 5. Conclusion Bien que le domaine de la sécurité informatique soit très vaste, et qu’il est difficile de le cerner par une définition, la sécurité peut être considérée par le niveau de confiance donné à la confidentialité, l’intégrité et la disponibilité de l’information. La préservation de ces propriétés nécessite la mise en place des services de sécurité qui seront implémentés par des mécanismes de sécurité. Ces services peuvent être la confidentialité (des données ou du flux de données),l’authentification (d’une entité ou de l’origine des données), le contrôle d’accès, l’intégrité ou encore la non répudiation (avec preuve de l’origine ou preuve de la remise). Les mécanismes peuvent être le chiffrement, l’authentification, l’intégrité, la signature numérique ...etc. Dans cette thèse on s’intéresse au mécanisme de contrôle d’accès, et plus précisément à la surveillance du flux de données. Cette fonction est assurée par les systèmes de détection d’intrusion. Ils analysent en temps réel ou différé les évènements en provenance des différents systèmes à travers le réseau, détectent, préviennent les attaques et éventuellement prennent des contre-mesures. Enfin, il faut noter que la sécurité ne peut être assurée à cent pour cent, et que les outils ne sont pas parfaits. Ils possèdent toujours des failles. Cependant, avec une bonne politique de sécurité, et un bon déploiement des outils, la sécurité peut être très proche des niveaux acceptés. 12 Chapitre II : détection d’intrusion Chapitre II : Détection des intrusions Dans ce chapitre : 1. Introduction. 2. Intrusions informatiques. 3. Systèmes de détection d’intrusions. 4. Classification des systèmes de détection d'intrusion 5. L’analyse basée connaissance versus l’analyse comportementale 6. Les IDS Bases Hôtes Versus Les IDS Bases Réseau 7. les architectures d’implémentation des IDS 8. Une vue générale de quelques systèmes de détection d’intrusions existants 9. Emplacement de l’IDS 10. Evaluation de l’IDS 11. Conclusion 13 Chapitre II : détection d’intrusion 1. Introduction De nos jours l’outil informatique est omni présent dans notre vie quotidienne. Que ce soit pour l’achat d’articles, faire des transactions bancaires, l’envoi de courrier ou encore la réservation de places de cinéma, nous dépendons énormément de cette technologie et nous ne pouvons plus nous en passer. L’arrivée d’Internet est définie comme l’âge d’or de l’informatique. Avec l’interconnexion des réseaux, la rapidité de diffusion et d’acquisition de l’information, Internet a révolutionné notre vie. Comme toute innovation ou nouvelle technologie, Internet peut avoir des conséquences regrettables en cas de mauvaise utilisation. De nouveaux genres d’espionnage industriel, guerre inter-nations ou abus ont vu le jour. 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, la percée des secrets personnels et cela peut aller jusqu'à la destruction d’informations vitales. 2. Intrusions informatiques Avec l’arrivée d’internet, de nouveaux marchés ont vu le jour et de nouvelles perspectives sont apparues. La plupart des opportunités sont dans le domaine commercial, où les entreprises peuvent exposer leurs produits et services au monde entier grâce à des sites web. Des transactions avec des sommes colossales sont effectuées chaque jour, ce qui expose les entreprises à différentes menaces. Autrefois, 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é. [Col01] Le plus grave est que plusieurs entreprises courent des risques sans le savoir, 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. 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. [Gan00]. Différentes techniques ont été mises en place par des communautés des pirates informatiques. Chacune d’entre elles touche un certain aspect de l’outil informatique. Nous pouvons catégoriser les différentes techniques de piratage informatique en deux classes [Gan00] : 14 Chapitre II : détection d’intrusion Attaques réseaux : Cette classe d’attaques, regroupe l’ensemble des techniques mises au point, permettant d’exploiter les faiblesses des réseaux ou bien les attaques qui ciblent des composants réseau. Attaques applicatives: Cette deuxième catégorie contient les techniques basées sur les faiblesses et les bugs des applications, permettant ainsi d’exploiter ces dernières pour des fins malveillantes. 2.1 Types de pirates informatiques Les pirates informatiques se sont organisés en communautés et selon leur appartenance, leurs objectifs diffèrent ainsi que leurs manières de procéder. Deux grandes catégories se sont distinguées Hackers : ce sont d’excellents développeurs, spécialistes des réseaux. Ils existent depuis longtemps. Dés l’apparition de l’informatique et avec les premiers mini-ordinateurs, ils ont contribué à faire de l’informatique ce qu’elle est aujourd’hui. Certains d’entre eux ont participé au développement d’Unix, d’autres ont créé Internet. [Ray01]. Les hackers partagent librement l’information et ne causent jamais la perte ou la destruction d’informations. [Sms00] Crackers : Les crackers quant à eux sont dangereux et peuvent causer des dégâts. Si les hackers s’intéressent à découvrir les failles et les bugs, les crackers les utilisent pour des fins destructives. Ils contournent les protections par mots de passe, utilisent des techniques de brute force, effacent des données, déstabilisent et mettent hors d’usage des systèmes …etc. [CAS00a]. La différence fondamentale entre hackers et crackers est que les hackers construisent les choses, les crackers (pirates) les démolissent. [RAY01] 2.2 Différentes phases d’une attaque Quelque soit les attaques menées, elles ont toutes la même démarche [COL01]. Une attaque est constituée de ce qui est connu sous le nom des « 5 P », 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. Cette collecte est facilitée par des outils tel que Whois, DNS Lookup, Un scan des ports ou encore un scanner de vulnérabilités. - Penetrate : C’est la phase de pénétration, en utilisant les informations collectées. 15 Chapitre II : détection d’intrusion - Persist : Une fois l’attaque réussie, et le système pénétré, l’attaquant tente de garder un contrôle sur le système. Il crée ainsi un compte avec des droits d’administrateur, ou installe une porte dérobée (Cheval de trois). - Propagate : L’attaquant vérifie s’il y’a d’éventuelles cibles à partir du réseau local, si l’attaque peu être propagée sur d’autres machines. - Paralyze : A la fin de son attaque, l’attaquant peut utiliser la victime pour mener d’autres attaques ou détruire des informations vitales, ou carrément mettre hors d’usage le système. 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, des quantités énormes d’informations confidentielles et de secrets industriels ont été volés. Ce problème est devenu très sérieux. Les infrastructures informatiques gouvernementales et nationales sont les cibles préférées des pirates. Ensuite, les organisations commerciales, les banques et en derniers lieu les simples utilisateurs [ALL00]. 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. - 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 le site de la maison blanche a été mis hors service. - 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 7 octobre 1999 : Une attaque réussie contre la NASA, une attaque très massive et très discrète, les attaquants ont pris une très grande quantité d’informations (des listes de fichiers des répertoires personnels… etc.). Les attaquants ont installé des backdoors, pour pouvoir se reconnecter plus tard. les backdoors ont été découvert bien après l’attaque…etc Nous remarquons que dans un laps de temps très réduit, un grand nombre d'attaques ont eu lieu touchants les plus grandes institutions gouvernementales qui sont supposées être sécurisées. Nous pouvons donc imaginer les dégâts causes sur des systèmes moins importants. Le passage à l'an 2000 a coute très chère aux sociétés de l'information d'après le rapport publie par 16 Chapitre II : détection d’intrusion CSI (Computer Security Institute). La figure suivante FIG 1.1 montre les pertes causées par le piratage informatique. Nous pouvons voir clairement sur la figure que durant les deux années qui ont suivi l'an 2000, une grande activité des pirates a été constatée, et par conséquent, le total des pertes s'est vu augmenter d'une manière très remarquable. FIG II.1 Rapport de CSI des pertes causées par le piratage informatique en millier de dollars. [CSI08] Différentes attaques sont derrières toutes ces pertes, que ce soit des attaques de virus, des attaques par déni de service ou des détournements de sessions, nous retrouvons sur la figure FIG 1.2 les différentes techniques de piratage citées plus haut présentent avec pour chacune le taux de perte cause. FIG II.2 Pourcentage des différents types de piratage informatique selon les dégâts causés [BSA02]. 17 Chapitre II : détection d’intrusion 2.3 Contre-mesures Bien évidemment, face à de telles menaces, les informaticiens et surtout les développeurs ont réagi, en créant des mécanismes de protection, garantissant ainsi un certain niveau de sécurité. [COL01] Voici les contres mesures les plus connues : - Pares feu - Antivirus - Scanners de vulnérabilités - Patchs - Systèmes de leurre Malgré l’existence de différents mécanismes de protection (pare feu, antivirus, scanner de vulnérabilités), chaque système de protection peut présenter une menace particulière pour les systèmes d’informations, car chacun d’entre eux à ses points faibles. D’autres méthodes et mécanismes existent tels que les systèmes de détections d’intrusions (Intrusion Detection System). 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. 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 parefeu et prennent des décisions si le trafic observé est suspect. 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, qui peuvent prendre des mesures pour éviter d’éventuels dégâts. 3. Systèmes de détection d’intrusions 3.1 Introduction 3.1.1 C’est quoi la détection d’intrusion ? La détection d'intrusion est le processus qui consiste à surveiller les évènements se produisant dans un ordinateur ou dans un réseau informatique, et de les analyser pour découvrir des signes d’intrusions, définies comme des tentatives de compromission de la confidentialité, l’intégrité, la disponibilité et la responsabilité, ou pour dévier des mécanismes de sécurité [Bac00, Bsi00, Ubi00]. 18 Chapitre II : détection d’intrusion Les intrusions sont provoquées par : l'accès d'attaquants externes aux systèmes via des réseaux ouverts comme Internet, des utilisateurs autorisés qui essayent de gagner des privilèges additionnels pour lesquels ils ne sont pas autorisés, ou des utilisateurs autorisés qui abusent de leurs privilèges [Bac00]. Les systèmes de détection d'intrusions (IDS : Intrusion Detection System) sont les systèmes logiciels ou matériels qui automatisent cette tâche de surveillance et d'analyse [Bac00]. Debar [Deb00] simplifie le système de détection d’intrusion dans un détecteur qui analyse les informations en provenance du système surveillé (voir la figure Fig.II.3). BDD Configuration Système de détection d’intrusion Détecteur Module Attaque – réponse Action Audit de sécurité et le contrôle Système Fig. II.3 Modèle simplifié d’un système de détection d’intrusions [Deb00] Un système de détection d'intrusions à un niveau très macroscopique [Deb00]peut être décrit comme un détecteur. Ce détecteur est un moteur d’analyse qui reçoit des données de trois sortes de ressources (Fig. II.3). L’analyse de ces données génère une décision d’évaluation de la probabilité que ces actions peuvent être considérées comme des symptômes d’intrusions. Ces données sont : Des informations de configuration relatives à l’état actuel du système. Des informations à long terme relatives à la technique utilisée pour détecter les intrusions par exemple une base de connaissances d’attaques. 19 Chapitre II : détection d’intrusion Des informations venant du système à protéger qui sont les informations d’audit décrivant les événements qui apparaissent dans le système. 3.1.2 Efficacité des systèmes de détection d’intrusions Philip dans [Phi98] définit trois critères pour évaluer l’efficacité des systèmes de détection d'intrusion : L'exactitude (accuracy) : on parle de l’exactitude quand le système de détection d’intrusion déclare comme malicieux une activité légale. Ce critère correspond au faux positif. La performance (performance) : la performance de système de détection d’intrusion est le taux de traitement des évènements. Si ce taux est faible, la détection en temps réel est donc impossible. La complétude (completeness) : on parle de la complétude quand le système de détection d’intrusion rate la détection d’une attaque. Ce critère est le plus difficile, parce que il est impossible d’avoir une connaissance globale sur les attaques. Ce critère correspond au vrai négatif. Debar dans [Deb00] a rajouté également les deux critères suivants : La tolérance aux fautes (Fault tolerance) : le système de détection d’intrusion doit luimême résisté aux attaques, particulièrement au déni de service. Ceci est important, parce que plusieurs systèmes de détection d’intrusion s’exécutent sur des matériels ou logiciels connus comme vulnérables aux attaques. La réaction à temps (Timeliness) : le système de détection d’intrusion doit s’exécuter et propager les résultats de l’analyse le plus tôt possible, pour permettre à l’officier de sécurité de réagir avant que des graves dommages n’aient lieu. Ceci implique plus qu’un calcul de performance, parce qu’il ne s’agit pas seulement de temps de traitement des évènements, mais aussi le temps nécessaire pour la propagation et la réaction à cet évènement. 3.1.3 Que doit assurer la détection d'intrusion? La détection d’intrusion permet aux organisations de protéger leurs systèmes contre les menaces qui ne cessent de croître à cause de l'augmentation de la connectivité du réseau public (Internet), et la confiance accordée aux systèmes informatiques qui comportent des bugs. 20 Chapitre II : détection d’intrusion La question pour les professionnels de sécurité ne devraient pas être s’il faut utiliser la détection d'intrusion, mais quels dispositifs utiliser et quelles sont leur capacité de détection d’intrusion. Les systèmes de détection d’intrusion ont gagné l'acceptation d’être un élément nécessaire dans l'infrastructure de la sécurité informatique de chaque organisation. En effet, il y a plusieurs raisons pour acquérir et utiliser les systèmes de détection d’intrusion : Pour détecter les attaques et autres violations de sécurité qui ne sont pas empêchées par d’autres outils de sécurité. Pour documenter les menaces existantes dans une organisation, c'est-à-dire découvrir les vulnérabilités avant qu’elles ne soient exploitées par un attaquant. Pour agir en tant que contrôle de qualité pour la conception de sécurité, particulièrement dans les grandes et complexes entreprises. Pour fournir des informations utiles au sujet des intrusions qui ont eu lieu, et faire des diagnostics, recouvrement, et corrections des facteurs causatifs. Pour arrêter les intrusions afin de limiter les dégâts. Malheureusement cela n’est pas toujours possible à cause de la complexité et la diversité des intrusions, et la naissance de nouveaux types d’intrusions liées au développement des nouvelles technologies d’information. Les contre-mesures actives sont souvent optionnelles dans la quasi-totalité des systèmes de détection d’intrusion. 3.2 Modèle de processus de la détection d’intrusion La majorité des systèmes de détection d’intrusion peuvent être décrits en terme de trois composants fonctionnels fondamentaux [lAB06] : La source d’informations (sonde) : Les différentes sources des évènements utilisées pour déterminer les intrusions qui ont eu lieu. Ces sources peuvent être fournies par les différents niveaux du système d’information : les réseaux, les hôtes, et les applications. L'analyse : La partie du système de détection d'intrusions qui réellement organise et donne un sens aux évènements dérivés des sources d'informations, décidant quand ces évènements indiquent que des intrusions se produisent ou ont déjà eu lieu. Les principales approches communes d'analyse sont : détection d’abus (The misuse detection) ou encore dite approche par scénarios et détection d’anomalie (Anomaly detection) ou encore dite approche comportementale qui seront expliquées par la suite. La réponse : L’ensemble de contre-mesures que le système prend une fois qu’il détecte des intrusions. Celles-ci sont typiquement groupées dans des mesures actives et passives, 21 Chapitre II : détection d’intrusion les mesures actives comportent une certaine interposition automatisée de la part du système, alors que les mesures passives rapportent des résultats issus de l’analyse aux responsables, qui sont alors prévenus pour agir et prendre une action basée sur ces rapports. 4. Classification des systèmes de détection d'intrusion Le domaine de la détection d'intrusions est encore jeune mais en plein développement. Nous dénombrons à l'heure actuelle environ une centaine de systèmes de détection d'intrusions, que ce soit des produits commerciaux ou du domaine public [Bac00]. Il est donc devenu très utile d'utiliser des critères pour classifier ces systèmes de détection d’intrusion, c'est ce que nous allons présenter dans cette section. La méthode de détection L’approche comportementale L’approche basée connaissance Actif Comportement après détection Passif Système de sy détection d’intrusion Audit système Source des données Audit Applicatif Paquets du réseau Fréquence d’utilisation Surveillance continue Analyse périodique Fig. II.4 Taxonomie des systèmes de détection d’intrusion [Deb00] 22 Chapitre II : détection d’intrusion Il existe plusieurs critères qu'on peut utiliser pour classifier les différents systèmes de détection d'intrusion, dont les principaux sont résumés dans la figure Fig. II.3 [Deb00]. 4.1 La méthode de détection La détection d’intrusions repose sur deux approches de base : L’approche comportementale. L’approche basée connaissance. 4.1.1 L’approche comportementale Cette approche est connue aussi par l’approche de détection d’anomalies. Elle consiste à définir un profil de l’activité normale d’un utilisateur et à considérer les déviations significatives de l’activité d’utilisateur courante par rapport aux profils de comportement normaux comme anomalie.. 4.1.2 L’approche basée connaissance Cette approche définit des signatures soupçonneuses basées sur les vulnérabilités connues de système et la politique de sécurité. Une intrusion est signalée lorsque la trace d’une attaque connue est présente dans les traces d'audit. Ces deux méthodes d’analyse constituent la partie importante des systèmes de détection d’intrusions. Pour cette raison, elles seront détaillées dans les sections suivantes. 4.2 Le comportement après la détection d’intrusions Le comportement d’un IDS après la détection d’une intrusion est l’ensemble des actions prises par le système lorsqu’il détecte une attaque. Ces réponses peuvent être actives ou bien passives. 4.2.1 Réponse active La réponse active implique des actions automatisées prises par un IDS quand le système détecte une intrusion. Par exemple interrompre le progrès d’une attaque pour bloquer ensuite l'accès suivant de l'attaquant. 4.2.2 Réponse passive Dans ce cas, quand une attaque est détectée, le système de détection d’intrusions ne prend aucune action. Il génère seulement une alarme pour notifier l’administrateur de système qui 23 Chapitre II : détection d’intrusion va prendre des mesures en se basant sur les rapports générés par le système de détection d’intrusions. 4.3 La nature des données analysées Les systèmes de détection d’intrusions sont classés en fonction de l’origine des données qui seront exploitées pour détecter des actions intrusives. La source de données utilisée est une caractéristique essentielle pour classer les systèmes de détection d’intrusions. On distingue trois catégories de sources d‘informations : Les audits systèmes. Les audits applicatifs. Le trafic réseau. 4.3.1 Les audits systèmes Les audits systèmes sont produits par le système d’exploitation d’un hôte. Ces données permettent à un IDS de contrôler les activités d’un utilisateur sur un hôte. Elles peuvent être également de plusieurs types, par exemple : Historique des commandes systèmes : tous les systèmes d’exploitation possèdent des commandes pour obtenir des informations instantanées sur les processus actifs courants dans un ordinateur. Grâce à ces commandes, l’IDS peut avoir des informations précises sur les événements systèmes. Accounting : l’accounting fournit des informations sur l’usage des ressources partagées par les utilisateurs. Ces ressources sont par exemple : le temps processeur, la mémoire, L’espace disque, les applications lancées, etc. Systèmes d’audit de sécurité : les systèmes d’exploitation sont dotés par ce service pour définir des événements, les associer à des utilisateurs et assurer leurs collectes dans un fichier d’audit. L’IDS possède potentiellement des informations sur toutes les actions effectuées par un utilisateur. L’avantage de ces données systèmes réside dans leur fiabilité et leur granularité fine, qui permettent un diagnostic précis des actions effectuées sur un hôte par un attaquant. Cependant, le volume d’événements généré par les audits systèmes est très volumineux ce qui implique un impact très important sur les performances de la machine surveillée. Les IDS qui se basent sur cette catégorie des sources de données sont appelés : Les IDS basés hôte « Host Based Intrusion Detection System ». 24 Chapitre II : détection d’intrusion 4.3.2 Les sources d’informations réseau Ce sont des données du trafic réseau. Cette source d ’informations est prometteuse car elle permet de collecter et analyser les paquets de données circulant sur le réseau. Les IDS qui exploitent ces sources de données sont appelés : Les IDS basés réseau « Network Based Intrusion Detection System ». 4.3.3 Les audits applicatifs La troisième catégorie de source de données est constituée des audits applicatifs. Les données à analyser sont produites directement par une application, par exemple des fichiers logs générés par les serveurs ftp et les serveurs Web. L’avantage de cette catégorie est que les données produites sont très synthétiques, elles sont sémantiquement riches et leur volume est modéré. On note que ces types d’informations sont généralement intégrés dans les IDS basés hôte. Vu de l’importance des IDS basés hôte et basés réseau, une étude détaillée de ces deux types d’IDS sera exhibée dans les prochaines sections. 4.4 La fréquence d’utilisation La fréquence d’utilisation d’un système de détection d’intrusions peut exister selon deux formes : 4.4.1 Surveillance périodique Ce type de système de détection d’intrusions analyse périodiquement les différentes sources de données à la recherche d’une éventuelle intrusion ou une anomalie passée. 4.4.2 Surveillance en temps réel Les systèmes de détection d’intrusions en temps réel fonctionnent sur le traitement et l’analyse continue des informations produites par les différentes sources de données. La détection d’intrusions en temps réel permet de limiter les dégâts produits par une attaque car elle permet de prendre des mesures qui réduisent le progrès de l'attaque détectée. 5. L’analyse basée connaissance versus l’analyse comportementale Comme nous l’avons vu dans la section précédente, il existe deux approches pour détecter les intrusions dans les systèmes informatiques [Deb00][NIS01][SUN 96]. L’approche basée 25 Chapitre II : détection d’intrusion connaissance qui se base sur la définition d’un modèle constitué des actions interdites dans les systèmes informatiques et l’approche comportementale qui est basée sur la définition d’un modèle constitué des actions autorisées. 5.1 L’analyse basée connaissance Cette approche de détection est désignée en anglais par le terme « Misuse Detection », qui signifie dans la littérature la détection d ’une mauvaise utilisation, et il existe plusieurs traductions françaises adoptées pour cette approche, par exemple l’approche par signatures ou par scénarios. Elle est caractérisée par l’existence d’une base de connaissances qui comporte des modèles d’attaque connus a priori qui sont appelés les signatures. Elle examine les activités du système et du réseau en cherchant des événements ou l’ensemble des événements qui décrivent une attaque connue. Ainsi, dans cette approche, tous ce qui n’est pas explicitement interdit est autorisé. Cette approche possède un certain nombre d’avantages et d’inconvénients. [ZAM05] [NIS01] 5.1.1 Les avantages de l’analyse basée connaissance L’analyse basée connaissance est très efficace pour la détection d'attaque avec un taux très bas des alarmes de type positif faux. Les alarmes générées sont significatives. 5.1.2 Les inconvénients de l’analyse basée connaissance Cette analyse basée connaissance permet seulement la détection des attaques qui sont connues au préalable. Donc, la base de connaissances doit être constamment mise à jour avec les signatures de nouvelles attaques. Le risque que l’attaquant peut influencer sur la détection après la reconnaissance des signatures. 5.2 L’analyse comportementale Dans l’analyse comportementale, un modèle de comportement normal du système surveillé est préalablement construit. Ce modèle est appelé profil de comportement normal qui sera utilisé comme une référence dans la détection. Au cours de la surveillance du système, toute déviation significative du comportement courant de système contrôlé par rapport au comportement normal de référence donne lieu à une attaque. Cette approche possède aussi un certain nombre d’avantages et d’inconvénients [ZAM05] [NIS01] 26 Chapitre II : détection d’intrusion 5.2.1 Les avantages de l’analyse comportementale L’analyse comportementale n’exige pas des connaissances préalables sur les attaques. Elle permet la détection de la mauvaise utilisation des privilèges. Elle permet de produire des informations qui peuvent être employées pour définir des signatures pour l’analyse basée connaissance. 5.2.2 Les inconvénients de l’analyse comportementale Les approches comportementales produisent un taux élevé des alarmes de type positif faux en raison des comportements imprévisibles d'utilisateurs et des réseaux. Ces approches nécessitent des phases d’apprentissage pour caractériser les profils de comportement normaux. Les alarmes générées par cette approche ne sont pas significatives. Cette étude comparative entre les deux approches d ’analyses utilisées par les systèmes de détection d’intrusions montre l’existence d’une complétude entre ces deux méthodes. Cette complétude qui permettra de surmonter les inconvénients relatifs à chaque méthode d’analyse. Pour cette raison, il est préférable d’adopter les deux techniques d ’une manière parallèle pour obtenir un système de détection d ’intrusions efficace [KIM02] Cependant, les systèmes de détection d’intrusions commerciaux disponibles emploient seulement la technique basée signature, ce qui motive les efforts de recherche croissants pour construire des détecteurs d'anomalies efficaces pour des buts de détection d' intrusions. L'effort principal de cette recherche est concentré sur les systèmes de détection d’intrusions qui sont basés sur la technique comportementale. Pour cette raison, nous présenterons dans la section suivante les différentes approches utilisées dans la méthode de détection comportementale. 5.3 Les techniques utilisées dans l’approche comportementale Un système de détection d’intrusions basé sur la détection d’anomalies contrôle les activités du système afin de les classer comme normales ou anomalies. Il procède à construire des profils d'un comportement normal pour les activités des utilisateurs et à observer les déviations significatives de l'activité de l’utilisateur courante par rapport à la forme normale établie. D’une façon générale, la détection d’anomalies est composée de deux phases : • Une phase d'apprentissage : le système apprend le comportement normal d'un utilisateur ou un système. Il crée ainsi « le profil normal » d'un utilisateur ou d’un système à partir des données collectées. 27 Chapitre II : détection d’intrusion • Une phase de détection : le système compare les traces d'audit courantes ou le trafic réseau aux profils pour vérifier s'il n'y a pas une activité intrusive. Si la différence entre le profil et les traces d'audit est significative, une alarme est déclenchée. Pour pouvoir formaliser le comportement normal d’un système, des approches diverses ont été utilisées [Deb00] [SUN 96][KIM02] . Cette section sera consacrée à une présentation générale de ces différentes approches. 5.3.1 L’approche statistique L'approche statistique est utilisée pour la génération d'un modèle de comportement normal d’un système. Elle consiste à générer le profil de comportement normal à partir d ’un ensemble de variables aléatoires, échantillonnées à des intervalles réguliers dans le temps, ces variables peuvent être par exemple : - Le temps CPU utilisé. - Le nombre de connexions établi durant une période de temps. - Les fichiers les plus fréquemment utilisés. - Les entrées/sorties effectuées. - Etc. Dans cette approche, Denning [DEN87] a proposé un ensemble de modèles statistiques, leur but est de définir à partir de n observations X1, X2,….Xn sur une variable donnée x, si la valeur Xn+1 de l’observation n+1 est anormale. Parmi ces modèles, on peut citer les modèles suivants : Le modèle opérationnel : ce modèle est très simple, une anomalie est détectée par la comparaison de la valeur d’une nouvelle observation avec un seuil fixe qui est défini d’une manière intuitive en se basant sur les données historiques. Le modèle de déviation standard et moyen : Ce modèle définit un seuil d’anomalie par l’estimation d’un intervalle de confiance. L’intervalle de confiance est la moyenne et l'écart type des n observations qui peuvent être considérées normales. Si la valeur d’une nouvelle observation est en dehors de cet intervalle alors elle est considérée anormale. Le modèle de covariances : Il est similaire au modèle précédent mais il se base sur la corrélation de plusieurs variables pour tirer des conclusions. Ces approches ont été adoptées dans le développement de plusieurs systèmes de détection d’intrusions, on peut citer par exemple : 28 Chapitre II : détection d’intrusion MIDAS « Multics Intrusion Detection and Alerting System » [MYK94]. NIDES « Next Generation Real time Intrusion Detection Expert System » [JAC94] 5.3.2 L’approche de la machine learning Le but principal de l’utilisation de la machine learning est l’extraction automatique des caractéristiques des activités normales qui sont critiques pour la détection d'anomalies. A partir des données d’audit, le modèle de la machine learning essaye d'identifier des règles pour définir les comportements normaux. Ces règles seront employées pour déterminer si des événements nouvellement observés sont anormaux ou non. Parmi les travaux qui sont basés sur cette approche, le système de détection d ’intrusions basé règle TIM « Time based Inductive Machine » [TEN90] proposé par Teng et son groupe. TIM génère des règles qui essayent de prédire les événements futurs en se basant sur des événements qui se sont déjà produits dans le passé. Durant la phase d'apprentissage, cette approche détermine des règles temporelles qui caractérisent le comportement normal des utilisateurs. Les règles ont par exemple la forme suivante : E1 E2 E3 (E4 = 95%, E5 = 5%) où E1, E2,… E5 sont des événements. Cette règle signifie que la séquence d’évènements observée E1 E2 E3 implique ensuite l’occurrence de l’évènement E4 avec une probabilité de 95% ou l’occurrence de l’évènement E5 avec une probabilité de 5%. Durant la phase de détection, les règles possédant des parties gauches qui correspondent à la séquence d'événements observée seront sélectionnées et l ’évènement prédit de cette règle sera comparé avec le dernier évènement qui apparaît dans la séquence d ’évènements observée. Si cet évènement dévie d’une manière significative de ceux prédits dans la règle, alors TIM alerte l’officier de sécurité. 5.3.3 L’approche de réseaux de neurones Les réseaux de neurones sont utilisés dans la détection d’anomalies afin d’exploiter leurs capacités d’apprentissage. L’idée de base est d’utiliser les mécanismes d’apprentissage des réseaux de neurones pour apprendre les profils de comportements normaux des utilisateurs ou d’un système. 29 Chapitre II : détection d’intrusion Plusieurs travaux ont été élaborés qui ont essayé d’abord d’apprendre à un réseau de neurones le comportement normal d’un système pour qu’il puisse par la suite de décider si un ensemble d’action est normal ou suspect. Parmi ces travaux, nous citons le travail de Debar [Deb93] qui a proposé l’utilisation des réseaux de neurones pour construire un modèle du comportement des utilisateurs du système informatique. Le travail proposé s’intéresse à l’aspect dynamique du comportement et à sa présentation sous des séries d’actions temporelles. 5.3.4 L’approche de datamining Le but de cette approche est l’exploitation des techniques de datamining pour extraire des anomalies à partir des grandes quantités de données du trafic réseau. Parmi les travaux existants, on peut citer ADAM « Audit Data Analysis and Mining » [LIY00] qui est un système de détection d’intrusions qui exploite des techniques de datamining pour construire des profils du trafic réseau normaux. ADAM utilise les règles d’association pour construire des profils du trafic de réseau normaux qui seront employées par la suite pour détecter les comportements incorrects de trafic de réseau. Pour détecter des anomalies, ADAM extrait les règles d ’association à partir des données du trafic réseau et qui seront comparées aux profils du réseau. Si n'importe quelle règle d'association produite à partir des données de trafic de réseau rassemblées n'est pas incluse dans les profils, alors cette règle est considérée comme une indication d’un comportement incorrect. 5.3.5 L’approche immunologique Vu que la détection d’anomalies est une application directe de la métaphore immunitaire, plusieurs travaux tentent de calquer la manière dont le système immunitaire naturel procède pour la distinction entre le comportement normal et le comportement suspect afin de construire des systèmes de détection d’intrusions efficaces. Parmi ces travaux nous citons le système LYSIS [STE99], [HOF00] qui a intégré des différentes propriétés et mécanismes inspirés par le système immunitaire humain. Il se base principalement sur l’algorithme de la sélection négative proposé par Forrest [FOR94]. Dans ce travail, une population de détecteurs est générée aléatoirement, puis en se basant sur les modèles de comportement normaux des utilisateurs, les détecteurs qui identifient ces modèles seront éliminés, en d’autre terme élimination des détecteurs qui détectent le soi. La population des détecteurs restants procède à contrôler les opérations effectuées dans le système de telle sorte que s’il y a une correspondance entre un détecteur et l’opération courante dans le système alors cette opération est considérée litigieux ou anormal. 30 Chapitre II : détection d’intrusion 6. Les IDS Bases Hôtes Versus Les IDS Bases Réseau En raison des multiples possibilités d’attaques des systèmes informatiques et les réseaux. Il existe différents types de systèmes de détection d’intrusions [Deb00], [NIS 01], [AIC04], [AXE00] qui varient selon l’endroit qu’ils surveillent et ce qu’ils contrôlent (les sources d’information). 6.1 L’IDS basé hôte (host- based IDS) L’IDS basé hôte contrôle un seul hôte. Il analyse des informations rassemblées d’un système d’ordinateur individuel, ce qui permet à l’IDS basé hôte d'analyser des activités avec une grande fiabilité et précision en déterminant exactement les processus et les utilisateurs impliqués dans une attaque particulière. Les avantages et les inconvénients [NIS 01] [ZAM05] de l’IDS basé hôte sont : 6.1.1 Les avantages d’un IDS basé hôte - La capacité de contrôler les activités locales des utilisateurs avec précision. - Capable de déterminer si une tentative d’attaque est couronnée de succès. - La capacité de fonctionnement dans des environnements cryptés. - L’IDS basé hôte fonctionne sur les traces d'audit des systèmes d’exploitation ce qui lui permet de détecter certains types d’attaques (ex : Cheval de Troie). 6.1.2 Les inconvénients d’un IDS basé hôte - La vulnérabilité aux attaques du type déni de service puisque l’IDS peut résider dans l’hôte cible par les attaques. - La difficulté de déploiement et de gestion, surtout lorsque le nombre d’hôtes qui ont besoin de protection est large. - Ces systèmes sont incapables de détecter des attaques contre de multiples cibles dans le réseau. 6.2 L’IDS basé réseau (Network- based IDS) Bien que le système de détection d’intrusions basé hôte a montré des résultats encourageants mais son problème majeur est la détection des intrusions essayées à travers le réseau. Pour détecter cette sorte d'intrusion, l’IDS a besoin de contrôler des événements multiples produits sur plusieurs hôtes. En effet, une proportion large d'intrusions est réalisée via les réseaux et en conséquence l'utilisation des informations sur le trafic réseau rend l'IDS plus efficace. Ce problème motive l'évolution des IDS basés hôte vers l'IDS basé réseau. Le 31 Chapitre II : détection d’intrusion système de détection d’intrusions basé réseau détecte des attaques en capturant et analysant des paquets du réseau. Les avantages et les inconvénients [NIS 01] [ZAM05] de ce type d’IDS sont : 6.2.1 Les avantages d’un IDS basé réseau - L’IDS basé réseau est capable de contrôler un grand nombre d ’hôte avec un petit coût de déploiement. - Il n’influence pas sur les performances des entités surveillées. - L’IDS basé réseau est capable d’identifier les attaques de /à multiples hôtes. - L’IDS basé réseau assure une grande sécurité contre les attaques parce qu’il est invisible aux attaquants. 6.2.2 Les inconvénients d’un IDS basé réseau - L’IDS basé réseau ne peut pas fonctionner dans des environnements cryptés. - Ce type d’IDS ne permet pas d’assurer si une tentative d’attaque est couronnée de succès. 7. les architectures d’implémentation des IDS L’architecture d’implémentation d’un système de détection d’intrusions qui est considérée comme une stratégie de contrôle décrit la manière de contrôle effectuée par les éléments d’un système de détection d’intrusions. Nous distinguons trois approches d’implémentation [NIS01], [KRU02], [JAN00], [KIM02]: Monolithique, hiérarchique et coopérative. 7.1 L'approche monolithique (centralisée) Les premières mises en œuvre des systèmes de détection d’intrusions ont employé une architecture monolithique sous laquelle les données rassemblées seront analysées à un point central. Puisque le contrôle de l'activité des utilisateurs d’un seul hôte ne révèle pas les attaques impliquant des hôtes multiples. L’IDS basé réseau a été développé, qui analyse le trafic de réseau pour déduire les anomalies venant du réseau. Bien qu’un IDS basé réseau avec un serveur central a montré des résultats prometteurs pour des réseaux à petite échelle. Cependant, cette approche ne peut pas supporter un grand réseau à cause de la quantité énorme des données des différents hôtes qui doivent être analysée par le serveur central, ce qui engendre une dégradation sévère des performances de réseau. Un exemple d’un système de détection d’intrusions qui se base sur l’approche monolithique est le système NADIR [PRI98], [MYK94], [WHI96]. 32 Chapitre II : détection d’intrusion 7.2 L'approche hiérarchique Cette approche a été proposée pour surmonter les problèmes de l'approche monolithique. Elle est caractérisée par l’existence des secteurs de contrôle hiérarchiques. Chaque IDS contrôle un secteur avec l’élimination du transfert des données d’audit rassemblées par les hôtes locaux à un point central. Chaque IDS à n'importe quel niveau de contrôle exécute une analyse locale et envoie ses résultats d'analyse au niveau suivant dans la hiérarchie. L'approche hiérarchique montre la meilleure incrémentabilité « scalability » en permettant des analyses locales aux secteurs de contrôle distribués. Cependant, les problèmes vus précédemment demeurent toujours. En plus, le changement de la topologie du réseau cause un changement aussi bien dans la hiérarchie de réseau et dans les mécanismes de rassemblement des rapports d'analyse locaux. Ainsi, la difficulté de détecter les attaques qui visent le niveau le plus haut de la hiérarchie. Un exemple de système de détection d’intrusions hiérarchique : GrIDS[STA96], [STA97], EMERALD [POR98]. 7.3 L'approche coopérative (distribuée) Cette approche a été suggérée pour résoudre les problèmes de l’approche précédente. Elle essaye de distribuer les responsabilités d'un serveur central à un nombre de systèmes de détection d’intrusions coopératifs. La différence de cette approche avec l'approche hiérarchique est qu'il n'y a aucune hiérarchie entre les IDS distribués ce qui signifie que l'échec de n'importe quel IDS n’empêche pas la détection d'attaques coordonnées. Parmi les systèmes de détection d’intrusions coopératifs, nous pouvons citer par exemple le système CSM [WHI96] [PRI98]et le système AAFID [BAL98]. 8. Une Vue Générale De Quelques Systèmes De Détection D’intrusions Existants Il existe plusieurs systèmes de détection d’intrusions qui ont été développés. Dans cette section, nous présenterons quelques systèmes de détection d’intrusions existants. 8.1 IDES IDES (Intrusion-Detection Expert System) a été développé par SRI International. Il représente le modèle de référence pour un grand nombre de systèmes de détection d'intrusions. Il a été conçu pour surveiller un seul hôte et il traite uniquement les données d'audit. Ce système de détection d’intrusions est indépendant du système surveillé, il fonctionne sur une machine dédiée, reliée au système par un réseau. Afin de détecter les 33 Chapitre II : détection d’intrusion violations de sécurité en temps réel, IDES s'appuie aussi bien sur une approche statistique que sur un système expert [PRI98], [MYK94]. Ainsi, il est constitué de deux éléments importants : - Le détecteur d'anomalie : qui est responsable de la détection des comportements atypiques, en utilisant des méthodes statistiques du modèle de Denning [DEN87]. - Le système expert : qui est chargé de détecter les attaques suspectes en s'appuyant sur une base de connaissances de scénarios d'attaques connus [PRI98]. 8.2 NIDES NIDES (Next- Generation IDES) [PRI98], [MYK94] est une version améliorée du système de détection d’intrusions IDES. Il assure la détection d'intrusions sur plusieurs hôtes (distribuées) en se basant toujours sur les données d'audit. Il n'y a aucune analyse du trafic réseau. Il utilise les mêmes algorithmes qu’IDES. 8.3 NADIR NADIR (Network Anomaly Detection and Intrusion Reporter[PRI98], [MYK94], [BAL98] est un système expert qui a été conçu pour le réseau ICN (Integrated Computing Network) du Laboratoire National Los Alamos. Son but est d'analyser les activités réseaux des utilisateurs et d ’ICN en se basant sur les règles du système expert qui définissent la politique de sécurité et les comportements suspects. L’inconvénient majeur de ce système est qu'il ne peut être porté sur d'autres réseaux, étant donné que les protocoles réseaux d'ICN ne sont pas standards. 8.4 DIDS DIDS (Distributed Intrusion Detection System) [PRI98], [MYK94], [BAL98] est un système de détection d’intrusions basé réseau qui se base sur l’approche hiérarchique. Afin d’éviter la dégradation des performances de système, DIDS délègue certaines analyses locales aux hôtes locaux. Son architecture se compose de trois entités : Le « Host Monitor » : Il en existe un par hôte. Il collecte les données de l ’hôte surveillé, fait une première analyse simple sur ces données puis transmet les événements pertinents au « DIDS Director ». Le « LAN Monitor » : Il en existe un pour chaque segment LAN. Il surveille le trafic sur le LAN, collecte les informations réseaux et reporte au « DIDS Director » les activités suspectes et non autorisées qui se sont produites sur le réseau. 34 Chapitre II : détection d’intrusion Le « DIDS Director » : Il analyse les rapports reçus du « LAN Monitor » et des « Host Monitor » afin de détecter les attaques potentielles. 8.5 GrIDS GrIDS (Graph-Based Intrusion Detection System) [STA96] [STA97] a été conçu pour détecter des attaques à grande échelle. GrIDS considère les réseaux larges comme une agrégation de sous réseaux. Les données concernant l'activité des hôtes et le trafic réseau entre ces hôtes sont rassemblées dans des graphes d'activité qui révèlent la structure causale de l'activité réseau. Les nœuds d’un graphe d'activité correspondent aux hôtes constituant le réseau alors que les arêtes représentent l'activité réseau entre les différents hôtes. Durant la phase de détection, GrIDS analyse les caractéristiques des graphes d'activité et compare ces graphes à des formes intrusives connues. S'il y a des similitudes entre ces graphes et des attaques connues, il en informe l'officier de sécurité. 8.6 CSM CSM (Cooperating Security Manager) [PRI98] [WHI96]est un système de détection d'intrusions qui peut être utilisé dans un environnement de réseau distribué. Son principal objectif est de détecter les activités intrusives de façon non centralisée car utiliser un directeur central qui coordonnerait toutes les activités limiterait la taille du réseau « le problème d’incrémentabilité ». Pour cela, CSM doit s'exécuter sur chaque hôte connecté au réseau. Ainsi, au lieu de reporter les activités anormales à un directeur central, les CSM communiquent entre eux pour détecter d ’une manière coopérative les intrusions réseaux. Les composants principaux de ce système de détection d’intrusions sont : Un système de détection d'intrusions local (IDS) : qui assure la détection d'intrusions pour un hôte local. Un gestionnaire de sécurité : qui coordonne la détection d'intrusions distribuée entreles CSM. Un gestionnaire d'intrus (IH : intruder handling component) : dont le rôle est d'entreprendre les actions nécessaires lorsqu’une intrusion est détectée. 35 Chapitre II : détection d’intrusion 8.7 AAFID Le système AAFID (Autonomous Agent for Intrusion Detection) [CRO95], [CRO95a] [BAL98] est la première tentative d’utilisation des agents autonomes pour les systèmes de détection d’intrusions basés réseau où plusieurs agents indépendants opèrent de manière coopérative pour assurer la surveillance du système cible. La décision finale du système est le résultat de coopération entre ces différents processus. Les recherches actuelles visent à améliorer les systèmes de détection d’intrusions en raison de la complexité croissante des environnements à protéger, qui sont de plus en plus larges et dynamiques. Ainsi, la nature des intrusions actuelles et futures nous incite à développer des outils adaptatifs et automatiques. Une solution prometteuse consiste à s’inspirer à partir des métaphores biologiques pour résoudre ces problèmes. Cela est réalisé via l’exploitation des concepts et des méthodes d’identification et de détection du système immunitaire humain, qui est capable d’assurer la protection du corps contre les différents intrus d’une manière robuste, autonome, distribuée et adaptative. Alors, pourquoi de ne pas concevoir des systèmes immunitaires afin de protéger les systèmes et les réseaux informatiques. Le système immunitaire constitue un intérêt croissant des recherches vu de sa capacité de traitement des informations. En particulier, il assure des calculs d’une manière distribuée et parallèle. Il peut apprendre des nouvelles informations et identifier les différents modèles d’une manière décentralisée. Il détecte et répond aux envahisseurs étrangers d’une façon distribuée. L’approche immunologique est une solution prometteuse pour la détection d’anomalies vue l’analogie puissante qui existe entre l’objectif du système immunitaire humain et celui du système de détection d’intrusions ainsi que la capacité du système immunitaire humain à protéger le corps contre les intrus. Ce système présente un intérêt croissant des différents travaux existants pour exploiter ces méthodes d ’identification et de détection dans des systèmes de détection d’intrusions. Pour cette raison, dans ce travail nous nous intéresserons par ce domaine de recherche. 9. Emplacement de l’IDS Le choix de l’IDS est très influencé par son éventuel emplacement au sein du réseau. En effet, la topologie réseau impose quelques règles à respecter si on veut l’IDS soit efficace. L’emplacement de l’IDS doit également tenir compte du type d’intrusions à détecter (internes, externes, les deux). Si dans un réseau, il existe un seul point de connexion à internet, le meilleur emplacement de l’IDS est qu’il soit juste après le routeur. Si dans un 36 Chapitre II : détection d’intrusion autre réseau, différents points de connexions à internet existent, un IDS est placé pour chaque point de connexion comme nous pouvons le voir dans la Fig. II.5. Par contre pour détecter les intrusions internes un IDS doit être placé à chaque segment du réseau. [Snr03] Fig. II.5. Emplacement de l’IDS au sein d’un réseau. 10. Evaluation d’un IDS Des mesures permettent de comparer et de mesurer l’efficacité des IDS. Les IDS sont des éléments très importants dans une stratégie de sécurité, pour cela le choix de l’IDS est très décisif et doit être basé sur les caractéristiques de ce dernier, les tâches qu’il devra accomplir, son emplacement …etc. mais également selon des mesures qui permettent d’évaluer son efficacité. La technique la plus utilisée pour évaluer un IDS est le scanner de vulnérabilités. Cependant, ce dernier reste peu fiable. Les mesures permettant de mieux choisir son IDS et mesurer son efficacité sont : [BUR06] - Qualité des informations fournies par l’IDS : le taux de faut positif. - Réponse de l’IDS dans un environnement surchargé. - La possibilité de mettre à jour la base des signatures ou de modifier certaines signatures. - La séparabilité des fonctions d’administration (architecture distribuée).…etc. 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]. 37 Chapitre II : détection d’intrusion 11. Conclusion : Dans ce chapitre, nous avons présenté le système de détection d ’intrusions et nous avons également étudié d’une manière détaillée les différents types d’IDS selon différents critères de classification avec la présentation générale des différentes techniques utilisées pour la détection d’intrusions. Afin d’obtenir un système de détection d’intrusions compétent et efficace, souhaitable d’utiliser connaissances les deux en parallèle pour techniques surmonter de détection les problèmes comportementale et il est basée liés à chacune de ces deux techniques de détection. Cependant, les systèmes de détection d’intrusions commercialisés emploient seulement la technique de détection basée connaissance, ce qui motive les différents efforts de recherche dans le domaine de la détection d’anomalies. Pour cette raison, différentes approches sont utilisées pour implémenter la technique de la détection d’anomalies. Parmi ces approches diverses, nous intéresserons à l’approche immunologique qui constitue un intérêt accru des recherches actuelles vu de l’analogie qui existe entre le système de détection d’intrusions et le système immunitaire humain. Cette approche qui présente beaucoup d’aspects intéressants pour le développement d’un système de détection d’intrusions efficace. Le troisième chapitre sera consacré à étudier d’une manière détaillée les systèmes immunitaires artificiels. Cette approche qui s’inspire par le mécanisme de défense humain et qui présente des capacités intéressantes d’apprentissage, d’adaptation et d’évolution pour détecter les anomalies afin d’entretenir les réseaux informatiques sereins. 38 Chapitre III : système immunitaire Chapitre III : Systèmes immunitaires Dans ce chapitre : 1. Introduction. 2. Systèmes immunitaires naturels. 3. Caractéristique du système immunitaire 4. Systèmes immunitaires artificiels. 5. Extension du système immunitaire artificiel 6. L’analogie entre le système de détection d’intrusion et le système immunitaire 7. Les domaines d’application des AIS 8. Conclusion 39 Chapitre III : système immunitaire 1. Introduction Un intérêt croissant d’utiliser la biologie comme source d’inspiration pour résoudre différents problèmes. Ce domaine de recherche se base principalement sur l’extraction des métaphores utiles à partir des systèmes biologiques afin de créer des solutions informatiques efficaces aux problèmes complexes. Les développements les plus appréciables ont été les réseaux de neurones inspirés par le fonctionnement du cerveau, et les algorithmes évolutionnaires inspirés par la théorie de l’évolution darwinienne. Cependant, plus récemment, un intérêt croissant pour l’utilisation d’un autre système biologique qui est le système immunitaire comme source d’inspiration pour résoudre des problèmes complexes. Le système immunitaire biologique est doté par des capacités de traitement de l’information y compris l’identification du modèle, l’apprentissage, la mémorisation et le traitement parallèle distribué. Pour ces dernières et d’autres raisons, le système immunitaire a suscité un intérêt significatif pour l’employer comme une métaphore d’inspiration dans le calcul. Ce domaine de recherche est connu sous l’appellation des systèmes immunitaires artificiels. Ce chapitre sera composé de deux parties principales dont la première partie sera consacrée à la présentation du système immunitaire biologique, en exhibant les différents composants immunitaires et les différents mécanismes utilisés par ce système. Enfin, nous récapitulerons les propriétés intéressantes du système immunitaire qui constituent d’un point de vue informatique une source d’inspiration très riche. Tandis que la deuxième partie sera consacrée à définir le système immunitaire artificiel (AIS) et le processus de conception d’un AIS. Ainsi, nous intéresserons à présenter les différents algorithmes et les modèles immunitaires. Par la suite nous exposons les tentatives d’extension du système immunitaire artificiel en intégrant une nouvelle théorie immunologique qui est la théorie de danger. Nous allons consacrer la dernière section pour la présentation de l'analogie entre le système immunitaire humain et le système de détection d'intrusions. 2. Le système immunitaire naturel 2.1 Introduction Toutes les créatures vivantes sont dotées par un système immunitaire, par exemple quelques plantes ont des épines protectrices pour fournir la protection de prédateurs qui les attaquent. Les animaux contiennent des os (des vertébrés) qui ont développé un système immunitaire fortement efficace et complexe. 40 Chapitre III : système immunitaire Notre étude sera focalisée sur le système immunitaire de vertébrés, plus spécifiquement le système immunitaire humain. C’est dû aux caractéristiques intéressantes d’une perspective biologique et informatique et la compréhension de son fonctionnement. 2.2 Le système immunitaire Le système immunitaire est une collection de cellules, des molécules et des organes. Il représente un mécanisme d’identification capable de percevoir et de combattre le dysfonctionnement de ses propres cellules et les micro-organismes exogènes infectieux qui envahissent le corps [CAS99] . 2.3 L’architecture du système immunitaire Le corps humain est doté par plusieurs mécanismes de défense qui s’étendent à plusieurs niveaux. La première ligne de défense est composée de barrières physiques qui sont : la peau, l’urine, les membranes muqueuses, etc. Si cette première ligne échoue d’éliminer un intrus alors le système immunitaire utilise d’autres mécanismes de défense. Le système immunitaire possède une architecture multicouche [CAS99], [TIM04] [KIM02] qui est constituée de deux couches inter-liées qui sont le système immunitaire inné et le système immunitaire adaptatif ou acquis (Figure.III.1). Immunité Innée Adaptative (acquise) Macrophages Lymphocytes Cellule T Cellule B Figure III.1 : Architecture du système immunitaire 2.3.1 Le système immunitaire inné Le système immunitaire inné est composé d’un ensemble de cellules spécialisées dont le rôle principal est la liaison avec des modèles moléculaires trouvés dans des microorganismes. Cependant, ce système ne peut pas assurer la protection complète du corps. Il est caractérisé par [KIM02] [TIM04]: 41 Chapitre III : système immunitaire - Les mécanismes de détection des organismes étrangers sont constants, aussi bien pour les infections répétées. - La réponse du système immunitaire inné est non spécifique à un type particulier d’intrus mais elle est identique contre tous les pathogènes qui envahissent le corps. - Il joue un rôle vital pour l’initialisation et la régularisation de la réponse immunitaire adaptative. 2.3.2 Le système immunitaire adaptatif Le système immunitaire adaptatif est constitué de types différents de cellules dont chacun joue un rôle important. Le rôle central est assuré par les lymphocytes qui sont composés de deux types de cellules : cellule B et cellule T. Le système immunitaire adaptatif est caractérisé par : [KIM02] [TIM04] - Le système immunitaire adaptatif s’occupe avec les intrus qui ne sont pas détectés par le système immunitaire inné. - Le système immunitaire adaptatif est généré dynamiquement contre les organismes étrangers pendant sa durée de vie. Il fournit des mécanismes plus efficaces qui seront adaptés aux changements antigéniques. - Le système adaptatif est adressé à des intrus spécifiques. - La présence d’une mémoire immunologique qui permet aux cellules de se souvenir des intrus déjà rencontrés lors des prochaines rencontres. 2.4 La physiologie du système immunitaire Le processus de génération et de développement de cellules immunitaires est assuré principalement par deux organes[CAS99] : la moelle osseuse et le thymus. La moelle osseuse est l’endroit de production de toutes les cellules sanguines et où certaines classes de cellules se développent. Le thymus est l’organe où une autre classe de cellules immunitaires migre pour passer l’étape de maturation. Le système immunitaire possède d’autres types de cellules immunitaires, mais cette étude sera focalisée principalement sur les lymphocytes. Les lymphocytes sont des globules blancs produits dans la moelle osseuse spécialisés dans l’identification de pathogènes qui sont composés de deux types[CAS99], [TIM03]: les cellules B et les cellules T. Les lymphocytes qui se développent dans la moelle osseuse sont nommés des cellules B et ceux qui migrent et se développent dans le thymus sont nommés des cellules T. Ces 42 Chapitre III : système immunitaire lymphocytes possèdent des récepteurs qui sont localisés sur leur surface responsable de la reconnaissance des modèles antigéniques. 2.4.1 Les cellules B La fonction principale des cellules B consiste à produire et à sécréter des molécules appelées anticorps comme une réponse aux corps étrangers [CAS99]. Chaque cellule B produit un anticorps spécifique. Les anticorps sont des protéines spécifiques qui reconnaissent et lient avec d’autre protéine particulière. Le récepteur de cellule B est appelé BCR ou bien anticorps (Ab) (Figure III.2 :(a)). 2.4.2 Les cellules T Les cellules T peuvent être classées selon deux types : les cellules T d’aide (T helper) et les cellules T cytotoxiques (T killer). Les cellules T d’aide assurent des fonctions essentielles pour la régularisation de la réponse immunitaire par exemple l’activation ou la suppression du développement de certain type de réponse immunitaire. Par contre, les cellules Tcytotoxiques assurent des fonctions de suppression des envahisseurs microbiens, des virus ou les cellules cancéreuses. Ainsi, les cellules T présentent des récepteurs sur leur surface(Figure III.2 (b)). TCR BCR ou anticorps Cellule T Cellule B (a) (b) Figure III.2 : Présentation d’une cellule B et une cellule T 2.5 Comment le système immunitaire assure t-il la protection du corps humain? Notre corps est protégé par une collection diverse des cellules et des molécules qui collaborent contre n’importe quelle molécule étrangère comme les bactéries ou d’autres envahisseurs. La figure ci-dessous présente une version simplifiée des mécanismes de base de défense immunitaire (figure III.3), et qui peuvent être résumés par les étapes suivantes : 43 Chapitre III : système immunitaire 1- Quand un intrus envahit le corps, les cellules de présentation antigénique (APC1 ) comme les macrophages procèdent à l’ingestion et la digestion de l’antigène rencontré pour le présenter comme des fragments de peptides antigéniques 2- Ces peptides seront liées avec les molécules MHC pour permettre leurs liaisons avec les cellules T qui ont la capacité de reconnaître la combinaison de peptide / MHC. 3- Les cellules T activées par cette identification produisent et sécrètent des lymphokines ou des signaux chimiques pour mobiliser d’autres composants du système immunitaire. 4- Les cellules B qui ont aussi des molécules de récepteur complémentaires répondent à ces signaux. À la différence des récepteurs de cellules T, ceux de cellules B peuvent reconnaître les parties d’antigènes libres sans les molécules MHC. 5- Après cette activation, les cellules B prolifèrent et se différencient et sécrètent des protéines d’anticorps. 6- La liaison entre les anticorps et les antigènes disponibles mènent à la destruction et la suppression des antigènes. 7- Un nombre de cellules B et T deviennent des cellules mémoires qui ont une durée de vie illimitée, en permettant l’élimination rapide de l’antigène s’il se présente une autre fois dans l’avenir. Figure III.3 : Le processus de base de défense immunitaire 1 - APC est un type particulier de globine blanc du sang dont le rôle principal est la digestion des intrus cachés à l’intérieur des cellules pour les présenter aux lymphocytes. 44 Chapitre III : système immunitaire 2.6 Les processus de base d’un système immunitaire 2.6.1 L’identification dans le système immunitaire naturel La reconnaissance d’un antigène est assurée par les lymphocytes. La réaction de chaque lymphocyte est limitée au nombre de cellules étrangères connues comme antigènes. En effet, chaque lymphocyte (cellules B et T) possède un ensemble de récepteur spécifique sur sa surface et ces récepteurs ont une forme complémentaire aux déterminants spécifiques connus comme épitopes présents sur la surface des antigènes. Un antigène est identifié s ’il y’a une correspondance entre les récepteurs des cellules et l’épitope de l’antigène [TIM02] [TIM03]. Les cellules B et T ont une structure semblable mais elles ont une manière de reconnaissance différente [CAS99], [TIM03]. Les cellules B sont capables de reconnaître les antigènes libres (Figure III.4(a)), tandis que les cellules T ont la possibilité de reconnaître l’antigène qui est présenté par les molécules MHC (1) (Figure III.4 (b)). Figure III.4 : L’identification dans le système immunitaire 2.6.2 L’activation L’identification de l’antigène est l’étape préalable pour déclencher une réponse immunitaire pour détruire l’antigène reconnu [TIM02]. Le système immunitaire humain emploie l’appariement approximatif pour déclencher la réponse immunitaire. Grâce à l’appariement approximatif, le système immunitaire est capable de détecter de nombreux antigènes. L’appariement entre un récepteur d’un lymphocyte et un épitope de l’antigène détermine l’affinité(le degré de liaison entre le récepteur d’une cellule et l'antigène)entre un lymphocyte et un antigène [TIM01]. Si l’appariement entre un récepteur et l’épitope est fort alors l’affinité est grande sinon elle est petite. 1 - Le rôle de la molécule MHC consiste à rassembler les fragments de protéines cachés à l'intérieur des cellules pour les présenter sur la surface de cette cellule infectée afin de permettre leur identification par les cellules T. 45 Chapitre III : système immunitaire Les anticorps de cellules B matures seront activés d’une manière directe ou indirecte, le type d’activation est déterminé en fonction d’un seuil d’affinité. Quand une cellule B correspond à un antigène avec une affinité forte au-dessus du seuil d’affinité, alors elle sera activée directement pour se développer et se différencier. Sinon, si une cellule B correspond à l’antigène avec une affinité faible au-dessous du seuil d’affinité, elle a besoin de l’aide de cellule T d’aide (T helper) pour qu’elle puisse être activée (l’activation indirecte). Pour le cas des cellules T, l’activation aura lieu s’il y a un appariement entre une cellule T et une molécule MHC qui contient un fragment de l’antigène [CAS99]. Après l’apparition d’une réponse immunitaire suite à un stimulus antigénique. Les cellules ayant identifiées l’antigène prolifèrent et différencient, ainsi elles constitueront des cellules mémoires. Pour cette raison, la section suivante sera consacrée à la présentation de ce principe de base. 2.7 Le principe du mécanisme de la sélection clonale En effet, les modèles antigéniques changent constamment, l’efficacité de la détection est maintenue par l’apprentissage dynamique de ces changements qui est assuré par la sélection clonale [CAS99]. La théorie de la sélection clonale décrit les conséquences de la réponse immunitaire suite à un stimulus antigénique en assurant que seules les cellules qui reconnaissent l’antigène subissent aux proliférations et différentiations. Quand un antigène envahit le corps, des cellules immunitaires reconnaissent cet antigène avec des degrés d’affinité différents. La réponse des cellules B est la production des anticorps dont chaque cellule sécrète un seul type d’anticorps qui est relativement spécifique à l’antigène. L’appariement fort entre les récepteurs des anticorps et l’antigène produit la stimulation des cellules B c'est-à-dire la prolifération (clone) et la maturation en des cellules de plasma. Le taux de prolifération d’une cellule est directement proportionnel à son affinité avec l’antigène [TIM03][CAS99], les cellules qui ont les plus grandes affinités seront les plus proliférées et réciproquement. En plus, les lymphocytes qui ont une forte affinité peuvent se différencier en des cellules mémoires. (Figure III.5) 46 Chapitre III : système immunitaire Figure III.5 Le principe de la sélection clonale 2.7.1 L’hypermutation somatique Le résultat du processus de la sélection clonale est la reproduction de nouvelles cellules qui sont des sosies de leurs parents. Ces clones seront soumis à un mécanisme de mutation avec des taux très élevés (plus haut que des taux de mutation de cellules ordinaires). Ce mécanisme est appelé l’hypermutation somatique [TIM03], [CAS99]. Le résultat est des filles de la cellule B initiale qui ont des récepteurs différent s du parent et par conséquence des affinités différentes aux pathogènes. L’hypermutation somatique est inversement proportionnelle à l’affinité d’une cellule c'est-à-dire les cellules qui ont les plus hautes affinités seront les moins mutées et réciproquement. Le mécanisme de l’hypermutation somatique permet au système immunitaire d'augmenter la capacité d'identification des anticorps par rapport à un antigène sélectif. 2.7.2 La mémoire immunitaire L’identification de l’antigène n’est pas suffisante, le système immunitaire humain possède des capacités supplémentaires pour avoir une réponse efficace contre les pathogènes [CAS99]. Le système immunitaire humain possède plusieurs types de réponses immunitaires (Figure III.6), qui sont : - La réponse primaire. - La réponse secondaire. 47 Chapitre III : système immunitaire - La réponse réactive croisée. 2.7.2.1 La réponse primaire Cette réponse est le résultat de la première exposition à un antigène qui stimule une réponse immunitaire adaptative. Cette réponse est traitée par un petit nombre de cellules B dont chacune produisent des anticorps à des affinités différentes. Elle est caractérisée par un temps de latence grand et un petit nombre d’anticorps. 2.7.2.2 La réponse secondaire Les prochaines expositions à des antigènes rencontrés précédemment stimulent des réponses secondaires. Ce processus est dû à une rétroaction d’événements passés aidant le système à apprendre. L’efficacité de cette réponse est augmentée par l’existence des cellules mémoires qui correspondent à un nombre de clone à forte affinité. Ces cellules mémoires sont produites lors de la première exposition à l’antigène. Cette stratégie assure que la vitesse et l’exactitude de la réponse immunitaire deviennent successivement plus élevées après chaque intrusion où le système améliore continuellement ces capacités d’exécution des tâches. Ainsi, on peut noter que la réponse secondaire est caractérisée par un temps de latence très court, un taux d’anticorps plus élevé et une plus longue persistance des anticorps. 2.7.2.3 La réponse réactive croisée Une réponse secondaire n’est pas seulement déclenchée par la réintroduction de même pathogène dans le futur. En effet, Il est possible qu'un antigène puisse se présenter avec des formes différentes qui sont des variations légères de l’antigène initial. Une caractéristique importante de la mémoire immunitaire est qu’elle est associative [CAS99]. Cette particularité permet aux cellules B adaptées à un certain type d’antigène, par exemple l’antigène (A) de présenter également une réponse secondaire efficace et rapide aux antigènes qui sont semblables à l’antigène (A). Cette réponse est connue sous l’appellation : la réponse réactive croisée ou bien la réaction immunologique croisée. 48 Concentration d’anticorps Chapitre III : système immunitaire Réponse à A+B Antigène A+B Figure III.6 : Les différents types de réponses immunitaires 2.7.3 La maturation d’affinité La maturation d’affinité est le processus qui garantit que le système immunitaire possède de plus en plus des cellules immunitaires spécialisées pour la reconnaissance des modèles antigéniques [TIM03]. Ce processus est le résultat du mécanisme de l’hypermutation somatique suivi par une sélection. La mutation qui affecte les parties des récepteurs qui lient avec l’antigène suivi par une sélection qui garantit la préservation des solutions candidates de hautes qualités. Le récepteur qui possède la plus haute affinité permet d’avoir le plus fort appariement et ainsi la meilleure identification, ce qui permet d’avoir une réponse immunitaire exacte et efficace. La réponse immunitaire est adaptative parce que l’opération de mutation suivie par une sélection permet aux récepteurs de cellules de s’y adapter à l’antigène. Cela garantit que les rencontres suivantes avec un certain type d’antigène mènent aux réponses plus puissantes. 2.8 Le répertoire cellulaire La capacité du système immunitaire à identifier les antigènes est complète [CAS99]. Les récepteurs des différentes cellules immunitaires peuvent identifier les intrus externes et même les cellules du soi (la théorie du réseau immunitaire idiotypique qui sera détaillée dans les sections suivantes). La diversité des récepteurs est assurée d’une part pendant la reproduction de molécules de récepteur par la recombinaison des segments de gène à partir de la 49 Chapitre III : système immunitaire bibliothèque de gènes. D’autre part par le mécanisme de l’hypermutation somatique qui permet la génération continuelle de nouveaux récepteurs [TIM04]. 2.9 La discrimination entre soi / non soi. Si le système immunitaire est capable de reconnaître n’importe quel modèle antigénique qui est le complément des récepteurs de cellule immunitaire. Comment le système immunitaire se comporte quand il est confronté avec un antigène de soi (1) ? La capacité du répertoire du système immunitaire pour reconnaître les antigènes est complète. Cependant, cette propriété représente un paradoxe fondamental parce que toutes les molécules qui peuvent être reconnues incluant les cellules du corps seront considérées comme antigènes ou antigènes de soi [CAS99]. Pour que le système immunitaire fonctionne correctement, il doit être capable de distinguer entre les cellules de soi et les cellules étrangères (cellules de non soi), cette capacité est appelée la tolérance de soi(2). Ce problème est reconnu sous le nom problème de discrimination entre soi / non soi [TIM03],[CAS99]. Donc, il doit y avoir quelque forme de sélection négative qui empêche les cellules immunitaires de devenir auto réactives. 2.9.1 La sélection négative pour les cellules T Après la production des cellules T naïves dans la moelle osseuse, elles migrent vers le thymus. Les cellules T immatures ou naïves subiront alors un processus de sélection négative [CAS99][TIM03] dans le thymus(3). Le processus de la sélection négative permet l ’élimination des cellules T naïves qui peuvent reconnaître un antigène de soi. Les cellules T naïves qui ne reconnaissent aucun antigène du soi dans le thymus seront libérées pour la recherche éventuelle des cellules de non soi. 2.9.2 La sélection négative pour les cellules B La sélection négative est appliquée aussi sur les cellules B dans la moelle osseuse, quand les cellules B immatures identifient les cellules du soi, elles seront éliminées. Ce mécanisme est appliqué seulement sur les cellules B immatures dans la moelle osseuse. La tolérance au soi des 1 - Antigène de soi est une autre appellation pour les propres cellules du corps humain. - Si le système immunitaire n'est pas tolérant au soi, donc une réponse immunitaire sera déclenchée contre les cellules de soi causant la maladie de L’auto-immunité. 3 - Le thymus est un organe qui est doté par une barrière thymique de sang pour éviter l’assistance des antigènes du non soi. 2 50 Chapitre III : système immunitaire cellules nouvellement générées après le processus de la sélection clonale et l’hypermutation somatique, sera assurée par l’assistance des cellules T d’aide [KIM02]. 2.10 La théorie du réseau immunitaire La sélection clonale est la théorie qui explique comment le système immunitaire répond à un antigène de non soi. Tandis que la sélection négative est employée pour éliminer les cellules auto réactives. Une autre question cruciale à être répondue est comment les cellules du système immunitaire interagissent avec d'autres cellules immunitaires ? Intéressé par ce problème, Jerne a proposé la théorie du réseau immunitaire [JER74]qui suggère que les interactions au sein du système immunitaire ne se limitent pas entre anticorps et antigènes, mais aussi entre les anticorps même en absence d’un stimulus antigénique. Cette interaction est assurée par des récepteurs spécialisés présents sur la surface des anticorps appelés :idiotope. Alors, le système immunitaire est formellement défini par un réseau énorme et complexe de paratopes qui reconnaissent un ensemble d'idiotopes et d'idiotopes reconnus par un ensemble de paratopes. Ainsi, chaque élément pourrait reconnaître aussi bien qu'être reconnu. Ce réseau est appelé le réseau immunitaire idiotypique [TIM03], [CAS99]. Cette théorie synthèse la propriété de la détection distribuée des systèmes immunitaires, elle montre l’état dynamique des interactions internes des lymphocytes, des anticorps et antigènes. Les lymphocytes stimulés peuvent répondre positivement ou négativement à un signal d’identification (Figure III.7). La réponse positive est le résultat d’une liaison entre un anticorps et un antigène qui provoque l’activation et la prolifération des cellules ainsi la sécrétion d’anticorps. Par contre la réponse négative est le résultat d’une liaison entre un anticorps et un anticorps qui entraîne une suppression [CAS99]. La chaîne continue de différentiation par antigène et la suppression par anticorps forme un réseau. Ce réseau peut atteindre le statut d'équilibre entre la suppression et la stimulation pour déterminer le système immunitaire complet [KIM02]. Cette théorie en particulier reflète les propriétés parallèles et distribuées de système immunitaire parce que différentes réponses locales entre un anticorps et un antigène ou un anticorps et un anticorps arrivent en parallèle et à des endroits dispersés. 51 Chapitre III : système immunitaire Figure III.7 : La représentation du réseau immunitaire idiotypique 3. Caractéristique du système immunitaire Dans les sections précédentes, nous avons essayé de présenter le système immunitaire humain, son processus d’identification et d’activation. Ainsi que certains processus immunitaires de base. Cette partie sera consacrée à une récapitulation des propriétés intéressantes du système immunitaire qui constituent d ’un point de vue informatique une source d’inspiration très riche, qui sont [LAB06]: - Multicouche : Le système immunitaire possède une architecture multicouche qui consiste en deux sous systèmes inter-liés qui sont le système immunitaire inné et le système immunitaire adaptatif. Ces deux systèmes combinent leurs tâches et responsabilités pour assurer la protection et la sécurité globale. - Unicité : Chaque élément dans le système immunitaire assume des responsabilités particulières. - Autonomie : Le système immunitaire humain ne possède aucun contrôle central ou un gestionnaire particulier. Il possède une autonomie globale dans la détection et l’élimination des intrus. - Distribution : Les cellules immunitaires et les molécules sont distribuées dans le corps humain pour assurer sa protection. Il n’existe pas un point de contrôle centralisé. - Parallélisme : Le système immunitaire est capable de produire plusieurs réponses immunitaires en même temps à des endroits dispersés. - Tolérance au soi : Le système immunitaire humain peut différencier entre les cellules de soi et les cellules de non soi. 52 Chapitre III : système immunitaire - Apprentissage : Le système immunitaire augmente la capacité d'identification des anticorps à un antigène sélectif (les répons es primaire et secondaire). Il apprend continuellement les structures de pathogènes. - Adaptabilité : Le système immunitaire humain permet la production des cellules de plus en plus spécialisées pour l’identification des antigènes. Cela est garantit par la théorie de la sélection clonale suivie par le mécanisme de l’hypermutation somatique. - Dynamique :Le système immunitaire change continuellement par la création de nouvelles cellules et molécules, l’élimination des cellules vieilles ou endommagées. Un bon exemple de la dynamique du système immunitaire est la théorie du réseau idiotypique. - Diversité : Le système immunitaire naturel est capable d’identifier n’importe quels intrus qui envahissent le corps. Le répertoire cellulaire est complet. Cette particularité est due à plusieurs mécanismes qui sont par exemple : l ’hypermutation somatique, la reproduction de récepteur, l’identification approximative des intrus, etc. - Mémorisation : Après une réponse immunitaire à un antigène donné, un ensemble de cellules constituent l'ensemble de cellules mémoires qui seront dotées par une durée de vie longue afin de fournir des réponses immunitaires plus rapides et plus puissantes aux rencontres suivantes d'un même antigène. - Coopération : Les cellules immunitaires coopèrent leurs capacités pour assurer une meilleure détection et également une protection puissante par exemple les cellules T d’aide, les molécules MHC, etc. - Détection : Le système immunitaire est capable d’identifier et détecter les intrus dans le corps sans aucune connaissance antérieure de la structure de ces intrus. 4. Le Système Immunitaire Artificiel Le système immunitaire biologique possède la capacité pour protéger le corps humain contre une variété énorme de pathogènes étrangers. Dans les dernières années, un nombre de chercheurs ont étudié le succès et la compétence de ce système naturel et ont proposé le modèle immunitaire artificiel pour la résolution de divers problèmes. Des approches diverses ont été proposées pour mettre en ouvre les mécanismes de base du système immunitaire humain [DAS03]. Cette section sera consacrée à introduire le système immunitaire artificiel avec une présentation des différents modèles qui ont été mis en ouvre. 53 Chapitre III : système immunitaire 4.1 Définitions 4.1.1 Définition 1 Selon Timmis [TIM01] : « Un système immunitaire artificiel est un système informatique basé sur les métaphores du système immunitaire naturel ». 4.1.2 Définition 2 Dasgupta a défini le système immunitaire artificiel comme suit [DAS99]: « Le système immunitaire artificiel est la composition de méthodologies intelligentes inspirées par le système immunitaire naturel afin de résoudre des problèmes du monde réel ». 4.1.3 Définition 3 Tandis que Timmis et De Castro [TIM02A] ont donné la définition suivante : « Les systèmes immunitaires artificiels sont des systèmes adaptatifs inspirés par des théories immunologiques et des observations de fonctions immunitaires, de s’principes et des modèles, qui seront appliqués à la résolution des problèmes ». 4.2 Le processus de conception d’un AIS Un schéma pour concevoir un algorithme de point de vue quantitatif exige au moins les éléments de base suivants [TIM03],[TIM04] : Une représentation pour les composants du système. Un ensemble de mécanismes pour évaluer l'interaction des individus avec l'environnement. Les environnements sont simulés par un ensemble de stimulus d'entrée, une ou plusieurs fonctions d’évaluation. La procédure d'adaptation qui dirige la dynamique du système, c'est-à-dire comment son comportement varie dans le temps. Ce schéma est adopté par Timmis & de Castro [TIM02A] qui ont proposé un processus de conception d’un AIS. Leur principe est : Une représentation pour créer les modèles abstraits des cellules et d'organes immunitaires. Un ensemble de fonction nommée fonction d'affinité pour évaluer les interactions entre ces éléments artificiels d’une manière quantitative. Un ensemble d'algorithmes pour diriger la dynamique du système immunitaire artificiel. La figure III.8 récapitule les éléments impliqués dans la structure de conception d’un système immunitaire artificiel (AIS). 54 Chapitre III : système immunitaire Solution Algorithme immunitaire Mesure d’affinité Représentation Domaine d’application Figure III.8 : La structure de conception d’un AIS Pour cette raison, la section suivante sera consacrée à présenter la manière de représentation des cellules immunitaires ainsi que les mesures d’affinité existantes. Les différents algorithmes et les modèles immunitaires seront exposés d’une manière détaillée dans les sections suivantes. 4.2.1 La représentation Dans les sections précédentes, les cellules B et T ont été décrites comme les cellules les plus importantes dans le système immunitaire. Elles présentent des récepteurs superficiels utiles pour la reconnaissance des intrus dont les formes de ces récepteurs sont complémentaires à la forme d’antigène. Les cellules et les molécules immunitaires sont alors les éléments qui doivent être modélisés et employés dans les modèles proposés par le système immunitaire artificiel [TIM03]. 4.2.1.1 Le modèle Shape - Space Le modèle Shape- Space (Forme - Espace) a été proposé par Perelson et Oster [38] en 1979. Ce modèle permet une description quantitative des interactions de molécules de récepteur et les antigènes. Dans le système immunitaire biologique, le concept Forme - Espace S est le degré de liaison (le degré de correspondance ou l'affinité) entre le récepteur d’anticorps (Ab ou TCR) et un antigène (Ag). Ce degré de liaison est mesuré via les régions de complémentarité entre les deux éléments (Figure III.9). 55 Chapitre III : système immunitaire Figure III.9 : La représentation du modèle Shape-Space. 4.2.1.2 • Les concepts de base du modèle La forme généralisée L'ensemble de caractéristique qui décrit les propriétés relatives à une molécule d'une perspective d’identification est nommé sa forme généralisée. Mathématiquement, la forme généralisée d'une molécule (m), peut être représentée par un ensemble de coordonnées m = < m1, m2, …mL>, m Єs RL tel que m est un point dans un espace L- dimensionnel, où S représente le modèle Shape-Space. • L’identification via les régions de complémentarité Une population ou bien le répertoire de N individus (les récepteurs de cellule) correspond au Shape-Space avec un volume V fini contenant N points. Comme les interactions antigène anticorps sont mesurées via les régions de complémentarité, les déterminants antigéniques sont aussi caractérisés par des formes généralisées. • Le seuil d’affinité Il est assumé que chaque anticorps agit spécifiquement avec tous les antigènes dont les compléments existent dans une petite région d'encerclement. Cette région est caractérisée par un paramètre « ε » appelé le seuil d'affinité. • La région d identification Le résultat de la définition du seuil d’affinité est le volume Vε qui est appelé la région d’identification. 56 Chapitre III : système immunitaire 4.2.2 Les mesures d’affinités L'affinité entre un anticorps et un antigène est relative à leur distance [TIM03]. Elle peut être estimée via n'importe quelle mesure de distance entre deux chaînes (ou vecteurs) par exemple par l’utilisation de la distance Euclidienne, la distance de Manhattan ou la distance de Hamming [TIM03]. Si on considère un anticorps Ab = <Ab1, Ab2, …AbL> et un antigène Ag =<Ag1, Ag2, … ,AgL>, alors la distance D peut être calculée selon l’une des distances précédentes qui seront présentées respectivement dans la figure suivante : La distance Euclidienne ∑ La distance de Manhattan ∑| | La distance de Hamming 1 ∑ 0 Figure III.10 Différentes distances pour le calcule d’affinité anticorps-antigène [KOU07] 4.3 Les algorithmes du système immunitaire artificiel L’algorithme de la sélection négative 4.3.1 Le système immunitaire humain utilise la sélection négative pour éliminer les cellules immunitaires immatures qui se lient avec les cellules du soi. Seulement les cellules nouvellement générées qui n’apparient à aucune cellule du soi seront libérées du thymus et la moelle osseuse. Ensuite elles sont distribué es dans le corps humain afin d’assurer son contrôle contre les organismes étrangers. Forrest et al [FOR94] ont proposé l’algorithme de la sélection négative qui reflète ce principe. Ils ont considéré l’algorithme de la sélection négative comme un processus de détection d’anomalies composé de trois phases principales : • La définition du soi. • La génération des détecteurs • Le contrôle d’occurrence des anomalies. Cette notion est très intéressante, surtout pour les applications de surveillance des systèmes et la détection d’utilisations anormales ou inhabituelles [CAS03]. L’algorithme de la sélection négative déroulera comme suit [LEA00] : 57 Chapitre III : système immunitaire 1- Étant donné l’ensemble des modèles de soi à être protégé (P), générer un ensemble (M) de détecteurs qui n’identifie aucun élément appartenant à l’ensemble P. 2- Le processus itératif pour produire l’ensemble des détecteurs (M) est décrit comme suit (Figure III.11 (a)) : 3- Générer des éléments candidats (C) de type chaîne d’une façon aléatoire. 4- Déterminer l’affinité entre chaque élément en (C) avec tous les éléments de l’ensemble de soi (P). 5- Si l’affinité d’une chaîne dans (C) avec au moins une chaîne dans (P) est plus grande ou égale à un seuil d’affinité prédéfini Alors Cette chaîne reconnaît l’ensemble de soi, ce qui implique qu’elle doit être éliminée. Sinon la chaîne est ajoutée à l’ensemble de détecteurs (M). Une fois que l’ensemble de détecteurs est produit, l’étape suivante de l’algorithme consiste à contrôler le système contre la présence des modèles de non soi tel que chaque élément détecté par les détecteurs générés est considéré comme un élément de non soi (Figure III.11 (b)). Génération aléatoire de chaines (C) Correspondance Ensemble de détecteurs(M) Ensemble de détecteurs Correspondance Chaine du soi (P) Chaine du non soi Rejet Chaine à protéger (P*) (a) (b) Figure III.11 : La structure générale de l’algorithme de la sélection négative. 4.3.2 L’algorithme de la sélection positive L’algorithme de la sélection positive est proposé par Forrest et al [FOR96] et Somayaji et Forrest [FOR00]. Cet algorithme est la solution alternative de l’algorithme de la sélection négative. La différence principale est la génération des détecteurs qui détectent des éléments de 58 Chapitre III : système immunitaire soi au lieu la génération des détecteurs qui détectent des éléments de non soi. Selon cet algorithme, un élément de non soi suspect doit être comparé avec tout l’ensemble des détecteurs de soi, s’il n’est pas détecté alors il est considéré comme un élément de non soi. 4.3.3 Algorithme de la sélection clonale 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. Il existe différentes utilisations de la théorie de la sélection clonale selon les contextes, que ce soit dans l’apprentissage-machine, la reconnaissance de formes, l’optimisation multi modale ou la détection d’anomalies [CAS00b], les implémentations de cette théorie reprennent les principales étapes du déroulement de cette dernière. Les deux algorithmes les plus connues sont CLONALG et CLONCLAS. De Castro & Von Zuben [CAS00c]ont proposé l’algorithme de la sélection clonale nommé CLONALG qui accompli les tâches de base impliquées dans le processus de la sélection clonale dans le système immunitaire humain. CLONALG initialement appelé CSA (Clonal Selection Algorithm) est basé sur les éléments suivants : - Maintient d’un ensemble de cellules mémoires. - Sélection et clonage des anticorps les plus stimulés. - Re-sélection des clones proportionnellement à l’affinité avec l’antigène. - Suppression des anticorps non stimulés. - Maturation de l’affinité de ces derniers [Bro04]. L’algorithme de base est le suivant : 1. Générer au hasard une population initiale d’anticorps. Il est composé de deux sousensembles : Abm (mémoire population) et Abr (réservoir de population). 2. Crée un ensemble de modèle antigéniques Ag. 3. Sélectionnez un antigène Agi de la population Ag. 4. Pour chaque membre de la population Ab calculer son affinité pour l’antigène Agi affinité en utilisant une fonction de distance (par exemple, de Hamming Distance). 5. Sélectionnez la plus haute affinité n anticorps et générer un nombre de clones de chaque anticorps proportionnel à leur affinité, en plaçant les clones dans une nouvelle population Ci. 59 Chapitre III : système immunitaire 6. Mutez le clone Ci population à un degré inversement proportionnelle à leur affinité pour produire une population d’âge mur Ci*. 7. Réappliquer la fonction d’affinité à chaque membre de la population Ci* sélectionnez la score le plus élevé, comme candidat de cellules mémoire. Si son affinité est plus grande que la cellule courante Abmi, le candidat devient le nouveau « mémoire cellulaire » 8. Supprimer ces anticorps à faible affinité dans la population et remplacer Abr avec les nouveaux membres générés de manière aléatoire. 9. Répétez les étapes 3-8 jusqu’à ce que tous les antigènes aient été présentés. Cela représente une génération de l’algorithme. Une génération de l’algorithme est complète lorsque tous les antigènes ont été présentés et toutes les mesures ont été effectuées pour chaque antigène. Cet algorithme conserve seulement une cellule pour chaque antigène qui lui est présentée [LEA01]. 4.3.4 La L’algorithme du réseau immunitaire théorie du réseau immunitaire a suggéré un système immunitaire avec un comportement dynamique même en absence d'un antigène de non soi. Il existe plusieurs modèles du réseau immunitaire [TIM03], [DAS03] à titre d’exemple on peut citer le modèle proposé par Timmis & Neal. Cependant, Nous limiterons notre discussion à la description d ’un seul modèle du réseau immunitaire. Ce modèle est nommé aiNet « Artificial Immune Network » qui a été proposé par De Castro & Von Zuben [VON01]. L’algorithme AINET est donné comme suit [LEA01] : 1- Initialisation : créer une population initiale d'anticorps d’une façon aléatoire. 2. Présentation antigénique : pour chaque modèle antigénique faire : 2.1. Sélection clonale et expansion : pour chaque élément de réseau, déterminer son affinité avec l'antigène présenté. Sélectionner les éléments de haute affinité et les reproduire proportionnellement à leur affinité. 2.2. Maturation d'affinité : chaque clone est muté inversement proportionnel à son affinité. Sélectionner quelques clones de plus haute affinité pour constituer l'ensemble mémoire. 2.3. Interactions clonales : déterminer l’interaction réseau (affinité) de tous les éléments de l’ensemble mémoire. 60 Chapitre III : système immunitaire 2.4. Suppression clonale : éliminer ces clones mémoires dont l'affinité est moins d'un seuil prédéfini. 2.5. Méta dynamique : éliminer tous les clones mémoires dont l'affinité avec l'antigène est moins d'un seuil prédéterminé. 2.6. Construction de réseau : incorporer les clones restants de l'ensemble mémoire avec les anticorps du réseau. 2.7. Interactions de réseau : déterminer la similitude entre chaque paire d'anticorps du réseau. 2.8. Suppression de réseau : éliminer tous les anticorps du réseau dont l'affinité est moins d'un seuil prédéterminé. 3. Cycle : répéter ces pas un certain nombre d'itérations. Il y a beaucoup de similarité entre aiNet et les algorithmes de sélection clonale. En fait la sélection clonale artificielle est un cas particulier des réseaux immunitaires [Gar05].Dans aiNet, ce sont les étapes de suppression clonales qui distinguent cet algorithme de la sélection clonale puisqu’elles expriment des interactions explicites entre les anticorps (cellules mémoire) dans le réseau. Alors que dans les algorithmes de sélection clonale aucune interaction explicite ne se fait entre les anticorps. 5. Extension du système immunitaire artificiel 5.1 Le modèle de soi / non soi Le système immunitaire adaptatif et en particulier les cellules B secrètent des anticorps spécifiques pour reconnaître et réagir au stimulus. La correspondance entre l’antigène et l’anticorps est l’élément de base dans la plupart des implémentations des AIS. La caractéristique principale du système immunitaire est sa capacité à répondre aux envahisseurs étrangers sans réagir aux molécules de soi. Afin d’assurer ce rôle, le système immunitaire a besoin de différencier entre les cellules de soi et entre les cellules étrangères ou les pathogènes. Cette discrimination est apprise tôt dans la vie grâce aux différents processus immunitaires qui jouent un rôle important pour réaliser la tolérance au soi [AIC03]. Le modèle de soi / non soi se base sur ce principe de telle sorte que la réponse immunitaire soit déclenchée quand le corps rencontre quelque chose de non soi ou étrangère. 61 Chapitre III : système immunitaire 5.2 Le modèle de la théorie de danger Au cours de la dernière décennie, une nouvelle théorie appelée la théorie de danger est devenue populaire parmi les immunologistes. Cette théorie qui est proposée en 1994 par Matzinger [MAT94] [MAT98] [MAT02] et qui propose des nouvelles conditions pour le déclenchement de la réponse immunitaire. Elle propose que la réponse immunitaire soit déclenchée suite à l’existence de danger et non suite à l’existence d’un élément étranger. 5.2.1 Critique du modèle de soi / non soi La théorie de danger défie le point de vue du modèle de soi / non soi, elle signale qu'il existe des exemples de discrimination apparaissant après la distinction de soi / non soi [AIC02] [AIC03]. Par exemple : - Aucune réaction immunitaire aux bactéries étrangères dans l'intestin ou à l'alimentation que nous mangeons bien que tous les deux soient des entités étrangères. - L’utilité de quelques processus auto réactifs par exemple contre les molécules de soi exprimées par les cellules de stresses. - La définition de soi est limitée au sous-ensemble vu par les lymphocytes pendant la période de maturation. - Le corps humain change pendant sa durée de vie et par conséquence le soi change aussi. Donc, les défenses apprises tôt dans la vie contre le non soi pourraient être auto réactives plus tard. - L’existence des situations où le système immunitaire peut réagir au soi par exemple le cas des maladies auto- immunitaires et des tumeurs. Ainsi, le cas où il n’existe aucune attaque contre le non soi dans le cas des greffes. 5.2.2 Le principe de base de la théorie de danger La théorie de danger propose que le système immunitaire ne réponde pas aux éléments de « non soi » mais aux éléments qui déclenchent le « danger » dans le corps. Dans cette théorie, les envahisseurs étrangers qui sont dangereux encouragent la génération des signaux de danger. Le danger est mesuré par des dégâts sur les cellules indiqué es par les signaux de détresses qui sont envoyés quand les cellules meurent d'une façon inhabituelle (nécrose) par opposition à la mort de cellule programmée (apoptose). Ces signaux de danger sont reconnus par les cellules de présentation d’antigène (APC) qui sont des cellules critiques pour l’initialisation de la réponse immunitaire. 62 Chapitre III : système immunitaire La figure III.12 décrit la manière de déclenchement d’une réponse immunitaire selon la théorie de danger [AIC02]. Une cellule qui est dans la détresse déclenche un signal d'alarme et par conséquence les antigènes dans le voisinage seront capturés par les cellules de présentation d'antigène (APC) qui déplacent au nœud de lymphe local afin de présenter l’antigène aux lymphocytes. Le signal d'alarme engendre une zone dangereuse autour de lui pour permettre la stimulation des cellules B qui correspondent à l'antigène dans la zone dangereuse et qui subissent ainsi le processus d'expansion clonale, par contre celles qui ne correspondent pas ou sont trop loin ne seront pas stimulées. Figure III.12 : Principe de la théorie du danger 5.2.3 La mort cellulaire Il existe deux types majeurs de mort cellulaire soit la nécrose et l'apoptose [AIC03]. 5.2.3.1 La nécrose La nécrose est une mort cellulaire dite « accidentelle » qui survient lors d’un dommage tissulaire et qui provoque l'inflammation dans le tissu. 5.2.3.2 L’apoptose L’apoptose ou la mort cellulaire programmée est une forme physiologique de mort cellulaire hautement régulée nécessaire à la survie des organismes multicellulaires. Les cellules d'organismes multicellulaires s'autodétruisent lorsqu'elles sont endommagées ou 63 Chapitre III : système immunitaire lorsqu'elles présentent des dysfonctionnements. L’apoptose ne provoque pas l'inflammation dans le tissu. 5.3 L’emploi de la théorie de danger dans un AIS La théorie de danger fournit des nouvelles idées intéressantes pour la représentation et le traitement des données dans les systèmes immunitaires artificiels. Elle se concentre sur ce qui est dangereux et le traitement des signaux de danger. Elle propose une nouvelle condition pour déclencher la réponse immunitaire [AIC02][AIC03] et cela par l’exploitation de la mort cellulaire nécrose qui signifie qu’il existe quelque chose anormale dans le système au contraire à la mort cellulaire apoptose. 6. L’analogie entre le système de détection d’intrusion et le système immunitaire 6.1 Introduction Les approches de la sécurité des ordinateurs inspirées de la biologie sont devenues intéressantes par rapport à d’autres approches pour deux raisons à savoir : - Les systèmes informatiques et les espèces biologiques sont souvent attaqués. - Les systèmes informatiques deviennent de plus en plus complexes et les approches traditionnelles de la sécurité ne peuvent pas assumer le rôle de protection d’une manière parfaite, par contre les métaphores biologiques deviennent de plus en plus très puissantes. Comme vu dans la section précédente, le système immunitaire artificiel a été appliqué aux différents domaines de recherche. Parmi ces domaines, la sécurité et la détection d'intrusions sont le secteur d'application qui est le plus étroitement lié avec le système immunitaire humain, puisque les deux systèmes ont un but commun qui consiste à assurer la protection contre des agents étrangers. Afin de détailler ce lien, nous allons consacrer cette section pour la présentation de l'analogie entre le système immunitaire humain et le système de détection d'intrusions. 6.2 L’immunologie et la sécurité des systèmes informatiques 6.2.1 L’immunologie Le corps humain est constamment sous l’attaque par des micro-organismes hostiles qui sont la source de beaucoup de maladies. Le but du système immunitaire est la protection du 64 Chapitre III : système immunitaire corps contre ces pathogènes, il est face à deux aspects de problème qui sont [STE99] : l'identification ou la détection des pathogènes et l'élimination efficace de ces pathogènes en réduisant au minimum les dégâts causés. 6.2.2 La sécurité des systèmes informatiques Le problème qui touche le système immunitaire est semblable à celui de système de sécurité des systèmes informatiques : le système immunitaire protège le corps contre les pathogènes et analogiquement le système de sécurité d'ordinateur doit protéger les systèmes informatiques contre les différentes intrusions. Cette analogie peut être bien dé finie en exposant les problèmes confrontés par les systèmes de sécurité des systèmes informatiques [STE99]. - Confidentialité : le système de sécurité doit assurer la protection contre les accès non autorisés aux systèmes et aux informations. - Intégrité : il doit protéger les données contre les opérations non autorisées telles que : la modification, la suppression, etc. - Disponibilité: la protection des utilisateurs légitimes contre l’indisponibilité des ressources. - Responsabilité: si le compromis d'un système d'ordinateur a été détecté, le système de sécurité d'ordinateur doit préserver l'information suffisante pour identifier ces intrus. - Justesse : les alarmes fausses de la classification incorrecte d’événements doivent être réduites au minimum. La similitude entre le problème de sécurité et le problème de système immunitaire peut être montrée en traduisant la langue d’immunologie dans des termes de sécurité d'ordinateur [STE99] : le système immunitaire détecte les abus d'une politique de sécurité implicitement indiquée par la sélection naturelle et répond à ces abus par des contre attaques de la source de l'abus. La disponibilité permet au corps de continuer son fonctionnement même dans le cas d’existence des attaques de pathogènes. La justesse signifie que le système immunitaire ne doit pas attaquer le corps. L’intégrité signifie l’assurance que les gènes de cellule ne soient pas infectés par les pathogènes et la responsabilité signifie la recherche et l ’élimination des pathogènes responsables de la maladie. Un aspect de sécurité qui n'est pas important pour le système immunitaire est la confidentialité parce qu'il n’existe aucune notion de données secrètes dans le corps qui doit être protégé à tout prix. 65 Chapitre III : système immunitaire 6.3 L’analogie entre le système immunitaire et un système de détection d’intrusions Dans cette section, l’étude de l’analogie entre le système immunitaire et le système de détection d'intrusions est basé essentiellement sur le travail établit par Kim [KIM99] [KIM02] dans lequel la démonstration de cette analogie est composée de trois étapes essentielles. La première étape présente les exigences principales d’un IDS basé réseau compétent, la deuxième étape introduit les buts de conception d’un IDS pour satisfaire les exigences de la première étape. Enfin, la dernière étape analyse les propriétés significatives du système immunitaire par une comparaison avec les buts de conception d’un IDS basé réseau. Ainsi, cette démonstration est basée d’une manière générale sur un IDS basé réseau pour deux raisons principales : - Un IDS basé hôte peut être considéré comme l’un des composants d’un IDS basé réseau. - Un IDS basé réseau possède la possibilité de contrôler des hôtes multiples d’une manière distribuée de la même façon que le système immunitaire. 6.3.1 Les exigences d'un IDS basé réseau La conception d’un IDS basé réseau compétent doit prendre en considération les fonctions suivantes [LAB06] : Robustesse : Le système de détection d’intrusions doit être doté par des points de détection multiples pour qu’il soit assez robuste contre les attaques et les fautes de système. Configurabilité : La configuration d’un IDS doit être facile aux exigences locales de chaque hôte et aux composants du réseau. Extensibilité : La facilité d’étendre la portée du contrôle d’un IDS par l’ajout de nouveaux hôtes d’une manière simple indépendamment des systèmes d'exploitation. Incrémentabilité « Scalability » : Il est nécessaire de réaliser l’incrémentabilité fiable pour réunir et analyser correctement le grand volume de données d’audit à partir des hôtes distribués. Dans le cas d’un IDS centralisé, la procédure de collection des données d’audit est distribuée alors que son analyse est centralisée. Cependant, il est difficile d’analyser toutes les données sur un seul IDS sans aucune perte des données. 66 Chapitre III : système immunitaire Adaptabilité : Les environnements de système informatique ne sont pas statiques, les utilisateurs et les administrateurs de système changent constamment et par conséquence les intrusions changent. Un IDS doit être capable des adapter aux changements dynamiques afin de détecter les différentes intrusions. Analyse Globale : Afin de détecter les intrusions issues du réseau, il est nécessaire de contrôler la corrélation entre les différents événements produits sur les différents hôtes car l’analyse établie par un seul hôte peut donner juste une erreur normale. Efficacité : Le système de détection d’intrusions doit être simple et assez souple pour ne pas influencer sur les activités des hôtes et le réseau ce qui peut engendrer la dégradation de performance du réseau. 6.3.2 Les buts de conception d'un IDS basé réseau L'analyse des exigences identifiées ci-dessus peut être employée pour tirer trois buts de conception principaux d'un IDS basé réseau [KIM99][KIM02]. Ces buts sont la distribution, l’auto organisation et la souplesse « lightweight ». 6.3.2.1 La distribution Un système de détection d’intrusions basé réseau distribué délègue ses responsabilités à un nombre de composants distribués dont chacun contrôle un sous espace du système complet d’une manière concurrente et coopérative. Un IDS basé réseau distribué satisfera les exigences suivantes : Robustesse : pour un IDS basé réseau distribué, l'échec d'un composant de détection d'intrusions local n'endommage pas l’IDS complet bien qu'il cause la dégradation minimale de l’exactitude de la détection complète. Configurabilité : la facilité de configuration d’un processus de détection d'intrusions aux exigences locales d'un hôte spécifique sans considération des exigences d’autres hôtes. Extensibilité : si un nouvel hôte exécutant un système d’exploitation différent est ajouté à un réseau, il est facile d'ajouter des nouveaux processus de détection d'intrusions sur cet hôte, parce que les processus de détection d'intrusions sont indépendants et ne seront pas modifiés quand un nouveau processus est ajouté. 67 Chapitre III : système immunitaire Incrémentabilité « scalability » : puisque la collecte et l’analyse des données d'audit seront effectuées dans le même endroit dans un hôte contrôlé locale ment, le grand volume de données d'audit est distribué sur plusieurs hôtes locaux et par conséquence l’IDS distribué permet plus d’incrémentabilité que l’IDS basé sur un serveur local. 6.3.2.2 L’auto organisation Un système de détection d’intrusions basé réseau auto organisé apprend les signatures d'intrusions qui sont inconnues et/ou distribuées sans aucune information prédéfinie. Un IDS basé réseau auto organisé satis fera les exigences suivantes : Adaptabilité : il est adaptatif parce qu'il n'y a aucun besoin de la mise à jour manuelle de ses signatures d'intrusions. Analyse globale : le système de détection d'intrusions complet fournit l'analyse globale parce qu'il est auto organisé à partir des interactions entre les différents processus de détection d'intrusions. 6.3.2.3 La souplesse « lightweight » Un IDS basé réseau est souple parce qu’il n'influence pas sur les performances du système.Un IDS basé réseau souple satisfera la dernière exigence. Efficacité : quand chaque composant d ’un IDS assure une partie minimale du contrôle, les activités principales qui doivent être exécutées par les hôtes locaux et le réseau ne sont pas défavorablement affectées par le contrôle. 6.3.3 Une analyse des caractéristiques du SIH Une analyse prudente des capacités complexes du système immunitaire humain permet l’identification de plusieurs propriétés significatives pour la détection d'intrusions basée réseau. Ces propriétés spécifiques du système immunitaire peuvent agir ensemble pour satisfaire chacun des trois buts de conception d’un IDS basé réseau compétent.[LAB06] 6.3.3.1 Un modèle distribué La détection d’un antigène dans le système immunitaire humain est distribuée. Cette caractéristique est assurée par l’ensemble des mécanismes suivants : Réseau immunitaire idiotypique : le système immunitaire humain est mis en œuvre par les interactions entre différents types de cellules. Au lieu de l'utilisation d'un coordinateur central, le système immunitaire humain assure des réponses immunitaires 68 Chapitre III : système immunitaire appropriées par maintenir le statut d’équilibre du réseau immunitaire entre la suppression par anticorps et l’activation par antigène. Ensemble d'anticorps unique : le système immunitaire humain produit des groupes divers d'anticorps pour détecter les différents antigènes. La diversité des anticorps est maintenue par la sélection naturelle dans la bibliothèque de gènes et la sélection clonale de telle sorte que chaque ensemble d’anticorps est unique et indépendant Ces propriétés n'exigent pas un coordinateur central et permettent la détection des intrus au niveau local des anticorps. 6.3.3.2 L’auto organisation La réponse immunitaire est composée de trois étapes évolutionnaires qui sont : l’évolution de la bibliothèque de gènes, la sélection négative et la sélection clonale. Ces trois étapes sont auto organisées plutôt que la direction par un organe central ou obtenir une information prédéfinie. L’évolution de la bibliothèque de gènes compétents nécessite une certaine : La production des anticorps connaissance de propriétés antigéniques. Le système immunitaire apprend ces connaissances par l’évolution de la bibliothèque de gènes. Puisque ce processus d’évolution est auto organisé, il permet aux bibliothèques de gènes d’agir comme une archive d’information afin de détecter les antigènes observés. La sélection négative : la sélection négative élimine les anticorps immatures qui correspondent avec les cellules du soi. Le système ne possède aucune information globale sur les cellules de soi, la satisfaction de cette contrainte est assurée dans le thymus et la moelle osseuse par la présentation des cellules de soi afin de supprimer les anticorps qui attaquent ces cellules. La sélection clonale: Ce processus permet la prolifération des meilleurs anticorps alors que les anticorps de faible affinité meurent après une durée de vie. Ainsi, selon les antigènes existants seulement les anticorps les plus convenables survivent. De la même façon au lieu de l’obtention de l'information prédéterminée sur les antigènes spécifiques, le système immunitaire est capable de sélectionner d’une manière autonome les anticorps les plus convenables en agissant avec les antigènes existants. 69 Chapitre III : système immunitaire 6.3.3.3 La souplesse Le système immunitaire humain est souple. Les mécanismes décrits au-dessous permettent au système immunitaire d'être souple et sont concentrés sur trois idées : - La détection d’un ensemble énorme d’antigènes avec un ensemble plus petit d'anticorps. - La réutilisation de l'information antigénique connue préalablement d’une manière efficace pour les prochaines détections. - La production de nombreux anticorps avec un nombre limité de gènes. La liaison approximative :la réponse immunitaire est déclenchée quand l'affinité de la correspondance entre un anticorps et un antigène dépasse un certain seuil. Cette liaison approximative permet qu’un seul anticorps puisse détecter n'importe quel nombre d’antigènes tant que leur affinité est au-dessus de seuil d ’affinité. Cette liaison approximative contribue pour augmenter la généralité de système immunitaire. Les cellules mémoires : les cellules mémoires stockent l'information génétique d’un antigène précédemment détecté afin de répondre d ’une façon rapide et efficace à ces prochaines rencontres dans l'avenir. Expression de gène : le système immunitaire maintient la diversité d'anticorps pour assurer la détection efficace d'un grand nombre d’antigènes. Le processus de développement d'anticorps « expression de gène » emploie plusieurs mécanismes génétiques pour produire différents anticorps. Hypermutation somatique : le système immunitaire apprend dynamiquement le changement antigénique via la sélection clonale. Le résultat de la sélection clonale suivie par l’hypermutation somatique est un ensemble d’anticorps avec des variations plus larges de leurs gènes de correspondance avec les antigènes. Discussion Le système immunitaire humain est distribué par son réseau immunitaire et les ensembles d'anticorps uniques. Ainsi, il est auto organisé en conséquence de trois processus évolutionnaires qui sont l’’évolution de la bibliothèque de gènes, la sélection négative et la sélection clonale. Il est souple par la généralité de la liaison approximative, l’expression de gène, l’hypermutation somatique et l'efficacité des cellules mémoires. Ces propriétés significatives montrent le lien étroit entre le système immunitaire humain et le système de détection d’intrusions. Elles montrent que la réalisation des exigences principales 70 Chapitre III : système immunitaire pour la conception d’un système de détection d’intrusions basé réseau est envisageable par l’utilisation d’un système immunitaire artificiel, ce qui motive les différentes recherches exploitant les systèmes immunitaires artificiels dans le domaine de sécurité. 7. Les domaines d’application des AIS Comme vu dans les sections précédentes, le système immunitaire artificiel possède une variété de modèles de telle sorte que chaque modèle est basé sur une partie particulière de fonctionnement du système immunitaire humain. Cette diversité permet d’utiliser le système immunitaire artificiel à plusieurs secteurs d'application pour des buts différents. D’une manière générale, parmi ces secteurs on peut citer : [DAS03][TIM04][KIM02] 7.1 La sécurité des ordinateurs La sécurité des ordinateurs est une application directe de la métaphore du système immunitaire humain. Plusieurs travaux intéressants ont été proposés afin d’exploiter les principes de base de la détection et l’élimination, employés par le système immunitaire humain dans la sécurité des systèmes informatiques. Un travail très intéressant, et qui est considéré parmi les premières tentatives dans ce secteur de recherche et celui de Stéphanie Forrest et son groupe [F0R94]. Dans ce travail, le problème de la protection des systèmes informatiques est vu comme une instance d’un problème de la discrimination entre le soi et le non soi ce qui signifie la capacité de distinction entre les utilisateurs légitimes et les données non infectées qui constituent le soi et les virus et les utilisateurs non autorisés qui constituent le non soi. 7.2 La détection et l’élimination des virus informatiques Okamoto et Ishida [OKA99] ont proposé un système multi agent basé AIS. Ce système de détection de virus opère dans un environnement distribué et hétérogène. L’algorithme de la sélection négative a été utilisé comme une méthode d’authentification de fichier. La détection des virus est réalisée via l’appariement entre les informations propres d’un fichier tel que les premiers bits de l’entête du fichier, sa taille, le chemin d’accès et le fichier de l’hôte. La neutralisation des virus est faite par la réécriture des informations initiales sur le fichier infecté. Le système est composé de quatre types d’agents qui sont : - Les agents anticorps qui détectent les virus sur les hôtes locaux. - Les agents tueurs qui neutralisent les virus par les réécritures des informations initiales sur les fichiers infectés. 71 Chapitre III : système immunitaire - Les agents de copie qui copient les fichiers non infectés qui sont équivalents aux fichiers infectés à partir des différents hôtes. - Les agents de contrôle qui aident la communication entre les différents agents. 7.3 Optimisation Le problème d’optimisation consiste à trouver l’ensemble absolu des meilleures conditions admissibles pour atteindre un certain objectif. Les problèmes d'optimisation apparaissent dans plusieurs secteurs d’application. Pour cette raison, ce problème est caractérisé par l’existence de plusieurs travaux qui ont exploité le système immunitaire artificiel afin de résoudre les différents problèmes d’optimisation. Par exemple le travail de De Castro & Von Zuben[CAS00c]dont le but principal est le développement d’un algorithme approprié pour le problème d’optimisation, la reconnaissance de forme. Ce travail se focalise sur le principe de la sélection clonale et la maturation d’affinité lors d’une réponse immunitaire adaptative afin de résoudre des problèmes complexes tels que l’optimisation combinatoire et l’optimisation multi modale. 7.4 Robotique Plusieurs tentatives ont été faites pour appliquer le principe du réseau immunitaire pour contrôler les grandes populations de robots dont le but principal est d’obtenir les propriétés de base du système immunitaire qui sont l’auto organisation et le comportement de groupe. Le travail de Mitsumoto et al [MIS96] est parmi les premiers travaux, ils ont essayé de créer un groupe de robots qui se comportent d’une façon autonome pour chercher l'alimentation sans aucun mécanisme de contrôle global. L'idée principale dans ce travail est l'interaction entre les robots au niveau local. Les auteurs emploient trois métaphores immunologiques principales. La première métaphore est les cellules B, où un robot représente une cellule B dont chaque robot possède une stratégie particulière pour trouver l'alimentation. La deuxième est le réseau immunitaire pour garantir l'interaction entre ces robots. La troisième est le calcul de stimulation des cellules B, où le robot qui est le plus stimulé alors sa stratégie est la meilleure pour être prise en considération. Suite à ce travail, plusieurs travaux ont été proposés dans ce domaine de recherche. 7.5 Autres domaines d’utilisation Le système immunitaire artificiel est utilisé dans plusieurs secteurs de recherche. Voici une liste non exhaustive d’autres domaines d’application : 72 Chapitre III : système immunitaire - La maintenance des systèmes d’ordinateurs [BUR98] [BUR98a] [BUR00]. - La reconnaissance de formes [MCC97][ROB93]. - Apprentissage [HUN96] [HUN98] [NIK99] [POT98]. - La classification des données [VON01] [TIM01]. - La planification [HAR98] [HAR99] [MOR98]. - Etc. 7.6 Le Système Immunitaire Artificiel pour La détection d’intrusions Les différents travaux dans le domaine de la détection d’intrusions ont exploité les différents modèles du système immunitaire artificiel, le tableau ci-dessus (tableau III.1) récapitule les différents travaux avec les différents modèles immunitaires utilisés qui sont : La bibliothèque de gènes signifie que le système implémenté utilise une méthode évolutionnaire pour initialiser les génotypes des détecteurs et non pas d’une façon aléatoire. La sélection clonale qui correspond au processus de prolifération et différenciation des cellules B pour incrémenter la généralité et la couverture des détecteurs par le processus d’hypermutation. La mémoire immunitaire permet l’apparition de la réponse secondaire afin d’obtenir une réponse plus rapide et plus efficace à une attaque déjà connue. le réseau idiotypique correspond à l’implémentation de la théorie du réseau idiotypique qui propose qu’il existe une interaction entre les différents composants immunitaires. Le modèle de soi et non soi qui permet au système de reconnaître ce qui est normal ou ce qui lui appartient afin de détecter le non soi. La réponse dans ce contexte ne signifie pas tout simplement la génération d’une alerte, mais l’implémentation d’un changement dans le système en fonction du résultat de détection. Modèle Travaux Soi / non soi Sélection Sélection négative Kephart [KEP99] x Forrest [FOR94] x Hofmeyer [HOF99] x x Forrest[FOR96] x x Balthrop [BAL02] x x Gonzalez[GON03] x x clonale Mémoire Théorie de immunitaire danger Réponse x x 73 Chapitre III : système immunitaire Dasgupta [DAS02] x x x Greensmith [GRE05] x Tableau III.1 : Un récapitulatif des différents travaux dans le domaine des IDS L’analyse prudente de ces travaux permet de tirer les remarques suivantes [AIC04] : - Le modèle de soi / non soi est le modèle dominant parce qu’il est adopté par les différents travaux proposés. - L’utilisation de l’algorithme de la sélection négative défini par Stéphanie Forrest et son groupe comme un algorithme de base pour générer les détecteurs de non soi. - La proposition d’un nouveau modèle immunitaire qui se base sur la théorie de danger par Greensmith et al [GRE05]. Ce modèle se base sur l’abstraction du fonctionnement des cellules dendritiques et qui intègre la notion de danger. A la fin de cette section, nous pouvons constater que les systèmes de détection d’intrusions basés sur les systèmes immunitaires artificiels ont encore des points à explorer. Ils peuvent par exemple adopter des concepts et des aspects plus larges inspirés d’immunologie comme par exemple : la théorie de danger, la bibliothèque de gènes et le réseau idiotypique. 8. Conclusion Les systèmes immunitaires sont un exemple de systèmes naturels qui ont servi de source d’inspiration pour résoudre une grande variété de problèmes informatiques. Dans le cadre de la reconnaissance des formes, les systèmes immunitaires naturels présentent plusieurs propriétés très intéressantes comme la distinction entre le soi et le non soi, la détection de changement, la mémorisation, l’adaptabilité ainsi que la gestion des ressources. Le système immunitaire naturel dispose de deux sortes de défenses : les défenses innées, à large spectre d’action mais d’efficacité moyenne, et les défenses acquises qui sont très spécifiques mais aussi beaucoup plus efficaces. Vu leur nature adaptative, ce sont les mécanismes de défense acquise qui ont le plus inspiré la recherche informatique. Les systèmes immunitaires artificiels se divisent en trois grandes familles : la sélection négative, qui s’inspire des mécanismes naturels de distinction entre soi et non soi, pour résoudre des problèmes de surveillance et de détection de changement. La sélection clonale artificielle, qui s’inspire des mécanismes naturels de mémorisation pour résoudre des problèmes d’optimisation. Les réseaux immunitaires artificiels, qui s’inspirent de la théorie des réseaux immunitaires pour 74 Chapitre III : système immunitaire construire des systèmes qui permettent la distinction et la mémorisation, ces derniers ont surtout été utilisés pour l’analyse de données. Dans ce chapitre aussi, nous avons exposé le lien entre l’objectif d’un système de détection d’intrusions et celui du système immunitaire. A cette démonstration, nous pouvons ajouter un autre exemple simple qui illustre encore cette analogie. Le système immunitaire possède une architecture multicouche. Il est composé principalement de deux couches qui sont le système immunitaire inné et le système immunitaire adaptatif. Le système immunitaire inné est semblable aux détecteurs basés signature d’un IDS car les deux systèmes ont les connaissances antérieures des attaques. De la même façon le système immunitaire adaptatif est semblable au détecteur d’anomalies d’un IDS parce que les deux systèmes produisent de nouveaux détecteurs d’une manière adaptative afin de détecter les attaques inconnue. A la fin de ce chapitre, nous pouvons conclure que le système immunitaire est l’un des meilleures solutions qui pourrait être utilisée pour concevoir un système de détection d’intrusions compétent et efficace. 75 Chapitre IV : implémentation et résultats Chapitre IV : Implémentaion et résultat 76 Chapitre IV : implémentation et résultats 1. Introduction Après avoir donné toute la théorie que nous voyons nécessaire pour le développement de notre système. Il est le temps de mettre en œuvre les différentes fonctionnalités ainsi les algorithmes proposés. Dans ce chapitre, nous explorons les systèmes immunitaires artificiels pour le développement d’un système de détection d’intrusion réseaux. L’ensemble de données utilisé pour les différentes expérimentations provient de laboratoire « MIT’s Lincoln Lab ». Cet ensemble a été développé pour « DARPA Intrusion Detection Evaluation Program » et il est considéré comme un standard pour les évaluations des IDS. La KDD99 utilise une version de cet ensemble de données [KDD99] Les déférentes sections de ce chapitre vont présentés la base de donnés utilisés (KDD99) pour l’apprentissage et le test des systèmes immunitaires artificiels, l’architecture du système ainsi que les différents résultats expérimentaux. 2. Ressources matériels et logiciel Pour la mise en œuvre des applications, nous avons utilisé un micro portable ayant les caractéristique suivantes : Micro processeur Intel core 2 duo (1.6GHZ), avec une RAM 2Go, un Disque dur 250 Go, le système d’exploitation Windows XP Pack 2 et comme langage de programmation nous avons utilisé le langage MATLAB 3. Base de données KDD99 En 1998, les laboratoires de MIT Lincoln ont organisé un programme d’évaluation des systèmes de détection d’intrusion DARPA dans le but d’examiner et d’évaluer les recherches dans la détection d’intrusion. Pour cela, ils ont installé un environnement pour acquérir des connexions TCP/IP pendant neufs semaines dans un réseau local (LAN) simulant un LAN typique de l'Armée de l'Air des États-Unis. Le réseau a été actionné mais en lui injectant de multiples attaques [KEN98]. Pour chaque connexion TCP/IP, 41 attributs quantitatifs et qualitatifs ont été extraits [STO00] (voir Annexe A). La compétition "KDD Intrusion Detection 1999" utilisait un sous ensemble de 494021 enregistrements ce qui représente 10% de la base de données globales. Les principaux types d’attaques de l’ensemble de données KDD99 sont : Probing: surveillance et sondage DOS (Denial Of Service): déni de service R2L (Remote to User): accès non autorisé à partir d’une machine distante U2R (User to Root): accès non autorisé pour avoir le privilège d’un administrateur 77 Chapitre IV : implémentation et résultats 3.1 Probing (Sondage) L’attaquant de cette classe commence par un sondage de la future victime, ce que l’on appelle scan. Ce sondage va balayer chaque port IP afin de connaître les services offerts par le système (OS, topologie du réseau, protections déployées,…). Une fois ce balayage achevé, la machine de l’intrus (celui qui réalise l’intrusion) tente alors d’identifier le système d’exploitation utilisé par cette victime et d’exploiter les informations qu’elle a récoltées. Cette classe d’attaque est la plus étendue et elle requit une expertise technique minime. Les exemples de ce type d’attaque sont Ipsweep, Mscan, Nmap, Saint, Satan. Type d’attaque Service mécanisme L’effet de l’attaque Ipsweep Icmp Abus des propriétés Identification des machines atives Mscan Plusieurs Abus des propriétés Recherche des vulnérabilités Nmap Plusieurs Abus des propriétés Identification des ports actifs sur une machine Saint Plusieurs Abus des propriétés Recherche des vulnérabilités Stan Plusieurs Abus des propriétés Recherche des vulnérabilités Tableau 1. Attaques de Probe 3.2 Attaques de Dénis de Services Cette attaque porte bien son nom puisqu’elle aboutira à l’indisponibilité d’un service (application spécifique) ou d’une machine visée en occupant par exemple des ressources telle que la mémoire par de fausses requêtes. Il existe plusieurs types de déni de services, d’une part ceux qui exploitent les bugs d’une application et d’autre part ceux dus à une mauvaise implémentation d’un protocole ou à des faiblesses de celui-ci. Les principales attaques qu’on peut trouvées sont Apache2, Back, Land, Mail bomb, SYN Flood, Ping of death, Process table, Smurf, Syslogd, Teardrop, Udpstorm. Type d’attaque Service Mécanisme Effet de l’attaque Apache 2 http Abus Crashe http Back http Abus/Bug Ralentit les réponses du serveur Land http Bug Bloque la machine Mail bomb N/A Abus Ennui SYN Flood TCP Abus Déni de service sur un ou plusieurs ports Ping of Death Icmp Bug Aucun Process table Icmp Abus Refuse de nouveaux processus 78 Chapitre IV : implémentation et résultats Smurf Syslog Abus Ralentit le réseau Syslogd N/A Bug Tue le Syslogd Teardrop Echo/Charged Bug Redémarre la machine Abus Ralentit le réseau Udpstrom Tableau 2. Attaques de dénis de service 3.3 Attaques User to Root L’objectif de cette classe d’attaques est d’obtenir la main de l’administrateur système (Root) à partir d’un simple compte utilisateur par l’exploitation des vulnérabilités. Les exploits les plus connus sont les débordements réguliers des Buffers (buffer overflows) dus aux erreurs de programmation. Les principales attaques de ce type sont Eject, Ffbconfig, Fdformat, Loadmodule, Perl, Ps, Xterm. Type d’attaque Service Mécanisme Effet de l’attaque Eject Session utilisateur Débordement du buffer Gagne le shell root Ffbconfig Session utilisateur Débordement du buffer Gagne le shell root Fdformat Session utilisateur Débordement du buffer Gagne le shell root Loadmodule Session utilisateur Un mauvais système d’installation Gagne le shell root Perl Session utilisateur Un mauvais système d’installation Gagne le shell root Ps Session utilisateur Une mauvaise gestion des fichiers temporels Gagne le shell root Xterm Session utilisateur Débordement du buffer Gagne le shell root Tableau 3. Attaques de User to Root 3.4 Attaques Remote to User Dans cette classe, l’attaquant (machine distante) envoie des paquets vers une machine du réseau cible, après il exploite les vulnérabilités de cette machine afin d‘avoir un accès illégal comme un utilisateur. Il y a plusieurs types d’attaque de R2U, les plus connues utilisent ou exploitent les bugs ou les mauvaises configurations des applications ou des systèmes. Les exemples de cette classe d’attaque sont Dictionary, Ftp_write, Guest, Imap, Named, Phf, Sendmail, Xlock, Xsnoop. 79 Chapitre IV : implémentation et résultats Type d’attaque Service Mécanisme Effet de l’attaque Dictionary telnet, rlogin, pop, ftp, imap Abus des propriétés Gagne un accèss utilisateur ftp-write ftp Mauvaise configuration Gagne un accèss utilisateur Guest telnet, rlogin Mauvaise configuration Gagne un accèss utilisateur Imap Imap Bug Gagne un accèss root Named dns Bug Gagne un accèss root Phf http Bug Exécute des commandes autant qu’utilisateur http Sendmail smtp Bug Exécute des commandes autant que root Xlock smtp Mauvaise configuration Mystifie un utilisateur pour obtenir le mot de passe Xnsoop smtp Mauvaise configuration Contrôle le stockage des clés à distance Tableau 4. Attaques de Remote to User Dans les neuves semaines de collection de données, les sept premières semaines représentent l’ensemble d’apprentissage et les deux dernières semaines forment l’ensemble de test. Chaque enregistrement est marqué soit comme normal ou comme l’un des types d’attaque cités ci-dessus. 3.5 Les attributs KDD99 Les données d’audit du trafic réseau brutes (paquet IP par exemple) ne sont adaptées à la détection d’intrusion. La construction d’attributs était ainsi nécessaire pour extraire l’ensemble d’attributs qui permet de détecter efficacement les intrusions. Il existe trois types d’attributs dans chaque enregistrement de l’ensemble de données KDD99 [STO00]: Attributs intrinsèques ou de base (Intrinsic features) : ces attributs décrivent les informations de base d’une connexion, telles que la durée, les hôtes source et destination, port et flag. Attributs du trafic (Traffic features) : ces attributs sont basés sur des statistiques, tels que le nombre de connexions vers la même machine. Attributs du contenu (Content features) : ces attributs sont construits à partir de la charge utile (Data) des paquets du trafic tels que nombre d’échec de connexion, si connecté en tant que root, et le nombre d’accès au fichier de contrôle. Chaque enregistrement qui représente une connexion dans l’ensemble de données KDD99 est constitué donc de 41 attributs et une seule valeur cible indiquant le nom d’attaque. 80 Chapitre IV : implémentation et résultats Les tableaux (A.4., A.5. et A.6) dans l’annexe A récapitulent les 41 attributs de l’ensemble de données KDD99. 3.6 Distribution des attaques dans l’ensemble de données KDD99 La répartition des attaques dans l’ensemble d’apprentissage/test KDD99 est présentée dans les tableaux suivants : Classes Normal Probe DOS R2L U2L Total Nombre 97278 4107 391458 1126 52 494021 Pourcentage 19.69% 0.8313% 79.24% 0.2279% 0.0105% 100% Tableau 5. Répartition des attaques dans l’ensemble d’apprentissage KDD99 Classes Normal Probe DOS R2L U2L Total Nombre 60593 4166 229853 16189 228 311029 Pourcentage 19.48% 1.34% 73.90% 5.20% 0.0733% 100% Tableau 6. Répartition des attaques dans l’ensemble de test La distribution des attaques dans l’ensemble d’apprentissage et dans l’ensemble de test n’est pas identique. L’ensemble de test contient plus les 22 types d’attaque d’apprentissage 14 autres types. L’ajout de nouvelles attaques dans l’ensemble de test permet de rendre la tâche de détection beaucoup plus réaliste (tableau A.2. et A.3). D’après les tableaux 5 et 6, vous constatez que l’ensemble de données KDD99 est un ensemble déséquilibré. En d’autres termes, certaines intrusions produisent plus de connexions que d’autres. Nous sommes donc fasse un problème d’intrusions déséquilibrées. Avec un tel ensemble de données, l’algorithme d’apprentissage essaie de minimiser le taux d’erreur global en diminuant le taux d’erreur des classes majoritaires (telle que DOS) et en augmentant le taux d’erreur des classes minoritaires (R2L et U2L) ce qui influe sur le taux de détection des intrusions minoritaires. Nous devons alors améliorer le taux de détection des intrusions minoritaires tout en maintenant un taux de détection global raisonnable. Il existe une solution à ce problème. C’est d’utiliser la technique d’échantillonnage "Sampling techniques" : "over-sampling " c'est-à-dire augmenter le nombre des intrusions minoritaires et "down-sampling" diminuer le nombre des intrusions majoritaires. Puisque, le trafic réseau est énorme, la réduction du nombre des intrusions majoritaires (exemple : trafic normal et Déni de service) peut accélérer considérablement la construction du modèle en réduisant la taille de l’ensemble de données. L’augmentation du nombre des intrusions 81 Chapitre IV : implémentation et résultats minoritaires (exemple : U2R et R2L), quant à elle, peut amplifier leurs poids pour diminuer leurs taux d’erreur. 4. Architecture du système Le système proposé applique les techniques du datamining pour la construction d’un modèle de détection d’intrusion réseaux. L’architecture du NIDS proposé est donnée dans la figure suivante. On trouve deux phases dans cette architecture : la phase off-line et la phase online. Dans la première phase le système génère son modèle d’intrusion et dans le deuxième il détecte les intrusions Alerte Trafic réseaux Prétraitemen t Détecteur On-line Off-line L’ensemble d’apprentissage Constructeur de modèles Figure IV.1 : fonctionnement général du NIDS Phase on-line Elle consiste à mettre en place le NIDS développé. Dans cette phase le rôle du système sera alors d’analyser le trafic réseau capté et de détecter en temps réel à l’aide du modèle d’intrusion généré, les intrusions visant le réseau. Phase off-line Cette phase nécessite de recueillir suffisamment de données historiques qui incluent à la fois les connexions réseau normales et anormales (attaques).l’ensemble de données KDD99 est en y un bon choix. Il est constitué de données captées à l’aide du sniffer Tcpdump[siteTCP]. Le schéma suivant illustre les différentes étapes de construction des modèles d’intrusion à l’aide des systèmes immunitaire artificiels 82 Chapitre IV : implémentation et résultats Données d’apprentissage KDD99 Données de test KDD99 Prétraitement Donnée traitée Donnée traitée AIS Classification Apprentissage Résultats : les classes de KDD99 (normal, Dos, R2L, U2L ,Prob ) Cellule mémoire Figure IV.2 : construction de modèle de détection d’intrusion AIS Données d’apprentissage KDD99 Données de test KDD99 Prétraitement Sélection d’attributs avec F- score Donnée traitée Donnée traitée AIS Classification Apprentissage Résultats : les classes de KDD99 (normal, Dos, R2L, U2L ,Prob ) Cellule mémoire Figure IV.3 : construction de modèle de détection d’intrusion AIS avec sélection d’attributs 83 Chapitre IV : implémentation et résultats 5. Fonctionnement Nous disposons de deux ensembles de données KDD99 : l’ensemble d’apprentissage et l’ensemble de test dont nous trouvons deux types de données : données normales et les données représentant des attaques. Dans cette section nous allons présenter les différents modules et la participation des différents ensembles de données à la construction des différents modèles de détection d’intrusion. L’ensemble de données KDD99 (apprentissage et test) est fournit sous forme de deux fichiers texte. Figure IV.4 : base de données KDD99 fichier texte 5.1 Module de prétraitement de données Le rôle de ce module est de préparer les données pour qu’elles soient directement exploitables par les différents modules de traitement (apprentissage, validation et classification). Les attributs de l’ensemble de données KDD99 sont un mélange d’attributs continus, discrets et symboliques avec d’intervalles de valeurs très variés. La plupart des techniques de classification ne sont pas capable de traiter un tel format de données. Pour cela le prétraitement est nécessaire avant la construction du modèle de classification. Il est constitué de plusieurs étapes qui s’exécutent successivement (ou alternativement si nécessaire) : 5.1.1 Étape d’élimination de redondances Après la suppression des enregistrements dupliqués, le nombre total d’enregistrements dans l’ensemble d’apprentissage original et dans l’ensemble final est donnée dans le tableau suivant : Nombre classe Ensemble originale Normal 97278 Probe 4107 DOS 391458 R2L 1126 U2R 52 Total 494021 Ensemble final 87832 2131 54778 999 52 145792 Tableau 7. Nombres d'enregistrements avant et après élimination des enregistrements dupliqués 84 Chapitre IV : implémentation et résultats 5.1.2 Numérisation de données Cette étape consiste à convertir les attributs symboliques en numériques. La procédure est comme suit : En premier, Les noms d’attaques (comme buffer_overflow, guess_passwd, etc.) sont rangées dans une des cinq classes : 0 pour Normal, 1 pour Probe, 2 pour DOS, 3 pour U2R et 4 pour R2L [ELK00]. Les attributs symboliques comme protocol_type (3 symboles différents), service (70 symboles différents) et flag (11 symboles différents) sont transformés à des valeurs entières de 0 à N-1 où N est le nombre de symboles Figure IV.5 : données après numérisation 5.1.3 Scaling data (Mise à échelle de données) Le principal avantage de scaler les données est d’empêcher les attributs ayant des plages numérique larges de dominer les attributs ayant des plages numériques petites. Un autre avantage est d'éviter les difficultés numériques lors du calcul. Par conséquent, il est recommandé de scaler linéairement chaque attribut sur l’intervalle [-1, +1] ou [0, 1]. Bien sur la même méthode doit être appliquée sur les données de test avant le test. [QUI93] Pour nos ensembles de données, les attributs ayant un intervalle de valeur petit tel que duration [0, 58329], wrong_fragment num_compromised [0, 3], urgent [0, [0, 9], su_attempted 14], hot [0, 101], num_failed_logins [0, 5], [0, 2], num_root [0, 7468], num_file_creations [0, 100], num_shells [0, 5], num_access_files [0, 9], count [0, 511], srv_count [0, 511], dst_host_count [0, 255], and dst_host_srv_count [0, 255] ont été linéairement scalés sur l’intervalle [0, 1] et pour les attributs de plage de valeurs large tel que src_bytes [0, 1.3 billion] et dst_bytes [0, 1.3 billion] nous avons appliqué un scalage logarithmique (à base 10) afin de réduire leur intervalle de valeurs à [0.0, 9.14]. Cependant, le scalage n’était pas nécessaire pour les autres attributs tels que l’attribut booléen logged_in ayant des valeurs 0 ou 1. 85 Chapitre IV : implémentation et résultats Figure IV.6 : données après normalisation 5.2 Sélection d’attribut La qualité des données de l’ensemble d’apprentissage et des attributs sélection d’attribut qui les caractérisent forment le succès de la technique de classification utilisée. La présence de variables redondantes, bruites et peu corrélées avec la classe d’un exemple rend le processus d’apprentissage plus difficile. La détection d’intrusion est le genre d’application pour laquelle la sélection d’attribut peut être bénéfique car elle permet tout au moins d’aboutir aux mêmes performances de reconnaissances à partir d’un nombre de caractéristiques moindres. L’approche par filtre et l’un des méthodes de sélection d’attributs. Elle élimine les attributs en analysant les propriétés intrinsèques des donnés. Dans la plupart des cas, des scores de pertinence des attributs sont calcul et les attributs qui ont les plus bas scores sont enlevés La procédure de toute approche de sélection d’attribut par filtre est comme suit : - Etape1 : calcul des scores de pertinence pour chaque attribut - Etape2 : élimination des attributs ayant un score inferieur à un certain seuil. - Etap3 : utilisation de sous ensemble d’attribut sélectionnés(les attributs ayant un score supérieur au seuil) comme l’entré d’un système de classification : - Figure IV.7 : Techniques par filtre la sélection d’attributs 86 Chapitre IV : implémentation et résultats F-score : La métrique que nous avons utilisée pour identifier les attributs pertinents de l’ensemble KDD99 est la technique F-score. Elle est une technique simple qui mesure la discrimination de deux ensembles. Etant donné les vecteurs d’apprentissage Xk k=1…m, si le nombre des instances positives et négatives sont n+et n- respectivement alors le F-score du ieme attribut est définit comme suit !" # $%! &" ' $)( " * $%! +" ' $%! " 1 1 &" +" &" +" ∑2 ∑0 & ' 1 31 $.,! ' $%! " * + ' 1 .1 $.,! ' $% ! " Ou$%! , $%! &" , $% ! +" sont les moyenne du ieme attribut de l’ensemble de données de l’ensemble positif et l’ensemble négatif respectivement,$.,!&" est le Ième attribut de la kème instance positive et $.,! le ième attribut de la kème instance négative.. Le numérateur indique la discrimination entre les +" ensembles positifs et négatifs et le dénominateur indique celle dans chacun des deux ensembles. L’attribut avec un F-score élevé est l’attribut le plus discriminant. Donc, nous utilisons, ce score comme critère de sélection d’attribut. Dans notre travail, nous avons calculé le F-score des 41 attributs ensuit sélectionné les attributs ayant un F-score élevé (>0.001). Cet ensemble d’attributs sélectionnés forme la base d’apprentissage différentes étapes de cette procédure seront présentées dans la section des expérimentations. 6- Utilisation de l’SIA La reconnaissance se fait à l’aide du système immunitaire artificiel aves Sélection clonal. Notre algorithme est celui de CLONLAS qui utilise les principes de la sélection clonale artificielle tout en modifiant les paramètres d’initialisation (population antigène et anticorps) et la fonction de mutation Cet algorithme étant un algorithme d’optimisation qui sera utilisé comme algorithme d’apprentissage pour servir à générer des cellules mémoires qui seront utilisées dans la phase de test : 1. Générer au hasard une population initiale d’anticorps. Il est composé de deux sousensembles : Abm (mémoire population) et Abr (réservoir de population). 2. Crée un ensemble de modèle antigénique Ag à partir des exemples d’entrainements. 3. Sélectionnez un antigène Agi de la population Ag. 87 Chapitre IV : implémentation et résultats Pour G générations : 4. Pour chaque membre de la population Ab calculer son affinité pour l’antigène Agi affinité en utilisant une fonction de distance (par exemple, de Hamming Distance). 5. Sélectionnez la plus haute affinité n anticorps et générer un nombre de clones de chaque anticorps proportionnel à leur affinité, en plaçant les clones dans une nouvelle population Ci. 6. Mutez le clone Ci population à un degré inversement proportionnelle à leur affinité pour produire une population d’âge mur Ci*. 7. Réappliquer la fonction d’affinité à chaque membre de la population Ci* sélectionnez la score le plus élevé, comme candidat de cellules mémoire. Si son affinité est plus grande que la cellule courante Abmi, le candidat devient le nouveau « mémoire cellulaire » 8. Supprimer ces anticorps à faible affinité dans la population et remplacer Abr avec les nouveaux membres générés de manière aléatoire. 9. Répétez les étapes 3-8 jusqu’à ce que tous les antigènes aient été présentés. Classification Dans cette étape une forme inconnue (antigène) est comparée avec les cellules mémoires trouvés par la phase d’apprentissage. La procédure de classification s’opère de la façon suivante : 1- Sélectionner un antigène de la population d’antigène à classer 2- Comparer l’antigène avec chaque cellule mémoire 3- Calculer le pourcentage de précision (stimulation/max)*100 pour chaque cellule mémoire 4- Si le pourcentage le plus élevé est supérieur à un certain seuil, l’antigène reçoit la classe de la cellule mémoire avec la pourcentage le plus élévé. 5- Ajouté le résultat à l’ensemble de classification 6- Boucler jusqu’à ce que tous les antigènes soient présentés Mesure d’affinité : De nombreuses mesures de distance ou d'indices de similarité existent, dans notre projet on a utilisé Deux distances : • Distance euclidienne ; • Distance de Hamming $! , $. " # ∑541 $! ' $. " " 4 4 6 , 5 $! , $. " # ∑41 7$! ' $. 7 4 4 88 Chapitre IV : implémentation et résultats • nous définissons la stimulation comme étant un moins la distace comme indiqué dans l’équation • Stimulation= 1- 8 9: , 9; " AT (seuil d’affinité moyenne) : est la valeur moyenne des distances entre tous les antigène de la base, il calculé selon la formule suivant : ∑GE1 ∑GE& af@inité ag E , ag F " AT # n n ' 1" 2 Avec n : le nombre d’antigène • Taux de mutation (Mutaion rate) : un paramètre entre 0 et 1 qui indique la probabilité que tel ou tel élément d’un Arb sera muté • Taux de clonage : une valeur entière utilisée pour le nombre clones mutés qu’une Arb • Taux d’hyper clonage : cette valeur détermine le nombre de clones mutés d’origine .dans l’approche proposé per Watkins en 2001[9], ce nombre est déterminé par la formule suivante : Num_clone= hyper_clonal_taux* taux de clonage* valeur de stimulation 7- Résultats expérimentaux Dans cette section, nous présentons nos résultats expérimentaux pour la construction des modèles de détection d’intrusion. Nous allons d’abord décrire les expérimentations avec l’ensemble d’apprentissage KDD99 et celui généré par la technique d’échantillonnage, pour la classification binaire ensuite pour la classification multi-classes. Pour la construction d’un ensemble d’apprentissage équilibre, nous avons diminué le nombre d’enregistrements des classes : normale, Prob et DOS en choisissant aléatoirement 10% de connexions normal, DOS et Prob à partir de l’ensemble original et nous avons gardé le même nombre de connexions pour les classes U2L et R2L, l’ensemble d’apprentissage est constitué donc de 15525 connexion Classe Nombre Ensemble original Ensemble prétraité Ensemble équilibré Normal Prob DOS R2L U2R TOTAL 97278 87832 8783 4107 2131 213 391458 54778 5477 1126 999 999 52 52 52 494021 145792 15525 Tableau 8. Représentation des attaques dans les différents ensembles d’apprentissage(cas multiclasses) 89 Chapitre IV : implémentation et résultats Classe Nombre Ensemble original Ensemble prétraité Ensemble équilibré Normal Attaques Total 97278 87832 8783 396743 57960 6742 494021 145792 15525 Tableau 9. Représentation des attaques dans les différents ensembles d’apprentissage(cas binaire) Il existe 4 paramètres du système immunitaire artificiel qui sont fixés au départ pour d’apprentissage: nombre de génération, taux de clonage taux d’hyper clonage, taux de mutation. Expérience 1 : Pour cette expérience on a appliqué l’algorithme pour 100 générations avec les paramètres suivantes : - Taux d’hyper clonage= 5 - Taux de clonage =7 - Taux de mutation=0,4 Apprentissage • Cas binaire : Bien classé Taux Mal classé Taux Total Normal 7853 89.41% 930 10.59 % 8783 Attaque 4570 67.78 2172 32.22 % 6742 Total 12424 80.01 % 3101 19.99 % 15525 Tableau 10. Les résultats d’apprentissage cas binaire • Taux d’apprentissage= 80.01% Cas multi-classe : Normal Prob DOS U2R R2L Total Bien classé 7870 159 4073 8 135 12245 Taux 89.60 % 74 .64 % 74.36 % 15.38 % 13.51% 78.87 % Mal classé 913 54 1405 44 864 3280 Taux 10.39 % 25.36% 25.64 % 84.62 % 86.49 % 21.13 % Total 8783 213 5478 52 999 15525 Tableau 11. Les résultats d’apprentissage cas multiclasse Taux d’apprentissage= 78.87% 90 Chapitre IV : implémentation et résultats Test • Cas binaire : Bien classé Taux Mal classé Taux Total Normal 45699 75.41% 14894 24 .59 % 60593 Attaque 164736 65.77 % 85700 34 .23 % 250436 Total 210435 67.67% 100594 32.33 % 311029 Tableau 12. Les résultats de test cas binaire Taux de test = 67.67% • Multi-classe : Normal Prob DOS U2R R2L Total Bien classé 50563 3170 154682 60 537 209012 Taux 83.44 % 76.09 % 67.29 % 26.31 % 3.00 % 67.02 % Mal classé 10030 996 75171 168 15652 101987 Taux 26.56 % 23.91 % 32.71 % 84.62 % 97.00 % 21.13 % Total 60593 4166 229853 228 16189 311029 Tableau 13. Les résultats de test cas multi- classe Taux de test = 67.02% Expérience 2: Pour cette expérience on a appliqué l’algorithme pour 200 générations avec les paramètres suivantes : - Taux d’hyper clonage= 5 - Taux de clonage =7 - Taux de mutation=0,4 Apprentissage • Cas binaire : Bien classé Taux Mal classé Taux Total Normal 7995 91.10 % 788 8 .90 % 8783 Attaque 5512 81.75 % 1230 9 .79 % 6742 Total 13507 87.01 % 2018 12.99 % 15525 Tableau 14. Les résultats d’apprentissage cas binaire Taux d’apprentissage= 87.01 % 91 Chapitre IV : implémentation et résultats • Cas multi-classe : Bien classé 8491 163 4562 12 56 13284 Normal Prob DOS U2R R2L Total Taux 96.67 % 76.52 % 83.27% 23.07 % 05.60% 85.56 % Mal classé 555 50 653 40 943 2241 Taux 3.33 % 23.48 % 16.73 % 76.93 % 94.40 % 14.44 % Total 8783 213 5478 52 999 15525 Tableau 15. Les résultats d’apprentissage cas multiclasse Taux d’apprentissage= 85.56% Test • Cas binaire : Bien classé Taux Mal classé Taux Total Normal 53534 88.35 % 7059 11.65 % 60593 Attaque 200350 80.00 % 50086 20.00 % 250436 Total 253884 81.62% 57145 18.38 % 311029 Tableau 16. Les résultats de test cas binaire Taux de test = 81.62 % • Multi-classe : Normal Prob DOS U2R R2L Total Bien classé 52478 3210 192963 64 824 249539 Taux 86.60 % 77.05 % 83.95 % 28.07 % 5.08 % 80.23 % Mal classé 8115 956 36890 164 15365 61490 Taux 13.40 % 22.95 % 19.22 % 71.93 % 94.92 % 19.77 % Total 60593 4166 229853 228 16189 311029 Tableau 17. Les résultats de test cas multi- classe Taux de test = 80.23 % Expérience 3: Pour cette expérience on a appliqué l’algorithme pour 300 générations avec les paramètres suivantes : - Taux d’hyper clonage= 5 - Taux de clonage =7 - Taux de mutation=0,4 Apprentissage • Cas binaire : 92 Chapitre IV : implémentation et résultats Bien classé Taux Mal classé Taux Total Normal 8183 93.16 % 600 6 .84 % 8783 Attaque 6150 91.21 % 592 9 .79 % 6742 Total 14333 92.32 % 1192 7.68 % 15525 Tableau 18. Les résultats d’apprentissage cas binaire Taux d’apprentissage= 92.32% • Cas multi-classe : Bien classé 8650 170 5365 12 60 14257 Normal Prob DOS U2R R2L Total Taux 98.48 % 79.81 % 97.93% 23.07 % 6.01 % 91.83 % Mal classé 555 43 454 40 939 2241 Taux 6.33 % 20.19 % 8.29 % 61.54 % 93.99 % 8.17 % Total 8783 213 5478 52 999 15525 Tableau 19. Les résultats d’apprentissage multi-classe Taux d’apprentissage= 91.83% Test • Cas binaire : Bien classé Taux Mal classé Taux Total Normal 52067 85.92 % 8526 14.08 % 60593 Attaque 221723 88.53 % 28713 11.47 % 250436 Total 273790 88.02 % 37239 11.98 % 311029 Tableau 20. Les résultats de test cas binaire Taux de test = 88.02 % • Multi-classe : Normal Prob DOS U2R R2L Total Bien classé 56235 3720 212552 64 824 273395 Taux 92.80 % 89.29 % 92.47 % 28.07 % 5.08 % 87.90 % Mal classé 4358 446 17301 164 15365 61490 Taux 13.40 % 22.95 % 19.22 % 71.93 % 94.92 % 19.77 % Total 60593 4166 229853 228 16189 311029 Tableau 21. Les résultats de test cas multi- classe Taux de test = 87.90 % 93 Chapitre IV : implémentation et résultats Discussion A partir des résultats de cette expérience, on remarque bien que les résultats de la classification après 300 génération sont meilleurs que celle de 100, 200 génération, ce qui indique que le système immunitaire artificiel peut faire une meilleurs reconnaissance avec un nombre plus élevé d’itération, pour cela dans la prochaine expérience on va augmenter le nombre d’itération Expérience 4 Pour cette expérience on a appliqué l’algorithme pour 400 générations avec les paramètres suivantes : - Taux d’hyper clonage= 5 - Taux de clonage =7 - Taux de mutation=0,4 • Cas binaire : Taux d’apprentissage= 92 .56 % Taux de test = 88.34 % • Cas multi-classe : Taux d’apprentissage= 92 .02 % Taux de test= 87.98 % Discussion À partir des résultats de cette expérience, on remarque les résultats de la classification après 300 génération se sont stabilisé, ce qui indique si le système immunitaire artificiel peut faire une meilleurs classification sa sera en changeant les autres paramètres, avec un nombre de génération 400 Expérience 5 Pour la cinquième expérience on a fixé le nombre de génération à 400 et on a changé les paramètres : taux de clonage, taux d’hyper clonage, taux de mutation - Taux d’hyper clonage= 7 - Taux de clonage =8 - Taux de mutation=0,3 • Cas binaire : Taux d’apprentissage= 93 .56% Taux de test = 92.54 % • Cas multi-classe : Taux d’apprentissage= 92 .56% Taux de test = 91.34 % 94 Chapitre IV : implémentation et résultats Expérience 6 Pour la cinquième expérience on a fixé le nombre de génération à 400 et on achangé les paramètres : taux de clonage, taux d’hyper clonage, taux de mutation - Taux d’hyper clonage= 3 - Taux de clonage =9 - Taux de mutation=0,2 • Cas binaire : Taux d’apprentissage= 95 .56% Taux de test = 93.54 % • Cas multi-classe : Taux d’apprentissage= 93 .56% Taux de test = 91.02 % A partir des résultats de l’expérience 4,5 et 6 on remarque que les résultats de la classification sont influencés par ces trois paramètres : taux de clonage, taux d’hyper clonage, taux de mutation et pour le système immunitaire artificiel arrive à faire la meilleure classification possible, il faut faire un nombre important d’expériences avec différent paramètre pour trouver les meilleurs paramètres qui donneront une bonne classification. 8- Sélection d’attribut Dans cette section, nous allons avoir l’application de la fonction F-score sur l’ensemble d’intrusion KDD99 pour l’identification des attributs pertinents, le seuil choisi pour la sélection d’attribut est de 0.001 8-1 cas binaire Attribut 29 33 34 6 23 38 39 25 26 4 5 12 32 3 2 31 Score 1.838393 1.699115 1.104260 1.073100 1.056972 0.959645 0.954931 0.947864 0.940202 0.819505 0.730648 0.652498 0.188306 0.147829 0.135555 0.081340 Attribut 10 22 35 8 13 11 14 37 17 1 16 7 9 18 36 24 Score 0.035355 0.020020 0.009879 0.008963 0.008729 0.002745 0.001806 0.001242 0.000742 0.000512 0.000280 0.000168 0.000078 0.000060 0.000044 0.000003 95 Chapitre IV : implémentation et résultats 40 30 27 28 41 0.039292 0.038166 0.037505 0.036905 0.36593 19 15 20 21 0.000002 0.000001 0.000000 0.000000 Tableau 22. Résultats de F-score pour le cas binaire Le critère d’éliminations est d’écarter les attributs qui ont un score inferieur au seuil 0.001. les attributs éliminé sont ainsi 21, 20,15, 19, 24, 36, 18, 9, 7, 16, 1 et 17. Le nouvel ensemble d’apprentissage pour le cas binaire est constitué alors de 29 attributs Expérience 7 Pour la septième expérience on a fixé le nombre de génération à 400 et on a changé les paramètres : taux de clonage, taux d’hyper clonage, taux de mutation - Taux d’hyper clonage= 3 - Taux de clonage =9 - Taux de mutation=0,2 Apprentissage Bien classé Taux Mal classé Taux Total Normal 8643 98.41 % 140 1.59 % 8783 Attaque 6280 93.14 % 462 6.86 % 6742 Total 14923 96.12 % 602 3.88 % 15525 Tableau 23. Les résultats d’apprentissage de cas binaire Taux d’apprentissage = 96.12 % Test Bien classé Taux Mal classé Taux Total Normal 60050 99.10 % 543 0.90 % 60593 Attaque 234993 93.83 % 15443 6.17 % 250436 Total 295043 94.86 % 15986 5.14 % 311029 Tableau 24. Les résultats de test cas binaire Taux de test =94.86 % 96 Chapitre IV : implémentation et résultats Expérience 8 Pour cette expérience on a fixé le nombre de génération à 400 et on a changé les paramètres : taux de clonage, taux d’hyper clonage, taux de mutation - Taux d’hyper clonage= 2 - Taux de clonage =10 - Taux de mutation=0,2 Apprentissage Bien classé Taux Mal classé Taux Total Normal 8670 98.71 % 113 1.29 % 8783 Attaque 6368 94.45 % 374 5.55 % 6742 Total 15038 96.86 % 487 3.14 % 15525 Tableau 25. Les résultats d’apprentissage cas binaire Taux d’apprentissage = 96.86 % Test Bien classé Taux Mal classé Taux Total Normal 60090 99.16 % 503 0.86 % 60593 Attaque 235357 93.97 % 15079 6.03 % 250436 Total 295447 94.99 % 15582 5.01 % 311029 Tableau 26. Les résultats de test cas binaire Taux de test =94.99 % 8.2 Cas multi-classe Attribut 29 25 38 39 26 5 34 33 23 12 6 4 2 3 14 Score 6.903363 2.047953 2.04507 2.017079 1.999033 1.955223 1.812209 1.722088 1.552673 1.368087 1.297871 1.158432 0.865821 0.78593 0.540488 Attribut 30 35 31 40 27 28 41 16 1 11 13 18 24 8 19 Score 0.18064 0.180349 0.095676 0.067729 0.066961 0.061879 0.061784 0.049149 0.04636 0.032432 0.030934 0.029417 0.014656 0.012666 0.006986 97 Chapitre IV : implémentation et résultats 32 22 36 10 17 37 0.453602 0.357458 0.349908 0.288854 0.257845 0.225134 9 15 7 20 21 0.006445 0.000380 0.000236 0.000000 0.000000 Tableau 27. Résultats de F-score pour le cas multiclasse Le seuil de l’élimination utilisé est toujours 0.001. Les attributs éliminés sont ainsi 21, 20, 7 et 15. Expérience 9 Pour la septième expérience on a fixé le nombre de génération à 400 et on a changé les paramètres : taux de clonage, taux d’hyper clonage, taux de mutation - Taux d’hyper clonage= 3 - Taux de clonage =9 - Taux de mutation=0,2 Apprentissage Normal Prob DOS U2R R2L Total Bien classé 8760 205 5450 14 200 14629 Taux 99.73 % 96.24 % 99.48% 26.92 % 20.02 % 94.22 % Mal classé 23 8 28 38 799 2241 Taux 0.23 % 3.76 % 1.36 % 73.08 % 79.98 % 5.78 % Total 8783 213 5478 52 999 15525 Tableau 28. Les résultats d’apprentissage multi-classe Taux d’apprentissage= 94.22 % Test Bien classé Normal Prob DOS U2R R2L Total 60090 3904 227325 64 860 292243 Taux 99.16 % 93.71 % 98.90 % 28.07 % 5.31 % 93.93 % Mal classé 503 262 2528 164 15329 18789 Taux 13.40 % 22.95 % 19.22 % 71.93 % 94.92 % 6.07 % Total 60593 4166 229853 228 16189 311029 Tableau 29. Les résultats de test cas multi-classe Taux d’apprentissage= 93.93 % 98 Chapitre IV : implémentation et résultats Discussion A partir des résultats de l’expérience 7, 8 et 9, on remarque que les résultats de la classification sont influencés par la sélection d’attributs pertinents. Les résultats obtenus montrent l’amélioration de classificateur du système immunitaire artificiel Les différentes expérimentations réalisées dans ce travail montrent qu’une seule technique (l’approche CLONCLAS) ne peut pas détecter toutes les classes d’attaques avec une probabilité de détection plus élevée. Pour la classification multi-classe l’approche CLONCLAS démontre une performance de détection plus élevée pour les classes majoritaires (normal: 99.16%, Prob : 93.71 %, DOS : 98.90 %) et un taux de détection petit pour les classes U2R (28.07%) et R2L(5.31%) ; L’approche CLONCLAS a offert un niveau de détection de malveillances acceptable pour les deux types d’attaques Prob et DOS. Cependant, elle à échoué de donner une bonne performance pour les classes d’attaques restantes U2R et R2L. Pour ne manipuler plusieurs paramètres et perdre beaucoup de temps dans l’apprentissage et dans le but d’améliorer le SIA, nous proposons d’utiliser une méthode d’optimisation telle que les algorithmes génétiques, le réseau de neurone pour choisir les meilleurs paramètres de classification et construire une meilleure base d’anticorps pour l’apprentissage. On propose un système multi-classifieur on rajoute une autre méthode de classification à la méthode de CLONCLAS où chaque méthode est entrainé sur la classe où a prouvé une performance. La méthode CLONCLAS sera alors entrainée Sur les classes : normal, Prob, DOS, et l’autre méthode sur les classes R2L, U2L. la figure suivante montre le modèle de muticlassfieur. R2L, U2R Méthode de classification Ensemble KDD99 AIS(CLONCLAS) Normal, prob, DOS Figure IV.8 : modèle de multi-classifieur 99 Chapitre IV : implémentation et résultats 9- Etude comparative En comparant nos résultats avec la méthode SVM (Support Vector Machine) [AIS06] en utilisant le noyau RBF sur la même base de données Cas binaire Cas Multi-classe Méthodes Taux de classification Méthodes Taux de classification SVM 93.10% SVM 92.56 AIS 94.99% AIS 93.93% Tableau 30. Etude comparative Les expérimentations ont montré que le taux de reconnaissance est meilleur dans la classification par le SIA (l’approche CLONCLAS) par rapport à la classification par les SVMs. 10- Conclusion Ce chapitre a été consacré à l’évaluation de classifieur CLONCALS du système immunitaire artificiel pour la détection d’intrusion. Plusieurs expérimentations ont été effectuées pour mesurer la performance de l’approche CLONCLAS dans la détection d’intrusion avec l’utilisation de l’ensemble de données KDD99. Nous avons fait un appel sur la technique de sélection d’attributs avec F-score qui permet de calculer la pertinence de chaque attribut pour l’identification d’un sous ensemble d’attribut importants. Nous avons constaté que le processus d’apprentissage artificiel converge vers un bon résultat seulement après quelques générations, Les résultats obtenus par l’approche de CLONCLAS montrent que la qualité de classification (binaire ou multi-classe) dépend du choix des paramètres (taux de clonage, taux d’hyper clonage, taux de mutation). La sélection d’attribut pertinent avec le F-score fait une amélioration sur le taux de reconnaissance. On propose aussi d’étudier la relation de dépendance entre les donnés KDD99 dans les travaux futurs dans le but toujours d’essayer d’améliorer les performances des classifieurs 100 Conclusion générale Conclusion générale Conclusion générale Avec la complexité croissante des réseaux et les systèmes informatiques, les solutions inspirées de la biologie constituent une source d’inspiration intéressante. Ces approches inspirées de la biologie restent intéressantes par rapport à d’autres approches pour deux raisons principales. D’une part, les systèmes informatiques et les espèces biologiques sont souvent attaqués, et d’autre part, les systèmes informatiques deviennent de plus en plus complexes et les approches traditionnelles de la sécurité ne peuvent pas assumer le rôle de protection d’une manière parfaite, par contre les métaphores biologiques assurent la protection du corps contre les intrus d’une manière très puissante. Dans ce travail nous nous sommes focalisés sur l’utilisation des systèmes immunitaires artificiels dans la sécurité des systèmes informatiques et plus précisément les systèmes de détection d’intrusions. Pour cette raison, nous avons exposé les systèmes de détection d’intrusions, puis nous avons étudié les systèmes immunitaires artificiels afin de pouvoir établir l’analogie entre les systèmes de détection d’intrusions et les systèmes immunitaires artificiels. L’objectif de ce travail était de développer un système capable de différencier entre les connexions normales et celles d’attaques à base au système immunitaire artificiel. Pour évaluer le système développé, nous avons choisi travailler avec la base de données KDD99 qui a été conçu spécialement pour l’évaluation des systèmes de détection d’intrusion. Les différentes expérimentations ont montré la bonne performance de l’approche CLONCLAS dans le cas binaire et leur dégradation dans le cas multi-classe. Afin d’améliorer de taux de classification nous fait appel à deux approches. La première consiste à construire un ensemble de données équilibre en augmentant le nombre des classes minoritaires et en réduisant le nombre des classes majoritaires. LA deuxième consiste à identifier un sous ensemble d’attributs pertinents pouvant d’améliorer les performances de l’approche CLONCLAS. Les expérimentations ont démontré qu’une seule méthode de classification ne peut pas détecter l’ensemble d’attaque avec un taux élevé. Pour cela on propose la conception de multi-classifieur en ajoute autre méthode de classification à l’approche de CLONCLAS pour améliorer le taux de reconnaissance. En perspective de recherche, nous proposons d’utiliser une méthode d’optimisation telle que les algorithmes génétiques, le réseau de neurone pour choisir les meilleurs paramètres de classification et pour construire la meilleur base d’anticorps pour l’apprentissage. - Application d’autre théorie de système immunitaire tel que le réseau immunitaire artificiel pour la même base de données KDD99 ou d’autre base de données. - Utiliser le système multi agent pour appliquer l’AIS à la détection d’intrusion en temps réel. 101 Bibliographie Bibliographie Bibliographie [AIC02] Aickelin. U & Cayzer. S « The Danger Theory and Its Application to AIS», 1stn International Conference on AIS, pp 141- 148, 2002. [AIC03] Aickelin. U & Bentley . P & Cayzer. S & Kim . J & McLeod. J « Danger Theory: The Link between AIS and IDS? », in Proceedings ICARIS 2003, 2nd International Conference on Artificial Immune Systems, 147-155, 2003. [AIC04] U. Aickelin & J. Greensmith & J. Twycross « Immune System Approaches toIntrusion Detection - A review », School of Computer Science, University of Nottingham, 2004 [AIS06] Aissaoui Sihem « Apprentissage automatique et sécurité des systèmes d’information Application : Un système de détection d’intrusion basé sur les Séparateurs à Vaste Marge (SVM) » mémoire de magister université d’Oran 2006. [ALL03] Julia ALLEN, Alan CHRISTIE, William FITHEN, John MCHUGH, Jed PICKEL, Ed Stoner , State of the Practice of Intrusion Detection Technologies, Networked Systems Survivability Program , 2000. [AXE00] Axelsson. S.: « Intrusion Detection Systems: A Taxonomy and Survey ». Technical Report No 99-15, Dept. of Computer Engineering, Chalmers University of Technology, Sweden, 2000, [Bac00] Rebecca Bace and Peter Mell. Intrusion Detection Systems. NIST Special Publication on Intrusion Detection Systems ,2000. [BAL98] J. S. Balasubramaniyan & J. O. Garcia-Fernadez & D. Isacoff & E. H. Spafford & D. Zamboni. « An Architecture for Intrusion Detection using Autonomous Agents ». Technical Report Coast-TR-98-05, Computer Sciences Department, Purdue University, 1998. [BAL02] J. Balthrop & S. Forrest & M. Glickman. « Revisiting lysis: Parameters and normal behaviour ». Proceedings of the Congress on Evolutionary Computation, pages 10451050, 2002. [BAL02a] J.Balthrop & F Esponda & S Forrest & M. Glickman. « Coverage and generalization in an artificial immune system ». Proceedings of GECCO, pages 3 10, 2002. 102 Bibliographie [BRO04] Jason BROWNLEE, Clonal Selection Theory & Clonalg selection classification algorithm (CSA), Master of Information Technology, Swinburne University of Technology, 2004. [BSA02] Statistiques communiqués par la BSA (Business Software Aliance), 2002. [BSI00] International Standards Organization. Information Processing Systems - OSI – Basic Reference Model - Part 2: Security Architecture. ISO 7498-2, February 2000. [BUR98] Burgess, M. « Computer Immunology », Proceedings of the 12th System Administration Conference (USENIX/LISA) 1998. http://www.iu.hio.no/cfengine/papers.html. [BUR98a] Burgess, M. « Cfengine as a Component of Computer Immune-Systems », Proceedings of the Norwegian Informatics Conference 1998. http://www.iu.hio.no/cfengine/papers.html. [BUR00] Burgess, M. Proceedings « Evaluating Cfengine ’s Immunity Model of Site Maintenance », of the 2nd SANE system administration conference (USENIX/NLUUG), 2000. http://www.iu.hio.no/cfengine/papers.html [BUR06] David BURGERMEISTER, Jonathan KRIER, Système de détection d’intrusion, 2006. (http://dbprog.developpez.com); [CAS99] De Castro .L.N & Von Zuben .F.J «Artificial Immune Systems: Part I - Basic theory and applications », Technical re port, TR-DCA-01/99, December 99. [CAS00a] Pr Manuel CASTELLS, Le développement d'Internet, qui était exponentiel, trouve actuellement sa limite, Journal le monde, 2000. [CAS00b] Leandro Nunes de CASTRO, Artificial Immune Systems: Theory and Applications, VI-Brazilian Symposium on Neural Networks, 2000. [CAS00] De Castro .L.N & Von Zuben .F.J «Artificial Immune Systems: Part II - A survey of application », Technical report- DCA RT 02 /00, 2000. [CAS00c] De Castro.L.N & Von Zuben.F.J «The clonal selection algorithm with engineering application» Proc of GECCO00, Workshop Proceeding, 36-37, 2000. [CAS03] L.N De CASTRO, J I TIMMIS, Artificial immune system as a Novel Soft Computing paradigm, Computing laboratory, University of Kent at Canterbury , Soft Computing Journal , Vol 7 July, 2003. 103 Bibliographie [COL01] Eric COLE, HACKERS, attention danger, Compuss Press ISBN: 2-7440-1273-4, 2001. [CRO95] M. Crosbie & E. H. Spafford. « Active Defense of a Computer System using Autonomous Agents ». Technical Report CSD-TR-95-008, Purdue University, 1995. [CRO95a] M. Crosbie & E. H. Spafford. « Defending a Computer System using Autonomous Agents ». Technical Report CSD-TR-95-022, Computer Sciences Department, Purdue University, 1995. [CSI08] CSI Computer Crime & Security Survey, 2008, (http://www.gocsi.com). [DAS99] D. Dasgupta «Artificial Immune Systems and Their Application », Springer-Verglas, 1999. [DAS99a] Dasgupta. D. « Immunity-Based Intrusion Detection Systems: A General Framework », the proceedings of the 22nd National Information Systems Security Conference (NISSC), October 18-21, 1999. [DAS02] D. Dasgupta & F. Gonzalez. « An immunity-based technique to characterize intrusions in computer networks ». IEEE Transactions on Evolutionary Computation, 6(3):281 291, 2002. [DAS03] D. Dasgupta & Z.Ji & F.Gonzalez « Artificial Immune System (AIS) Research in the Last Five Years », IEEE.2003. [DAV06] David Burgermeister, Jonathan Krier . Les systèmes de détection d'intrusions http://dbprog.developpez.com 2006 [Deb93] Hervé Debar, « Application des réseaux de neurones à la détection d ’intrusions sur lessystèmes informatiques », thèse de doctorat, Université Paris 6, 1993. [Deb00] H. Debar, M. Dacier & A. Wespi. “A revised taxonomy for intrusion detection systems. Annales des télécommunications’’. July–August 2000. [DEN87] D. Denning «An intrusion detection models », IEEE, transaction on software engineering 13(2): 222-232, 1987. [ELK00] Elkan, C Result of the KDD’99 classifier learing. SIGKDD Exploration,2000 ACM SIGKDD. Vol. 1, No 2 pp. 63-64 janvier 2000 104 Bibliographie [FOR94] Forrest .S & Perelson.A & Allen.L & Cherukuri. R «Self-Nonself Discrimination in a computer», Proc. Of the IEEE Symposium on research in Security and Privacy, pp. 2002-212, 1994. [FOR96] Forrest .S & Hofmeyr. S & Somayaji .A & Longstaff .T « A sense of self for Unix processes », Proceedings of the 1996 IEEE Symposium on Research in Security and Privacy, 120-128, 1996. [FOR00] Somayaji. A & Forrest. S « Automated response using system-call delays », Proceedings of the ninth USENIX Security Symposium, 185-197, 2000. [GAD07] Dr Mohamed GAD EL BAR, Evaluation des systèmes de détection d’intrusions, Laboratoire d’informatique Fondamentale d’Orleans, 2007. [GAN00] Abdoul Karim GANAME, Doctorant en sécurité informatique, Piratage informatique : aperçu, motivations des pirates, 2000. [GAR05] S.M. Garrett, “How do we Evaluate Artificial Immune Systems?”, Evolutionary Computation, vol. 13, Issue 2, pp.145-178, 2005. [GON03] F. Gonzalez & D. Dasgupta. « Anomaly detection using real-valued negative selection» . Journal of Genetic Programming and Evolvable Machines, 4:383 403, 2003. [GRE05] Greensmith. J & Aickelin. U & Cayzer. S « Introducing Dendritic Cells as a Novel Immune-Inspired Algorithm for Anomaly Detection », To appear in the Proceeding of the fourth International Conference on Artificial Immune Systems (ICARIS-05), 2005. [HAR98] Hart. E & Ross. P & Nelson. J « Producing Robust Schedul es Via an Artificial Immune System », Proceeding of IEEE International Conference on Evolutionary Computing, 1998. http://www.dai.ed.ac.uk/daidb/people/homes/emmah/research.html [HAR99] Hart. E. & Ross. P «An Immune System Approach to Scheduling in Changing Environments », Proceeding of Genetic and Evolutionary Computation Conference (GECCO’99), pp. 1559 -1566, 1999. [HOF98] S. Hofmeyr & S. Forrest. « Intrusion detection using sequences of system calls ». Journal of Computer Security, 6:151 180, 1998. 105 Bibliographie [HOF99] Steven Hofmeyr « An immunological model of distributed detection and its application to computer security ». PhD thesis, University Of New Mexico, 1999. [HOF99a] S. Hofmeyr & S. Forrest. « Immunity by design ». Proceedings of GECCO, pages 1289 1296, 1999. [HOF00] S. Hofmeyr & S. Forrest « Architecture for an artificial immune system », Evol. Comput, vol. 8, no. 4, pp 443 – 473, 2000. [HUN96] Hunt. J & Cooke. D., «Learning using an Artificial Immune System », Journal of Network and Computer Applications: Special Issue on Intelligent Systems Design and Application, Vol. 19, pp.189-212, 1996. [HUN98] Hunt. J & Timmis. J & Cooke. D & Neal. M & King. C. «Jisys: Development of Artificial Immune Systems for Real World Applications », Artificial Immune Systems and Their Applications, (Ed) Dasgupta, D., Springer-Verlag, Berlin, pp.157186, 1998. [JAC94] Jackson. K & DuBois. D & Stallings. C « The NIDES Statistical Component Description and Justification » Technical Report, Computer Science Laboratory, SRIInternational, Menlo Park, CA, March, 1994. [JAN00] W. Jansen & P. Mell, T.Karygiannis & D.Marks «Mobile Agents in Intrusion Detection And Response », 2000 [JER74] Jerne. N. K «Towards a Network theory of the immune system », Ann. Immunol. (Inst. Pasteur) 125C, pp. 373-389, 1974. [KDD] KDD’99 datasets The UCI KDD Archive, Irvine CA, USA, 1999 http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.htm [KEN98] Kendall, K. A Database of computer Attacks for the evaluation of intrusion Detection Systems. Thèse de Master, institute de technologie Massachusetts.1998. [KEP94] J. Kephart. « A biologically inspired immune system for computers ». In Proceedings of the Fourth International Workshop on Synthesis and Simulation of Living Systems, Artificial Life IV, pages 130-139, 1994. [KIM99] J. Kim & P. Bentely «The Human Immune System and Network Intrusion Detection », the proceeding of 7th European congress on intelligent Techniques and Soft computing (EUFIT 99), Aachen, Germany, 1999. 106 Bibliographie [KIM01] J. Kim & P. Bentley. « Evaluating negative selection in an artificial immune system for network intrusion detection ». Proceedings of GECCO, pages 1330 1337, July 2001. [KIM01a] J. Kim & P. Bentley « Towards an artificial immune system for network intrusion detection: An investigation of dynamic clonal selection ». In the Congress on Evolutionary Computation (CEC-2001), Seoul, Korea, pages 1244 1252, 2001. [KIM02] J. Kim « Integrating Artificial Immune Algorithms for Intrusion Detection », PhDThesis, University College London, 2002. [KOU07] Pr. Philippe KOURILSKY, Immunologie moléculaire, Académie des SciencesCollège de France, 2007. [KRU02] C. Kruegel & T. Toth, « Applying Mobile Agent Technology to Intrusion Detection », Technical University of Vienna, Distributed Systems group, 2002. [LAB06] LABED Ines «Proposition d’un système immunitaire artificiel pour la détection d’intrusions » thèse de magister informatique université mentouri de Constantine 2006. [LEA00] Leandro Nunes de CASTRO, Fernando José VON ZUBEN, Artificial immune system: Part II- A survey of applications, Technical Report, DCA-RT, Feb 2000. [LEA01] Leandro Nunes de CASTRO, Fernando José VON ZUBEN, « Learning and optimization using clonal selection principle » IEEE transactions on Evolutionary computation, special Issue on Artificial Immune System, 6(3):239-251, 2001. [LIY00] Li. Y& Wu. N & Jajosia. S & Sean Wang. X « Enhancing Profiles for Anomaly Detection Using Time Granularities » Proc. 1st ACM workshop on Intrusion Detection Systems, Athens, Greece, Nov. 2000. [MAT94] Matzinger. P « Tolerance, danger and the extended family », Annual reviews inImmunology, 12: 991- 1045, 1994. [MAT98] P. Matzinger. « An innate sense of danger». Seminars in Immunology, 10:399415, 1998. [MAT02] Matzinger. P « The Danger Model: A renewed Sense of Self », Science 296: 301-305, 2002. 107 Bibliographie [MCC97] McCoy. D. F & Devarajan. V « Artificial Immune Systems and Aerial Image Segmentation », Proceeding of IEEE Systems, Man and Cybernetics, pp.867- 873, 1997 [MIS96] Mitsumoto. N & Fukuda.T & Idogaki. T « Self-Organising Multiple Robotic System ». Proceedings of IEEE Internationa l Conference on Robotics and Automation. Pp. 1614-1619. Minneapolis, USA. IEEE.1996. [MOR98] Mori. K & Tsukiyama. M & Fukuda. T «Adaptive Scheduling System Inspired by Immune System », Proceeding of IEEE Systems, Man and Cybernetics, pp.38333837, 1998. [MYK94] Mykerjee. B & Heberlein. L.T & Levitt .K.N « Network Intrusion Detection », IEEE Network, Vol 8, No 3, pp .26-41, 1994. [NIK99] Nikolaev. N & Iba. H & Slavov. V «Inductive Genetic Programming with Immune Network Dynamics », Advances in Genetic Programming 3, MIT Press, Chapter 15, pp. 335-376, 1999. [NIS 01] « Intrusion detection Systems ». NIST Computer Science Special reports SP 800-31, November 2001. [OKA99] Okamoto, T & Ishida, Y « A Distributed Approach to Computer Virus Detection and Neutralization by Autonomous and Heterogeneous Agents », the Proceeding of the ISADS’99, pp.328-331. 1999. [Phi98] A. Phillip, Porras and Alfonso Valdes. Live traffic analysis of tcp/ip gateways. Proc. ISOC Symposium on Network and Distributed System Security (NDSS98). (San Diego, CA, March 98), Internet Society. [POR98] Porras. P. A & Neumann. P. G. « EMERALD: Event Monitoring Enabling Responses to Anomalous Live Disturbances », Proceeding of 20th National Information System Security Conference, 1998. [POT98] Potter. M. A. & De Jong, K.A. «The Coevolution of Antibodies for Concept Learning », Proceeding of the fifth Intl. Conference on Parallel Problem Solving From Nature, pp.530-539, 1998. [PRI98] K. Price. « Intrusion Detection Pages ». Purdue University, 1998. http://www.cs.purdue.edu/coast/intrusion-detection/ids.html . 108 Bibliographie [QUI93] Quinlan, JR. C45: program for machine learning. Morgan Laufmann publishers Inc. San Francisco, CA, USA. 1993 [RAY01] Eric Steven RAYMOND, Détection des intrusions réseau, 2001. [ROB93] Robert E. Smith & Stephanie Forrest & Alan S. Perelson. « Searching for diverse, cooperative populations with genetic algorithms ». Evolutionary Computation, 1(2):127 –149,1993. [Sec04] Le Grand Livre de Securiteinfo.com Url : http://www.securiteinfo.com 9 février 2004. [Sitetcp] www.tcpdump.org [SMS00] Auteurs anonymes, Sécurité Maximale des systèmes et réseaux, Compuss Press ISBN : 0-672-32459-8, 2000. [SNR03] Intrusion Detection Systems with Snort Advanced IDS Techniques Using Snort, Apache, MySQL, PHP, and ACID, ISBN 0-13-140733-3, 2003. [STA96] S. Staniford-Chen & S. Cheung & R. Crawford & M. Dilger & J. Frank & J.Hoagland & S. Templeton & K. Levitt & S. Walnum & C. Wee, & R. Yip. « GrIDS-A Graph-Based Intrusion Detection System for Large Network »s. Proc of the 19th National Information Systems Security Conference, 1996. [STA97] S. Staniford-Chen , « GrIDS Outline Design Document ». GrIDS Project Home Page at UC Davis’sComputer Science Department, 1997. http://olympus.cs.ucdavis.edu/arpa/grids/design.html , [STE99] Steven Hofmeyr « An immunological model of distributed detection and its application to computer security ». PhD thesis, University Of New Mexico, 1999. [STO00] Stolfo,S, Fan, W, lee,W, Prodromidis, A et Chan, P.cost-based Modeling for Fraud and intrusion Detection :Results from the JAM project, Proceeding of DARPA Information Survivability Conference and Exposition; IEEE computer Press .pp.130-144. 2000. [SUN96] A. Sundaram, « An introduction to Intrusion Detection », 1996 http://www.acm.org/crossroads/xrds2-4/intrus.html 109 Bibliographie [TEN90] Teng. H & Chen . K & Lu. S « Adaptive Real-Time Anomaly Detection Using Inductively Generated Sequential Patterns », Proceeding of the 1990 Symposium on Security and Privacy, Oakland, CA, May 7-9, pp 278-284, 1990. [TIM01] J. Timmis « Artificial Immune Systems: A novel data analysis technique inspired by the immune network theory », PhD Thesis, University of Wales, 2001. [TIM02] J.Timmis & De Castro.L.N «Artificial Immune Systems : A novel paradigm to pattern recognition », In artificial Neural Networks in pattern recognition, Soco 2002, university of Paisely, UK, pp. 67-84,2002. [TIM02A] J. Timmis & L.N. De Castro «Artificial immune Systems: A New computational Intelligence Approach », Springer-Verglas, London, 2002 [TIM03] J.Timmis & De Castro.L.N « Artificial Immune System as a novel Soft ComputingParadigm ». To appear in the Soft Computing Journal, vol7, Issue 7, July 2003. [TIM04] J. Timmis & T. Knight & L.N. De Castro & E.Hart, «An overview of Artificial immune Systems », Natural computation series, pages 51-86, Springer, 2004. [Ubi00] Ubizen. High Level Simplified Risk Management Methodology, Internal document 2000. [VON01] Von Zuben.F.J & De Castro.L.N « aiNet: An artificial Immune Network for Data analysis », In Data Mining: A Heuristic Approach, H.A. Abbass, R.A.Sarker, C.S. Newlton (Eds.), Idea Group publishing, USA, Chapter XII, pp.213-259, 2001. [WHI96] B. White & E. A. Fisch, & U. W. Pooch. « Cooperating Security Managers: A PeerBased Intrusion Detection System ». IEEE Network Journal, pp. 20-23, January/February 1996. [ZAM05] D. Zamboni « Intrusion Detection - Basic concept and current research at IBM », IBM Global security Analysis Lab, Information Technology Security Spring School, 2005. 110 Annexe 1- Introduction En 1998, les laboratoires de MIT Lincoln ont organisé un program d’évaluation des systèmes de détection d’intrusion DARPA dans le but d’examiner et d’évaluer les recherches dans la détection d’intrusion. Pour cela, ils ont installé un environnement pour acquérir des connexions TCP/IP pendant neufs semaines dans un réseau local (LAN) simulant un LAN typique de l’Armée de L’Air des EtatsUnis. Le réseau a été actionné mais en lui injectant de multiples attaques [KEN98]. Pour chaque connexion TCP/IP, 41 attribut qualificatifs et quantitatifs ont été extraits [STO00]. La compétition « KDD Intrusion Detection 1999 » utilisait un sous ensemble de 494021 enregistrements ce qui représente 10% de la base de données globale. 2- Classe d’attaque de l’ensemble KDD99 Les principales classes d’attaques de l’ensemble de données KDD99 sont : - Probing : surveillance et sondage - DOS (Denial Of Service) : déni de service - R2l (Remot to User) : accès non autorisé à partit d’une machine distante - U2R (User to Root): accès non autorisé pour avoir le privilège d’un administrateur Classes Numéro Normal 0 Probe 1 DOS 2 U2R 3 U2L 4 Tableau A.1. Numérisation des classes d’attaques La distribution des attaques dans l’ensemble d’apprentissage et dans l’ensemble de test n’est pas identique. L’ensemble de test contient plus les 22 types d’attaque d’apprentissages 14 types. Quelques experts dans le domaine d’intrusion croient que la plupart des nouvelle attaques sont qu’une variante des attaques connues et la signature des ces dernières peut être suffisante pour capter de nouvelle variantes. Le tableau A.2 et A.3 présentent les différents types d’attaques de l’ensemble d’apprentissages et de test respectivement. Annexe Attaques Back Buffer_overflow ftp_write Guess_password Imap Ipsweep Land Loadmodule Multihu Neptune Nmap Pert Phf Pod Portsweep Rootkir Satan Smurf Spy Tearfrop Warezclient Warezmaster Classe d’attaque 2 3 4 4 4 1 2 3 4 2 1 3 4 2 1 3 1 2 4 2 4 4 Tableau A.2. Les différentes attaques de l’ensemble d’apprentissage KDD99 Attaques Apache2 Back Buffer_overflow ftp_write Guess_password Httpunnel Httpunnel Imap Ipsweep Land Loadmodule Mailbomb Mscan Multihu Neptune Nmap Pert Pod Portsweep Processtable Ps Rootkit Saint Classe d’attaque 2 2 3 4 4 4 3 4 1 2 3 2 1 4 2 1 3 2 1 2 3 3 1 Annexe Satan Sendmail Smurf Snmpgetattack Snmpguess Sqlattack Teardrop Udpstom Warezmaster Worm Xlock Xsnoop Xteem 1 4 2 4 4 3 2 2 4 4 4 4 3 Tableau A.3. Les différentes attaques de l’ensemble d’test KDD99 3- Les attributs de KDD99 Stolfo et al [STO00] définissaient des attributs de haut niveau pouvant différencier les connexions normales de celles d’attaques. Il existe plusieurs catégories des attributs dérivés. Les attributs de la même machine « «same host » examinent seulement les connexions des deux derniers seconds qui ont la même machine destination que celle de la connexion courante, et calculent les statistiques reliées au fonctionnement du protocole, service, etc. Les attributs similaire « same service » examinent seulement les connexions des deux derniers secondes qui ont le même service que celui de la connexion courante. Les attributs « same host » et « same service » sont appelés les attributs du trafic à base de temps d’une connexion. Certaines attaques de type prob scannent les machines (ports) en plus de 2 secondes, par un scan par minute. Par conséquent, un d’autre type d’attributs et extrait à partir des machines destination en utilisant des fenêtres de 100 connexions vers la même machine au lieu qu’un temps fenêtre. Ceci produit un ensemble d’attributs appelés les attributs du trafic d’une hôte Contrairement à certaines attaques de types DOS et Prob, les attaques U2R et R2L sont enveloppées dans le champ données des paquets est nécessitent ainsi qu’une seule connexion pour réaliser l’attaque Stolfo et al [STO00] ont fait appel à des experts de domaine pour ajouter des attributs qui cherchent d’identifier des comportements suspects dans le champ de données, tels que le nombre d’échec de tentatives de connexions. Ces attributs sont désignés par attributs du contenu. Annexe Une liste complète des 41 attributs définis pour les enregistrements des différentes connexions est présente dans les trois tableaux ci-dessous. Nom d’attribut Duration Protocol_type Service Src_bytes Dst_bytes Flag Land Wrong_fragment Urgent Description Length(number of secondes)of the connection Type of the protocol, e.g. udp tcp etc Network sevice on the destination, e.g http,telnet Number of data bytes from source to destination Number of data bytes from destination to source Normzl or error statuts of the connection 1 if conection is from/to the same host/port, 0 otherwise Number of “wrong” fragment Number of urgent packets Type Continue Discrete Discrete Continue Continue Discrete Discrete Continue Continue Tableau A.4. Attribut de base d’une connexion TCP Nom d’attribut hot Num_failed_logins Logged_in Num_compromised Root_shell Su_attempted Num_root Num_file_creations Num shells Num_access_files Num_outbound_cmds Is_guest_login Is_hot_login Description Number of «hot » indicators Number of failed login attempts 1 if successfully logged_in; o otherwise Number of “compromised” conditions 1 if root shell is obtained; o otherwise 1 if “su root” command attempted; 0 otherwise Number of “root” accesses Number of file creation operations Number of shell prompts Number of operation o access control files Number of outbound commands in an ftp session 1 if the login is a “ guest” login; 0 otherwise 1 if the login belongs to the “hot” list 0 otherwise Type continue Continue Discrete Continue Discrete Discrete Continue Continue Continue Continue Continue Discrete Discrete Tableau A.5. Attribut de contenu Nom d’attribut Count Serror_rate Rerror_rate Same_srv_rate Diff_srv_rate Srv_coount Srv_serror_rate Srv_rerror_rate Srv_diff_host_rate Description Number of connection to the same host as the current connection in the past two seconds % of connection that have “SYN” errors % of connection that have “REJ” errors % of connection to the same services % of connection to different services Number of connection to the same service as the current connection in the past two seconds % of connection that have “SYN” errors % of connection that have “REJ” errors % of connections to different hosts Tableau A.6. Attribut de trafic Type Continue Continue Continue Continue Continue Continue Continue Continue Continue Résumé Face aux nouvelles technologies de l’information et de la communication, apparues 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 mémoire 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 naturelle, 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 on propose un IDS basé sur le système immunitaire artificiel qui s’inspire du système immunitaire naturel en utilisant la base de données KDD99. L’algorithme analyse les connexions réseaux afin de les classer comme normale ou anormales. Les résultats expérimentaux montrent que le système est performant avec un taux de reconnaissance satisfaisant. Mots clés : Système de détection d’intrusions, systèmes immunitaires naturels, systèmes immunitaires artificiels, KDD99. 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) Within the framework of this work one proposes IDS based on the artificial immune system which takes as a starting point the natural immune system by using the base of data KDD99. The algorithm analyzes connections networks in order to classify them like normal or abnormal. The experimental results show that the system is powerful with a satisfying rate of recognition. Key words: intrusions detection System, natural immune system, artificial immune systems, KDD99.