Apa Si CSRF Itu?

Cross-site Request Forgery (CSRF) Atau yang paling umum disebut dengan One-Click Attack ini adalah sebuah serangan yang menggunakan injeksi script baik berupa kode javascript, link, atau gambar dengan memanfaatkan token autentikasi.

Disebut One-Click attack karena metode ini hanya perlu pemicu dari user dan pemicunya  bisa berupa link yang sudah dimanipulasi untuk mengeksekusi perintah.

Nah seacar umum biasanya CSRF ini bekerja dengan memanfaatkan sebuah token autentikasi oleh korbannya dengan bertujuan melakukan suatu request yang tidak diinginkan oleh si korban. Disini terlihat perbedaan antara CSRF dan Phising, Phising menggunakan url samaran untuk meniou korbannya yang seakan - akan menyerupai website resminya sedangkan CSRF korban akan dibawa kesebuah website yang baginya menarik dan oleh hacker website tersebut akan diinject dengan script jahat / malware.

Baik jika kalan masih bingun dengan penjelasan diatas saya akan memberi secara detail dan cara kerja dari CSRF ini.

 Contoh Serangan CSRF
Misalkan ada 2 orang ita sebut aja Riki dan Raka Bona akan mentranser uang kepada Boni menggunakan fasilitas internet banking, setelah Riki melakukan proses autentikasi maka dia akan diarahkan kehalaman transfer.

katakan saja halaman transfer memiliki form berupa No renkening tujuan, dan jumlah transfer dan juga sebuah tombol bertuliskan transfer. Ketika proses transfer selesai Riki menerima sebuah e-mail yang berisi link artikel tentang cara membuat kue yang enak.

Nah disinilah si hacker memanfaatkan kesempatan tersebut. Dengan memanfaatkan akses token Riki yang masih aktif pada tab akun banknnya maka si hacker akan menginject dan memanipulasi link yang ada dalam e-mail tersebut.


Disini si hacker akan membuat formnya sendiri membuatnya tidak terlihat dan menyisipkan pada e-mail yang diterima oleh riki. Jadi ketika riki mengunjungi link tersebut maka yang akan melakukan request adalah form transfer bank pada tab yang satunya dan secara tidak sadar riki telah mentransfer sejumlah uang kepada hacker tersebut. 
 

Waah bahaya juga ya itu kalau transfer sejumlah uang, bagaimana jika si hacker mereset password kalian?.

Ok dari kejadian diatas kita menganalisa masing - masing peran memiliki kesalahannya masing - masing. Pertama form pada sistem Bank harusnya dilengkapi secure token untuk mencegah terjadinya request yang tidak dinginkan dan juga sistem bank bisa memproses GET request pada proses transfernya, kedua Bona tidak langsung logout dari sistem bank tersebut dan membiarkan tokennya aktif.

Tips Pencegahan

Dari analisa diatas kita akan tahu langkah penjegahan apa yang akan dilakukan untuk menangkal CSRF ini dan disini saya akan merangkum beberapa untuk kalian.
  1. Tips yang pertama adalah segera logout dari akun bank kalian ketiga tidak akan digunakan lagi. Sebab seperti yang saya sudah jelaskan diawal CSRF bekerja dengan memanfaatkan akses token pengguna.
  2. Untuk Developer Aplikasi disarankan untuk memberbaharui sistem keamanan secara berkala sebab tidak mungkin hacker menggunakan metode penyerangan yang sama ke sistem yang sama.
  3. Masih untuk para Developer khususnya website, pastikan agar request yang sifatnya menambah, mengedit, dan menghapus data dilakukan dengan method POST dan method GET hanya untuk menampikan data saja.
  4. Proteksi form dengan csrf protection saat ini hampir semua framework PHP sudah ada fitur ini bahkan CodeIgniter juga sudah disediakan di pada versi terbarunya.
Ok sekian pembahasan tentang CSRF semoga bermanfaat dan jika ada yang ingin didiskusikan langusung dikolom komentar ya :)

0 Comments:

Post a Comment