WebAssembly Fingerprinting против антидетектов: почему WASM может изменить правила игры


05.09.26

Canvas, WebGL, WebRTC, AudioContext, User-Agent — вокруг этих параметров годами крутилась гонка между антифрод-системами и разработчиками антидетект-браузеров. Пользователь старается выглядеть как обычное устройство, антидетект согласует видимые сайту характеристики, антифрод ищет несоответствия. Теперь у этой гонки появляется новый фронт, и для антидетектов он потенциально куда неприятнее прежних: WebAssembly Fingerprinting.

Проблема здесь не в очередном параметре, который можно добавить в настройки профиля. WASM позволяет подобраться к характеристикам реального выполнения кода на конкретном устройстве — а это принципиально меняет саму задачу. Современные антидетекты — Multilogin, AdsPower, Dolphin Anty, Octo Browser, GoLogin, Kameleo, Incogniton, Linken Sphere — уже уверенно работают с большим количеством классических fingerprint-параметров. Но независимые исследования показывают, что даже продвинутые продукты выдают себя по совокупности несоответствий, артефактам вмешательства в браузер и другим сигналам. WebAssembly добавляет к этому ещё один слой.

Что такое WebAssembly и почему антифроду он так интересен

WebAssembly, или WASM, — низкоуровневый бинарный формат инструкций для выполнения кода в браузере. Его ключевые козыри — высокая производительность и возможность компилировать в него код из C/C++ и других языков. Если сильно упростить: JavaScript работает на довольно высоком уровне абстракции, а WebAssembly выполняет вычислительные задачи гораздо ближе к нативному коду. И вот здесь для фингерпринтинга начинается самое интересное. Классический отпечаток обычно спрашивает браузер: «что ты о себе рассказываешь?». WASM позволяет добавить второй вопрос: «а как ты на самом деле выполняешь вычисления?» — и подменить ответ на него значительно сложнее.

В демонстрации Vektor T13 используется компактный одностраничный WebAssembly Fingerprint Checker — всего 447 строк вместе с оформлением. Он построен на связке JavaScript и WebAssembly: JS вызывает WASM-функцию, WebAssembly обращается обратно к JavaScript, и так много раз подряд. Получается своеобразный вычислительный пинг-понг — JavaScript → WASM → JavaScript → WASM, — и по характеристикам выполнения серии таких операций формируется набор измерений, из которого затем выводится идентификатор устройства; в показанной реализации — в виде SHA-256.

Почему User-Agent здесь почти бесполезен

Возьмём антидетект-профиль. На уровне браузерных параметров он сообщает: Windows, Chrome нужной версии, конкретное оборудование. User-Agent соответствует профилю, Canvas выглядит правдоподобно, WebGL согласован, WebRTC настроен, остальное вопросов не вызывает. Но затем сайт запускает вычислительный тест. И если характеристики выполнения кода статистически не сходятся с заявленным окружением, возникает совершенно другой класс сигнала.

Именно поэтому применительно к этому виду анализа Vektor T13 называет обычную подмену User-Agent практически устаревшим приёмом. Антифрод больше не обязан верить рассказу браузера о себе — он может измерять его поведение. В этом и есть фундаментальная проблема.

Самое неприятное: WASM-отпечаток может зависеть от реального железа

В вебинаре отдельно подчёркивается зависимость результатов от аппаратных ресурсов: несмотря на то что код выполняется внутри браузера, характеристики вычислений зависят от среды, на которой браузер реально работает. В перспективе это позволяет строить классификаторы, различающие реальный ПК, виртуальную машину, VDS/VPS и серверное оборудование. Vektor T13 отдельно обращает внимание на серверные CPU: особенности вычислений потенциально позволяют отличать серверную инфраструктуру от типичного пользовательского компьютера.

Здесь важно не переоценивать метод. Это не значит, что WebAssembly даёт JavaScript команду вроде getRealCPUModel(). Речь о другом: собираются косвенные вычислительные характеристики, которые затем статистически сравниваются с накопленными профилями известных сред. И чем больше данных накопит антифрод, тем сильнее работает такой подход.

Почему это особенно неприятно для виртуальных машин

