Apa Itu Session Hijacking? Pengertian, Dampak, Dan Cara Mencegahnya
Session Hijacking juga dikenal sebagai pembajakan sesi TCP, adalah metode mengambil alih sesi pengguna web dengan diam-diam mendapatkan ID sesi dan menyamar sebagai pengguna yang berwenang. Setelah ID sesi pengguna telah diakses, penyerang dapat menyamar sebagai pengguna itu dan melakukan apa pun yang diizinkan untuk dilakukan pengguna di jaringan.
Salah satu produk sampingan yang paling berharga dari jenis serangan ini adalah kemampuan untuk mendapatkan akses ke server tanpa harus mengautentikasinya. Setelah penyerang membajak sebuah sesi, mereka tidak perlu lagi khawatir tentang otentikasi ke server selama sesi komunikasi tetap aktif. Penyerang menikmati akses server yang sama dengan pengguna yang disusupi karena pengguna telah mengautentikasi ke server sebelum serangan.
APA ITU SESSION?
HTTP tidak memiliki kewarganegaraan, sehingga perancang aplikasi harus mengembangkan cara untuk melacak status antara beberapa koneksi dari pengguna yang sama, alih-alih meminta pengguna untuk mengautentikasi pada setiap klik dalam aplikasi web.Sesi adalah serangkaian interaksi antara dua titik akhir komunikasi yang terjadi selama rentang koneksi tunggal. Saat pengguna masuk ke aplikasi, sesi dibuat di server untuk mempertahankan status untuk permintaan lain yang berasal dari pengguna yang sama.
Aplikasi menggunakan sesi untuk menyimpan parameter yang relevan bagi pengguna. Sesi tetap "hidup" di server selama pengguna masuk ke sistem. Sesi akan dimusnahkan saat pengguna logout dari sistem atau setelah periode tidak aktif yang telah ditentukan sebelumnya. Saat sesi dihancurkan, data pengguna juga harus dihapus dari ruang memori yang dialokasikan.
ID sesi adalah string identifikasi (biasanya string panjang, acak, alfanumerik) yang ditransmisikan antara klien dan server. ID sesi biasanya disimpan dalam cookie, URL, dan bidang tersembunyi dari halaman web.
Bagaimana cara kerja Session Hijacking?
Penyebab paling populer untuk melakukan pembajakan sesi adalah sniffing sesi, ID token sesi yang dapat diprediksi, man in the browser, skrip lintas situs, sidejacking sesi, fiksasi sesi.
- Session sniffing. Ini adalah salah satu teknik paling dasar yang digunakan dengan pembajakan sesi lapisan aplikasi. Penyerang menggunakan sniffer, seperti Wireshark, atau proxy, seperti OWASP Zed, untuk menangkap lalu lintas jaringan yang berisi ID sesi antara situs web dan klien. Setelah penyerang menangkap nilai ini, dia dapat menggunakan token yang valid ini untuk mendapatkan akses yang tidak sah.
- Predictable sessions token ID. Banyak server web menggunakan algoritme khusus atau pola yang telah ditentukan sebelumnya untuk menghasilkan ID sesi. Semakin besar prediktabilitas token sesi, semakin lemah dan semakin mudah untuk diprediksi. Jika penyerang dapat menangkap beberapa ID dan menganalisis polanya, ia mungkin dapat memprediksi ID sesi yang valid.
- Cross-site scripting. Penjahat dunia maya mengeksploitasi kerentanan server atau aplikasi untuk menyuntikkan skrip sisi klien ke halaman web. Ini menyebabkan browser mengeksekusi kode arbitrer saat memuat halaman yang disusupi. Jika HttpOnly tidak disetel dalam cookie sesi, penjahat dunia maya dapat memperoleh akses ke kunci sesi melalui skrip yang disuntikkan, memberi mereka informasi yang mereka butuhkan untuk pembajakan sesi.
- Session Side Jacking. Cyberciminals dapat menggunakan packet sniffing untuk memantau lalu lintas jaringan korban dan mencegat cookie sesi setelah pengguna melakukan otentikasi di server. Jika enkripsi TLS hanya digunakan untuk halaman login dan bukan untuk seluruh sesi, penjahat dunia maya dapat membajak sesi tersebut, bertindak sebagai pengguna dalam aplikasi web yang ditargetkan.
Apa yang Diperoleh Penyerang dari Session Hijacking?
Ketika penjahat dunia maya telah membajak sebuah sesi, mereka dapat melakukan hampir semua hal yang diizinkan oleh pengguna yang sah selama sesi aktif. Contoh paling parah termasuk mentransfer uang dari rekening bank pengguna, membeli barang dagangan dari toko web, mengakses informasi pengenal pribadi (PII) untuk pencurian identitas, dan bahkan mencuri data dari sistem perusahaan.
Bagaimana mencegah serangan Session Hijacking?
Penting untuk diingat bahwa penyerang dapat mencuri dan menggunakan kembali pengidentifikasi sesi atau nilai cookie sensitif lainnya saat disimpan atau dikirimkan secara tidak aman. Meskipun memberikan perlindungan 100% bisa jadi sulit, enkripsi adalah pertahanan utama. Saat pengguna mengautentikasi, SSL dan cookie aman harus diwajibkan. Saat pengguna yang diautentikasi mengunjungi satu atau beberapa halaman aman, mereka harus terus dipaksa menggunakan HTTPS.
Sistem Deteksi Intrusi (IDS) dan Sistem Pencegahan Intrusi (IPS) juga dapat sangat berguna dalam mempertahankan jaringan Anda dari serangan pembajakan sesi. Meskipun mengimplementasikan perangkat ini mungkin sulit, manfaatnya jauh lebih besar daripada biaya implementasi yang mahal. Sistem IDS/IPS melihat data yang masuk ke jaringan dan membandingkannya dengan database internal dari tanda tangan serangan yang diketahui. Jika paket dicocokkan dengan entri dalam basis data IDS/IPS, IDS akan menghasilkan peringatan, dan IPS akan memblokir lalu lintas agar tidak memasuki basis data.