trueNetLab logo
ID
AliExpress: fingerprinting melalui API Web Audio

AliExpress: fingerprinting melalui API Web Audio

Sebuah toko online dibuka, lalu musik di ponsel tiba-tiba terdiam. Tidak ada video berjalan di browser, tidak ada iklan yang terdengar, dan membisukan tab pun tidak mengubah apa-apa. Baru setelah tab AliExpress ditutup, headphone Bluetooth kembali beralih dengan benar ke ponsel.

Apa yang terdengar seperti kesalahan Bluetooth Multipoint membawa pengembang Matt Callaghan ke dua berkas JavaScript yang sangat disamarkan di halaman utama AliExpress. Keduanya membuat graf Web Audio yang terus aktif di latar belakang. Level keluarannya nol sehingga tidak ada suara. Namun bagi browser, sistem operasi, dan headphone, jalur audio tetap aktif.

Temuan ini menarik secara teknis karena efek samping perangkat keras yang tidak disengaja membocorkan pengukuran browser yang tak terlihat. Dari sisi keamanan, kasus ini lebih menarik lagi karena Web Audio hanya salah satu komponen. Skrip tersebut juga memeriksa Canvas, WebGL, layar, perangkat keras, format media yang didukung, WebRTC, dan interaksi pengguna. Hasilnya tampak seperti fingerprint browser dan perangkat yang menyeluruh.

Yang membuat kasus ini serius bukan trik audio yang sangat rahasia, melainkan luasnya pengukuran dan cara tak terlihat pengukuran itu sudah dimulai di halaman utama toko.

Kesalahan Bluetooth yang ternyata bukan kesalahan Bluetooth

Callaghan memakai headphone Multipoint yang terhubung bersamaan ke PC dan ponsel. Biasanya ia mendengarkan musik dari ponsel. Ketika PC benar-benar memutar audio, PC mengambil alih. Peralihan prioritas ini tiba-tiba terus tersangkut saat AliExpress dibuka di Firefox atau Chrome. Ia tidak menguji browser lain.

Penyebab yang lazim dapat disingkirkan. Tidak ada elemen audio atau video, panggilan HTMLMediaElement.play(), Media Session aktif, maupun berkas media yang dapat dikenali dalam lalu lintas jaringan. Hal yang menonjol hanyalah gangguan mulai beberapa detik setelah halaman dimuat.

Karena itu Callaghan menginstrumentasikan API Web Audio. Ia mengganti konstruktor AudioContext dengan wrapper, mencatat konteks audio baru, dan memantau koneksi melalui AudioNode.connect(). Muncul dua konteks aktif dengan stack trace yang menunjuk ke skrip berikut:

assets.aliexpress-media.com/g/AWSC/uab/1.140.0/collina.js
assets.aliexpress-media.com/g/AWSC/fireyejs/1.231.67/fireyejs.js

Keduanya berada di bawah jalur AWSC dan, berdasarkan fungsinya, tampak sebagai bagian dari infrastruktur Alibaba untuk keamanan browser dan deteksi penyalahgunaan. Atribusi ini masuk akal, tetapi nama berkas saja tidak membuktikannya secara tuntas. Meski demikian, dokumentasi Alibaba Cloud untuk Anti-Bot Web SDK secara tegas menyebut web collector yang digunakan bersama evaluasi di sisi server.

Perilakunya dapat dipersempit: setelah kedua keluarga skrip diblokir, pengukuran kontrol Callaghan tidak lagi membuat konteks audio maupun koneksi ke keluaran audio. Halaman utama dan pencarian produk biasa tetap berfungsi dalam pengujiannya.

Apa yang sebenarnya dilakukan graf Web Audio

Web Audio bukan fungsi penyadapan tersembunyi, melainkan antarmuka browser yang kuat untuk gim, synthesizer, konferensi video, dan aplikasi interaktif lain. Alih-alih hanya memutar berkas audio, situs dapat menghubungkan node pemrosesan menjadi sebuah graf.

