Skandal Reservasi Gratis di Aura Hotels

keamanan siber
Ilustrasi 2 ahli keamanan siber sedang berdiskusi di kantor mereka. (Image: Dibuat dengan AI/Nusaweek)
banner 468x60

KETIKA sebuah jaringan hotel mewah kehilangan ribuan dolar akibat ribuan pesanan kamar gratis, Danu dan Siska menemukan bahwa musuh mereka bukanlah orang asing. Mengandalkan celah pada kode API versi beta yang terlupakan, seorang mantan pengembang membalas dendam dengan memanipulasi sistem loyalitas. Di balik baris kode dan alamat IP yang tersembunyi, dimulailah perburuan digital untuk menghentikan sabotase sebelum reputasi perusahaan hancur selamanya.”

—————-

“Kopi?” tawar Danu, menyodorkan cangkir kertas berlogo jaringan kopi global ke arah Siska.

Siska, yang matanya terpaku pada layar laptop yang penuh baris kode berwarna, hanya menggeleng. “Terlalu banyak kafein, Dan. Jantungku sudah seperti Genderang Perang sejak Mas Dimas menelepon tadi pagi.”

Mereka berada di ruang rapat darurat yang pengap di markas besar PT Inti Cakrawala, perusahaan konsultan keamanan siber yang sering menjadi pemadam kebakaran bagi perusahaan-perusahaan besar. Klien mereka kali ini adalah ‘Aura Hotels Group’, jaringan hotel mewah yang baru saja menyadari ada yang tidak beres di sistem loyalitas mereka.

Danu duduk di kursi sebelahnya, menyesap kopinya pelan. “Jadi, seberapa parah lukanya?”

Siska menghela napas, jarinya menekan tombol enter untuk menjalankan skrip terakhir. “Skalanyar belum jelas, tapi metodenya cerdik. Ini bukan serangan brute force yang berisik ke database utama. Si peretas masuk lewat pintu belakang: sistem poin loyalitas.”

“Celah pada API?” tanya Danu, nada suaranya berubah serius.

“Tepat,” Siska memutar laptopnya agar Danu bisa melihat grafik frekuensi penggunaan API yang melonjak aneh pada jam 2 pagi dalam tiga malam terakhir. “Mereka menemukan celah di endpoint yang melayani konversi poin untuk pemesanan kamar gratis. Celahnya adalah mereka bisa memanipulasi parameter jumlah poin saat permintaan pemesanan sedang diproses di antara frontend dan backend.”

Danu mengerutkan kening. “Maksudmu, mereka bisa mengubah ‘10.000 poin’ menjadi ‘0 poin’ di formulir pemesanan, tapi sistem backend tetap menganggap poin itu valid dan mengeluarkan konfirmasi pemesanan?”

“Kurang lebih. Mereka tidak benar-benar ‘mencuri’ poin, tapi mereka mengakali sistem agar menerbitkan reservasi gratis tanpa memotong poin yang ada, atau bahkan pada akun yang poinnya tidak cukup,” jelas Siska.

“Dan reservasi ini…” Danu menggantung kalimatnya.

“Valid,” Siska menyelesaikan kalimat Danu. “Aura Hotels sudah mengidentifikasi setidaknya 50 reservasi gratis yang dibuat dengan cara ini di Bali dan Jakarta. Tamu-tamu itu menginap sekarang, atau akan segera menginap. Beberapa bahkan sudah check-out.”

Danu menggelengkan kepala, hampir kagum. “Ini seperti mencetak uang di siang bolong, tapi di bawah radar. Siapa pun yang melakukannya tahu persis bagaimana API itu bekerja. Bisa jadi orang dalam?”

“Itu kemungkinan paling menakutkan bagi klien kita, kan? Tapi jejak audit yang kulihat berasal dari serangkaian alamat IP yang sudah di-proxy berkali-kali,” kata Siska, jarinya menunjuk ke log IP yang panjang dan tampak acak. “Sulit dilacak.”

“Kalau begitu, langkah pertama: kunci API-nya,” kata Danu, berdiri dari kursinya. “Sudah ada instruksi untuk itu?”

“Mas Dimas sedang koordinasi dengan tim developer mereka. Mereka panik, tentu saja. Tapi mengunci API juga berarti menghentikan semua pemesanan poin loyalitas secara sah di seluruh dunia,” jawab Siska, nada bicaranya menunjukkan beban tanggung jawab yang mereka pikul.

Danu berjalan mendekati jendela, melihat kemacetan kota Jakarta di bawah. “Kita harus bertindak cepat. Jika tak ditangani, ini bukan hanya kehilangan pendapatan kamar, tapi pukulan besar bagi reputasi brand. Tamu-tamu setia mereka tidak akan senang jika tahu program loyalitas mereka serentan ini.”

Tiba-tiba, suara dering telepon kantor yang tajam memecah keheningan ruang rapat. Danu bergegas mengangkatnya.

“Ya, ini Danu… Oke, kirimkan log API dari 24 jam terakhir segera… Kami butuh log akses server backend-nya juga, raw format…”

Suara Danu tegas, perintahnya mengalir dengan keyakinan yang dibangun oleh bertahun-tahun pengalaman. Setelah menutup telepon, ia menatap Siska dengan tatapan serius.

