Vulnerability assessment e penetration test: che differenza c’è?

Nell’ottica della predisposizione di un sistema di cyber-security a livello aziendale, il primo passo è ricorrere a due strumenti specifici: vulnerability assessment e penetration test. Entrambi fanno parte di quella attività di auditing che consente di migliorare il livello di sicurezza delle infrastrutture IT aziendali, ma non sono la stessa cosa. Proviamo a definire quali sono le differenze a livello operativo e a quali esigenze rispondono.

Vulnerability assessment: caccia ai punti deboli

Da un punto di vista tecnico, il processo di vulnerability assessment può essere descritto come una scansione di tutti i dispositivi, i servizi e i sistemi presenti all’interno dell’azienda. L’attività richiede l’uso di strumenti di scansione automatizzati e una fase di valutazione affidata invece a esperti del settore, che individueranno anche gli strumenti e gli accorgimenti necessari per correggere le eventuali vulnerabilità. Nel dettaglio, un processo di vulnerability assessment prende in considerazione aspetti come la presenza di falle di sicurezza che consentono modalità di attacco conosciute, come SQL Injection o Cross-Site-Scripting. Queste possono derivare dalla presenza di bug a livello software, risolvibili facilmente attraverso l’applicazione degli aggiornamenti appropriati, o da impostazioni inadeguate.

La visibilità della rete

Uno degli aspetti più “spinosi” in tema di vulnerability assessment è quello relativo alla definizione di perimetro. In uno scenario in cui questo è ormai estremamente ampio, il rischio che una vulnerabilità possa passare inosservata è estremamente elevato. In particolare, l’attenzione si deve focalizzare sul settore delle applicazioni cloud, che spesso vengono considerate “esterne” al perimetro aziendale, e ai dispositivi della Internet of Things (IoT), sempre più diffusi anche nei settori industriali e (ancora una volta) soggetti al rischio di essere “dimenticati” nella valutazione delle vulnerabilità.

Altro tema è quello della presenza di dispositivi legacy (obsoleti – ndr), per i quali la gestione delle vulnerabilità richiede strumenti specifici come il Virtual Patching. L’analisi non si limita all’aspetto squisitamente tecnico, ma comprende anche le policy e le procedure all’interno dell’azienda, comprese quelle relative alla gestione dell’accesso degli utenti a documenti e servizi.

Penetration test: la prova del nove

Se il processo di vulnerability assessment consente di “fotografare” la situazione attuale e individuare sia le criticità presenti, sia gli strumenti più adeguati a proteggere i sistemi, il penetration test permette di mettere alla prova i sistemi di sicurezza attraverso una simulazione di un attacco “reale”. In altre parole, i pentester sono professionisti della sicurezza che interpretano il ruolo dei “cattivi” per mettere alla prova i sistemi di sicurezza dell’azienda.

Le modalità e i limiti cui sono sottoposti vengono solitamente concordati in anticipo, ma di solito si tende a lasciargli la massima libertà d’azione, consentendogli per esempio di utilizzare anche attacchi “fisici”, come l’effrazione dei locali dell’azienda. Una maggiore libertà d’azione, in questo senso, avvicina la simulazione a quanto potrebbe realmente accadere.

Il fattore fisico e il fattore umano

Uno degli elementi che individua il penetration test come una verifica più “profonda” del livello di sicurezza dell’azienda è proprio relativo a quei settori che l’attività di vulnerability assessment non può coprire. Oltre alla già citata sicurezza fisica dei sistemi (è possibile che un hacker si introduca nell’edificio e rubi un intero hard disk?), rientra in questo ambito il cosiddetto fattore umano.

Il tema, qui è quello degli attacchi basati su tecniche di ingegneria sociale, cioè quelli che fanno leva sull’emotività, l’ingenuità o l’impreparazione degli impiegati. Non è raro, infatti, che i cyber-criminali utilizzino attacchi mirati come e-mail di phishing dirette a un dipendente dell’azienda o che cerchino di garantirsi un accesso ai sistemi informatici, mettendo in campo semplici imbrogli e inganni. Ad esempio, impersonando un responsabile dell’amministrazione IT per convincere l’impiegato a fornire le credenziali di accesso a un servizio o a installare un malware spacciandolo per un aggiornamento indispensabile. Insomma: con il penetration test è possibile mettere alla prova anche elementi non squisitamente tecnici, ma comunque rilevanti.