Serangan Cross-Site Request Forgery (CSRF)

Cross-Site Request Forgery (CSRF) is an attack that forces an end user to execute unwanted actions on a web application in which they’re currently authenticated. [owasp]

CSRF adalah serangan keamanan komputer yang menargetkan aplikasi web dengan memanfaatkan otentikasi yang ada antara pengguna dan aplikasi tersebut.

Dalam serangan CSRF, penyerang mencoba memaksa pengguna yang sudah diautentikasi untuk melakukan tindakan tanpa sepengetahuan atau persetujuan mereka.

Contoh umumnya adalah ketika seorang pengguna sudah login ke situs web A, lalu tanpa sepengetahuannya, situs web B yang dikuasai oleh penyerang mengirimkan permintaan yang berpotensi merugikan ke situs web A. Misalnya, pengguna mungkin tidak sengaja mem-posting pesan atau mentransfer uang ke akun penyerang.

Untuk melindungi aplikasi web dari serangan CSRF, pengembang umumnya menggunakan teknik-teknik seperti:

  1. Token CSRF: Membuat token acak yang dikirimkan bersama permintaan dan diverifikasi oleh server untuk memastikan bahwa permintaan tersebut sah.
  2. Double Submit Cookies: Menggunakan cookie dengan nilai yang sama dengan token CSRF, sehingga browser mengirimkan token dalam cookie dan permintaan, dan server memverifikasi kecocokan keduanya.
  3. SameSite Cookies: Mengatur cookie agar hanya dikirimkan dalam konteks yang sama, sehingga mengurangi kemungkinan serangan CSRF dari luar situs.
  4. Verifikasi Referer: Memeriksa header Referer untuk memastikan bahwa permintaan berasal dari halaman yang diharapkan.
  5. Menambahkan Konfirmasi: Menggunakan konfirmasi tambahan untuk tindakan sensitif, sehingga bahkan jika serangan CSRF berhasil, pengguna masih harus memberikan persetujuan tambahan.

Penerapan teknik-teknik ini dapat membantu melindungi aplikasi web dari serangan Cross-Site Request Forgery dan menjaga keamanan pengguna.

HTTPS sendiri tidak melakukan apa pun untuk melawan CSRF

Namun, HTTPS harus dianggap sebagai prasyarat agar tindakan pencegahan apa pun dapat dipercaya. HTTPS atau Hypertext Transfer Protocol Secure, adalah protokol komunikasi internet yang digunakan untuk melindungi integritas dan kerahasiaan data yang ditransfer antara pengguna dan situs web. Ini menciptakan lapisan keamanan tambahan dengan menggunakan enkripsi SSL/TLS untuk mengamankan komunikasi antara browser pengguna dan server web.

Meskipun HTTPS tidak secara langsung mengatasi serangan CSRF, penting untuk dianggap sebagai prasyarat karena dapat meningkatkan keamanan aplikasi web secara keseluruhan. Beberapa alasan mengapa HTTPS penting dalam konteks pencegahan CSRF adalah:

  1. Kerahasiaan Data
  2. Integritas Data
  3. Keaslian Server
  4. Penggunaan Cookie yang Aman

Dengan menggunakan HTTPS sebagai prasyarat, aplikasi web dapat memastikan bahwa data sensitif yang terkait dengan keamanan, termasuk token CSRF, dienkripsi dan dilindungi dengan baik selama transmisi. Meskipun HTTPS sendiri tidak langsung memerangi CSRF, keamanan yang diberikannya merupakan fondasi penting untuk penerapan strategi pencegahan CSRF yang efektif.

ALRIGHT LET’S BEGIN!!

Leave a Reply