
OWASP-Praktikumslab für Android-Sicherheitsschulung mit 78 MASVS/MASTG-Modulen, die verwundbare, sichere und Angreifer-Apps kombinieren, um mobile Schwachstellen und ihre Behebungen zu demonstrieren.
Offizielles OWASP-Projekt — Ein praxisorientiertes OWASP MASVS/MASTG-Sicherheitstraining-Labor für Android-Entwickler & Pentester — Spiegelarchitektur: Verwundbar ↔ Sicher ↔ Angreifer
Die Android Security Masterclass ist ein offizielles OWASP-Projekt, das mit einer Spiegelarchitektur entwickelt wurde, um Android-Entwicklern und Sicherheitsforschern genau zu zeigen, wie Schwachstellen aussehen und genau, wie man sie mit modernen Android-Entwicklungspraktiken behebt.
Anstatt in veralteten Java-Codebasen nach Fehlern zu suchen, verwendet dieses Projekt einen hochmodernen Tech-Stack (Kotlin, Jetpack Compose, MVVM, Material 3) und ist um ein massiv skalierbares "Package-by-Feature"-System herum strukturiert.
🌐 OWASP-Projektportal & Dokumentation:
- OWASP-Projektseite: https://owasp.org/projects/android-security-masterclass
- Dokumentationsportal: https://owasp.github.io/Android-Security-Masterclass/
- Whitepaper & 78-Modul-Zuordnungsmatrix: Verfügbar im Dokumentationsportal.
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 attackerDas Projekt verwendet eine hypermodulare Architektur mit insgesamt über 80 Modulen:
MasterclassDataAnders als andere Bildungsprojekte, die triviale Daten verwenden ("admin:password"), nutzen unsere Leak-Simulationen regulierungskonforme Payloads:
💡 Tipp: Sie können alle diese simulierten Daten live auf Ihrem Gerät anzeigen, indem Sie auf die Schaltfläche "Data Vault" im Dashboard der verwundbaren oder der sicheren App klicken.
Wir haben den gesamten OWASP-MASVS-Standard in 78 verschiedene Module über 8 Domänen abgebildet:
Die folgenden Module haben ihre Geschäftslogik, MVI-Architektur, Unit-Tests und Angriffs-/Verteidigungssimulationen vollständig implementiert:
-assumenosideeffects) und SecureLog-Wrapper.adb backup oder Google Drive Cloud-Backup. Gehärtet durch android:allowBackup="false", dataExtractionRules und fullBackupContent.(Siehe docs/mapping_matrix.md auf der MkDocs-Seite für die vollständige 78-Vektor-Aufschlüsselung).
app-vulnerable oder app-secure und stellen Sie sie auf einem Emulator bereit.Build Variants und wählen Sie debug. Führen Sie die App aus und prüfen Sie Logcat. Sie werden die Leaks in der verwundbaren App sehen.release. Die R8 (ProGuard)-Minifizierung wird aktiv. In app-secure werden alle kritischen Logs vollständig entfernt!:app-attacker)Um die tatsächlichen Konsequenzen dieser Schwachstellen zu sehen, installieren Sie das Modul :app-attacker zusammen mit :app-vulnerable auf demselben Gerät.
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 malwareErteilen der READ_LOGS-Berechtigung (für MASWE-0005):
Standardmäßig erlaubt Android Apps nicht, Systemprotokolle zu lesen. Um zu demonstrieren, wie eine bösartige App Protokolle lesen kann, wenn ihr die Berechtigung erteilt wird (oder auf gerooteten/älteren Geräten), müssen Sie diese Berechtigung manuell über ADB erteilen:
adb shell pm grant com.hasantuncay.mobsec.attacker android.permission.READ_LOGS
Hinweis für physische Geräte: Wenn Sie auf MIUI, ColorOS usw. testen, müssen Sie zu den Entwickleroptionen gehen und "USB-Debugging (Sicherheitseinstellungen)" aktivieren, damit ADB Berechtigungen erteilen kann.
Dieses Projekt wurde ausschließlich für Bildungszwecke erstellt. Die im Modul :app-vulnerable demonstrierten Schwachstellen sind real und gefährlich. Verwenden Sie den Code aus dem Modul :app-vulnerable nicht in Produktionsumgebungen. Orientieren Sie sich stets am Modul :app-secure für Best Practices.
Wir freuen uns über Beiträge aus der Community! Bitte lesen Sie unseren umfassenden Contributing Guide, bevor Sie einen Pull Request öffnen. Er behandelt unsere Projektphilosophie (Package-by-Feature Mirror Architecture), Codierungsstandards und den schrittweisen Prozess zum Generieren und Implementieren von Logik innerhalb der Module :features:masweXXXX.
Projektleiter:
Community & Support:
| Modulschicht | Rolle | Status |
|---|
:common | Das Fundament. Enthält den hochpräzisen Payload-Generator MasterclassData, Dashboard-Metadaten, das Kern-UI-Theme und generische Navigationskomponenten. | Fundament ✅ |
:features:masweXXXX | 78 vollständig isolierte Gradle-Module (0001 bis 0078). Jedes Modul enthält sowohl die verwundbare als auch die sichere Logik für eine einzelne spezifische Schwachstelle, wodurch Code-Leckagen zwischen Modulen vollständig verhindert werden. | 78 Module generiert ✅ |
:app-vulnerable | Eine "Thin Shell"-Orchestrator-App. Sie verbindet die unsicheren UI-Komponenten aus allen 78 Feature-Modulen, um die genauen Konsequenzen von OWASP-Verstößen zu demonstrieren. | Aktiv ✅ |
:app-secure | Eine "Thin Shell"-Orchestrator-App. Verbindet die sicheren Implementierungen unter Verwendung moderner Standards (Jetpack Security, Tink, SQLCipher, ProGuard). | Aktiv ✅ |
:app-attacker | Eine simulierte bösartige Drittanbieter-App. Demonstriert Live-IPC-Exploits über einen sekundären Prozess, der gleichzeitig auf dem Gerät läuft. | Aktiv ✅ |