Pentest Mobile Android e iOS
Il pentest mobile è il penetration test di applicazioni Android e iOS condotto con la metodologia OWASP MASVS/MASTG, che valuta archiviazione dei dati, comunicazione di rete, crittografia, autenticazione e resistenza a reverse engineering e tampering per provare, con evidenze, cosa un attaccante potrebbe estrarre o manipolare nella vostra app.
Cos'è un pentest mobile?
Il pentest mobile è il penetration test di un'app mobile — Android o iOS — dal punto di vista di un attaccante reale, coprendo il codice dell'app, i dati che salva sul dispositivo, la comunicazione con il backend e i controlli di sicurezza integrati. A differenza di un pentest web tradizionale, un pentest di applicazione deve gestire il binario installato sul dispositivo, il sistema operativo mobile e la possibilità che il dispositivo sia compromesso (root o jailbreak).
Berghem segue l'OWASP MASVS (Mobile Application Security Verification Standard) e la guida ai test OWASP MASTG, combinando analisi statica del binario, reverse engineering, instrumentazione dinamica a runtime e test sull'API che l'app utilizza. Il risultato è una mappa concreta di ciò che un attaccante raggiungerebbe — dal dato sensibile dimenticato su disco all'autenticazione aggirabile — con proof of concept, evidenze e raccomandazioni prioritizzate per impatto.
Per le istituzioni regolamentate, il perimetro mobile deve soddisfare anche i requisiti settoriali — incluse le risoluzioni BACEN/CMN sulla sicurezza informatica. Le app che processano pagamenti richiedono controlli aggiuntivi, e strutturiamo il test per generare evidenze utili al vostro processo di conformità.
Cosa è incluso
Cosa testiamo in un pentest mobile?
Seguiamo le categorie di verifica dell'OWASP MASVS. Ogni dominio è analizzato in modo statico e dinamico, validato manualmente e concatenato in scenari di attacco che dimostrano l'impatto reale — mai il solo rilievo isolato di uno strumento.
Archiviazione insicura dei dati
Il dato lasciato sul dispositivo è il primo bersaglio. Ispezioniamo database SQLite, SharedPreferences, plist, cache, log e la Keychain/Keystore alla ricerca di credenziali, token, dati personali e informazioni sensibili salvate senza protezione. Verifichiamo anche backup, screenshot in background e fughe da tastiera e appunti.
Comunicazione di rete
Intercettiamo il traffico tra app e backend per valutare l'uso di TLS, la validazione dei certificati e la robustezza del SSL pinning. Testiamo se il pinning può essere aggirato, se esistono endpoint in chiaro, downgrade di protocollo ed esposizione di dati in transito — il classico vettore man-in-the-middle contro le app mobili.
Crittografia e gestione delle chiavi
Analizziamo algoritmi, modalità e librerie crittografiche usate dall'app, cercando implementazioni deboli, chiavi e IV inseriti nel codice, casualità prevedibile e archiviazione inadeguata del materiale crittografico. Verifichiamo che i dati sensibili siano davvero cifrati e che la Keystore/Keychain sia usata correttamente.
Autenticazione, sessione e biometria
Testiamo i flussi di login, i token, la scadenza di sessione, il logout e la logica di autenticazione locale — inclusi PIN e biometria. Valutiamo se l'autenticazione può essere aggirata con un'app modificata, se la validazione avviene lato server e non solo sul client, e se le sessioni possono essere riusate o fissate.
Interazione con la piattaforma e IPC
Ogni piattaforma espone superfici proprie. Testiamo Activity, Service, Broadcast Receiver e Content Provider esportati su Android, URL scheme e universal link su iOS, WebView, deep link e la comunicazione tra processi. Cerchiamo componenti esposti che permettono di aggirare controlli o iniettare dati.
Resilienza, reversing e tampering
Applichiamo reverse engineering al binario per valutare offuscamento, segreti integrati e resistenza dell'app alla manipolazione. Testiamo il rilevamento di root/jailbreak, anti-hooking e anti-debug, e quanto quei controlli reggono all'instrumentazione con Frida e al repacking dell'app modificata.
Copertura per piattaforma
Android e iOS hanno modelli di sicurezza, formati di binario e superfici di attacco distinti. Adattiamo la metodologia alle specificità di ogni sistema, con dispositivi di test reali ed emulati.
Pentest Android
Penetration test di app Android a partire dall'APK/AAB: decompilazione con jadx e apktool, analisi dell'AndroidManifest e dei componenti esportati, ispezione dell'archiviazione, instrumentazione dinamica con Frida e bypass del rilevamento root e del SSL pinning. Valutiamo app in Java/Kotlin e codice nativo.
Pentest iOS
Valutazione di app iOS dall'IPA: analisi del binario e delle classi Objective-C/Swift, ispezione della Keychain e dell'archiviazione locale, URL scheme e universal link, e instrumentazione su dispositivo con jailbreak. Testiamo la protezione dei dati, la biometria (Face ID/Touch ID) e la resistenza al tampering.
Come conduciamo il test?
Lavoriamo con regole di ingaggio concordate e un canale sicuro con il cliente dall'inizio alla fine. Il test combina analisi statica del binario, test dinamici su dispositivo e valutazione dell'API che l'app utilizza, allineato all'OWASP MASTG.
Perimetro e preparazione
Definiamo le piattaforme e versioni in scope, il livello MASVS obiettivo, le credenziali di test, gli ambienti e i limiti. Riceviamo i binari (APK/IPA) e, ove applicabile, l'accesso al backend, e concordiamo obiettivi e modello dell'esercizio.
Analisi statica e reversing
Decompiliamo e analizziamo il binario alla ricerca di segreti integrati, endpoint, logica di autenticazione, uso della crittografia e componenti esposti. Mappiamo la superficie di attacco dell'app prima di passare allo sfruttamento dinamico.
Analisi dinamica e sfruttamento
Eseguiamo l'app su un dispositivo strumentato, intercettiamo il traffico, aggiriamo i controlli di sicurezza dove possibile e sfruttiamo falle di archiviazione, autenticazione, rete e IPC — concatenando i rilievi in scenari di attacco completi e preservando la stabilità dell'ambiente.
Report e remediation
Consegniamo ogni rilievo con proof of concept, evidenze, classificazione di severità e raccomandazione prioritizzata per impatto, mappata al MASVS. Facciamo il debrief tecnico e offriamo un retest per validare le correzioni applicate.
Servizi correlati
Il pentest di applicazione va di solito di pari passo con il test dell'API che utilizza e con altri filoni di offensive security e sviluppo sicuro.
Pentest di API
Ogni app mobile parla con un backend. Testiamo autenticazione, autorizzazione e logica di business delle API REST e GraphQL dietro l'app.
Pentest Cloud
Il backend dell'app di solito gira in cloud. Valutiamo IAM, esposizione dello storage e misconfiguration su AWS, Azure e GCP.
DevSecOps
Sicurezza integrata nella pipeline di build mobile — SAST, analisi delle dipendenze e test automatici che correggono le falle dell'app all'origine.
Offensive Security
Panoramica del pilastro di offensive security di Berghem: pentest, Red Team e simulazione di avversari.
Domande frequenti sul pentest mobile
Cos'è un pentest mobile?
Qual è la differenza tra pentest mobile e pentest web?
Cos'è l'OWASP MASVS e perché lo seguite?
Vi serve il codice sorgente dell'applicazione?
Il pentest mobile include il test dell'API dell'app?
Pronti a testare la vostra app?
In una conversazione di 30 minuti mappiamo la vostra app Android o iOS e progettiamo il perimetro ideale del pentest mobile.
Parla con uno specialista