Aller au contenu
English
Compte : non connecté, synchronisation possible Mon apprentissage
Selectionner le thème
English

KPIs sécurité DevSecOps : mesurer sa posture de sécurité

Par mis à jour le

Améliorer cette page

Les KPIs de sécurité (indicateurs clés de performance) transforment les rapports de vos scanners en réponses chiffrées : combien de temps pour détecter une faille (MTTD), pour la corriger (MTTR), quel risque global, quelle part du parc est réellement scannée. Cette leçon s'adresse au DevOps ou au RSSI qui a déjà des scans dans son pipeline CI/CD et veut en faire un tableau de bord qui déclenche des décisions.

Les formules sont données en PromQL et vérifiées avec promtool, l'outil de test de Prometheus 3.15.0 : sur un jeu de séries de test, le Risk Score de l'exemple vaut bien 2,45, et la version naïve de la même requête disparaît dès qu'aucune vulnérabilité critique n'est ouverte, c'est-à-dire précisément quand tout va bien.

  • Définir les cinq catégories de KPIs sécurité : détection, remédiation, posture, couverture, efficacité
  • Calculer le MTTD, le MTTR et le Risk Score avec des formules et des exemples chiffrés
  • Fixer des SLA de correction réalistes par niveau de sévérité
  • Construire des dashboards Grafana adaptés à trois audiences
  • Tester des règles d'alerte Prometheus avant de les déployer
  • Éviter les pièges courants : métriques de vanité, effet Cobra, surcharge d'indicateurs

Avant de commencer, vérifiez que les briques suivantes sont déjà en place. Cette leçon ne couvre ni l'installation d'un scanner de vulnérabilités ni la mise en place d'un pipeline CI/CD : elle part du principe que la détection existe et se concentre sur sa mesure.

Une équipe qui « fait de la sécurité » sans la mesurer ne peut ni prouver son efficacité, ni repérer où elle perd du terrain. Imaginez la question d'un directeur technique : « combien de temps nous faut-il pour corriger une vulnérabilité critique ? ». Sans indicateur, la seule réponse honnête est une estimation floue ; avec un MTTR suivi par criticité, c'est un chiffre, et une tendance.

Les KPIs sécurité répondent à quatre questions. Détectons-nous assez vite ? Une faille publiée lundi et découverte vendredi laisse une fenêtre d'attaque de quatre jours. Corrigeons-nous assez vite ? Le délai entre détection et correction détermine l'exposition réelle. La posture s'améliore-t-elle ? Sans tendance historique, impossible de le savoir. Où investir ? Des métriques par équipe et par application désignent les zones à risque.

Les indicateurs se regroupent en cinq familles, chacune répondant à une question différente. Les séparer évite de comparer des chiffres qui n'ont pas le même sens, un piège fréquent au démarrage. Le schéma résume la famille et son indicateur phare ; le tableau donne la question et des exemples.

