Lewatkan ke konten utama

Apa itu pembajakan sesi dan bagaimana cara kerjanya?

Seorang wanita bekerja menggunakan laptop

Masuk ke situs web atau portal merupakan kegiatan sehari-hari dalam menggunakan internet bagi kebanyakan orang. Setiap kali Anda masuk ke situs web, sesi dibuat. Sesi adalah komunikasi antara dua sistem, yang tetap aktif hingga pengguna mengakhiri komunikasi. Memulai sesi sangat penting agar komunikasi dapat terjadi melalui internet – tetapi juga membuka risiko pembajakan sesi. Baca terus untuk mempelajari selengkapnya tentang pembajakan sesi, cara kerjanya, dan cara melindungi diri Anda.

Apa itu pembajakan sesi?

Pembajakan sesi – terkadang disebut pembajakan cookie, pembajakan sisi cookie, atau pembajakan sesi TCP – terjadi saat penyerang mengambil alih sesi internet Anda. Hal ini dapat terjadi saat Anda berbelanja online, membayar tagihan, atau memeriksa saldo bank. Pembajak sesi biasanya menargetkan browser atau aplikasi web, dan tujuan mereka adalah untuk mengendalikan sesi penelusuran Anda guna memperoleh akses ke informasi pribadi dan kata sandi Anda.

Pembajak sesi mengelabui situs web dengan mengira mereka adalah Anda. Jenis serangan ini dapat menimbulkan konsekuensi serius bagi keamanan aplikasi karena memungkinkan penyerang memperoleh akses tidak sah ke akun yang dilindungi (dan data di dalamnya) dengan menyamar sebagai pengguna yang sah.

Apa itu sesi?

Setiap kali pengguna mengakses situs web atau aplikasi melalui koneksi HTTP, layanan akan mengautentikasi pengguna (misalnya, melalui nama pengguna dan kata sandi) sebelum membuka jalur komunikasi dan menyediakan akses. Namun, koneksi HTTP sendiri bersifat ‘stateless’, yang berarti bahwa setiap tindakan yang dilakukan pengguna dilihat secara independen. Akibatnya, jika hanya mengandalkan HTTP, pengguna harus mengautentikasi ulang diri mereka sendiri untuk setiap tindakan yang dilakukan atau halaman yang dilihat.

Sesi mengatasi tantangan ini. Sesi dibuat di server yang menghosting situs web atau aplikasi setelah pengguna masuk dan kemudian berfungsi sebagai referensi untuk autentikasi awal. Pengguna dapat tetap terautentikasi selama sesi tetap terbuka di server dan dapat mengakhiri sesi dengan keluar dari layanan. Beberapa layanan mengakhiri sesi setelah periode tidak aktif tertentu.

Banyak layanan yang membuat sesi ini dengan mengeluarkan ID sesi, serangkaian angka dan huruf yang disimpan dalam cookie sesi sementara, URL, atau kolom tersembunyi di situs web. Dalam beberapa kasus, tetapi tidak semua, ID sesi ini dienkripsi. Sering kali, ID sesi didasarkan pada informasi yang dapat diprediksi, seperti alamat IP pengguna.

Bagaimana cara kerja pembajakan sesi?

Berikut adalah contoh hipotetis tentang bagaimana pembajakan sesi dapat terjadi:

Langkah 1: Pengguna internet masuk ke akun seperti biasa. 

Akun ini dapat berupa rekening bank atau kartu kredit online, toko online, aplikasi, atau portal. Aplikasi atau situs web memasang cookie sesi sementara di browser pengguna. Cookie tersebut berisi informasi tentang pengguna yang memungkinkan situs untuk menjaga autentikasi dan login serta melacak aktivitas mereka selama sesi. Cookie sesi tetap ada di browser hingga pengguna keluar (atau keluar secara otomatis setelah periode tidak aktif tertentu).

