🔍 CVE, CVSS & Veille vulnérabilités

Bloc 3 Module 3.4 Séance 1/2 BTS SIO SLAM
FormationBTS SIO option SLAM — IRIS Mediaschool
BlocB3 — Cybersécurité des services informatiques
ModuleM3.4 — Disponibilité, intégrité et confidentialité
Durée3h30 (10 min accroche · 75 min théorie · 85 min TP · 10 min synthèse)
PrérequisNotions de pare-feu et de réseau (C3.4.1)
ContexteInnovatTech SARL — Apache 2.4, PHP 8.1, Windows Server 2022, Log4j dans une appli Java

🎯 Objectifs

  • Comprendre le système CVE et utiliser le NVD
  • Interpréter un score CVSS v3.1 (métriques de base, temporal, environmental)
  • Connaître et utiliser les sources de veille opérationnelles (CERT-FR, ANSSI, CISA KEV)
  • Calculer un score de priorité combinant CVSS, exposition et exploitabilité
  • Rédiger une alerte interne non-technique pour un dirigeant

🔥 Accroche — Log4Shell, 9 décembre 2021

Le 9 décembre 2021 à 22h30, un chercheur publie sur GitHub un PoC nommé "Log4Shell" démontrant qu'une seule ligne dans un message de log peut suffire à exécuter du code à distance sur tout serveur utilisant Log4j. En 72 heures, 100 millions de tentatives d'exploitation sont détectées sur Internet. Score CVSS : 10.0/10. Ce cours vous apprend à détecter, évaluer et répondre à ce type d'alerte.

📖 Section 1 — Le système CVE et CVSS

Programme CVE (Common Vulnerabilities and Exposures)

Le référentiel CVE est géré par MITRE. Il fournit des identifiants uniques et stables (format CVE-ANNÉE-NUMÉRO, ex. CVE-2021-44228 pour Log4Shell). L'objectif est d'avoir un identifiant commun pour corréler alertes, correctifs et analyses entre outils et acteurs différents.

Les CNA (CVE Numbering Authorities) sont des organisations autorisées à attribuer des ID CVE. La NVD (National Vulnerability Database) enrichit les CVE avec les scores CVSS, les CPE (produits/versions affectés) et les références (bulletins éditeurs, PoC, advisories).

CVSS v3.1 — métriques de base

MétriqueAcronymeValeurs possiblesSignification
Attack VectorAVN/A/L/POù l'attaquant doit se trouver (Network, Adjacent, Local, Physical)
Attack ComplexityACL/HConditions supplémentaires requises (Low / High)
Privileges RequiredPRN/L/HDroits nécessaires (None, Low, High)
User InteractionUIN/RAction utilisateur nécessaire (None, Required)
ScopeSU/CImpact au-delà du composant (Unchanged, Changed)
Confidentiality / Integrity / AvailabilityC/I/AN/L/HImpact sur chaque axe (None, Low, High)

Pourquoi Log4Shell est notée 10.0/10

Vector string : AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H

  • AV:N — exploitable à distance sur le réseau (via un header HTTP ou un champ de log)
  • AC:L — aucune condition particulière requise
  • PR:N — aucun compte nécessaire
  • UI:N — pas d'interaction utilisateur
  • S:C — peut compromettre d'autres composants
  • C:H/I:H/A:H — impact total sur confidentialité, intégrité et disponibilité

Autres exemples CVSS

TypeVector stringScoreJustification
RCE via HTTP (CMS)AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H9.8Accès internet, sans privilège, impact total
XSS reflectedAV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N6.1Requiert un clic utilisateur (UI:R), impact faible
EoP locale WindowsAV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H7.8Attaque locale, mais permet élévation de privilèges

EPSS — Exploit Prediction Scoring System

EPSS estime la probabilité qu'une CVE soit exploitée dans les 30 jours. C'est un outil probabiliste qui complète CVSS (gravité) : un CVSS 9.8 sans PoC disponible est moins urgent qu'un CVSS 7.5 avec exploit weaponisé. Pour prioriser : CVSS × EPSS × exposition métier.

📖 Section 2 — Sources de veille et priorisation

Sources à connaître

SourceURLUsage
NVD / CVEnvd.nist.govBase technique de référence, scores CVSS
CERT-FRcert.ssi.gouv.frAlertes françaises, recommandations opérationnelles
ANSSIssi.gouv.frGuides sectoriels, directives de sécurité
CISA KEVcisa.gov/kevVulnérabilités activement exploitées — priorité absolue
Bulletins éditeursMS Security Update, DSA, USN…Correctifs officiels pour les produits utilisés

Méthode de priorisation (formule)

PriorityScore = CVSS_Base × Exposition × Exploitabilité × Criticité

Facteurs multiplicateurs :
  Exposition  : Internet = 1.5 | DMZ = 1.3 | Interne = 1.0
  Exploitabilité : PoC public = 1.5 | Exploit weaponized = 2.0 | Aucun = 1.0
  Criticité   : Critique = 1.5 | Haute = 1.3 | Moyenne = 1.0

