Apa itu Session Hijacking? Ini Penjelasan dan Cara Mencegahnya

Apa itu Session Hijacking? Ini Penjelasan dan Cara Mencegahnya

Di balik perkembangan bisnis di era digital, bayang-bayang kejahatan siber terus menghantui. Banyak sekali kerugian jika kejahatan siber menimpa website atau aplikasi milikmu. Session hijacking adalah salah satu cyber attack yang sering terjadi belakangan ini.

Kasus pembajakan seperti session hijacking setidaknya terjadi dalam ratusan ribu kasus tiap tahunnya. Hal ini menandakan bahwa data atau informasi pribadi seseorang lebih mudah dicuri lewat internet. Terlebih lagi, data yang berhasil dicuri bisa saja disalahgunakan oleh pihak tak bertanggung jawab.

Lantas, apa itu session hijacking? Bagaimana cara mencegahnya? Tenang saja, di artikel ini Dewaweb akan menjawab pertanyaan-pertanyaan tersebut. Simak sampai selesai, ya!

Baca Juga: CSRF (Cross Site Request Forgery): Pengertian dan Cara Mencegahnya

Apa itu Session Hijacking?

Sebelum mengenal session hijacking lebih dalam, kamu harus tahu terlebih dahulu apa itu ‘hijacking’. Hijacking adalah tindakan yang dilakukan seseorang agar bisa masuk ke dalam sistem melalui operational systems. Biasanya hijacker menggunakan bot server atau software tertentu dengan tujuan untuk mencuri informasi, database, mengambil alih, bahkan merusak sistem. Sistem yang dimaksud dapat berupa perangkat lunak, jaringan, website, server, dan sebagainya.

Session hijacking adalah kejahatan cyber berupa pengambilan kendali session milik user lain. Aksi ini dilancarkan setelah pelaku atau hacker berhasil mendapatkan autentikasi session ID dari data yang tersimpan pada cookie. Selama sesi berlangsung, hacker memiliki kewenangan dan memegang kendali atas session yang telah dibajak.

Session hijacking juga dikenal sebagai peretasan TCP session, dimana aksi ini dilakukan dengan metode menyamar sebagai user berwenang untuk mendapatkan session ID secara diam-diam. Jika session ID berhasil didapatkan, maka hacker atau penyerang memiliki akses dan wewenang yang sesuai dengan perizinan user tersebut di jaringan.

Baca Juga: Kejahatan Cybersquatting: Penjelasan dan Contoh Kasusnya

Cara Kerja Session Hijacking

Seperti yang sudah Dewaweb singgung, bahwa session hijacking bisa dikatakan sebagai pembajakan sesi. Cara kerja pembajakan sesi ini bisa saja berbeda-beda tergantung teknik yang digunakan penyerang. Agar lebih jelas, berikut ini penjelasannya.

  • Sniffing Session: Penyerang akan menangkap lalu lintas jaringan yang didalamnya termasuk session ID pada suatu website menggunakan sniffer seperti Wireshark. Jika aksi ini berhasil dilancarkan, memungkinkan penyerang mendapatkan akses yang tidak sah.
  • Predictable session token ID: Server biasanya menggunakan algoritma tertentu untuk menghasilkan session ID. Prediktabilitas token sesi yang besar bisa menjadi sebuah kelemahan karena mudah ditebak atau diprediksi. Penyerang bisa saja memprediksi session ID yang valid dengan cara menganalisis pola ID yang berhasil didapatkan sebelumnya.
  • Cross site scripting: Penyerang memanfaatkan kerentanan sebuah aplikasi atau server dengan menyuntikkan script tertentu. Jika halaman tidak disetel dalam sesi cookie, penyerang bisa mendapatkan session dari script yang telah diinjeksikan. Dimana, hal ini memungkinkan penyerang mengakses informasi yang dibutuhkan untuk membajak session ID.
  • Session sidejacking: Penyerang mencegat cookie sesi dan memantau seluruh lalu lintas jaringan menggunakan packet sniffing. Aksi ini biasanya dilancarkan setelah user melakukan otentikasi pada suatu server. Jika seluruh sesi tidak terenkripsi TLS, penyerang bisa saja membajak sesi saat pengguna mengakses halaman login pada suatu website atau aplikasi.

Jenis Session Hijacking

Session hijacking memiliki dua jenis yang berbeda, yakni active session hijacking dan passive session hijacking. Agar kamu lebih paham, berikut ini penjelasan lengkapnya:

Active session hijacking

