Proposition d’un algorithme immunitaire pour la détection d’intrusion

 Proposition d’un algorithme immunitaire pour la détection d’intrusion

Réseaux de neurones

Proposition d’un algorithme immunitaire pour la détection d’intrusions

Une troisième technique vise plus particulièrement à contrôler le comportement des utilisateurs du système. L’objectif est de protéger le système des attaques dont ils pourraient être les auteurs,mais surtout de vérifier leur identité tout au long de la session. Cette approche convient donc particulièrement pour détecter des chevaux de Troie et des attaques visant à déjouer l’authentification ou des détournements d’identité.Le principe repose sur le fait que chaque utilisateur peut être identifié à son comportement : ses activités, ses outils préférés, ses habitudes de travail, mais aussi d’autres paramètres tels que la vitesse de sa frappe au clavier, sa préférence vis-à-vis de l’interface graphique ou des commandes texte, etc. Le profil associé à chaque utilisateur reflète donc ces informations dans le cadre d’une utilisation normale, c’est-à-dire légitime.Il est possible de représenter efficacement ce profil par un réseau de neurones, conçu pour reconnaître des suites d’opérations caractéristiques de l’utilisateur. Le réseau enregistre les opérations de l’utilisateur durant une fenêtre temporelle donnée, puis tente de prédire la prochaine opération. Un échec de prédiction correspond ainsi à une déviation par rapport au profil et donne potentiellement lieu à une alerte.La fenêtre temporelle peut effectivement être définie en temps réel (par exemple, prédire la prochaine opération en fonction des actions de l’utilisateur au cours des 5 dernières secondes),mais plus souvent, elle correspond en fait à un certain nombre d’opérations (le réseau tente de prédire la prochaine opération en fonction des 5 dernières). Le choix de la taille de la fenêtre est une importante variable d’ajustement : une fenêtre plus courte limite dans les faits le champ d’action de l’utilisateur, en limitant considérablement ses comportements possibles,ce qui tend à générer de fréquents faux-positifs. En revanche, une fenêtre longue conduit automatiquement à un détecteur moins réactif, laissant ainsi la possibilité à un attaquant potentiel de « noyer » des opérations malignes dans des séries d’actions d’apparence légitime.La détection par réseaux de neurones a été largement développée et testée dans les années 80 et 90 [4], mais la plupart des projets se sont soldés par des échecs. Néanmoins, cette méthode fait actuellement l’objet de nouvelles recherches, avec quelques résultats prometteurs :par exemple, un système fondé sur un tel réseau de neurones détecte, selon ses auteurs, les anomalies avec un taux de succès de 96% et un taux de faux-positifs de 7% [6]. Bien que Proposition d’un algorithme immunitaire pour la détection d’intrusions ces valeurs correspondent aux conditions expérimentales et non à une mise en production réelle, ils témoignent d’un potentiel certain de la méthode. Cependant, la mise en œuvre reste délicate : la construction initiale du réseau neuronal et le choix de la taille de la fenêtre exigent un grand nombre de tests dans des conditions d’exploitation réelle, de même que la longue phase d’apprentissage du réseau. En plus de cet important investissement, l’approche présente le risque supplémentaire qu’un utilisateur ayant des intentions malignes à long terme présente volontairement un comportement biaisé au cours de ces étapes préliminaires de manière à influencer la topologie finale du réseau de neurones et générer un profil à sa convenance

APPROCHE PAR SCÉNARIO

Le problème de la détection d’intrusions est également couramment approché d’une façon radicalement différente, en visant à détecter des signes de scénarii d’attaques connues. Le Principe commun à toutes les techniques de cette classe consiste à utiliser une base de données,contenant des spécifications de scénarii d’attaques (on parle de signatures d’attaque et de base de signatures).Le détecteur d’intrusions confronte le comportement observé du système à cette base et lève une alerte si ce comportement correspond à l’une des signatures.Nous présentons dans la suite deux techniques qui répondent à cet objectif: le pattern matching et la détection par inférence.

 PATTERN MATCHING

Le pattern matching est la forme la plus simple de détection de signatures. Dans ce cas,les suites d’opérations enregistrées dans l’audit sont considérées comme un langage, dont la base de signatures constitue un sous-ensemble défini par un ensemble de patterns. La Détection d’intrusions s’apparente dès lors au problème classique de reconnaissance de langage ; le cœur du détecteur d’intrusions implémente un certain modèle de reconnaissance de langage (machine de Turing, automate à états, réseau de Petri, etc.) dont dépend directement la classe des attaques susceptibles d’être détectées [11].Cependant, un modèle de détection dans lequel les transitions d’états correspondent directement aux opérations effectuées et consignées dans l’audit aboutit immédiatement à une explosion combinatoire, étant donné le nombre astronomique des états possibles d’un système informatique, même de taille modeste. Pour cette raison, les transitions sont munies de gardes : il s’agit de fonctions booléennes de l’état du système qui permettent à la fois de simplifier la spécification des patterns et réduire dramatiquement l’espace d’exploration du détecteur.Considérons par exemple une vulnérabilité bien connue des systèmes Unix : l’exécution d’un interpréteur de commandes muni du bit suid, qui permet à un utilisateur malveillant d’acquérir des droits illégitimes. Le principe de l’attaque peut se résumer ainsi :l’utilisateur user1 crée une copie de /bin/sh par exemple dans /home/user1/mysh.il trouve un moyen (cheval de Troie, détournement d’identité, social-engineering, etc.) de donner à cette copie une autre identité user2 et armer son bit suid.il lui suffit désormais d’exécuter /home/user1/mysh pour lancer des opérations illégales.En utilisant la notation conventionnelle des expressions régulières et à l’aide des gardes,un pattern décrivant cette attaque peut s’écrire :cp(/bin/sh,A)uid(A)=U .* exec(A)uid(A)? U ? suid(A)=true En tant que tel, ce mécanisme de détection reste très fiable, le pattern matching étant une méthode déterministe et exacte. La principale difficulté provient en revanche de la construction des patterns eux-mêmes, qui doivent répondre aux critères contradictoires d’être à la fois suffisamment précis pour discriminer un grand nombre de cas et éviter de générer des faux positifs, et rester suffisamment génériques pour détecter différentes variantes de la même attaque.Dans l’exemple très simple proposé ci-dessus, le pattern proposé n’émet aucune hypothèse quant aux opérations entraînant la modification du propriétaire de la copie A et du bit suid : ainsi, toute forme d’attaque aboutissant à l’exécution d’un shell avec un bit suid armé et appartenant à un autre utilisateur sera détectée. En revanche, on suppose ici que l’attaquant est l’auteur de la copie A.S’il ne fait qu’armer le bit suid sans modifier le propriétaire de A, l’exécution d’un tel shell n’est en rien illégale pour lui, mais constitue une intrusion pour tout autre utilisateur. Ce cas n’est pas pris en compte par ce pattern, donnant ainsi lieu à un faux négatif (absence d’alerte en présence d’attaque).

DÉTECTION PAR INTERFÉRENCE

Le pattern matching seul reste une technique rigide et difficile à exploiter à grande échelle. C’est pourquoi de nombreux détecteurs de scénarii le complètent par un algorithme d’inférence probabiliste, fondé sur le principe de l’inférence de Bayes [7]. Dans ce modèle, les attaques connues constituent des «hypothèses», pouvant «expliquer» les faits observés. On considère qu’une attaque donnée se traduit par des «symptômes», pouvant apparaître sous forme d’événements dans l’audit, mais aussi de données statistiques comme dans le cas de la détection d’anomalies (occupation mémoire, charge CPU, etc.). Étant donné un ensemble de symptômes, l’inférence bayésienne permet de calculer la probabilité de chaque scénario d’attaque connu. Lorsqu’un scénario affiche une probabilité élevée, une alerte est levée.La règle d’inférence de Bayes peut s’énoncer de manière simplifiée ainsi :p(A|S) = p(A)*p(S|A)*Dans cette notation, p(X|Y) désigne la «probabilité de X étant donné Y». Ainsi, si S est un symptôme et À une attaque particulière, p(S|A) représente la probabilité que l’attaque fasse apparaître le symptôme S. p(A) est la probabilité générale de l’occurrence de l’attaque A. Étant donné que p(A) aussi bien que p(S|A) sont des données empiriques, connues et fournies par la base d’attaques, on peut aisément calculer p(A|S), la probabilité de l’existence de l’attaque A étant donné le symptôme S (a représente ici une simple constante de normalisation des probabilités).Contrairement à cet exemple, il est très rare en pratique que S représente directement un symptôme et à une attaque. La véritable signification de ces paramètres est respectivement «l’information courante» (c’est-à-dire une hypothèse) et une «nouvelle information» (un élément venant confirmer ou démentir cette hypothèse). Un détecteur d’intrusions à inférence bayésienne construit donc récursivement un arbre de décision, selon la règle d’inférence :

p(A n+1 ) = p(A n |S n )=p(A n )*p(S n |A n )*aLes données de l’algorithme, c’est-à-dire la base des attaques, contient l’ensemble des hypothèses i , dont certaines désignent des attaques connues, ainsi que les probabilités p(A i ) etp(A i |S j ).L’information initiale, S 0 , correspond à un premier symptôme observé (par exemple par pattern matching), permettant d’affecter une certaine probabilité à chacune des hypothèses possibles.L’arrivée de chaque nouvel élément S i modifie ainsi ces probabilités, donnant lieu à un nouveau nœud de l’arbre. Dans le cas d’une intrusion connue, l’algorithme générera finalement un nœud accordant une probabilité élevée à une certaine hypothèse A q , qui est définie comme étant cette attaque.Cette méthode présente l’avantage de minimiser en principe le risque qu’un attaquant puisse exploiter sa connaissance de la base des attaques pour passer inaperçu. Chaque Élément observé dans l’audit est confronté à différentes hypothèses et un scénario d’attaque est défini comme la présence combinée d’un ensemble de symptômes et non comme une séquence particulière d’événements. L’élaboration d’un scénario non détectable nécessite la construction d’une série d’opérations réalisant l’attaque voulue, mais dans laquelle rien ne confirme réellement aucune des hypothèses, ce qui est très difficile dans le cas d’une base d’attaques non-triviales. Seules les attaques réellement inconnues dans la base ne seront pas détectées. De plus, si la détection de véritables nouvelles attaques est évidemment exclue, le principe d’inférence permet néanmoins de détecter nombre de variantes d’une attaque donnée, y compris de nouvelles variantes, et se montre performant notamment dans le cas où l’attaquant cherche à « noyer » son attaque dans du bruit, en générant un grand nombre d’opérations anodines.En pratique, l’efficacité de cette approche dépend naturellement principalement de la qualité dela base d’attaques, c’est-à-dire : exhaustivité des symptômes définis, pertinence des hypothèses formulées et réaliste des probabilités associées à ces hypothèses.La construction de la base nécessite ainsi à la fois un important travail d’expert (formulation des hypothèses) et une étude statistique de cas réels (calcul des probabilités).

 

Table des matières

 I INTRODUCTION GENERALE