Secara sederhana, skrip AliExpress yang diperiksa membangun rantai berikut:

OscillatorNode dengan gelombang gigi gergaji
  -> AnalyserNode
  -> ScriptProcessorNode
  -> GainNode dengan gain 0
  -> AudioContext.destination

Osilator menghasilkan sinyal yang diketahui. AnalyserNode menyediakan data hasil pemrosesan, lalu JavaScript membaca nilai frekuensi. Setelah itu GainNode mengatur level menjadi nol. Sinyal tidak terdengar, tetapi graf tetap terhubung ke AudioContext.destination dan dengan demikian ke keluaran waktu nyata.

Koneksi inilah yang menjelaskan efek samping. Volume nol tidak berarti pemrosesan nol. Browser terus menghitung graf dan, pada sistem Windows Callaghan, hal itu tampaknya cukup untuk mempertahankan jalur audio PC sebagai aktif. Peralihan Multipoint otomatis pun tetap menganggap PC sebagai sumber aktif.

Untuk pengukuran yang murni komputasional, OfflineAudioContext lebih masuk akal. Ia merender graf langsung ke buffer memori tanpa mengirimkannya ke speaker atau perangkat audio sistem. Dalam graf AliExpress, osilator dan analisis juga berada sebelum keluaran yang dinolkan. Koneksi ke keluaran langsung tidak memberi manfaat tambahan yang terlihat bagi data frekuensi yang sudah dibaca, tetapi justru menyebabkan efek samping yang tampak.

Mozilla sudah mencatat efek yang sama pada 2023

Pada 2026, headphone Callaghan memberikan petunjuk yang menarik perhatian publik. Namun efek dasar pada browser sudah tercatat di Mozilla sejak November 2023 sebagai Bug 1863193. Laporan awal untuk Firefox 119 menjelaskan halaman AliExpress yang memicu permintaan daya audio permanen di Windows 11. powercfg /requests melaporkan aliran audio aktif meski tab tidak menampilkan pemutaran. Komputer pun tidak lagi masuk mode tidur secara otomatis. Permintaan itu hilang setelah tab ditutup.

Pengembang Mozilla Karl Tomlinson kemudian mengaktifkan pencatatan Web Audio. Log tersebut dua kali menunjukkan rantai yang sama persis dengan yang kemudian dijelaskan Callaghan: OscillatorNode, AnalyserNode, ScriptProcessorNode, GainNode yang dibisukan, dan AudioDestinationNode. Tomlinson mengamati penggunaan perangkat permanen serupa di Chrome dan mencatat bahwa AliExpress dapat menghentikannya dengan AudioContext.suspend().

Ini merupakan konfirmasi independen yang penting. Efek samping perangkat keras tidak hanya bergantung pada penafsiran Callaghan atas skrip tersamar. Bertahun-tahun sebelumnya, Mozilla telah mencatat langsung graf aktif dan dampaknya terhadap pengelolaan daya Windows. Bug itu masih terbuka. Hal ini juga menunjukkan tanggung jawab bersama: AliExpress dapat menangguhkan konteks setelah pengukuran, sedangkan browser dapat lebih cepat melepaskan graf yang efektif bisu dan tidak lagi diperlukan dari perangkat audio.

Bukan mikrofon dan bukan ultrasonik di ruangan

Ketepatan bahasa penting di sini. Dalam pengujian ini, AliExpress tidak merekam mikrofon dan tidak mendengarkan suara di ruangan. Akses mikrofon akan menggunakan getUserMedia() dan memerlukan izin pengguna.

Anggapan bahwa toko memancarkan sinyal ultrasonik melalui speaker lalu menangkapnya kembali secara fisik juga menyesatkan. Pengukuran berlangsung di dalam pemrosesan audio browser. Gelombang gigi gergaji dihitung, dianalisis, lalu dinolkan sebelum keluaran. Efek pada headphone terjadi karena graf virtual tetap terhubung ke keluaran nyata.

Mengapa perhitungan identik dapat memberi hasil berbeda