Penyerang secara aktif ikut dalam komunikasi client dengan server sebagai man in the middle. Tujuannya adalah agar penyerang dapat mengambil alih session dengan cara memutus komunikasi tersebut. Serangan ini bisa dikatakan berhasil jika penyerang dapat menebak nomor sequence dari sebuah server.

Nomor sequence sendiri dibuat berbeda-beda tergantung operating system yang digunakan suatu perangkat. Cara yang terbaru adalah membuat nilai awal nomor sequence berdasarkan nilai secara acak atau random. Sementara cara lama untuk membuat nomor sequence adalah dengan menambahkan nilai konstan.

Baca Juga: Web Application Firewall (WAF): Pengertian dan Manfaatnya

Untuk melancarkan aksi ini, terdapat beberapa proses yang harus dilalui, di antaranya yaitu:

1. Tracking: Penyerang mulai melancarkan aksinya dengan melakukan tracking koneksi terlebih dahulu. Untuk mencari target, penyerang biasanya menggunakan sniffer atau sejenis scanning tools seperti nmap. Setelah itu, ARP Spoofing akan dilakukan pada komunikasi yang terjadi antar host.

Langkah ini dilakukan agar penyerang bisa menyadap dan melihat komunikasi tersebut. Hal ini memungkinkan penyerang mendapatkan beberapa informasi yang dibutuhkan seperti nomor sequence dan acknowledgement.

2. Desynchronizing: Langkah membelokkan koneksi ini dilakukan saat server dan client sudah tidak lagi mengirimkan data. Pada kondisi ini, nomor sequence server tidak lagi sama dengan nomor sequence client, begitupun sebaliknya.

Untuk melakukan aksi ini, penyerang harus merubah nomor sequence pada server. Hal ini dapat dilakukan dengan cara mengirimkan null atau data kosong ke sebuah server. Alhasil, nomor sequence server pun berubah tanpa mempengaruhi nomor sequence milik client.

3. Resetting: Selanjutnya, penyerang akan membuat koneksi baru dengan nomor sequence berbeda. Hal ini bisa dilakukan dengan cara mengirimkan sebuah reset flag ke server yang telah ditargetkan. Dengan begitu, koneksi yang terjadi antara client dan server akan terputus.

4. Injecting: Di tahap ini, komunikasi client dengan server akan diinterupsi oleh penyerang. Dengan begitu, memungkinkan penyerang untuk melakukan injeksi dan memasukkan paket lain pada komunikasi.

Passive session hijacking

Sesuai namanya, session hijacking atau pembajakan sesi jenis ini dilakukan secara pasif. Dengan memanfaatkan sniffer, penyerang bisa mendapatkan autentikasi berupa username dan password untuk login ke sebuah server. Autentikasi yang berhasil didapatkan tidak diubah sedikitpun agar pemilik asli tidak sadar bahwa aksesnya telah dibajak. Meski begitu, tidak jarang juga penyerang merubah informasi sensitif serta mengambil alih semua akses.

Baca Juga: Apa itu Virtex? Ini Penjelasan Lengkap dan Cara Mengatasinya!

Cara Mencegah Session Hijacking

Meski kejahatan siber seperti session hijacking merajalela di dunia internet, namun bukan berarti tidak dapat diantisipasi. Berikut ini adalah cara mencegah session hijacking:

Menggunakan field tersembunyi

Dalam form HTML, field tersembunyi biasanya digunakan untuk mengembalikan atau mengirimkan informasi, baik di browser maupun server sebuah website. Keuntungan dari field tersembunyi ini adalah field bisa terus bekerja tanpa henti meskipun browser disetel untuk menolak cookie secara keseluruhan.

Menggunakan cookie

Penggunaan cookie diklaim lebih menguntungkan dibandingkan field tersembunyi. Pasalnya, cookie tidak memerlukan form HTML apapun untuk dikirimkan kembali ke server. Karena penggunaannya lewat browser, Cookie serta request HTTP yang dibutuhkan akan dikirim ke web server jika ada cookie yang diterima pada server yang sama sebelumnya.

Sudah Tahu Session Hijacking?

Sampai di sini, kamu tentu mulai sedikit mengerti apa itu session hijacking mulai dari jenis, cara kerja, hingga cara mencegahnya. Session hijacking adalah salah satu bentuk kejahatan cyber berupa pengambilan kendali session untuk mendapatkan autentikasi session ID. Pencegahan session hijacking dapat dilakukan dengan menggunakan field tersembunyi atau cookie. Semoga bermanfaat dan salam sukses online, ya!