lunedì 24 giugno 2024

Common Vulnerability Scoring System (CVSS) 4.0: capiamo assieme di che si tratta

Come si valutano le vulnerabilità di sicurezza di un software?

Come si può determinare la loro severità?

Come si pùò stabilire l'ordine da utilizzare per procedere all'aggiornamento del codice in caso di vulnerabilità multiple?

Queste sono solo alcune delle domande che ci si deve porre quando si gestisce la sicurezza di un sistema informatico.

Una delle possibili soluzioni passa per una organizzazione chiamata FIRST (Forum of Incident Response and Security Teams) e per uno strumento conosciuto con l'acronimo di CVSS ovvero Common Vulnerability Scoring System, ormai giunto alla versione 4.0.

La storia del CVSS si deve fare risalire al 2005 quando dopo circa due anni di studi e ricerche il National Infrastructure Advisory Council, organo consultivo del presidente degli Stati Uniti d'America, lanciò la versione 1.0. Seguirono la versione 2.0 del 2007 e la 3.0 del 2015. Il 21 ottobre 2023 è stata rilasciata la versione attuale, la 4.0.

CVSS è uno standard tecnico molto utile ma, come tutte le cose non risolve ogni genere di problema, per esempio non fornisce la misura della probabilità di quanto una vulnerabilità possa essere sfruttata da un attaccante, questo perchè essa non è determinata esclusivamente da fattori tecnici.



Come funziona CVSS 4.0.

CVSS consiste nella assegnazione di un punteggio tra 0 e 10 ad ogni vulnerabilità identificata, il punteggio indica la gravità della vulnerabilità che é tanto maggiore quanto più alto è il punteggio.

L'assegnazione del punteggio si effettua valutando 30 diversi fattori, che per comodità e omogeneità sono raggruppati in quattro categorie: Base, Threat, Environmental, Supplemental, che sono abbreviati in B,T,E ed S. Perciò quando si parla di CVSS-B si intende il valore CVSS calcolato utilizzando solo le metriche Base e ciò accade nella maggior parte dei casi.

La categoria (o metrica) Base contiene a sua volta altre due metriche: Exploitability e Impact.

Exploitability comprende quelle metriche che valutano i requisiti per sfruttare con successo la vulnerabilità.

Impact invece comprende le metriche utili a misurare l'impatto della vulnerabilità in oggetto sulla triade CIA (Confidentiality, Integrity, Availability).

Come detto, oltre alle metriche Base esistono altre tre categorie:

- Threat, che comprende solamente informazioni sulla maturità degli exploit cioè su quanto é facile sfruttare una vulnerabilità;

- Environmental, che comprende le stesse categorie della Base ma valutate secondo l'impatto sulla specifica azienda o organizzazione;

- Supplemental, comprende sei categorie: Safety, Automatable, Recovery, Value Density, Vulnerability Response Effort, Provider Urgency.

Naturalmente il CVSS 4.0 ha tante altre interessanti caratteristiche che i più curiosi potranno trovare in questo studio di Davide Ariu: About the Common Vulnerability Scoring System (a.k.a. CVSS) 4.0..

Provare a calcolare il valore a partire da una vulnerabilità nota è relativamente semplice impiegando l'apposito calcolatore online fornito sempre da FIRST. Fare qualche prova permette di rendersi effettivamente conto del livello di dettaglio dato da CVSS e capire quanto il valore reale dipenda effettivamente dalla specificità dell'organizzazione presa in considerazione.

Con quanto detto finora abbiamo risposto in parte solo alla prima delle domande iniziali: come si valutano le vulnerabilità di sicurezza di un software.

Per provare a rispondere alle altre due domande occorrono delle considerazioni sulla infrastruttura informatica in esame, sull'ambiente e sui rischi connessi. Considerazioni quindi legate al singolo caso e non generalizzabili.



Gestione delle vulnerabilità.

Spesso nel corso dell'analisi delle vulnerabilità di un sistema informatico aziendale emergono decine o centinaia di vulnerabilità, alcune note, la maggior parte non note al team di sicurezza. Valutare il rischio legato ad ogni singola vulnerabilità e dare la giusta priorità per la loro risoluzione è il lavoro difficile. Occorre inoltre considerare che questo processo è spesso frammentario e viene eseguito manualmente in quanto non è sempre possibile avere tutti i dati disponibili e visibili con un solo strumento ne è sempliceriversarli in un unico contenitore per poterli analizzare. Un'ultima problematica, non la meno importante, riguarda la loro visualizzazione, che spesso comporta la creazione di grafici non di immediata lettura.Esistono inoltre diversi problemi di natura pratica legati alla individuazione delle vulnerabilità e alla loro mitigazione. In alcuni ambienti non è possibile lanciare programmi automatici per la scansione dei sistemi, comportando la ricerca manuale nei singoli dispositivi. Non sempre i sistemi aziendali sono aggiornati e non sempre supportano le modifiche necessarie per mitigare le vulnerabilità note. In alcuni casi si potrebbe addirittura compromettere la funzionalità (leggasi operatività) del sistema e ciò non è normalmente gradito. In definitiva occorre trovare il giusto compromesso tra sicurezza e operatività.



Nuovo approccio alla gestione delle vulnerabilità basata sul rischio specifico

A questo punto è importante notare che esistono anche metodi per la gestione della vulnerabilità sulla base del rischio specifico che corre una determinata azienda o organizzazione. Questo approccio tiene conto di informazioni relative alla vulnerabilità della parte in considerazione. L'analisi automatizzata e continua, ove possibile, può fornire un valido aiuto ai team di sicurezza.



Ma quali sono le vulnerabilità e dove è possibile trovarle elencate?

Per rispondere a queste nuove domande occorre prendere in considerazione un nuovo acronimo: CVE, che sta per "Common Vulnerabilities and Exposures". Infatti CVE non è altro che una lista che comprende le vulnerabilità conosciute ed è pubblicata da MITRE. che mantiene anche aggiornato l'elenco delle CVE Numbering Authorities (CNA), ovvero delle organizzazioni autorizzate ad assegnare un numero ad una vulnerabilità e a pubblicarlo secondo una ben definita procedura. Queste CNA sono generalmente produttori di software e ricercatori di sicurezza ma chiunque può richieder di assegnare un numero ad una nuova vulnerabilità. Ogni CVE è composta da un numero identificatore, una breve descrizione e i riferimenti ai report della vulnerabilita.

L'elenco, nella versione attuale, comprende 233.151 diversi elementi.


Alessandro Rugolo

 

Per approfondire:

- https://www.first.org/cvss/v4-0/

-  https://davideariu.substack.com/p/about-the-common-vulnerability-scoring

- https://cve.mitre.org/blog/September112018_A_Look_at_the_CVE_and_CVSS_Relationship.html

- https://cve.mitre.org/cve/search_cve_list.html

- https://www.first.org/cvss/calculator/4.0#

- https://www.agendadigitale.eu/sicurezza/gestione-delle-vulnerabilita-e-delle-patch-in-azienda-come-evitare-rischi/

- https://purplesec.us/learn/vulnerability-prioritization/

Nessun commento:

Posta un commento