Les cinq catégories de KPIs sécurité : détection (MTTD), remédiation (MTTR, SLA, dette), posture (Risk Score, densité), couverture (pourcentage d'actifs scannés) et efficacité (faux positifs, coût).KPI de sécuritéDétectionMTTDRemédiationMTTR, SLA, dettePostureRisk Score, densitéCouverture% d'actifs scannésEfficacitéfaux positifs, coût
Source · SVG
Échap pour fermer, + et − pour zoomer, défilement pour se déplacer. 100 %
CatégorieQuestion cléExemples d'indicateurs
DétectionÀ quelle vitesse trouvons-nous les problèmes ?MTTD, nouvelles CVE par jour
RemédiationÀ quelle vitesse corrigeons-nous ?MTTR par sévérité, conformité SLA, dette de vulnérabilités
PostureQuel est notre niveau de risque global ?Risk Score, densité de vulnérabilités, tendance mensuelle
CouvertureQuelle part du SI est analysée ?% d'actifs scannés, adoption dans les pipelines
EfficacitéNos outils fonctionnent-ils bien ?Taux de faux positifs, coût par vulnérabilité traitée

La détection mesure la capacité à identifier les vulnérabilités avant qu'elles ne soient exploitées. Plus elle est rapide, plus la fenêtre d'exposition est courte : c'est le premier chiffre qu'un attaquant met à profit.

Le MTTD (Mean Time To Detect, temps moyen de détection) mesure le délai entre l'apparition d'une vulnérabilité et sa découverte par vos outils. Pour une faille connue, le point de départ est la publication de la CVE ; pour une faille de code, la date du commit qui l'introduit.

MTTD = date de détection - date d'apparition de la vulnérabilité

Les cibles suivantes sont des repères courants, pas une norme. Elles supposent un scan programmé fréquent et des contrôles en amont du commit.

ContexteMTTD cibleJustification
Vulnérabilités critiques (CVE)< 1 heureScans programmés toutes les heures sur le registre
Vulnérabilités dans le code (SAST)< 24 heuresAu plus tard au prochain build
Secrets exposés< 15 minutesHooks pre-commit et surveillance continue

Pour collecter le MTTD automatiquement, un petit exporter (programme qui expose des métriques sur HTTP) traduit les résultats de vos scanners au format d'exposition de Prometheus. Le nommage suit les conventions du projet : le suffixe _total est réservé aux compteurs, l'unité figure dans le nom.

# Format d'exposition Prometheus (pas du YAML)
# TYPE security_vulnerability_mttd_hours gauge
security_vulnerability_mttd_hours{severity="critical", source="trivy", team="platform"} 0.5
security_vulnerability_mttd_hours{severity="high", source="trivy", team="platform"} 4.2
security_vulnerability_mttd_hours{severity="critical", source="grype", team="frontend"} 0.8

La requête PromQL (le langage de requête de Prometheus) qui donne le MTTD moyen par sévérité sur sept jours est la suivante :

avg by (severity) (avg_over_time(security_vulnerability_mttd_hours[7d]))

La remédiation mesure la capacité à corriger une fois la faille détectée. C'est souvent là que les équipes ont la plus grande marge de progression, et là que les SLA prennent leur sens.

Le MTTR (Mean Time To Remediate, temps moyen de remédiation) mesure le délai entre la détection et la correction vérifiée, c'est-à-dire le scan qui confirme la disparition. Le schéma suit une vulnérabilité de la détection à la clôture, avec le délai cible de chaque criticité.

Flux de remédiation : la détection marque la fin du MTTD ; le triage oriente vers un délai par criticité (Critical moins de 24 heures, High moins de 7 jours, Medium moins de 30 jours, Low moins de 90 jours), puis la correction et sa revue mènent à la clôture vérifiée, qui marque la fin du MTTR.Détection(fin du MTTD)Triagepar criticitéCriticalmoins de 24 hHighmoins de 7 joursMediummoins de 30 joursLowmoins de 90 joursCorrectionet revueClôture vérifiée(fin du MTTR)
Source · SVG
Échap pour fermer, + et − pour zoomer, défilement pour se déplacer. 100 %

Si l'exporter publie la durée de chaque correction comme un summary Prometheus (_sum et _count), le MTTR en heures se calcule par criticité :

sum by (severity) (rate(security_remediation_duration_seconds_sum[7d]))
/
sum by (severity) (rate(security_remediation_duration_seconds_count[7d]))
/ 3600

Le MTTR n'a de sens que rapporté à la criticité : une faille critique n'attend pas le même délai qu'une faille mineure. Les SLA (Service Level Agreement, engagement de délai maximal) ci-dessous sont les mêmes que dans la leçon Gestion des vulnérabilités, où la priorité vient du triage par exposition, KEV, EPSS et CVSS.

SévéritéSLA MTTRJustificationAction si dépassement
Critical< 24 heuresExploitation probable ou confirméeEscalade immédiate, correctif en production
High< 7 joursRisque élevé d'exploitationPriorité dans le sprint en cours
Medium< 30 joursRisque modéréPlanification normale du backlog
Low< 90 joursImpact limitéAu mieux, souvent acceptée comme dette

La dette de vulnérabilités compte les failles encore ouvertes au-delà de leur SLA. Comme la dette technique, elle produit des « intérêts » : plus elle vieillit, plus elle coûte à résorber. Avec un gauge qui expose l'âge de chaque vulnérabilité ouverte et un autre qui expose le SLA par sévérité, la requête compare les deux séries sur le label severity :

count by (severity) (
security_vulnerability_open_age_seconds
> on (severity) group_left ()
security_sla_seconds
)

Testé avec promtool sur trois vulnérabilités, deux critiques ouvertes depuis 48 heures et 1 heure, une haute depuis 24 heures : la requête rend 1 pour critical et rien pour high, dont le SLA est de sept jours.

IndicateurFormuleCible
Volume de detteVulnérabilités ouvertes hors SLA< 5 % du total
Âge moyen de la detteMoyenne des jours de dépassement< 10 jours
TendanceVariation d'une semaine sur l'autreDécroissante

Ces indicateurs donnent une vue du risque au-delà des failles une à une. L'OWASP Top 10:2025, publié dans sa version finale en janvier 2026, compte deux catégories inédites : A03 Software Supply Chain Failures et A10 Mishandling of Exceptional Conditions. Un indicateur qui ignore la chaîne d'approvisionnement (dépendances, images de base, pipelines) sous-estime donc une part du risque réel ; le détail du classement est dans la leçon OWASP Top 10.

Le Risk Score agrège les vulnérabilités ouvertes, pondérées par criticité, en un seul chiffre rapporté à la taille du parc. Il sert à communiquer avec la direction et à suivre une tendance : un score qui baisse signale une amélioration, un score qui monte une dégradation à expliquer.

Risk Score = (C × 10) + (H × 5) + (M × 2) + (L × 0,5)
──────────────────────────────────────────
nombre d'actifs
C, H, M, L = vulnérabilités ouvertes Critical, High, Medium, Low

La pondération fait peser une critique vingt fois plus qu'une faible. Avec 100 actifs portant 2 Critical, 15 High, 50 Medium et 100 Low :

Risk Score = (2×10 + 15×5 + 50×2 + 100×0,5) / 100
= (20 + 75 + 100 + 50) / 100
= 2,45

Le score tombe dans la zone Bon, juste sous le seuil d'attention de 2,5 : l'effort porte sur les 2 Critical et les 15 High. L'échelle ci-dessous est une convention interne à fixer en équipe, pas un standard.

ScoreNiveauInterprétation
< 1,0ExcellentPosture de sécurité mature
1,0 - 2,5BonQuelques points d'amélioration
2,5 - 5,0AttentionActions correctives nécessaires
> 5,0CritiquePlan de remédiation urgent

La traduction directe en PromQL cache un piège mesuré. Une somme sur une sévérité qui n'a aucune série (zéro critique ouverte, donc aucune ligne exposée) ne rend pas 0 : elle ne rend rien, et toute l'addition disparaît. Testé avec promtool, la version naïve rend nil sur un parc sans vulnérabilité critique, là où la version corrigée rend 1,25. Le tableau de bord se vide exactement quand la posture est bonne.

security-kpis.rules.yml (extrait)
groups:
- name: security-kpis-records
rules:
- record: security:risk_score
expr: |
(
(sum(security_vulnerabilities_open{severity="critical"}) or vector(0)) * 10
+ (sum(security_vulnerabilities_open{severity="high"}) or vector(0)) * 5
+ (sum(security_vulnerabilities_open{severity="medium"}) or vector(0)) * 2
+ (sum(security_vulnerabilities_open{severity="low"}) or vector(0)) * 0.5
) / sum(security_assets_total)

Le motif or vector(0) remplace l'absence de série par un zéro. Sur le jeu de test qui reprend l'exemple (2, 15, 50 et 100 vulnérabilités, 100 actifs), promtool test rules confirme la valeur 2,45.

Vulnerability Density, Densité de vulnérabilités

Section intitulée « Vulnerability Density, Densité de vulnérabilités »

La densité de vulnérabilités rapporte le nombre de failles à la taille du code ou au nombre d'actifs, pour comparer équitablement des équipes de tailles différentes. Cinq failles graves sur 10 000 lignes sont plus inquiétantes que cinquante sur 500 000.

Densité = vulnérabilités High et Critical / 1 000 lignes de code
ou
= vulnérabilités High et Critical / nombre de conteneurs
sum by (team) (security_vulnerabilities_open{severity=~"critical|high"})
/
count by (team) (container_info)

La couverture mesure la part du système d'information réellement analysée par vos outils. Une vulnérabilité dans un actif non scanné est un angle mort : le danger existe, mais aucun indicateur ne le montre.

Chaque type d'actif a son ratio. La cible est de 100 %, parce qu'un seul actif oublié peut être celui que l'attaquant utilise ; le shadow IT (les systèmes que personne n'a référencés) est l'ennemi principal de cet indicateur.

