Common Vulnerability Scoring System
Il Common Vulnerability Scoring System (CVSS) è uno norma tecnica aperta per valutare la gravità delle vulnerabilità di sicurezza del sistema informatico . CVSS tenta di assegnare punteggi di gravità alle vulnerabilità, consentendo a chi si occupa di rispondere all'emergenza di dare priorità alle risposte e alle risorse in base alla minaccia. I punteggi vengono calcolati in base a una formula che dipende da diverse metriche che approssimano la facilità e l'impatto di un exploit. I punteggi vanno da 0 a 10, dove 10 è il più grave. Sebbene molti utilizzino solo il punteggio di base CVSS per determinare la gravità, esistono anche punteggi temporali e ambientali, per tenere conto rispettivamente della disponibilità di mitigazioni e della diffusione dei sistemi vulnerabili all'interno di un'organizzazione.
L'attuale versione di CVSS (CVSSv3.1) è stata rilasciata a giugno 2019. [1]
Storia
La ricerca del National Infrastructure Advisory Council (NIAC) nel 2003/2004 ha portato al lancio della versione 1 (CVSSv1) nel febbraio 2005, con l'obiettivo di essere "progettato per fornire livelli di gravità aperti e standard universali delle vulnerabilità del software". Questa bozza iniziale non era stata soggetta a peer review o revisione da parte di altre organizzazioni. Nell'aprile 2005, NIAC ha selezionato il Forum of Incident Response and Security Teams (FIRST) per occuparsi dello sviluppo futuro del CVSS. [2]
Il feedback dei fornitori che utilizzano CVSSv1 in produzione ha suggerito che c'erano "problemi significativi con la bozza iniziale di CVSS"., così, nell'aprile 2005 è cominciato il lavoro sulla versione 2 di CVSS (CVSSv2) con la versione finale lanciata nel giugno 2007. [3]
Ulteriori feedback hanno portato all'inizio del lavoro sulla versione 3 di CVSS nel 2012, che si è concluso con il rilascio di CVSSv3.0 a giugno 2015. [4]
Terminologia
La valutazione CVSS misura tre aree di interesse:
- Metriche di base per le qualità intrinseche a una vulnerabilità
- Metriche temporali per le caratteristiche che evolvono nel corso della vita della vulnerabilità
- Metriche ambientali per le vulnerabilità che dipendono da una particolare implementazione o ambiente
Viene generato un punteggio numerico per ciascuno di questi gruppi di metriche. Una stringa vettoriale (o semplicemente "vettore" in CVSSv2), rappresenta i valori di tutte le metriche come un blocco di testo.
Versione 2
La documentazione completa per CVSSv2 è disponibile da FIRST. [5] Di seguito viene fornita una sintesi.
Metriche di base
Accesso al vettore
Il vettore di accesso (AV) mostra come può essere sfruttata una vulnerabilità.
Valore | Descrizione | Punto |
---|---|---|
Locale (L - Local) | L'attaccante deve avere accesso fisico al sistema vulnerabile (es. attacchi firewire ) o un account locale (es. un attacco di privilege escalation). | 0,395 |
Rete adiacente (A - Adjacent Network) | L'attaccante deve avere accesso al dominio broadcast o al collision ___domain del sistema vulnerabile (es. ARP spoofing, attacchi Bluetooth). | 0,646 |
Rete (N - Network) | L'interfaccia vulnerabile funziona al livello 3 o superiore dello stack di rete OSI. Questi tipi di vulnerabilità sono spesso descritti come sfruttabili da remoto (es. un buffer overflow remoto in un servizio di rete) | 1.0 |
Complessità di accesso
La metrica della complessità di accesso (AC) descrive quanto sia facile o difficile sfruttare la vulnerabilità scoperta.
Valore | Descrizione | Punto |
---|---|---|
Alto (H) | Esistono condizioni specializzate, come una condizione di gara con una finestra stretta o un requisito per metodi di ingegneria sociale che sarebbero prontamente notati da persone esperte. | 0,35 |
Medio (M) | Esistono alcuni requisiti aggiuntivi per l'attacco, come un limite sull'origine dell'attacco o un requisito per l'esecuzione del sistema vulnerabile con una configurazione non comune e non predefinita. | 0,61 |
Basso (L) | Non ci sono condizioni speciali per sfruttare la vulnerabilità, come quando il sistema è disponibile per un gran numero di utenti o la configurazione vulnerabile è onnipresente. | 0,71 |
Autenticazione
La metrica di autenticazione (Au) descrive il numero di volte in cui un utente malintenzionato deve autenticarsi su un bersaglio per sfruttarlo. Non include (ad esempio) l'autenticazione a una rete per ottenere l'accesso. Per le vulnerabilità sfruttabili localmente, questo valore deve essere impostato su Singolo o Multiplo se è necessaria un'ulteriore autenticazione dopo l'accesso iniziale.
Valore | Descrizione | Punto |
---|---|---|
Multiplo (M) | Lo sfruttamento della vulnerabilità richiede che l'attaccante si autentichi due o più volte, anche se ogni volta vengono utilizzate le stesse credenziali. | 0.45 |
Singolo (S) | L'attaccante deve autenticarsi una volta per sfruttare la vulnerabilità. | 0,56 |
Nessuno (N) | Non è necessario che l'attaccante si autentichi. | 0.704 |
Criticità della versione 2
Diversi fornitori e organizzazioni hanno espresso insoddisfazione per CVSSv2.
La società Risk Based Security, che gestisce il database delle vulnerabilità open source, e la Open Security Foundation hanno pubblicato congiuntamente una lettera pubblica a FIRST in merito alle carenze e ai fallimenti di CVSSv2. [6] Gli autori hanno citato una mancanza di granularità in diverse metriche che si traduce in vettori e punteggi CVSS che non distinguono correttamente le vulnerabilità di diverso tipo e profili di rischio. È stato anche notato che il sistema di punteggio CVSS richiede una conoscenza eccessiva dell'esatto impatto della vulnerabilità.
Oracle ha introdotto il nuovo valore della metrica "Partial+" per Riservatezza, Integrità e Disponibilità, per colmare le lacune percepite nella descrizione tra Parziale e Completo nelle specifiche ufficiali CVSS. [7]
Versione 3
Per affrontare alcune di queste criticità, nel 2012 si è avviato lo sviluppo della versione 3 di CVSS. La versione finale è stata denominata CVSS v3.0 e rilasciata nel giugno 2015. Oltre a un documento di specifica, sono stati rilasciati anche una guida per l'utente e un documento di esempi. [8]
Diverse metriche sono state modificate, aggiunte e rimosse. Le formule numeriche sono state aggiornate per incorporare le nuove metriche pur mantenendo l'intervallo di punteggio esistente di 0-10. Sono stati definiti i livelli di gravità testuale Nessuno (0), Basso (0,1-3,9), Medio (4,0-6,9), Alto (7,0-8,9) e Critico (9,0-10,0) [9], simili alle categorie NVD definite per CVSS v2 che non facevano parte di quello standard. [10]
Modifiche dalla versione 2
Metriche di base
Nel vettore di base sono state aggiunte le nuove metriche Interazione utente (UI) e Privilegi richiesti (PR) per aiutare a distinguere le vulnerabilità che richiedono l'interazione dell'utente o i privilegi di utente o amministratore per essere sfruttate. In precedenza, questi concetti facevano parte della metrica del vettore di accesso di CVSSv2. Il vettore di base ha visto anche l'introduzione della nuova metrica Scope (S), progettata per chiarire quali vulnerabilità possono essere sfruttate e quindi utilizzate per attaccare altre parti di un sistema o di una rete. Queste nuove metriche consentono al vettore di base di esprimere più chiaramente il tipo di vulnerabilità da valutare.
Le metriche Riservatezza, Integrità e Disponibilità (C, I, A) sono state aggiornate per avere punteggi costituiti da Nessuno, Basso o Alto, anziché Nessuno, Parziale, Completo di CVSSv2. Ciò consente una maggiore flessibilità nel determinare l'impatto di una vulnerabilità sulle metriche della CIA.
Access Complexity è stato rinominato Attack Complexity (AC) per chiarire che i privilegi di accesso sono stati spostati in una metrica separata. Questa metrica ora descrive quanto può essere ripetibile l'exploit di questa vulnerabilità; AC è alto se l'attaccante richiede tempismo perfetto o altre circostanze (diverse dall'interazione dell'utente, che è anche una metrica separata) che potrebbe non essere facilmente duplicato nei tentativi futuri.
Attack Vector (AV) ha visto l'inclusione di un nuovo valore metrico di Physical (P), per descrivere le vulnerabilità che richiedono l'accesso fisico al dispositivo o al sistema per funzionare.
Metriche temporali
Le metriche temporali sono rimaste sostanzialmente invariate rispetto a CVSSv2.
Metriche ambientali
Le metriche ambientali di CVSSv2 sono state completamente rimosse e sostituite essenzialmente con un secondo punteggio di base, noto come vettore modificato. La Base Modificata ha lo scopo di riflettere le differenze all'interno di un'organizzazione o azienda rispetto al mondo nel suo insieme. Sono state aggiunte nuove metriche per catturare l'importanza di Riservatezza, Integrità e Disponibilità in un ambiente specifico.
Criticità della versione 3
In un post sul blog nel settembre 2015, il Centro di coordinamento del CERT ha discusso dei limiti di CVSSv2 e CVSSv3.0 per l'uso nel valutare le vulnerabilità nei sistemi tecnologici emergenti come l'Internet delle cose. [11]
Versione 3.1
Il 17 giugno 2019 è stato rilasciato un aggiornamento minore di CVSS. L'obiettivo della versione 3.1 di CVSS era chiarire e migliorare lo standard CVSS versione 3.0 esistente senza introdurre nuove metriche o valori di metrica, consentendo l'adozione senza attriti del nuovo standard sia da parte dei fornitori di punteggio che dei consumatori. L'usabilità era una considerazione primaria quando si apportavano miglioramenti allo standard CVSS. Diverse modifiche apportate in CVSS v3.1 servono a migliorare la chiarezza dei concetti introdotti in CVSS v3.0, e quindi a migliorare la facilità d'uso complessiva dello standard.
FIRST ha utilizzato il contributo di esperti del settore per continuare a migliorare e perfezionare CVSS per essere sempre più applicabile alle vulnerabilità, ai prodotti e alle piattaforme sviluppate negli ultimi 15 anni e oltre. L'obiettivo principale di CVSS è fornire un modo deterministico e ripetibile per valutare la gravità di una vulnerabilità in molti gruppi diversi, consentendo ai consumatori di CVSS di utilizzare questo punteggio come input per una matrice decisionale più ampia di rischio, mitigazione specifica per il loro ambiente particolare e propensione al rischio.
Gli aggiornamenti alla specifica CVSS versione 3.1 includono il chiarimento delle definizioni e la spiegazione delle metriche di base esistenti come il vettore di attacco, i privilegi richiesti, l'ambito e i requisiti di sicurezza. È stato inoltre definito un nuovo metodo standard di estensione del CVSS, chiamato CVSS Extensions Framework, che consente a un fornitore di punteggio di includere metriche e gruppi di metriche aggiuntivi mantenendo le metriche di base, temporali e ambientali ufficiali. Le metriche aggiuntive consentono a settori industriali come la privacy, la sicurezza, l'automotive, l'assistenza sanitaria, ecc., di valutare i fattori che sono al di fuori dello standard CVSS di base. Infine, il Glossario dei termini CVSS è stato ampliato e perfezionato per coprire tutti i termini utilizzati nella documentazione CVSS versione 3.1.
Adozione
Le versioni di CVSS sono state adottate come metodo principale per quantificare la gravità delle vulnerabilità da un'ampia gamma di organizzazioni e aziende, tra cui:
Note
- ^ Common Vulnerability Scoring System Version 3.1, su first.org.
- ^ Common Vulnerability Scoring System v1 Archive, su first.org.
- ^ CVSS-SIG Version 2 History, su first.org.
- ^ Common Vulnerability Scoring System version 3.0, su first.org.
- ^ A Complete Guide to the Common Vulnerability Scoring System (v2.0), su first.org.
- ^ The CVSSv2 Shortcomings, Faults, and Failures Formulation (PDF), su riskbasedsecurity.com.
- ^ Use of Common Vulnerability Scoring System (CVSS) by Oracle, su oracle.com.
- ^ Common Vulnerability Scoring System version 3.1: Specification Document, su first.org.
- ^ Metric Value Description, su first.org.
- ^ Vulnerability Metrics - NVD, su nvd.nist.gov.
- ^ CVSS and the Internet of Things, su insights.sei.cmu.edu.