Seuils d'action :
  PriorityScore ≥ 20 → URGENT (patch dans les 24h)
  10 ≤ score < 20   → HAUT (patch dans les 7 jours)
  score < 10        → MOYEN/BAS (cycle régulier)

🛠️ TP — Analyse de 3 CVE pour InnovatTech (85 min)

CVE données pour le TP

CVEProduit / Version InnovatTechCVSSPoCExposition
CVE-2024-XXXX-1Apache 2.4 (utilise 2.4.52) — RCE via mod_rewrite9.8Oui — publicInternet
CVE-2024-XXXX-2PHP 8.1 (utilise 8.1.18) — injection désérialisation7.5NonInterne (VPN)
CVE-2024-XXXX-3Windows Server 2022 — EoP locale7.8NonInterne

Tableau de priorisation (à compléter)

Exemple rempli pour CVE-2024-XXXX-1 (Apache) :

CVE-2024-XXXX-1 | Apache 2.4.52 | CVSS 9.8 | PoC public | Internet | Critique
PriorityScore = 9.8 × 1.5 × 1.5 × 1.5 = 33.1 → URGENT ≥ 20
Action : patch vers 2.4.58 immédiatement ou isolation + WAF + IDS dans les 4h

Alerte interne au dirigeant (CVE Apache)

Objet : URGENT — Vulnérabilité critique sur serveur web Apache
Niveau d'urgence : CRITIQUE

Madame / Monsieur,

Nous avons détecté une vulnérabilité critique sur notre serveur web Apache
permettant à un tiers d'exécuter du code à distance. Un exploit public est
disponible et des tentatives d'exploitation sont observées sur Internet.

Impact potentiel : indisponibilité du site, vol de données clients,
compromission d'autres systèmes internes.

Mesure immédiate recommandée :
- Appliquer le correctif Apache dans les 4 heures
- Ou isoler temporairement le serveur + activer règles WAF

Délai : 24 heures maximum.

Cordialement, L'équipe Sécurité — InnovatTech SARL

Vérifications système

# Vérifier la version Apache
apache2 -v
# Vérifier si Apache écoute sur toutes les interfaces (exposé ?)
ss -tlnp | grep apache2
# Vérifier la version PHP
php -v
# Test externe — vérifier la version visible depuis Internet
curl -I https://www.innovattech.example | grep "Server:"

💬 Synthèse — Question finale

Pourquoi le CVSS seul ne suffit-il pas pour prioriser les patches ?

CVSS mesure la gravité technique intrinsèque mais ne prend pas en compte : la probabilité d'exploitation dans votre contexte (EPSS), l'exposition réseau (Internet/DMZ/interne), la présence d'un exploit public, la criticité métier de l'actif, ni les mesures compensatoires déjà en place (WAF, segmentation). Pour prioriser efficacement, combinez CVSS × EPSS × exposition × criticité métier.

📝 QCM — Testez vos connaissances

  1. Quelle métrique CVSS v3.1 indique qu'une vulnérabilité est exploitable à distance sur le réseau sans condition particulière, sans privilège et sans interaction ?
  2. Quelle source officielle française publie des alertes opérationnelles de sécurité avec niveaux de criticité et recommandations concrètes ?
  3. Qu'est-ce qu'EPSS et comment complète-t-il le score CVSS pour la priorisation des patches ?
  4. Vrai ou Faux — Le score CVSS Base seul suffit à prioriser les correctifs dans un contexte d'entreprise.
  5. Décrivez la formule de priorisation combinant CVSS, exposition, exploitabilité et criticité métier, et indiquez le seuil d'action URGENT.
📝 Afficher les corrections
  1. AV:N/AC:L/PR:N/UI:N — Attack Vector Network (exploitable à distance), Attack Complexity Low (pas de conditions), Privileges Required None, User Interaction None. Cette combinaison est celle de Log4Shell et contribue à son score maximal de 10.0.
  2. CERT-FR (cert.ssi.gouv.fr) — publie les alertes de sécurité françaises avec des niveaux de criticité de P1 à P5 et des recommandations opérationnelles pour les administrateurs. L'ANSSI (ssi.gouv.fr) publie des guides sectoriels complémentaires.
  3. EPSS (Exploit Prediction Scoring System) estime la probabilité qu'une CVE soit exploitée dans les 30 jours — CVSS mesure la gravité technique intrinsèque (impact si exploité), EPSS mesure la probabilité d'exploitation réelle. Ensemble, ils permettent de prioriser : une CVE CVSS 9.8 sans PoC peut être moins urgente qu'une CVE 7.5 avec exploit weaponisé.
  4. Faux — le CVSS mesure la gravité technique mais ne prend pas en compte l'exposition réseau, la présence d'un exploit public, la criticité métier ni les mesures compensatoires existantes. Ces facteurs contextuels sont indispensables pour une priorisation opérationnelle pertinente.
  5. PriorityScore = CVSS_Base × Exposition × Exploitabilité × Criticité — seuil URGENT : PriorityScore ≥ 20. Exemple : Apache CVSS 9.8 × Internet (1.5) × PoC public (1.5) × Critique (1.5) = 33.1 → action dans les 24h.
← C3.4.1 Séance 2 C3.4.2 Séance 2 →