Il Penetration Test è una tipologia di analisi che ha lo scopo di effettuare una valutazione della sicurezza di qualsiasi elemento di un sistema informativo: ad esempio un’applicazione web, un software, un singolo apparato di rete, oppure un’intera rete.

Quindi tramite il Penetration Test (chiamato anche Pen Test) sarà possibile valutare la sicurezza complessiva o specifica di soli alcuni elementi del sistema informatico di una organizzazione o azienda. Per effettuare questo tipo di attività, che tipicamente include diversi step, sarà necessario simulare tutte quelle azioni che rientrano tecnicamente nella fase dell’attacco.

Penetration Test

Le finalità dell’attività di Penetration Test sono quelle di evidenziare ai responsabili dell’organizzazione/target, quali sono le principali debolezze evidenziate a livello di sicurezza informatica oppure l’efficacia delle soluzioni di protezione messe in atto.

Come avviene un penetration test

Le attività del Pen Test prevedono diverse analisi, sia attive che passive del sistema target, al fine di individuare eventuali debolezze, errori di implementazione, errori di progettazione tecnica della soluzione e vulnerabilità, che potrebbero poi essere sfruttate dall’eventuale attaccante, per compromettere gli obiettivi di sicurezza prefissati.

Finalità di un pen test è quella di produrre un report, dove verranno evidenziati i risultati dei test, evidenziandone le problematiche riscontrate a livello di sicurezza informatica, il livello di criticità di ognuna e opzionalmente le operazioni possibili per chiudere o mitigare la falla.

Nel report quindi verranno evidenziati tutti i problemi rilevati e relativa stima sull’attuale capacità di difesa adottate dall’organizzazione, nei confronti delle vulnerabilità del sistema interne, esterne e fisiche.

Report Pen Test

Report Pen Test: cosa dovrebbe sempre contenere

Il Report generato dalle attività di Pen Test è molto importante e fornisce i dettagli strutturati del pentest dopo che l’incarico è stato completato. Tuttavia, spesso questa documentazione critica manca di aspetti chiave di ciò che dovrebbe essere incluso e i clienti quindi potrebbero mettere in discussione il valore pratico delle loro valutazioni. Ecco quindi cosa non dovrà mancare al suo interno.

Riepilogo per la direzione strategica

Il riepilogo per la direzione strategica funge da visione di alto livello sia del rischio che dell’impatto aziendale, con termini e linguaggio semplici. Lo scopo è essere concisi e chiari. Dovrebbe essere qualcosa che i lettori non tecnici riescano tranquillamente ad esaminare e ottenere informazioni sui problemi di sicurezza evidenziati. 

Sebbene il personale IT possa aver bisogno di tutti i dettagli tecnici, i dirigenti non hanno bisogno di comprendere la tecnologia . Dovranno comprendere quindi il reale rischio aziendale. È fondamentale che le figure chiave dell’organizzazione comprendano la posta in gioco, al fine di prendere le opportune decisioni per le loro aziende.

Panoramica dei rischi tecnici

La maggior parte dei report utilizza una sorta di sistema di valutazione per misurare il rischio, ma raramente si prende il tempo per spiegare il rischio. Il reparto IT del cliente deve prendere decisioni rapide e di impatto rispetto al modo migliore per fixare e risolvere le vulnerabilità. Per farlo, dovranno richiedere l’approvazione ai responsabili, comunicando correttamente i rischi associati alle evidenze riportate nel report.

Analisi dei rischi informatici

Potenziale impatto della vulnerabilità

Il rischio può essere suddiviso in due parti: probabilità che accada quel particolare evento e potenziale impatto.

La probabilità è una componente standard nella maggior parte dei rapporti di valutazione. Ovviamente, le probabilità di uno sfruttamento di una specifica vulnerabilità, sebbene importanti, non sono sufficienti per definire il rischio. 

Fix Vulnerabilità Informatica

Diverse opzioni per il fix delle vulnerabilità

La maggior parte dei rapporti sui test di penetrazione includerà una descrizione generica e di alto livello di come gestire questi problemi; tuttavia queste informazioni per il Fix “generiche” spesso sono insufficienti quando si tratta del contesto specifico e delle singole esigenze del cliente.

Ad esempio, se un client espone un servizio vulnerabile in esecuzione su di un server web da cui dipende, il fix dovrebbe offrire qualcosa in più o una valida alternativa, piuttosto che chiedere di disabilitare del tutto il servizio.

Ovviamente, è importante far sapere al client che esistono modalità semplici per filtrare le SQL Injection o configurare il firewall per bloccare determinati tipi di attacchi. Un rapporto pentest di qualità, dovrebbe quindi fornire più opzioni per la “remediation” sufficientemente dettagliate, al fine di predisporre il team IT del cliente ad una rapida risoluzione. 