I.1 INTRODUCTION
I.2 PROBLEMATIQUE
I.3 OBJECTIF DU TRAVAIL
I.4 ORGANISATION DU MEMOIRE
CHAPITRE I LE SYSTEME DE DETECTION D’INTRUSIONS
I.INTRODUCTION
II. APPROCHE COMPORTEMENTALE 
II.1APPROCHE PROBABILISTE
II.2 APPROCHE STATIQUE
II.3 RESEAUX DE NEURONES
II.4 CONCLUSION SUR L’APPROCHE COMPORTEMENTAL
III.APPROCHE PAR SCENARIO
III.1 PATTERN MATCHING
III.2 DETECTION PAR INTERFERENCE
III.3 CONCLUSION SUR L’APPROCHE PAR SCENARIO
VI CONCLUSION .
CHAPITRE II LES SYSTEMES IMMUNITAIRES ARTIFICIELS
I.INTRODUCTION.
II LE SYSTEME IMMUNITAIRE NATUREL
II.2 COMPOSANTS DE L’IMMUNITE
II.2.1 L’IMMUNITE NATURELLE
II.2.2 L’IMMUNITE ACQUISE
II.3 DETECTION DES ANTIGENES
II.3.1 LE RECEPTEUR DES LYMPHOCYTES B (BCR)
II.3.2 LE RECEPTEUR DES LYMPHOCYTES T (TCR)
II.4 MECANISME DE LA DETECTTION DU SOI ET DUNON SOI
II.4.1 LA SELECTION POSITIVE
II.4.2 LA SELECTION NEGATIVE DE LYMPHOCYTES B (La délétion clonale)
II.4.3 LA SELECTION NEGATIVE DE LYMPHOCYTES T
II.5 LA THEORIE DE LA SELECTION CLONALE
II.6 LA THEORIE DES RESEAUX IMMUNITAIRES (idiotypique)
II.7 LA THEORIE DU DANGER
III LE SYSTEME IMMUNITAIRE ARTIFICIEL
III.1 INTRODUCTION
III.2 REPRESENTATION DES DIFFERENTS MECANICMES30
III.2.1 AFFINITE
III.2.2 GENERATION DES RECEPTEURS
III.2.3 LA SELECTION POSITIVE
III.2.4 LA SELECTION NEGATIVE
III.2.5 LA SELECTION CLONALE
III.3 MODELE DES RESEAUX IMMUNITAIRES
III.4 LA THEORIE DE DANGER
IV CONCLUSION.
CHAPITRE III LE LIEN ENTRE UN IDS ET AIS
I INTRODUCTION
II L’IMMUNOLOGIE ET LA SECURITE DES SYSTEMES INFORMATIQUE
II.1L’IMMUNOLOGIE
II.2 LA SECURITE DES SYSTEMES INFORMATIQUES
III L’ANALOGIE ENTRE LE SYSTEME IMMUNITAIRE ET UN SYSTEME DE DETECTION
D’INTRUSIONS
III.1 LES EXIGENCES D’UN IDS BASE RESEAU
III.2 LES BUTS DE CONCEPTION D’UN IDS BASE RESEAU
III.2.1 LA DISTRIBUTION
III.2.2 L’AUTO ORGANISATION
III.2.3 LA SOUPLESSE « lightweight »
III.3 UNE ANALYSE DES CARACTERISTIQUE DU SIH
III.3.1 UN MODELE DISTRIBUE
III.3.2 L’AUTO ORGANISATION
III.3.3 LA SOUPLESSE.
III.4 DISCUTION.
IV CONCLUSION.
CHAPITRE IV APPROCHE PROPOSE
I INTRODUCTION
II LE SYSTEME IMMUNITAIRE ARTIFICIEL POUR LA DETECTION D’INTRUSIONS
III L’APPROCHE PROPOSEE
III.1 DISCUSION
III.2 PROBLEMATIQUE
III.3 DESCRIPTION DE L’ALGORITHME
III.3.1 LE SYSTEME IMMUNITAIRE HUMAIN
III.4 PROPOSITATION
III.4.1 UNE VUE GENERALE DE L’ALGORITHME
III.4.2 PSEUDO CODE DE L’ALGORITHME
III.4.3 LES DIFFERENTS MECANISMES MIS EN ŒUVRE
III.4.4 LA GNERATION DE LA POPULATION DES DETECTEURS INITIAUX
IV CONCLUSION
CONCLUSION GENERALE
ANNEXE A
ANNEXE B
Références bibliographiques

projet fin d'etudeTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *