AliExpress уличили в тайном шпионаже за пользователями через проигрывание звука с нулевой громкостью

Главная страница AliExpress может тайно использовать звуковую подсистему браузера, чтобы идентифицировать посетителей.
На это обратил внимание исследователь в своём блоге Laserphile. Схема примечательна тем, что вскрылась случайно: у исследователя перестали корректно переключаться Bluetooth-наушники с мультиподключением. Пока была открыта вкладка AliExpress, беззвучный аудиопоток удерживал соединение с компьютером и не давал наушникам переключиться на смартфон. Не помогало даже отключение звука во вкладке — а закрытие сайта проблему сразу снимало.
Отмечается, что на главной странице AliExpress подгружаются два сильно обфусцированных скрипта из системы защиты Alibaba AWSC — collina.js и fireyejs.js. Они создают в браузере два WebAudio-графа, которые генерируют пилообразный сигнал, анализируют, как его обрабатывает система, и через специальный узел с нулевой громкостью выводят на системный аудиовыход. Пользователь ничего не слышит, но само включение аудиоконтекста браузером выглядит как воспроизведение звука. Тонкий момент: отключить такой звук привычной кнопкой во вкладке нельзя, потому что на странице нет обычного медиаэлемента.
Предполагается, что с помощью этого скрипта может идентифицировать пользователей. У каждого устройства есть крошечные различия в том, как процессор, звуковая карта и браузер обрабатывают один и тот же аудиофайл. Скрипты AliExpress измеряют эти микровариации и превращают их в устойчивый цифровой «отпечаток», по которому конкретное устройство можно узнавать между визитами — без cookies и без запроса разрешений. Как пояснили в команде браузера Brave, полученное значение объединяется с другими фингерпринтами — Canvas, WebGL, WebRTC, объёмом памяти, характером движений мыши — и вместе даёт куда более надёжный идентификатор, чем любой из этих способов по отдельности.
Полностью выключить эту схему средствами браузера в один клик нельзя, но её можно заблокировать. Автор находки предлагает готовый рецепт для расширения uBlock Origin: открыть в его панели «Мои фильтры» и добавить два правила, отсекающие collina.js и fireyejs.js на домене assets.aliexpress-media.com при заходе на aliexpress.com.