Il Penetration test (in breve pentest) può essere definito come un misuratore delle debolezze relative ad un’infrastruttura IT mirato ad identificare e sfruttare (ovviamente in maniera sicura) le debolezze stesse. Ci sono moltissimi target potenziali per quanto riguarda le attività di penetration test – che possono essere svolte sia in maniera automatica che manuale -; tra questi possiamo avere: server, dispositivi mobile, network endpoint, dispositivi wireless, …

Le attività di penetration testing hanno quindi un obiettivo specifico: analizzare nel dettaglio gli asset aziendali al fine di verificarne la sicurezza. Il modo attraverso cui questo livello di sicurezza viene verificato consiste nello sfruttare ciò che viene percepito come debole. Tuttavia, oltre all’obiettivo primario, possono essere raggiunti ulteriori obiettivi come: verificare l’awareness dei dipendenti in termini di security oppure constatare se, e in che misura, un’organizzazione può far fronte ad una violazione dei dati.
Tali attività rappresentano pertanto per le aziende un elemento necessario per quantificare i livelli di rischio relativi alla propria infrastruttura IT e capire quanto sia vulnerabile la propria azienda autorizzando un “vero e proprio” attacco hacker.

Come svolgere un Penetration test

Questa tipologia di test può essere condotta in maniere molto differenti tra loro. La discriminante tra queste metodologie è il livello di informazioni possedute dal penetration tester (colui che conduce l’attacco – nonostante spesso siano vere e proprie squadre).

Analizziamo ora nello specifico il livello di informazione a disposizione degli “attaccanti” per ogni metodologia di pentest:

  • White Box Testing: in questo caso, colui che conduce il test è a conoscenza tutte le informazioni disponibili – dall’architettura del software al source code. Proprio per questo motivo questa metodologia viene anche detta Clear Box Testing. Il White Box test richiede relativamente poco tempo al pentester: esso è già a conoscenza delle informazioni chiave relativamente al target.
  • Black Box Testing: in questo caso, ovviamente contrapposto al primo, il penetration tester è completamente all’oscuro delle informazioni di cui disporrebbe in caso di White Box. In questa fattispecie, l’ethical hacker è accomunato in tutto e per tutto ad un potenziale attaccante privo di ogni informazione. Non avendo a disposizione ne’ il codice sorgente ne’ la minima informazione circa il target, un Black Box test richiederà un tempo maggiore per essere portato a termine: l’attaccante prima di focalizzarsi sullo sfruttare un punto debole, deve spendere il suo tempo ad individuarli.
  • Gray Box Testing: in questo caso abbiamo un ibrido delle due modalità precedenzi. Ovviamente, il livello di conoscenza in questo caso non è ne’ nullo come nel caso del Black Box ne’ totale come nel caso del White Box, ma parziale. In questo caso specifico, è possibile che l’ethical hacker si concentri primariamente sulle aree dove dispone di maggiori informazioni.

Penetration test step-by-step

Le fasi che comportano l’esecuzione di un penetration test si possono riassumere in 6 step:

  • Fase 1 – Fase d’ingaggio: in questa fase, che possiamo definire come preliminare, vengono stabiliti gli elementi propedeutici all’attività da svolgere. Molto importante da chiarire in questa sede è l’obiettivo che si vuole raggiungere attraverso le attività di penetration testing. In base a questo si può determinare la metodologia di test ideale per raggiungere lo scopo (White, Black o Gray Box).
  • Fase 2 – OSINT Gathering: OSINT sta per Open Source Intelligence e colui che andrà in un secondo momento a svolgere le attività, in questa fase, raccoglie ogni informazione necessaria circa il cliente. Il framework OSINT aiuta il pentester per quanto riguarda le informazioni recuperabili su open source. Le metodologie di ricerca di informazioni al fine di svolgere le attività possono essere molteplici e tra le più varie, solo per menzionarne alcune, possiamo avere: metodi di social engineering, ricerche online, tailgating,…
  • Fase 3 – Vulnerability spotting: Durante questa fase, il pentester inizia ad analizzare su quali obiettivi concentrare i propri sforzi. L’attività svolta in questa sede è il Vulnerability Assessment. Attraverso una valutazione delle vulnerabilità identificate un ethical hacker può stabilire i punti deboli da attaccare. Il VA è uno scan dell’infrastruttura del cliente che permette di avere visibilità, appunto, di questi punti deboli.
  • Fase 4 – Sfruttare le vulnerabilità identificate: Durante la fase precedente vengono individuati i soft spots dell’infrastruttura del cliente, in questa fase, invece, si sfruttano. Il pentester stabilisce la sua strategia di attacco (ingegneria sociale, attacchi diretti alle web application,…) e prova a sfruttare le vulnerabilità. Ora, però, emerge l’importanza della fase 1: è proprio durante la fase preliminare che è stato stabilito fin dove l’ethical hacker può spingersi nello sfruttare le vulnerabilità identificate.
  • Fase 5 – Restoration: Nella penultima fase delle attività di penetration testing, l’ethical hacker deve essere in grado di fare 2 cose fondamentali ai fini della buona riuscita del test:
    • ristabilire l’ordine precedente: la situazione che il pentester deve lasciare al cliente è quella che lui stesso ha trovato prima di iniziare il test;
    • fornire indicazioni precise circa i livelli di rischio presenti. Inoltre, in modo da affrontare questi livelli di rischio, deve essere in grado di fornire indicazioni puntuali su come limitarli.
  • Fase 6 – Documentazione: L’ultima fase del processo prevede che il pentester fornisca al cliente una dettagliata reportistica delle attività svolte.

Penetration test

© RIPRODUZIONE RISERVATA