Ancaman siber terus berkembang, salah satu serangan yang seringkali luput dari perhatian adalah Cross Site Request Forgery (CSRF). Serangan ini memungkinkan pelaku jahat untuk mengeksploitasi sesi pengguna yang sudah terautentikasi untuk melakukan tindakan yang tidak diinginkan pada sebuah website.
Mari kita bahas lebih dalam mengenai CSRF, bagaimana cara kerjanya, dan langkah-langkah pencegahannya.
Pengertian CSRF
CSRF adalah sebuah serangan cyber yang memanfaatkan kepercayaan antara pengguna dan situs web yang telah terautentikasi. Serangan ini memungkinkan seorang penyerang untuk memaksakan pengguna yang sudah login di suatu situs web untuk mengirimkan permintaan (request) ke situs web tersebut tanpa sepengetahuan pengguna.
Mengapa CSRF Berbahaya
Misalnya, Anda sudah login di akun Facebook Anda. Kemudian, Anda mengunjungi sebuah situs web jahat yang mengandung sebuah gambar tersembunyi. Gambar ini sebenarnya adalah sebuah tag form yang dirancang untuk mengirimkan permintaan ke Facebook Anda, misalnya untuk mengganti password atau menghapus akun.
Ketika Anda mengunjungi situs web jahat tersebut, browser Anda secara otomatis akan mengirimkan permintaan ini ke Facebook atas nama Anda, karena Anda sudah dalam keadaan login.
Mengapa CSRF berbahaya?
- Tanpa sepengetahuan pengguna: Serangan CSRF dilakukan tanpa sepengetahuan atau persetujuan pengguna.
- Memanfaatkan sesi yang sudah aktif: Serangan ini memanfaatkan sesi autentikasi yang sudah aktif pada browser pengguna.
- Dampak yang serius: Serangan CSRF dapat mengakibatkan berbagai kerugian, seperti penggantian password, penghapusan akun, transaksi finansial yang tidak sah, dan lain-lain.
Baca Juga: Phreaking, Ancaman Tersembunyi di Balik Jaringan
Mekanisme Serangan CSRF
Serangan CSRF memanfaatkan kerentanan pada aplikasi web. Untuk mengetahui bagaimana serangan ini terjadi, mari kita pelajari langkah-langkah yang dilakukan oleh pelaku serangan.
1. Proses Serangan
Langkah-langkah umum serangan CSRF:
- Pengguna login: Korban berhasil login ke situs web target (misalnya, bank online) dan sesi autentikasi mereka aktif.
- Penyerang membuat form tersembunyi: Penyerang membuat sebuah form HTML tersembunyi yang berisi sebuah permintaan yang ingin dieksekusi di situs target. Form ini biasanya disamarkan dalam sebuah gambar atau link yang tidak mencurigakan.
- Korban mengunjungi situs penyerang: Korban secara tidak sengaja mengunjungi situs web penyerang atau membuka email yang berisi link berbahaya.
- Browser mengirimkan permintaan: Ketika korban mengunjungi situs penyerang, browser mereka secara otomatis mengirimkan permintaan yang tersembunyi dalam form tersebut ke situs target. Karena korban sudah dalam keadaan login, situs target menganggap permintaan tersebut sah dan mengeksekusi perintah tersebut.
Contoh skenario: Seorang pengguna sudah login ke akun bank online mereka. Penyerang membuat sebuah gambar yang berisi sebuah form tersembunyi yang akan mentransfer dana dari akun korban. Ketika korban mengklik gambar tersebut, browser mereka akan mengirimkan permintaan transfer dana ke bank tanpa sepengetahuan korban.
2. Elemen-Elemen Kritis
- Sesi autentikasi yang aktif: Serangan CSRF hanya dapat berhasil jika korban sudah login ke situs target dan memiliki sesi autentikasi yang aktif.
- Form tersembunyi: Penyerang harus membuat form tersembunyi yang berisi permintaan yang ingin dieksekusi. Form ini bisa berupa form HTML biasa atau menggunakan JavaScript.
- Metode pengiriman: Penyerang dapat menggunakan berbagai metode untuk mengirimkan permintaan, seperti gambar, link, atau iframe.
- Kerentanan pada situs target: Situs target harus memiliki kerentanan yang memungkinkan eksekusi permintaan tanpa validasi yang memadai.
3. Jenis-jenis Serangan CSRF
Stored CSRF:
- Definisi: Serangan CSRF yang payload-nya disimpan secara persisten di server target, misalnya pada forum, komentar, atau database.
- Cara kerja: Ketika korban mengakses halaman yang mengandung payload tersebut, browser mereka akan secara otomatis mengirimkan permintaan berbahaya.
- Contoh: Penyerang memposting komentar di forum yang berisi link berbahaya. Ketika pengguna lain mengklik link tersebut, mereka akan secara tidak sadar mengirimkan permintaan berbahaya ke situs target.
- Reflected CSRF:
- Definisi: Serangan CSRF yang payload-nya dikirimkan melalui URL atau parameter HTTP.
- Cara kerja: Penyerang mengirimkan link yang mengandung payload CSRF ke korban melalui email, pesan instan, atau media sosial lainnya. Ketika korban mengklik link tersebut, browser mereka akan mengirimkan permintaan berbahaya ke situs target.
- Contoh: Penyerang mengirim email phishing yang berisi link yang terlihat seperti link login ke situs bank. Ketika korban mengklik link tersebut, mereka akan diarahkan ke situs phishing yang akan mengirimkan permintaan transfer dana ke akun penyerang.
Dampak Serangan CSRF
Akibat dari serangan CSRF bisa sangat serius dan berdampak luas. Mari kita bahas lebih dalam mengenai konsekuensi yang mungkin timbul.
1. Kerugian Finansial
Serangan CSRF dapat mengakibatkan kerugian finansial yang signifikan baik bagi individu maupun perusahaan. Berikut beberapa contohnya:
- Transaksi tidak sah: Penyerang dapat memanfaatkan CSRF untuk melakukan transaksi pembayaran tanpa persetujuan korban. Misalnya, mentransfer dana dari rekening bank korban ke rekening penyerang.
- Pembelian yang tidak diinginkan: Serangan CSRF dapat digunakan untuk membeli produk atau layanan secara online tanpa izin dari korban.
- Kerugian investasi: Dalam kasus platform trading online, serangan CSRF dapat digunakan untuk melakukan transaksi jual beli saham atau aset digital tanpa sepengetahuan investor.
2. Pencurian Data
Serangan CSRF dapat menjadi pintu masuk bagi pencurian data sensitif pengguna. Berikut beberapa cara data dapat dicuri melalui CSRF:
- Penggantian informasi profil: Penyerang dapat mengubah informasi profil pengguna, seperti alamat email atau nomor telepon, yang kemudian dapat digunakan untuk serangan phishing atau spamming.
- Pengungkapan informasi rahasia: Serangan CSRF dapat digunakan untuk mengakses dan mengungkapkan informasi rahasia pengguna, seperti nomor kartu kredit, tanggal lahir, atau alamat rumah.
- Pemanfaatan data untuk serangan lanjutan: Data yang dicuri melalui serangan CSRF dapat digunakan untuk melakukan serangan lanjutan, seperti brute force attack atau serangan phishing yang lebih tertarget.
3. Kerusakan Reputasi
Serangan CSRF dapat merusak reputasi sebuah perusahaan atau organisasi. Berikut beberapa dampaknya:
- Kehilangan kepercayaan pelanggan: Jika pelanggan mengetahui bahwa data mereka telah dicuri akibat serangan CSRF, mereka akan kehilangan kepercayaan terhadap perusahaan dan dapat beralih ke pesaing.
- Denda dan sanksi: Perusahaan yang mengalami pelanggaran data akibat serangan CSRF dapat dikenakan denda dan sanksi oleh regulator terkait.
- Kerugian bisnis: Kerusakan reputasi dapat menyebabkan penurunan penjualan, kesulitan dalam menarik investor, dan kesulitan dalam mempertahankan karyawan yang berkualitas.
Baca Juga: Serangan Credential Stuffing: Ancaman dan Risiko yang Harus Diketahui
Pencegahan Serangan CSRF
1. Token CSRF
Token CSRF berfungsi untuk mencegah CSRF dengan memastikan bahwa permintaan yang masuk berasal dari pengguna yang sah. Cross-site request forgery atau CSRF adalah jenis serangan di mana pengguna tanpa sadar mengirim permintaan palsu ke aplikasi website yang telah dia autentikasi.
Token CSRF adalah random validation token yang memiliki nilai token yang berbeda untuk setiap sesi pengguna dan berfungsi untuk menentukan apakah permintaan itu sah. Setiap kali pengguna mengirim permintaan seperti mengganti foto profil atau menghapus akun pengguna, token ini diverifikasi.
Nilai ini bersifat rahasia dan sulit ditebak oleh oknum. Data memiliki nilai token ini juga bisa membantu dalam proses validasi untuk menghindarinya.
2. HTTP Only Cookies
HTTP Only cookies sangat penting untuk mencegah serangan CSRF karena membuat cookie hanya dapat diakses oleh server, bukan oleh skrip di browser. Ini penting untuk mengamankan sandi, token sesi, atau informasi sensitif lainnya.
CSRF berhasil ketika jenis serangan ini memanfaatkan kelemahan pada sistem yang mengizinkan pengguna tanpa izin untuk melakukan aksi atas nama pengguna yang sedang dalam posisi login.
Dengan menggunakan HTTP Only cookies, serangan seperti phising menjadi lebih sulit dilakukan karena oknum tidak bisa mengekstrak sandi atau token sesi dari cookie melalui skrip berbahaya.
3. SameSite Attribute
SameSite attribute adalah tambahan penting dalam mencegah serangan request forgery atau CSRF. Ini bekerja dengan memastikan bahwa cookie hanya dikirim ketika permintaan berasal dari domain yang sama.
SameSite attribute membantu membedakan antara permintaan yang sah dan yang tidak, sehingga mencegah eksploitasi melalui pengiriman permintaan palsu dari situs pihak ketiga. Dengan menggunakan atribut ini, serangan jenis ini memiliki peluang yang lebih kecil untuk berhasil mengganti data pengguna atau mengeksekusi permintaan berbahaya.
4. Validasi Input
Validasi input pada semua data yang berasal dari pengguna sangat penting untuk mengurangi risiko serangan CSRF. Setiap permintaan yang masuk dari pengguna perlu divalidasi untuk memastikan data tersebut asli dan bukan hasil serangan yang memanfaatkan celah keamanan.
Validasi input juga membantu mencegah kegagalan dalam proses penanganan data dan menghindarinya dari jenis serangan CSRF yang lebih kompleks. Misalnya, kolom komentar yang tidak divalidasi bisa menjadi sumber permintaan palsu yang akhirnya meninggalkan jejak serangan.
5. Pembaruan Perangkat Lunak
Pembaruan perangkat lunak dan sistem operasi sangat penting untuk menjaga keamanan dan menutup celah keamanan yang dapat dimanfaatkan oleh jenis serangan CSRF. Aplikasi yang tidak diperbarui mungkin memiliki kelemahan yang bisa dieksploitasi oleh oknum untuk mengambil alih akun pengguna atau mengirimkan permintaan palsu.
Penggunaan perangkat lunak terbaru memastikan bahwa akses ke sistem dijaga dengan lebih baik dan pengiriman data tetap aman dari serangan request forgery adalah serangan yang sangat berbahaya.
Jadilah Ahli Keamanan Aplikasi Web Bersama Course-Net
Cross-Site Request Forgery (CSRF) adalah ancaman serius yang dapat merugikan baik individu maupun organisasi. Dengan memahami mekanisme kerja dan dampak dari serangan CSRF, kita dapat mengambil langkah-langkah pencegahan yang efektif.
Implementasi token CSRF, verifikasi referer, dan penggunaan HTTP-only cookies adalah beberapa teknik yang dapat diterapkan untuk melindungi aplikasi web dari serangan CSRF. Untuk mempelajari lebih lanjut tentang CSRF dan berbagai teknik mitigasi lainnya, ikuti kursus cyber security di Course-Net.
Mengapa memilih Course-Net:
- Pembelajaran secara langsung (Tatap Muka)
- Berpengalaman sejak 2015
- Telah meraih 4 penghargaan internasional
- Telah mendapat rating sebesar 4.9 dari 15.000+ reviews di Google Review
- coach adalah praktisi aktif dengan 5 tahun pengalaman dan prestasi tingkat dunia
- Materi yang diberikan lebih dari 70% berupa praktik langsung, bukan hanya teori
Dapatkan pengetahuan tentang keamanan aplikasi web dan berbagai teknik mitigasi ancaman! Segera jadilah bagian dari Kursus Cyber Security Course-Net!