Autorizzazioni per effettuare un Penetration Test

Per effettuare un test su sistemi di cui non si è proprietari è necessario operare previo contratto che dimostri il consenso e l’autorizzazione alle attività, regolandone gli obiettivi, le tempistiche e l’ambito rispetto alle specifiche risorse coinvolte nelle attività di Pen Test. 

Tra l’azienda e la società che si occuperà di effettuare il Pen test, dovrà essere stipulato un contratto, al cui interno dovranno essere inserite una serie di specifiche informazioni: gli indirizzi IP, gli utenti e i sistemi coinvolti nelle attività di test e una clausola di riservatezza

Sicurezza Informatica pen test

Ma chi risponde agli eventuali danni al sistema informatico della società committente derivanti dall’attività di penetration testing?

Dal punto di vista legale chi adempie alle obbligazioni contrattuali mediante un’attività di penetration testing dovrà eseguirla con la diligenza del “buon padre di famiglia”, in modo da garantire l’operatività “normale” delle attività e processi o impedire l’alterazione e la perdita di dati/informazioni del cliente. 

E’ importante descrivere accuratamente tutte le operazioni “permesse” durante le procedure di Pen Test, poichè tutte le attività non regolamentate da un contratto,  potranno essere considerate illegali.

Tipologie di Penetration Test

Come evidenziato precedentemente, le finalità e gli obiettivi dovranno essere esplicitati già in fase di stipula del contratto. Il proprietario del sistema informativo dell’azienda target del Pen test dovrà quindi decidere quali informazioni condividere con l’azienda informatica commissionata per le attività in oggetto.

Penetration Test

BLACK-BOX TEST

Un Penetration Test può essere effettuato condividendo come unica informazione l’indirizzo internet dell’organizzazione target. La finalità di questa tipologia di attività, chiamata in gergo “black box” sarà quella di comprendere quali risultati potrebbe raggiungere un attaccante esterno, tramite internet senza specifiche conoscenze dell’infrastruttura. In questa tipologia di test verrà simulato un attacco reale dal mondo esterno: infatti a volte viene chiamato “test esterno”.

Il tester quindi, non avendo informazioni dettagliate dell’infrastruttura, simulerà ciò che un attaccante potrebbe fare sfruttando le vulnerabilità rilevate, ottenendo in tal modo le informazioni realtive a queli dati e sistemi potranno essere compromessi.

WHITE-BOX TEST

Il penetration test di tipo white box, in maniera opposta alla Black Box, è invece una modalità assistita di simulazione di scenari, poichè la maggior parte delle informazioni realtive a documentazione, infrastruttura, apparati e altre info, verranno direttamente comunicate dall’organizzazione target del pen test. Questa modalità chiamata anche “internal test”, permetterà ai tester di effettuare le operazioni di pen test avendo la completa conoscenza dell’infrastruttura da testare.

GRAY-BOX TEST

In questo scenario ai penetration tester vengono fornite solamente informazioni parziali. Il penetration testing grey box è quindi una via di mezzo tra il white box ed il black box, di conseguenza è utile a testare in maniera realistica la sicurezza, senza però entrare nel merito di test specifici, magari troppo approfonditi.

Pen Test

Target Penetration Test

Essendo le modalità e le aree di interesse così differenti, i penetration test si sono via via diversificati e specializzati, al fine di ottenere i risultati migliori in uno specifico ambito. Esistono quindi differenti tipi di penetration test che si possono focalizzare principalmente su questi differenti target:

Penetration Test Network

Questo pentest è particolarmente importante per due fattori: il primo è che interessa la vasta maggioranza degli aspetti di sicurezza all’interno dell’azienda, il secondo è che attacchi alle reti si stanno sviluppando e sofisticando sempre di più. Il penetration test di una rete è relativo ai check sulla sicurezza di reti, host e dispositivi.

Network Pen Test

Penetration Test Wireless

I penetration test per violare le reti wireless cercano di capire le vulnerabilità esposte da una rete wireless, simulando un attacco di un hacker che ha visibilità sul perimetro di copertura della rete Wi-Fi.

Penetration test Web Application

Si tratta di un penetration test per scoprire vulnerabilità e valutare la sicurezza in applicazioni web. Si tratta di un test specifico ma estremamente vasto, soprattutto per quanto riguarda i vettori d’attacco.

Le vulnerabilità esposte da un sito web possono derivare dalla logica del software stesso, oppure dalla mancata validazione dell’input, dall’impiego di componenti, plugin non aggiornati o da configurazioni implementative non sicure. È possibile trovare dettagli specifici sul penetration test di applicazioni web nel manuale offerto da OWASP (considerato lo standard per questo tipo di attività).