Type de couvertureFormuleCible
Dépôts scannésDépôts avec scan / total des dépôts100 %
Images scannéesImages scannées / total des images du registre100 %
Pipelines avec sécuritéPipelines avec étape de sécurité / total100 %
Dépendances analyséesDépendances couvertes par la SCA / total100 %
sum(security_assets_scanned) / sum(security_assets_total) * 100

Au-delà des outils, mesurez l'adoption des bonnes pratiques par les équipes : part des dépôts équipés de hooks pre-commit de détection de secrets, part des développeurs formés. Ces taux se calculent comme la couverture, à partir de métriques exposées par votre outillage interne.

sum(team_precommit_hooks_enabled) / count(team_info) * 100
sum(developer_security_training_completed) / count(developer_info) * 100

Ces indicateurs évaluent ce que rapportent vos investissements sécurité : un outil qui noie l'équipe sous les alertes coûte plus qu'il ne protège.

Un faux positif est une alerte sur un problème qui n'en est pas un. Un taux élevé érode la confiance des équipes, qui finissent par ignorer les vraies alertes : c'est l'effet « crier au loup ».

Taux FP = alertes fermées comme faux positif / total des alertes × 100

Les seuils suivants sont des repères de départ : ils dépendent de la technologie analysée et de la maturité des règles.

OutilTaux FP acceptableAction si dépassement
SAST (analyse de code)< 20 %Affiner les règles, exclure les motifs connus
SCA (dépendances)< 5 %Vérifier les versions détectées, écrire des VEX
DAST (tests dynamiques)< 15 %Calibrer les scans, contextualiser
Détection de secrets< 2 %Affiner les règles, lister les jetons de test

Le ROI (retour sur investissement) d'un outil se calcule à partir du coût des incidents évités, une valeur toujours estimée. Toute formule repose donc sur une hypothèse, à écrire noir sur blanc : une vulnérabilité détectée n'est pas un incident évité.

ROI (%) = (incidents évités estimés × coût moyen d'un incident - coût total de l'outil)
/ coût total de l'outil × 100

Le coût total d'un outil open source comme Trivy n'est pas nul : c'est le temps d'intégration, de maintenance et de triage de ses alertes. Pour le coût d'un incident, le rapport IBM Cost of a Data Breach 2026 chiffre la moyenne mondiale d'une violation de données à 4,99 millions de dollars, en hausse de 12 % sur un an ; votre propre estimation (temps de réponse, perte de revenu, sanctions RGPD) reste plus parlante pour la direction.

Un système de KPIs ne vaut que s'il est consulté. Les tableaux de bord se découpent par audience, chacune avec son rythme : les données remontent de l'équipe vers la direction, les décisions et les alertes redescendent. Le principe reprend celui de l'observabilité, appliqué à la sécurité.

Trois niveaux de tableaux de bord : le niveau équipe (vulnérabilités de mes dépôts, par sprint) alimente le niveau opérations (MTTD et MTTR par équipe, quotidien), qui alimente le niveau exécutif (Risk Score, conformité SLA, mensuel) ; les décisions et les alertes redescendent.les données s'agrègentles données s'agrègentles décisions descendentles alertes descendentNiveau exécutif (RSSI)Risk Score, conformité SLA, mensuelNiveau opérations (SecOps)MTTD et MTTR par équipe, quotidienNiveau équipe (développeurs)vulnérabilités de mes dépôts, par sprint
Source · SVG
Échap pour fermer, + et − pour zoomer, défilement pour se déplacer. 100 %

