Sicurezza informatica · App web, API e mobile

Penetration test: cos'è, come funziona e cosa ti resta in mano alla fine

Un penetration test è una prova d'attacco su commissione: una persona esperta, con il tuo permesso scritto e regole precise, prova a entrare nella tua applicazione per trovare i punti deboli prima di chiunque altro. Alla fine ricevi un rapporto con ogni problema, la sua gravità e il modo di correggerlo, e dopo le correzioni una nuova prova conferma cosa è stato chiuso.

Di Emanuele Martino Podo, CEO e cofondatore di elevenhats. Aggiornata il .

In breve

Cos'è
Una prova d'attacco concordata sulla tua app web, sull'app per telefono o sulle API (le porte da cui passano i loro dati), per trovare i punti deboli prima di altri.
Cosa ricevi
Un rapporto con ogni problema, la sua gravità da 0 a 10 e il modo di correggerlo. Dopo le correzioni, una nuova prova conferma cosa è stato chiuso.
Cosa fare
Scegliere cosa provare e quanto deve sapere chi fa il test. Poi correggere, partendo dai problemi più gravi.

Penetration test: cos'è, in parole semplici?

Un penetration test, o pentest, è un attacco vero ma su commissione: una persona esperta prova a entrare nella tua applicazione, con il tuo permesso scritto e regole precise.

Il NIST, l'istituto americano che pubblica gli standard tecnici, lo descrive così: chi fa il test imita gli attacchi reali per trovare il modo di aggirare le protezioni di un'applicazione, di un sistema o di una rete.

Un esempio. Nella tua app ogni cliente vede i suoi ordini a un indirizzo che finisce con un numero, per esempio /ordini/1041. Chi fa il test entra come cliente e prova a scrivere 1042. Se compare l'ordine di un'altra persona, ha trovato un problema che un programma automatico difficilmente nota: per lui la pagina funziona benissimo.

OWASP, una fondazione senza scopo di lucro che pubblica guide gratuite sulla sicurezza del software, mette proprio questo errore al primo posto della sua classifica dei rischi delle API (edizione 2023).

Che differenza c'è tra vulnerability assessment e penetration test?

Il vulnerability assessment cerca i punti deboli già noti, di solito con programmi automatici. Il penetration test prova a usarli davvero, da soli o combinati, per vedere fin dove si arriva.

Quale ti serve?

Se vuoi un controllo frequente dei difetti noti

Vulnerability assessment

  • Veloce e ripetibile. Programmi automatici, più una persona che legge i risultati e scarta i falsi allarmi, cioè i problemi segnalati che non esistono.
  • Si rifà spesso, per esempio dopo ogni aggiornamento importante.

Se vuoi sapere cosa può fare davvero chi attacca la tua app

Penetration test

  • Una persona al lavoro. Prova i difetti, li combina e controlla le regole dell'app: chi vede cosa, chi può fare cosa.
  • Trova gli errori di logica, come l'ordine 1042, che i programmi automatici di solito non vedono.
  • Conferma ogni problema con una prova, così sai cosa è reale.

Cosa si può testare: app web, API e app mobile?

Tutto quello che i tuoi utenti toccano e tutto quello con cui la tua app parla. Di solito sono tre cose, più i server su cui l'app gira.

  • L'applicazione web, quella che si apre nel browser. Si provano l'accesso, i permessi, le sessioni (il modo in cui l'app ti riconosce dopo l'accesso), i dati che gli utenti scrivono nei moduli e la logica dell'app.
  • Le API (Application Programming Interface), le porte di servizio da cui l'app e gli altri programmi chiedono e mandano dati al server.
  • L'app mobile, per iOS e per Android. Si guarda cosa salva sul telefono, come protegge quei dati e come parla con il server.

Gli errori di logica si capiscono al volo. Un buono sconto che vale due volte se premi «Paga» due volte di fila. Un utente normale che apre la pagina dell'amministratore scrivendo l'indirizzo a mano. Un prezzo che si può cambiare nel carrello prima di pagare. Sono regole scritte male, e le trova soprattutto una persona che ragiona come un utente furbo.

Black box, grey box o white box: quanto deve sapere chi fa il test?

Dipende da chi vuoi imitare: un estraneo che non sa nulla, un utente registrato o qualcuno che conosce il progetto dall'interno.

Black box, grey box, white box

  1. Black box

    Cosa riceve chi testa
    L'indirizzo dell'app e poco altro
    Cosa imita
    Chi non ha nessun accesso
  2. Grey box

    Cosa riceve chi testa
    Un utente per ogni ruolo e la documentazione delle API
    Cosa imita
    Un cliente o un dipendente che prova a fare più del dovuto
  3. White box

    Cosa riceve chi testa
    Documentazione, architettura e codice sorgente
    Cosa imita
    Chi conosce il progetto dall'interno
Definizioni del glossario del NIST: il black box prova l'applicazione senza guardarne la struttura interna, il grey box presuppone qualche conoscenza della struttura interna, il white box una conoscenza esplicita e ampia.

Per un'app con utenti e ruoli, secondo noi il grey box è spesso il punto d'equilibrio: il tempo va a ciò che conta, cioè a cosa può fare un utente oltre il dovuto.

Quanto dura un penetration test e cosa ricevi alla fine?

Dura quanto serve per il perimetro: più funzioni, API, ruoli e app da provare, più giorni di lavoro. Alla fine ricevi un rapporto scritto e, dopo le correzioni, una nuova verifica sui punti trovati.

Un penetration test, dall'inizio alla fine

  1. Prima

    Perimetro e regole. Si decide cosa provare, come e quando. Si mette per iscritto e si firma.

  2. Durante

    Il test. Solo dentro il perimetro. Chi fa il test tiene un registro di ogni passo, così le sue azioni si distinguono da quelle di un attacco vero.

  3. Alla fine

    Il rapporto. Ogni problema con la sua gravità, le prove e il modo di correggerlo.

  4. Dopo le correzioni

    Il retest. Si ripetono le prove sui punti trovati e si conferma per iscritto cosa è chiuso.

Chi firma e dove si prova lo spiega la guida su penetration test e NIS2.

Un buon rapporto parla a due persone: a chi decide, con una sintesi in parole semplici, e a chi corregge, con una parte tecnica su dove sta ogni problema, come è stato trovato, quanto è grave e cosa fare.

Come si legge la gravità

Ogni problema riceve un voto da 0 a 10 secondo il CVSS (Common Vulnerability Scoring System), il sistema aperto per descrivere la gravità delle vulnerabilità. A ogni voto corrisponde una parola.

GravitàVoto CVSS
Nessuna0,0
Bassa0,1-3,9
Media4,0-6,9
Alta7,0-8,9
Critica9,0-10,0

Scala di gravità della versione 4.0 del CVSS, pubblicata il 1° novembre 2023.

Cosa si corregge prima?

Prima i problemi critici e alti, poi gli altri. Ma il voto è un punto di partenza, non una sentenza: conta anche dove sta il problema.

Un difetto medio sulla pagina con i dati dei clienti può meritare più fretta di uno alto su un vecchio ambiente di prova che nessuno usa più. Il NIST raccomanda proprio questo: dare a ogni vulnerabilità il livello di rischio adatto alla propria realtà, senza prendere per buono quello assegnato dagli strumenti.

Su quali metodi si basa un buon penetration test?

Sulle guide pubbliche di OWASP. Per le applicazioni web e le API: la WSTG, la guida per provarne la sicurezza, e l'ASVS, l'elenco dei requisiti di sicurezza. Per le app mobile: il MASVS, lo standard di sicurezza, e il MASTG, il manuale per provarne i controlli uno per uno. «Che metodo seguite?» è una buona domanda da fare prima di firmare.

Per chi sviluppaVersioni, livelli e punteggi
  • WSTG (Web Security Testing Guide). La versione stabile è la 4.2; la 5.0 è in sviluppo.
  • ASVS (Application Security Verification Standard) 5.0.0, del 30 maggio 2025. Tre livelli: L1, L2 e L3; secondo OWASP la maggior parte delle applicazioni dovrebbe puntare al secondo. OWASP lo propone anche come base per i requisiti di sicurezza nei contratti: se fai sviluppare la tua app a una software house, puoi chiedere un livello preciso. Perfino il primo livello non sempre si può verificare da fuori, in black box, senza documentazione o codice.
  • MASVS (Mobile Application Security Verification Standard). Otto gruppi di controlli, da MASVS-STORAGE a MASVS-PRIVACY. Il MASTG (Mobile Application Security Testing Guide) descrive come verificarli.
  • CVSS 4.0, curato da FIRST, il forum internazionale dei gruppi che rispondono agli incidenti informatici. Quattro gruppi di metriche: Base, Threat, Environmental e Supplemental. Il gruppo Base descrive il difetto in sé; Threat ed Environmental lo adattano al momento e al tuo ambiente. La scala qualitativa (Bassa, Media, Alta, Critica) è facoltativa e serve a decidere le priorità.
  • API. Il primo rischio dell'OWASP API Security Top 10 2023 è Broken Object Level Authorization: va previsto un controllo di autorizzazione in ogni funzione che accede ai dati usando un identificativo mandato dall'utente. È l'ordine 1042 dell'esempio.

Domande frequenti

Quanto costa un penetration test?

Non c'è un prezzo di listino: dipende dal perimetro. Contano quante schermate e API si provano, quanti ruoli utente ci sono, se ci sono app per iOS e Android, quanto sa in partenza chi fa il test e se il retest è compreso. Per un preventivo serio serve un perimetro scritto.

Cos'è il retest?

È la seconda prova, dopo le correzioni: si ripetono i test sui punti trovati e si conferma per iscritto quali sono chiusi.

Che differenza c'è tra penetration test e revisione del codice?

Il penetration test prova l'app dall'esterno, mentre funziona; la revisione sicura del codice legge il codice sorgente alla ricerca di errori che aprono falle. Si completano, e in un test white box lavorano fianco a fianco.

Un penetration test sostituisce le scansioni automatiche?

No, si sommano. Secondo il NIST, scansioni regolari intervallate da penetration test periodici aiutano a prevenire molti tipi di attacco e a ridurre i danni di quelli riusciti.

Avvisami quando la guida cambia

I metodi OWASP si aggiornano: la versione 5.0 della WSTG è in sviluppo. Lasciaci un contatto: ti scriviamo quando aggiorniamo questa guida.

Fonti

Mostra tutte le 12 fonti

Emanuele Martino Podo

CEO e cofondatore di elevenhats

Vengo da settori dove le cose devono funzionare, punto. Nel 2025 ho cofondato elevenhats: costruiamo software su misura e AI per le PMI italiane che non possono permettersi errori.

Profilo LinkedIn

Cosa è cambiato

  • : Prima versione.