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
Black box
- Cosa riceve chi testa
- L'indirizzo dell'app e poco altro
- Cosa imita
- Chi non ha nessun accesso
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
White box
- Cosa riceve chi testa
- Documentazione, architettura e codice sorgente
- Cosa imita
- Chi conosce il progetto dall'interno
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
Prima
Perimetro e regole. Si decide cosa provare, come e quando. Si mette per iscritto e si firma.
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.
Alla fine
Il rapporto. Ogni problema con la sua gravità, le prove e il modo di correggerlo.
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 |
|---|---|
| Nessuna | 0,0 |
| Bassa | 0,1-3,9 |
| Media | 4,0-6,9 |
| Alta | 7,0-8,9 |
| Critica | 9,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
- NIST SP 800-115, Technical Guide to Information Security Testing and Assessment, National Institute of Standards and Technology (NIST). Verificata il .
- Glossary: penetration testing, NIST Computer Security Resource Center. Verificata il .
- Glossary: black box testing, NIST Computer Security Resource Center. Verificata il .
- Glossary: gray box testing, NIST Computer Security Resource Center. Verificata il .
- Glossary: white box testing, NIST Computer Security Resource Center. Verificata il .
- Web Security Testing Guide (WSTG), OWASP Foundation. Verificata il .
- Application Security Verification Standard (ASVS) 5.0.0, OWASP Foundation, 30 maggio 2025. Verificata il .
- ASVS 5.0.0, What is the ASVS? (livelli di verifica), OWASP Foundation, GitHub, 30 maggio 2025. Verificata il .
- OWASP MASVS, Mobile Application Security Verification Standard, OWASP Mobile Application Security. Verificata il .
- OWASP MASTG, Mobile Application Security Testing Guide, OWASP Mobile Application Security. Verificata il .
- OWASP Top 10 API Security Risks, 2023, OWASP API Security Project. Verificata il .
- Common Vulnerability Scoring System v4.0: Specification Document, FIRST, Forum of Incident Response and Security Teams, 1 novembre 2023. Verificata il .
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 LinkedInCosa è cambiato
- : Prima versione.