Introduction
Le
terme de « SecViz » (abréviation de « Security data Visualization ») désigne
l'activité qui consiste à visualiser graphiquement les données de log. Ce terme
est actuellement plutôt « à la mode » : les sites (comme secviz.org ou vizsec.org) et les articles
consacrés à ce sujet se multiplient. Aussi nous a-t-il semblé intéressant
d'aborder ce sujet.
En général, il y a plusieurs étapes dans l’exploitation des logs au sein
d’une entreprise :
- La première étape est de se rendre compte qu’il y a des logs et que l’on
pourrait en faire quelque chose.
- La deuxième étape est l’archivage de ces logs souvent pour des raisons
légales.
- La troisième étape consiste à concentrer tous les logs de l’entreprise en un
point unique, d’une part afin de mutualiser les moyens mis en œuvre pour
l’archivage, et d’autre part pour pouvoir mettre en place un processus
d’exploitation plus global.
A partir de ce point, la démarche d’exploitation peut suivre deux voies
différentes, complémentaires mais pas forcément exclusives l’une de l’autre.
- Le processus de supervision en temps réel. Ce processus va reposer sur la
mise en place d’un SOC (Security Operation Center) et le déploiement d’un
logiciel qui permette l’agrégation et la corrélation de ces logs générant des
alarmes de supervision en temps réel.
- Le processus de visualisation des logs. Ce processus peut être une analyse
en temps réel ou a posteriori (suite à un incident déclaré par
exemple).
La mise en place du processus de visualisation est une démarche plus ou moins
itérative en fonction du degré de connaissance que l’on acquiert sur les logs
traités.
La corrélation de
logs
Dans les grandes lignes, la corrélation de logs consiste tout d’abord à
agréger les logs similaires (même source, même message, même instant temporel)
et ensuite à l’aide de scénarios définis par l’exploitant de générer de nouveaux
meta événements possédant plus d’information qualitative.
Exemple de scénario simple : Si le log est à destination du port 21 et si le
log suivant est à destination du port 22 et si le log suivant est à destination
du port 23 et que ces 3 logs ont lieu en moins de 1 minute alors un balayage de
ports est probablement en cours à destination de cette machine.
La corrélation des logs est une activité puissante, aux intérêts indéniables.
Il faut être conscient cependant qu'elle a aussi des limites.
- Le problème de la corrélation de logs est lié aux différents scénarios. En
effet, il faut écrire ces différents scénarios et un scénario qui n’est pas
imaginé ne sera pas écrit et donc la tentative (ou réussite) d’intrusion ne sera
pas détectée.
- De plus, il est parfois impossible de corréler un événement avec un log
précédent par manque de contexte. Par exemple, il est parfois impossible en cas
de session SSH simultanée sur une machine, de lier un événement SUDO à une
session plutôt qu’à une autre.
- Une autre difficulté de la corrélation est que c’est un processus qui
demande extrêmement de mémoire et de puissance CPU lors de l’analyse.
La
visualisation de logs
La visualisation de logs est une démarche
complémentaire à la corrélation. Elle va s’attacher à regarder les logs dans
leur globalité et sans l’aide de scénarios. Dans cette démarche, c’est l’œil de
l’opérateur qui devra faire le travail de corrélation intuitive en se basant sur
des signatures visuelles plus ou moins complexes.
La visualisation de logs s’attache à mettre en
évidence :
- Les phénomènes répétitifs ou les phénomènes qui produisent un schéma
régulier parmi un brouillard (nuage) de logs qui semble aléatoire.
- Les phénomènes aléatoires parmi un schéma de logs prévu et attendu qui
devrait être régulier ou répétitif.
Pour que les logs soient visualisables, il faut qu’ils possèdent certaines
caractéristiques ;
- Ils doivent être nombreux. En effet, il est inutile de visualiser seulement
quelques lignes de logs, une simple analyse du fichier suffit.
- Ils doivent contenir des informations numériques afin de positionner les
valeurs sur un axe de visualisation. Ces informations numériques peuvent être
natives (des nombres, des numéros de port) ou facilement reconstruites (des
adresses IP, des dates).
- Ils doivent contenir plusieurs dimensions numériques (au moins 2).
Les contraintes liées à la visualisation des logs sont les suivantes :
- L’opérateur doit savoir ce qu’il veut représenter, comment il veut le
représenter et ce que cela va donner comme image a priori.
- Si le résultat affiché n’est pas le résultat escompté, le travail
d’interprétation du résultat peut être complexe.
Conclusion
Au
travers cette article nous avons présenté les concepts de base relatifs à
l'approche d'analyse basée sur la visualisation des logs. Le mois prochain nous
poursuivrons cette étude en présentant l'expérience qu'a acquise le CNES dans ce
domaine.
En attendant, si vous voulez en savoir plus sur la visualisation des
logs, nous vous invitons à :
- visiter le site www.secviz.org (site dédié à la visualisation des logs) et sa
galerie.
- Explorer le "live-CD" DAVIX qui propose un ensemble d'outils permettant de
visualiser des logs.