Pengamanan App Android

Ini dimulai dari rasa penasaran saya melihat tweet pengemudi Gojek yang mengatakan bahwa ada crack untuk app Gojek bagi pengemudi. Crack ini digunakan untuk melakukan mockup location tanpa terdeteksi dan memilih order yang disukai untuk memaksimalkan bonus (Gojek menggunakan sistem performa dan point untuk mentukan bonus).  Tentu ini ilegal dan sebenarnya merugikan pengemudi lain, perusahaan dan pengguna app. Sebagai developer, apa yang dapat saya lakukan untuk mencegah ini jika misalnya saya membuat app yang mirip?

Dari penelusuran saya (kesannya gimana, padahal cuma googling hehe). Ternyata memang ada tools untuk meng-crack app Gojek yang dibuat dengan XPosed framework. XPosed ini hanya bisa dijalankan pada Android yang sudah di-root dan memungkinkan injeksi code ke proses yang sedang berjalan. Artinya app kita bisa dimodifikasi saat sedang dijalankan (bukan APK-nya diedit). Sangat powerfull (sekaligus berbahaya juga).

Salah satu solusi dari developer untuk mencegah hal ini dengan mendeteksi apakah Android sudah di-root. Jika sudah di-root maka app dapat menolak untuk berjalan. Google ternyata menyediakan API untuk ini yang disebut Safetynet (https://developer.android.com/training/safetynet/)  Cara kerja Safetynet adalah memeriksa apakah system sudah dimodifikasi dengan cara dibandingkan dengan database yang disimpan Google.

Salah satu pengguna SafetyNet ini adalah dev PokemonGO. PokemonGO melarang device yang di-root karena sering digunakan untuk curang. Tapi disisi lain ini membuat banyak orang marah karena ada juga yang menggunakan Android yang sudah di-root tapi bermain Pokemon dengan jujur. Efeknya terjadi “perang” antara Google SafetyNet dengan dev yang ingin bermain Pokemon tapi tetap dengan device yang di-root.  Setelah bermain kucing-kucingan,  terakhir SafetyNet ini bisa dilewati dengan tools yang disebut Magisk dengan cara yang cukup kompleks (tapi entah sampai kapan sebelum Google membalas dengan mengupdate SafetyNet)

Kesimpulannya, sangat sulit untuk memastikan bahwa app kita 100% aman dan tidak dimodifikasi. Untuk kasus Gojek, sebaiknya mereka juga menggunakan teknik datamining untuk fraud detection yang jauh lebih sulit untuk diakali oleh pengemudi.

2 thoughts on “Pengamanan App Android

  1. Bashor

    terkadang hal seperti ini membuat saya agak was-was. namun bagaimana lagi coba, saya sih sebenarnya setuju dengan SafetyNet. toh android saya nggak hasil root.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *