Prima di definire un Vulnerability Management Process occorre comprendere che cos’è una vulnerabilità informatica.
Lo standard ISO 27002 definisce una vulnerabilità come “una debolezza di un asset o di un gruppo di asset che può essere sfruttato da una o più minacce”.
In presenza di vulnerabilità, spesso ineliminabili, è necessario predisporre dei piani di gestione delle vulnerabilità.
Un vulnerability management process è un processo nel quale sono identificate le vulnerabilità dei sistemi informativi con relativa valutazione del rischio.
Questa valutazione porta alla correzione delle vulnerabilità, quando possibile, o all’accettazione formale del rischio da parte della direzione di un’organizzazione.
Ad esempio, se un rischio è molto basso e ha un impatto molto basso, con un elevato costo di riduzione, l’organizzazione potrebbe decidere di accettare il rischio.
Il termine gestione delle vulnerabilità viene spesso confuso con il vulnerability scanning.
La scansione delle vulnerabilità consiste nell’utilizzo di software per identificare le vulnerabilità nelle reti e nei sistemi, mentre la gestione delle vulnerabilità è il processo che si occupa del relativo controllo, tenendo conto anche di altri aspetti come ad esempio l’accettazione del rischio.
In un precedente articolo abbiamo trattato le categorie più comuni di vulnerabilità di sicurezza, come ad esempio il Cross-Site Scripting (XSS) e il Broken Access Control, che sono presenti nella lista OWASP Top 10.
I vulnerability assessment e i penetration test sono la prima risposta alle minacce informatiche che sfruttano le vulnerabilità di sicurezza, ma per molte aziende la creazione di un piano di vulnerability management rappresenta un piano “work in progress” o addirittura non realizzabile.
Indice degli argomenti
Vediamo quali sono le principali difficoltà nella creazione di un efficace vulnerability management process e piano di pentesting:
Esistono però altri controlli di sicurezza che le aziende possono adottare in autonomia e inserire, ad esempio, nel ciclo di vita dello sviluppo software (SDLC) per trovare e correggere le vulnerabilità prima della messa in produzione il codice.
Le tecniche di seguito descritte fanno parte dei cosiddetti principi di “Secure Software Development”.
Si tratta di processi di sviluppo software per creare un ciclo di vita di sviluppo sicuro, il cosiddetto Secure Development Lifecycle (SDL):
La prevenzione delle vulnerabilità è senza alcun dubbio la strada migliore da seguire.
L’uso combinato di queste tecniche rappresenta un’ottima soluzione per ridurre al minimo i rischi.
Infatti, il solo penetration test non può assicurare la sicurezza delle applicazioni, ma solo aiutare a rilevare le criticità.
Ad esempio, il pentesting può aiutare a convalidare tutti i findings ottenuti dalle altre analisi.
Per rimanere aggiornato sull’argomento, scopri come BIT4LAW opera in ambito di IT audit e pentesting e quali servizi offrire nel campo della security.