Nicolas Nobelis Septembre 2004
DEA RSD / ESSI3 SAR
Un modèle de Case-Based Reasoning pour la
détection d'intrusion
Rapport de stage DEA RSD/ESSI3 SAR
Stage effectué sous l'encadrement de Melle Karima Boudaoud
pour le laboratoire I3S
Avril – Septembre 2004
1. Introduction
Les réseaux et systèmes informatiques sont devenus des outils indispensables au fonctionnement des
entreprises. Ils sont aujourd’hui déployés dans tous les secteurs professionnels : la banque, les assurances, la
médecine ou encore le domaine militaire. Initialement isolés les uns des autres, ces réseaux sont à présent
interconnectés et le nombre de points d’accès ne cesse de croître.
Ce développement phénoménal s’accompagne naturellement de l'augmentation du nombre d’utilisateurs.
Ces utilisateurs, connus ou non, ne sont pas forcément pleins de bonnes intentions vis-à vis de ces réseaux.
Ils peuvent exploiter les vulnérabilités des réseaux et systèmes pour essayer d’accéder à des informations
sensibles dans le but de les lire, les modifier ou les détruire, pour porter atteinte au bon fonctionnement du
système ou encore tout simplement par jeu.
Dès lors que ces réseaux sont apparus comme des cibles d’attaques potentielles, leur sécurisation est
devenue un enjeu incontournable. De nombreux outils et moyens sont disponibles, tels que firewalls,
solutions matérielles, logiciels d'audits ou systèmes de détection d'intrusion (IDS). Les IDS sont une des plus
populaires réponses au problème posé par :
l'évolution continue des attaques,
l'apparition de nouvelles attaques,
la nécessi de pouvoir appliquer rapidement de nouvelles politiques de sécurité dans un réseau
afin de détecter et réagir le plus vite possible aux attaques survenant dans ce réseau.
Dans ce contexte, un IDS utilisant des politiques de sécurité et fon sur un système multi-agents a été
proposé ([21]). Dans ce système, des agents intelligents coopèrent et communiquent pour détecter
efficacement des attaques suivant des schémas d'attaque définis dans leur base de connaissances. Les
caractéristiques clés des agents intelligents (AI) utilisées dans ce système sont la délégation, la coopération
et la communication. Cependant, une propriété importante des AI, qui est leur capacité d'apprentissage, n'a
pas été utilisée. Cette caractéristique nous paraît idéale pour détecter de nouvelles attaques. C'est pour cette
raison que nous nous proposons d'étendre cet IDS multi-agents en lui ajoutant la fonction d'apprentissage de
nouveaux schémas d'attaque.
L'objectif de ce travail est donc de concevoir d'un modèle permettant la détection d'attaques inconnues pour
le système à base d'agents existant.
Nous commencerons par un état de l'art sur la détection d'intrusions. Puis, nous présenterons une technique
particulière permettant l'extraction et la classification de données pertinentes, issues de fichiers d'audit, pour
la détection d'intrusions : le Data Mining. Ensuite, nous étudierons une seconde technique, dite
"Raisonnement à Base de Cas" ("Case Based Reasoning"), technique qui nous semble intéressante dans
l'apprentissage de nouvelles attaques. Enfin, nous décrirons notre modèle fondé sur le CBR pour la détection
d'intrusions inconnues. Finalement, nous terminerons par une conclusion et quelques remarques sur les
travaux futurs.
2/28
2. État de l'art
Une intrusion peut être définie comme tout ensemble d'actions qui essaye de compromettre :
la confidentiali des données,
l'intégrité des données,
la disponibilité d'une ressource ou d'un service.
En dépit des différentes formes d'intrusion, elles peuvent être regroupées dans deux classes :
les intrusions connues
les intrusions inconnues ou anomalies.
Dans le cadre de ce travail, nous nous intéresserons à la détection de ces deux types d'intrusions.
2.1 La détection d'intrusions
La détection d'intrusions fait référence à la capacité d'un système informatique de déterminer
automatiquement, à partir d'événements relevant de la sécurité, qu'une violation de sécuri se produit ou
s'est produite dans le passé. Pour ce faire, la détection d'intrusions nécessite qu'un grand nombre
d'événements de sécurité soient collectés et enregistrés afin d'être analysés. On parle alors d'audit de
sécurité.
Les systèmes de détection d'intrusion (IDS) actuels reposent sur des techniques diverses et variées. Dans
cette section, nous présentons une classification de haut niveau de ces techniques.
Les systèmes de détection d'intrusions sont divisés en deux catégories, suivant l'approche utilisée, qui peut
être ([21]) :
soit une approche par scénarios.
soit une approche comportementale.
soit hybride (i.e. un mixte des deux approches)
Les approches par scénarios se basent sur le fait que toute attaque connue produit une trace spécifique dans
les enregistrements d'audit. Elles nécessitent une connaissance a priori des attaques à détecter : une alarme
est émise lorsque la trace d'une attaque connue est détectée. Les approches par scénarios utilisent des
techniques différentes, dont les principales sont :
les techniques à base de règle (i.e. les systèmes experts). La base de connaissances des systèmes
experts contient des règles concernant non seulement les scénarios d'attaque que l'on veut
détecter sur le système cible, mais aussi les vulnérabilités connues de ce système. La construction
de cette base repose entièrement sur l'expérience et le savoir faire de l'officier de sécurité.
les approches fondées sur la signature des attaques essayent de représenter les attaques sous
forme de signatures. Les données courantes sont alors comparées à ces signatures. S'il y a des
similitudes, une alarme est déclenchée.
et les algorithmes génétiques, utilisés afin d'optimiser la recherche de scénarios d'attaque dans
des fichiers d'audit ([20]). Leur utilisation permet d'éviter une recherche exhaustive en
sélectionnant les meilleurs éléments d'une population (ici les scénarios d'attaque).
L'approche comportementale vise à modéliser ou à prédire le comportement normal : cette approche
nécessite une phase d'apprentissage proprement dite durant laquelle les cas de références, représentant le
profil normal, sont construits. Une alarme est émise quand une déviation trop importante de ce profil est
observée.
Pour modéliser le profil normal, les approches comportementales utilisent :
3/28
soit des modèles statistiques qui consistent à utiliser des mesures statistiques pour modéliser un
profil de comportement et détecter ensuite des comportements intrusifs. Chacune des ces mesures
est associée à un seuil ou à un intervalle de valeurs, dans lequel une activité est considérée
comme normale. Tout dépassement de seuil ou situation de valeurs à l'extérieur des bornes de
l'intervalle indique une activité anormale,
soit des systèmes experts. La différence majeure entre un système expert et un modèle
statistique est que ce dernier utilise des formules statistiques pour identifier des comportements
dans les données d'audit alors que le système expert utilise un ensemble de règles pour
représenter ces comportements.
Les approches comportementale prédisant le profil normal peuvent, quant à elles, reposer sur :
des générateurs de forme prédictive. Cette approche prédit les formes les plus probables en se
basant sur les formes observées. Durant la phase d'apprentissage, cette approche détermine des
règles temporelles qui caractérisent le comportement normal des utilisateurs.
ou des réseaux de neurones. Un réseau de neurones est constit de plusieurs éléments de
traitement simples appelés unités et qui interagissent en utilisant des connections pondérées. Le
réseau constitue le profil normal d'un utilisateur. Ainsi, après chaque commande utilisée par cet
utilisateur, le réseau essaye de prédire la commande suivante, en tenant compte des n commandes
antérieures. Si la commande réelle dévie de celle prédite, alors une alarme est envoyée.
Quelle que soit l'approche choisie (comportementale, par scénarios ou hybride), tous les IDS se trouvent
confrontés au problème de la détection de nouvelles attaques, plus précisément à la détection d'attaques
inconnues. Les systèmes fondés sur une approche par scénarios, ne peuvent, a priori, détecter que des
attaques connues : la détection de nouvelles attaques pour eux consiste en la mise à jour de leur base de
connaissance (à la manière des logiciels antivirus). L'approche comportementale, quant à elle, permet
effectivement de détecter des attaques inconnues, puisque toutes les attaques constituent une déviation vis à
vis de leur comportement normale de référence.
Au delà du problème de la détection de nouvelles attaques, tous les IDS existants (encore une fois, quelle
que soit l'approche sur laquelle ils reposent) sont soumis aux problèmes de l'extraction et surtout de la
classification de données pertinentes d'un large volume de donnée diverses ([13]). Ce volume et cette variété
peuvent se justifier par ([9]) :
l'augmentation du nombre d'attaques ainsi que la taille des journaux d'audits manipulés (qui
contiennent de plus en plus d'événements), augmentations liées à celle des débits des réseaux,
l'éventail d'IDS (propriétaires ou non) utilisant chacun leurs techniques et données propres par
manque de standard reconnu.
Une des techniques les plus populaires à l'heure actuelle est celle du Data Mining, que nous allons
expliciter dans la partie suivante.
2.2 Le Data Mining et la classification de données d'audit
D'après Dary Alexandra Pena Maldonado ([9]), le Data Mining (DM) est une technique permettant de
retrouver des corrélations d'attributs entre éléments d'un même jeu de données, pour caractériser un
comportement spécifique, mais autorisant également la construction de règles à des fins de classification.
Pour Wenke Lee & Al. ([18]), le DM est un processus chargé d'extraire automatiquement un modèle d'un
large ensemble de données. Les auteurs distinguent différent types d'algorithmes de DM :
Classification : permet de déterminer l'appartenance d'un élément à une catégorie prédéfinie.
Analyse de lien : permet de déterminer les relations entres différentes caractéristiques d'une base
de données, afin de conseiller le meilleur jeu de caractéristiques pour la détection d'intrusions.
4/28
Analyse de séquence : autorise la recherche, dans une séquence d'événements, de schémas
caractéristiques, afin de définir le comportement normal.
Le DM peut être utili quelque soit le type de stratégie sur lequel repose le système de détection
d'intrusions, comme nous allons le voir dans les paragraphes ci-dessous.
2.2.1 Le Data Mining dans les approches par scénarios
Le protocole utilisé dans cette approche est le suivant :
Il faut tout d'abord prendre un vaste jeu de données dont les entrées sont étiquetées comme étant des
activités normales ou anormales. Le Data Mining intervient à travers l'utilisation d'un logiciel de création de
règles comme RIPPER ([19]) : A partir du jeu de données, des règles précises sont générées permettant de
caractériser une activité, caractérisation normale ou anormale.
Deux exemples populaires d'une telle approche sont :
Le projet "Automated Discovery of Concise Predictive Rules for Intrusion détection" de Helmer
& Al ([12] plus agents [10] [11]), qui utilise la technique suivante : RIPPER est lancé sur un jeu
de données d'entraînement étiqueté (i.e. les attaques sont identifiées). Cet algorithme génère
ensuite des règles de classification pour la classe comprenant le moins d'éléments. Illustrons cela
par un exemple. Soit V un vecteur d'événements inconnus à classifier. Si dans le jeu
d'entraînement, il y a moins d'attaques que d'événements normaux, les règles générées
ressemblent à :
Si caractéristique no1 de V > x
alors V est une attaque
Si (caractéristique no2 de V > y et caractéristique no5 de V <> 3)
alors V est une attaque
...
Sinon
V n'est pas une attaque.
Illustration 1: Un exemple de règles générées par RIPPER
Ceci reste une utilisation classique de RIPPER, mais ce projet est néanmoins très intéressant de par
l'utilisation de plusieurs techniques conjointes (tel que RIPPER et les algorithmes génétiques par
exemple).
Le projet JAM Java Agent For Metalearning ([18][17][16]), qui utilise une approche
nécessitant le calcul d'un profil issu de données étiquetées durant une phase d'apprentissage. Un
algorithme d'apprentissage est ensuite utilisé pour classifier des événements inconnus. Ce projet
présente un caractère original car le système JAM est indépendant de l'algorithme
d'apprentissage. Les algorithme RIPPER, Bayes et Wpebls sont inclus nativement dans le
système, mais n'importe quel autre algorithme peut être utilisé via un système de plugin. Pour
plus de détails sur les résultats de ce projet, voir [15].
2.2.2 Le Data Mining dans les approches comportementales
Dans les approches comportementales, le DM est utilisé sur un jeu de données enregistrées durant une
utilisation normale du système lors d'une phase dédiée d'apprentissage (contrairement à l'approche
précédente, les données ne sont pas étiquetées suivant leur nature - normale ou anormale - ) . L'utilisation du
DM permet de construire le profil normal utilisé pour l'observation de déviations par rapport à ce profil, afin
de caractériser les attaques.
5/28
1 / 28 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !