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.)
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: