Музыка с телефона обрывалась сама собой — и каждый раз ровно тогда, когда в браузере на компьютере была открыта вкладка AliExpress. Отключить звук во вкладке не помогало. Закрыть вкладку — помогало мгновенно.

Наушники были исправны. Это страница всё время играла — беззвучно.

📌 Если коротко

Главная страница AliExpress запускала беззвучный звук — не для того, чтобы вас слушать, а чтобы посмотреть, как именно ваше железо этот звук обработает. У каждого компьютера обработка чуть-чуть своя, и по этой разнице устройство можно узнавать при следующих визитах без всяких cookies. Микрофон при этом не задействован: страница анализирует собственный сигнал, а не то, что происходит в комнате. А наушники были совершенно исправны — беззвучный поток занимал аудиоканал и мешал им переключаться.

Как наушники выдали схему

Заметил это Мэтт Каллаган, автор блога Laserphile: он ничего не расследовал, просто чинил свои наушники.

Работает это так. Беспроводные наушники с мультиподключением держат связь с двумя устройствами сразу и сами решают, кого слушать. У Каллагана главным был компьютер: пока на нём тихо, в наушниках играет музыка с телефона, а стоит компьютеру заговорить — уведомлением или роликом — наушники переключаются на него.

А тут компьютер не замолкал вовсе. Для наушников он всё время что-то проигрывал, поэтому они оставались с ним, и музыка с телефона больше не пробивалась. Самое сбивающее с толку — что сам человек при этом не слышал ни звука.

Проверка в отладчике показала: на главной странице AliExpress грузятся два скрипта с нечитаемым, намеренно запутанным кодом — collina.js и fireyejs.js. Оба лежат в папке системы безопасности Alibaba. И оба, едва страница открылась, включают в браузере звук.

Что именно проигрывал сайт

Не музыку и не рекламу. Скрипты собирают в браузере короткую звуковую цепочку:

  1. генератор создаёт пилообразный сигнал — резкий, с богатым набором частот, на таком хорошо видны искажения;
  2. анализатор снимает, что с этим сигналом стало после обработки;
  3. последним стоит регулятор громкости, выкрученный в ноль, и уже с него звук уходит на системный аудиовыход.

Громкость нулевая, слышать нечего. Но браузер считает сигнал и занимает аудиоканал — для операционной системы и для наушников вкладка играет музыку.

Отсюда и странность с кнопкой отключения звука. Приглушение убирает звук на выходе, но не закрывает сам аудиопоток: для системы вкладка по-прежнему что-то воспроизводит, канал остаётся занят — наушники видят именно это. Поэтому Каллагану не помогло ни отключение звука во вкладке, ни громкость в самой Windows. Помогало только закрытие страницы.

Кстати, само это поведение AliExpress заметили гораздо раньше. В баг-трекере Firefox с ноября 2023 года висит открытая жалоба: на страницах AliExpress компьютер перестаёт уходить в спящий режим, потому что браузер держит запрос на воспроизведение звука. Симптом описали, причину не связали ни с чем подозрительным — и три года это считалось просто багом.

Схема цепочки: генератор пилообразного сигнала, анализатор, регулятор громкости на нуле и системный аудиовыход, канал остаётся занятым

💡 Почему это вообще заметили только сейчас

Такой беззвучный сигнал не проявляет себя ничем: он не шумит, не мигает индикатором, не просит разрешений. Единственное, за что он себя выдал, — привычка наушников с мультиподключением самим выбирать источник звука. На проводных или на беспроводных, которые держат связь только с одним устройством, владелец не заметил бы ничего и через десять лет.

Почему это всё-таки не прослушка

Заголовки новостей на этом месте сильно упростили картину.

Микрофон не участвовал. Сайт его не запрашивал, доступа к нему не получал, разговоры не записывал и записать не мог. Браузер физически не даёт странице включить микрофон без вашего разрешения — вы бы увидели запрос и красный индикатор записи. В разборе находки об этом сказано прямо: скрипты генерируют собственный сигнал и анализируют его же, а не слушают комнату.

Разница примерно как между двумя ситуациями. Первая: сосед приложил стакан к стене и слушает, о чём вы говорите. Вторая: сосед постучал по батарее и по звуку определил, что у вас чугунные трубы, а не пластиковые. Второе тоже не очень приятно, но содержание разговора он так не узнает — только то, чем вы отличаетесь от остальных жильцов.

Вот эта разница в трубах и есть цель. Не что вы говорите, а как ваш компьютер обсчитывает звук.

⚠️ Что об этом стоит держать в голове

Слово «прослушка» здесь неверное, но история от этого не становится безобидной. Вас не подслушивали — вас пометили. Причём меткой, которую вы не выдавали, не видели и не можете стереть привычными способами: она берётся из вашего же железа.

Зачем узнавать устройство, если есть cookies

Резонный вопрос: сайты и так помнят посетителей через cookies — зачем городить огород со звуком?

Затем, что cookies стали ненадёжными. Их чистят, их блокируют расширения, браузеры сами ограничивают чужие cookies, а режим инкогнито стирает их при закрытии окна. Отпечаток устройства ведёт себя иначе. Он не хранится у вас — он вычисляется заново при каждом визите из свойств вашей техники. Почистили историю, сменили режим инкогнито, зашли через другую вкладку — отпечаток тот же. Стереть его нельзя, потому что стирать нечего.

И разрешения он не спрашивает. Cookies в Европе требуют того самого баннера про согласие, а измерение того, как ваш процессор считает звук, выглядит для браузера как обычная работа страницы.

Звук в этой схеме — только один штрих. Те же скрипты снимают, как браузер рисует картинку и трёхмерную графику, параметры экрана и железа, поведение сетевых функций, даже характер движений мыши и касаний — и отправляют это на серверы Alibaba. По отдельности каждый признак слабый: людей с таким же разрешением экрана миллионы. Вместе они дают комбинацию, которая повторяется у считаных единиц.

Откуда вообще берётся разница в звуке, если сигнал один и тот же? Обработка звука — это вычисления, и выполняет их не абстрактный компьютер, а конкретный: со своей архитектурой процессора, своей версией браузера, своими драйверами и своей звуковой подсистемой. Каждое звено округляет промежуточные результаты чуть-чуть по-своему. Разница ничтожная, на слух её не существует в принципе, но она устойчивая — на одной и той же машине повторяется от визита к визиту, а у соседа выходит другой.

Забавная деталь: конкретно этот приём уже подвыдохся. Brave с 2020 года подмешивает в результат случайный шум — каждому сайту и каждой сессии достаётся своя версия отпечатка, совпасть они не могут. У Firefox тоже есть режим, который огрубляет такие данные. По одному звуку опознать сложно — он ценен в связке с остальными признаками.

📲 Чтобы не пропустить такие находки

Мы каждую неделю разбираем истории про технику спокойно и по делу, без страшилок и рекламных штампов. Подпишитесь на «Техпросто» в MAX, Telegram или Дзене, и разборы будут приходить сами.

Вторая сторона: это защита магазина, а не рекламный трекер

А теперь вторая половина истории — та, из-за которой её легко превратить в разговор про злодеев.

Оба скрипта — часть системы защиты Alibaba от мошенничества. Задача у неё приземлённая: отличить живого покупателя от бота, поймать накрутку отзывов, заметить, что с одного устройства пачками создают аккаунты или расплачиваются ворованными картами. Отпечаток устройства для этого и нужен: мошенник меняет аккаунты, чистит cookies и заводит новый почтовый ящик, а железо у него остаётся тем же.

Так что перед нами не рекламная слежка, а охрана на входе, которая запоминает лица.

Только оправданием это работает наполовину. Такая система стоит денег и окупается не одними пойманными ботами — а на самом отпечатке нигде не написано, что его разрешено применять только против мошенников. Один и тот же идентификатор одинаково годится и на то, чтобы поймать перекупщика, и на то, чтобы узнать вас в другом разделе каталога. Разделяет эти два применения не техника, а внутренние правила компании, которых мы не видим.

И вторая половина оговорки: охрана в магазине хотя бы вешает табличку о видеонаблюдении. Здесь пользователю не сообщили ничего — ни строчки, ни запроса. На момент выхода материала AliExpress находку публично не прокомментировала.

Что с этим можно сделать

Отдельной галочки «не опознавать меня по звуку» в браузере нет и не будет. Зато есть браузеры, которые делают это сами.

У Brave защита включена по умолчанию: он подмешивает в результат случайный шум, и отпечаток каждый раз выходит другой. Оговорка важная — звук при этом всё равно проигрывается, так что наушникам смена браузера не поможет. У Firefox похожая защита тоже есть, но по умолчанию она не работает: нужен режим privacy.resistFingerprinting в настройках about:config, а он заодно ломает часть сайтов. В Chrome, Яндекс Браузере и Edge встроенной защиты именно от этого нет. И честная оговорка поверх всего: независимых замеров, насколько всё это реально мешает опознаванию, нет — обе команды меряют сами себя.

Ручной способ тоже есть — оба скрипта режутся фильтрами в блокировщике вроде uBlock Origin, автор находки так и сделал. Но есть оговорка: код относится к системе защиты от мошенничества, и если её ослепить, сайт может начать перестраховываться — показывать лишние проверки при входе в аккаунт или при оплате.

Отдельный вопрос — мобильное приложение, через которое большинство и покупает. Описанный трюк требует JavaScript и браузерного звукового движка, то есть работает только на веб-странице. В приложении этот код не выполняется, и конкретно так оно вас не метит. Другое дело, что приложению фокусы с браузером и не нужны: оно и так видит модель телефона, версию системы и свой собственный идентификатор установки.

Если беспроводные наушники вдруг перестали сами переключаться между компьютером и телефоном — не спешите винить наушники и лезть в настройки Bluetooth. Сначала посмотрите, какие вкладки открыты в браузере, и закройте лишние. Симптом ровно тот же, что был у Каллагана, а причина — какая-нибудь страница, которая тихо держит аудиоканал.

С AliExpress эту историю разобрали, потому что её случайно поймали за руку — три года никто не связывал открытый баг-тикет с опознаванием пользователей. Вполне возможно, похожий приём применяли и другие сайты, где вы сегодня были. Просто без наушников с мультиподключением вы бы этого не заметили.

Читайте также: как телефон следит за вами и как это ограничить — про то же самое, но со стороны смартфона. И что происходит с вашими данными после удаления аккаунта, если кажется, что кнопка «удалить» решает всё. А тем, кого утомили не отслеживание, а баннеры, пригодится разбор, как убрать рекламу в браузере.

Если статья помогла — поделитесь с теми, кому может пригодиться. И заходите в наш канал в MAX, Telegram и Дзен — там анонсы новых материалов.