La mitigazione dei rischi è il fulcro del processo di gestione delle vulnerabilità. Sebbene la bonifica rimanga sempre un obiettivo valido, non è possibile eliminare completamente il rischio, indipendentemente da quanto sembrino fortificate le difese del sistema. Inoltre, la principale fonte di vulnerabilità nelle applicazioni software proviene dall'interno, dal codice stesso.
In questo articolo spiegherò le fasi coinvolte nella gestione delle vulnerabilità e come viene utilizzata per gestire, mitigare e correggere i rischi di sicurezza informatica.
Perché il processo di gestione delle vulnerabilità è importante?
In Code Complete, Steve McConnell afferma che ci sono circa 15 - 50 errori o bug ogni 1000 righe di codice distribuito. McConnell ha tuttavia osservato che l'applicazione mission-critical della NASA, il software dello Space Shuttle, non presentava alcun difetto nel codice. Ma questa straordinaria impresa è stata realizzata al costo di migliaia di dollari per ogni riga di codice!
Inutile dire che questo costo è semplicemente troppo proibitivo per la maggior parte delle aziende. Inoltre, la maggior parte di esse non sta inviando astronavi in orbita, dove le vite degli astronauti sono letteralmente in gioco. La gestione delle vulnerabilità è quindi un obiettivo più raggiungibile per un'azienda comune.
In quanto processo, la gestione delle vulnerabilità comporta l'identificazione, la valutazione e la definizione delle priorità delle vulnerabilità di sicurezza tra sistemi, carichi di lavoro e dispositivi endpoint. Dopo che le vulnerabilità sono state classificate, il processo si addentra in genere nella bonifica, nella generazione di report e nella risoluzione soddisfacente delle minacce individuate.
Qual è la differenza tra un programma di gestione delle vulnerabilità e un processo?
I termini "programma di gestione delle vulnerabilità" e "processo di gestione delle vulnerabilità" sono correlati, ma rappresentano aspetti diversi della gestione delle vulnerabilità nelle pratiche di sicurezza di un'organizzazione.
Un programma di gestione delle vulnerabilità è un approccio completo e strategico alla gestione delle vulnerabilità nel software dell'infrastruttura IT e nei sistemi di un'organizzazione. È un concetto di livello superiore che coinvolge vari elementi, tra cui criteri, procedure, strumenti e risorse, volti a ridurre il rischio complessivo posto dalle vulnerabilità.
Un programma di gestione delle vulnerabilità include in genere i seguenti componenti:
- Valutazioni delle vulnerabilità: eseguire regolarmente la scansione di sistemi, applicazioni e reti per identificare potenziali vulnerabilità.
- Definizione delle priorità dei rischi: valutare e stabilire le priorità delle vulnerabilità in base alla loro gravità e al potenziale impatto sull'organizzazione.
- Gestione delle patch: sviluppare processi per applicare patch e aggiornamenti di sicurezza al fine di mitigare le vulnerabilità identificate (operazione spesso facilitata dagli strumenti di test della sicurezza).
- Informazioni sulle minacce: integrare le informazioni sulle minacce per comprendere le vulnerabilità più recenti e i potenziali vettori di attacco.
- Report e metriche: generare report e metriche per monitorare l'efficacia delle attività di gestione delle vulnerabilità.
- Responsabilità e ruoli: definire chiaramente le responsabilità e i ruoli del personale coinvolto nel processo di gestione delle vulnerabilità.
Il processo di gestione delle vulnerabilità è una parte più specifica e operativa del programma di gestione delle vulnerabilità. Si riferisce alle procedure e alle azioni, fase per fase, adottate per gestire una singola vulnerabilità o un insieme di vulnerabilità. Il processo comporta l'esecuzione di attività e segue un approccio strutturato per gestire efficacemente le vulnerabilità.
Il processo di gestione delle vulnerabilità include in genere le seguenti fasi:
- Identificazione: questa fase comporta la scoperta e la catalogazione delle vulnerabilità attraverso vari metodi, come la scansione delle vulnerabilità, le valutazioni manuali o i test di penetrazione.
- Valutazione: una volta identificate, le vulnerabilità vengono analizzate per determinarne la gravità e il potenziale impatto sulle risorse e sulle operazioni dell'organizzazione.
- Bonifica: in questa fase, l'organizzazione interviene per affrontare le vulnerabilità identificate. Ciò può comportare l'applicazione di patch di sicurezza, modifiche alla configurazione o l'implementazione di soluzioni alternative.
- Verifica: dopo aver adottato le misure di bonifica, l'organizzazione verifica se le vulnerabilità sono state affrontate e mitigate efficacemente.
- Generazione di report: durante tutto il processo, la documentazione e la generazione di report sono fondamentali per monitorare i progressi, mantenere la conformità e comunicare con le parti interessate.
In sintesi, un programma di gestione delle vulnerabilità è una strategia completa che comprende vari elementi per gestire efficacemente le vulnerabilità in un'organizzazione. Il processo di gestione delle vulnerabilità, invece, consiste in una serie specifica di fasi e azioni adottate per identificare, valutare e correggere le singole vulnerabilità nell'ambito del programma più ampio. Il processo è parte integrante del programma e contribuisce al suo successo complessivo.
Le cinque fasi del processo di gestione delle vulnerabilità
A differenza della valutazione delle vulnerabilità, che è un’attività una tantum, la gestione delle vulnerabilità è un processo continuo e costante. Questi sono i passaggi da seguire nel ciclo di vita della gestione delle vulnerabilità.
Passaggio 1: identificazione delle vulnerabilità
Questo passaggio riguarda l’identificazione e la classificazione delle vulnerabilità. Le vulnerabilità vengono generalmente classificate utilizzando il Sistema comune di valutazione delle vulnerabilità (CVSS).
Il ruolo del CVSS è più rilevante nella seconda fase; tuttavia, ciò che assume un ruolo centrale a questo punto è la scansione delle vulnerabilità. La scansione delle vulnerabilità viene spesso eseguita nell’ambito di un’attività di test di penetrazione da parte di un tester di penetrazione o di un team di sicurezza composto da tester di penetrazione.
In questo processo, uno scanner di vulnerabilità è uno strumento automatizzato utilizzato per cercare, identificare e segnalare le vulnerabilità note presenti nell’infrastruttura IT di un’azienda.
Crea un inventario di tutte le risorse IT disponibili nel sistema, in particolare quelle attivamente connesse alla rete dell’organizzazione. Queste includono in genere firewall, server, sistemi operativi, container, macchine virtuali, router, stampanti, laptop, computer desktop e switch.
Inoltre, analizza punti terminali come porte aperte, dispositivi IoT, configurazioni di sistema, software installati, applicazioni di terze parti e strutture dei sistemi di file.
Poiché gli scanner di vulnerabilità eseguono scansioni sulla rete di un’organizzazione alla ricerca di vulnerabilità, il rischio di interrompere il sistema o i suoi componenti è elevato. Pertanto, gli hacker etici generalmente perfezionano i propri metodi per tenerne conto durante il test di penetrazione. Di conseguenza, potrebbero escludere i sistemi soggetti a comportamenti instabili o imprevedibili, oppure adattare i propri metodi per risultare meno invasivi. Ad esempio, se la larghezza di banda della rete rappresenta un problema, possono decidere di eseguire le scansioni di rete al di fuori degli orari di punta, quando la larghezza di banda non è limitata.
Le soluzioni di gestione delle vulnerabilità sono inoltre in grado di raccogliere continuamente dati dai sistemi utilizzando agenti per i punti terminali. Con la loro evoluzione, sono diventate anche più agili; pertanto, analizzano un nuovo sistema o dispositivo immediatamente dopo la sua connessione alla rete.
Tuttavia, la sola scansione dei sistemi non è l’obiettivo principale di questa fase.
Nel complesso, la sicurezza dei sistemi e della rete di un’organizzazione viene rafforzata dalla mappa delle risorse IT creata in questa fase. Grazie a questa attività di rilevamento delle risorse, un’organizzazione può determinare facilmente quali dispositivi sono protetti, quali componenti non lo sono e in che modo è possibile accedere potenzialmente ai punti terminali del sistema.
Questa fase è fondamentale perché contribuisce a determinare la superficie di attacco esposta o vulnerabile allo sfruttamento. Inoltre, le informazioni raccolte dalla soluzione di gestione delle vulnerabilità vengono utilizzate per creare report e metriche di sistema impiegati nel passaggio successivo del processo di gestione delle vulnerabilità.
Garantire l’archiviazione sicura dei dati è fondamentale nella gestione delle vulnerabilità. Un modo per raggiungere questo obiettivo consiste nell’utilizzare software di gestione dei database di alto livello.
Passaggio 2: valutazione delle vulnerabilità
Dopo aver individuato le vulnerabilità, il passaggio successivo consiste nel valutarne il livello di rischio. Nel passaggio 1 ho brevemente menzionato il CVSS e il suo utilizzo come sistema di classificazione delle vulnerabilità di sicurezza informatica.
Il CVSS è uno standard gratuito e aperto utilizzato per comunicare la gravità delle vulnerabilità. Fornisce un punteggio compreso tra 0.0 e 10.0. Per integrare la valutazione delle vulnerabilità, il Database nazionale delle vulnerabilità (NVD) include una classificazione della gravità per i punteggi CVSS, come indicato nella tabella seguente.
| Punteggio CVSS | Classificazione della gravità |
| 0.0 | Nessuna |
| 0.1 - 3.9 | Bassa |
| 4.0 - 6.9 | Media |
| 7.0 - 8.9 | Alta |
| 9.0 - 10.0 | Critica |
Questi punteggi comunicano alle organizzazioni il rischio che ogni vulnerabilità comporta per la loro infrastruttura. Di conseguenza, le organizzazioni possono stabilire le priorità delle vulnerabilità e delle minacce su cui concentrarsi. Questa valutazione contribuisce inoltre a definire la strategia di gestione dei rischi dell’organizzazione e le attività di correzione.
Sebbene gli scanner di vulnerabilità e i punteggi CVSS siano strumenti eccellenti, potrebbero non fornire sempre una visione completa dei rischi a cui è esposta un’organizzazione.
Questo perché questi punteggi di valutazione predefiniti non forniscono sempre una visione ottimale delle minacce che la tua azienda deve affrontare a causa del suo peculiare profilo di rischio. Sebbene gli strumenti intelligenti di gestione delle vulnerabilità possano stabilire le priorità dei rischi, potrebbero non essere sempre abbastanza sofisticati da comprendere altri fattori aggiuntivi.
I professionisti della cybersicurezza possono fornire un contesto più completo e accurato della tua esposizione al rischio utilizzando l'inventario delle informazioni sulle minacce raccolte. Questi professionisti della sicurezza considerano spesso una miriade di fattori come quelli elencati di seguito per determinare una valutazione del rischio adeguata:
- Si tratta di una vulnerabilità reale o semplicemente di un falso positivo?
- Qual è il grado di difficoltà nello sfruttare la vulnerabilità?
- Questa vulnerabilità può essere sfruttata da remoto?
- Quanto è facile sfruttare questa vulnerabilità?
- Esistono exploit pubblicati per questa vulnerabilità?
- Quanti dispositivi risultano affetti da questa vulnerabilità?
- Si tratta di una nuova vulnerabilità (le vulnerabilità più vecchie tendono a comportare un rischio maggiore) e sai da quanto tempo esiste nella tua rete?
- Nella tua infrastruttura sono presenti criteri, protocolli e controlli di sicurezza per mitigare l'impatto della vulnerabilità nel caso in cui venga sfruttata?
- Qual è l'impatto sull'organizzazione nel suo complesso qualora la vulnerabilità venisse sfruttata con successo?
Passaggio 3: Correggere le vulnerabilità
Questo passaggio si concentra sul trattamento e sulla mitigazione delle vulnerabilità individuate. Vengono adottate diverse strategie per stabilire le priorità ed eliminare le vulnerabilità in base al livello di rischio che rappresentano per l'azienda.
Applicazione delle patch
L'applicazione delle patch è spesso la soluzione più semplice per correggere un'ampia parte delle vulnerabilità riscontrate nel software. Infatti, la maggior parte delle violazioni della cybersicurezza è dovuta a software non aggiornato. Pertanto, è fondamentale disporre di un sistema di gestione delle patch che garantisca l'aggiornamento dei sistemi operativi e dei software di terze parti.
Tuttavia, può capitare che un fornitore non abbia ancora rilasciato una patch per una determinata vulnerabilità. In questo caso, le organizzazioni dovrebbero ricorrere a misure di mitigazione per ridurre l'impatto del possibile sfruttamento della vulnerabilità.
Queste misure possono includere la limitazione delle autorizzazioni degli utenti per tali attività oppure, a seconda della gravità, l'isolamento o l'inserimento nella lista nera dei dispositivi interessati, rimuovendoli dalla rete.
Quando le minacce e le vulnerabilità vengono affrontate, è necessario definire controlli e dimostrare i progressi verso un livello di sicurezza più elevato all'interno dell'organizzazione.
Accettazione
L'accettazione è anch'essa una strategia di gestione delle vulnerabilità controintuitiva. Consiste nel non intraprendere alcuna azione rispetto alle vulnerabilità individuate. Questa strategia è sensata per le vulnerabilità a basso rischio che rappresentano minacce minime per l'azienda, soprattutto quando il costo della correzione della vulnerabilità supera il possibile costo derivante dal suo sfruttamento.
Anche quando devono essere corrette solo vulnerabilità innocue, le organizzazioni dovrebbero comunque impegnarsi a ottimizzare le metriche relative alle vulnerabilità segnalate. Di conseguenza, quanto più il sistema di gestione delle vulnerabilità è orientato al miglioramento di tali metriche, tanto più riduce la superficie di attacco dell'organizzazione.
Inoltre, questo processo di correzione può stabilire una base di riferimento per la gestione del rischio che l'organizzazione può ridefinire costantemente con obiettivi nuovi e più ambiziosi.
Passaggio 4: Verificare le vulnerabilità
Questo passaggio garantisce, attraverso audit di verifica, che le minacce presenti nel sistema siano state eliminate. È inoltre opportuno utilizzare i test di penetrazione per verificare l'efficacia delle misure di correzione adottate. Inoltre, garantisce che durante il processo non vengano create inavvertitamente nuove vulnerabilità.
Passaggio 5: Segnalare le vulnerabilità
È importante documentare non solo le vulnerabilità individuate, ma anche un piano di sicurezza che descriva come illustrare le vulnerabilità note e monitorare le attività sospette. Questi report sono fondamentali perché lasciano tracce che aiutano le aziende a migliorare le proprie risposte agli incidenti di sicurezza in futuro.
È inoltre importante condividere questi report con il vertice aziendale e utilizzarli per gli audit di conformità. Infatti, dimostrare e registrare le vulnerabilità e i problemi risolti evidenzia la responsabilità dell'organizzazione. E questa responsabilità è spesso necessaria per mantenere gli standard di conformità.
Fortunatamente, esistono software intelligenti e sofisticati per la gestione delle vulnerabilità e strumenti per i test di penetrazione delle applicazioni web in grado di generare automaticamente questi report, così non dovrai farlo manualmente.
L'importanza della gestione delle vulnerabilità
I processi di gestione delle vulnerabilità sono fondamentali se vuoi mantenere sicura la tua rete riducendo al minimo la presenza di minacce e exploit.
Scopri di più sulla gestione delle vulnerabilità e delle minacce esplorando gli altri articoli sul nostro blog oppure puoi iscriverti alla newsletter di The QA Lead.
