Analyse des journaux
En informatique, l'analyse des journaux (ou analyse des journaux des systèmes et des réseaux) est l'exploitation des enregistrements générés par un ordinateur pour différents types de tâches.
Les principales motivations de l'analyse des journaux sont :
- le respect des politiques de sécurité ;
- le respect de l'audit ou de la réglementation ;
- le dépannage du système ;
- la recherche d'indices ou de preuves (pendant une enquête ou en réponse à une citation à comparaître) ;
- la réponse aux incidents de sécurité ;
- la compréhension du comportement des utilisateurs.
Les messages contenus dans les journaux sont émis par des équipements de réseau, des systèmes d'exploitation, des applications et toutes sortes d'équipements intelligents ou programmables. Un journal est un flux de messages en séquence temporelle. Les journaux peuvent être dirigés vers des fichiers et stockés sur disque, ou dirigés sous forme de flux réseau vers un collecteur de journaux.
Les messages de journal doivent généralement être interprétés en fonction de l'état interne de leur source (par exemple, une application) et peuvent annoncer des événements pertinents pour la sécurité ou les opérations (par exemple, une connexion d'utilisateur ou une erreur système).
Les journaux sont souvent créés par les développeurs de logiciels pour aider au débogage d'une application ou pour comprendre comment les utilisateurs interagissent avec l'application. La syntaxe et la sémantique des données contenues dans les journaux sont généralement spécifiques à l'application ou au fournisseur. La terminologie peut également varier ; par exemple, l'authentification d'un utilisateur à une application peut être décrite comme un logon, un login, une connexion, une ouverture de session, une connexion d'utilisateur ou un événement d'authentification. Par conséquent, l'analyste des journaux doit interpréter les messages dans le contexte d'une application, d'un fournisseur, d'un système ou d'une configuration afin de faire des comparaisons utiles avec les messages semblables provenant d'autres journaux.
Le format ou le contenu des messages de journaux ne sont pas toujours entièrement documentés.
Une des tâches de l'analyste de journal est de programmer le système pour qu'il émette une gamme complète de messages afin de disposer de toute l'information nécessaire pour performer des analyses complètes du comportement d'un système et de ses utilisateurs.
Un analyste de journaux peut standardiser la terminologie de différents journaux en une terminologie normalisée afin que des rapports et des statistiques puissent être dérivés d'un environnement hétérogène. Par exemple, les messages des journaux de Windows, d'Unix, des pare-feu de réseau et des bases de données peuvent être regroupés dans un rapport normalisé pour faciliter leur analyse. Différents systèmes peuvent signaler différentes priorités de messages avec un vocabulaire différent, comme error, warning, err, warn et critical (ou leurs équivalents français).
L'analyse des journaux couvre donc sur un large spectre d'activités allant de l'extraction de texte à la rétro-ingénierie des logiciels.
Fonctions et technologies
L'analyse des journaux fait appel Ă plusieurs fonctions et technologies comme :
- La reconnaissance des formes : la comparaison d'un message du journal avec les messages d'un livre de formes afin de les filtrer ou de les traiter de différentes manières selon leur nature.
- La normalisation : la conversion de messages dans un format standard (par exemple, la normalisation du format des dates ou des heures).
- La classification et le marquage : le regroupement des messages dans différentes classes ou le marquage des messages avec des mots clés pour un usage ultérieur (par exemple, filtrage ou affichage).
- L'analyse des corrélations : la collecte des messages provenant de différents systèmes et l'identification des messages associés à un même événement (par exemple, les messages générés par une activité malveillante sur différents systèmes : dispositifs de réseau, pare-feu, serveurs, etc.). Cette activité est généralement associée à des systèmes d'alerte.
- L'ignorance artificielle : un type d'apprentissage machine qui consiste à rejeter les entrées de journal dont on sait qu'elles sont inintéressantes. L'ignorance artificielle est une méthode permettant de détecter les anomalies d'un système en fonctionnement. Dans l'analyse des journaux, cela signifie reconnaître et ignorer les messages réguliers et communs des journaux qui résultent du fonctionnement normal du système et qui ne sont donc pas très intéressants. Cependant, de nouveaux messages qui ne sont pas apparus dans les journaux auparavant peuvent signaler des événements importants, et doivent donc être examinés[1] - [2]. En plus des anomalies, l'algorithme identifiera les événements communs qui ne se sont pas produits. Par exemple, une mise à jour du système qui s'exécute normalement chaque semaine et qui n'aurait pas fonctionné.
Références
- « artificial ignorance: how-to guide », sur www.ranum.com
- « Log message classification with syslog-ng [LWN.net] », sur lwn.net