Cos’è il Penetration Test: tutto quello che serve sapere

Nel mondo del lavoro e non solo, i sistemi informatici hanno assunto un ruolo di primo piano in quanto in grado di rispondere ad una vasta gamma di esigenze, dalla promozione di un prodotto o di un marchio alla raccolta ed alla gestione di grandi quantità di dati. Ciò, fisiologicamente, pone anche una questione di sicurezza informatica, specie quando si tratta di archivi in cui si conservano dati sensibili.
Cos’è il penetration test
Il ‘Penentration Test’ (spesso abbreviato in ‘pen test’) è una prova di valutazione del livello di sicurezza di una rete o di un sistema informatico. Il test ha il compito di mettere in risalto sia i punti deboli che i pregi del sistema sul quale viene effettuato, così da restituire un quadro valutativo completo (la cosiddetta ‘valutazione del rischio’).
Di per sé, un’azione di penetration testing consiste nel mettere in atto un attacco (che deve essere precedentemente autorizzato) al sistema od alla rete che si vuole valutare; in altre parole, è un finto attacco hacker i cui esiti permettono di valutare la capacità del sistema ‘vittima’ del test di aderire agli standard di sicurezza richiesti dai suoi proprietari o gestori.
Come si fa un penetration test
Se un’azienda teme che le proprie reti o i propri sistemi informatici siano particolarmente esposti ad attacchi esterni, può richiedere un penetration test. Il primo passo, in tal senso, è quello di rivolgersi ad agenzie di investigazione che offrono questo particolare genere di servizio.
Tra il mandante (la società o l’azienda che commissione il test) e l’agenzia viene stipulato un contratto; al suo interno devono essere inserite una serie di specifiche informazioni (gli indirizzi IP dai quali partirà il test, le persone che saranno impegnate nel test e l’eventuale presenza di soggetti esterni chiamati a collaborare nello svolgimento del pen test) e una clausola di riservatezza.
In aggiunta, chi riceve l’incarico di condurre il test deve assicurare al mandante sia la prosecuzione delle attività aziendali o societarie, sia la salvaguardia dell’integrità dei dati contenuti nel sistema informatico. Naturalmente, qualsiasi azione non inclusa nel contratto sottoscritto dalle parti viene considerata illecita.
Per quanto concerne il penetration test vero e proprio, ne esistono diversi tipi ma il procedimento di base può essere riassunto in pochi passaggi. Il primo consiste nel raccogliere informazioni relative al sistema che si intende ‘penetrare’ e può svilupparsi in due fasi (‘riconoscimento’ e ‘scansione’). Si tratta di una fase fondamentale che è possibile etichettare come analisi passiva o osint. La scansione indicata è l’analisi attiva, si inizia a sondare l’infrastruttura e delimitare il perimetro d’attacco. Una volta ottenute quante più informazioni utili possibili, il test prosegue con l’accesso forzoso all’interno del sistema, del software o della rete messi sotto attacco; infine, il pen tester deve essere in grado di mantenere l’accesso al sistema: durante questa fase prosegue la raccolta dei dati relativi al sistema stesso. Infine, il tester deve eliminare tutte le ‘tracce’ del proprio passaggio, dall’accesso alle possibili alterazioni di sistema ad altre prove di ogni genere di azione compiuta all’interno dello stesso.
Le tecniche di ‘penetrazione’ sono molteplici; una delle più comuni è il fuzzing. Essa consiste nell’inviare al sistema una serie di dati casuali, così da provocarne l’errore non gestito. Si tratta di un’operazione controllata che non crea disservizi di alcun genere, né danni. I risultati dei test condotti in tal modo consentono di rilevare la presenza di errori e al contempo di mettere alla prova la sicurezza del browser.
Cosa fa un penetration tester
La breve guida al penetration test sopra descritta rappresenta un riferimento piuttosto generico all’interno del quale ricadono i vari tipi di test aziendali; vediamo di seguito di quali si tratta.
- Penetration Test esterni: vengono svolti per valutare se e come un hacker esterno può accedere al sistema. Questo tipo di test prende in esame tutto quanto risulta visibile su Google così da individuare ‘falle’ e punti deboli partendo – come suggerisce il nome stesso del test – dall’esterno della struttura aziendale.Il tester, quindi, appronta un attacco partendo da una posizione ‘esterna’ al sistema che gli consente di verificare la tenuta del DNS, del sito web o di un’app;
- Penetration Test interni: rispetto a quello ‘esterno’, questo genere di verifica parte dall’interno del sistema o della rete aziendale. Può essere commissionato al fine di rilevare se un dipendente o un altro membro interno alla struttura aziendale sia entrato in possesso in maniera fraudolenta di password o codici di accesso utilizzati per accedere in maniera non autorizzato al sistema informatico;
- Blind e Double Blind test: si tratta sostanzialmente di ‘un attacco al buio’. Da un lato, è molto realistico in quanto è in grado di simulare in maniera dettagliata un vero attacco informatico. Di contro, è particolarmente dispendioso poiché al tester viene comunicato solo il nome dell’azienda committente; nella versione ‘Double Blind’, il test viene svolto senza aver fornito alcuna comunicazione al dipartimento IT, così da rendere l’azione ancor più verosimile;
- Targeted test: molto più mirato e specifico del ‘Blind test’, questo tipo di azione è rivolta ad un obiettivo specifico; viene condotta dal tester assieme al dipartimento IT ed è in grado di restituire all’azienda un quadro dettagliato delle condizioni in cui versa il sistema informatico preso in esame, così da individuarne i punti deboli sui quali intervenire successivamente.
Esiste anche una differente modalità di categorizzazione dei test, ovvero:
- Black Box test: l’attaccante non ha a disposizione tutti i dati dell’infrastruttura; richiede molto tempo (a causa della scarsità di informazioni) e viene quasi sempre svolto tramite sistemi automatizzati, secondo un approccio definito ‘trial and error’;
- White Box test (detto anche ‘Clear Box testing’): il tester dispone di molte le informazioni necessarie, come ad esempio il codice sorgente e l’architettura del software. Ciò comporta, da un lato, un minor dispendio in termini di tempo e risorse; di contro, il mandante del test affida informazioni riservate al tester; quest’ultimo potrebbe impiegare maggior tempo nel vagliare tutti i dati ricevuti per approntare un’azione più specifica;
- Gray Box test: rappresenta un compromesso rispetto alle due soluzioni illustrate in precedenza e per tanto può essere condotto sia con strumenti manuali che automatizzati.
Quando va fatto il pentest
Il penetration test va fatto quando un’azienda vuole accertarsi della bontà dei sistemi di sicurezza della propria infrastruttura. Tale verifica passa attraverso i pen test, condotti da figure specializzate (gli hacker etici), che hanno come obiettivo primario quello di individuare i punti deboli del sistema informatico (così come della rete o dell’applicazione).
L’analisi della vulnerabilità non serve soltanto a prendere atto di eventuali falle del sistema ma può essere d’aiuto per verificare anche altri aspetti. Il penetration test può, ad esempio, rappresentare un valido riscontro per testare la compliance delle policy di sicurezza e le competenze dello staff in materia di sicurezza informatica o testare le capacità di reazione dell’intera struttura aziendale di fronte ad un attacco informatico.
Per sapere di più riguardo questo tema o se sei preoccupato per la sicurezza del tuo sistema informatico, rivolgiti ad Inside Agency.