Cos’è il famoso “penetration test” di cui si sente sempre più spesso parlare in ambito ICT
Un penetration test, noto anche come “Pen Test”, è un attacco informatico simulato contro uno dei tuoi server, il tuo network o una specifica app con l’obiettivo di verificare la presenza di vulnerabilità sfruttabili dai criminali informatici. Nel contesto della sicurezza delle applicazioni Web, i penetration test vengono comunemente utilizzati anche per aumentare l’efficacia dei firewall.
Il Pen Test può comportare il tentativo di violazione di un numero qualsiasi di sistemi applicativi, (ad esempio Application Protocol Interfaces (APIs) server frontend / backend etc.) per scoprire vulnerabilità come bug software, configurazioni errate, porte e servizi aperti, che sono suscettibili agli attacchi di “code injection”.
Le informazioni fornite dal Pen Test possono essere utilizzate per ottimizzare le policy di sicurezza e correggere le vulnerabilità rilevate.
Fasi del test di penetrazione
Il processo di Pen Test può essere suddiviso in più steps
Pianificazione e ricognizione
La prima fase prevede:
- Definizione dell’ambito e degli obiettivi di un test, inclusi i sistemi da affrontare e i metodi di test da utilizzare.
- Raccolta di informazioni (ad esempio, nomi di rete e di dominio, server di posta) per comprendere meglio come funziona un obiettivo e le sue potenziali vulnerabilità.
Scansione e Assessment
Il passaggio successivo consiste nel comprendere come l’applicazione di destinazione risponderà ai vari tentativi di intrusione. Questo viene in genere fatto utilizzando:
- Analisi statica : ispezione del codice “in chiaro” di un’applicazione per stimare il modo in cui si comporta durante l’esecuzione. Questi strumenti possono eseguire la scansione dell’intero codice in un unico passaggio.
- Analisi dinamica : ispezione del codice “in chiaro” di un’applicazione in stato di esecuzione. Questo è un modo più pratico di eseguire la scansione, poiché fornisce una visualizzazione in tempo reale delle prestazioni di un’applicazione.
Penetration ed Exploitation Phase
In questa fase vengono utilizzati attacchi alle applicazioni web, come cross-site scripting , SQL injection e backdoor , per scoprire le vulnerabilità di un obiettivo. I tester quindi cercano di sfruttare queste vulnerabilità, per guadagnare l’accesso alle infrastrutture target e in genere aumentando i privilegi, rubando dati, intercettando il traffico, ecc., Per comprendere il danno che possono causare.
Mantenere l’accesso
L’obiettivo di questa fase è vedere se la vulnerabilità può essere utilizzata per ottenere una presenza persistente nel sistema sfruttato, abbastanza a lungo da consentire a un criminale di ottenere un accesso approfondito e con privilegi importanti. L’idea è di imitare le minacce persistenti avanzate , che spesso rimangono in un sistema per mesi al fine di rubare i dati più sensibili di un’organizzazione.
Analisi
I risultati del Penetration Test vengono raccolti e organizzati in un report di dettaglio che contiene:
- Vulnerabilità specifiche che sono state sfruttate durante l’attacco;
- Dati personali e non a cui si è ottenuto l’accesso;
- Il tempo in cui il Tester è stato in grado di rimanere nel sistema senza essere rilevato;
I contenuti del report di solito vengono poi discussi in un meeting di debriefing con i referenti del cliente per analizzare le remediations che comprendono:
- Quali modifiche è necessario apportare alle configurazioni dei sistemi;
- Se le soluzioni di sicurezza che l’organizzazione utilizza vanno aggiornate/modificate;
- Se occorre aggiungere, aggiornare o rimuovere applicazioni software per correggere le vulnerabilità e proteggersi da attacchi futuri.
Metodologie adottate per i PEN Test
Test esterni
I Pen Test esterni prendono di mira le risorse di un’azienda che sono visibili su Internet come, ad esempio, applicazioni Web, il sito Web dell’azienda, i server di posta elettronica e dei nomi di dominio (DNS). L’obiettivo è ottenere l’accesso ed estrarre dati importanti.
Test interni
In un “test interno”, un operatore autorizzato riceve accesso a un’applicazione che si trova “dietro il firewall” dell’organizzazione e simula un attacco da parte di un malintenzionato. Questo scenario serve a simulare situazioni dove l’attaccante opera dall’interno dell’organizzazione, situazione che potrebbe crearsi, ad esempio, quando vengono sottratte in maniera fraudolenta le credenziali di soggetti autorizzati (dipendenti, collaboratori, dirigenti, admin) magari a causa di un attacco di phishing.
Test alla cieca
Nei cosiddetti “blind test”, viene replicato un vero e proprio attacco informatico (ovviamente autorizzato dall’organizzazione target). Le informazioni fornite sono limitate e l’hacker etico che svolge il test deve scoprire la maggior parte delle informazioni sull’organizzazione target proprio come se fosse un hacker non etico. In questo scenario il personale tecnico dell’organizzazione target è informato e monitora ciò che avviene durante l’attacco.
Test “doppio cieco”
In un test “D-Blind” o doppio cieco, il personale di sicurezza dell’organizzazione target non ha alcuna conoscenza preliminare dell’attacco simulato. Come nella realtà di tutti i gironi, non avranno il tempo di rafforzare le loro difese prima di un tentativo di violazione.
Test mirati
In questo scenario, sia gli operatori incaricati del Pen Test che il personale di sicurezza dell’organizzazione target, lavorano insieme e si tengono reciprocamente aggiornati sulle attività di testing. Si tratta di un prezioso esercizio di formazione “on the job” che fornisce a un team di sicurezza feedback in tempo reale dal punto di vista di un hacker.
Penetration testing e firewall per applicazioni web
Le attività imprenditoriali, oggi più che mai, dipendono dai sistemi informatici, per questo i Vulnerability e i Pen Test sono utili alla prevenzione degli cyber-attacchi.
Vulnerability Assessment e Penetration Test devono far parte di una politica più ampia di sicurezza aziendale. Da soli non bastano: nelle aziende deve instaurarsi una vera e propria cultura della sicurezza, che si traduca in un progetto integrato, nel quale comprendere attività di prevenzione delle minacce come il Vulnerability Assessment e il Penetration Test.