Zero-Click CSRF: Ancaman Diam-Diam di Balik Push Notification
Kita sering dengar istilah CSRF (Cross-Site Request Forgery) sebagai serangan yang memerlukan interaksi pengguna, seperti klik tombol atau membuka link jebakan.
Tapi, bagaimana kalau serangan CSRF bisa terjadi tanpa klik sama sekali?
Tanpa form. Tanpa tombol. Tanpa interaksi apa pun.
💣 Itulah yang disebut Zero-Click CSRF.
Dan yang mengejutkan: push notification bisa jadi jalan masuknya.
🧠 Apa Itu Zero-Click CSRF?
Zero-click CSRF adalah bentuk serangan CSRF yang tidak memerlukan aksi pengguna. Artinya, begitu browser pengguna menerima sesuatu (misalnya notifikasi), permintaan otomatis dikirim ke server.
Karena browser tetap menyertakan cookie login, permintaan ini bisa mengubah data, transfer uang, atau bahkan menghapus akun — tanpa disadari pengguna.
🔔 Bagaimana Push Notification Bisa Dimanfaatkan?
Push notification di web modern (PWA atau aplikasi berbasis service worker) bisa:
-
Dikirim dari server ke browser pengguna
-
Dijalankan bahkan ketika tab browser tidak dibuka
-
Melibatkan script (service worker) untuk merespons notifikasi
Di sinilah masalah muncul.
Penyerang bisa menyisipkan kode jahat dalam notifikasi yang memicu request berbahaya ke server. Jika token CSRF tidak dicek, maka server akan menerima dan menjalankan permintaan seolah-olah berasal dari pengguna asli.
🎯 Contoh Skenario Zero-Click CSRF via Push
-
Korban sudah login ke situs e-commerce (dengan cookie aktif).
-
Situs tersebut punya service worker untuk menangani push notification.
-
Penyerang menemukan endpoint
POST /add-admin
yang tidak punya CSRF token. -
Penyerang menyisipkan notifikasi yang memicu request ini:
-
Notifikasi dikirim → Service worker mengeksekusi kode → Request dikirim → Server percaya karena ada cookie → Penyerang berhasil!
⚠️ Kenapa Ini Berbahaya?
-
Pengguna tidak klik apa pun.
-
Tidak sadar bahwa permintaan dikirim.
-
Tidak ada tampilan mencurigakan.
-
Cookie dikirim otomatis oleh browser.
-
Server percaya bahwa permintaan valid.
Itulah kenapa zero-click CSRF sangat berbahaya dan sulit terdeteksi.
🛡️ Cara Mencegah Zero-Click CSRF
✅ 1. Selalu Gunakan CSRF Token
Jangan pernah menerima permintaan POST, PUT, DELETE tanpa validasi token. Token ini memastikan permintaan benar-benar dari pengguna yang sah.
✅ 2. Validasi Origin dan Referer
Pastikan semua permintaan sensitif datang dari domain resmi aplikasi kamu.
✅ 3. Gunakan SameSite Cookie
Atur cookie kamu menjadi:
Ini mencegah cookie dikirim otomatis saat permintaan berasal dari context luar.
✅ 4. Audit Service Worker Kamu
-
Jangan jalankan fetch atau script otomatis dari push tanpa kontrol.
-
Jangan izinkan notifikasi menjalankan kode yang bisa mengakses endpoint sensitif.
🧾 Kesimpulan
Zero-click CSRF adalah ancaman nyata di era web modern. Dengan kombinasi push notification, service worker, dan endpoint yang tidak aman, penyerang bisa:
Menyerang tanpa suara. Menyerang tanpa klik.
Untuk mencegahnya:
-
Lindungi semua endpoint dengan CSRF token
-
Audit service worker kamu
-
Gunakan cookie yang aman
Ingat: keamanan bukan cuma soal form, tapi juga soal semua cara browser bisa bicara ke server—termasuk lewat notifikasi.
Penulias : Muhammad Aditya Alkhawarizmi
Nim : 23156201023
jurusan : Sistem Komputer