Il penetration test è uno strumento chiave per l'analisi e la misura del livello di sicurezza dei sistemi IT esattamente come un termometro. Ma mentre nel mondo della medicina lo strumento di misura della febbre ci aggiorna sullo stato dell’infezione, ormai già in corso, i penetration test possono costituire una misura preventiva di analisi, per evitare l’ingresso di una “infezione informatica”. L’obiettivo dei penetration test, infatti, dovrebbe essere sempre quello di migliorare i processi interni di valutazione e gestione della vulnerabilità della propria organizzazione, secondo i risultati ottenuti nei test. Una corretta adozione e un corretto uso dei penetration test consentono di trarre il massimo beneficio da questa prassi. In sostanza, anche se sembrano costosi, in realtà i penetration test rappresentano un investimento che supporta, aiuta e consente di pianificare le routinarie misure di sicurezza dell’operatività standard, oppure di intervenire con misure straordinarie.
Secondo il National Cyber Security Center inglese (NCSC, Autorità indipendente sulla Cyber Security, n.d.r.) il penetration test può essere definito come “un metodo per assicurare la protezione di un sistema IT, mediante tentativi di violazione attuati su tutto o su parte di quel sistema, utilizzando gli stessi strumenti e le stesse tecniche di un avversario”.
I penetration test sono in grado di rivelare le modalità di sfruttamento delle vulnerabilità e infatti sono solitamente svolti in coppia con il Vulnerability Assessment (sigla VA/PT). La coppia di verifiche enfatizza come la ricerca e scoperta di vulnerabilità nei sistemi informatici abbia l’esigenza di essere riscontrata con molteplici sessioni di penetration test, che fanno distinguere le vulnerabilità di tipo “falso positivo” con quelle realmente sfruttabili dai criminali informatici. Nel complesso, possiamo dire che i penetration test identificano il livello di rischio tecnico derivante dalle vulnerabilità di software e hardware.
Non esiste una sola tecnica di svolgimento dei penetration test. Infatti, all’interno dello stesso regime di test, si possono scegliere tecniche diverse secondo i target individuati su cui testare la sicurezza e secondo il livello di conoscenza del sistema da fornire in anticipo ai tester e agli amministratori di sistema. Tutte queste variabili contribuiscono a diversificare i tipi di penetration test, ma anche le modalità di svolgimento. Pertanto, la qualità è strettamente legata alle capacità dei tester coinvolti.
Tutti i tipi di penetration test si distinguono in due macrogruppi.
Caratterizzati da informazioni complete sull'obiettivo condivise dall’azienda con i tester. Questo tipo di test conferma l'efficacia della valutazione della vulnerabilità interna e dei controlli di gestione, identificando l'esistenza di vulnerabilità note del software e errori di configurazione comuni nei sistemi di un'organizzazione.
Nessuna informazione relativa al sistema target è condivisa con i tester. Questo tipo di test viene eseguito da una prospettiva esterna e mira a identificare i modi per accedere alle risorse IT interne di un'organizzazione. Questo modella in modo più preciso il rischio affrontato dagli aggressori che sono sconosciuti o non affiliati all'organizzazione target. Tuttavia, la mancanza di informazioni può causare la mancata scoperta di come sfruttare le vulnerabilità scoperte, avendo un tempo limitato per i test.
Tipi di test che si possono svolgere in white o blackbox sono: identificazione della vulnerabilità in software personalizzati o di nicchia (tipicamente usati per le Web app n.d.r.), test basati su scenari e device volti a identificare le vulnerabilità meglio sfruttabili, e test basati su scenari di capacità di rilevamento e risposta.
Qualunque sia la metodologia di test e il modo di effettuarli, è necessario definire lo scenario, il perimetro di applicazione e, se l’organizzazione reagisce mediante individuazione dei test di attacco simulato, che tipo di risposta riesca a mettere in atto, in che tempi e con quale efficacia.
L'NCSC raccomanda di utilizzare tester e aziende che fanno parte dello schema CHECK.
Per effettuare i test di Vulnerability Assessment/ Penetration Test (VA/PT) si segue un processo strutturato formato da:
Al termine dei test è molto importante documentare in modo appropriato quanto scoperto. I Penetration Test report assumono quindi un ruolo cruciale perché devono essere letti da stakeholder diversi al fine comprendere il rischio e consentire la presa di decisioni. I Penetration Test Report sono tipicamente strutturati in due macrosezioni: