Il Vulnerability Management è il processo attraverso cui un'azienda identifica, analizza, classifica e gestisce le vulnerabilità presenti all'interno della propria infrastruttura IT. Server, workstation, dispositivi di rete, applicazioni web, database, sistemi operativi, apparati di sicurezza e componenti cloud possono presentare vulnerabilità tecniche che, se non individuate e corrette, possono essere sfruttate da un attaccante per ottenere accesso ai sistemi, aumentare i privilegi, eseguire codice arbitrario o compromettere i dati aziendali. Gestire le vulnerabilità non significa quindi semplicemente eseguire periodicamente una scansione, ma creare un processo continuo nel quale asset, software, configurazioni, vulnerabilità, livelli di esposizione e attività di remediation vengono correlati per stabilire quali problemi devono essere risolti prima e con quali modalità.

Che cos'è una vulnerabilità

Una vulnerabilità è una debolezza presente in un sistema informatico che può essere sfruttata in determinate condizioni per compromettere riservatezza, integrità o disponibilità delle informazioni. Può derivare da un errore di programmazione, da una versione software non aggiornata, da una configurazione non sicura, da un servizio esposto inutilmente sulla rete o dall'utilizzo di protocolli e componenti tecnologici obsoleti.

Non tutte le vulnerabilità presentano lo stesso livello di rischio. Una vulnerabilità critica presente su un server esposto direttamente a Internet e utilizzato per pubblicare un'applicazione aziendale può avere una priorità molto superiore rispetto alla stessa vulnerabilità presente su una workstation isolata e non raggiungibile dall'esterno. Per questo motivo il Vulnerability Management deve combinare la gravità tecnica della vulnerabilità con il contesto nel quale l'asset è utilizzato.

Vulnerability Management e inventario degli asset

Il primo elemento tecnico necessario per gestire correttamente le vulnerabilità è conoscere gli asset presenti nell'ambiente. Non è possibile proteggere efficacemente un'infrastruttura se non si dispone di un inventario aggiornato di server, PC, notebook, macchine virtuali, firewall, switch, access point, database, applicazioni e servizi cloud.

L'inventario deve essere sufficientemente dettagliato da permettere di associare a ogni sistema informazioni come sistema operativo, versione, indirizzo IP, hostname, software installato, servizi attivi, esposizione di rete e proprietario dell'asset. L'integrazione tra asset inventory e Vulnerability Management permette di trasformare una semplice segnalazione tecnica in un'informazione contestualizzata: sapere che una vulnerabilità esiste è importante, ma sapere esattamente quale server è interessato, quale servizio espone e quale applicazione dipende da quel sistema permette di stabilire concretamente come intervenire.

Scansione delle vulnerabilità

La vulnerability scanning rappresenta una delle principali attività tecniche del processo. Gli strumenti di scansione analizzano sistemi e servizi alla ricerca di versioni software vulnerabili, configurazioni non sicure, protocolli obsoleti, porte esposte e condizioni associate a vulnerabilità conosciute.

La scansione può essere eseguita dall'interno della rete aziendale oppure da una prospettiva esterna. Una scansione interna permette di analizzare ciò che un attaccante potrebbe raggiungere dopo aver ottenuto accesso alla rete, mentre una scansione esterna permette di verificare l'esposizione dei servizi pubblicati su Internet. Le due prospettive sono complementari perché una vulnerabilità non deve essere valutata esclusivamente in base alla sua presenza, ma anche in relazione alla possibilità concreta di raggiungere il sistema vulnerabile.

Vulnerabilità e CVE

Molte vulnerabilità pubblicamente conosciute vengono identificate attraverso un identificativo CVE, Common Vulnerabilities and Exposures. Il riferimento CVE permette di associare una vulnerabilità a una specifica descrizione e facilita la correlazione tra prodotti, versioni software e strumenti di sicurezza.

Il semplice valore CVE non è però sufficiente per determinare la priorità di intervento. La valutazione deve tenere conto anche della gravità, dell'esposizione del sistema, della presenza di exploit, della criticità dell'asset e delle possibili conseguenze di una compromissione. Una vulnerabilità con un punteggio tecnico elevato non necessariamente rappresenta il rischio più urgente dell'intera infrastruttura se il sistema interessato è completamente isolato e non espone servizi rilevanti.

CVSS e valutazione del rischio

Il CVSS, Common Vulnerability Scoring System, viene utilizzato per descrivere tecnicamente la severità di una vulnerabilità attraverso un punteggio. I parametri considerati includono elementi come vettore di attacco, complessità dell'attacco, privilegi richiesti, interazione dell'utente e impatto su confidenzialità, integrità e disponibilità.

