Al fine di ridurre l’effetto degli attacchi informatici, l’attività di ethical hacking può essere considerata una delle soluzioni che mitiga il rischio legato alle minacce digitali. L’obiettivo dell’ethical hacking consiste, infatti, nel rendere i sistemi esistenti più sicuri, efficienti e resilienti garantendo la sicurezza dei dati elaborati.
In altri termini, l’insieme dei test di vulnerabilità, penetrazione e Red Teaming (che insieme sono riconducibili all’ethical hacking) è quello di identificare rispettivamente le falle del codice, capire se le falle sono sfruttabili e simulare un attacco con l’obiettivo di identificare l’entità intera della lacuna di sicurezza.
Ogni problema identificato dovrebbe successivamente essere risolto e mitigato dall’azienda per raggiungere complessivamente una migliore resilienza.
Indice degli argomenti
Introduzione all’ethical hacking
L’hacking etico è l’attività di analisi di un sistema informatico allo scopo di identificare le aree in cui un’organizzazione può migliorare la propria sicurezza informatica. A seguito di una o più simulazioni di attacco gli hacker etici scrivono un rapporto che descrive in dettaglio ciò che hanno fatto o ciò che manca in termini di sicurezza informatica e lo consegnano all’organizzazione in modo che possa creare patch software appropriate o distribuire aggiornamenti della versione del software.
Un hacker etico pensa e agisce proprio come un hacker criminale, con l’unica differenza dell’impostazione “etica” che permette di operare non per danneggiare l’organizzazione, ma per aiutarla a rilevare le falle nella sicurezza delle sue reti e dei suoi sistemi.
Gli strumenti, le tecniche e le strategie utilizzate da entrambi i tipi di hacker possono essere gli stessi, ma il fine degli hacker etici è la protezione dei dati e la prevenzione da furti, truffe e da attacchi di vario tipo (fonte: Fedvte glossary). Stefano Chiccarelli, Head of Ethical Hacking in Cyber Partners spiega che: “il termine ethical hacking è molto abusato. Chi fa queste attività dovrebbe avere un mindset “criminale” perché è necessario sia saper ragionare in modo creativo per inventare nuovi modi per violare un’infrastruttura aziendale, sia usare questo mindset a fin di bene, cioè, nel team dei difensori; si tratta di una scelta personale che coinvolge l’etica della persona. Quando si fa questa scelta la complessità sta nel mantenere il “mindset criminale” per capire lo scenario di attacco e provare ad eseguirlo ed allo stesso tempo saper introdurre correttivi che possano fortificare l’infrastruttura analizzata. Il mindset non va mai perso, ma si deve capire bene il limite di demarcazione”.
“Un altro tema fondamentale”, continua ancora Chiccarelli, “è il mix di competenze necessario per il gruppo di ethical hacking. Non esiste il singolo che sa fare tutto. Ci vuole esperienza e seniority, è necessaria sia una specializzazione verticale su certe tecnologie ma anche quella trasversale del senior che può aiutare e supportare il team in una visione d’insieme. Per quanto questa attività sia innovativa è molto simile al lavoro di un artigiano, perché esistono specificità e caratteristiche peculiari che ogni componente del team esprime nel proprio lavoro”.
Le differenze fra VA, PT e Red Teaming sono importanti anche per capire le competenze che il team di ethical hacking deve avere: il Vulnerability Assessment (VA) è l’esame sistematico di un sistema informativo o di un asset digitale (prodotto, app, sistema) per determinare le vulnerabilità ovvero le debolezze del codice e l’adeguatezza delle misure di sicurezza in essere. Segue poi la fase di proposta di misure di sicurezza a copertura delle vulnerabilità e la conferma dell’adeguatezza di tali misure dopo l’attuazione (fonte: NIST).
Tipicamente nella identificazione di vulnerabilità si possono verificare liste di “falsi positivi” perché non tutte le vulnerabilità identificate sono effettivamente “sfruttabili” ovvero utilizzabili per un fine malevolo. Per questo motivo sempre associato al VA c’e’ il Penetration Testing (PT). Il Pentesting è un processo per testare un sistema, una rete, un’applicazione Web, una struttura o qualche altra risorsa digitale al fine di trovare quante più vulnerabilità e problemi di configurazione possibili entro il tempo assegnato e provare a sfruttarle (fonte: ARXIV.org).
Ovvero durante un Pentesting si verifica una versione del software installato nota per essere vulnerabile, proprio per tentare di sfruttare tale vulnerabilità. Questo processo continua per tutte le vulnerabilità note e combinando gli attacchi si punta a raggiungere l’obiettivo finale cioè la compromissione di un bersaglio inizialmente concordato e definito. I pentester sfruttano quindi le vulnerabilità per determinare il valore di rischio tecnico che la vulnerabilità comporta.
Infine, il Red Teaming, che potrebbe sembrare simile al Pentesting è maggiormente basato sugli scenari, ovvero ha obiettivi diversi dal Pentesting. L’obiettivo del Red Team non è solo quello di testare l’ambiente e i sistemi all’interno dell’ambiente, ma anche di testare le persone e i processi dell’organizzazione.
Gli scenari tipici includono lo sfruttamento di laptop smarriti, dispositivi non autorizzati connessi alla rete interna e host DMZ compromessi, nonché il test del modo in cui il centro operativo di sicurezza (SOC) o il blue team reagiscono a una minaccia persistente avanzata.
I Red Team possono anche utilizzare test basati su scenari per il rilevamento e la risposta, come testare la capacità di un’azienda di rilevare e gestire le minacce esterne, quali ad esempio campagne di phishing, tentativi di ingegneria sociale, tentativi di ottenere l’accesso fisico al sito, valutazioni di compromissione del sito Web, evasione del software di protezione, movimento laterale attraverso le reti e molti altri attacchi.
Gli scenari cambiano al variare della complessità dei sistemi di un’organizzazione.
Come utilizzare l’ethical hacking per la prevenzione delle minacce
Le tecniche di ethical hacking possono essere applicate da ogni organizzazione per diminuire i rischi informatici, ridurre il potenziale danno di reputazione, accrescere la sicurezza dei propri dati e possono concorrere al mantenimento della privacy digitale degli utenti/clienti/fornitori. Infine, l’organizzazione grazie ai test di sicurezza può comprendere meglio potenziali attacchi informatici e prevenirne il verificarsi.
Quale che sia l’attività tecnica svolta dall’ethical hacking in ciascuna delle sue specializzazioni (VA/PT o Red Teaming) è molto importante per le organizzazioni avviare un piano di remediation per le debolezze del codice trovate per massimizzare l’efficacia dei test e delle verifiche effettuate. Infatti, queste attività aiutano le aziende se e solo se le aziende si prendono in carico il patch management e il follow up che ne consegue ovvero, se e solo se a valle dei test l’organizzazione si attiva per chiudere le falle di sicurezza riscontrate mediante patching ed introdurre cambiamenti organizzativi e/o di processo.
Stefano Chiccarelli, su questo tema, spiega che in diverse occasioni ha potuto verificare come alcune organizzazioni a distanza di anni non avessero ancora chiuso le proprie vulnerabilità e di conseguenza non avevano ridotto la propria superficie di attacco, vanificando l’investimento nei test.
Come buone prassi si consiglia non solo di effettuare test, effettuare la remediation, ma anche ripetere tali test con cadenza periodica e diversificare i fornitori che l’organizzazione adotta poiché ogni gruppo di esperti e specialisti può concorrere con una vista diversa dagli altri, in ragione della creatività, esperienza e specializzazione dei diversi team. Infine, poiché i test permettono di verificare vulnerabilità note, per resistere a vulnerabilità sconosciute, chiamate 0-day, è necessario rafforzare il rilevamento delle anomalie mediante sistemi di rilevamento/prevenzione delle intrusioni (IDS, IPS n.d.r.).
Infatti, la sicurezza viene aumentata progettando una cooperazione efficiente tra i diversi elementi di sicurezza di rete e di test di Ethical Hacking. “Non si creda inoltre che i tool automatici possano essere sufficienti da soli”, continua Chiccarelli: “si possono usare per un primo screaning e per individuare il “grosso dei risultati”, ma il risultato finale dipende sempre dal livello rischio residuo che i manager si vogliono assumere, dalla profondità delle analisi e dalla consapevolezza che c’è in azienda. L’azienda deve avere una security e maturity level di una certa entità, ma oggi non tutti i manager hanno una preparazione sulla sicurezza informatica”.
Come scegliere il team più adatto alle proprie esigenze
Saper scegliere il team di ethical hacking non è un elemento del tutto scontato. Infatti, saper valutare la professionalità e l’esperienza del fornitore di questi servizi dipende da diversi fattori. Come è stato già sottolineato il lavoro dei test di sicurezza informatica assomiglia ad un lavoro artigianale che dipende dalle caratteristiche del team di analisti, e dal fatto che questi professionisti sono comunque esseri umani. Stefano Chiccarelli su quest’ultimo aspetto, spiega che gli esseri umani possono sbagliare ma l’approccio “a team” aiuta nel controllo reciproco, nella gestione dello stress, delle urgenze e delle deadline. Molti team utilizzano anche tool automatici ma sono una commodity per la compliance o rappresentano un punto di partenza delle analisi che possono essere successivamente completate dall’uso ed applicazione di framework e metodologie.
Per scegliere un team si può anche fare riferimento alla reputazione professionale dei suoi componenti o delle figure senior, perché nella community di Sicurezza Informatica questo tipo di informazioni sono semplici da reperire. Stefano Chiccarelli, in generale suggerisce di mettere alla prova il team di ethical hacking, utilizzando un perimetro limitato per esaminare e rendersi conto della qualità dei risultati e dei report prodotti. Consiglia anche di eseguire una rotazione dei fornitori in modo che l’organizzazione possa beneficiare della differenziazione perché cambiare fornitore aiuta anche a capire chi è competente e chi meno o chi resta valido nel tempo.
Su tutto, si renderebbe necessario che il codice digitale di app, prodotti e applicazioni web, fosse scritto con un ciclo di vita in cui le misure di sicurezza fossero prerequisiti e primitive obbligatore. Ma non sono molte le software farm e i vendor di prodotti digitali che garantiscono adozione di prassi di sicurezza durante lo sviluppo e l’analisi della sicurezza del codice. In sostanza non tutti adottano prassi di DevSecOps, tuttavia l’ethical hacking ad oggi consente di porre le verifiche di sicurezza a valle di questi processi di sviluppo, garantendo misure preventive di warning e anche suggerimenti di remediation a chiusura delle vulnerabilità.
Contributo editoriale sviluppato in collaborazione con Cyber Partners