Виртуализация давно используется для разделения окружений, но с новым подходом возникает нюанс: виртуальная машина должна не только сообщать характеристики реального компьютера, но и достаточно похоже вести себя при вычислениях. В демонстрации утверждается, что WASM-тест способен выявлять признаки виртуализированной среды. Но тут же звучит важная оговорка самого Vektor T13: обнаружение VM не является обязательным результатом — он прямо говорит, что знает способ влиять на итог, выделяя браузеру пиковое количество ресурсов. То есть никакой магии: WASM fingerprinting не равно гарантированному обнаружению любой виртуалки. Это новый высокоинформативный сигнал, который можно объединять с другими признаками, — и именно в таком виде он особенно интересен антифроду.

Что это значит для Multilogin, AdsPower, Octo и других

Здесь и начинается главная проблема индустрии. Антидетекты давно конкурируют не числом переключателей в интерфейсе, а качеством согласования fingerprint: под контролем современных продуктов — десятки параметров, от Canvas и WebGL/WebGPU до AudioContext и аппаратных характеристик. Но WASM ставит вопрос иначе: можно ли заставить реальное выполнение кода соответствовать синтетической личности браузерного профиля? И для разных архитектур ответ может оказаться разным.

Multilogin традиционно относят к наиболее технологически развитым продуктам категории — он использует собственные браузерные движки. Однако даже глубокая модификация Chromium или Firefox сама по себе не решает проблему аппаратно-зависимых измерений. Если профиль заявляет одно окружение, а WASM-бенчмарк стабильно показывает характеристики другого, антифрод получает дополнительный сигнал согласованности. Задача при этом превращается из «правильно подменить fingerprint» в «правильно воспроизвести вычислительное поведение устройства, которому этот fingerprint должен соответствовать», — а это заметно сложнее.

С Chromium-based продуктами — AdsPower, Dolphin Anty, Octo Browser, GoLogin, Incogniton, Kameleo — логика та же. Можно изменить Canvas, согласовать WebGL, выставить hardwareConcurrency, но если измеряемое поведение среды конфликтует с заявленным профилем, у антифрода появляется основание поднять risk score, и чем больше независимых WASM-тестов, тем труднее задача. Причём это не абстрактные рассуждения: независимое исследование антидетектов 2026 года уже вычисляло AdsPower и ряд конкурентов по комбинациям вроде prototype integrity и global-scope, а академическая работа Browser Polygraph отдельно тестировала изменённые браузеры — Linken Sphere, Incogniton, GoLogin, Octo Browser, AdsPower и другие — и всё это без WASM. WebAssembly лишь расширяет набор доступных характеристик ещё дальше. И вопрос не в том, что какой-то конкретный антидетект «плохой», — проблема архитектурная, для всей категории сразу.

Почему один WASM-тест ещё не уничтожает антидетекты

Это принципиально важная оговорка. Если просто прогнать бенчмарк и получить «ваш WASM выполнился за 137 миллисекунд» — это ещё плохой отпечаток. Производительность зависит от массы факторов: нагрузки на CPU, энергосбережения, температуры, фоновых процессов, планировщика браузера, количества выделенных ресурсов и десятков других условий. Настоящая сила подхода рождается не из одного числа, а из серии разных тестов, повторных измерений, статистической нормализации и большой базы эталонных устройств.

Именно поэтому Vektor T13 говорит о необходимости накапливать много статистики. В вебинаре заявляется возможность различать пользователей с погрешностью менее 1%, но это стоит воспринимать как результат конкретно представленного подхода, а не как доказанную универсальную точность любого WASM-фингерпринтинга на любом сайте. Разница принципиальная.

JavaScript и WASM как новый источник энтропии

Особенно любопытна идея измерять не только чистую производительность WASM. В демонстрации граница между двумя средами пересекается постоянно — JS → WASM → JS → WASM, — и каждый такой переход добавляет характеристики исполнения. Можно измерять разные типы операций, число итераций, время переходов между контекстами, особенности вычислений и стабильность результатов. Вместо одного параметра получается целый вектор характеристик — условно F = {t1, t2, t3, … tn}, — который после нормализации сравнивается с известными устройствами или классами оборудования. Поэтому перспективный WASM-отпечаток — это не очередной Canvas hash, а скорее поведенческий отпечаток вычислительной среды.

От Canvas Fingerprinting к Computational Fingerprinting

В этом, пожалуй, и заключается главный переход. Первое поколение фингерпринтинга спрашивало: что сообщает браузер? Следующее: что браузер рисует? Canvas и WebGL стали способом измерить результат работы графического стека, WebGPU ушёл глубже — в сторону GPU. WASM позволяет задать следующий вопрос: как устройство вычисляет? А это уже гораздо ближе к идее computational fingerprinting. В таком мире антидетекту мало подменить navigator.userAgent, navigator.hardwareConcurrency, WebGLRenderer, Canvas, AudioContext и ещё десяток API — все эти значения должны быть физически согласованы с наблюдаемым поведением системы.

Новый уровень проверки согласованности

Представим профиль: Windows 11, Chrome, Intel Core i5, обычный домашний ПК, свои Canvas, WebGL и WebGPU. Но WASM-профиль показывает вычислительные характеристики, статистически свойственные серверному окружению. Сам по себе этот факт ещё не означает фрод. Однако теперь антифрод может сложить воедино репутацию IP, TLS-отпечаток, браузерный fingerprint, Canvas, WebGL, WebGPU, профиль выполнения WASM и поведенческие сигналы — и получить куда более сильную модель риска. Это ровно то направление, в котором развиваются современные системы обнаружения: эффективны именно комбинации сигналов, а не надежда на один «магический» отпечаток.

А что насчёт Cybersource, PerimeterX и Microsoft

В вебинаре Vektor T13 утверждает, что подобные технологии уже применяются в антифрод-инфраструктуре Cybersource и PerimeterX, причём Cybersource — на более зрелой стадии внедрения. В качестве ещё одного примера он приводит регистрацию в Microsoft Partner, где, по его наблюдениям, WASM-фингерпринтинг используется для отсева подозрительных регистраций, включая виртуальные машины, VPS и удалённые серверы.

Здесь стоит быть аккуратным: это заявления и наблюдения автора вебинара, а не публично подтверждённые технические спецификации этих компаний, и превращать их в тезис «Microsoft точно блокирует VPS именно этим алгоритмом» без дополнительной проверки было бы неверно. Но сама тенденция вполне реалистична: браузерный fraud detection уже вовсю использует многослойную классификацию окружений, а академические работы показывают, что модифицированные браузеры выявляются по совокупности сигналов.

Уничтожит ли WebAssembly Fingerprinting антидетекты?

Если понимать «уничтожит» буквально — нет. Но он вполне способен уничтожить старую модель антидетекта, в которой считалось достаточным аккуратно подменить набор популярных browser fingerprint-параметров. И это куда интереснее. Multilogin, AdsPower, Dolphin Anty, Octo Browser, GoLogin, Linken Sphere, Incogniton, Kameleo, MoreLogin, Undetectable и остальным придётся учитывать не только то, какие значения видит сайт, но и то, соответствует ли этим значениям реальное поведение среды. Фактически стартует новый этап гонки: fingerprint spoofing → fingerprint consistency → hardware & computational consistency.

Canvas можно изменить. User-Agent — переписать. WebGL — согласовать. Но заставить один компьютер вычислительно вести себя как совершенно другой — задача принципиально иного уровня. Поэтому WebAssembly Fingerprinting стоит воспринимать не как ещё одну строку в огромной таблице антифрода, а как потенциальный переход от «что браузер говорит о себе» к «чем браузер является на самом деле». И если антифрод-системы соберут достаточно большие датасеты реальных устройств, виртуальных машин, серверных CPU и разных браузерных движков, именно эта разница может стать для индустрии антидетектов одной из главных проблем ближайших лет.

Хотите первыми получать такие разборы и свежие исследования? Зарегистрируйтесь на Detect Expert и подпишитесь — все новые статьи и исследования будут приходить вам в подписки. Ведь знания — лучший антидетект сегодня!

Еще не с нами?

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

Регистрация

Похожие посты

При нажатии на кнопку "Принять" вы соглашаетесь, что Detect Expert может использовать файлы cookie для персонализации содержимого.

Вы всегда можете отказаться, следуя инструкциям в наших Cookie Policy.