Il punteggio CVSS è un riferimento importante, ma non deve essere confuso con una valutazione completa del rischio aziendale. Il rischio effettivo dipende anche dal contesto. Un server contenente dati sensibili, esposto a Internet e utilizzato da applicazioni critiche deve ricevere una priorità superiore rispetto a un sistema con la stessa vulnerabilità ma con accesso fortemente limitato. Un Vulnerability Management maturo utilizza quindi il CVSS come uno degli elementi della valutazione, integrandolo con informazioni provenienti dall'inventario, dalla rete, dai sistemi di sicurezza e dal contesto operativo.

Prioritizzazione delle vulnerabilità

Quando una scansione identifica centinaia o migliaia di vulnerabilità, correggerle tutte contemporaneamente può essere tecnicamente impossibile. La prioritizzazione diventa quindi una componente fondamentale del processo. Le vulnerabilità presenti su sistemi esposti a Internet, su server critici o su dispositivi che gestiscono dati sensibili devono generalmente ricevere una maggiore attenzione.

Anche la disponibilità di exploit pubblici può modificare significativamente la priorità. Una vulnerabilità teoricamente grave ma difficilmente sfruttabile può avere un rischio operativo inferiore rispetto a una vulnerabilità per la quale esiste già un exploit utilizzabile. La priorità dovrebbe quindi essere determinata correlando severità, esposizione, criticità dell'asset, probabilità di sfruttamento e impatto potenziale.

Remediation e patching

Dopo l'identificazione della vulnerabilità è necessario stabilire come eliminarla o ridurne l'esposizione. Nella maggior parte dei casi la soluzione consiste nell'installazione di una patch o nell'aggiornamento del software a una versione corretta. Tuttavia, il patching non è sempre immediatamente possibile.

Un'applicazione aziendale potrebbe dipendere da una specifica versione di una libreria oppure un aggiornamento del sistema operativo potrebbe richiedere test di compatibilità prima della distribuzione. In questi casi è possibile adottare temporaneamente misure compensative, come disabilitare un servizio vulnerabile, limitare l'accesso attraverso il firewall, modificare una configurazione, isolare il sistema o ridurre l'esposizione del componente interessato. La remediation deve quindi essere considerata come un processo tecnico e non semplicemente come l'esecuzione automatica di un aggiornamento.

Vulnerability Management e Patch Management

Vulnerability Management e Patch Management sono strettamente collegati ma non sono la stessa cosa. Il Patch Management si concentra sulla gestione e distribuzione degli aggiornamenti, mentre il Vulnerability Management ha un perimetro più ampio e comprende identificazione, valutazione, prioritizzazione, remediation e verifica delle vulnerabilità.

Una vulnerabilità può infatti essere gestita anche senza installare immediatamente una patch. Se un'applicazione non può essere aggiornata per motivi di compatibilità, l'azienda può ridurne l'esposizione attraverso segmentazione di rete, firewall, controllo degli accessi o disabilitazione di funzionalità vulnerabili. Il Patch Management rappresenta quindi uno degli strumenti utilizzati all'interno di una strategia più ampia di gestione delle vulnerabilità.

Vulnerability Management nelle applicazioni web

Le applicazioni web richiedono un'attenzione specifica perché possono esporre direttamente funzionalità aziendali attraverso Internet. Vulnerabilità come SQL Injection, Cross-Site Scripting, Server-Side Request Forgery, autenticazione non corretta, controllo insufficiente degli accessi e gestione non sicura delle sessioni possono permettere a un attaccante di compromettere dati e funzionalità applicative.

La gestione delle vulnerabilità web deve comprendere sia l'analisi automatizzata sia attività tecniche più approfondite. Gli scanner possono identificare numerose condizioni note, ma non sempre sono in grado di comprendere la logica applicativa o individuare vulnerabilità che dipendono da specifiche combinazioni di funzionalità. Per questo motivo il Vulnerability Management delle applicazioni deve essere integrato con secure coding, code review, test di sicurezza e, quando necessario, penetration test.

Vulnerabilità dei sistemi operativi e dei servizi

Server Windows e Linux, hypervisor, database e servizi di rete possono presentare vulnerabilità legate a versioni obsolete, configurazioni errate o componenti non aggiornati. Anche un sistema correttamente patchato può mantenere una superficie di attacco significativa se espone servizi non necessari o utilizza configurazioni non adeguate.

La scansione deve quindi essere correlata con le informazioni ottenute dal sistema operativo e dai dispositivi di rete. Porte aperte, servizi attivi, versioni software e configurazioni possono fornire informazioni essenziali per comprendere l'effettiva esposizione di un asset. Un sistema di Vulnerability Management efficace non si limita quindi a verificare la presenza di una versione vulnerabile, ma analizza anche come quella vulnerabilità può essere raggiunta e sfruttata nell'architettura reale.

