Aller au contenu

ILL Watch — Mesure de la corrélation (M8, incrément 4) — 13/10/2026

Objet

Critère de sortie de M8 (ADR-017) : « sur un jeu de données figé, 100 % des cas de corrélation attendus produisent une alerte ; taux de faux positifs mesuré et publié ».

Méthode

  • Jeu figé et versionné : illwatch/modules/correlation/benchmark.json, version 2026-10-13. Valeurs fictives (CVE-2099-8xxxx, adresses RFC 5737, domaines .example).
  • 5 actifs (dont 1 retiré du service), 9 CVE, 6 IOC : 15 cas, dont 7 évènements attendus et 8 pièges qui ne doivent rien produire :
  • « Exchangeable image » ne doit pas être reconnu comme « Exchange Server » ;
  • « FortiOSmonitor » ne doit pas être reconnu comme « FortiOS » ;
  • exploit public mais priorité P2 ; CVE ni KEV ni exploit ;
  • actif retiré du service ;
  • IOC de confiance faible (une source D, vu il y a 200 jours) ; IOC expiré ;
  • domaine qui contient celui de l'organisation sans en être un sous-domaine.
  • Exécution dans une base SQLite en mémoire, jamais sur la base de travail : illwatch correlate evaluate --report Rapport/M8_mesure.md ; la même mesure est un test de la CI (tests/test_correlation.py::test_mesure_sur_le_jeu_fige), rejouée à chaque modification.

Résultat

Mesure Valeur
Cas (CVE et IOC) 15
Évènements attendus 7
Évènements produits 7
Détection (rappel) 100 %
Taux de faux positifs 0 %

Détectés : CORR-01 × 3 (pare-feu FortiOS, wiki Confluence, poste Windows 11), CORR-02 × 1 (messagerie Exchange Server), CORR-03 × 3 (adresse et domaine du pare-feu, domaine de messagerie).

Limites (à lire avant de citer ces chiffres)

  • Le jeu est petit et écrit à la main : il prouve que les règles font ce qu'elles disent et déjouent les pièges connus, pas qu'elles sont sans bruit sur un vrai parc.
  • La version des produits n'est pas comparée (pas de CPE) : une CVE corrigée dans la version déployée reste signalée.
  • Prochaine mesure : sur l'inventaire réel du premier pilote, avec revue manuelle de chaque évènement (vrai / faux positif), publiée dans un rapport daté.