Vulnerability Assessment e Penetration Test: confronto

strumenti per la sicurezza da adottare in coppia

Alberto Delaini - Delaini & Partners

I termini che riguardano la sicurezza sono relativamente recenti, sempre più specifici e qualche volta poco comprensibili per i non esperti. Proviamo a fare chiarezza relativamente ad un paio di aspetti chiave.
Vulnerability Assessment e Penetration Test sono entrambe metodologie di verifica della sicurezza informatica, spesso si applicano nello stesso contesto, ma non devono essere confuse perché svolgono attività differenti con obiettivi finali diversi.

In massima sintesi, possiamo caratterizzarle in questo modo:
– il vulnerability assessment è la ricognizione che identifica potenziali vulnerabilità
– il penetration test è la simulazione di un attacco informatico che ci fa capire quanto e come queste criticità possano essere utilizzate per intenti criminali.

Vulnerability Assessment
Il vulnerability assessment è un approccio sistematico per l’identificazione dei punti deboli in un sistema, una rete, un’applicazione. È basato sostanzialmente su una scansione automatizzata e periodica di reti, dispositivi e applicazioni che consente di attuare un processo di individuazione, revisione, classificazione e assegnazione di priorità alle vulnerabilità, rilevate prima che possano essere sfruttate da reali malintenzionati.
La maggior parte degli attacchi informatici sfrutta infatti vulnerabilità note che molto spesso sono già potenzialmente risolvibili applicando degli aggiornamenti software (security patch). Questo tipo di verifica consente di mapparle secondo un piano di priorità definibile attraverso la combinazione del punteggio di gravità della vulnerabilità (CVSS, Common Vulnerability Scoring System, norma tecnica aperta) e della criticità del sistema informatico interessato legata per esempio all’importanza per il business aziendale, al tipo di dati trattati, all’esposizione o meno su internet, ecc.

Penetration Test
Il penetration test (Pen Test) è una strategia di valutazione delle minacce che prevede la simulazione di attacchi reali per valutare i rischi associati a potenziali violazioni della sicurezza. Il pen test ha lo scopo di cercare vulnerabilità sfruttabili contro l’infrastruttura di sicurezza di un’organizzazione utilizzando una combinazione di scansioni automatiche e di attacchi di tipo manuale, imitando i comportamenti di cyber criminali e utilizzando le vulnerabilità per violare ed entrare (penetrare, appunto) nel sistema. Per l’esecuzione di questi test gli ethical hacker, oltre che basarsi sull’esperienza e sull’estro, generalmente seguono anche metodologie open source strutturate ed internazionalmente condivise quali OWASP (Open Source Foundation for Application Security) Security Testing Guides e OSSTMM (Open Source Security Testing Methodology).
In questo modo, i penetration test consentono ai team di sicurezza di capire in modo approfondito le modalità con cui i cyber criminali potrebbero violare i dati (ad esempio bypassando l’autenticazione o scalando privilegi) o interrompere il servizio, e correggere o potenziare i controlli di sicurezza per evitare che questo accada nella realtà. Poiché i test sono eseguiti da esperti che seguono costantemente le evoluzioni del mondo degli hacker, i falsi positivi risultano ridotti e spesso vengono portati alla luce difetti che i team interni potrebbero altrimenti non scoprire.

Tipologie di Penetration Test
I pen test possono essere suddivisi in varie tipologie, ad esempio: interno/esterno se condotto rispettivamente da rete interna o da internet; black box, white box o grey box a seconda che non venga fornita alcuna informazione sul target da attaccare, vengano fornite informazioni sulla sua architettura e/o credenziali di accesso oppure venga seguito un approccio intermedio. I peneration test possono poi essere denominati in funzione dell’ambito dove viene eseguito il test: si parla quindi di pen test applicativo, della rete, dell’hardware (ad esempio su dispositivi mobile, IOT o OT), wireless, voip, ecc.
Al termine di un penetration test viene fornito un report dettagliato sulle vulnerabilità riscontrate, le violazioni effettuabili con le relative modalità e livello di rischio, e le indicazioni per correggerle.

Differenze tra i due strumenti
Sebbene entrambe le tipologie di test rientrino nella categoria della valutazione delle minacce; ci sono alcune differenze tra le due metodologie, declinabili in termini di strategia, di approccio, di perimetro e con vantaggi e svantaggi che rendono entrambi, di fatto, complementari.
A livello di strategia, il vulnerability assessment controlla i punti deboli noti in un sistema e genera un rapporto sull’esposizione al rischio, mentre il penetration test ha lo scopo di sfruttare i punti deboli su un sistema o un’intera infrastruttura IT per scoprire eventuali minacce al sistema.
L’approccio del vulnerability assessment, come suggerisce il nome, è un processo che esegue la scansione automatizzata di sistemi e dispositivi alla ricerca di punti deboli con l’aiuto di strumenti automatici. Il penetration test, d’altra parte, richiede un approccio metodologico ben pianificato e viene eseguito da persone esperte che comprendono tutti gli aspetti della postura di sicurezza.
In termini di perimetro, l’ambito del penetration test è mirato e coinvolge anche un fattore umano. Il test non comporta solo la scoperta di vulnerabilità che potrebbero essere utilizzate dagli aggressori, ma anche lo sfruttamento delle stesse per valutare fin dove potrebbero arrivare i cyber criminali dopo una violazione. Quindi, la valutazione della vulnerabilità diventa uno dei prerequisiti essenziali per eseguire un pen test.
Il vulnerability assessment, essendo un test automatico e passivo, ha il vantaggio di non creare alcun problema ai sistemi informatici e di poter essere ripetuto anche frequentemente (ad esempio mensilmente o settimanalmente) in modo da avere una situazione estremamente aggiornata sulle vulnerabilità presenti nella propria organizzazione. Può anche essere condotto, senza costi aggiuntivi, “a tappeto” su tutte le reti, dispositivi e applicazioni. Inoltre consente di individuare tutta una serie di vulnerabilità note e più “semplici” che, se corrette (spesso hanno già patch disponibili), permettono ad un penetration test eseguito successivamente di porre la concentrazione su vulnerabilità non note e più complesse senza dover perdere tempo a evidenziare difetti che si potrebbe osar definire come “ovvii”.
Il penetration test, d’altro canto, è più completo e permette di avere una scansione e una valutazione più rigorosa dei sistemi. Tuttavia essendo molto più articolato e complesso da eseguire e contemplando anche diverse azioni e tentativi di violazione manuali, richiede tempi più lunghi e costi sicuramente maggiori rispetto a un vulnerability assessment. Per queste ragioni non può essere eseguito a tappeto e frequentemente su tutte le reti, i dispositivi e le applicazioni, ma necessita di essere concentrato su specifici target e di essere effettuato solo in alcuni particolari momenti (ad esempio in occasione del rilascio in produzione di un nuovo applicativo critico ed esposto su internet o su pochi applicativi una volta l’anno). Non è escluso, infine, che il pen test, quando eseguito su sistemi in produzione, possa causare qualche rischio soprattutto di disponibilità (stabilità e funzionamento) del servizio.

Cosa scegliere per la propria azienda?
In realtà, non si tratta di una questione di scelta, singolarmente infatti, queste due metodologie non sono sufficienti a proteggere il sistema: è importante che si instauri una vera e propria cultura della sicurezza, che si traduca in un progetto integrato, nel quale siano comprese anche le attività di prevenzione delle minacce come il Vulnerability Assessment e il Penetration Test.

Roberto Giovanni Loche
RL Solutions
rloche@rlsolutions.it – Mobile: +39 331.2917785