FCM mengeksploitasi di balik notifikasi aneh dari Microsoft Teams, Hangouts

Kerentanan yang baru-baru ini diungkapkan di Firebase Cloud Messaging telah menyebabkan pemberitahuan aneh dari aplikasi seperti Microsoft Teams dan Hangouts.

Sepertinya kita tidak bisa melewatkan satu hari pun tanpa munculnya kelemahan keamanan signifikan di suatu perangkat lunak atau layanan. Minggu ini sepertinya adalah waktu bagi Firebase Cloud Messaging untuk menghadapi kerentanan yang mudah dieksploitasi.

Pesan Cloud Firebase adalah kerangka kerja dari Google untuk membantu pengiriman notifikasi melalui aplikasi di hampir semua platform menjadi lebih mudah. Dengan beberapa konfigurasi sederhana pada aplikasi dan server, Anda dapat mengirimkan pemberitahuan push umum atau tertarget kepada pengguna dalam hitungan menit. Sebagian besar aplikasi Android yang mengirimkan notifikasi push kemungkinan besar menggunakan Firebase Cloud Messaging (atau Google Cloud Messaging lama) untuk melakukannya. Hal ini mencakup aplikasi dari pengembang hobi tunggal hingga aplikasi dari perusahaan raksasa seperti Microsoft dan, tentu saja, Google.

Eksploitasi

Dan di situlah eksploitasi ini terjadi. Jika Anda menggunakan aplikasi seperti Tim Microsoft atau Google Hangout, Anda mungkin baru-baru ini memperhatikan notifikasi acak yang masuk, seperti yang ada di tangkapan layar berikut. Ini berasal dari orang-orang yang memanfaatkan konfigurasi Firebase Cloud Messaging yang tidak tepat.

Tangkapan layar dari /u/ToTooThenThan di Reddit.

Saya tidak akan membahas terlalu banyak detail di sini, namun masalah ini sebenarnya bukan kesalahan Google. Untuk mengirim pemberitahuan push dengan aman, Google mengharuskan server yang mengirimkannya juga mengirimkan kunci untuk memvalidasi keasliannya. Kunci ini seharusnya hanya ada di Firebase console dan di server Anda.

Namun aplikasi yang terpengaruh, apa pun alasannya, juga memiliki kunci bawaan di dalamnya. Itu tidak digunakan, tapi ada di sana, dalam teks biasa, untuk dilihat dan digunakan oleh siapa saja. Ironisnya, Google Hangouts dan Google Play Musik tampaknya rentan terhadap eksploitasi ini, begitu pula Microsoft Teams. Jadi ini semacam kesalahan Google, tapi juga bukan kesalahan sebenarnya.

Dan itu dapat digunakan untuk tujuan yang sangat jahat. Meskipun tampaknya sebagian besar "implementasi" kerentanan ini hanya digunakan untuk mengirim teks aneh kepada orang-orang, ada kemungkinan bagi penyerang untuk melakukan penipuan phishing. Teks pemberitahuannya bisa berupa, "Sesi Anda telah berakhir. Silakan ketuk di sini untuk masuk lagi," dengan URL yang diluncurkan saat Anda mengetuknya. URL tersebut bisa saja berupa situs yang ditata seperti, misalnya, halaman login Microsoft. Namun alih-alih masuk ke Microsoft, Anda malah memberikan login Anda kepada seseorang.

Apa yang Harus Dilakukan Pengguna?

Tidak ada apa-apa. Sebagai pengguna, tidak banyak yang dapat Anda lakukan untuk menghentikan notifikasi ini. Anda dapat memblokir saluran tempat mereka masuk (atau memblokir notifikasi dari aplikasi sama sekali), namun Anda tidak dapat memfilter notifikasi yang tidak sah, karena, sejauh yang diketahui oleh Firebase, mereka adalah sah.

Namun, yang dapat Anda lakukan adalah berhati-hati. Jika Anda mendapatkan notifikasi yang sepertinya menanyakan detail login Anda—atau informasi pribadi lainnya—jangan ketuk notifikasi tersebut. Sebagai gantinya, buka aplikasinya secara langsung. Jika pemberitahuan itu nyata, aplikasi akan menunjukkannya. Jika tidak, kemungkinan besar itu merupakan upaya phishing. Jika Anda mengetuk notifikasi, segera tutup situs web mana pun yang terbuka.

Dan terakhir, jika Anda sudah memasukkan kata sandi Anda di suatu tempat melalui notifikasi, segera ubah, batalkan otorisasi semua perangkat yang masuk (jika ada), dan aktifkan autentikasi dua faktor jika Anda belum melakukannya sudah.

Apa yang Harus Dilakukan Pengembang?

Jika Anda telah mengimplementasikan Firebase Cloud Messaging ke dalam aplikasi Anda, periksa file konfigurasi untuk memastikan kunci server Anda tidak ada di sana. Jika ya, segera batalkan validitasnya, buat yang baru, dan konfigurasikan ulang server Anda.

Sekali lagi, ini bukan artikel yang terlalu teknis, jadi sebaiknya Anda mengunjungi tautan di bawah untuk informasi lebih lanjut mengenai mitigasi.

Tanggapan Google dan Microsoft

Seorang juru bicara Google mengatakan Tegukan Harian bahwa masalah tersebut “secara khusus terkait dengan pengembang yang memasukkan kunci API dalam kode mereka untuk layanan yang tidak seharusnya disertakan, yang kemudian dapat dieksploitasi,” dan bukan layanan Firebase Cloud Messaging itu sendiri dikompromikan. “Jika Google dapat mengidentifikasi bahwa kunci server sedang digunakan, kami berupaya memperingatkan pengembang sehingga mereka dapat memperbaiki aplikasi mereka,” tambah juru bicara tersebut.

Microsoft mengeluarkan pernyataan berikut di Twitter:

Bacaan lebih lanjut

Berikut adalah beberapa artikel yang membahas lebih detail tentang eksploitasi ini, cara kerjanya, dan bagaimana Anda dapat memastikan bahwa Anda tidak rentan. Jika Anda seorang pengembang aplikasi, atau Anda hanya tertarik untuk mengetahui cara kerjanya, lihatlah.

  • Pengambilalihan Layanan Pesan Cloud Firebase: Penelitian kecil yang menghasilkan hadiah sebesar 30k$+
  • Kerentanan perpesanan Google Firebase memungkinkan penyerang mengirimkan pemberitahuan push ke pengguna aplikasi