La direction a besoin d'une vue synthétique, orientée décision, lisible sans expertise technique, et consultée chaque mois sous forme de rapport automatisé. On y affiche le Risk Score et sa tendance sur six mois, la conformité SLA, l'écart entre objectifs et réalisé, et les trois risques principaux du moment.

L'équipe sécurité opérationnelle a besoin de détails actionnables, chaque jour : MTTD et MTTR par équipe et par sévérité, volume de vulnérabilités ouvertes avec leur ancienneté, alertes en temps réel sur les nouvelles critiques, et la liste des dix vulnérabilités à traiter en premier.

Les équipes de développement doivent voir leurs propres métriques, revues à chaque sprint : vulnérabilités de leurs dépôts, état des contrôles de sécurité de leurs pipelines, dette de leur périmètre et progression par rapport à leurs objectifs.

Voici un exemple de configuration Grafana pour le tableau de bord opérationnel, au format d'import JSON, avec les requêtes PromQL utilisées. Les noms de métriques sont ceux des sections précédentes ; adaptez-les à ce qu'expose votre exporter.

{
"dashboard": {
"title": "Security KPIs - Operations",
"tags": ["security", "kpis", "operations"],
"timezone": "browser",
"panels": [
{
"title": "Risk Score Trend",
"type": "timeseries",
"gridPos": { "h": 8, "w": 12, "x": 0, "y": 0 },
"targets": [
{ "expr": "security:risk_score", "legendFormat": "Risk Score" }
],
"fieldConfig": {
"defaults": {
"thresholds": {
"steps": [
{ "color": "green", "value": null },
{ "color": "yellow", "value": 2.5 },
{ "color": "red", "value": 5 }
]
}
}
}
},
{
"title": "MTTR by Severity (hours)",
"type": "bargauge",
"gridPos": { "h": 8, "w": 12, "x": 12, "y": 0 },
"targets": [
{ "expr": "security:mttr_hours:7d", "legendFormat": "{{severity}}" }
],
"options": { "orientation": "horizontal", "displayMode": "gradient" }
},
{
"title": "Open vulnerabilities over SLA",
"type": "stat",
"gridPos": { "h": 4, "w": 6, "x": 0, "y": 8 },
"targets": [
{ "expr": "sum(security:vulnerabilities_over_sla:count) or vector(0)", "legendFormat": "over SLA" }
]
},
{
"title": "Open vulnerabilities by Severity",
"type": "piechart",
"gridPos": { "h": 8, "w": 6, "x": 6, "y": 8 },
"targets": [
{ "expr": "sum by (severity) (security_vulnerabilities_open)", "legendFormat": "{{severity}}" }
]
},
{
"title": "Top 10 Vulnerable Repositories",
"type": "table",
"gridPos": { "h": 8, "w": 12, "x": 12, "y": 8 },
"targets": [
{ "expr": "topk(10, sum by (repository) (security_vulnerabilities_open{severity=~\"critical|high\"}))", "format": "table" }
]
}
],
"refresh": "5m"
}
}

Pour la direction, un rapport mensuel structuré vaut mieux qu'un tableau de bord temps réel à interpréter seul. Le gabarit ci-dessous reprend les indicateurs de l'audience exécutive ; les colonnes tendance et objectif comptent plus que la valeur brute.

