Identification des erreurs de synchronisation temporelle dans les logs, et correction.
Defants est une société proposant une solution innovante d’investigation numérique et de réponse à incident en SaaS. Lors d’un incident de sécurité (une attaque informatique), des artefacts sont collectés via différents outils sur les systèmes d’informations. Ces artefacts sont fortement hétérogènes et leur représentation et/ou stockage dépend souvent de l’outil de collecte. Avec Defants vSIRT, l’ensemble de ces artefacts est intégré dans une solution unique et représenté sous la forme d’un graphe sémantique d’investigation.
Aujourd’hui, une des problématiques techniques auxquelles nous devons faire face est la non-cohérence temporelle de données de collectes. En effet, il est rare que tous les postes d’un système d’information soient réellement synchronisés temporellement, même si c’est une recommandation de l’ANSSI. Des erreurs de timestamp courantes que l’on peut rencontrer sont :
- Décalage de quelques minutes/secondes (systèmes désynchronisés, courant dans le cas de postes isolés).
- Changement de timezoneet logiciel de log/collecte basé sur ce temps « timezoné » .
- Absence de timestamp dans le log.
- Modifications par l’attaquant (exemple, modification de la date de dernière modification d’un fichier).
- Suppression par l’attaquant (exemple, suppression des éléments temporels d’un fichier exécutable, notamment les dates de compilation).
- Une combinatoire des éléments suscités.
Le but du projet est de proposer un mécanisme d’identification et de différentiation des « désynchronisations de logs » et des « modifications de timestamp par un attaquant ».
Dans un second temps, deux éléments sont attendus :
- Resynchronisation des logs.
- Une plage temporelle probable de l’action attaquant.
La société Defants fournira des jeux de données anonymisées présentant des décalages temporels de synchronisation et des logs avec un tampering de l’attaquant.
- Les données seront formatées en json.
- Un parseur en go sera fourni pour pouvoir manipuler les données sous la forme d’un graphe sémantique annoté des données temporelles.
- Le modèle de données sous-jacent (type des nœuds et des séquences).
Il est attendu un ou deux algorithmes développé(s) en go pour permettre :
- La resynchronisation des logs.
- L’identification d’un attaquant et une plage temporelle probable de ses actions.
- L’algorithme devra dans la mesure du possible, être agnostique du scénario d’altération des données par l’attaquant.