Penyimpanan dan Komunikasi yang Tidak Aman
Kelemahan umum
Penyimpanan dan Komunikasi yang Tidak Aman adalah pelajaran Ethical Hacking Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Ethical Hacking Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Ethical Hacking Academy mencakup 4 pelajaran total.
Dua Kelemahan Klasik
Dua kerentanan seluler yang paling umum adalah penyimpanan data yang tidak aman dan komunikasi yang tidak aman. Keduanya tercantum dalam OWASP Mobile Top 10.
Keduanya berawal dari pengembang yang terlalu mempercayai perangkat dan tidak melindungi data dengan baik.
Tempat Aplikasi Menyimpan Data
Aplikasi menyimpan data di /data/data/<package>/:
- SharedPreferences: file XML berisi pasangan kunci-nilai.
- Basis data SQLite.
- File internal dan eksternal.
Penguji penetrasi memeriksa setiap lokasi untuk mencari rahasia yang disimpan tanpa perlindungan.
/data/data/com.app/shared_prefs/prefs.xmlRahasia dalam Teks Biasa
Kelemahan yang sering terjadi adalah menyimpan kata sandi, token, atau PII dalam teks biasa di SharedPreferences atau basis data.
Pada perangkat yang telah di-root, melalui pencadangan, atau dengan Objection, penyerang dapat membacanya secara langsung. Data sensitif harus dienkripsi atau disimpan di perangkat keras yang aman.
<string name="auth_token">eyJhbGci...plaintext...</string>Risiko Penyimpanan Eksternal
Data yang ditulis ke penyimpanan eksternal (area kartu SD) dapat dibaca semua pihak pada Android versi lama dan dapat diakses oleh aplikasi apa pun yang memiliki izin penyimpanan.
Menyimpan file sensitif di sana membuatnya dapat diakses aplikasi lain. Log yang ditulis ke disk juga merupakan kebocoran serupa.
Cara yang Tepat Menyimpan Rahasia
Pilihan yang aman mencakup Android Keystore (kunci disimpan di perangkat keras dan tidak pernah dibuka untuk aplikasi) serta EncryptedSharedPreferences.
Keystore dapat melakukan operasi kriptografi tanpa mengungkapkan kunci, sehingga jauh lebih aman daripada kunci yang ditulis langsung dalam kode.
Komunikasi yang Tidak Aman
Komunikasi yang tidak aman berarti data dikirim tanpa perlindungan yang semestinya. Kasus terburuknya adalah HTTP teks biasa, yang memungkinkan siapa pun di jaringan membaca atau mengubah lalu lintas.
Semua lalu lintas sensitif harus menggunakan HTTPS/TLS.
http://api.app.com/login # cleartext, credentials exposedMencegat Lalu Lintas
Untuk memeriksa lalu lintas, arahkan perangkat melalui proksi pencegat seperti Burp Suite. Anda memasang sertifikat CA Burp pada perangkat agar HTTPS dapat dibaca.
Hal ini mengungkap titik akhir API, parameter, dan data sensitif apa pun yang sedang dikirim.
Certificate Pinning
Aplikasi yang dibuat dengan baik menggunakan certificate pinning untuk menolak sertifikat apa pun selain miliknya, sehingga proksi dasar tidak dapat digunakan.
Seperti yang telah Anda pelajari, pengabaian SSL pinning dengan Frida menonaktifkan perlindungan ini sehingga Anda tetap dapat mencegat dan menilai keamanan API yang sebenarnya.
TLS Lemah dan Validasi
Bahkan dengan HTTPS, kelemahannya dapat berupa mempercayai semua sertifikat, menerima sertifikat yang kedaluwarsa, atau menonaktifkan verifikasi nama host—sering kali ditambahkan secara sembarangan untuk mempermudah pengembangan.
Hal-hal ini memungkinkan penyerang melakukan serangan man-in-the-middle meskipun TLS tersedia.
Pencadangan dan Log
Dua kebocoran lainnya:
android:allowBackup="true"memungkinkan siapa pun yang memiliki perangkat mengekstrak data aplikasi melaluiadb backup.- Output logcat yang terlalu rinci dapat mencetak token atau PII.
Keduanya harus dinonaktifkan atau disanitasi dalam lingkungan produksi.
adb backup -f data.ab com.appPapan Klip dan Tangkapan Layar
Dua kebocoran yang sering terlewatkan: menyalin data sensitif ke papan klip (dapat dibaca aplikasi lain pada Android versi lama) dan tangkapan layar sistem yang diambil ketika aplikasi berpindah ke latar belakang.
Aplikasi perbankan mengatasinya dengan flag jendela FLAG_SECURE, yang memblokir tangkapan layar dan pratinjau pengalih tugas.
Pemeriksaan Cepat
Ingat kembali tempat paling aman untuk menyimpan kunci kriptografi di Android.
Rangkuman
Sekarang Anda memahami penyimpanan dan komunikasi yang tidak aman:
- Aplikasi membocorkan rahasia dalam teks biasa di SharedPreferences, basis data, penyimpanan eksternal, dan log.
- Simpan rahasia di Android Keystore atau EncryptedSharedPreferences.
- Komunikasi yang tidak aman mencakup HTTP teks biasa hingga validasi TLS yang lemah; lakukan pencegatan dengan Burp.
- Atasi certificate pinning dengan Frida; nonaktifkan allowBackup dan sanitasi log.
Anda telah menyelesaikan kursus Pengujian Penetrasi Aplikasi Seluler.
Belajar Ethical Hacking Academy dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 31
- Pelajaran
- 111
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Penyimpanan dan Komunikasi yang Tidak Aman” gratis?
Ya — teks lengkap “Penyimpanan dan Komunikasi yang Tidak Aman” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Ethical Hacking Academy, upgrade ke CoddyKit PRO. Kursus Ethical Hacking Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Penyimpanan dan Komunikasi yang Tidak Aman”?
Kelemahan umum Kamu berlatih Ethical Hacking Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Ethical Hacking Academy?
Tidak diperlukan pengalaman sebelumnya. Ethical Hacking Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Penyimpanan dan Komunikasi yang Tidak Aman” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Ethical Hacking Academy ini?
Ya. Setiap pelajaran Ethical Hacking Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Struktur Aplikasi Android
- Analisis Statis APK
- Analisis Dinamis dengan Frida
- Penyimpanan dan Komunikasi yang Tidak Aman