Le format IDMEF (Intrusion Detection Message Exchange Format) décrit une alerte de façon objet et exhaustive. Une alerte est le message qui est émis depuis un analyseur, qui est une sonde en langage IDMEF, vers un collecteur. Le but d'IDMEF est de proposer un standard permettant d'avoir une communication hétérogène quel que soit l'environnement ou les capacités d'un analyseur donné.
Ces alertes sont définies au format XML, offrant une possibilité de validation de chaque message. En général, les implémentations restent binaires, afin d'éviter les problèmes connus d'ajout d'information inutiles en dehors d'XML lorsque l'on envoie un message sur le réseau.
IDMEF offre aussi un vocabulaire précis, qu'il est courant d'utiliser dans le domaine de la détection d'intrusions. Par exemple, une classification correspond au nom d'un alerte; Un impact celui d'un niveau d'attaque.
La corrélation est une connexion entre deux ou plusieurs éléments, dont un de ces éléments créée ou influence un autre. Elle se traduit plus généralement par la transformation d'une ou plusieurs alertes en attaque. Cela permet de faciliter la compréhension sur les attaques au lieu de s'éparpiller parmi les alertes.
Idéalement, elle nécessite un IDS Hybride car plus il y a d'informations hétérogènes sur un évènement, la corrélation se fait d'une façon plus pertinente. Les formats ayant été normalisés (IDMEF), il ne reste plus qu'à faire des associations afin de détecter des alertes qui n'auraient jamais eu lieu sur un analyseur seul.
Si l'on prend l'exemple d'une authentification échouée, cela génère une alerte de faible intensité. Mais s'il y a une série d'authentifications échouées avec des utilisateurs différents, on peut conclure à une attaque de force brute.
La corrélation permet de générer de nouvelles alertes à partir de celles existantes. C'est une étape préalable à une contre-mesure efficace.
Il y a diverses façons de faire de la corrélation. Cependant on peut définir deux catégories :
Ces IDS servent, entre autres, à vérifier qu'un système n'a pas été compromis (par un rootkit par exemple). Ils utilisent des sommes de contrôle (MD5, SHA-1, …) des programmes exécutables pour s'assurer qu'ils n'ont pas été modifiés.
La contre-mesure est l'art de piloter les éléments réseau ou la machine cible, afin d'éviter à une attaque de se propager (Islanding) ou de perdurer. Il s'agit d'une procédure assez compliquée et souvent désactivée.
Ce qui rend la contre-mesure difficile, c'est la définition d'une attaque d'un point de vue formel. Il n'est pas possible de se baser sur des éléments qui génèrent des faux positifs. Et cela peut aussi engendrer un autre problème où l'attaquant se fait passer pour un client du réseau en générant des motifs d'attaque. Cela peut même bloquer le réseau interne si la contre-mesure est mal configurée.
Un système de contre-mesure se configure en général avec une liste blanche, dans laquelle sont mises les IP du réseau interne.