# Rapport sécurité - [MOIS ANNÉE]
## Résumé exécutif
| Indicateur | Valeur | Tendance | Objectif | Statut |
|------------|--------|----------|----------|--------|
| Risk Score | X,XX | en baisse de 15 % | < 2,0 | OK / attention / hors cible |
| Conformité SLA Critical | XX % | en hausse de 5 % | > 95 % | OK / attention / hors cible |
| Couverture de scan | XX % | stable | 100 % | OK / attention / hors cible |
| MTTR Critical (heures) | XX | en baisse de 20 % | < 24 | OK / attention / hors cible |
## Faits marquants
1. [Événement positif : ex. « Correction de la CVE-XXXX en 4 heures »]
2. [Point d'attention : ex. « Hausse des vulnérabilités Medium »]
3. [Initiative en cours : ex. « SAST déployé sur 15 nouveaux dépôts »]
## Risques majeurs
| Risque | Impact | Probabilité | Mitigation |
|--------|--------|-------------|------------|
| [Description] | Élevé/Moyen/Faible | Élevée/Moyenne/Faible | [Action] |
## Actions du mois suivant
- [ ] [Action prioritaire 1]
- [ ] [Action prioritaire 2]
- [ ] [Action prioritaire 3]

Les tableaux de bord se consultent de temps en temps ; les situations critiques demandent des alertes qui partent seules. Ces règles sont chargées par Prometheus lui-même, via rule_files dans prometheus.yml : c'est Prometheus qui évalue les seuils, Alertmanager ne fait que router et notifier ensuite (messagerie, e-mail, astreinte).

security-kpis.rules.yml (suite)
- name: security-kpis-alerts
rules:
- alert: NewCriticalVulnerability
expr: increase(security_vulnerabilities_detected_total{severity="critical"}[1h]) > 0
for: 5m
labels:
severity: critical
team: security
annotations:
summary: "Nouvelle vulnérabilité critique détectée"
description: "{{ $value }} nouvelle(s) vulnérabilité(s) critique(s) en une heure"
- alert: CriticalSLABreach
expr: security_vulnerability_open_age_seconds{severity="critical"} > 86400
labels:
severity: critical
team: security
annotations:
summary: "SLA Critical dépassé"
description: "Vulnérabilité critique ouverte depuis plus de 24 h : {{ $labels.cve_id }}"
- alert: RiskScoreHigh
expr: security:risk_score > 5
for: 1h
labels:
severity: warning
team: security
annotations:
summary: "Risk Score élevé"
description: "Le Risk Score global est de {{ $value }}, au-dessus du seuil de 5"
- alert: ScanCoverageLow
expr: security:scan_coverage:percent < 95
for: 24h
labels:
severity: warning
team: security
annotations:
summary: "Couverture de scan insuffisante"
description: "Seulement {{ $value | printf \"%.1f\" }} % des actifs sont scannés"

Une règle d'alerte se teste avant d'être déployée. promtool check rules vérifie la syntaxe, et promtool test rules rejoue des séries de test pour vérifier qu'une alerte part, ou ne part pas. Mesuré avec Prometheus 3.15.0 : le fichier complet (quatre règles d'enregistrement, quatre alertes) passe les deux, et CriticalSLABreach se déclenche bien pour la seule vulnérabilité critique ouverte depuis 48 heures.

Fenêtre de terminal
promtool check rules security-kpis.rules.yml
# SUCCESS: 8 rules found
promtool test rules security-kpis.test.yml
# SUCCESS

Un système de KPIs se met en place progressivement. Vouloir tout instrumenter la première semaine est le meilleur moyen d'abandonner au bout d'un mois ; les étapes ci-dessous ajoutent un niveau de mesure à la fois.

  1. Semaines 1-2 : instrumentation de base

    Exportez vers Prometheus le nombre de vulnérabilités ouvertes par sévérité, depuis les scanners existants. C'est la matière première de tout le reste.

  2. Semaines 3-4 : tableau de bord opérationnel

    Un premier tableau Grafana : volume par sévérité, répartition, dépôts les plus touchés.

  3. Mois 2 : métriques temporelles

    Ajoutez MTTD et MTTR, ce qui suppose d'horodater détection et correction, souvent via les tickets ou les labels GitLab et GitHub.

  4. Mois 3 : SLA et alerting

    Fixez les SLA par sévérité, écrivez les alertes et leurs tests, et communiquez les engagements aux équipes.

  5. Mois 4 et suivants : extension

    Tableaux par audience, couverture, rapport mensuel automatisé.

Un système de KPIs peut dérailler sans que personne ne s'en aperçoive pendant des mois. Les quatre pièges suivants sont les plus fréquents, et chacun a son contre-poison.

