Penetration Test e Vulnerability Assessment: cosa sono, a cosa servono, quali differenze
Il Vulnerability Assessment (VA) è il processo di individuazione e classificazione delle vulnerabilità nel sistema target. In questo processo vengono analizzati i sistemi operativi, i software applicativi, l’hardware e i network per identificare eventuali vulnerabilità note e sconosciute (Zero day). Queste vulnerabilità si verificano a causa della progettazione inadeguata del software, dell’autenticazione non sicura o anche di molte vulnerabilità dovute a errori di programmazione e configurazione.
Il VA generalmente prevede 5 fasi distinte:
- Goals & Objectives: definisce gli obiettivi e i target del VA.
- Scope: durante l’esecuzione dell’assessment e dei test, l’ambito e il perimetro devono essere chiaramente definiti in base alle risorse da testare. Sono previste tre modalità di esecuzione:
- Black Box: test da una rete esterna senza alcuna conoscenza delle reti e dei sistemi interni;
- Gray Box: test da una rete esterna o interna, con conoscenza delle reti e dei sistemi interni. Questo di solito è una combinazione di test in modalità black box e white box;
- White Box: esecuzione del test dall’interno della rete con la conoscenza dell’architettura di rete e dei sistemi.
- Information Gathering: è la fase di raccolta delle informazioni che consiste nell’ottenere quante più informazioni possibili sull’ambiente IT, quali reti, indirizzi IP, versione dei sistemi operativi e dei software.
- Vulnerability Detection: in questa fase vengono utilizzati alcuni strumenti automatizzati come i vulnerability scanner per identificare e catalogare le vulnerabilità note mediante la scansione dei target.
- Information Analysis and Planning: questa fase viene utilizzata per analizzare le vulnerabilità identificate, correlate con le informazioni raccolte sull’ambiente IT, per ideare un eventuale piano per penetrare nella rete e nel sistema target.
Penetration Test
Il Penetration Test (PT) è più un’arte che una scienza ed è un processo che si possiamo definire Hacking etico. È un insieme di attività che ha l’obiettivo di ottenere l’accesso non autorizzato alle risorse autorizzate. Il PT è un hacking etico poiché permette di provare a irrompere nel proprio sistema per vedere quanto è complicato da realizzare o da attaccare.
Lo scopo del PT è riuscire ad accedere a un sistema utilizzando strumenti e tecniche simili o uguali a quelle utilizzate dagli hacker. Quindi il penetration tester cerca di sfruttare una qualsiasi vulnerabilità nota o zero day (più difficile da trovare) per ottenere l’accesso non autorizzato.
Come accade per il VA, anche per il PT esistono fasi diverse corrispondenti a tre modalità di esecuzione del PT:
- Zero-knowledge: il penetration tester non ha alcuna informazione sull’ambiente target;
- Partial knowledge: il penetration tester ha informazioni parziali sull’ambiente target;
- Full knowledge: il penetration tester ha completo accesso alle informazioni e all’architettura dell’ambiente target.
Qual è la differenza fra Vulnerability Assessment e Penetration Test e come effettuare la scelta?
Le differenze tra VA e PT sono:
- Il VA viene eseguito per identificare i punti deboli in modo automatico attraverso software specifici e raramente in modo manuale;
- Il VA può essere eseguito facilmente e velocemente;
- Costa meno di un PT;
- Il VA raramente provoca danni permanenti al sistema, ma può provocare rallentamenti;
- Può essere eseguito spesso, anche mensilmente;
- Livello di protezione inferiore al PT poiché si mette in guardia da eventuali vulnerabilità note;
- Spesso il VA è l’attività che precede il PT;
- Il PT viene eseguito per mettere sotto stress il sistema attraverso tecniche e processi specifici in modo da esporre eventuali debolezze da sfruttare tramite exploit;
- Il PT richiede un tempo maggiore di esecuzione rispetto al VA e richiede degli specialisti, anche di settori diversi (es. web, DB, network, ecc.);
- Costa di più di un VA;
- Il PT può provocare danni permanenti al sistema, a volte non recuperabili nemmeno tramite backup;
- Livello di protezione maggiore del VA poiché si testano effettivamente le eventuali vulnerabilità note e non note (zero day);
- Può essere eseguito mediamente una volta all’anno.
La principale differenza tra il VA e PT è nello scopo poiché con il VA ci si ferma prima di compromettere un sistema, mentre con un PT si procede senza indugio fino all’obiettivo predefinito e condiviso con il proprietario o responsabile del sistema.
La scelta se eseguire un VA, un PT o tutti e due deve essere basata su un’attenta analisi dei costi-benefici, prendendo in considerazione quale livello di protezione si vuole raggiungere, la criticità di eventuali danni recati al sistema (temporanei o definitivi) e l’effettiva esposizione ad un attacco testato empiricamente.
Redatto da Lucia D’Adamo, in collaborazione con Andrea Petriglia, supervisionato da Marco Pirrone