Una vulnerabilità informatica è una debolezza o un difetto in un sistema informatico — nel codice software, nella configurazione hardware, nei processi organizzativi o nel comportamento umano — che un attaccante può sfruttare per violare la sicurezza del sistema, compromettendo la sua riservatezza, integrità o disponibilità secondo la Triade CIA. La vulnerabilità è una condizione latente: esiste indipendentemente dal fatto che venga sfruttata. Diventa rischio solo quando esiste un attaccante con la capacità e la motivazione di farne uso tramite un exploit.
Sistemi di catalogazione
Tre sistemi standardizzati formano il vocabolario comune della gestione delle vulnerabilità. Il CVE (Common Vulnerabilities and Exposures, gestito da MITRE) assegna un identificativo univoco CVE-ANNO-NUMERO a ogni vulnerabilità specifica e pubblica. Il CWE (Common Weakness Enumeration) cataloga le tipologie di debolezze ricorrenti — classi di difetti come buffer overflow, injection, race condition — indipendentemente dalle istanze specifiche. Il CVSS (Common Vulnerability Scoring System) assegna un punteggio numerico da 0 a 10 alla gravità di ogni vulnerabilità in base a metriche oggettive: vettore di attacco, complessità, privilegi richiesti, impatto su confidenzialità, integrità e disponibilità.
Ciclo di vita
Una vulnerabilità nasce quando un difetto viene introdotto nel sistema — spesso durante lo sviluppo — e può rimanere latente per anni. Quando viene scoperta da un ricercatore, il processo ideale è la Coordinated Vulnerability Disclosure (CVD): segnalazione privata al vendor, che ha un periodo ragionevole (tipicamente 90 giorni per Google Project Zero) per sviluppare e distribuire una patch prima della divulgazione pubblica. Una vulnerabilità zero-day è una vulnerabilità ancora ignota al vendor — e quindi priva di patch — nel momento in cui viene scoperta o sfruttata.
Categorie per origine
Le vulnerabilità software comprendono buffer overflow, injection (SQL, command, LDAP), race condition TOCTOU, difetti di logica applicativa e dipendenze non aggiornate. Le vulnerabilità di configurazione includono credenziali di default, servizi inutilmente esposti, permessi eccessivi e cifratura assente o debole. Le vulnerabilità hardware — come Spectre, Meltdown e Rowhammer — sfruttano difetti nell’architettura fisica dei processori o delle memorie.
Patch management
La gestione sistematica delle patch è il controllo di sicurezza con il miglior rapporto costo/beneficio. Richiede un inventario completo degli asset, il monitoraggio continuo dei feed CVE/NVD e dei bollettini vendor, la prioritizzazione basata su CVSS e sfruttabilità attiva (CISA KEV catalog), il test in ambiente staging e il deployment verificato in produzione. La metrica chiave è il Mean Time to Patch (MTTP): per vulnerabilità critiche attivamente sfruttate, l’obiettivo è inferiore a 24 ore.