Informasi ini ditujukan bagi developer yang memiliki aplikasi dengan Kerentanan Injeksi SQL.
Apa yang terjadi
Satu atau beberapa aplikasi Anda memiliki kerentanan Injeksi SQL yang harus diperbaiki. Silakan lihat pemberitahuan di Play Console Anda. Setelah batas waktu yang ditampilkan di Play Console, aplikasi apa pun yang memiliki kerentanan keamanan yang belum diperbaiki akan dihapus dari Google Play.
Tindakan yang diperlukan
- Login ke Play Console, dan buka bagian Notifikasi untuk melihat aplikasi mana yang terpengaruh dan batas waktu untuk menyelesaikan masalah ini.
- Update aplikasi yang terpengaruh dan perbaiki kerentanannya.
- Kirimkan versi terupdate aplikasi Anda yang terpengaruh.
Setelah pengiriman ulang, aplikasi Anda akan ditinjau kembali. Proses ini dapat memerlukan waktu beberapa jam. Jika aplikasi lolos dari proses peninjauan dan dipublikasikan, Anda tidak perlu melakukan tindakan lebih lanjut. Jika aplikasi gagal dalam proses peninjauan, versi aplikasi baru tidak akan dipublikasikan dan Anda akan menerima email notifikasi.
Detail tambahan
Implementasi query
, update
, dan delete
dalam ContentProviders
yang diekspor dapat rentan terhadap Injeksi SQL jika atribut tersebut memberikan input yang bermasalah ke pernyataan SQL. Aplikasi berbahaya dapat memberikan input buatan untuk mengakses data pribadi atau merusak konten database. Anda dapat memperbaiki masalah ini dengan cara berikut:
Jika ContentProvider
yang terpengaruh tidak perlu diperlihatkan ke aplikasi lain:
- Anda dapat mengubah tag
<provider>
dariContentProvider
yang terpengaruh di Manifes untuk menetapkanandroid:exported="false"
. Dengan tindakan ini, aplikasi lain tidak akan mengirimkan Intent keContentProvider
yang terpengaruh. -
Anda juga dapat menetapkan atribut
android:permission
menjadipermission
denganandroid:protectionLevel="signature"
agar aplikasi yang ditulis oleh developer lain tidak mengirim Intent keContentProvider
yang terpengaruh.
Jika ContentProvider
yang terpengaruh harus diperlihatkan ke aplikasi lain:
- Anda dapat mencegah Injeksi SQL ke
SQLiteDatabase.query
menggunakan mode strict bersama dengan projection map. Mode strict memberikan perlindungan terhadap klausa pilihan yang berbahaya dan projection map memberikan perlindungan terhadap klausa proyeksi yang berbahaya. Anda harus menggunakan kedua fitur ini untuk memastikan bahwa kueri Anda aman. - Anda dapat mencegah injeksi SQL ke
SQLiteDatabase.update
danSQLiteDatabase.delete
dengan menggunakan klausa pilihan yang menggunakan"?"
sebagai parameter yang dapat diganti dan rangkaian argumen pilihan terpisah. Klausa pilihan tidak boleh dibuat dari input yang tidak tepercaya.
Kami siap membantu
Jika ada pertanyaan teknis tentang kerentanan, Anda dapat mengirim postingan ke Stack Overflow dan menggunakan tag “android-security”. Untuk penjelasan tentang langkah-langkah yang diperlukan untuk menyelesaikan masalah ini, Anda dapat menghubungi tim dukungan developer.