Jaringan Komputer

CSRF: Pengertian, Cara Mencegah dan Mengatasinya

Serangan CSRF dapat menyebabkan kerugian dalam hal keuangan dan kredensial baik bagi para developer maupun para penggunanya.

CRSF itu sendiri merupakan singkatan dari Cross-Site Request Forgery yang menjadi salah satu cara lama dalam hal eksploitasi kerentanan terhadap situs web yang masih membutuhkan otentikasi misalnya logging.

Serangan ini ditujukan untuk memaksa para korban menciptkana permintaan web yang dianggap berbahaya dan juga tidak sah dengan nama korban itu sendiri. Keamanan yang lemah menjadi kunci serangan CSRF terjadi.

Pengertian 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 sangat memungkinkan bagi para penyerang untuk 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 kali dilakukan dalam melakukan serangan pada web, mulai dari yang memiliki tingkat bahaya paling rendah hingga yang paling berbahaya sekalipun.

Bagaimana Serangan CSRF Mempengaruhi Korban?

CRSF termasuk dalam serangan yang cara kerjanya yakni mengimplementasikan permintaan yang sifatnya tidak sah selama tindakan web berlangsung mulai dari login hingga otentikasi pengguna.

Serangan ini biasanya membutuhkan ID session, cookie, dan juga server yang tergolong rentan untuk dapat melancarkan aksinya yakni mencuri kredensial penggunanya. Misalnya saja dengan mengaktifkan prosedur anti-CSRF dalam melakukan pencegahan interaksi yang berpotensi menimbulkan bahaya cross-domain.

Jika penghalang rusak, penyerang langsun melancarkan aksinya dengan menggunakan ID session pengguna dengan bantuna 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 korban 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.

Tak jarang, serangan ini biasanya dilakukan oleh para penyerang dalam membajak transaksi dana yang dilakukan dalam sebuah situs web untuk mengubah sandi maupun nama pengguna kemudian para pengguna menjadi kehilangan aksesnya.

Bagaimana Penyerang Membajak Session Pengguna Dengan CSRF?

Biasanya, CSRF menargetkan tindakan web yang berkaitan dengan otentikasi pengguna dengan memanfaatkan tindakan yang tidak sengaja dilakukan oleh korbannya,

Dalam serangan CSRF, beberapa tindakan yang dianggap rentan dan menjadi kesempatan bagi para penyerang antara lain GET, POST, DELETE, dan PUT. GET itu sendiri adalah permintaan kumpulan database. Adapun POST biasanya ketika seseorang mengirimkan permintaan berupa formulir web.

DELETE digunakan untuk menghapus sumber daya yang ada pada database. Sedangkan PUT adalah permintaan yang digunakan untuk mengubah sumber daya yang tersedia.

Penyerang biasanya membajak session dengan bantuan kombinasi ini untuk dapat mengubah IP adress korbannya. Perubahan tersebut menuntun korban masuk ke dalam situs web baru yang telah disiapkan penyerang, biasanya berupa link untuk mengirimkan formulir yang serupa dengan permintaan server, namun telah dimodifikasi.

Para calon korban yang tidak merasa curiga pasti mengira bahwa 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 ini, metode terbaik yang dapat digunakan adalah menggunakan token yang dapat berubah, dibandingkan dengan bergantung pada session cookies ketika menjalankan perubahan status yang ada pada server.

Jika kalian ingin mengantisipasi dan mencegah terjadinya serangan CSRF ini, para developer biasanya 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 yang berbasis server akan menciptakan garis acak sebagai pengganti session cookies yang memiliki potensi lebih rentan terserang.

Selain itu, kalian juga dapat menerapkan sistem 2FA atau two-factor authentication dalam melakukan transaksi berbasis aplikasi web. Dan yang terakhir, kalian juga 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

Pada pembahasan yang terakhir kami akan menjelaskan mengenai bagaimana cara mencegah serangan CSRF sebagai pengguna. Sebagai pengguna 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 bahwa layanan web yang digunakan benar – benar terpercaya dalam berbagai aktivitas, terutama dalam melakukan transaski dana. Tak hanya itu, kalian harus memastikan bahwa browser web yang digunakan aman terutama terkait dengan session exposure dan juga search engines supaya terhindar dari adanya kebocoran dalam penelusuran data.

Selain harus berhati – hati dan memastikan keamanan, pengguna juga dapat menggunakan third-party authenticators misalnya Google Authenticator maupun alternatif lainnya dalam melakukan verifikasi identitas melalui sebuah web.

Sekalipun kita tidak dapat mencegah tindakan penyerang, kita tetap harus melakukan pencegahan untuk meminimalisir terjadinya serangan CSRF dengan memastikan browser yang digunakan tidak menyimpan informasi detail misalnya sandi maupun detail login yang lain.


feri