Session Hijacking: Cara Peretas Mengambil Alih Akun Tanpa Mengetahui Password
Bayangkan saya sudah membuat password yang panjang dan sulit ditebak, kemudian mengaktifkan Multi-Factor Authentication (MFA) pada akun penting. Secara logika, akun tersebut seharusnya jauh lebih aman dibandingkan akun yang hanya menggunakan password.
Namun, ada satu jenis serangan yang menunjukkan bahwa keamanan akun tidak berhenti setelah proses login berhasil, yaitu session hijacking.
Dalam serangan ini, peretas tidak selalu perlu mengetahui password korban. Mereka justru berusaha mendapatkan sesuatu yang sudah diberikan server setelah proses autentikasi berhasil, yaitu session token atau cookie sesi.
Jika token tersebut berhasil dicuri, peretas dapat membuat sistem menganggap perangkat mereka sebagai perangkat yang sudah terautentikasi. Inilah yang membuat session hijacking menjadi ancaman serius, terutama terhadap akun yang menyimpan data pribadi, pekerjaan, keuangan, maupun informasi penting lainnya.
Apa Itu Session Hijacking?
Saya bisa memahami session hijacking dengan membayangkan proses login sebagai pemeriksaan identitas di sebuah gedung.
Ketika masuk, saya menunjukkan kartu identitas dan mungkin diminta kode tambahan. Setelah dinyatakan sah, petugas memberikan semacam tanda pengenal sementara agar saya tidak perlu menunjukkan identitas dari awal setiap kali berpindah ruangan.
Dalam dunia digital, tanda pengenal tersebut dapat berupa session token yang disimpan dan dikelola melalui mekanisme seperti cookie sesi.
Server menggunakan token tersebut untuk mengenali bahwa permintaan berikutnya berasal dari pengguna yang sudah berhasil login.
Masalahnya muncul ketika token tersebut berhasil dicuri.
Peretas tidak perlu mengulang proses login dari awal jika token yang dicuri masih valid. Dari sudut pandang server, permintaan tersebut dapat terlihat seperti berasal dari sesi pengguna yang sah.
Inilah inti dari session hijacking: mengambil alih sesi autentikasi yang sudah aktif.
Mengapa Peretas Tidak Membutuhkan Password?
Ini merupakan bagian yang sering membuat pengguna bingung.
Ketika saya login ke sebuah layanan, proses autentikasi biasanya melibatkan username atau alamat email, password, dan dalam kondisi tertentu MFA.
Setelah proses tersebut berhasil, server membuat sesi yang dapat digunakan untuk mempertahankan status login.
Selama sesi masih dianggap valid, saya tidak perlu memasukkan password setiap kali membuka halaman baru.
Browser dapat menyimpan informasi sesi tersebut dalam bentuk cookie. Selama cookie masih berlaku dan dapat digunakan, situs akan mengenali browser sebagai perangkat yang sudah login.
Karena itu, pencurian token dapat menjadi sangat berbahaya.
Peretas tidak perlu mencari tahu password jika mereka sudah mendapatkan kredensial sesi yang valid.
Teknik yang sering disebut pass-the-cookie, misalnya, memanfaatkan cookie autentikasi yang dicuri untuk mencoba memperoleh akses ke sesi korban.
Jadi, password dan MFA tetap penting, tetapi keduanya terutama melindungi proses autentikasi. Session hijacking menyerang bagian lain, yaitu sesi yang sudah terbentuk setelah autentikasi.
Apa yang Terjadi Setelah Token Dicuri?
Secara sederhana, alurnya dapat digambarkan seperti ini:
Pengguna → Login → Password + MFA → Server → Session Token → Browser
Setelah sesi aktif, browser menggunakan token tersebut ketika berkomunikasi dengan layanan.
Jika token berhasil dicuri:
Peretas → Mendapatkan Token → Menggunakan Sesi → Server Mengenali Sesi
Itulah sebabnya session hijacking dapat melewati kebutuhan untuk memasukkan password lagi.
Namun, hal ini bukan berarti MFA secara teknis “rusak”. MFA tetap berfungsi sebagaimana mestinya pada proses login. Masalahnya adalah penyerang mendapatkan akses setelah proses autentikasi tersebut sudah berhasil dilakukan.
Karena itu, keamanan akun sebaiknya dipahami sebagai sistem berlapis, bukan sekadar password dan MFA.
Baca juga : Mengenal Kickback Control dan Electric Brake pada Perkakas Modern, Teknologi Keselamatan K3 yang Penting
5 Cara Token Sesi Bisa Dicuri
Ada berbagai cara penyerang dapat mencoba mendapatkan token sesi. Metodenya bergantung pada kelemahan perangkat, aplikasi, situs web, maupun kebiasaan pengguna.
1. Malware Info-Stealer
Salah satu ancaman yang perlu diperhatikan adalah info-stealer, yaitu jenis malware yang dirancang untuk mencari dan mencuri informasi berharga dari perangkat korban.
Malware semacam ini dapat menargetkan data autentikasi yang tersimpan pada browser, termasuk cookie tertentu.
Bahaya metode ini adalah korban mungkin tidak menyadari bahwa perangkatnya sudah terinfeksi. Komputer atau smartphone masih terlihat normal, tetapi program berbahaya dapat bekerja di latar belakang.
Jika malware berhasil mendapatkan cookie sesi dari browser, informasi tersebut kemudian dapat disalahgunakan untuk mencoba mengambil alih akun.
Karena itu, saya tidak hanya memperhatikan password ketika menjaga keamanan akun. Keamanan perangkat yang digunakan untuk login juga sama pentingnya.
Mengunduh program dari sumber tidak terpercaya, menjalankan file mencurigakan, atau memasang software bajakan dapat meningkatkan risiko terkena malware.
2. Man-in-the-Middle
Metode berikutnya adalah Man-in-the-Middle (MitM).
Konsepnya adalah penyerang mencoba berada di antara komunikasi korban dan layanan yang diakses.
Wi-Fi publik sering disebut dalam konteks ancaman ini karena jaringan umum dapat menghadirkan risiko keamanan tertentu, terutama jika pengguna mengakses layanan yang tidak menggunakan perlindungan enkripsi dengan benar.
Meski begitu, penting dipahami bahwa HTTPS modern sudah memberikan perlindungan besar terhadap penyadapan lalu lintas web. Jadi, sekadar berada di Wi-Fi publik tidak otomatis berarti cookie Anda bisa dicuri.
Risiko meningkat ketika pengguna mengakses layanan atau jaringan yang tidak aman, mengabaikan peringatan keamanan browser, atau menggunakan koneksi yang sudah dikompromikan.
Karena itu, saya menghindari mengakses akun yang sangat sensitif melalui jaringan publik yang tidak saya percaya. Jika memang harus menggunakan jaringan umum, koneksi terenkripsi tambahan seperti VPN dapat menjadi salah satu lapisan perlindungan.
3. Cross-Site Scripting
Cross-Site Scripting atau XSS merupakan serangan yang memanfaatkan kelemahan aplikasi web sehingga penyerang dapat menjalankan skrip berbahaya dalam konteks halaman web.
Jika sebuah aplikasi memiliki perlindungan yang buruk terhadap XSS, skrip berbahaya dapat mencoba mengakses informasi tertentu dari sesi pengguna.
Namun, ada satu hal penting: cookie yang menggunakan atribut HttpOnly dirancang agar tidak dapat dibaca langsung oleh JavaScript melalui mekanisme cookie browser.
Karena itu, bagi pengembang web, penggunaan atribut keamanan cookie menjadi bagian penting dalam mengurangi risiko.
Selain itu, aplikasi perlu melakukan validasi input, output encoding, dan berbagai mekanisme pencegahan XSS lainnya.
4. Session Fixation
Pada session fixation, penyerang berusaha membuat korban menggunakan identifier sesi tertentu yang sebelumnya sudah diketahui atau dikendalikan oleh penyerang.
Konsep serangannya berbeda dari pencurian cookie biasa.
Penyerang berusaha memastikan bahwa sesi korban berkaitan dengan identifier yang sudah diketahui sebelumnya. Jika aplikasi tidak mengganti session identifier setelah autentikasi, kondisi tersebut dapat dimanfaatkan.
Karena itu, aplikasi web yang dirancang dengan baik seharusnya membuat session ID baru setelah proses login berhasil.
Praktik ini membantu mencegah identifier sesi yang digunakan sebelum autentikasi tetap berlaku setelah pengguna berhasil masuk.
5. Phishing Perantara
Metode lain yang semakin berbahaya adalah phishing perantara, yang dapat bertindak sebagai jembatan antara korban dan layanan sebenarnya.
Berbeda dari phishing sederhana yang hanya mencuri username dan password, serangan perantara dapat berusaha meneruskan komunikasi login secara real-time sambil menangkap informasi autentikasi atau sesi yang dapat digunakan penyerang.
MFA memang membuat pencurian password menjadi jauh lebih sulit untuk disalahgunakan, tetapi metode phishing modern dapat berusaha menipu korban agar memberikan kode, menyetujui permintaan autentikasi, atau menyerahkan sesi yang sudah terautentikasi.
Karena itu, saya tidak hanya melihat apakah alamat situs terlihat familiar. Saya juga memperhatikan domain, notifikasi autentikasi, serta konteks ketika sebuah layanan meminta saya login.
Cara Melindungi Diri dari Session Hijacking
Tidak ada satu langkah yang bisa menjamin perlindungan sempurna. Namun, beberapa kebiasaan dapat secara signifikan mengurangi risiko.
1. Bersihkan Cookie Secara Berkala
Saya dapat mengatur browser agar cookie tertentu dihapus ketika browser ditutup atau menggunakan mode penjelajahan yang lebih membatasi penyimpanan sesi.
Cara ini dapat membantu mengurangi masa hidup data sesi yang tersimpan secara lokal.
Namun, efektivitasnya bergantung pada jenis cookie dan cara layanan mengelola sesi. Jadi, penghapusan cookie bukan pengganti logout dan sistem keamanan lainnya.
2. Pastikan Menggunakan HTTPS
Saat mengakses layanan online, saya memastikan browser menunjukkan koneksi HTTPS yang valid.
HTTPS mengenkripsi komunikasi antara browser dan server sehingga jauh lebih sulit bagi pihak lain untuk membaca data selama perjalanan.
Bagi pengembang, cookie autentikasi juga sebaiknya menggunakan atribut keamanan seperti Secure dan HttpOnly.
Atribut Secure membantu memastikan cookie dikirim melalui koneksi HTTPS, sedangkan HttpOnly membantu mencegah cookie diakses langsung melalui JavaScript.
Pengaturan seperti SameSite juga dapat membantu mengurangi risiko serangan tertentu yang memanfaatkan mekanisme cookie lintas situs.
3. Hindari Wi-Fi Publik yang Tidak Terpercaya
Saya tidak menjadikan Wi-Fi gratis sebagai pilihan utama ketika harus mengakses akun yang sangat sensitif.
Jika harus menggunakan jaringan publik, saya memastikan koneksi yang digunakan aman dan mempertimbangkan VPN sebagai lapisan enkripsi tambahan.
Yang paling penting, saya tidak mengabaikan peringatan keamanan browser hanya karena ingin cepat masuk ke sebuah situs.
4. Biasakan Logout
Logout merupakan kebiasaan sederhana tetapi sering diabaikan.
Ketika saya selesai menggunakan akun, terutama pada komputer bersama atau perangkat yang bukan milik pribadi, saya selalu keluar dari akun.
Logout memungkinkan layanan mencabut atau mengakhiri sesi sesuai mekanisme yang diterapkan server.
Untuk akun penting, saya juga dapat menggunakan fitur seperti “log out of all devices” jika layanan menyediakannya. Fitur tersebut berguna ketika saya mencurigai ada perangkat lain yang masih memiliki sesi aktif.
5. Gunakan Proteksi Endpoint
Keamanan akun dimulai dari perangkat.
Saya memastikan sistem operasi dan browser selalu diperbarui serta menggunakan perlindungan keamanan yang mampu mendeteksi malware.
Untuk komputer Windows, misalnya, perlindungan antivirus bawaan dapat menjadi salah satu lapisan keamanan penting. Pengguna juga sebaiknya berhati-hati ketika mengunduh program dari internet.
Jangan sembarangan menjalankan file executable, memasang software bajakan, atau menggunakan crack yang sumbernya tidak jelas.
Jika perangkat sudah terinfeksi info-stealer, sekuat apa pun password yang saya gunakan, data sesi yang dicuri tetap berpotensi disalahgunakan.
Jangan Lupakan Respons Ketika Sesi Dicuri
Jika saya mencurigai akun telah diambil alih, saya tidak hanya mengganti password.
Langkah yang lebih menyeluruh adalah segera logout dari seluruh perangkat atau sesi, mengganti password, memeriksa aktivitas login, memastikan MFA masih aktif, dan mencabut akses aplikasi pihak ketiga yang mencurigakan.
Jika layanan menyediakan daftar perangkat yang sedang login, saya memeriksa satu per satu dan mengeluarkan perangkat yang tidak dikenali.
Pada kasus yang melibatkan email utama, saya juga memeriksa aturan forwarding atau pengaturan akun lain yang mungkin telah diubah penyerang.
Tujuannya adalah memutus akses yang mungkin masih tersisa.
Kesimpulan
Session hijacking menunjukkan bahwa keamanan akun tidak berhenti ketika password dan MFA berhasil dilewati dengan benar.
Setelah pengguna berhasil login, server membuat sesi yang memungkinkan browser tetap dikenali sebagai pengguna yang sudah terautentikasi. Jika token atau cookie sesi tersebut berhasil dicuri, penyerang dapat mencoba memanfaatkannya untuk mengakses akun tanpa harus mengetahui password korban.
Ancaman tersebut dapat berkaitan dengan malware info-stealer, kelemahan aplikasi seperti XSS, session fixation, jaringan yang tidak aman, maupun phishing perantara.
Karena itu, saya tidak hanya mengandalkan password dan MFA. Saya juga menjaga perangkat tetap aman, menggunakan HTTPS, berhati-hati terhadap Wi-Fi publik, rutin logout, memperbarui software, dan tidak sembarangan mengunduh program.
Bagi pengembang, perlindungan seperti Secure, HttpOnly, dan pengaturan cookie yang tepat, ditambah regenerasi session ID setelah login, juga sangat penting.
Pada akhirnya, password adalah pintu masuk, sedangkan session token adalah tanda bahwa pintu tersebut sudah dibuka. Menjaga keamanan keduanya sama-sama penting jika ingin mempertahankan akun dari pengambilalihan.