Loading theme
·Baca 6 menit

Pembajakan Pengalihan Kode QR: Perantara Tak Terlihat

Ketika kode QR Anda berfungsi, perantara tak terlihat. Ketika ia rusak, sudah terlambat. Memahami model pengalihan adalah langkah pertama untuk menghindarinya.


Setiap kode QR dinamis yang pernah Anda pindai melibatkan pihak ketiga yang tidak pernah Anda pilih. Antara kamera ponsel dan situs web tujuan, server pengalihan yang dimiliki oleh penyedia QR secara diam-diam meneruskan permintaan. Kebanyakan pengguna tidak pernah menyadari. Itulah intinya.

Artikel ini menjelaskan seperti apa pembajakan pengalihan dalam praktik, apa yang sebenarnya dilakukan perantara, dan apa yang dipertaruhkan.

Urutan pengalihan

Saat Anda memindai QR statis untuk https://shop.example.com:

  1. Kamera membaca kode QR
  2. OS mengenalinya sebagai URL
  3. Peramban membuka https://shop.example.com

Tiga langkah. Tanpa pihak ketiga.

Saat Anda memindai QR dinamis untuk tujuan yang sama:

  1. Kamera membaca kode QR, yang menyandikan sesuatu seperti https://qr-provider.com/r/x7n2
  2. OS membuka URL itu
  3. qr-provider.com menerima permintaan, mencatatnya, mencari x7n2 di basis datanya
  4. qr-provider.com mengeluarkan pengalihan 301 atau 302 ke https://shop.example.com
  5. Peramban mengikuti pengalihan dan sampai di tujuan sebenarnya

Lima langkah. Pihak tambahan di langkah 3 — yang tidak pernah Anda setujui, tidak pernah Anda bayar, dan tidak dapat Anda lihat.

Apa yang didapat perantara

Setiap pemindaian menghasilkan entri log server yang berisi:

  • Stempel waktu pemindaian
  • Alamat IP pemindai
  • String user-agent (perangkat, OS, peramban)
  • Header referrer (dari mana pemindai berasal, jika berlaku)
  • Header Accept-Language (preferensi bahasa)

Dari ini, penyedia dapat menyimpulkan: lokasi geografis perkiraan, jenis perangkat, versi sistem operasi, dan secara agregat, pola pemindaian dari waktu ke waktu. Ini dipasarkan ke pelanggan sebagai "analitik". Ini juga, sama, pengawasan terhadap orang yang memindai kode Anda — yang tidak pernah menyetujui.

Apa yang dapat dilakukan perantara

Ubah tujuan

Tujuan pengalihan berada di basis data penyedia. Pemilik QR biasanya dapat mengeditnya melalui dasbor. Ini dijual sebagai fitur, dan untuk beberapa kasus penggunaan memang demikian. Tetapi ini berarti kode QR tidak lagi seperti yang terlihat. Artefak fisik mengatakan "pindai untuk mengunjungi situs kami." Perilaku sebenarnya adalah apa pun yang dikatakan basis data penyedia hari ini.

Nonaktifkan pengalihan

Jika langganan pemilik habis, atau akun ditutup, atau ToS penyedia dilanggar, pengalihan dapat dihapus. Setiap salinan cetak kode QR langsung berhenti bekerja. Pengguna memindai dan melihat halaman kesalahan generik atau 404.

Menyisipkan halaman perantara

Beberapa penyedia merutekan pemindaian QR dinamis melalui halaman perantara bermerek sebelum pengalihan akhir — menampilkan iklan, meminta persetujuan, mengumpulkan alamat email. Pemilik QR biasanya tidak mendaftar untuk ini. Ini ditambahkan kemudian, saat penyedia memonetisasi lebih agresif.

Menjual atau kehilangan data pemindaian

Log pemindaian berharga. Mereka telah dijual ke broker analitik, digunakan untuk melatih model penargetan iklan, dan — setidaknya dalam beberapa pelanggaran yang terdokumentasi — bocor saat penyedia dikompromikan. Pelanggan Anda memindai menu; sekarang sidik jari perangkat mereka hidup dalam kumpulan data pelanggaran.

Mengapa pengguna tidak pernah menyadari

Peramban modern mengikuti pengalihan secara otomatis. Kecuali Anda memiliki alat pengembang terbuka, Anda tidak melihat lompatan perantara. Pemindaian terasa instan karena pengalihan cepat (saat bekerja). Dari sudut pandang pengguna, QR dinamis berperilaku identik dengan yang statis.

Sampai server pengalihan gagal. Kemudian pengalaman menyimpang tajam — tetapi pada saat itu, kode QR sudah tercetak di ribuan permukaan.

Implikasi keamanan

Server pengalihan adalah titik kegagalan tunggal untuk setiap kode QR yang bergantung padanya. Tiga permukaan serangan yang layak dipertimbangkan:

  • Pengambilalihan akun. Jika penyerang mendapatkan akses ke akun penyedia pemilik QR, mereka dapat mengalihkan setiap QR ke halaman phishing. Pelanggan memindai kode fisik mengharapkan menu restoran; mereka mendarat di klon halaman login restoran yang memanen kredensial.
  • Kompromi penyedia. Jika penyedia QR sendiri dilanggar, setiap QR dinamis yang beredar berpotensi diarahkan ke konten yang dikendalikan penyerang. Ini bukan teoretis — pengungkapan pelanggaran ada untuk beberapa penyedia QR-as-a-service.
  • Kegagalan DNS atau TLS di penyedia. Jika domain pengalihan berhenti melakukan resolusi atau sertifikat TLS kedaluwarsa, setiap QR yang bergantung padanya gagal. Bukan aktor jahat — hanya risiko operasional biasa yang tidak dikendalikan pemilik QR.

Kode QR statis tidak memiliki mode kegagalan ini, karena tidak ada server pihak ketiga antara pemindaian dan tujuan.

Cara memeriksa apakah Anda memindai pengalihan

Gunakan pemindai QR yang menampilkan konten yang dipecahkan sebelum mengikutinya — pemindai web kami melakukannya. Pindai kode QR dan periksa URL yang dipecahkan. Jika itu tujuan sebenarnya Anda, QR statis. Jika itu sesuatu seperti qrco.de/xyz atau domain pendek yang tidak Anda kenali, itu pengalihan — dan pihak ketiga duduk di tengah.

Alternatifnya

Buat kode QR yang menyandikan tujuan Anda secara langsung. Tanpa server pihak ketiga, tanpa log pengalihan, tanpa langganan. Lihat kode QR statis vs dinamis untuk perbandingan lengkap, dan kebenaran tentang penipuan kode QR untuk mengapa model perantara mendominasi industri.

Atau cukup buat kode QR statis dan berhenti khawatir.


Siap untuk kode QR statis?

Buat satu di peramban Anda — tanpa akun, tanpa pelacakan, tanpa langganan. Apa yang Anda buat adalah milik Anda.