WebGPU (Web Graphics Processing Unit) — это новейшая технология для рендеринга графики в браузерах и выполнения вычислений на GPU, предоставляющая разработчикам возможность доступа к аппаратным ускорениям как для 3D-графики, так и для высокопроизводительных вычислений. WebGPU — это значительный шаг вперед по сравнению с предыдущими технологиями, такими как WebGL, так как он открывает доступ к низкоуровневому API, что позволяет создавать сложные графические сцены и выполнять интенсивные вычисления с высокой эффективностью. Благодаря этим возможностям, WebGPU нашел свое место и в антифрод-системах, где помогает отслеживать уникальные особенности устройств для идентификации пользователей. ##### История создания и предназначение WebGPU WebGPU был разработан консорциумом W3C как ответ на стремление улучшить доступ к возможностям GPU для веб-приложений. Стандарт был представлен как более производительная и современная альтернатива WebGL и OpenGL, и позволяет использовать возможности современных API для графики, таких как Vulkan, Direct3D 12 и Metal, через браузер. WebGPU значительно упрощает интеграцию с аппаратными ускорениями для задач рендеринга и вычислений, что делает его полезным не только для визуальных эффектов, игр и научных вычислений, но и для антифрод-систем, где цифровой отпечаток устройства помогает в идентификации. ##### Технологические возможности WebGPU WebGPU предоставляет разработчикам следующие ключевые возможности: - **Низкоуровневый доступ к GPU:** WebGPU позволяет работать напрямую с вычислительными мощностями GPU, обеспечивая высокую производительность и контроль над графическими вычислениями. - **Поддержка 3D- и 2D-графики:** WebGPU способен создавать как простые, так и сложные трехмерные модели и сцены, делая его подходящим для задач, требующих большого количества ресурсов. - **Шейдеры и вычислительные задачи:** В WebGPU можно использовать пользовательские шейдеры для создания уникальных текстур и реалистичных визуальных эффектов, а также выполнять сложные вычисления непосредственно на GPU. Эти особенности делают WebGPU мощным инструментом для веб-разработчиков, работающих над интенсивными графическими и вычислительными приложениями, а также для специалистов, создающих антифрод-системы. ##### WebGPU в антифрод-системах: защита от мошенничества Одним из применений WebGPU в антифрод-системах является создание уникального графического отпечатка устройства. Этот отпечаток учитывает, как аппаратное обеспечение и драйверы устройства обрабатывают графику и вычислительные задачи. В отличие от Canvas и WebGL, WebGPU предоставляет дополнительные параметры для отслеживания, такие как количество доступных вычислительных ядер GPU, поддерживаемые расширения и точные характеристики обработки шейдеров, что позволяет антифрод-системам создавать уникальные цифровые подписи для каждого устройства. ##### Как WebGPU помогает идентифицировать пользователя? Рендеринг графики и выполнение вычислений с помощью WebGPU может по-разному работать на разных устройствах в зависимости от конфигурации оборудования, GPU и драйверов. Различия могут наблюдаться в производительности вычислений, качестве рендеринга, поддержке различных расширений и шейдеров. Эти различия используются для создания уникального отпечатка устройства, который трудно подделать. Ключевые факторы, влияющие на уникальность WebGPU-отпечатка: - **Модель и архитектура GPU:** Разные модели GPU обрабатывают вычисления с разной скоростью и точностью. - **Поддержка расширений и шейдеров:** Набор доступных расширений и спецификаций исполнения шейдеров варьируется в зависимости от устройства. - **Конфигурация браузера и драйверов:** Особенности настройки браузера и версий драйверов также влияют на результаты выполнения шейдеров и вычислений. Эти особенности позволяют антифрод-системам создавать точные отпечатки для уникализации устройств и выявления попыток подмены данных. ##### Методы подмены отпечатков WebGPU Злоумышленники также пытаются обходить WebGPU-отпечатки с помощью различных методов подделки. К наиболее распространенным методам относятся: - Изменение результатов шейдеров: Для подделки отпечатков злоумышленники могут вмешиваться в работу шейдеров, добавляя шум или изменяя текстуры, чтобы изменить конечное изображение и скрыть характеристики устройства. - Внедрение заранее подготовленных данных: Этот метод заключается в том, чтобы подменить результаты работы WebGPU заранее записанными отпечатками других устройств. Такие данные позволяют мошенникам имитировать работу других устройств, обходя антифрод-системы. ##### Как антифрод-системы определяют подмену отпечатка WebGPU? Антифрод-системы применяют несколько подходов для выявления подделки отпечатков WebGPU. Основные из них включают: - Анализ результатов вычислений и графического рендеринга: Системы могут генерировать несколько тестов, результаты которых сравниваются для выявления отклонений. Например, незначительные различия в производительности и деталях рендеринга могут указывать на использование поддельных данных. - Сравнение производительности динамических шейдеров: Используя динамические шейдеры, системы могут заставить устройство выполнять уникальные задачи в реальном времени. Это затрудняет подделку отпечатков, поскольку злоумышленникам сложно воспроизвести поведение настоящего устройства без значительных задержек. Таким образом, благодаря использованию WebGPU, антифрод-системы могут выявлять подозрительные активности с помощью более глубокого анализа характеристик устройств и их поведения при рендеринге и вычислениях, что делает подделку отпечатков более сложной задачей. #### Отпечаток WebGPU Посмотрим на примерах, какие данные можно получить из браузера с помощью WebGPU API. Перейдём на страницу browserleaks.com/webgpu Первый раздел: Информация об адаптере  Второй раздел: Информация о лимитах адаптера  Третий раздел: Функции, поддерживаемые адаптером  Четвёртый раздел: Поддерживаемые форматы текстур  Пятый раздел: Поддерживаемые языковые возможности WGSL (WebGPU Shading Language).  Шестой раздел: Дополнительная информация об адаптере (предпочтительный формат bgra8unorm, режим альфа-канала, режим тонального отображения).  Проверим эту информацию на нашей тестовой странице, откроем test-webapi.tech/webgpufull в браузере Chrome на компьютере   На этой странице мы видим адаптеры, которые могут использоваться системой: высокопроизводительный адаптер, энергоэффективный адаптер, резервный адаптер. Раздел Format Support не менее важен, проверим какие форматы поддерживают десктоп устройства и мобильные устройства  Простой проверкой поддерживаемых форматов можно с высокой точностью определить является устройство мобильным телефоном и десктоп. Так же важно понимать, что часто пользователи запускают антидетект-браузеры на арендованных серверах без видеоадаптера и пытаются представить антидетект-браузер браузером мобильного устройства. В таких случаях подобные тесты позволяют определить, что у пользователя нет GPU адаптера, тогда как реальное мобильное устройство покажет ожидаемые результаты:  GPU Features в меньшей степени, но помогает идентифицировать пользователей. Значения зависят от видеоадаптера и настроек браузера. На следующем примере можно увидеть, что Features имеют различия на разных устройствах.  ##### Отпечаток производительности WebGPU Рассмотрим на простом примере, как антифрод-системы могут идентифицировать пользователей с помощью отпечатка производительности WebGPU Откроем нашу тестовую страницу https://test-webapi.tech/webgpuperf в браузере Chrome на компьютере  На этой странице представлена информация о видеокарте, полученная с помощью двух API: WebGL и WebGPU, и результаты двух тестов на производительность адаптера GPU. Первый тест показывает время инициализации адаптера и время рендеринга. Второй тест отличается от первого тем, что мы одновременно c тестом добавляем дополнительную нагрузку на адаптер. Повторим этот тест на других устройствах:    Сравним этот отпечаток производительности с отпечатком из Антидетект-браузера:  Тест в антидетект-браузере показывает результаты на уровне видеокарты с высокой производительностью, хотя заявлено, что устройство использует адаптер Intel. Это объясняется тем, что антидетект-браузер запущен на нашем компьютере с видеокартой Nvidia. Проверим производительность на разных мобильных устройствах:   По результатам проведённых тестов на различных устройствах можно сделать несколько интересных наблюдений. На ПК с низкопроизводительными GPU рендеринг часто выполняется быстрее, чем на современных мобильных устройствах, что подтверждает значительную роль аппаратной составляющей в производительности. В то же время, видеокарты Radeon на тестах с высокой нагрузкой показывают результаты, отличающиеся от карт Nvidia, что подчеркивает различия в архитектуре и оптимизации драйверов. Однако стоит отметить, что результаты тестов могут существенно зависеть от версии браузера, а также от параллельной нагрузки во время проведения теста. Любопытным моментом является то, что время инициализации адаптера на современных мобильных устройствах в большинстве случаев оказывается короче, чем на ПК. В нашем тесте мы стремились охватить ключевые характеристики производительности, чтобы обеспечить объективное сравнение. Для более точного разделения времени рендеринга по различным типам адаптеров, в дальнейшем мы проводили дополнительные тесты, которые позволили более чётко разграничить результаты на высокопроизводительных и низкопроизводительных адаптерах, а также мобильных устройствах. Эти данные играют важную роль при настройке антифрод-систем и помогают более точно учитывать особенности каждой платформы. ##### Заключение В этой статье мы разобрались каким образом антифрод-системы с помощью технологии WebGPU могут идентифицировать пользователей и выявлять фродовый трафик. В заключение, можно отметить, что использование технологии WebGPU в антифрод-системах представляет собой значительный шаг вперёд в области защиты от мошенничества в интернете. Благодаря высокой производительности и точности, эта технология позволяет эффективно идентифицировать пользователей, а также точно выявлять фродовый трафик. Сравнение данных, полученных с помощью WebGPU и WebGL, демонстрирует её преимущества в определении типа устройства, браузера и выявлении попыток подмены характеристик, что делает её незаменимым инструментом для обеспечения безопасности в сети. В условиях роста числа киберугроз, дальнейшее развитие таких решений может существенно повысить эффективность борьбы с интернет-мошенничеством. В следующей статье мы продолжим разбор технологий браузера, используемых в антифрод-системах. _Bannykh M.V._