“Tugas kita sekarang, Siska. Pertama, temukan dan kunci celah API itu bersama tim dev. Kedua, identifikasi semua pemesanan palsu yang sudah terjadi sebelum sistem dimatikan, dan ketiga, cari pola yang bisa membantu kita melacak si pelaku. Kita tidak punya banyak waktu.”

Siska kembali ke layar laptopnya, matanya tajam dan fokus. Rasa panik tadi pagi telah berganti dengan adrenalin dingin seorang profesional. “Kopi satu lagi, Dan. Kita akan butuh itu.”

Hari ini, pertarungan untuk mengamankan kepercayaan ratusan ribu pelanggan Aura Hotels Group di seluruh dunia dimulai di ruang rapat yang pengap ini, dan Siska serta Danu adalah garda terdepannya.

“Oke, satu kopi hitam pekat segera datang,” jawab Danu sembari melangkah keluar.

Tiga jam berlalu. Ruangan itu kini dipenuhi aroma kopi yang sudah mendingin dan suara ketikan kibor yang ritmis. Siska berhenti sejenak, menyipitkan mata ke arah baris kode JSON yang baru saja ia tarik dari server cadangan.

“Dan, lihat ini,” panggil Siska. Suaranya rendah, tipis dengan ketegangan.

Danu mendekat, meletakkan cangkir kosongnya. “Apa?”

“Aku melakukan cross-reference antara ID perangkat yang melakukan pemesanan palsu dengan data login aplikasi seluler mereka dalam enam bulan terakhir. Si peretas tidak masuk lewat web, mereka menggunakan versi aplikasi yang sudah didekompilasi.” Siska menunjuk ke sebuah header permintaan yang aneh. “Lihat nilai `X-App-Version` ini. Isinya `2.4.1-beta-test`. Itu versi usang yang seharusnya sudah ditarik dari peredaran dua tahun lalu.”

Danu mengusap dagunya. “Versi beta? Berarti pintu belakangnya ada di kode lama yang lupa ditutup saat migrasi ke versi stabil. Tapi siapa yang masih punya akses ke dokumentasi versi beta itu?”

“Bukan cuma akses, Dan. Lihat pola pengulangan request-nya. Setiap kali reservasi gratis berhasil dibuat, sistem mengirimkan sinyal ‘success’ ke sebuah alamat IP statis yang tersembunyi di balik VPN murah. Tapi, ada satu kecerobohan: si pelaku melakukan ping ke server internal hotel menggunakan akun admin yang statusnya ‘disabled’.”

Siska menekan beberapa tombol, membuka profil pengguna yang dimaksud. Namanya muncul di layar: Rian Haryadi.

“Mantan staf IT?” tebak Danu.

“Lebih spesifik lagi: Mantan Lead Developer aplikasi seluler Aura Hotels. Dia dipecat enam bulan lalu karena masalah ‘ketidakcocokan budaya’. Sepertinya dia meninggalkan ‘telur paskah’ di kode beta itu sebelum pergi,” Siska menjelaskan dengan nada getir.

“Dia tidak mencuri poin karena dia tahu itu akan memicu alarm di bagian keuangan. Tapi memesan kamar gratis lewat celah logika di API beta? Itu jauh lebih sulit dideteksi karena secara sistem, reservasi itu terlihat ‘legal’ meski tanpa pembayaran,” tambah Danu.

Siska segera mengetik perintah untuk melacak koordinat akses terakhir akun ‘disabled’ tersebut. “Dia cukup pintar memakai VPN, tapi dia lupa kalau aplikasi beta itu punya fitur logging lokasi otomatis untuk kebutuhan debugging yang tertanam di level kernel.”

Sebuah titik merah berkedip di peta digital Jakarta Selatan. Lokasinya adalah sebuah apartemen sewa harian.

“Dia di sana,” kata Siska pelan. “Dan tebak apa? Dia memesan unit apartemen itu melalui aplikasi pihak ketiga, tapi menggunakan alamat email cadangan yang pernah terdaftar di sistem HRD hotel.”

Danu langsung meraih ponselnya, menghubungi Mas Dimas dan tim hukum Aura Hotels. “Kita punya nama, lokasi, dan bukti forensik digitalnya. Siska, tutup celah API beta itu sekarang juga. Jangan biarkan ada satu kamar pun yang terpesan lagi.”

——–

Solusi Teknis & Penutup

Siska bekerja cepat menerapkan patch darurat. Ia mematikan seluruh akses untuk endpoint API versi lama dan memaksa semua permintaan reservasi melewati gerbang validasi baru yang memeriksa saldo poin secara real-time di tingkat database pusat, bukan sekadar di tingkat formulir.

Dua jam kemudian, Mas Dimas menelepon kembali. Suaranya terdengar lega namun lelah.

“Pihak berwajib sudah mengamankan Rian di apartemennya. Dia tertangkap tangan sedang mengoperasikan tiga laptop yang menjalankan skrip pemesanan otomatis. Terima kasih, Dan, Siska. Kalian menyelamatkan kami dari kerugian miliaran dan malu besar.”

Danu menutup telepon dan menatap Siska. “Jadi, pelajaran hari ini?”

Siska menutup laptopnya dengan bunyi klik yang memuaskan. “Jangan pernah meninggalkan kode ‘sampah’ di server produksi, dan jangan pernah meremehkan mantan karyawan yang sakit hati dengan akses root.”

“Setuju,” Danu tersenyum tipis. “Sekarang, ayo cari makan siang yang beneran. Bukan kafein lagi.” (*)

banner 300x250

Related posts