Pemrosesan sinyal digital melibatkan banyak operasi floating-point. Arsitektur CPU, pustaka matematika, keputusan compiler, implementasi browser, dan pembulatan dapat menghasilkan perbedaan kecil. Standar Web Audio secara eksplisit menyebut OscillatorNode, DynamicsCompressorNode, sample rate, latensi, dan pengukuran waktu sebagai kemungkinan permukaan fingerprinting. Karena itu browser dianjurkan membatasi perbedaan tersebut.

Namun hasil Web Audio bukan nomor seri perangkat keras yang ajaib. Beberapa perangkat dapat menghasilkan nilai sama, dan browser dapat menyeragamkan atau mengubah hasilnya. Daya pengenalan meningkat ketika nilai itu digabungkan dengan atribut lain.

Metode ini digunakan setidaknya sejak 2016

Audio fingerprinting bukan penemuan baru tahun 2026. Steven Englehardt dan Arvind Narayanan meneliti satu juta situs untuk studi OpenWPM yang diterbitkan di ACM CCS pada 2016. Mereka menemukan fingerprinting AudioContext dalam tiga skrip di total 67 situs. Berdasarkan analisis manual, dua skrip benar-benar menggunakan teknik itu secara aktif.

Di sana pun osilator menghasilkan sinyal yang diketahui, lalu sinyal diproses, dibaca, dan di-hash. Salah satu varian terdokumentasi mengalirkan graf melalui AnalyserNode, ScriptProcessorNode, dan GainNode bisu menuju keluaran. Strukturnya sangat dekat dengan pola AliExpress. Para peneliti Princeton juga telah menekankan bahwa mikrofon tidak diperlukan dan teknik fingerprinting biasanya digabungkan.

Jadi yang baru dalam kasus AliExpress bukanlah gagasan dasarnya. Yang baru adalah temuan konkret di salah satu marketplace terbesar, kombinasi luas atribut lain, dan terutama kanal samping yang membuat pengukuran tersebut terlihat.

Nilai audio hanyalah satu keping teka-teki

Dalam bundle yang diperiksa, Callaghan menemukan kueri dan pengukuran untuk banyak atribut lain:

  • rendering Canvas dan toDataURL()
  • renderer WebGL, ekstensi, dan presisi shader
  • dimensi layar dan viewport serta Device Pixel Ratio
  • hardwareConcurrency dan deviceMemory
  • plugin browser terpasang dan format media yang didukung
  • perilaku WebRTC dan performance timing
  • peristiwa mouse, sentuhan, fokus, dan gulir
  • gerakan dan orientasi perangkat
  • properti yang dapat menunjukkan otomatisasi browser atau bot

Kode juga berisi rutin untuk menserialisasi dan mengenkripsi hasil serta mengirimkannya melalui fetch() atau sendBeacon(). Di sisi klien, ini membuktikan bahwa kumpulan luas data yang cocok untuk fingerprinting dapat dikumpulkan dan dikirim ke layanan Alibaba.

Yang terjadi di server tidak terbukti. Dari browser tidak dapat diketahui berapa lama data disimpan atau apakah kemudian dikaitkan dengan akun, pesanan, layanan Alibaba lain, atau profil iklan. Callaghan sendiri menyatakan batas ini secara tegas.

Dalam kebijakan privasinya, AliExpress menyebut data browser dan sistem operasi, karakteristik perangkat keras dan lunak, pengenal perangkat unik, pola penggunaan, dan interaksi. Selain operasi dan personalisasi, tujuannya mencakup deteksi penipuan, pencucian uang, dan insiden keamanan. Kebijakan tersebut tidak membuat pelaksanaan teknis yang diamati menjadi transparan, tetapi menunjukkan bahwa data perangkat dan penggunaan yang luas memang bagian dari model yang dijelaskan.

Fingerprinting tidak otomatis berarti pelacakan iklan

Fingerprint browser dipakai dalam konteks yang sangat berbeda. Jaringan iklan dapat menggunakannya untuk mengenali browser meski cookie telah dihapus. Toko online dan layanan pembayaran juga memakai sinyal serupa untuk penilaian risiko, pengambilalihan akun, penyalahgunaan kupon, scraping, bot, atau pembelian otomatis.

Kedua tujuan itu tidak saling meniadakan. Pengenal perangkat yang sama dapat melayani kepentingan keamanan sekaligus pemasaran. Namun JavaScript yang ditemukan tidak membuktikan kampanye iklan lintas situs tertentu. Kesimpulan langsung bahwa “AliExpress melacak setiap pengguna di semua situs” melampaui bukti yang tersedia.

Meski demikian, kasus ini tetap bermasalah dari sisi keamanan:

  • Pengukuran dimulai di halaman utama umum, bukan hanya saat login atau pembayaran.
  • Skrip sangat disamarkan dan praktis tidak dapat dipahami pengguna.
  • Pengumpulan mencakup jauh lebih banyak daripada satu sinyal anti-bot.
  • Graf audio aktif tidak terlihat secara bermakna di antarmuka dan tidak berhenti ketika tab dibisukan.
  • Fungsi latar belakang menyentuh jalur audio lokal sedemikian jauh hingga mengubah perilaku perangkat keras eksternal.

Pertahanan terhadap penipuan yang dapat dipahami tidak harus memublikasikan panduan implementasi. Namun ia membutuhkan minimalisasi data, pembatasan tujuan yang jelas, dan antarmuka yang perilakunya tidak bertentangan dengan ekspektasi pengguna. Tab toko yang sunyi seharusnya tidak menempati jalur audio waktu nyata.

Seberapa unik sebenarnya fingerprint audio ini?

Pengembang Firefox Tom Ritter mengekstrak perhitungan Web Audio tersebut dan membandingkannya dengan data telemetri Firefox. Hasilnya sangat mengurangi kesan alarmistis.

Sejak Firefox 118, Web Audio memakai pustaka matematika FDLIBM di semua platform untuk mengurangi perbedaan yang bergantung pada sistem. Dalam evaluasi Ritter, 99,24 persen pengguna hanya menghasilkan tiga nilai. Pada 0,76 persen lainnya, titik pengukuran gagal dan mengembalikan nol. Tiga kelompok besar itu terutama mencerminkan kelas CPU: x86 atau x64 tanpa FMA, x64 dengan FMA, dan ARM dengan NEON.

Bagi metode AliExpress khusus ini, nilainya di Firefox tidak individual untuk hampir semua pengguna yang diteliti. Nilai tersebut lebih menunjukkan kelas prosesor kasar daripada satu perangkat. Namun masih ada ekor panjang kecil berisi nilai lain, dan justru nilai langka dapat membuat sistem terkait lebih menonjol.

Satu nilai yang lemah tidak menjadi aman ketika menjadi bagian dari profil kuat yang menggabungkan grafis, perangkat keras, perilaku, dan informasi akun yang sudah ada.

Fingerprinting bekerja dengan kombinasi. Ukuran layar, zona waktu, atau kelas CPU biasanya sepele jika berdiri sendiri. Canvas, WebGL, font, data perangkat keras, ciri browser, pola interaksi, dan login yang ada dapat bersama-sama jauh lebih membedakan. Nilai Web Audio tidak harus unik agar tetap berguna dalam skor keseluruhan.

Perlindungan browser adalah perlombaan dengan efek samping

Browser memakai strategi berbeda. Firefox menyeragamkan perhitungan tertentu dan memblokir layanan fingerprinting yang dikenal. Sejak Firefox 145, perlindungan yang lebih luas mula-mula aktif dalam mode privat dan Enhanced Tracking Protection tingkat ketat. Mozilla sendiri menekankan bahwa penyeragaman agresif dapat merusak fungsi yang sah.

Brave sedikit mengubah hasil yang dapat dipakai untuk fingerprinting, seperti nilai Canvas dan Web Audio. Metode Farbling ini stabil dalam satu sesi dan situs, tetapi dirancang menghasilkan nilai berbeda antar-situs dan antar-sesi. Aplikasi tetap menerima nilai yang masuk akal, tetapi lebih sulit memakainya sebagai pengenal global yang bertahan lama.

WebKit membatasi berbagai permukaan fingerprinting di Safari, seperti font lokal dan informasi perangkat tertentu. Untuk antarmuka yang sangat berisiko, WebKit kadang tidak mengimplementasikannya sama sekali sampai ada cara yang dianggap aman. Ini menunjukkan konflik mendasar: antarmuka yang memungkinkan aplikasi web kompleks juga memperluas permukaan pengukuran browser.

Tidak ada browser biasa yang dapat menjamin semua fingerprinting hilang. Ketika satu atribut diseragamkan, penyedia beralih ke atribut atau sinyal perilaku lain. Kombinasi ekstensi, font, dan pengaturan perlindungan manual yang sangat tidak umum bahkan dapat membuat browser sendiri menjadi lebih langka.

Langkah konkret bagi pengguna

Dasar terbaik adalah browser terbaru dengan perlindungan fingerprinting aktif. Di Firefox, tingkat lanjutan memerlukan Enhanced Tracking Protection ketat atau jendela privat. Brave mengaktifkan Shields dan pertahanan fingerprinting secara bawaan. Di Safari, gunakan sistem operasi dan browser versi terbaru. Tor Browser dan Mullvad Browser melangkah lebih jauh untuk sesi sensitif: keduanya berusaha membuat sebanyak mungkin pengguna terlihat berada dalam kelompok dengan fingerprint serupa. Justru di sana, jangan menambah modifikasi atau ekstensi sendiri.

Jendela privat saja bukan jawaban lengkap. Ia membatasi state yang tersimpan, tetapi tidak otomatis menyembunyikan karakteristik perangkat keras dan browser. Menghapus cookie juga tidak mereset fingerprint dengan cara yang sama seperti menghapus ID cookie.

VPN menyelesaikan masalah berbeda. Ia mengganti alamat IP publik yang terlihat dan, tergantung penggunaan, melindungi transportasi ke penyedia VPN. Namun VPN tidak otomatis mengubah Canvas, WebGL, perhitungan audio, font, atau karakteristik perangkat keras. VPN dapat berguna, tetapi sendirian bukan perlindungan terhadap fingerprinting browser.

Memblokir kedua skrip secara khusus dengan uBlock Origin

Callaghan menerbitkan dua filter yang sengaja dibuat sempit untuk uBlock Origin:

! AliExpress AWSC fingerprinting scripts
||assets.aliexpress-media.com/g/AWSC/uab/*/collina.js$script,domain=aliexpress.com
||assets.aliexpress-media.com/g/AWSC/fireyejs/*/fireyejs.js$script,domain=aliexpress.com

Setelah ditambahkan di Filter saya, tab AliExpress yang sudah terbuka harus ditutup. Memblokir skrip setelahnya tidak mengakhiri konteks audio yang telah dibuat sebelumnya.

Aturan ini adalah gambaran sesaat. Jalur, versi, dan nama berkas dapat berubah. Karena skrip kemungkinan bagian dari infrastruktur anti-bot dan risiko, CAPTCHA tambahan atau masalah saat login dan checkout juga dapat muncul. Jika transaksi sah tidak dapat diselesaikan, aturan dapat dinonaktifkan sementara hanya untuk proses itu dan tab kemudian ditutup kembali.

Memblokir seluruh host assets.aliexpress-media.com di tingkat DNS akan jauh lebih kasar. Sumber daya toko lain mungkin berada di sana. Aturan URL yang sempit lebih terkendali daripada blokir domain secara menyeluruh.

Mematikan JavaScript sepenuhnya jarang praktis

Tanpa JavaScript, pengukuran ini tidak dapat berjalan. Namun toko modern nyaris tidak berfungsi. Penonaktifan global juga menciptakan keadaan browser yang tidak biasa dan tidak menggantikan pemisahan akun, profil, serta aktivitas sensitif yang baik.

Untuk riset sangat sensitif, browser terpisah yang sesedikit mungkin dimodifikasi dapat berguna. Hal itu membatasi pengaitan dengan profil sehari-hari, tetapi tidak menjamin anonimitas. Alamat IP, login, data pembayaran, dan sinyal server tetap tidak berubah.

Di Eropa, “tanpa cookie” tidak sama dengan “tanpa persetujuan”. Pedoman final 2/2023 dari European Data Protection Board sengaja menafsirkan cakupan teknis Pasal 5(3) ePrivacy Directive lebih luas daripada cookie klasik. Akses ke informasi yang disimpan di perangkat terminal atau dihasilkan di sana oleh perangkat lunak dan keras juga dapat relevan.

Apakah implementasi spesifik AliExpress sah dalam suatu kasus bergantung pada tujuan nyata, kebutuhan, penerapan regional aturan ePrivacy, transparansi, dan pemrosesan lanjutan. Anti-fraud dapat menjadi tujuan yang sah. Namun itu tidak otomatis menjawab apakah setiap atribut yang dikumpulkan di halaman utama diperlukan untuk tujuan tersebut atau apakah persetujuan dibutuhkan.

Tulisan ini bukan pengganti kajian hukum. Secara teknis, kasus ini menunjukkan mengapa banner cookie tidak sepenuhnya mencerminkan realitas identifikasi modern. Pengguna dapat menolak semua cookie pemasaran yang terlihat dan tetap diukur melalui JavaScript first-party.

Dasar pengujian dan keterbatasan

Saya terakhir memeriksa analisis teknis, informasi browser, dan kebijakan publik pada 31 Agustus 2026. Temuan spesifik AliExpress didasarkan pada pengujian terdokumentasi Callaghan di Windows dengan Firefox dan Chrome serta instrumentasinya terhadap API Web Audio. Dasar lain mencakup laporan bug independen Mozilla, evaluasi Ritter atas metode audio yang diekstrak, riset OpenWPM, serta dokumentasi primer W3C, Mozilla, Brave, WebKit, Alibaba Cloud, AliExpress, dan EDPB.

Dua URL skrip berversi yang disebut Callaghan masih merespons dengan HTTP 200 dan tipe application/javascript saat saya periksa. Namun saya tidak menjalankan sendiri skrip tersebut pada akun AliExpress terkontrol dan tidak mereproduksi efek Bluetooth dengan headphone milik saya. Sistem operasi, browser, wilayah, pengujian A/B, atau versi skrip yang berubah dapat berperilaku berbeda. Penyimpanan di server, scoring, pengaitan identitas, dan penggunaan nilai yang dikirim tidak terlihat sehingga bukan temuan langsung artikel ini.

Kesimpulan saya

Kasus ini bukan bukti pengawasan ultrasonik rahasia dan bukan bukti bahwa satu nilai audio mengidentifikasi setiap komputer secara unik. Namun ia menjadi bukti kuat betapa luasnya situs modern dapat memakai browser sebagai alat ukur tanpa diketahui pengguna.

Penjelasan anti-fraud masuk akal secara teknis. Marketplace besar harus melawan bot, pengambilalihan akun, penipuan pembayaran, dan penyalahgunaan kupon. Tetapi hal itu tidak otomatis membenarkan setiap pengukuran di setiap tahap perjalanan pelanggan. Pihak yang sejak halaman utama mengumpulkan karakteristik audio, grafis, perangkat keras, WebRTC, dan perilaku harus menjawab pertanyaan tentang kebutuhan, transparansi, dan efek samping.

Pada akhirnya bukan dashboard privasi yang membuat pengukuran itu terlihat. Sepasang headphone Bluetooth-lah yang menolak berpura-pura bahwa browser sedang diam.

Sampai jumpa lagi,
Joe

Sumber