
OWASP हैंड्स-ऑन Android सुरक्षा प्रशिक्षण लैब जिसमें 78 MASVS/MASTG मॉड्यूल हैं जो मोबाइल कमजोरियों और उनके समाधानों को प्रदर्शित करने के लिए असुरक्षित, सुरक्षित और हमलावर ऐप्स को जोड़ती है।
आधिकारिक OWASP प्रोजेक्ट — Android डेवलपर्स और पेंटेस्टर्स के लिए एक व्यावहारिक OWASP MASVS/MASTG सुरक्षा प्रशिक्षण लैब — मिरर आर्किटेक्चर: असुरक्षित ↔ सुरक्षित ↔ हमलावर
Android सुरक्षा मास्टरक्लास एक आधिकारिक OWASP प्रोजेक्ट है जिसे मिरर आर्किटेक्चर के साथ डिज़ाइन किया गया है ताकि Android डेवलपर्स और सुरक्षा शोधकर्ताओं को ठीक-ठीक यह सिखाया जा सके कि कमज़ोरियाँ कैसी दिखती हैं और आधुनिक Android विकास प्रथाओं का उपयोग करके उन्हें ठीक-ठीक कैसे ठीक किया जाए।
पुराने Java कोडबेस में बग खोजने के बजाय, यह प्रोजेक्ट एक अत्याधुनिक टेक स्टैक (Kotlin, Jetpack Compose, MVVM, Material 3) का उपयोग करता है और एक अत्यधिक स्केलेबल "Package-by-Feature" सिस्टम के आसपास संरचित है।
🌐 OWASP प्रोजेक्ट पोर्टल और दस्तावेज़ीकरण:
- OWASP प्रोजेक्ट पेज: https://owasp.org/projects/android-security-masterclass
- दस्तावेज़ीकरण पोर्टल: https://owasp.github.io/Android-Security-Masterclass/
- व्हाइटपेपर और 78-मॉड्यूल मैपिंग मैट्रिक्स: दस्तावेज़ीकरण पोर्टल में उपलब्ध है।
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 attackerयह प्रोजेक्ट कुल 80 से अधिक मॉड्यूल में फैले एक हाइपर-मॉड्यूलर आर्किटेक्चर का उपयोग करता है:
MasterclassData उच्च-निष्ठा मॉडलअन्य शैक्षिक प्रोजेक्ट्स के विपरीत जो तुच्छ डेटा ("admin:password") का उपयोग करते हैं, हमारे लीक सिमुलेशन नियमन-ग्रेड पेलोड का उपयोग करते हैं:
💡 सुझाव: आप असुरक्षित या सुरक्षित ऐप के डैशबोर्ड पर "Data Vault" बटन पर क्लिक करके अपने डिवाइस पर इस सिम्युलेटेड डेटा को लाइव देख सकते हैं।
हमने संपूर्ण OWASP MASVS मानक को 8 डोमेन में 78 विशिष्ट मॉड्यूल में मैप किया है:
निम्नलिखित मॉड्यूल के बिज़नेस लॉजिक, MVI आर्किटेक्चर, यूनिट टेस्ट, और अटैक/डिफेंस सिमुलेशन पूरी तरह से कार्यान्वित हैं:
-assumenosideeffects) और SecureLog रैपर्स के माध्यम से हार्डन किया गया।adb backup या Google Drive क्लाउड बैकअप के माध्यम से संवेदनशील डेटा निष्कर्षण को प्रदर्शित करता है। android:allowBackup="false", dataExtractionRules, और fullBackupContent के माध्यम से हार्डन किया गया।(पूर्ण 78-वेक्टर विवरण के लिए MkDocs साइट पर docs/mapping_matrix.md देखें)।
app-vulnerable या app-secure रन कॉन्फ़िगरेशन में से कोई एक चुनें और एमुलेटर पर डिप्लॉय करें।Build Variants टूल विंडो खोलें और debug चुनें। ऐप चलाएँ और Logcat जाँचें। आपको असुरक्षित ऐप में लीक दिखाई देंगे।release पर स्विच करें। R8 (ProGuard) मिनिफिकेशन सक्रिय हो जाएगा। app-secure में, सभी महत्वपूर्ण लॉग पूरी तरह से हटा दिए जाएँगे!:app-attacker) सेट करनाइन कमज़ोरियों के वास्तविक परिणाम देखने के लिए, :app-attacker मॉड्यूल को :app-vulnerable के साथ एक ही डिवाइस पर इंस्टॉल करें।
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 malwareREAD_LOGS अनुमति प्रदान करना (MASWE-0005 के लिए):
डिफ़ॉल्ट रूप से, Android ऐप्स को सिस्टम लॉग पढ़ने की अनुमति नहीं देता है। यह प्रदर्शित करने के लिए कि एक दुर्भावनापूर्ण ऐप अनुमति दिए जाने पर (या रूटेड/पुराने डिवाइस पर) लॉग कैसे पढ़ सकता है, आपको ADB के माध्यम से मैन्युअल रूप से यह अनुमति प्रदान करनी होगी:
adb shell pm grant com.hasantuncay.mobsec.attacker android.permission.READ_LOGS
भौतिक डिवाइस के लिए नोट: यदि MIUI, ColorOS, आदि पर परीक्षण कर रहे हैं, तो आपको Developer Options में जाकर "USB debugging (Security settings)" सक्षम करना होगा ताकि ADB अनुमतियाँ प्रदान कर सके।
यह प्रोजेक्ट कड़ाई से शैक्षिक उद्देश्यों के लिए बनाया गया है। :app-vulnerable मॉड्यूल में प्रदर्शित कमज़ोरियाँ वास्तविक और खतरनाक हैं। :app-vulnerable मॉड्यूल के कोड का उपयोग उत्पादन वातावरण में न करें। सर्वोत्तम प्रथाओं के लिए हमेशा :app-secure मॉड्यूल का संदर्भ लें।
हम समुदाय से योगदान का स्वागत करते हैं! कृपया Pull Request खोलने से पहले हमारी व्यापक योगदान गाइड पढ़ें। इसमें हमारा प्रोजेक्ट दर्शन (Package-by-Feature Mirror Architecture), कोडिंग मानक, और :features:masweXXXX मॉड्यूल के भीतर लॉजिक जनरेट करने और कार्यान्वित करने की चरण-दर-चरण प्रक्रिया शामिल है।
प्रोजेक्ट लीडर:
समुदाय और सहायता:
| मॉड्यूल लेयर | भूमिका | स्थिति |
|---|
:common | आधार। इसमें MasterclassData उच्च-निष्ठा पेलोड जनरेटर, डैशबोर्ड मेटाडेटा, कोर UI थीम, और सामान्य नेविगेशन घटक शामिल हैं। | आधार ✅ |
:features:masweXXXX | 78 पूरी तरह से पृथक Gradle मॉड्यूल (0001 से 0078)। प्रत्येक मॉड्यूल में एक विशिष्ट कमज़ोरी के लिए दोनों असुरक्षित और सुरक्षित लॉजिक शामिल हैं, जो क्रॉस-मॉड्यूल कोड लीकेज को पूरी तरह से रोकता है। | 78 मॉड्यूल जनरेट किए गए ✅ |
:app-vulnerable | एक "Thin Shell" ऑर्केस्ट्रेटर ऐप। यह सभी 78 फीचर मॉड्यूल से असुरक्षित UI घटकों को जोड़ता है ताकि OWASP उल्लंघनों के सटीक परिणाम प्रदर्शित किए जा सकें। | सक्रिय ✅ |
:app-secure | एक "Thin Shell" ऑर्केस्ट्रेटर ऐप। आधुनिक मानकों (Jetpack Security, Tink, SQLCipher, ProGuard) का उपयोग करते हुए सुरक्षित कार्यान्वयनों को जोड़ता है। | सक्रिय ✅ |
:app-attacker | एक सिम्युलेटेड दुर्भावनापूर्ण तृतीय-पक्ष ऐप। डिवाइस पर समवर्ती रूप से चलने वाली एक द्वितीयक प्रक्रिया के माध्यम से लाइव IPC एक्सप्लॉइट प्रदर्शित करता है। | सक्रिय ✅ |