3 poin oleh GN⁺ 2024-07-09 | 1 komentar | Bagikan ke WhatsApp
  • Baru-baru ini membeli tiket konser di Ticketmaster. Alih-alih tiket PDF biasa yang bisa dicetak, Ticketmaster menerbitkan tiket melalui sistem bernama SafeTix, yaitu Mobile Entry. Tiket ini disajikan dalam bentuk barcode berputar di web app Ticketmaster atau aplikasi Android/iOS-nya.
  • Dulu, tiket yang dibeli secara online maupun offline bisa dicetak. Tiket PDF dapat dilihat di hampir semua perangkat, tetap bisa diakses meski ponsel tidak terhubung ke internet, dan bahkan bisa digunakan sebagai tiket kertas saat tidak membawa ponsel. Jika dibeli dari penjual resmi, keasliannya juga jelas.
  • Tahun lalu saat menghadiri konser yang menggunakan sistem tiket QR berputar serupa, banyak orang mengalami masalah saat masuk. Masalah utamanya adalah ponsel mereka tidak memiliki koneksi internet sehingga kode QR tidak bisa dimuat. Staf di lokasi pun tidak punya cara untuk membantu.

Pemasaran

  • Ticketmaster mempromosikan teknologi SafeTix sebagai obat mujarab untuk penipu dan calo tiket.
  • Mereka mengklaim bahwa berkat barcode unik yang otomatis disegarkan setiap beberapa detik, tiket tidak mungkin dicuri atau disalin, sangat mengurangi risiko percaloan, dan menjamin keamanan.
  • Gerakan pada barcode itu hanyalah animasi CSS, dan tidak mencegah hasil scan dari tangkapan layar.

Motivasi

  • SafeTix mempersulit penjualan kembali tiket di luar pasar sekunder Ticketmaster yang tertutup dan bermargin tinggi.
  • Sistem ini memaksa pengguna memasang aplikasi eksklusif milik Ticketmaster.
  • Karena tiket tidak bisa disimpan atau dikirim ke luar Ticketmaster, pengguna harus menyerahkan informasi kontak temannya kepada Ticketmaster.

Kontradiksi

  • Mengatakan tiket bisa disimpan secara offline sambil menyatakan tidak bisa dikirim ke luar Ticketmaster adalah kontradiktif.
  • Jika data bisa disalin, maka data bisa dikirim; jika bisa dikirim, maka bisa dibagikan dan dijual.
  • Mengklaim tiket memiliki DRM yang kuat sambil mengatakan tiket bisa dilihat secara offline juga merupakan kontradiksi.

Reverse engineering

  • Dari pemeriksaan terhadap barcode itu sendiri, ternyata itu adalah barcode PDF417 yang mengenkode teks UTF-8.
  • Barcode berubah setiap 15 detik dan terdiri dari data Base64, dua angka 6 digit, dan Unix timestamp.
  • Dua angka 6 digit itu bekerja seperti Time-based One-Time Passwords (TOTP).
  • Data Base64 tampak seperti data acak sepanjang 48 byte, dan diduga merupakan semacam bearer token acak yang mengidentifikasi tiket dan pemilik tiket.

Rahasia dari rahasia

  • Untuk menghasilkan TOTP, yang dibutuhkan hanyalah shared secret key (array byte) dan jam yang berjalan dengan benar.
  • Karena ada dua TOTP di barcode, berarti ada dua shared secret key juga. Jika keduanya tersedia bersama bearer token, maka barcode valid bisa dibuat sebanyak yang diinginkan.

Debugging web app

  • Menghubungkan browser Chrome di ponsel Android ke Chrome DevTools di komputer desktop untuk memeriksa API dan source code Ticketmaster.
  • Menemukan request yang menarik pada endpoint API /api/render-ticket/secure-barcode.
  • Data respons memiliki properti token yang di-encode dengan Base64, dan setelah didekode ternyata berupa objek JSON.
  • Diduga eventKey (ek) dan customerKey (ck) adalah secret key TOTP.
  • Setelah menelusuri source code web app, ditemukan fungsi bernama generateSignedToken, dan di sanalah data barcode dibuat.
  • Kedua TOTP dihasilkan dengan interval waktu 15 detik, dan selain itu dibangun dengan cara yang sama seperti TOTP SHA-1 biasa.

Pembajakan tiket

  • Sekarang sudah diketahui semua yang diperlukan untuk menyalin barcode Ticketmaster di aplikasi kustom.
  • Barcode PDF417 dapat dibuat yang tidak bisa dibedakan dari aplikasi resmi Ticketmaster.
  • Ticketmaster mempermudah ekstraksi token karena secara otomatis mencatat token ke konsol browser saat komponen perender barcode dipasang ke halaman web.

Masa berlaku

  • Masa berlaku rawToken tidak diketahui. Mungkin hanya satu token yang valid per akun Ticketmaster.
  • Menurut dokumentasi API developer Ticketmaster, token harus disegarkan 20 jam sebelum acara dimulai.
  • Itu sudah cukup untuk menyimpan tiket secara offline. Dibuat aplikasi Expo bernama TicketGimp yang merender barcode SafeTix.

Kesimpulan

  • Ticketmaster mengecualikan orang-orang yang lemah secara teknis.
  • Mereka membungkus dark pattern seperti ini sebagai langkah keamanan.
  • Perusahaan ini mendukung praktik bisnis yang kejam.
  • Pengembang perangkat lunak harus menggunakan kekuatan semacam ini dengan benar.
  • Bubarkan Ticketmaster.

Pendapat GN⁺

  • Tulisan ini menunjukkan dengan baik proses reverse engineering teknologi SafeTix milik Ticketmaster. Secara teknis isinya sangat menarik.
  • Namun, ada pertanyaan apakah tindakan seperti ini legal. Meretas dan menyalahgunakan sistem Ticketmaster tanpa izin sangat mungkin melanggar hukum.
  • Meski sepakat bahwa perilaku Ticketmaster merugikan konsumen, melawan dengan menyalahgunakan teknologi juga bukan pendekatan yang diinginkan. Perlu mengangkat masalah ini secara legal dan mencari solusinya dengan cara yang sah.
  • Seiring kemajuan teknologi, upaya DRM dan kontrol konsumen seperti ini kemungkinan akan semakin meningkat. Diskusi sosial dan perbaikan regulasi untuk melindungi privasi serta hak konsumen tampak penting.
  • Sebagai developer, kita punya tanggung jawab untuk menggunakan kekuatan teknologi demi membawa perubahan positif bagi masyarakat. Bukan sekadar mengimplementasikan teknologi, tetapi juga memikirkan dengan serius dampak yang ditimbulkannya.

1 komentar

 
GN⁺ 2024-07-09
Komentar Hacker News
  • TicketMaster dan AXS punya kesempatan untuk mendukung platform penjualan kembali dan transfer tiket, tetapi memilih untuk tidak melakukannya

    • Mereka bisa saja mendokumentasikan enkripsi kode QR tiket dan mengekspos aplikasi serta API agar rahasia tiket dapat diverifikasi dan diputar
    • Sebagai gantinya, mereka memilih melawan para penipu lewat masalah hukum
    • Alasannya karena mereka mendapat lebih banyak keuntungan dari monopoli penjualan kembali
  • Model bisnis TicketMaster didasarkan pada menipu publik

    • Taylor Swift ingin para penggemar bisa membeli tiket dengan harga murah
    • Manajernya ingin memperoleh pendapatan sebanyak mungkin
    • Dengan bekerja sama dengan TicketMaster, sebagian tiket dijual murah lalu sisa tiket dijual dengan harga lebih tinggi di situs penjualan kembali
  • Pengembang perangkat lunak seperti penyihir dan dukun modern

    • Kekuatan seperti ini harus digunakan dengan pengendalian diri dan integritas
    • Ini diperlukan untuk merebut kembali kendali masyarakat dari orang-orang yang hanya terobsesi pada keserakahan dan eksploitasi
  • Praktik buruk lain dari TicketMaster

    • Saat tiket dijual kembali, bahkan setelah pembeli melakukan pembelian, dana penjual tetap ditahan sampai 7-14 hari kerja setelah acara berakhir
    • Mereka mengklaim ini untuk memverifikasi validitas tiket
    • Namun TicketMaster memiliki tiket tersebut, dan logika untuk memverifikasi validitasnya tidaklah rumit
    • Mereka menahan dana pembeli dan penjual sekaligus untuk meraup keuntungan ganda
  • Artikel yang terkait dengan TicketMaster banyak memakai ungkapan berlebihan

    • Ada bagian yang menjelaskan cara menduplikasi tiket
    • Ini tidak merugikan siapa pun
    • Barcode yang berputar tetap lebih aman daripada barcode statis
  • Masalah tiket sebenarnya bisa diselesaikan dengan sederhana

    • Ini adalah masalah yang diselesaikan jutaan kali setiap hari di bandara
    • Saat membeli tiket, cukup berikan nama setiap peserta konser, lalu tunjukkan tiket dan identitas bersama-sama
  • Tidak mungkin menjadi orang baik sambil bekerja di perusahaan yang buruk

  • Pertanyaan tentang bagaimana TicketMaster sebenarnya beroperasi

    • Cara kerjanya berbeda-beda di berbagai acara
    • TicketMaster mungkin hanya penyedia layanan biasa
    • Penyelenggara acara memilih produk yang mereka inginkan dari katalog TicketMaster
    • Ini bisa disebut sebagai "Evil as a Service"
    • Praktik monopoli TicketMaster memang bermasalah, tetapi penyelenggara acara dan artis juga bertanggung jawab
  • Keharusan memakai ponsel untuk bisa masuk ke pertunjukan adalah masalah

    • Jika baterai habis atau layar pecah, masalah akan muncul
    • Semakin maju teknologi, semakin buruk cara penggunaannya
    • Untuk memecah monopoli, orang perlu menahan diri untuk tidak membeli tiket TicketMaster
  • Kebutuhan akan koneksi internet di lokasi acara juga merupakan masalah

    • Pada acara berskala besar, koneksi internet sulit didapat
    • Aplikasi seharusnya tetap bekerja secara offline
    • TicketMaster menyegarkan tiket 20 jam sebelum acara untuk berjaga-jaga jika tidak ada internet