Langkah 2: Penjahat memperoleh akses ke sesi valid pengguna internet. 

Penjahat dunia maya menggunakan berbagai metode untuk mencuri sesi. Sering kali, pembajakan sesi melibatkan pencurian cookie sesi pengguna, menemukan ID sesi dalam cookie, dan menggunakan informasi tersebut untuk mengambil alih sesi. ID sesi juga dikenal sebagai kunci sesi. Ketika penjahat memperoleh ID sesi, mereka dapat mengambil alih sesi tersebut tanpa terdeteksi.

Langkah 3: Pembajak sesi mendapat bayaran karena mencuri sesi.

Setelah pengguna internet asli melanjutkan penelusuran online mereka, pembajak dapat menggunakan sesi yang sedang berlangsung untuk melakukan berbagai tindakan jahat. Hal ini dapat mencakup pencurian uang dari rekening bank pengguna, pembelian barang, pengambilan data pribadi untuk melakukan pencurian identitas, atau mengenkripsi data penting dan kemudian meminta tebusan untuk mengembalikannya.

Serangan pembajakan sesi biasanya dilakukan terhadap jaringan sibuk dengan sejumlah besar sesi komunikasi aktif. Hal ini memungkinkan penyerang mendapat sejumlah besar sesi untuk dieksploitasi dan sejumlah perlindungan – karena jumlah sesi aktif pada server membuat sesi tersebut kecil kemungkinannya untuk terdeteksi.

Jenis-jenis pembajakan sesi

Skrip lintas situs
Serangan skrip lintas situs melibatkan penjahat dunia maya yang mengeksploitasi titik lemah keamanan di server web atau aplikasi. Skrip lintas situs melibatkan penyerang yang menyuntikkan skrip ke halaman web. Ini menyebabkan browser web mengungkapkan kunci sesi Anda kepada penyerang sehingga mereka dapat mengambil alih sesi tersebut.

Pembajakan sisi sesi (juga dikenal sebagai pemantauan sesi)
Dalam jenis serangan ini, penjahat perlu mengakses lalu lintas jaringan pengguna. Mereka dapat memperoleh akses saat pengguna menggunakan Wi-Fi yang tidak aman atau dengan melakukan serangan man-in-the-middle. Dalam pembajakan sisi sesi, seorang penjahat menggunakan ‘penyadapan paket’ untuk memantau lalu lintas jaringan pengguna internet guna mencari sesi. Hal ini memungkinkan penyerang memperoleh cookie sesi dan menggunakannya untuk mengambil alih sesi.

Fiksasi sesi 
Dalam serangan fiksasi sesi, penjahat membuat ID sesi dan menipu pengguna agar memulai sesi dengan ID sesi tersebut. Hal ini dilakukan dengan mengirimkan email kepada pengguna berisi tautan ke formulir login untuk situs web yang ingin diakses oleh penyerang. Pengguna masuk dengan ID sesi palsu, sehingga memberi celah bagi penyerang.

Serangan man-in-the-browser
Serangan ini mirip dengan serangan man-in-the-middle, tetapi penyerang harus terlebih dahulu menginfeksi komputer korban dengan Trojan. Setelah korban tertipu agar memasang malware ke dalam sistem, malware menunggu korban mengunjungi situs yang ditargetkan. Malware man-in-the-browser dapat mengubah informasi transaksi secara diam-diam dan dapat membuat transaksi tambahan tanpa sepengetahuan pengguna. Karena permintaan dimulai dari komputer korban, sangat sulit bagi layanan web untuk mendeteksi bahwa permintaan tersebut palsu.

ID yang dapat diprediksi
Banyak server web menggunakan algoritma khusus atau pola yang telah ditetapkan sebelumnya untuk menghasilkan ID sesi. Semakin mudah token sesi diprediksi, maka semakin lemah token sesi tersebut. Jika penyerang dapat mengambil beberapa ID dan menganalisis polanya, mereka dapat memprediksi ID sesi yang valid. (Pendekatan ini dapat dibandingkan dengan serangan brute force.)

