
Laboratorio pratico di formazione sulla sicurezza Android di OWASP con 78 moduli MASVS/MASTG che abbinano app vulnerabili, sicure e di attacco per dimostrare le debolezze mobile e le relative correzioni.
Progetto OWASP Ufficiale — Un laboratorio pratico di formazione sulla sicurezza OWASP MASVS/MASTG per sviluppatori Android e pentester — Architettura a Specchio: Vulnerabile ↔ Sicuro ↔ Attaccante
L'Android Security Masterclass è un progetto OWASP ufficiale progettato con un'Architettura a Specchio per insegnare agli sviluppatori Android e ai ricercatori di sicurezza esattamente come appaiono le vulnerabilità e esattamente come correggerle utilizzando le moderne pratiche di sviluppo Android.
Invece di cercare bug in codebase Java obsolete, questo progetto utilizza uno stack tecnologico all'avanguardia (Kotlin, Jetpack Compose, MVVM, Material 3) ed è strutturato attorno a un sistema "Package-by-Feature" altamente scalabile.
🌐 Portale del Progetto OWASP e Documentazione:
- Pagina del Progetto OWASP: https://owasp.org/projects/android-security-masterclass
- Portale della Documentazione: https://owasp.github.io/Android-Security-Masterclass/
- Whitepaper e Matrice di Mappatura dei 78 Moduli: Disponibile nel portale della documentazione.
graph TD
COMMON("🧱 :common<br/>Shared Data · Theme<br/>Dashboard Metadata")
subgraph FEATURES ["📦 Package-by-Feature (78 Isolated MASWE Modules)"]
direction LR
M1(":features:maswe0001<br/>Private Storage")
M2(":features:maswe0002<br/>External Storage")
M5(":features:maswe0005<br/>Logging Leaks")
MDOT("...<br/>... ")
M78(":features:maswe0078<br/>Privacy")
end
VULN("❌ :app-vulnerable<br/>Thin Shell Orchestrator")
SEC("✅ :app-secure<br/>Thin Shell Orchestrator")
ATK("😈 :app-attacker<br/>Simulated Malware")
COMMON --> FEATURES
FEATURES -- "Insecure Implementation" --> VULN
FEATURES -- "Hardened Implementation" --> SEC
VULN -. "Active Exploit<br/>IPC / Logcat" .-> ATK
classDef common fill:#4A90D9,stroke:#2C5F8A,color:#fff,stroke-width:2px,font-weight:bold
classDef feat fill:#F39C12,stroke:#D35400,color:#fff,stroke-width:2px,font-weight:bold
classDef vuln fill:#E74C3C,stroke:#C0392B,color:#fff,stroke-width:2px,font-weight:bold
classDef secure fill:#27AE60,stroke:#1E8449,color:#fff,stroke-width:2px,font-weight:bold
classDef attacker fill:#8E44AD,stroke:#6C3483,color:#fff,stroke-width:2px,font-weight:bold
class COMMON common
class M1,M2,M5,MDOT,M78 feat
class VULN vuln
class SEC secure
class ATK attackerIl progetto utilizza un'architettura Iper-Modulare che comprende oltre 80 moduli totali:
MasterclassDataA differenza di altri progetti educativi che utilizzano dati banali ("admin:password"), le nostre simulazioni di leak utilizzano payload di livello regolamentare:
💡 Suggerimento: Puoi visualizzare tutti questi dati simulati in tempo reale sul tuo dispositivo cliccando il pulsante "Data Vault" sulla Dashboard dell'app vulnerabile o sicura.
Abbiamo mappato l'intero standard OWASP MASVS in 78 moduli distinti distribuiti su 8 domini:
I seguenti moduli hanno la loro logica di business, architettura MVI, unit test e simulazioni di attacco/difesa completamente implementati:
-assumenosideeffects) e wrapper SecureLog.adb backup o backup cloud su Google Drive. Rafforzato tramite android:allowBackup="false", dataExtractionRules e fullBackupContent.(Consulta il file docs/mapping_matrix.md sul sito MkDocs per la ripartizione completa dei 78 vettori).
app-vulnerable o app-secure e distribuisci su un emulatore.Build Variants e seleziona debug. Esegui l'app e controlla Logcat. Vedrai i leak nell'app vulnerabile.release. La minificazione R8 (ProGuard) entrerà in azione. In app-secure, tutti i log critici verranno completamente rimossi!:app-attacker)Per vedere le reali conseguenze di queste vulnerabilità, installa il modulo :app-attacker insieme a :app-vulnerable sullo stesso dispositivo.
graph LR
subgraph VICTIM ["❌ :app-vulnerable"]
direction TB
LOG("📋 Log.d sends PII<br/>to system Logcat")
FP("📂 FileProvider<br/>exported paths")
end
subgraph MALWARE ["😈 :app-attacker"]
direction TB
LE("🔍 LogcatExploitScreen<br/>reads all logs")
ER("📥 ExploitReceiverScreen<br/>steals files via URI")
end
LOG -- "READ_LOGS permission" --> LE
FP -- "content:// URI interception" --> ER
classDef victim fill:#E74C3C,stroke:#C0392B,color:#fff,stroke-width:2px
classDef malware fill:#8E44AD,stroke:#6C3483,color:#fff,stroke-width:2px
class LOG,FP victim
class LE,ER malwareConcessione del Permesso READ_LOGS (Per MASWE-0005):
Per impostazione predefinita, Android non consente alle app di leggere i log di sistema. Per dimostrare come un'app malevola possa leggere i log se le viene concesso il permesso (o su dispositivi rooted/più vecchi), devi concedere questo permesso manualmente tramite ADB:
adb shell pm grant com.hasantuncay.mobsec.attacker android.permission.READ_LOGS
Nota per Dispositivi Fisici: Se stai testando su MIUI, ColorOS, ecc., devi andare in Opzioni Sviluppatore e abilitare "Debug USB (impostazioni di sicurezza)" per consentire ad ADB di concedere i permessi.
Questo progetto è creato rigorosamente per scopi educativi. Le vulnerabilità dimostrate nel modulo :app-vulnerable sono reali e pericolose. Non utilizzare il codice del modulo :app-vulnerable in ambienti di produzione. Fai sempre riferimento al modulo :app-secure per le best practice.
Accogliamo con favore i contributi della comunità! Ti preghiamo di leggere la nostra completa Guida alla Contribuzione prima di aprire una Pull Request. Copre la nostra filosofia di progetto (Architettura a Specchio Package-by-Feature), gli standard di codifica e il processo passo-passo per generare e implementare la logica all'interno dei moduli :features:masweXXXX.
Project Leader:
Comunità e Supporto:
| Livello del Modulo | Ruolo | Stato |
|---|
:common | Le fondamenta. Contiene il generatore di payload ad alta fedeltà MasterclassData, i metadati della Dashboard, il tema UI principale e i componenti di navigazione generici. | Fondamenta ✅ |
:features:masweXXXX | 78 moduli Gradle completamente isolati (da 0001 a 0078). Ogni modulo contiene sia la logica vulnerabile che quella sicura per una singola debolezza specifica, impedendo completamente la fuga di codice tra moduli. | 78 Moduli Generati ✅ |
:app-vulnerable | Un'app orchestratrice "Thin Shell". Collega insieme i componenti UI non sicuri di tutti i 78 moduli feature per dimostrare l'esatta conseguenza delle violazioni OWASP. | Attivo ✅ |
:app-secure | Un'app orchestratrice "Thin Shell". Collega insieme le implementazioni sicure utilizzando standard moderni (Jetpack Security, Tink, SQLCipher, ProGuard). | Attivo ✅ |
:app-attacker | Un'app malevola di terze parti simulata. Dimostra exploit IPC dal vivo tramite un processo secondario in esecuzione contemporaneamente sul dispositivo. | Attivo ✅ |