Kamis, 11 November 2010

Serangan CSRF Pada Website


Bagaikan gol bunuh diri, Cross Site Request Forgery (CSRF) adalah sebuah serangan pada website yang dieksekusi atas wewenang korban, tanpa dikehendakinya.
Celah keamanan CSRF (baca “sea-surf) telah dikenal sejak 1990-an dalam beberapa kasus eksploitasi, dan tetap mengancam sampai saat ini, seiring dengan semakin menjamurnya  berbagai website dengan teknologi dan fiturnya masing-masing. CSRF merupakan pemalsuan request  yang berasal dari site yang berbeda, tetapi dari sisi client tidak mengubah alamat IP karena memang dieksekusi oleh korban. Serangan CSRF dapat ditunjukkan seperti serangan pada diagram dibawah.


Gambar 1. Serangan CSRF.

Penyerang mengirmkan link atau halaman berisi request tersembunyi pada pengguna (korban), yang dieksekusi oleh penggunan tersebut ke website target. Dalam menyusun serangan, penyusun akan mempelajari terlebih dahulu kelemahan-kelemahan website target yang dapat dimanfaatkan dengan teknik CSRF.
Website yang menyimpan cookies sehingga mengizinkan pengguna untuk datang kembali tanpa mengetikkan username dan password, akan menarik perhatian menyerang untuk lebih mengekplorasi fitur-fitur yang terdapat pada website setelah login.

Berhati-hatilah karena walaupun anda membuat website yan cukup strict dalam masalah login, website tersebut belum tentu aman 100% dari serangan CSRF. Bagaimana jika website tersebut memiliki fitur message/mailbox seperti yang dimiliki berbagai website jejaring sosial dan webmail. E-mail atau message berbahaya dikirimkan langsung ke mailbox anda.

Penyerang juga akan mempelajari apakah website melakukan pengecekan header atau token berisi id unik. Iika pengamanan ini tidak dilakukan dan hanya berdasarkan session/cookies saat login, maka serangan CSRF dapat dilakukan tanpa masalah berarti.

Eksplorasi berikutnya adalah melihat fitur apa saja yang disediakan website, mungkin berbentuk form atau button/link yan dapat di submit. Penyerang akan melihat fungsinya, aksi-aksi sensitif seperti delete account, change password, mengubah preferensi, dan sebagainya, akan menarik perhatian penyerang untuk dimanfaatkan bagi kepentingan dirinya.

Jika terdapat parameter yang berpotensi digunakan dalam serangan CSRF, maka penyerang akan menentukan nilai parameter dalam penyerangannya. Jika terdapat hidden input berisi token rahasia, penyerang akan berusaha menemukan algoritma dan menemukan isi field tersebut. Setelah serangan siap dilancarkan, penyerang akan berusaha menarik korbannya dengan link atau halaman yang mengandung request tersembunyi.

Semakin website anda dikenal, semakin berpotensi dieksplorasi oleh siapapun. Hanya dengan memahami pemikiran dan usaha yang mungkin dilakukan penyerang, maka perancangan aplikasi web dapat diarahkan pada tindak pengamanan yang tepat.
(PC Media, 10/2010, hal. 98)

*****
 

Tidak ada komentar:

Posting Komentar