Skip to main content

KPIs and Metrics - Threat Modelling

Scope and purpose​

The indicators of this domain assess the coverage, currency and operational quality of the threat modelling process in the software development cycle. Threat modelling is the mechanism by which threats are identified before they become exploitable vulnerabilities - it is structured risk analysis applied to the architecture, before implementation.

Measuring threat modelling faces a specific challenge: the quality of a threat model is not directly observable through simple quantitative metrics. An extensive threat model may be superficial; a concise threat model may be exhaustive. The THR indicators combine coverage metrics (quantitative) with process quality indicators (ordinal and binary) that are observable without requiring subjective line-by-line assessment.

The THR indicators feed the cross-cutting dimensions T-01 (Control coverage) and T-06 (SbD-ToE maturity).


Denominator and portfolio foundation​

The THR indicators use as their denominator F-02 - applications with a formal risk classification (Ch. 01, CLA-K01). The percentages in this chapter are interpretable only in relation to the set of applications classified at the relevant risk level - not in relation to the total portfolio or to ad-hoc subsets.

See kpis-governanca.md - section "Portfolio foundation" - for the SbD-ToE adoptability funnel and the relation between denominators.


Conventions​

SymbolMeaning
✔Mandatory threshold for this level
-Not applicable or not mandatory at this level
↓Inverse indicator - a lower value indicates better performance

Thresholds are cumulative: L3 includes all the obligations of L1 and L2.

Indicator types:

CodeMeaning
Q%Quantitative, percentage
Q#Quantitative, count
OrdQualitative, ordinal (level 1–3)
BinBinary - verifiable existence with mandatory evidence

Indicator catalogue​

IDIndicatorTypeL1L2L3Dim. TPeriod
THR-K01% of L2/L3 applications with a documented, up-to-date and accessible threat modelQ%-≥ 85%100%T-01Half-yearly
THR-K02% of threats identified in the threat model with an associated control or formally accepted riskQ%-≥ 90%100%T-01Per threat model
THR-K03% of threat models of L2/L3 systems reviewed by AppSec before going into productionQ%-≥ 80%100%T-01Per major release
THR-K04% of threat models updated within ≤ 30 days after a significant architectural changeQ%-≥ 85%100%T-01Per event
THR-K05% of threats identified in the threat model mapped to canonical SbD-ToE requirementsQ%-≥ 70%≥ 90%T-01Per threat model
THR-K06Maturity level of the threat modelling process (methodology, integration, tools)Ordlevel 1level 2level 3T-06Annual

Complementary definitions​

THR-K01 - Up-to-date threat model: a threat model is considered up to date when it reflects the current architecture and has been reviewed after the last significant architectural change or within the maximum period of the defined cycle. The tool is free (manual STRIDE, IriusRisk, Threat Dragon, Microsoft Threat Modeling Tool); the evidence of review is mandatory.

THR-K02 - Associated control or accepted risk: each threat must have an explicit disposition - (a) control implemented with a reference to the requirement; (b) mitigation in progress with a deadline; or (c) risk formally accepted with an owner and a record. Threats without a disposition are process gaps, not conscious risk positions.

THR-K03 - Review by AppSec: the review may be carried out as part of a security design review, an ADR review, or a formal threat model review process. The criterion is the existence of a reviewer with security competence who is independent of the team that produced the threat model.

THR-K04 - Significant architectural change: includes the same categories defined in CLA-K03 (Ch. 01): new data types, new external integrations, architecture changes with impact on the attack surface, regulatory changes. The 30-day period is for updating the threat model, not for resolving the threats identified.

THR-K05 - Mapping to canonical requirements: a threat is mapped when the line can be traced between the identified threat and the SbD-ToE requirement that mitigates it (e.g. privilege escalation threat → AUT-003, AUT-007). The mapping may be automatic (IriusRisk) or manual and documented. Threats without a mapping indicate a potential gap in requirements coverage.

THR-K06 - Threat modelling maturity levels:

  • Level 1: threat modelling carried out ad hoc, without a defined methodology, without integration in the development cycle
  • Level 2: defined methodology (STRIDE, PASTA, or another), carried out on new systems and significant changes, with documented output reviewed by AppSec
  • Level 3: integrated in the development pipeline (ideally continuous or per PR/release), with automatic mapping to requirements, traceability of threats over time, and evidence of evolution compared with previous cycles

Collection and instrumentation​

IndicatorPrimary sourceReference toolsAutomation
THR-K01Threat model repository (wiki, Git, dedicated tool)IriusRisk, Threat Dragon, Microsoft TMTPartial
THR-K02Threat model with a disposition column per threatAny tool with threat + mitigation trackingPartial
THR-K03Record of reviews (tickets, comments, minutes)Ticketing system + review recordNo
THR-K04Correlation between the change log and the threat model review dateAudit of git log vs threat model dateNo
THR-K05Threat model with a requirement field per threatIriusRisk (automatic mapping), or manual tablePartial
THR-K06Qualitative assessment by AppSec or security architectAnnual structured assessmentNo

Cross-references​

DocumentRelation
addon/01-metodologias-e-ferramentas.mdMethodologies and tools that underpin THR-K06
addon/03-validacao-evidencia-threat-modeling.mdValidation process that feeds THR-K03/K05
addon/07-mapeamento-threats-requisitos.mdThreat → requirement mapping (THR-K05)
Ch. 04 addon/10-kpis-metricas.mdARC-K01 (threat model per architecture) complements THR-K01
Ch. 14 kpis-governanca.mdCross-cutting dimensions T-01, T-06