Vai al contenuto principale

Penetration testing.

Un penetration test è una simulazione di attacco autorizzata e perimetrata, finalizzata a individuare vulnerabilità sfruttabili prima che lo facciano attaccanti reali. Black box / grey box / white box, interno / esterno, applicativo / infrastrutturale. Da distinguere dalla vulnerability scan (automatizzata, in ampiezza) e dal red team (plurimensile, basato su obiettivi). I report alimentano il backlog di remediation.

Di Christophe Mazzola, Practicing CISO · Founder of Cyber AcademyOperazioni di cybersecurityTutte le voci

Il punto di vista di Cyber Academy

Un penetration test è una simulazione di attacco autorizzata e perimetrata, finalizzata a individuare vulnerabilità sfruttabili prima che lo facciano attaccanti reali. Black box / grey box / white box, interno / esterno, applicativo / infrastrutturale. Da distinguere dalla vulnerability scan (automatizzata, in ampiezza) e dal red team (plurimensile, basato su obiettivi). I report alimentano il backlog di remediation.

Che cos'è davvero un penetration test

Un penetration test è un tentativo deliberato e autorizzato di introdursi in un sistema come farebbe un vero attaccante, condotto nell'ambito di un perimetro scritto e di regole di ingaggio. Lo scopo non è elencare debolezze teoriche, ma dimostrare quali possano essere realmente concatenate per raggiungere qualcosa che conta: un database, un account di amministrazione, un record cliente, un flusso di pagamento. Il tester segue lo stesso percorso di un intruso, ma con il permesso e un confine definito, così che l'organizzazione scopra dove cederebbe prima che lo faccia qualcuno di ostile. È l'autorizzazione a separare un penetration test da un reato; senza un perimetro firmato, le stesse azioni sono semplicemente un'intrusione.

Le attività vengono inquadrate lungo alcuni assi che il perimetro deve fissare in anticipo. Il livello di conoscenza va dalla scatola nera, in cui il tester parte da nient'altro che un nome o un intervallo di indirizzi IP, attraverso la scatola grigia, in cui ottiene un account a privilegi ridotti o documentazione parziale, fino alla scatola bianca, in cui riceve il codice sorgente, i diagrammi di architettura e credenziali complete.

Il punto di osservazione è esterno, simulando un attaccante su Internet, oppure interno, simulando qualcuno già penetrato nella rete o un insider malevolo. Il tipo di bersaglio distingue il test applicativo, che sonda un'applicazione web o mobile e la sua logica, dal test infrastrutturale, che si rivolge a host, servizi e configurazione di rete. La maggior parte dei programmi reali combina questi approcci per allinearsi alle minacce che realmente li preoccupano.

In che cosa differisce da una scansione e da un red team

La confusione più comune è tra un penetration test e una scansione delle vulnerabilità, e le due cose non sono uguali. Una scansione delle vulnerabilità è automatizzata e ottimizzata per l'ampiezza: uno strumento passa in rassegna ogni asset raggiungibile, confronta ciò che trova con un database di problemi noti e produce un lungo elenco. È veloce, ripetibile ed economica, ma non può dirti se un dato risultato sia realmente sfruttabile nel tuo ambiente o un falso positivo.

Un penetration test è guidato da un essere umano e ottimizzato per la profondità: il tester convalida i risultati sfruttandoli davvero, concatena diversi problemi di gravità minore in una compromissione reale e mette alla prova la logica di business e le ipotesi di fiducia che nessuno scanner comprende. La scansione ti dice cosa potrebbe non andare; il penetration test ti dice cosa potrebbe davvero farne un attaccante.

All'altro estremo si colloca il red team, anch'esso spesso confuso con il penetration test. Un'attività di red team è più lunga, spesso si protrae per mesi, ed è orientata all'obiettivo anziché alla copertura: la meta è raggiungere un risultato specifico, come esfiltrare un insieme di dati definito o arrivare a un determinato sistema, restando inosservati e verificando se i difensori se ne accorgono e reagiscono. Un penetration test punta alla copertura entro un perimetro ed è di solito noto ai team interessati; un red team punta a un singolo obiettivo in profondità e mette alla prova deliberatamente il rilevamento e la risposta quanto i controlli stessi.

Il penetration test a confronto con una scansione delle vulnerabilità e un red team
DimensioneScansione delle vulnerabilitàPenetration testRed team
MetodoStrumenti automatizzatiGuidato da un essere umano, praticoGuidato da un essere umano, emulazione dell'avversario
MetaAmpiezza: elencare i problemi notiProfondità: dimostrare la sfruttabilità nel perimetroObiettivo: raggiungere un bersaglio definito
ConvalidaNessuno sfruttamentoRisultati sfruttati e concatenatiCatena d'attacco completa fino all'obiettivo
Rilevamento testatoNoDi solito noSì, mette alla prova direttamente i difensori
Durata tipicaDa minuti a oreDa giorni a settimaneDa settimane a mesi

Quale posto occupa in un programma di sicurezza

Un penetration test è una verifica puntuale, non un controllo di per sé. Il suo vero valore si realizza dopo l'attività, quando il report alimenta la coda di remediation. Un buon report fa molto di più che elencare i risultati: li ordina per sfruttabilità e impatto sul business, fornisce prove riproducibili e raccomanda correzioni. Quei risultati diventano ticket, responsabili e scadenze all'interno del più ampio processo di gestione delle vulnerabilità, e un nuovo test conferma che le correzioni hanno davvero chiuso le falle anziché spostarle. Senza questo seguito, un test è solo un documento costoso.

Il penetration test compare anche esplicitamente nelle norme e nella regolamentazione. Un sistema di gestione della sicurezza delle informazioni allineato a ISO/IEC 27001 considera i test tecnici come un modo per verificare che i controlli funzionino nella pratica, e i framework relativi ai pagamenti, alle infrastrutture critiche e ai servizi finanziari si aspettano sempre più test regolari e delimitati dei sistemi esposti a Internet e critici.

ENISA e agenzie nazionali come ANSSI pubblicano linee guida su come commissionare i test in modo responsabile, e l'insieme delle competenze offensive è formalizzato in certificazioni per hacker etici. Ciò che i professionisti consegnano realmente è un ritmo ricorrente: delimitare l'attività, concordare le regole di ingaggio e un'autorizzazione scritta, testare, riferire, rimediare, ritestare e ripetere via via che l'ambiente cambia.

Domande frequenti

01Qual è la differenza tra un penetration test e una scansione delle vulnerabilità?

Una scansione delle vulnerabilità è automatizzata e costruita per l'ampiezza: passa in rassegna gli asset ed elenca rapidamente i problemi noti, ma non può confermare se siano davvero sfruttabili. Un penetration test è guidato da un essere umano ed è costruito per la profondità: il tester sfrutta e concatena realmente i risultati per dimostrare cosa potrebbe fare un attaccante. La scansione è ciò che potrebbe non andare; il test è ciò che potrebbe davvero accadere.

02Che cosa significano scatola nera, scatola grigia e scatola bianca?

Descrivono quanto sa il tester all'inizio. La scatola nera non gli dà quasi nulla, simulando un attaccante esterno. La scatola grigia dà un accesso parziale, come un account a privilegi ridotti. La scatola bianca dà un accesso completo, incluso il codice sorgente e le credenziali, il che permette di trovare di più nello stesso tempo.

03Un penetration test è la stessa cosa di un'attività di red team?

No. Un penetration test cerca la copertura entro un perimetro definito ed è di solito noto ai team interessati. Un red team è più lungo e orientato all'obiettivo, mirando a raggiungere un bersaglio specifico restando nascosto, e mette alla prova esplicitamente se i difensori rilevano e rispondono.

04Con quale frequenza un'organizzazione dovrebbe eseguire un penetration test?

Il test è puntuale, quindi dovrebbe ripetersi con una cadenza regolare e anche dopo un cambiamento significativo, come un rilascio importante, un nuovo servizio esposto a Internet o una migrazione di infrastruttura. Molti framework di conformità si aspettano almeno un test annuale dei sistemi critici ed esposti a Internet, con un nuovo test una volta rimediati i risultati.

05Che cosa rende legale un penetration test?

Un'autorizzazione scritta e un perimetro concordato. Le stesse tecniche eseguite senza permesso costituiscono un'intrusione. Un'attività in piena regola è governata da regole di ingaggio firmate che definiscono i bersagli, i metodi consentiti, i tempi e i punti di contatto.

Hai bisogno di più di una definizione?

Prenota una chiamata di discovery gratuita di 20 minuti. Mappiamo la coorte che trasforma questo termine in una pratica pronta per l'audit.