Skip to main content

La mitigazione del rischio è il fulcro del processo di gestione delle vulnerabilità. Sebbene la rimedizione rimanga sempre un obiettivo valido, non si può eliminare completamente il rischio, indipendentemente da quanto sembrino solide le difese del sistema. Inoltre, la principale fonte di vulnerabilità nelle applicazioni software proviene dall’interno, dal codice stesso.

In questo articolo spiegherò i passaggi coinvolti nella gestione delle vulnerabilità e come viene utilizzata per gestire, mitigare e correggere i rischi informatici.

Perché è importante il processo di gestione delle vulnerabilità?

In Code Complete, Steve McConnell afferma che ci sono circa 15 - 50 errori o bug ogni 1000 righe di codice consegnato. Tuttavia, McConnell ha osservato che l'applicazione mission-critical della NASA, il software dello Space Shuttle, non aveva difetti di codice. Ma questo risultato sorprendente è stato raggiunto al costo di migliaia di dollari per riga di codice!

Want more from The CTO Club?

Create a free account to finish this piece and join a community of CTOs and engineering leaders sharing real-world frameworks, tools, and insights for designing, deploying, and scaling AI-driven technology.

This field is for validation purposes and should be left unchanged.
Name*

Inutile dire che questo costo è semplicemente troppo proibitivo per la maggior parte delle aziende. Inoltre, la maggior parte di esse non invia navicelle nello spazio mettendo letteralmente a rischio la vita degli astronauti. La gestione delle vulnerabilità rappresenta quindi un obiettivo più realistico per le imprese comuni.

Come processo, la gestione delle vulnerabilità comprende l’identificazione, la valutazione e la prioritizzazione delle vulnerabilità di sicurezza su sistemi, carichi di lavoro ed endpoint. Una volta classificate le vulnerabilità, il processo solitamente si concentra su rimedizione, reportistica e risoluzione delle minacce individuate in modo soddisfacente.

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 differenti della gestione delle vulnerabilità nelle pratiche di sicurezza di un’organizzazione.

Un programma di gestione delle vulnerabilità è un approccio strategico e completo per gestire le vulnerabilità in tutto il software dell’infrastruttura IT e nei sistemi di un’organizzazione. È un concetto ad un livello superiore che comprende vari elementi, incluse politiche, procedure, strumenti e risorse, finalizzati a ridurre il rischio complessivo rappresentato dalle vulnerabilità.

Un programma di gestione delle vulnerabilità in genere comprende i seguenti componenti:

  • Valutazioni delle vulnerabilità: Scansione regolare di sistemi, applicazioni e reti per identificare potenziali vulnerabilità.
  • Prioritizzazione del rischio: Valutazione e ordinamento delle vulnerabilità in base alla loro gravità e al potenziale impatto sull’organizzazione.
  • Gestione delle patch: Sviluppo di processi per applicare patch e aggiornamenti di sicurezza per mitigare le vulnerabilità individuate (spesso facilitato dall’uso di strumenti di testing della sicurezza).
  • Intelligence sulle minacce: Integrazione di informazioni sulle minacce per comprendere le ultime vulnerabilità e i possibili vettori di attacco.
  • Reportistica e metriche: Creazione di report e metriche per monitorare l’efficacia degli sforzi di gestione delle vulnerabilità.
  • Responsabilità e ruoli: Definizione chiara delle responsabilità e dei 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 passo passo intraprese nella gestione di una singola vulnerabilità o di un insieme di vulnerabilità. Il processo comporta l’esecuzione di compiti seguendo un approccio strutturato per gestire le vulnerabilità in modo efficace.

Il processo di gestione delle vulnerabilità solitamente include le seguenti fasi:

  • Identificazione: Questa fase riguarda la scoperta e la catalogazione delle vulnerabilità tramite vari metodi, come la scansione delle vulnerabilità, valutazioni manuali o penetration testing.
  • Valutazione: Una volta identificate, le vulnerabilità vengono valutate per determinarne la gravità e il potenziale impatto sugli asset e sulle operazioni dell’organizzazione.
  • Rimedizione: In questa fase, l’organizzazione interviene per risolvere le vulnerabilità individuate. Ciò può comportare l’applicazione di patch di sicurezza, modifiche alla configurazione o l’implementazione di soluzioni temporanee.
  • Verifica: Dopo l’attuazione delle misure di rimedizione, l’organizzazione verifica se le vulnerabilità sono state effettivamente risolte e mitigate.
  • Reportistica: Durante tutto il processo, la documentazione e la reportistica sono fondamentali per monitorare i progressi, mantenere la conformità e comunicare con gli stakeholder.

In sintesi, un programma di gestione delle vulnerabilità è una strategia globale che comprende vari elementi per gestire le vulnerabilità in modo efficace all’interno di un’organizzazione. Il processo di gestione delle vulnerabilità, invece, è una serie specifica di passaggi e azioni intraprese per identificare, valutare e rimedire le singole vulnerabilità come parte del programma più ampio. Il processo è parte integrante del programma e contribuisce al suo successo complessivo.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

This field is for validation purposes and should be left unchanged.
Name*

Le cinque fasi del processo di gestione delle vulnerabilità

A differenza della valutazione delle vulnerabilità, che rappresenta un evento singolo, la gestione delle vulnerabilità è un processo continuo e costante. Questi sono i passaggi da seguire in un ciclo di vita della gestione delle vulnerabilità.

Passaggio 1: Identificazione delle Vulnerabilità

Questa fase ruota attorno all'identificazione e classificazione delle vulnerabilità. Le vulnerabilità sono generalmente classificate utilizzando il Common Vulnerability Scoring System (CVSS).

Il ruolo del CVSS è più rilevante nella seconda fase; tuttavia, ciò che assume maggiore importanza in questo momento è la scansione delle vulnerabilità. La scansione delle vulnerabilità viene spesso eseguita come parte di un test di penetrazione da parte di un pentester o di un team di sicurezza specializzato in penetration tester.

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.

Genera un inventario di tutti gli asset IT disponibili nel sistema, in particolare quelli connessi attivamente alla rete dell'organizzazione. Questi tipicamente includono firewall, server, sistemi operativi, container, macchine virtuali, router, stampanti, laptop, desktop e switch.

Analizzano anche endpoint come porte aperte, dispositivi IoT, configurazioni di sistema, software installati, applicazioni di terze parti e strutture del file system.

Poiché gli scanner di vulnerabilità eseguono scansioni attraverso la rete di un'organizzazione alla ricerca di vulnerabilità, il potenziale di interrompere il sistema o i suoi elementi è elevato. Perciò, gli hacker etici solitamente perfezionano i loro metodi per tener conto di questo fattore durante i test di penetrazione. Di conseguenza, possono escludere sistemi suscettibili a comportamenti instabili o imprevedibili, oppure adattare i loro metodi per risultare meno invasivi. Ad esempio, se la larghezza di banda della rete costituisce un problema, possono decidere di eseguire le scansioni nei momenti di minor traffico aziendale, quando la banda non è limitata. 

Le soluzioni di gestione delle vulnerabilità sono anche abili nel raccogliere continuamente dati dai sistemi tramite agenti endpoint. Nel corso del loro sviluppo, sono diventate anche più agili; quindi eseguono la scansione di un nuovo sistema o dispositivo immediatamente dopo la sua connessione alla rete.

Ma la sola scansione dei sistemi non è l'obiettivo principale di questa fase. 

In generale, la sicurezza di sistema e di rete di un'organizzazione viene rafforzata dalla mappa degli asset IT creata in questa fase. Grazie a questa attività di rilevamento, l'organizzazione può facilmente determinare quali dispositivi sono protetti, quali componenti non lo sono e come si possono accedere potenzialmente agli endpoint di sistema.

Questa fase è fondamentale perché aiuta 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 che saranno impiegate nella fase successiva del processo di gestione delle vulnerabilità.

Garantire un'archiviazione sicura dei dati è fondamentale nella gestione delle vulnerabilità. Un modo per ottenerlo è utilizzare un software di gestione dei database di alto livello.

Passaggio 2: Valutazione delle Vulnerabilità

Dopo aver scoperto le vulnerabilità, il passo successivo è valutare le vulnerabilità identificate per il loro grado di rischio. Nel passaggio 1 ho menzionato brevemente il CVSS e come viene utilizzato come sistema di classificazione per le vulnerabilità informatiche.

Il CVSS è uno standard libero e aperto utilizzato per comunicare la gravità delle vulnerabilità. Fornisce un punteggio da 0,0 a 10,0. Per integrare la valutazione delle vulnerabilità, il National Vulnerability Database (NVD) include una valutazione della gravità per i punteggi CVSS, come indicato nella tabella qui sotto.

Punteggio CVSSValutazione Gravità
0.0Nessuna
0.1 - 3.9Bassa
4.0 - 6.9Media
7.0 - 8.9Alta
9.0 - 10.0Critica

Questi punteggi comunicano alle organizzazioni il rischio posto alle loro infrastrutture da ciascuna vulnerabilità. Di conseguenza, le organizzazioni sono in grado di dare priorità alle vulnerabilità e minacce su cui concentrarsi. Questa valutazione informa anche la strategia di gestione del rischio e le attività di rimedio dell'organizzazione.

Sebbene gli scanner di vulnerabilità e i punteggi CVSS siano strumenti eccellenti, potrebbero non offrire sempre una visione completa dei rischi ai quali un'organizzazione è veramente esposta.

Questo accade perché questi punteggi di valutazione predefiniti non offrono sempre la miglior comprensione sulle minacce specifiche che la tua azienda affronta, a causa del suo peculiare profilo di rischio. Sebbene strumenti intelligenti di gestione delle vulnerabilità possano dare priorità ai rischi, potrebbero non essere sempre abbastanza articolati da comprendere altri fattori aggiuntivi.

I professionisti della cybersecurity possono fornire un contesto migliore e più completo della tua esposizione al rischio utilizzando l'inventario delle informazioni sulle minacce raccolte. Questi esperti di sicurezza spesso considerano una miriade di fattori come i seguenti per determinare una valutazione del rischio adeguata:

  • Si tratta di una reale vulnerabilità o solo di un falso positivo?
  • Qual è il livello di difficoltà nello sfruttare la vulnerabilità?
  • Questa vulnerabilità può essere sfruttata da remoto?
  • Quanto è facile sfruttare questa vulnerabilità?
  • Esistono exploit pubblicamente disponibili per questa vulnerabilità?
  • Quanti dispositivi sono segnalati con questa vulnerabilità?
  • È una nuova vulnerabilità (quelle più vecchie tendono a rappresentare un rischio maggiore) e sai da quanto tempo è presente nella tua rete?
  • Nel tuo sistema sono presenti politiche, protocolli e controlli di sicurezza per ridurre l’impatto della vulnerabilità nel caso venga sfruttata?
  • Qual è l’impatto sull’intera organizzazione nel caso di successo dello sfruttamento della vulnerabilità?

Fase 3: Rimediare alle Vulnerabilità

Questa fase si concentra sul trattamento e la mitigazione delle vulnerabilità scoperte. Vengono implementate diverse strategie per dare priorità ed eliminare le vulnerabilità sulla base del livello di rischio che rappresentano per l’azienda.

Patch

L’applicazione delle patch è spesso la soluzione più immediata che risolve una grande parte delle vulnerabilità riscontrate nei software. Infatti, la maggior parte delle violazioni della cybersecurity sono dovute proprio a software non aggiornati con le ultime patch. Pertanto, è fondamentale adottare un sistema di gestione delle patch che garantisca l’aggiornamento dei sistemi operativi e dei software di terze parti.

Tuttavia, potrebbero esserci occasioni in cui un fornitore non abbia ancora rilasciato una patch per una particolare vulnerabilità. In questo caso, l'organizzazione dovrebbe passare a misure di mitigazione per ridurre l’impatto di una potenziale exploitazione della vulnerabilità.

Queste misure possono includere la limitazione dei permessi utente per certe attività oppure—in base alla gravità—l’isolamento o il blocco dei dispositivi compromessi dalla rete.

Dove vengono affrontate minacce e vulnerabilità, occorre stabilire controlli e dimostrare il progresso verso una postura di sicurezza più solida all’interno dell’organizzazione.

Accettazione

L’accettazione è anch’essa una strategia controintuitiva di gestione delle vulnerabilità. Consiste nel non compiere alcuna azione di fronte alle vulnerabilità scoperte. Questa strategia ha senso per vulnerabilità a basso rischio che costituiscono una minaccia minima per l’azienda, soprattutto quando il costo per correggere la vulnerabilità supera quello che si potrebbe subire nel caso venga sfruttata. 

Anche quando si devono correggere soltanto vulnerabilità poco rilevanti, le organizzazioni dovrebbero comunque puntare a ottimizzare le metriche di vulnerabilità rilevate. Di conseguenza, più il sistema di gestione delle vulnerabilità è orientato al miglioramento di tali metriche, più si riduce la superficie d’attacco dell’organizzazione.

Inoltre, questo processo di remediation può costituire una base di riferimento per il risk management che l’organizzazione potrà ricalibrare costantemente, fissando obiettivi nuovi e più ambiziosi.

Fase 4: Verificare le Vulnerabilità

Questa fase garantisce che le minacce presenti nel sistema siano state eliminate tramite audit di controllo successivi. Dovrebbe inoltre essere utilizzato il penetration testing per verificare l’efficacia delle misure di remediation adottate. Inoltre, permette anche di accertarsi che nel processo non vengano accidentalmente introdotte nuove vulnerabilità.

Fase 5: Segnalare le Vulnerabilità

È importante documentare non solo le vulnerabilità scoperte, ma anche un piano di sicurezza che descriva le vulnerabilità note e consenta di monitorare le attività sospette. Questi report sono fondamentali perché lasciano traccia e aiutano le aziende a migliorare la propria risposta in materia di sicurezza in futuro.

Queste relazioni sono inoltre importanti per condividerle con il top management e durante gli audit di conformità. Questo perché dimostrare e documentare vulnerabilità o problemi risolti rappresenta una dimostrazione di responsabilità. Questa responsabilità è spesso richiesta per mantenere gli standard di conformità.

Fortunatamente, esistono software intelligenti e sofisticati per la gestione delle vulnerabilità e strumenti di penetration test per applicazioni web che possono generare automaticamente questi report, così non sarà necessario farlo manualmente.

L’importanza della Gestione delle Vulnerabilità

I processi di gestione delle vulnerabilità sono fondamentali se si desidera mantenere la propria rete sicura riducendo al minimo la presenza di minacce ed exploit. 

Per saperne di più sulla gestione delle vulnerabilità e delle minacce, esplora gli altri articoli del nostro blog oppure puoi iscriverti alla newsletter di The QA Lead.