Skip to content

OWASP Mobile Top 10 ​

Pengantar Keamanan Aplikasi Mobile ​

Apa Itu OWASP Mobile Top 10? ​

OWASP Mobile Top 10 adalah daftar sepuluh risiko keamanan paling kritis dalam pengembangan aplikasi mobile. Disusun oleh Open Worldwide Application Security Project (OWASP), daftar ini bertujuan membantu:

  • Developer
  • Tester keamanan
  • Profesional IT

untuk memahami ancaman utama dan mengambil langkah mitigasi yang tepat.


Statistik Terkini (2023) ​

  • 📱 6,92 miliar pengguna smartphone di seluruh dunia.
  • 🌐 70% lalu lintas internet berasal dari perangkat mobile.
  • 🛡️ Aplikasi mobile menjadi target serangan karena banyaknya data sensitif yang disimpan dan diproses.

Daftar Risiko Utama: OWASP Mobile Top 10 ​

NoKategori Risiko
M1Improper Credential Usage
M2Inadequate Supply Chain Security
M3Insecure Authentication/Authorization
M4Insufficient Input/Output Validation
M5Insecure Communication
M6Inadequate Privacy Controls
M7Insufficient Binary Protections
M8Security Misconfiguration
M9Insecure Data Storage
M10Insufficient Cryptography

1. M1: Improper Credential Usage ​

Masalah ​

Penyalahgunaan kredensial seperti API keys, password, token autentikasi, atau sertifikat secara tidak aman.

Contoh Kasus ​

  • Menyimpan kredensial dalam source code.
  • Menyimpan password dalam SharedPreferences tanpa enkripsi.
  • Menggunakan HTTP Basic Auth tanpa HTTPS.

Vektor Serangan ​

  • Reverse Engineering
  • Sniffing Jaringan (MITM)

Mitigasi ​

✅ Gunakan enkripsi saat menyimpan kredensial
✅ Gunakan secure storage seperti Android Keystore / iOS Keychain
✅ Selalu gunakan HTTPS untuk komunikasi


2. M2: Inadequate Supply Chain Security ​

Masalah ​

Penggunaan library atau dependency dari pihak ketiga yang rentan atau tidak diverifikasi.

Contoh Kasus ​

  • Serangan pada library JavaScript event-stream (NPM, 2018)
  • Dependency Confusion Attack oleh Alex Birsan (2021)

Vektor Serangan ​

  • Supply chain attack pada dependency
  • Dependency confusion

Mitigasi ​

✅ Verifikasi sumber library dan dependency
✅ Gunakan tools analisis keamanan seperti Snyk atau OWASP Dependency-Check
✅ Batasi akses repository internal


3. M3: Insecure Authentication / Authorization ​

Masalah ​

Sistem autentikasi lemah yang memungkinkan penyerang masuk ke akun pengguna.

Contoh Kasus ​

  • Brute-force attack
  • Credential stuffing
  • Bypass token

Vektor Serangan ​

  • Brute-force
  • Man-in-the-Middle
  • Token manipulation

Mitigasi ​

✅ Gunakan Two-Factor Authentication (2FA)
✅ Batasi jumlah percobaan login
✅ Gunakan token JWT dengan signature kuat
✅ Gunakan biometrik dengan pendekatan keamanan tinggi


4. M4: Insufficient Input/Output Validation ​

Masalah ​

Input pengguna tidak divalidasi dengan benar, memungkinkan eksploitasi seperti SQL injection atau XSS.

Penyebab ​

  • Tidak ada filtering input
  • Tidak ada encoding output
  • Eksekusi langsung input pengguna

Mitigasi ​

✅ Validasi semua input sesuai format dan panjang maksimal
✅ Gunakan parameterized query untuk database
✅ Lakukan escaping/output encoding


5. M5: Insecure Communication ​

Masalah ​

Komunikasi jaringan tanpa enkripsi memadai, memungkinkan penyadapan atau manipulasi data.

Penyebab ​

  • Penggunaan HTTP bukan HTTPS
  • TLS dikonfigurasi salah
  • Algoritma enkripsi usang

Dampak ​

  • Data bisa disadap (MITM)
  • Kredensial login atau kartu kredit dicuri

Mitigasi ​

✅ Gunakan HTTPS dan TLS terbaru
✅ Blokir komunikasi HTTP
✅ Gunakan certificate pinning


6. M6: Inadequate Privacy Controls ​

Masalah ​

Kontrol privasi yang tidak memadai menyebabkan kebocoran informasi identitas pribadi (PII).

Vektor Serangan ​

  • Kebocoran data (data leakage)
  • Izin berlebihan (over-permission)
  • Berbagi data tanpa transparansi

Mitigasi ​

✅ Minimalkan pengumpulan data sensitif
✅ Hapus cache dan clipboard setelah digunakan
✅ Transparan dalam kebijakan privasi


7. M7: Insufficient Binary Protections ​

Masalah ​

Aplikasi rentan terhadap reverse engineering, modifikasi APK/IPA, atau runtime hooking.

Vektor Serangan ​

  • Reverse engineering
  • APK tampering
  • Runtime manipulation

Mitigasi ​

✅ Obfuscate kode (ProGuard/R8) ✅ Gunakan anti-tampering mechanisms ✅ Deteksi debugging dan root/jailbreak


8. M8: Security Misconfiguration ​

Masalah ​

Konfigurasi default yang tidak aman atau izin berlebihan meningkatkan kerentanan aplikasi.

Penyebab ​

  • Debugging aktif di versi produksi
  • Endpoint API tidak diamankan
  • Izin berlebihan

Mitigasi ​

✅ Nonaktifkan logging/debugging di build release
✅ Konfigurasikan server dengan baik (CORS, headers, etc.) ✅ Minimalisir permintaan izin hanya pada yang dibutuhkan


9. M9: Insecure Data Storage ​

Masalah ​

Data lokal disimpan tanpa perlindungan memadai, memungkinkan pencurian atau manipulasi.

Vektor Serangan ​

  • Database SQLite diekstrak
  • Data eksternal disadap
  • Reverse engineering mencari hardcoded secrets

Mitigasi ​

✅ Enkripsi data lokal ✅ Gunakan secure storage API ✅ Hindari menyimpan data sensitif dalam plain text


10. M10: Insufficient Cryptography ​

Masalah ​

Penggunaan algoritma enkripsi lemah atau implementasi yang tidak aman.

Contoh ​

  • Menggunakan MD5 atau SHA1 untuk hashing password
  • Enkripsi tanpa salt atau IV

Mitigasi ​

✅ Gunakan algoritma enkripsi modern seperti AES-256 ✅ Gunakan PBKDF2 atau Argon2 untuk hashing password ✅ Pastikan enkripsi end-to-end untuk data sensitif


Kesimpulan ​

Keamanan aplikasi mobile sangat penting karena: 🔹 Data sensitif sering disimpan dan diproses di perangkat
🔹 Serangan semakin canggih dan sulit dideteksi
🔹 Reputasi dan kepercayaan pengguna bisa hancur jika terjadi pelanggaran data

Dengan memahami dan menerapkan prinsip-prinsip OWASP Mobile Top 10, kita dapat: ✅ Mencegah eksploitasi kerentanan
✅ Melindungi data pengguna
✅ Membangun aplikasi yang lebih aman dan andal