I test di penetrazione scoprono per tempo le lacune della sicurezza IT
Rilevare le vulnerabilità nell'IT aziendale stesso prima che un attaccante possa trovarle e sfruttarle - questa è l'idea di un test di penetrazione. Pianificato con cura ed eseguito da un fornitore di servizi professionale a livello di rete e di sistema o a livello di applicazione, un tale test si dimostra una misura efficace contro la crescente minaccia del crimine informatico.
Cybersecurity e sicurezza informatica continuano ad essere tra i temi digitali più importanti nel 2016, e giustamente, come mostra un recente sondaggio dell'associazione di settore Bitkom (www. bitkom.org). Più di due terzi delle aziende industriali intervistate hanno dichiarato di essere state vittime di furto di dati, spionaggio industriale o sabotaggio negli ultimi due anni.
Ma quanto è vulnerabile la vostra azienda? Per valutarlo realisticamente e per poter prendere le contromisure in tempo utile, è consigliabile effettuare un test di penetrazione. Simile a un'esercitazione antincendio, questa simula un'emergenza, in questo caso un attacco ai dati e ai sistemi informatici dell'azienda. L'obiettivo è quello di identificare preventivamente le vulnerabilità nei sistemi informatici, nel software o nella loro configurazione. In caso di un attacco effettivo, queste vulnerabilità potrebbero essere sfruttate dagli hacker per accedere ai sistemi, ottenere informazioni sensibili o limitare la disponibilità di sistemi e applicazioni.
L'emergenza è simulata
Di regola, i fornitori di servizi esterni specializzati in test di sicurezza sono incaricati dell'esecuzione professionale di un test di penetrazione basato su scenari realistici. La loro procedura segue un certo schema, proprio come quella dei veri aggressori: all'inizio, le informazioni vengono raccolte valutando le informazioni pubblicamente disponibili sui sistemi bersaglio, ad esempio dalle banche dati DNS e WHOIS e dalle tecniche di hacking di Google, così come dallo sniffing del traffico di rete. I Portscan sono quindi utilizzati per identificare le porte TCP e UDP aperte. Le impronte digitali dei banner e del software possono essere utilizzate per determinare quale sistema operativo e quali versioni di software sono utilizzate nell'azienda. I servizi di rete e le versioni del sistema operativo identificati in questo modo sono poi controllati per le vulnerabilità conosciute utilizzando scanner di vulnerabilità automatizzati. I risultati di queste scansioni sono poi verificati da controlli manuali - per eliminare i falsi positivi, ma anche per identificare possibili vulnerabilità aggiuntive.
Che cosa bisogna prendere in considerazione quando si commissiona a un fornitore di servizi esterno un test di penetrazione?
Prima di tutto, il contenuto e gli obiettivi del test dovrebbero essere specificati nel modo più concreto possibile. Tali specifiche potrebbero essere:
- Identificare e tentare di sfruttare le debolezze di implementazione del sistema operativo o le configurazioni errate del sistema di destinazione.
- ad esempio accedendo a file arbitrari su un server IIS
- Esame dei servizi indesiderati che sono permessi, ad esempio a causa di una configurazione difettosa o di regole di filtro insufficienti
- il tentativo di disabilitare i servizi distribuiti attraverso attacchi denial-of-service (DoS) o di lanciare attacchi DoS solo dopo l'approvazione esplicita del cliente.
Identificare e minimizzare i rischi
L'ultimo punto chiarisce che i test di penetrazione sono sempre associati a dei rischi. In pratica, gli attacchi denial-of-service vengono eseguiti solo se il cliente lo richiede esplicitamente. Ma anche senza questi attacchi ad alto rischio, un test di penetrazione può portare alla perdita di disponibilità del sistema se, per esempio, il sistema colpito deve prima essere riavviato manualmente da un amministratore locale dopo un crash. Un'altra conseguenza indesiderata di un test di penetrazione può essere la perdita di dati.
A seconda dell'ambiente di destinazione, questi pericoli possono rappresentare un rischio inaccettabile. Questo è particolarmente vero per i sistemi di produzione. Questi sistemi possono quindi essere esclusi dai test rischiosi. Tuttavia, questo riduce sempre la significatività del test, perché i veri attaccanti non si fermano ai sistemi di produzione. Le vulnerabilità critiche potrebbero essere trascurate. Un'alternativa è quella di effettuare il test fuori dall'orario di lavoro o in un ambiente di test identico che replichi l'ambiente produttivo 1:1. I potenziali danni ai sistemi produttivi in caso di guasto possono quindi essere evitati o almeno ridotti.
Tuttavia, poiché un rischio residuo per i sistemi e i dati esaminati non può mai essere completamente escluso, è essenziale che i test di penetrazione siano pianificati molto accuratamente in anticipo dal dipartimento IT del cliente e dal penetration tester insieme. Durante l'esecuzione, una persona di contatto tecnico dovrebbe essere disponibile per il coordinamento in ogni momento.
Combinare correttamente le opzioni di implementazione
I test di penetrazione possono essere eseguiti in diversi modi, di solito combinando le opzioni possibili.
Scatola nera contro scatola bianca
Prima di tutto, si può fare una distinzione tra i test "scatola nera" e "scatola bianca". Nel caso di test in scatola nera, al fornitore di servizi esterno vengono fornite solo le informazioni più necessarie, come il nome della rete IT da testare - al fine di simulare le possibilità di un attaccante esterno nel modo più realistico possibile. L'aggressore cerca poi la gamma di indirizzi IP e i possibili "gateway". Controllare il funzionamento dei sistemi IDS/IPS e il comportamento e la velocità di reazione dei dipendenti dell'azienda può anche essere un obiettivo parziale di un test BlackBox.
Tuttavia, questo approccio richiede molto tempo e quindi è molto costoso. Nel caso dell'aggressore vero e proprio, si può presumere che si sarebbe preso il tempo necessario per la pianificazione e la preparazione. I loro attacchi stanno diventando sempre più complessi e tecnicamente sofisticati, e i metodi di ingegneria sociale sono di solito utilizzati anche per raccogliere informazioni. Questi metodi non sono sempre facili da individuare: ad esempio, vengono falsificati gli indirizzi del mittente di e-mail di altre aziende e vengono inviate e-mail di pishing fatte su misura per il destinatario, i suoi interessi e la sua cerchia di conoscenze (spear pishing) per iniettare malware. Il malware iniettato viene utilizzato per ottenere tutte le informazioni necessarie dalla rete informatica attaccata.
Per compensare questo "vantaggio" dei potenziali hacker rispetto al fornitore di servizi IT che agisce in un lasso di tempo limitato, si ricorre al metodo della scatola bianca quando si eseguono i test di penetrazione. Qui, al penetration tester vengono fornite informazioni dettagliate sui sistemi da testare e sull'infrastruttura di rete. Così, all'inizio dei test di penetrazione, il tester è al livello di informazione di un vero attaccante dopo settimane di lavoro. Questo permette anche di trovare vulnerabilità che potrebbero altrimenti non essere rilevate in un test di pura scatola nera. In pratica, di solito si usa un mix di test di penetrazione black-box e white-box.
On-site vs. off-site
La seconda distinzione riguarda il punto da cui vengono effettuati i test/attacchi. I test di penetrazione possono essere eseguiti fuori sede via Internet o sul posto all'interno della rete aziendale stessa.
I test di penetrazione off-site hanno il vantaggio di essere molto convenienti e di corrispondere al vettore di attacco di un potenziale attaccante da Internet. Tuttavia, il loro messaggio è limitato: un servizio vulnerabile, per esempio, che è stato bloccato da un firewall a monte durante il test non verrebbe identificato.
Un test in loco dalla zona demilitarizzata (DMZ), d'altra parte, può simulare che un attaccante abbia già preso il controllo di un sistema, ad esempio un server web. Nel caso di una sicurezza a più livelli, con un firewall tra Internet e DMZ e tra DMZ e ufficio, la sicurezza può essere testata in modo molto più completo. Una sicurezza di difesa in profondità verificata in questo modo offre ancora una protezione sufficiente per respingere un aggressore anche se un sistema della catena di sicurezza è compromesso. Inoltre, i test in loco possono essere utilizzati anche per verificare le minacce provenienti da autori interni o insider - un rischio che non deve essere sottovalutato: secondo l'indagine Bitkom menzionata all'inizio, gli attuali o ex dipendenti erano dietro gli attacchi nel 65% dei casi.
In definitiva, l'approccio più efficace e completo è una combinazione delle diverse opzioni: Black-/white-box, test off-site/on-site per coprire tutti gli scenari di minaccia, e integrare gli scanner automatici con metodi manuali. Un test di penetrazione attentamente pianificato è quindi una misura efficace per salvaguardarsi da potenziali minacce ed è anche più efficiente e conveniente a questo scopo di un audit completo del sistema - a condizione, naturalmente, che le vulnerabilità identificate vengano successivamente corrette.