A woman logging on to an online banking site

Apa perbedaan antara pembajakan sesi dan pemalsuan sesi?

Pembajakan sesi dan pemalsuan sesi memiliki kesamaan tetapi bukan merupakan jenis serangan yang sama. Perbedaan utama antara keduanya adalah bahwa pembajakan sesi terjadi ketika pengguna yang sah sudah masuk ke sesi web. Sebaliknya, pemalsuan sesi terjadi ketika penyerang menyamar sebagai pengguna untuk meluncurkan sesi web baru (yang berarti pengguna tidak harus masuk pada saat itu).

Perbedaan ini berarti bahwa pengguna yang sah mengalami serangan secara berbeda. Dengan pembajakan sesi, penyerang yang mengganggu sesi dapat mengakibatkan situs web atau aplikasi berperilaku tidak biasa atau bahkan mogok bagi korban. Namun, karena pengguna tidak secara aktif login saat terjadi serangan pemalsuan sesi, mereka tidak akan mengalami gangguan apa pun selama sesi berikutnya.

Dampak serangan pembajakan sesi

Ada banyak risiko karena tidak mengambil langkah-langkah untuk mencegah pembajakan sesi. Beberapa bahaya ini antara lain:

Pencurian identitas 

Dengan memperoleh akses tidak sah ke informasi pribadi sensitif yang disimpan dalam akun, penyerang dapat mencuri identitas korban di luar batasan situs web atau aplikasi yang diretas.

Pencurian keuangan

Melalui pembajakan sesi, penyerang dapat memperoleh kemampuan untuk melakukan transaksi keuangan atas nama pengguna. Transaksi ini dapat berupa transfer uang dari rekening bank atau melakukan pembelian dengan informasi pembayaran yang tersimpan.

Infeksi malware

Jika seorang peretas berhasil mencuri ID sesi pengguna, mereka juga dapat menginfeksi komputer pengguna dengan malware. Hal ini dapat memungkinkan mereka untuk menguasai komputer target dan mencuri data mereka.

Serangan Penolakan Layanan/Denial-of-Service (DoS)

Peretas yang menguasai sesi pengguna dapat melancarkan serangan DoS terhadap situs web atau server tempat pengguna terhubung, sehingga mengganggu layanan atau menyebabkan situs tersebut mogok.

Akses ke sistem tambahan melalui SSO

SSO adalah singkatan dari ‘single sign on’. Penyerang juga dapat memperoleh akses tidak sah ke sistem tambahan jika SSO diaktifkan, yang selanjutnya menyebarkan potensi risiko serangan pembajakan sesi. Risiko ini sangat penting bagi organisasi, yang banyak di antaranya kini mengaktifkan SSO bagi karyawan. Pada akhirnya, ini berarti bahwa bahkan sistem yang sangat terlindungi dengan protokol autentikasi yang lebih kuat dan cookie sesi yang kurang dapat diprediksi, seperti sistem yang menyimpan informasi keuangan atau pelanggan, hanya terlindungi seperti mata rantai terlemah di keseluruhan sistem.

Contoh serangan pembajakan sesi

Zoom bombing
Selama pandemi Covid-19, dunia beralih ke aplikasi konferensi video seperti Zoom. Aplikasi-aplikasi ini menjadi target populer para pembajak sesi, bahkan mendapat julukan ‘zoom bombing’. Ada laporan berita tentang pembajak sesi yang bergabung dalam sesi video pribadi, dalam beberapa kasus mereka meneriakkan kata-kata kotor, bahasa yang mengandung kebencian, dan membagikan gambar pornografi. Menanggapi hal tersebut, Zoom memperkenalkan perlindungan privasi yang lebih besar untuk meminimalkan risiko.

Slack
Pada tahun 2019, seorang peneliti pada platform bug bounty mengidentifikasi kerentanan pada Slack  yang memungkinkan penyerang untuk memaksa pengguna ke pengalihan sesi palsu sehingga mereka dapat mencuri cookie sesi mereka. Hal ini memberi penyerang akses ke data apa pun yang dibagikan dalam Slack (yang bagi banyak organisasi, dapat menjadi signifikan). Slack cepat merespons dan menambal kerentanan tersebut dalam waktu 24 jam sejak peneliti menyorotinya.

GitLab

Pada tahun 2017, seorang peneliti keamanan mengidentifikasi kerentanan di GitLab  di mana token sesi pengguna tersedia langsung di URL. Penyelidikan lebih lanjut mengungkapkan bahwa GitLab juga menggunakan token sesi persisten yang tidak pernah kedaluwarsa, yang berarti bahwa setelah penyerang memperoleh satu token sesi, mereka dapat menggunakannya tanpa khawatir akan kedaluwarsa. Kombinasi antara paparan terbuka dan token persisten ini menghadirkan risiko serius, yang membuat pengguna rentan terhadap berbagai serangan hebat melalui pembajakan sesi melalui serangan brute force. GitLab memperbaiki kerentanan dengan mengubah cara penggunaan dan penyimpanan token tersebut.

Cara mencegah pembajakan sesi

Ikuti kiat pencegahan pembajakan sesi ini untuk meningkatkan keamanan online Anda:

Hindari Wi-Fi publik
Hindari melakukan transaksi penting seperti perbankan, belanja online, atau masuk ke akun email atau media sosial Anda di Wi-Fi publik. Mungkin ada penjahat dunia maya di sekitar Anda yang menggunakan penyadapan paket untuk berupaya mengambil cookie sesi dan informasi lainnya.

Gunakan VPN
Jika Anda perlu menggunakan Wi-Fi publik, gunakan Jaringan Pribadi Virtual (VPN) untuk memaksimalkan keamanan Anda dan mencegah pembajak sesi mengganggu sesi Anda. VPN menyembunyikan alamat IP dan menjaga privasi aktivitas online dengan menciptakan terowongan pribadi yang dilalui semua aktivitas online Anda. VPN mengenkripsi data yang Anda kirim dan terima.

Waspada terhadap phishing dan penipuan online lainnya
Hindari mengklik tautan apa pun dalam email kecuali Anda tahu tautan tersebut berasal dari pengirim yang sah. Pembajak sesi mungkin mengirimi Anda email dengan tautan untuk diklik. Tautan tersebut dapat memasang malware pada perangkat Anda atau membawa Anda ke halaman login yang akan memasukkan Anda ke situs menggunakan ID sesi yang disiapkan oleh penyerang.

Waspadai keamanan situs
Bank terkemuka, penyedia email, pengecer online, dan situs media sosial memiliki pengamanan untuk menghindari pembajakan sesi. Perhatikan situs web yang URL-nya dimulai dengan HTTPS – S berarti ‘secure’ (aman). Menggunakan toko online yang meragukan atau penyedia lain yang mungkin tidak memiliki keamanan kuat dapat membuat Anda rentan terhadap serangan pembajakan sesi.

Gunakan perangkat lunak antivirus 
Instal perangkat lunak antivirus tepercaya yang dapat dengan mudah mendeteksi virus dan melindungi Anda dari semua jenis malware (termasuk malware yang digunakan penyerang untuk melakukan pembajakan sesi). Selalu perbarui sistem Anda dengan mengatur pembaruan otomatis pada semua perangkat.

Produk-produk terkait:

Apa itu pembajakan sesi dan bagaimana cara kerjanya?

Pembajakan sesi melibatkan penyerang yang mengambil alih sesi internet Anda sehingga mereka dapat memperoleh akses tidak sah ke data atau sumber daya. Cari tahu selengkapnya.
Kaspersky logo