Mesurer pour mesurer, sans action. Un KPI qui ne déclenche jamais de décision est inutile. Chaque indicateur doit répondre à la question : « que ferons-nous si ce chiffre dépasse tel seuil ? ». Sans réponse, retirez-le du tableau de bord.

Afficher « 0 vulnérabilité critique » est gratifiant, mais trompeur si l'on ne scanne que 10 % du parc. Une métrique de vanité flatte sans informer : contextualisez toujours avec la couverture, et méfiez-vous d'un indicateur qui ne baisse jamais.

L'effet Cobra tient son nom d'une anecdote coloniale : une prime aux cobras tués aurait poussé des habitants à en élever. Il survient quand les équipes optimisent la métrique plutôt que la sécurité, par exemple en fermant des vulnérabilités comme « risque accepté » pour améliorer le MTTR sans rien corriger. Suivez les acceptations à part.

Trop de KPIs noient l'information. Limitez-vous à 10 à 15 indicateurs, avec une hiérarchie claire entre ceux de la revue quotidienne et ceux de la revue mensuelle. Pour situer ce chantier dans une trajectoire plus large, la leçon Évaluer sa maturité avec OWASP DSOMM propose une grille complète.

Ces ressources font autorité sur le sujet et servent à justifier vos choix de seuils devant un auditeur ou un comité des risques. Elles ont été vérifiées le 1er octobre 2026.

RessourceDescriptionLien
OWASP Top 10:2025Classement des risques applicatifs, dont la catégorie A03 sur la chaîne d'approvisionnementowasp.org
NIST Cybersecurity Framework 2.0Cadre en six fonctions, dont la fonction Govern (pilotage)nist.gov
IBM Cost of a Data Breach 2026Étude annuelle sur le coût moyen d'une violation de donnéesibm.com
Prometheus, nommage des métriquesConventions de nommage, dont le suffixe _total des compteursprometheus.io
Prometheus, tests unitaires des règlesFormat des fichiers de test de promtool test rulesprometheus.io
  • MTTD et MTTR mesurent la réactivité : moins d'une heure pour détecter une critique, moins de 24 heures pour la corriger.
  • Les SLA (24 h, 7 j, 30 j, 90 j) sont des maximums : suivez le taux de conformité, pas seulement la moyenne.
  • Le Risk Score pondère les vulnérabilités ouvertes par criticité ; l'exemple de la leçon vaut 2,45, zone Bon.
  • En PromQL, une somme sur une série absente ne vaut pas 0 : sans or vector(0), le Risk Score disparaît quand il n'y a aucune critique.
  • La couverture de scan se vise à 100 % : un actif non scanné est une faille invisible.
  • Trois niveaux de tableaux de bord (exécutif, opérations, équipe) servent trois rythmes de décision.
  • Une règle d'alerte se teste avec promtool test rules avant d'être déployée.
  • Commencez par 3 à 4 KPIs qui déclenchent des décisions, puis élargissez.

Vérifiez que l'essentiel de cette leçon est acquis. Les questions portent uniquement sur ce qui vient d'être expliqué ici.

Contrôle de connaissances

Validez vos connaissances avec ce quiz interactif

6 questions
6 min.
70% requis

Informations

  • Le chronomètre démarre au clic sur Démarrer
  • Questions à choix multiples, vrai/faux et réponses courtes
  • Vous pouvez naviguer entre les questions
  • Les résultats détaillés sont affichés à la fin

Lance le quiz et démarre le chronomètre

Les questions ci-dessous reprennent les doutes les plus courants sur les KPIs sécurité : différence entre MTTD et MTTR, choix des seuils, calcul du Risk Score et outillage.

Ce projet vous est utile ?

Les guides, formations, quiz et labs restent gratuits. Si vous les utilisez régulièrement, vous pouvez contribuer à leur maintenance et à leur développement.

Devenir membre de soutien (nouvel onglet) Soutenir une fois (nouvel onglet) En savoir plus

Suivez aussi le projet sur LinkedIn