Vulnerabilità dei dispositivi di rete

Firewall, router, switch, access point, controller e altri dispositivi infrastrutturali devono essere inclusi nel processo. Firmware obsoleti, interfacce amministrative esposte, protocolli insicuri e configurazioni non corrette possono trasformare un dispositivo di rete in un punto di ingresso o in un elemento utilizzabile per muoversi all'interno dell'infrastruttura.

La gestione deve comprendere aggiornamenti firmware, controllo delle interfacce di amministrazione, verifica dei protocolli utilizzati e limitazione dell'accesso ai servizi di gestione. L'integrazione con l'inventario degli asset permette inoltre di individuare rapidamente quali dispositivi utilizzano versioni firmware vulnerabili e pianificare gli interventi.

Vulnerability Management e cloud

Gli ambienti cloud introducono ulteriori elementi da considerare perché le vulnerabilità non riguardano esclusivamente i sistemi operativi delle macchine virtuali. Configurazioni errate di storage, identità, gruppi di sicurezza, firewall virtuali, API e servizi gestiti possono creare condizioni di rischio anche quando il software sottostante è aggiornato.

Il processo deve quindi includere sia vulnerability assessment dei workload sia analisi della configurazione dell'ambiente cloud. Una macchina virtuale correttamente patchata ma raggiungibile da Internet attraverso una regola firewall eccessivamente permissiva può rappresentare comunque un rischio significativo. Il contesto infrastrutturale deve quindi essere analizzato insieme alla vulnerabilità tecnica.

Verifica della remediation

La chiusura di una vulnerabilità non dovrebbe essere considerata conclusa semplicemente perché è stata installata una patch. È necessario effettuare una nuova verifica per accertare che il sistema utilizzi effettivamente la versione corretta e che la condizione vulnerabile non sia più presente.

La fase di verifica permette inoltre di individuare situazioni nelle quali la remediation non è stata applicata correttamente, il servizio utilizza ancora una libreria vulnerabile oppure la vulnerabilità dipende da una configurazione che non è stata modificata. Il ciclo tecnico deve quindi comprendere identificazione, valutazione, intervento e successiva validazione.

Vulnerability Management continuo

Le vulnerabilità cambiano continuamente perché vengono pubblicate nuove CVE, vengono scoperte nuove tecniche di sfruttamento e l'infrastruttura aziendale viene modificata attraverso nuovi server, applicazioni, dispositivi e servizi. Una scansione eseguita una sola volta non può quindi garantire una protezione permanente.

Il Vulnerability Management deve essere integrato nei processi operativi dell'IT e collegato all'inventario, al Patch Management, al monitoraggio, alla gestione degli asset e alla sicurezza degli endpoint. Quando viene aggiunto un nuovo server, installata una nuova applicazione o modificata l'esposizione di un servizio, anche la superficie di attacco cambia e deve essere nuovamente analizzata.

L'importanza dell'automazione

L'automazione permette di ridurre il tempo necessario per identificare e gestire le vulnerabilità. Gli strumenti moderni possono eseguire scansioni periodiche, correlare gli asset con le versioni software, assegnare livelli di priorità, generare notifiche e verificare automaticamente la presenza delle vulnerabilità dopo l'applicazione delle patch.

L'automazione non elimina però la necessità dell'analisi tecnica. Una vulnerabilità può richiedere una valutazione manuale per comprendere l'impatto sull'applicazione, verificare eventuali dipendenze o stabilire se una misura compensativa sia sufficiente. L'obiettivo è utilizzare l'automazione per gestire grandi quantità di informazioni lasciando agli amministratori e ai tecnici le decisioni che richiedono conoscenza dell'architettura.

Il Vulnerability Management rappresenta quindi un processo continuo che permette di ridurre la superficie di attacco dell'infrastruttura attraverso una gestione strutturata delle vulnerabilità. L'efficacia non dipende esclusivamente dalla capacità di trovare CVE, ma dalla possibilità di correlare ogni vulnerabilità con l'asset interessato, comprenderne l'esposizione, valutarne il rischio, applicare una remediation adeguata e verificare successivamente che il problema sia realmente risolto. Integrato con inventario IT, Patch Management, hardening, monitoraggio, segmentazione di rete e sicurezza degli endpoint, il Vulnerability Management permette di trasformare la gestione delle vulnerabilità da attività occasionale a processo tecnico permanente, riducendo la probabilità che una debolezza conosciuta possa diventare il punto di ingresso per un attacco informatico.