Pengertian Session Hijacking, Aspek, Tipe, dan Cara Mencegahnya
Session Hijacking |
A. Pengertian Hijacking
Hijacking adalah upaya untuk memasuki sistem melalui sistem operasional lainnya yang dijalankan oleh seseorang. Sistem ini dapat berupa server, networking [LAN/WAN], situs web, software atau bahkan kombinasi dari beberapa sistem tersebut. Hijacker menggunakan bantuan software atau server robot untuk melakukan aksinya. Tujuannya mengambil data dan informasi pendukung lain, tidak jarang sistem yang dituju juga diambil alih, atau bahkan dirusak.
B. Pengertian Session Hijacking
Session hijacking merupakan aksi pengambilan kendali session milik user lain setelah sebelumnya pembajak berhasil memperoleh autentifikasi ID session yang biasanya tersimpan dalam cookies. Session hijacking menggunakan metode Capture, Brute Forced atau Reserve Enggineered guna memperoleh ID Session, yang untuk selanjutnya pembajak memegang kendali atas session yang dimiliki oleh user lain tersebut selama session berlangsung.
Baca Juga: Brute Force Attack: Pengertian, Penyebab, Tools, Metode, Contoh, dan Cara Mengatasinya
Istilah sesi pembajakan (session hijacking) umumnya digunakan untuk menggambarkan proses sebuah koneksi TCP yang diambil alih oleh sebuah rangkaian serangan yang sudah dapat diprediksi sebelumnya. Pada serangan seperti itu, penyerang memperoleh kendali melalui koneksi TCP yang sudah ada. Bila diterapkan pada keamanan aplikasi web, session hijacking mengacu pada pengambilalihan sebuah session aplikasi web.
C. Aspek Ketidakamanan
Aspek-aspek ketidakamanan (serangan) yang sering terjadi di antaranya,
1. Interruption
Suatu asset yang ada pada suatu sistem diserang sehingga menjadi tidak tersedia atau tidak dapat dipakai oleh yang berwenang. Contohnya adalah perusakan/modifikasi terhadap piranti keras atau saluran jaringan.
2. Interception
Suatu pihak yang tidak berwenang mendapatkan akses pada suatu aset. Pihak yang dimaksud bisa berupa orang, program, atau sistem yang lain. Contohnya adalah penyadapan terhadap data dalam suatu jaringan.
3. Modification
Suatu pihak yang tidak berwenang dapat melakukan perubahan terhadap suatu aset. Contohnya adalah perubahan nilai pada file data, modifikasi program sehingga berjalan dengan tidak semestinya, dan modifikasi pesan yang sedang ditransmisikan dalam jaringan.
D. Tipe Session Hijacking
Session Hijacking secara garis besar dibagi menjadi dua tipe di antaranya,
1. Active Session Hijacking
Pada serangan ini, attacker mengambil alih sebuah session yang terjadi dengan cara memutuskan sebuah komunikasi yang terjadi. Attacker bertindak sebagai man-in-the-middle dan aktif dalam komunikasi antara client dengan server. Serangan ini membutuhkan keahlian untuk menebak nomor sequence (SEQ) dari server, sebelum client dapat merespons server.
Pada saat ini, nomer sequence yang dibuat oleh setiap sistem operasi berbeda-beda. Cara yang lama adalah dengan menambahkan nilai konstan untuk nomor sequence selanjutnya. Sedangkan mekanisme yang baru adalah dengan membuat nilai acak untuk membuat nilai awal dari nomor sequence ini.
Ketika sebuah komputer client melakukan koneksi terhadap komputer server, attacker menyisipkan komputernya di antara dua koneksi tersebut. Ada empat proses untuk melakukan active session hijacking di antaranya,
a. Tracking the connection (mencari koneksi yang sedang terjadi)
Attacker akan mencari target, yaitu client dan server yang akan melakukan komunikasi. Attacker menggunakan sniffer untuk mencari target atau dengan mengidentifikasi host yang diinginkan dengan menggunakan scanning tool seperti nmap. Sebelum mengetahui siapa yang akan melakukan komunikasi dan pada port berapa komunikasi tersebut berjalan, attacker harus melakukan ARP Spoofing terhadap dua host yang saling berkomunikasi.
Cara ini dilakukan agar attacker dapat melihat komunikasi yang terjadi, kemudian dapat mengetahui nomor sequence (SEQ) dan acknowledgement (ACK) yang diperlukan. Nomor ini digunakan oleh attacker untuk memasukkan paket di antara dua komunikasi.
b. Desynchronizing the connection (Melakukan pembelokan koneksi)
Langkah ini dilakukan ketika sebuah koneksi sudah terjadi antara client dan server yang tidak sedang mengirimkan data. Dalam keadaan ini, nomor sequence (SEQ) dari server tidak sama dengan nomor sequence (SEQ) dari client yang melakukan komunikasi. Begitu juga sebaliknya, nomor sequence (SEQ) dari client tidak sama dengan nomor sequence (SEQ) dari server.
Untuk melakukan desynchronisasi koneksi antara client dan server, nomer SEQ atau ACK dari server harus dirubah. Hal ini dapat dilakukan, jika dikirimkan data kosong (null data) ke server. Sehingga nomer SEQ atau ACK dari server akan berubah, sedangkan nomer SEQ atau ACK dari client yang melakukan komunikasi dengan server tidak berubah atau terjadi penambahan.
c. Resetting Connection (Membuat koneksi baru)
Setelah melakukan desynchronisasi, attacker mengirimkan sebuah reset flag ke server. Hal ini dilakukan untuk membuat koneksi baru dengan nomer sequence yang berbeda. Komunikasi antara client dengan server yang terjadi sebelumnya akan terputus.
d. Injecting Packet (Memasukkan paket)
Pada langkah ini, attacker dapat melakukan interupsi terhadap komunikasi antara client dan server, sehingga attacker dapat memasukkan paket lain pada koneksi tersebut.
2. Passive Session Hijacking
Serangan pembajakan session yang dilakukan secara pasif dapat dilakukan menggunakan sniffer. Alat ini dapat memberikan seorang attacker informasi berupa id user dan password dari client yang sedang melakukan login ke server. ID user dan password ini dapat digunakan oleh attacker untuk melakukan login pada lain waktu. Sniffing password merupakan contoh serangan yang dapat dilakukan ketika attacker memperoleh akses pada suatu jaringan.
E. Cara Pencegahan
1. Dengan Cookie
Cookie ditangani melalui browser. Browser mengirimkan cookie yang diperlukan ke web server bersama dengan request HTTP jika sebelumnya ada cookie yang diterima dari server yang sama. Browser terkenal, seperti Netscape, Internet Explorer, dan Opera menangani cookie secara baik. Cookie lebih menguntungkan daripada field tersebunyi.
Field tersebunyi selalu memerlukan halaman form HTML untuk dikirim kembali ke server, sedangkan cookie tidak memerlukan form HTML apapun. Segi kerugiannya adalah kebanyakan situs menggunakan cookie untuk melacak tingkah laku user. Situs yang menampilkan banner iklan diketahui melanggar privacy user dengan cara mengumpulkan informasi tentang user secara berlebihan melalui pelacakan aktivitas user via cookie dan acuan-acuan HTTP.
Sayangnya, browser tidak memiliki mekanisme built-in yang memadai untuk secara selektif hanya memilih cookie-cookie tertentu saja. Untuk maksud ini program seperti Cookie Pal dapat digunakan sebagai alat bantu.
2. Dengan Field Tersembunyi
Field tersembunyi di dalam form HTML dapat juga digunakan untuk mengirimkan dan mengembalikan informasi antara browser dan web server. Keuntungan field tersembunyi dibandingkan cookie adalah field tersebut tetap dapat bekerja walaupun browser telah diatur untuk menolak semua cookie.
Dari berbagai sumber
Post a Comment