Une suite SOC personnelle Windows construite en PowerShell — surveille les connexions réseau, l'utilisation des ressources, les tâches planifiées et les événements d'alimentation avec classification de sévérité et détection de base.
Un centre des opérations de sécurité (SOC) personnel construit de toutes pièces lors d'un programme de reconversion en Anwendungsentwicklung. Cette suite surveille un poste Windows pour détecter les anomalies réseau, les pics de ressources, l'exécution de processus, les modifications du registre, l'activité du journal des événements de sécurité, les changements de tâches planifiées, les requêtes DNS et les événements d'alimentation — enregistrant le tout dans des fichiers structurés pour une analyse hebdomadaire et une corrélation via un moteur Python.

Tableau de bord Flask monopage. Les 12 collecteurs + moteur de corrélation actifs, moniteur de ressources en direct, flux de connexions sortantes, tuiles d'événements de collecteur et alertes du moteur en continu.
Construit comme un projet d'apprentissage pratique en parallèle d'une reconversion formelle en informatique, cette suite applique des concepts SOC réels — collecte de référence, détection d'anomalies, classification de sévérité, agrégation de logs et corrélation multi-sources — à une machine Windows personnelle. Le processus de conception était hostile dès le départ : chaque phase a été testée sous contrainte contre une analyse d'équipe rouge avant la construction de la suivante, avec 48 règles de corrélation définies à partir de ces résultats guidant l'architecture du moteur Python.
Le développement est suivi dans roadmap.md — état actuel, plans de la phase 9 du moteur forensique, et objectifs de durcissement à long terme.
Le tableau de bord fonctionne comme un serveur Flask et nécessite une élévation d'Administrateur pour la détection des processus de collecteur. Créez un raccourci après le clonage :
Remplacez C:\path\to\SOC par votre chemin d'installation réel.
3. Nommez-le : SOC Dashboard
4. Faites un clic droit sur le raccourci → Propriétés → Avancé → cochez Exécuter en tant qu'administrateur
5. Cliquez sur OK
Le raccourci démarre Flask, attend qu'il soit prêt, puis ouvre le navigateur automatiquement. Si Flask est déjà en cours d'exécution, il ignore le démarrage et ouvre le navigateur directement. Les points de statut s'afficheront en gris si le raccourci est exécuté sans élévation Administrateur.
Le tableau de bord impose une séquence de démarrage/arrêt propre afin que les vérifications de l'Auditeur (contrôle d'intégrité du matin, validation de la chaîne de hachage du soir) s'exécutent toujours dans l'ordre.

Tous les battements de cœur des collecteurs sont rouges (fichiers de santé manquants ou arrêtés). Le bouton Arrêter le tableau de bord est masqué — le tableau de bord n'autorisera pas l'arrêt tant que la fin de journée n'aura pas été exécutée.

Le début de journée exécute la vérification matinale de l'Auditeur (vérification des journaux SHA256, validation de la chaîne de hachage des archives) et lance les 12 collecteurs ainsi que le moteur de corrélation. Les battements de cœur deviennent verts au fur et à mesure que chaque collecteur signale.

La fin de journée arrête tous les collecteurs en séquence et exécute la vérification du soir de l'Auditeur. Les points des collecteurs restent verts pendant que la séquence s'exécute ; la ligne de statut affiche Exécution de l'Auditeur du soir…

Une fois l'audit du soir terminé, tous les points des collecteurs passent au rouge, la ligne de statut indique Audit du soir terminé. Arrêt sécurisé., et le bouton Arrêter le tableau de bord apparaît — cliquer dessus termine proprement le processus Flask.

L'onglet du navigateur doit être fermé manuellement (les navigateurs n'exposent pas d'API de fermeture aux processus externes).
Les tuiles d'événements des collecteurs affichent les événements les plus récents avec leur niveau de sévérité par source. Le flux d'alertes du moteur diffuse en temps réel les résultats corrélés du moteur Python, avec le numéro de la règle, le score de confiance, la chaîne de preuves complète et le hachage SHA256 de la preuve.

Exemple : Règle 35 (Lecture brute de disque) déclenchée sur powershell.exe ouvrant un handle brut vers \Device\HarddiskVolume3, et Règle 31 (Anomalie de chargement DLL) signalant des DLL de Defender chargées depuis un chemin accessible en écriture par l'utilisateur. Les deux avec provenance complète du processus et hachages de fichiers.
La suite suit une architecture à trois couches :
Couche de collecte — Collecteurs PowerShell qui s'exécutent en continu en arrière-plan, chacun surveillant une source de données spécifique et écrivant des entrées de journal structurées avec niveau de sévérité. Tous nécessitent une élévation Administrateur.
Couche d'analyse — Scripts analystes PowerShell qui analysent les journaux collectés et génèrent des rapports de synthèse hebdomadaires. Exécutés en tant qu'utilisateur standard.
Moteur de corrélation (Phase 7 — terminée) — Moteur Python qui ingère tous les journaux des collecteurs, normalise les événements vers un schéma commun, et exécute une corrélation basée sur des règles et des scores de risque sur tous les flux de données. Trois programmes :
| Programme | Phase | Rôle |
|---|---|---|
| Moteur de corrélation | 7 — terminée | Ingestion, normalisation, corrélation, alerte (stockage opérationnel SQLite) |
| Tableau de bord SOC | 8 — terminée | Visibilité en direct — santé des collecteurs, alertes, chaînes de preuves (Flask) |
| Moteur forensique | 9 — planifiée | Investigation post-événement — super timelines, lignée des processus, analyse de balises, audits de persistance, banque de preuves à ajout seul |
| Tableau de bord forensique | 9 — planifiée | Conclusions forensiques résumées — statut codé par couleur, génération de rapports, navigation dans les preuves |