Perbaikan untuk Kunci Server Firebase Cloud Messaging (FCM) yang Terekspos

Informasi ini ditujukan bagi developer yang aplikasinya berisi kunci server Firebase Cloud Messaging (FCM) yang terekspos.

Yang terjadi

Satu atau beberapa aplikasi Anda berisi kunci server FCM yang terekspos. Penyerang berbahaya dapat menggunakan kunci terekspos untuk mengirim notifikasi push kepada semua pengguna aplikasi Anda yang rentan. Penyerang akan mengontrol konten dari notifikasi tersebut, dan serangan mereka dapat mencakup pesan yang menyinggung hingga gambar vulgar/mengganggu. Harap tinjau langkah-langkah detail di bawah ini untuk memperbaiki masalah pada aplikasi Anda.  Lokasi di aplikasi Anda yang mengekspos kunci server FCM dapat ditemukan di notifikasi Konsol Play untuk aplikasi Anda.

Tindakan diperlukan

  1. Update aplikasi Anda dan kunci FCM yang terekspos menggunakan langkah-langkah yang dijelaskan di bawah ini.

    1. Jika FCM API lama diaktifkan untuk aplikasi, dan Anda tidak menggunakannya untuk mengirim notifikasi push, nonaktifkan FCM API lama,
    2. Jika FCM API lama diaktifkan, dan Anda menggunakannya untuk mengirim notifikasi push, Anda dapat melakukan salah satu dari dua langkah berikut:
      1. (Direkomendasikan) Lakukan migrasi untuk menggunakan FCM v1 API dan nonaktifkan FCM API lama.
      2. Amankan penggunaan FCM API lama dengan:
        1. Jika Anda hanya menggunakan kunci terekspos untuk FCM API: 
          1. Buat kunci baru dari Firebase Console > Setelan Project > Cloud Messaging dengan mengklik “Tambahkan Kunci Server”.  Gunakan kunci server baru ini untuk mengirim pesan FCM dari lingkungan server aman Anda. Pastikan Anda hanya menggunakan kunci ini dari lingkungan server aman Anda dan tidak disertakan dalam kode klien (aplikasi, biner). 
          2. Setelah Anda melakukan migrasi untuk mengirim pesan FCM menggunakan kunci server yang baru saja dibuat, hapus kunci server yang terekspos dari GCP console. Lokasi di aplikasi Anda yang mengekspos kunci server FCM dapat ditemukan dalam email notifikasi dari Google Play. Langkah c. mendeskripsikan cara mendapatkan kunci yang terekspos dari lokasi ini. 
        2. Jika Anda menggunakan kunci yang terekspos untuk API lain, termasuk FCM:
          1. Lakukan migrasi untuk menggunakan FCM v1 API dan nonaktifkan FCM API lama.
          2. Untuk mempersiapkan penggunaan API lainnya di masa mendatang, pertimbangkan untuk tidak menggunakan kunci yang terekspos untuk API lainnya, lalu hapus kunci yang terekspos dari GCP Console.
    3. Setelah melakukan salah satu langkah di atas, hapus kunci server FCM yang terekspos dari kode aplikasi Anda. Lokasi di aplikasi Anda yang mengekspos kunci server FCM dapat ditemukan dalam email notifikasi dari Google Play. Untuk mendapatkan kunci yang terekspos, periksa kode aplikasi Anda pada lokasi yang rentan. Kunci dapat disematkan di lokasi tersebut sebagai string, atau dimuat di lokasi tersebut dari resource XML aplikasi Anda; dalam kasus terakhir, periksa file res/values/strings.xml aplikasi Anda guna mendapatkan kunci yang terekspos. Harap perhatikan beberapa hal berikut:
      • Jika Anda melakukan langkah-langkah di atas tetapi tidak menghapus kunci yang terekspos dari aplikasi, Anda akan terus menerima notifikasi kerentanan di email/Konsol Google Play Anda. 
      • Jika Anda menghapus kunci yang terekspos dari aplikasi tetapi tidak melakukan langkah-langkah di atas, Anda sebenarnya tidak memperbaiki masalah tersebut karena penyerang dapat menemukan kunci di versi aplikasi yang lebih lama dan menggunakannya untuk menyerang aplikasi Anda.

2. Kirimkan APK yang telah diupdate

Untuk mengirimkan app bundle atau APK yang telah diupdate:

  1. Buka Konsol Play.
  2. Pilih aplikasi.
  3. Buka Penjelajah app bundle.
  4. Pilih versi Aplikasi APK/app bundle yang tidak mematuhi kebijakan di menu dropdown sebelah kanan atas, dan catat rilis mana yang dimaksud.
  5. Buka jalur yang berisi masalah kebijakan. Jalur tersebut merupakan salah satu dari 4 halaman ini: Produksi atau Pengujian Terbuka/Tertutup/Internal.
  6. Di sebelah kanan atas halaman, klik Buat rilis baru. (Anda mungkin perlu mengklik Kelola jalur terlebih dahulu)
    • Jika rilis dengan APK yang melanggar masih dalam status draf, hapus rilis tersebut.
  7. Tambahkan versi app bundle atau APK yang mematuhi kebijakan.
    • Pastikan versi app bundle atau APK yang tidak mematuhi kebijakan ada di bagian Tidak disertakan dalam rilis ini. Untuk panduan lebih lanjut, baca bagian "Tidak disertakan (app bundle dan APK)" dalam artikel Bantuan Konsol Play ini.
  8. Untuk menyimpan perubahan apa pun yang dilakukan pada rilis, pilih Simpan.
  9. Setelah selesai menyiapkan rilis, pilih Tinjau rilis.

Jika APK yang tidak mematuhi aturan dirilis ke beberapa jalur, ulangi langkah 5-9 di setiap jalur.

Setelah dikirim 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 ditinjau, versi aplikasi baru tidak akan dipublikasikan dan Anda akan menerima notifikasi email.

Kami siap membantu

Jika ada pertanyaan teknis mengenai kerentanan, Anda dapat mempostingnya di Stack Overflow dan menggunakan tag “android-security”. Jika Anda membutuhkan penjelasan lebih lanjut mengenai langkah-langkah yang harus dilakukan guna mengatasi masalah ini, Anda dapat menghubungi tim dukungan developer kami.

Menu utama
6129661644041936069
true
Pusat Bantuan Penelusuran
true
true
true
true
true
5016068
false