Insecure Data Storage - Part 4
Insecure SD Card Storage Security Risk
Last updated
Was this helpful?
Insecure SD Card Storage Security Risk
Last updated
Was this helpful?
Kurangnya penyimpanan internal dan kemudahan penggunaan dalam portabilitas, perangkat Android menyediakan opsi untuk menyimpan sesuatu di dalam memori SD card.
Seiring dengan fleksibilitas ini muncul lah risiko keamanan. Pada Android versi 6 ke bawah, tidak ada pada penyimpanan internal (diluar aplikasi sanbox) maupun eksternal seperti SD card.
Walapun user menggunakan Android versi 6 ke atas, tetap saja berbahaya jika yang disimpan adalah file yang tidak aman. Ditambah, SD card ini bisa digunakan oleh perangkat lain sehingga lebih rentan.
Dalam kasus ini, rooting pada perangkat tidak diperlukan. Tetapi kita harus memberikan permission pada aplikasi diva untuk menyimpan file (storage).
Setelah menganalisa source code di atas, terlihat bahwa credentials yang diinputkan user disimpan pada file .uinfo.txt di dalam memori SD card.
Lokasi/path direktori dari SD Card pada setiap perangkat bisa berbeda-beda. Kita bisa mencoba beberapa lokasi berikut:
/sdcard/
/mnt/sdcard/
/storage/emulated/0/
/mnt/shell/emulated/0/
Masuk ke direktori SD Card, lalu gunakan perintah ls -a
untuk melihat hidden file dan perintah cat
untuk melihat isi dari file.
Credentials yang disimpan oleh aplikasi bisa terlihat dengan jelas seperti contoh di atas. Ini membuktikan bahwa aplikasi ini tidak menyimpan credentials dengan aman.
Meskipun pada Android versi 6 ke atas terdapat perlindungan/permintaan izin untuk menyimpan file ke dalam penyimpanan internal maupun eksternal, tetapi mungkin saja user tidak mengetahui bahwa yang disimpan oleh aplikasi adalah informasi sensitif yang disimpan dengan cara yang tidak aman.
Menyadari fakta tersebut, terdapat beberapa rekomendasi yang bisa developer lakukan, diantaranya:
Tidak menyimpan informasi sensitif apa pun baik pada memori internal maupun eksternal (SD Card) yang bisa diakses oleh orang lain atau aplikasi lain.
Lakukan salting + hasing terlebih dahulu pada data sensitif sebelum disimpan.
Bagian aplikasi yang akan kita bahas kali ini memiliki fitur untuk menyimpan credentials milik user. Dengan melakukan lalu menganalisis source code, kita akan mencari tahu bagaimana credentials tersebut disimpan.
Menggunakan bisa menjadi pilihan untuk menyimpan kunci enkripsi dengan aman bahkan pada rooted device.