UStackUStack
CRML (Cyber Risk Modeling Language) favicon

CRML (Cyber Risk Modeling Language)

CRML è un linguaggio dichiarativo open-source (formato YAML/JSON) progettato per standardizzare la descrizione dei modelli di rischio informatico, rendendoli indipendenti dal motore di esecuzione e abilitando i principi di Risk as Code (RaC).

CRML (Cyber Risk Modeling Language)

Cos'è CRML (Cyber Risk Modeling Language)?

Cos'è CRML (Cyber Risk Modeling Language)?

CRML, il Cyber Risk Modeling Language, è una specifica dichiarativa open-source creata per affrontare la frammentazione e l'incoerenza che affliggono la moderna quantificazione del rischio informatico. Fornisce un formato YAML/JSON standardizzato per definire modelli di rischio informatico complessi, inclusa la mappatura della telemetria, le pipeline di simulazione, le dipendenze dei controlli e gli output richiesti. La filosofia centrale dietro CRML è quella di abilitare il Risk as Code (RaC), trasformando le assunzioni di rischio e conformità in artefatti versionati, revisionabili ed eseguibili che possono essere convalidati in modo coerente tra diversi team e strumenti.

Questo linguaggio funge da livello di astrazione, disaccoppiando la definizione del modello dal motore di esecuzione. Ciò significa che le organizzazioni non sono più vincolate a strumenti proprietari o metodologie di quantificazione specifiche, come i motori Monte Carlo FAIR o gli approcci Bayesiani/QBER. Standardizzando la descrizione del modello, CRML garantisce che lo stesso scenario di rischio, definito con assunzioni esplicite, possa essere eseguito in modo affidabile su varie piattaforme di simulazione conformi, migliorando drasticamente l'auditabilità, la riproducibilità e la capacità di giustificare gli investimenti in sicurezza basati sui risultati quantificati.

Caratteristiche Principali

CRML è progettato per portare rigore e standardizzazione nella gestione quantitativa del rischio informatico:

  • Design Indipendente dal Motore (Engine-Agnostic): Funziona perfettamente con qualsiasi motore di simulazione che aderisca alla specifica CRML, inclusi quelli che supportano Monte Carlo in stile FAIR, metodi Bayesiani o modelli attuariali.
  • Formato Dichiarativo YAML/JSON: I modelli sono descritti utilizzando YAML o JSON leggibili dall'uomo, rendendoli facili da leggere, rivedere, controllare in versione (tramite Git) e sottoporre ad audit.
  • Modellazione dell'Efficacia dei Controlli: Consente agli utenti di quantificare esplicitamente come i controlli di sicurezza, inclusi scenari complessi di difesa in profondità (defense-in-depth), riducano l'esposizione complessiva al rischio.
  • Parametrizzazione Basata sulla Mediana: Semplifica il processo di input consentendo la specifica diretta dei valori mediani per distribuzioni comuni come le distribuzioni log-normali.
  • Validazione Rigorosa: Incorpora la validazione JSON Schema per rilevare errori strutturali e logici nella definizione del modello prima che inizi la simulazione, risparmiando tempo e prevenendo risultati errati.
  • Supporto Multi-Valuta: Facilita la modellazione del rischio globale supportando la conversione automatica tra diverse valute.
  • Auto-Calibrazione: Presenta meccanismi per calibrare automaticamente le distribuzioni in base ai dati di perdita forniti.

Come Usare CRML (Cyber Risk Modeling Language)

