Common Vulnerabilities and Exposures

catalogo di vulnerabilità informatiche

Il Common Vulnerabilities and Exposures, o CVE (in italiano Vulnerabilità ed esposizioni comuni), è un dizionario di vulnerabilità e falle di sicurezza note pubblicamente. È mantenuto dalla MITRE Corporation ed è finanziato dalla National Cybersecurity FFRDC del Dipartimento della Sicurezza interna degli Stati Uniti.[1] Il CVE è utilizzato dal Security Content Automation Protocol (SCAP) e le vulnerabilità, identificate da un identificatore univoco, sono elencate nel sistema MITRE e nel National Vulnerability Database americano. L'identificazione univoca delle CVE permette una maggiore comunicazione nel mondo della sicurezza e aiuta nella valutazione della diffusione di servizi e strumenti.[2]

Come detto nel sito CVE, il principale metodo per richiedere l'inserimento di una vulnerabilità tra quelle conosciute è farne richiesta a una CNA (CVE Numbering Authorities), organizzazioni di ricerca, ricercatori nel campo della sicurezza e produttori di sistemi operativi. Tra essi possiamo trovare: Adobe, Apple, Attachmate, BlackBerry, CERT Coordination Center, Cisco, Debian GNU/Linux, Distributed Weakness Filing Project, EMC, FreeBSD, Google, HP, IBM, ICS-CERT, JPCERT/CC, Juniper, Microsoft, MITRE (CNA primaria), Mozilla, Oracle, Red Hat, Silicon Graphics, Symantec e Ubuntu.[3]

Identificatori CVE modifica

Gli identificatori CVE (CVE identifiers), chiamati anche "nomi CVE", "numeri CVE" o "ID CVE", identificano in modo univoco le vulnerabilità note al pubblico di sicurezza informatica. Questi identificatori possono avere lo status di voci ("entry") o di candidati ("candidates"), a seconda che siano stati accettati nell'elenco del CVE oppure siano sotto verifica per l'inclusione nella lista.
L'assegnamento di un identificatore non garantisce che la vulnerabilità diventerà una voce ufficiale del CVE (ad esempio, un ID CVE può duplicare una voce già esistente).

Gli ID CVE possono essere assegnati in tre modi:

  1. Dalla MITRE corporation, CNA primaria
  2. Dalle CNA riguardo ai propri prodotti (ad esempio Apple, Oracle, Microsoft)
  3. Da terze parti quali il CERT Coordination Center che può assegnare identificatori per prodotti non coperti dalle altre CNA

I numeri CVE possono non risultare nel National Vulnerability Database o nei database del MITRE per diverso tempo (da giorni ad anni) a causa di problemi relativi alla loro divulgazione (la loro catalogazione è stata approvata ma non sono stati resi pubblici). Informazioni su come ottenere ID CVE relativi a progetti Open Source sono disponibili sul sito di Red Hat.[4]

Le CVE riguardano software pubblicamente rilasciati, incluse le versioni beta, quelle in pre-ordine (se largamente diffuse) e i programmi commerciali. Tra le categorie a cui non vengono assegnate CVE troviamo sistemi custom non distribuiti e servizi addizionali (ad esempio provider di posta web-based con criticità quali il Cross-site scripting) a meno che il problema non sia presente in un software sottostante pubblicamente distribuito.

Campi dati CVE modifica

Ci sono diversi campi all'interno di un database CVE anche se alcuni non sono più utilizzati. Tra i campi non più utilizzati troviamo indicazioni sulla fase in cui sono le CVE (voci o candidati), sui voti (per decidere se trasformare i candidati in voci i membri votavano), i commenti e le proposte.

Descrizione modifica

È la descrizione di un numero CVE, un esempio tipico è:" ** RESERVED **"; ovvero, l'identificativo è stato riservato dal MITRE o da una CNA (di solito li richiedono a blocchi) e quindi resterà così marcato anche se non verrà assegnato veramente a una vulnerabilità per un po' di tempo.

Riferimenti modifica

Presenta la lista di informazioni e URL associate alla CVE.

Data Creazione modifica

È la data in cui è stata creata la voce. Per un ID CVE assegnato direttamente dal MITRE, questa è la data vera e propria in cui è stata creata la voce, per una CVE assegnata da una CNA invece la data di creazione si riferisce a quando il MITRE ha riservato la voce, non la CNA. Così, nel caso in cui una CNA richieda un certo numero di CVE in anticipo queste voci avranno tutte la stessa data di creazione, ovvero quando sono state assegnate. La CVE assegnata poi potrebbe non venire utilizzata anche per anni (possono essere utilizzate per vecchi problemi di sicurezza legati a software Open Source per i quali non sono ancora stati assegnati ID CVE).

Modifiche sintassi ID CVE modifica

Fin dall'introduzione del CVE, nel 1999, la sintassi relativa agli ID CVE era del tipo CVE-YYYY-NNNN: supportava un massimo di 9999 identificatori unici all'anno. Negli ultimi anni la crescita del numero di vulnerabilità da registrare ha portato alla modifica di questa sintassi, entrata in vigore il 13 Gennaio 2015. [5]

La nuova formula prevede una lunghezza variabile e include:

Prefisso CVE - anno - cifre arbitrarie

La lunghezza del campo “cifre arbitrarie” è variabile ma deve contenere almeno quattro (4) caratteri, perciò la sintassi è retrocompatibile.

CVE SPLIT e MERGE modifica

Il CVE tenta di assegnare una voce per ogni problema di sicurezza, ma a volte questo risulta impossibile a causa del numero troppo elevato che ne risulta (ad esempio solo per le vulnerabilità di tipo cross-site scripting trovate nelle applicazioni PHP ne andrebbero scritte dozzine). Per gestire questa situazione ci sono linee-guida per la divisione (splitting) e riunione (merging) dei problemi in distinti CVE ID. Quando alcune vulnerabilità vengono considerate unificabili, vengono divise per tipo (ad esempio buffer overflow/stack overflow), poi per versione del software che colpiscono e infine in base al soggetto che le riporta (se viene riportata da due soggetti diversi verrà fatto uno SPLIT e registrata con due CVE ID diversi). Ad esempio, se Alice segnala una vulnerabilità nella creazione di un file /tmp nelle versioni precedenti alla 1.2.3 del browser web ExampleSoft e, oltre a questa, vengono trovate altre vulnerabilità nella creazione di file /tmp, in molti casi questa viene considerata come due segnalazioni distinte (questo genererà due identificativi CVE separati, se Alice lavora per ExampleSoft e un team interno a ExampleSoft trova le altre vulnerabilità allora i due CVE possono essere unificati). Al contrario se, ad esempio, Bob trovasse 145 vulnerabilità XSS in ExamplePlugin per ExampleFramework indipendentemente dalle versioni colpite, esse potrebbero essere unificate in un'unica voce (MERGE)[6].

Dove trovare le CVE modifica

Il database CVE MITRE può essere trovato al link CVE List Master Copy mentre quello NVD a Search CVE and CCE Vulnerability Database. Attualmente il numero degli identificatori CVE assegnati ammonta a: 76311[7].

Note modifica

  1. ^ MITRE Corporation, CVE - Common Vulnerabilities and Exposures, su cve.mitre.org, 3 luglio 2007. URL consultato il 20-11-2008.
  2. ^ CVE - Common Vulnerabilities and Exposures, su cve.mitre.org. URL consultato il 06-06-2016.
    «CVE’s common identifiers enable data exchange between security products and provide a baseline index point for evaluating coverage of tools and services.»
  3. ^ CNA - CVE Numbering Authorities, su cve.mitre.org. URL consultato il 06-06-2016.
  4. ^ Red Hat Inc., CVE OpenSource Request HOWTO, su people.redhat.com. URL consultato il 07-06-2016 (archiviato dall'url originale il 12 luglio 2014).
    «There are several ways to make a request depending on what your requirements are:»
  5. ^ CVE-ID Syntax Change, su cve.mitre.org. URL consultato l'11-06-2016.
  6. ^ CVE Abstraction Content Decisions: Rationale and Application, su cve.mitre.org. URL consultato il 12-06-2016.
  7. ^ About CVE, su cve.mitre.org. URL consultato il 12-06-2016.

Voci correlate modifica

Collegamenti esterni modifica

  Portale Sicurezza informatica: accedi alle voci di Wikipedia che trattano di Sicurezza informatica