Contexte et problématique
Dans le cadre des travaux de l’équipe sécurité, le client a besoin d’un outil à l’aide de détection des cas de « Beaconing ». Il s’agit d’un trafic à intervalles réguliers émis par le réseau de la victime vers une infracstructure controlée par l’adversaire. Ce qui pourrait être le signe d’une infection par un logiciel malveillant ou d’un hôte comproms effectuant une exfiltration de données.
Objectifs
L’objectif du projet est de créer un système de détection de cas de beaconing par Machine Learning capable de traiter d’énormes quantité de données.
Ce système suggèrera des potentiels domaines de beaconing que les experts vérifieront.
Notre intervention
2 Data Scientist
- Extraction des données à partir des logs proxy pour les parser et les nettoyer et par la suite les utiliser pour créer les features nécessaires
- Les features calculées sont de deux types : des agrégations par client/ Hôte/ date, à la journée et des agrégations par hôte sur une période donnée qui servira d’historique
- Ces features servent de données d’entrainement pour plusieurs modèles de détection d’anomalie
- Modélisation
- Mise en place d’un système d’évaluation simulant le Use-Case réel
Résultats
Sur les données disponibles, le système obtient des performances prometteuses mais le nombre de faux positifs reste trop important. Afin que les alertes puissent être traités par une équipe d’experts en un temps raisonnable, il va falloir améliorer ce point.
Nous approfondissons actuellement le feature engineering avec l’aide des experts sécurité pour améliorer les performances
Environnement technique
Python, Jupyter Hub
Spark (PySpark) pour le data preprocessing Spark ML, H2O (PySparkling) pour la modélisation Git/GitHub
Scrum