Nel processo di messa in sicurezza di un’infrastruttura informatica (cd. processo di “Hardening”), accanto al “Vulnerability Assessment” (VA), gioca un ruolo chiave il cosiddetto “Penetration Testing”. Con questa espressione si intende il meccanismo mediante cui un dato sistema viene messo alla prova e “sfruttato” da un auditor o da un penetration tester al fine di rilevare la presenza di eventuali falle e vulnerabilità al suo interno prima di truffatori cyber: si tratta di un processo di fondamentale importanza per quelle aziende che vogliono testare i possibili punti deboli della propria infrastruttura, conoscerne il grado di protezione.
Proprio come nel caso del “Vulnerability Assessment” (VA), il “pen test” – chiamato anche “hacking etico” o “white hat attacks” – può essere condotto sia in modo automatico sia manualmente: in entrambi i casi il processo è preceduto da un’operazione di raccolta dati e informazioni che rappresentano il target di riferimento del test vero e proprio. Rispetto a un “Vulnerability Assessment” (VA), però, il “pen test” ha la peculiarità di andare più avanti nel processo di messa in sicurezza di un’infrastruttura informatica (IT), consentendo di “sfruttare” in modo più efficiente le debolezze rilevate all’interno di un dato sistema: in questo caso, infatti, il controllo e l’analisi sono mirate a un obiettivo preciso precedentemente stabilito, mentre nel “Vulnerability Assessment” (VA) l’esame è più ad ampio raggio; in virtù di ciò, il “pen test” non si limita a rilevare eventuali falle nel sistema di sicurezza di un dispositivo ma le “sfrutta” dando una dimostrazione empirica del rischio associato a una data vulnerabilità. In altre parole, il “Penetration Testing” utilizza un approccio più “strong” e “deep” al problema, offrendo un’analisi più approfondita e dettagliata non solo della criticità rilevata, ma soprattutto dei rischi a essa associati, dei fattori di mitigazione e della strategia da approntare.
Fasi e procedure
È possibile distinguere alcune fasi nel “Penetration Testing”:
- 1. Definizione dell’ambito (scope): qualunque tipo di “pen test” deve essere preceduto, per poter risultare efficace, da una definizione accurata dell’ambito entro cui andrà a operare: solo in questo modo il pentester potrà rintracciare tutte le problematicità associate a un dato sistema ed evidenziarne i fattori di mitigazione;
- 2. Raccolta informazioni: i “Penetration Testing” differiscono tra loro sulla base del bagaglio di conoscenze che il tester ha a disposizione circa il sistema del cliente/azienda. Da questo punto di vista, è possibile distinguere tra:
- - Black Box test: l’auditor non ha a disposizione informazioni circa il sistema da “hackerare”;
- - White Box test: l’auditor può contare su dati e indicazioni dettagliate circa l’infrastruttura informatica (in alcuni casi si parla anche di Gray Box test);
- 3. Analisi statica: questa fase consiste nell’analisi del codice dell’applicazione su cui si vuole effettuare il test al fine di prevederne il comportamento durante il processo;
- 4. Analisi dinamica: in questo caso, il codice dell’applicazione viene esaminato in tempo reale – quindi durante il test –;
- 5. Ottenere l’accesso: il pentester in questo caso “sfrutta” le falle rilevate nelle applicazioni web attraverso attacchi mirati che simulano quelli degli hacker (rubando accessi, dati etc.);
- 6. Mantenere l’accesso: in questa fase, l’esperto capisce se è possibile “sfruttare” la vulnerabilità rilevata tanto da ottenere un accesso prolungato al sistema (che consentirebbe di accedere a dati e informazioni sensibili);
- 7. Report: esistono due tipologie di report in cui vengono menzionate le informazioni inerenti il test eseguito, utili per l’azienda/cliente:
- - “Executive summary”: al suo interno figura l’analisi del rischio associato alle minacce rilevate e una previsione sui tempi di risoluzione/mitigazione delle vulnerabilità;
- - “Report tecnico”: qui è presente lo studio dettagliato delle minacce evidenziate e la soluzione.
- - Elenco delle vulnerabilità/falle/minacce rilevate (e “sfruttate”);
- - Elenco delle informazioni sensibili su cui è stato effettuato l’accesso;
- - Tempistiche del “pen test”.
Gli strumenti: caratteristiche e tipologie
Gli strumenti utilizzati nei “Penetration Testing” analizzano le modalità in cui le informazioni sono crittografate ed esaminano password, nomi utenti e altri dati sensibili così da poterne scoprire eventuali debolezze. Un “pen test” dovrebbe avere determinate caratteristiche per essere realmente efficiente:
- - Semplicità: un test di questo tipo dovrebbe essere facile sia da utilizzare che da configurare e inoltre dovrebbe analizzare facilmente una data infrastruttura informatica (IT);
- - Capacità di classificazione: un “pen test” dovrebbe essere in grado di individuare, analizzare e classificare minacce, falle e vulnerabilità nel sistema in base al rischio associato a ognuna di esse, evidenziando le criticità da risolvere prioritariamente;
- - Capacità di ricontrollare i test precedenti: i “pen test” non sono in grado di rilevare qualunque falla nel sistema di sicurezza, per questo motivo vanno effettuati regolarmente; le minacce della rete infatti sono in continuo divenire e nessun test, da solo, può mettere al riparo da attacchi futuri;
- - Redazione di report specifici.
Le tattiche utilizzate dagli esperti
L’esperto che effettua un “Penetration Testing” può adottare, a seconda dei casi, diverse tattiche:
- Test mirato (“Targeted testing”):
- Test esterno (“External testing”):
- Test interno (“Internal testing”):
- Test cieco (“Blind testing”):
- Test in doppio-cieco (“Double-blind testing”):
- Test della scatola nera (“Black box testing”);
- Testa della scatola bianca (“White box testing”).
Cosa deve fare un’azienda
Di norma, un’azienda che intende monitorare il proprio status di sicurezza informatica – e testare la consapevolezza dei propri dipendenti in ambito cybersecurity – dovrebbe eseguire un “Penetration Testing” almeno due volte l’anno. Ciononostante, esistono delle particolari condizioni che – se si verificano – possono richiedere l’esecuzione di ulteriori test rispetto a quelli regolari:
- Installazione di nuove infrastrutture di rete all’interno dell’azienda;
- Modifiche rilevanti delle infrastrutture di rete già in uso;
- Nascita di uffici in nuove aree;
- Introduzione di patch di sicurezza;
- Modifiche delle “end-user policies”.
Ma non basta: un’azienda che desidera intraprendere un “Penetration Testing” deve considerare una serie di fattori piuttosto rilevanti, suscettibili di influenzare il risultato dell’analisi:
- Grandezza dell’azienda: più grande è l’ente, più alte saranno le probabilità di attacchi cyber su larga scala;
- Costo del test: come precedentemente accennato, alcuni test possono avere dei costi piuttosto alti, motivo per il quale l’azienda che intende effettuarne uno deve preliminarmente accertarsi di avere le risorse necessarie per l’acquisto, scegliendo – in virtù di un’analisi costi/benefici – il test più adatto alle proprie esigenze;
- Regolamentazione in materia di sicurezza: alcune aziende sono legalmente obbligate a svolgere con regolarità “Penetration Testing” e altre attività di messa in sicurezza della propria infrastruttura informatica (IT). Conoscere la legislazione in materia risulta quindi fondamentale.
È bene sottolineare come nel processo di messa in sicurezza di un sistema informatico (“Hardening”), meccanismi come il “Vulnerability Assessment” (VA) e il “Penetration Testing” giocano un ruolo di primaria importanza ma da soli non bastano a scongiurare tutte le minacce provenienti dal Web, sempre più denso e fitto di esperti truffatori. Da questo punto di vista, dunque, la conoscenza e la costanza rappresentano due fattori imprescindibili, senza i quali non è possibile raggiungere – neanche ricorrendo ai sistemi di sicurezza migliori – i risultati sperati (soprattutto nel lungo periodo). Ancora una volta quindi si dimostra di vitale interesse per un’azienda investire non solo in apparecchiature sofisticate di cybersecurity ma anche nell’istruzione dei propri dipendenti: un impiegato consapevole, è un impiegato che fa meno errori e che persegue con maggiore efficienza le logiche di profitto dell’ente per cui lavora.