CyberNewsは8月24日(現地時間)、「Alibaba’s AliExpress tracks users through device audio systems | Cybernews」において、中国の大手IT企業「アリババグループ」により運営されている「AliExpress」が顧客のオーディオシステムを追跡していると報じた。
この問題は、報告者がAliExpressのWebサイトを閲覧した際、マルチポイント接続したBluetoothヘッドホンの音楽再生が停止したことをきっかけに発覚した。報告者がAliExpressのWebサイトを閲覧しているとスマートフォンの音楽再生がブロックされ、Webサイトを閉じると速やかに再生が再開されたという。
AliExpressを開くとスマートフォンの音楽再生が停止
本件はマルチポイントに対応したBluetoothオーディオデバイスを利用したことが契機となった。このデバイスは2つのオーディオソースと同時に接続することが可能なため、一方で音楽を聞きながら他方の着信を受けるといった運用ができる。
報告者はBluetoothヘッドホンをPCとスマートフォンの両方に接続し、PCから音声が出ていない間はスマートフォンの音楽を再生する設定で利用していた。その状態でAliExpressのWebサイトを開くと音楽の再生が止まることで問題が発覚。WebブラウザやWindows側で音声をミュートしても状況は変わらなかったという。
PCの出力を止めても音楽が再開されなかったことで不信感を覚えた報告者は調査を開始。Webページが数秒間アイドル状態になると再生が止まる点に注目し、Web Audio APIを監視した。
その結果、2つのAudioContextオブジェクトの作成を特定し、「assets.aliexpress-media.com」がホストするJavaScript「collina.js」および「fireyejs.js」を発見した。
Web Audio APIで波形を生成、端末識別に利用か
これらのスクリプトを分析したところ、Web Audio APIを使ってノコギリ波を生成し、その周波数データを取得する処理が確認された。ゲインはゼロに設定されているため、この処理による音をユーザーが聞くことはできない。
Web Audio APIによる音声処理の結果は、端末のハードウェアやソフトウェア環境によってわずかな違いが生じる。この差異を組み合わせることで、個々の端末を識別する「フィンガープリント」として利用できる可能性がある。
FirefoxやBraveではフィンガープリントを防げる可能性
報告者はECサイトがフィンガープリントを利用する目的として、ボットと人間のユーザーの識別やユーザー行動の追跡などを挙げた。とくに悪意のある行動への対処が必要として、本件について一定の理解を示した。
しかしながら、音楽のブロックは避けたいと述べ、Webブラウザーの拡張機能で前述のJavaScriptの読み込みを阻止する対策を提案した。ただし、この手法は将来的に予期しない問題を引き起こす可能性があるとも述べている。
CyberNewsはより確実な回避策として、FirefoxやBraveのようなプライバシー重視のWebブラウザの利用を提案。Braveではフィンガープリントに使われるデータにランダム性を持たせることで端末の識別を困難にする。Firefoxでも、同様のWeb Audio APIを利用したフィンガープリントへの対策が施されているという(開発者の報告)。