Mengenal Tentang Cross-Site Request Forgery (CSRF)
Serangan Cross-Site Request Forgery menyebabkan kerugian dalam hal keuangan,kredensial baik bagi para developer maupun para penggunanya.Cross-Site Request Forgery menjadi salah satu cara lama dalam hal eksploitasi kerentanan terhadap situs web yang masih membutuhkan otentikasi misalnya logging.
Serangan CSRF ditujukan untuk memaksa para korban menciptakan permintaan web yang dianggap berbahaya dan tidak sah dengan nama korban itu sendiri.Keamanan yang lemah menjadi kunci serangan CSRF.
Nah,pada artikel ini kita akan membahas mengenai Cross-Site Request Forgery (CSRF).
Pengertian Cross-Site Request Forgery (CSRF)
Cross-Site Request Forgery (CSRF) atau One-Click Attack atau Session Riding merupakan salah satu jenis serangan eksplotasi yang sifatnya berbahaya terutama bagi para pengguna aplikasi web.Serangan tersebut masuk ke dalam daftar ke 7 teratas dari 10 serangan ekploitasi di Web.
CSRF memungkinkan para penyerang dapat meminta HTTP secara acak terkait POST / GET yang sifatnya tidak sah dengan menggunakan nama korbannya yang diautentikasi dalam sebuah situs web.Teknik CSRF ini sering dilakukan dalam melakukan serangan pada web,mulai dari yang memiliki tingkat bahaya paling rendah hingga yang paling berbahaya sekalipun.
Cara Kerja Penyerangan Serangan Cross-Site Request Forgery (CRSF)
Serangan Cross-Site Request Forgery/CRSF termasuk dalam serangan yang cara kerjanya mengimplementasikan permintaan yang sifatnya tidak sah selama tindakan web berlangsung mulai dari login hingga otentikasi pengguna.
Serangan inI membutuhkan ID session,cookie dan server yang tergolong rentan untuk dapat melancarkan aksinya yakni mencuri kredensial penggunanya.Misalnya dengan mengaktifkan prosedur anti-CSRF dalam melakukan pencegahan interaksi yang berpotensi menimbulkan bahaya cross-domain.
Jika penghalang rusak,penyerang langsung melancarkan aksinya dengan menggunakan ID session pengguna dengan bantuan cookie yang sudah dibuat browser pengguna kemudian menyematkan suatu tag skrip pada situs web tersebut.
Manipulasi ID tersebut memudahkan penyerang dalam menuntun pengunjung menuju halaman web lain maupun ekploitasi metode sosial engineering misalnya dengan mengirimkan link dalam email yang membujuk korbannya mendowload sebuah aplikasi berbahaya.
Setelah itu,penyerang mendorong korbannya untuk mengirim permintaan HTTP serta mengotoritasi tindakan tersebut.Serangan tersebut dapat menyebabkan para korban kehilangan kredensial akses terhadap penyerang,terutama jika merujuk pada perubahan kata sandi maupun nama pengguna.Tidak jarang,serangan CRSF biasanya dilakukan oleh para penyerang dalam membajak transaksi dana yang dilakukan dalam sebuah situs web untuk mengubah sandi/nama pengguna kemudian para pengguna menjadi kehilangan aksesnya.
Cara Penyerang Membajak Session Pengguna Dengan Cross-Site Request Forgery (CSRF)
Biasanya,CSRF menargetkan tindakan web berkaitan dengan otentikasi pengguna dengan memanfaatkan tindakan yang tidak sengaja dilakukan oleh korbannya,Dalam serangan CSRF,beberapa tindakan yang rentan dan menjadi kesempatan bagi para penyerang antara lain GET,POST, DELETE dan PUT.
- GET merupakan permintaan kumpulan database.
- POST biasanya ketika seseorang mengirimkan permintaan berupa formulir web.
- DELETE digunakan untuk menghapus sumber daya yang ada pada database.
- PUT adalah permintaan yang digunakan untuk mengubah sumber daya yang tersedia.
Penyerang biasanya membajak session dengan bantuan kombinasi ini untuk mengubah IP adress korbannya.Perubahan tersebut menuntun korban masuk ke dalam situs web baru yang sudah disiapkan penyerang,biasanya berupa link untuk mengirimkan formulir yang serupa dengan permintaan server namun telah dimodifikasi.
Para calon korban yang tidak merasa curiga akan mengira pengalihan tersebut memang ditujukan dari penyedia layanan.Kemudian korban akan mengklik link tersebut yang merujuk pada halaman penyerang dan tanpa mereka sadari formulir dalam pemuatan halaman tersebut merupakan tindakan penyerang.
Cara Mencegah Serangan CSRF Sebagai Developer
Dalam mencegah serangan CSRF,metode terbaik yang digunakan yakni : menggunakan token yang dapat berubah dibandingkan dengan bergantung pada session cookies ketika menjalankan perubahan status yang ada pada server.
Jika ingin mengantisipasi dan mencegah serangan CSRF,para developer mengatasinya dengan menggunakan server-side frameworks yang merupakan backend framework modern yang dilengkapi dengan token anti-CSRF bawaan.
Dengan menggunakan token tersebut,segala jenis permintaan berbasis server akan menciptakan garis acak sebagai pengganti session cookies yang memiliki potensi lebih rentan terserang.Selain itu,kalian dapat menerapkan sistem 2FA atau two-factor authentication dalam melakukan transaksi berbasis aplikasi web dan dapat mencegah serangan ini dengan mengaktifkan HTML auto-escape tanpa terkecuali pada seluruh bidang formulir yang ada di situs web.
Cara Mencegah Serangan CSRF Sebagai Pengguna
Untuk cara mencegah serangan CSRF sebagai pengguna yakni : Terutama bagi kalian yang menggunakan layanan web yang membutuhkan otentikasi,kalian harus hati-hati terutama dalam mencegah serangan yang dapat mencuri kredensial serta session dengan melalui CSRF.
Kalian harus memastikan layanan web yang digunakan harus terpercaya dalam berbagai aktivitas,terutama dalam melakukan transaksi dana.Tidak hanya itu,kalian harus memastikan browser web yang digunakan aman terutama terkait dengan session exposure dan search engines supaya terhindar dari kebocoran dalam penelusuran data.
Selain berhati-hati dan memastikan keamanan,pengguna dapat menggunakan third-party authenticators misalnya Google Authenticator maupun alternatif lainnya dalam melakukan verifikasi identitas melalui sebuah web.Sekalipun tidak bisa mencegah tindakan penyerang,kalian tetap harus melakukan pencegahan untuk meminimalisir terjadinya serangan CSRF dengan memastikan browser yang digunakan tidak menyimpan informasi detail seperti sandi dan detail login lainnya.
Sekian artikel ini,semoga bermanfaat !