Attack description language for intrusion detection by events or alerts correlation in heterogeneous networks environment
Langage de description d'attaques pour la détection d'intrusions par corrélation d'événements ou d'alertes en environnement réseau hétérogène
Résumé
Intrusion detection aims to automate the detection of malicious actions perpetrated on a network by an internal user or an external attacker. This requires the establishment of a monitoring of users and systems activity for later analysis of these activities.
In this thesis, we propose a high level of abstraction language, ADeLe, dedicated to the description of attacks. This language provides the means to fully describe an attack in its various aspects: exploit, detection and response.
We first detail the syntax and informal semantics of this language. The detection part of the description allows to correlate events or alerts by defining signatures that contain timing and logical constraints.
We then give the operational semantics associated with the detection part of the language, based on finite state machines that model the signatures. We present an abstract algorithm using these automata to perform the detection. We also address the problem of combinatorial explosion linked to our model that keeps running by default all partial memory solutions.
Finally, we present various software projects: several system and network sensors, an application probe, a compiler that translate the ADeLe langauge to our automata and also the ADeLaIDS analyzer. We also present two experiments performed using this analyzer.
La détection d'intrusions vise à automatiser la détection des actions malicieuses perpétrées sur un réseau de machines par un utilisateur interne ou un attaquant externe. Cela passe par la mise en place d'une surveillance des activités des utilisateurs et des systèmes pour analyse ultérieure de ces activités.
Nous proposons dans cette thèse un langage de haut niveau d'abstraction, ADeLe, dédié à la description des attaques. Ce langage donne les moyens de décrire complètement une attaque sous ses différents aspects : exploit, détection et réaction.
Nous détaillons tout d'abord la syntaxe et la sémantique informelle de ce langage. La partie détection de la description permet de corréler des événements ou des alertes en définissant des signatures qui comportent des contraintes temporelles et logiques.
Nous donnons ensuite la sémantique opérationnelle associée à la partie détection du langage, basée sur des automates à états finis qui modélisent les signatures. Nous présentons un algorithme abstrait qui utilise ces automates pour effectuer la détection. Nous abordons également le problème de l'explosion combinatoire lié à notre modèle qui conserve en cours d'exécution, par défaut, l'ensemble des solutions partielles en mémoire.
Nous présentons enfin différentes réalisations logicielles : plusieurs capteurs système et réseau, une sonde applicative, un compilateur du langage ADeLe vers nos automates à états finis ainsi que l'analyseur ADeLaIDS. Nous présentons également deux expérimentations effectuées à l'aide de cet analyseur.
Mots clés
Domaines
Informatique [cs]
Loading...