Volendo cercare un fulcro nella cyber security, verrebbe facile trovarlo nel vulnerability management e i dati lo confermano: nel 2021, il solo database NVD ha pubblicato 21.597 vulnerabilità. Un valore in netta crescita rispetto alle 18362 del 2020, alle 17382 del 2019 e alle 17252 del 2018.
Il report Vulnerability Statistics Report 2021 di Edgescan, del resto, racconta che il 50% delle vulnerabilità rilevate nelle applicazioni è di livello “high” o “critical”, mentre queste criticità colpisce ben il 32% dei software esposti su Internet e, quindi, più facilmente attaccabili.
Le vulnerabilità, lo sappiamo bene, sono la porta d’ingresso prediletta per i cyber attacchi ed è per questo che il vulnerability managament è considerato l’attività centrale in qualsiasi strategia di protezione. Ma così come si evolve tutta la cyber security, spesso rimettendo in discussione dogmi che si credevano inamovibili (pensiamo alle password, che per quanto “sicure”, oggi, non ci appaiono più così sicure), così anche il vulnerability management pare avere bisogno di una piccola rivoluzione.
Una rivoluzione che parte dal suo elemento fondante: la classificazione delle vulnerabilità.
Perché la gestione delle vulnerabilità è la vera arma segreta della cyber security
Indice degli argomenti
Se la classificazione è inadeguata
Oggi, in qualsiasi strategia di vulnerability management, si seguono quattro passaggi fondamentali: scansione, prioritizzazione delle vulnerabilità rilevate, mitigazione e monitoraggio. Si tratta di un modello semplice ed efficace, per lo meno fino a quando il sistema di classificazione delle vulnerabilità è attendibile.
Pensateci un secondo: e se, oggi, questo non fosse più sufficiente? I processi di vulnerability management, in un sol colpo, diventerebbero inadeguati, inficiando in buona parte l’efficacia di questa attività così importante.
Il problema del framework CVSS
Al momento, la stragrande maggioranza dei tool collegati al vulnerability managament si rifà al sistema di classificazione CVSS (Common Vulnerability Scoring System). Si tratta di un framework ovviamente ben collaudato, la cui prima versione risale al 2005 e alla quale hanno fatto seguito diversi aggiornamenti. L’ultimo, la versione 3.1, è del 2019. Il CVSS, per quanti non lo sapessero, semplificando, si basa sul principio di valutare il danno che verrebbe causato da una vulnerabilità nel caso in cui fosse sfruttata (exploiting). La valutazione viene poi espressa in un punteggio finale e di solito è applicata alle vulnerabilità inserite proprio nel National Vulnerability Database. Il CVSS, insomma, dipende moltissimo dal NVD e soprattutto dalla rapidità con cui questo inserisce nuove vulnerabilità.
Non serve sottolineare, a questo punto, quanto sia critico il concetto di “rapidità” nel mondo del vulnerability management. Un bellissimo studio del 2019, pubblicato da Jukka Ruohonen su Applied Computing and Informatics, analizza proprio il ritardo con cui si classificano le vulnerabilità col CVSS. E i risultati non sono proprio incoraggianti: sebbene circa la metà delle vulnerabilità venga classificata entro un giorno, l’altra metà ha delle tempistiche fin troppo variabili. Arrivando, in alcuni casi, anche a 18 anni prima di ricevere il punteggio.
Questa criticità, a cascata, ne porta in dote un’altra: senza punteggio non è possibile prioritizzare una vulnerabilità, oppure si è costretti a farlo in modo non omogeneo.
Oppure, con tool e pratiche inadeguate, la vulnerabilità non viene proprio considerata, indipendentemente dal fatto che potenzialmente possa essere anche grave.
Non è solo questione di gravità
C’è, poi, il problema dell’applicabilità. La classificazione CVSS, come detto, ci può dare notizie sull’impatto che l’exploiting di una vulnerabilità può avere, ma ben poco sulla facilità con cui questo exploiting possono essere fatto. E dunque, per esempio, un punteggio di 6.5 viene considerato come “moderato” da buona parte dei sistemi di vulnerability management, ma una vulnerabilità di questo livello potrebbe essere anche molto semplice da sfruttare. A quel punto, un’azienda che segue un rigido processo di vulnerabilityh management potrebe, in realtà, trovarsi esposta a una vulnerabilità vecchia di anni, o che non si è preferito mitigare perché considerata poco pericolosa.
C’è, infine, il problema dell’aggiornamento, perché l’impatto di una vulnerabilità cambia col tempo. Per esempio, più una vulnerabilità è nota e più sono alte le probabilità che questa venga mitigata, ma al tempo stesso maggiori sono gli strumenti con cui può essere sfruttata. E questo, nel processo di prioritizzazione, andrebbe considerato. Al contrario, ci sono vulnerabilità che col passare del tempo perdono effettivamente di importanza, ma mantenendo il medesimo punteggio concorrono a creare una massa critica di lavoro nel processo di mitigazione, mentre la prioritizzazione dovrebbe magari favorirne altre.
Dobbiamo forse abbandonare la classificazione CVSS? Assolutamente no, perché continua a rimanere un eccellente sistema di valutazione delle vulnerabilità. Tuttavia, non può più essere considerato l’unico parametro su cui basare le valutazioni per un vulnerability management.
Vulnerability management: il caso dell’IoT
È diventato piuttosto famoso, negli addetti al settore, un ottimo articolo del CERT del Software Engineering Institute della Carnegie Mellon University, col quale si valutava il CVSS nel settore dell’Internet of Things. La prima delle due conclusioni è che il CVSS non si adatta molto bene all’IoT e, in genere, alla cyber sicurezza fisica.
Il secondo, ancora più interessante, è che non si dovrebbe usare il punteggio CVSS per comparare vulnerabilità senza contesto. E per risolvere il problema si dovrebbero valutare innanzitutto le altre metriche fornite dal CVSS stesso. Metriche che, al contrario, oggi, non sono considerate da alcuni dei principali tool di vulnerability management.
Valutare le vulnerabilità in un contesto
C’è poi un discorso legato a una valutazione più organica di una vulnerabilità, che includa ma non si limiti al CVSS. Negli ultimi anni abbiamo imparato a utilizzare e gestire sempre più sorgenti di dati per la threat intelligence, ma le abbiamo veicolate verso un’unica direzione: quella, appunto, di valutare le minacce. E le metriche relative alle vulnerabilità rappresentano, nella maggior parte dei casi, una di queste sorgenti.
Negli ultimi tempi, invece, si sta tentando di sfruttare la threat intelligence per valutare e rivalutare proprio le vulnerabilità. Creare, cioè, quel contesto dinamico nel quale una vulnerabilità 6.5 un giorno può avere una bassa priorità e il giorno successivo, in base a IoC e altre informazioni, pescate a piene mani anche dal Dark Web, può avere una priorità elevatissima.
Il percorso, in questo senso, è ancora agli inizi, ma tecnologie quali il machine learning e il mining selettivo di informazioni si stanno dimostrando preziose proprio nel rendere più dinamiche le valutazioni sulle vulnerabilità. E di questo, ovviamente, ne beneficeranno prima di tutto il vulnerability management e la cyber security in toto.