Les scanners de vulnérabilités traditionnels doivent souvent communiquer avec des API cloud tierces pour analyser les fichiers. Cette approche transmet des métadonnées ou des hachages de fichiers en dehors de l'infrastructure locale, ce qui peut introduire de la latence et poser des questions de confidentialité des données.
Le moteur Vigil Active Defense de StateWarden est un système de détection locale des menaces conçu pour fonctionner entièrement au sein d'un réseau privé. Il assure le triage des menaces sans recourir à des API externes pendant les analyses.
1. Architecture d'analyse locale
S'appuyer sur des API externes pour le renseignement sur les menaces pose plusieurs problèmes :
- Limitation de débit : les fournisseurs de cloud peuvent limiter le débit des requêtes API, ce qui ralentit l'analyse de systèmes de fichiers volumineux.
- Confidentialité des données : la transmission de hachages de logiciels propriétaires ou de configurations internes à un tiers peut entrer en conflit avec les politiques de sécurité de l'organisation et la conformité au RGPD.
- Latence : les allers-retours réseau des requêtes API augmentent la durée totale d'une analyse de sécurité.
2. L'architecture de Vigil
Vigil résout ces problèmes en répliquant le renseignement mondial sur les menaces dans un environnement local optimisé.
L'agrégateur (plan de contrôle)
Le plan de contrôle StateWarden télécharge et analyse les bases de données des flux de menaces standard :
- OSV (Open Source Vulnerabilities) : données de vulnérabilités des paquets logiciels (dpkg, rpm, pip, npm).
- NVD (National Vulnerability Database) : le référentiel du gouvernement américain de données de vulnérabilités standardisées (CVE).
- MalwareBazaar : une base de données de hachages (SHA256) de fichiers malveillants connus.
StateWarden ingère ces données JSON, les déduplique et les stocke dans une base PostgreSQL au sein du plan de contrôle local.
Le filtre de Bloom (structure en mémoire)
Pour optimiser la rapidité des recherches pendant une analyse en direct, Vigil utilise des filtres de Bloom, une structure de données probabiliste.
Au démarrage, le service Vigil charge les signatures de logiciels malveillants depuis la base de données dans un filtre de Bloom résidant en mémoire. Vigil peut ainsi vérifier les hachages malveillants avec une faible latence, sans exécuter de lectures disque.
Le scanner (l'agent)
Lorsqu'Artemis planifie une tâche d'analyse, l'agent StateWarden exécute les étapes suivantes :
- Collecte de l'inventaire : l'agent répertorie les paquets installés (par exemple via
dpkgou le registre Windows) et calcule les hachages SHA256 des fichiers exécutables. - Transmission locale : l'agent envoie cet « inventaire JSON » directement au plan de contrôle Artemis local via mTLS.
- Triage : Vigil traite la charge utile en vérifiant les hachages contre le filtre de Bloom et en confrontant les versions des paquets à la base de données CVE.
L'ensemble du processus se déroule au sein du réseau privé, sans transmission de données vers l'extérieur.
3. Rapports et gestion
Vigil est intégré au Dashboard StateWarden via deux pages : Paysage des menaces et Triage des vulnérabilités.
Paysage des menaces (/security-dashboard)
La page Paysage des menaces offre une vue à l'échelle du parc de la posture de sécurité actuelle :
- KPI du parc : métriques agrégées telles que les menaces actives, la répartition par gravité et le volume d'analyses sur une plage temporelle sélectionnable.
- Graphiques des menaces : séries temporelles des détections de vulnérabilités et de logiciels malveillants, du débit du moteur et de la vitesse de remédiation.
- Journal de bord : historique sur 30 jours de l'activité d'analyse et du statut des alertes, jour par jour.
- Appareils prioritaires : appareils classés par score de risque actuel, avec navigation directe vers leurs constats.
- Génération de rapports : rapports de sécurité PDF à la demande, couvrant l'ensemble du Realm ou un appareil sélectionné.
Triage des vulnérabilités (/triage)
La page Triage des vulnérabilités est l'interface d'aide à la décision pour les constats individuels :
- Onglets : les constats sont organisés en onglets ACTIVES, RÉSOLUES / IGNORÉES et RÈGLES DE SUPPRESSION.
- Score de risque : les constats sont associés à leurs niveaux de gravité CVSS (Common Vulnerability Scoring System), de 0,0 à 10,0.
- Contexte des appareils : les constats peuvent être affichés sous forme de liste simple ou regroupés par appareil, en montrant les appareils physiques ou virtuels précis associés à chaque constat.
- Triage en masse : les administrateurs peuvent appliquer des décisions de triage à plusieurs constats sélectionnés à la fois et exporter la liste des constats au format CSV.
- Gestion des suppressions : les administrateurs peuvent supprimer des constats spécifiques (faux positifs, par exemple) en créant des règles de suppression, chacune exigeant une justification consignée. Le moteur Vigil ignore les constats supprimés lors des analyses ultérieures. L'application de décisions de triage et la création de règles de suppression exigent la permission
vigil.triage_risks.
Les appareils qui n'ont jamais été analysés s'affichent avec un état de risque neutre « Aucune donnée » au lieu d'un score de gravité.
4. Suivi de la remédiation
Vigil met à jour son statut en fonction des changements du système.
Lorsqu'un paquet vulnérable est corrigé sur un serveur, l'agent StateWarden répertorie la version mise à jour du paquet lors de son analyse suivante. Vigil enregistre la mise à jour, vérifie que la CVE est résolue et met automatiquement à jour le statut dans le Dashboard.