Iniziare con CRML comporta la definizione della struttura del modello di rischio utilizzando la specifica dichiarativa. Il flusso di lavoro segue generalmente questi passaggi:

  1. Definire la Struttura del Modello: Creare un file CRML (tipicamente YAML) che delinei lo scenario di rischio. Ciò include la definizione degli eventi minacciosi (threat events), delle frequenze degli eventi di perdita (loss event frequencies), delle magnitudini degli eventi di perdita e delle relazioni tra di essi.
  2. Mappare Controlli e Assunzioni: Definire esplicitamente i controlli di sicurezza in ambito e quantificare la loro efficacia (ad esempio, utilizzando fattori di riduzione o modificatori di probabilità) secondo la specifica CRML.
  3. Specificare i Requisiti di Simulazione: Dettagliare gli output richiesti, i controlli di validazione e qualsiasi parametro di simulazione specifico (come il numero di esecuzioni Monte Carlo o i priori Bayesiani).
  4. Eseguire con un Motore Conforme: Inserire il file CRML standardizzato in un motore di simulazione compatibile (ad esempio, un motore FAIR personalizzato o un risolutore Bayesiano). Poiché il modello è standardizzato, il motore sa esattamente come interpretare gli input ed eseguire il calcolo.
  5. Revisionare e Versionare: Poiché il modello è ora un artefatto versionato (come l'Infrastructure as Code), può essere tracciato nel controllo di versione, revisionato dai colleghi e utilizzato come prova di audit per le decisioni di rischio.

Casi d'Uso

CRML è prezioso per le organizzazioni che passano da valutazioni del rischio qualitative a una quantificazione rigorosa e difendibile:

  1. Giustificare la Spesa in Sicurezza: Quantificare la riduzione della Perdita Annualizzata Attesa (ALE) ottenuta implementando uno specifico controllo (ad esempio, implementazione di MFA) per giustificare le richieste di budget alla dirigenza o al consiglio di amministrazione.
  2. Aggregazione del Rischio Aziendale: Standardizzare i modelli di rischio tra unità aziendali o aree geografiche disparate, consentendo un'aggregazione e un confronto coerenti dell'esposizione al rischio informatico rispetto agli obiettivi finanziari a livello aziendale.
  3. Gestione del Rischio Fornitori: Creare profili di rischio standardizzati e leggibili dalle macchine per fornitori terzi critici, consentendo un confronto automatizzato della loro postura di sicurezza rispetto ai benchmark interni.
  4. Tracciabilità di Audit e Conformità: Generare registrazioni immutabili e versionate che collegano esplicitamente il numero di rischio finale alle esatte assunzioni, mappature dei controlli e dati utilizzati nel calcolo, soddisfacendo rigorosi requisiti di audit.
  5. Modellazione della Difesa in Profondità: Modellare accuratamente architetture di sicurezza complesse in cui più controlli sovrapposti mitigano una singola minaccia, garantendo che la riduzione del rischio non venga conteggiata due volte.

FAQ

D: CRML è proprietario o posso usare qualsiasi strumento con esso? A: CRML è un linguaggio dichiarativo open-source. È intenzionalmente indipendente dal motore. Qualsiasi piattaforma di simulazione che implementi la specifica CRML può elaborare ed eseguire modelli definiti in questo formato.

D: Qual è la relazione tra CRML e framework consolidati come FAIR? A: CRML è progettato per descrivere modelli che potrebbero essere eseguiti utilizzando i principi FAIR o altre metodologie. Standardizza l'input e la struttura dello scenario di rischio, consentendo di utilizzare concetti FAIR (come Frequenza dell'Evento Minaccioso e Magnitudine della Perdita) all'interno di un formato di file standardizzato e portatile.

D: Questo progetto è stabile per l'uso in produzione? A: Il progetto è attualmente in fase di intenso sviluppo (come indicato nel repository). Sebbene i concetti fondamentali siano robusti, gli utenti dovrebbero monitorare il ramo di sviluppo (crml-dev-1.3) ed essere preparati a potenziali modifiche che interrompono la compatibilità fino a quando il progetto non raggiungerà una versione principale stabile.

D: In che modo CRML aiuta con la documentazione incoerente dei controlli? A: Forzando l'efficacia dei controlli e le assunzioni di difesa in profondità nella definizione strutturata YAML/JSON, CRML elimina la dipendenza da fogli di calcolo o documenti narrativi incoerenti. Ogni analista utilizza la stessa definizione leggibile dalla macchina, garantendo coerenza nel modo in cui i controlli influenzano il calcolo del rischio finale.

D: Dove posso trovare la documentazione ufficiale o gli esempi? A: Il progetto mantiene la documentazione, spesso generata tramite MkDocs, e include esempi nella struttura del repository per dimostrare come definire vari scenari di rischio e mappature dei controlli.

CRML (Cyber Risk Modeling Language) | UStack