Обзор Digital Fraud Protection: данные о клиентском окружении, принцип работы, сценарии использования

Digital Fraud Protection (DFP) — это решение для создания устойчивых отпечатков клиентского окружения и анализа дополнительных признаков запроса.

Проще говоря, DFP показывает, какие запросы пришли из одного и того же уникального сочетания браузера и устройства. А ещё даёт дополнительный контекст: человек отправил запрос или бот, использовался ли VPN, относится ли IP к хостинговой сети и есть ли другие признаки, важные для антифрод-логики.

Эти данные вы используете в своих бизнес-сценариях: например, чтобы узнать пользователя без cookie, выявить мультиаккаунтинг или заметить кражу cookie/токена аутентификации.

Протестировать DFP

Протестировать продукт можно в нашем playground: открывайте его с разных браузеров/устройств, включайте и выключайте VPN, переходите в инкогнито — вы увидите результатом проверки своего окружения.

Playground DFP

Что вы будете знать о каждом запросе

Полный список полей, которые присылает DFP, описан в статье Что значат поля из ответа DFP. Советы по интерпретации этих данных и использованию в вашей бизнес-логике читайте в Как интерпретировать ответ DFP.

DFP передаёт вам три важных типа данных:

  • стабильный идентификатор клиентского окружения, откуда сделан запрос — user_id;

  • оценку вероятности, что запрос отправила автоматизация — bot_score;

  • дополнительные данные о браузере, устройстве, сети и других признаках запроса.

User ID

user_id — стабильный идентификатор клиентского окружения.

Говоря проще, это ID, который описывает уникальную связку браузер + конкретное устройство. Он остаётся стабильным, даже когда пользователь меняет разные настройки. Например, если он:

  • включит VPN;

  • откроет инкогнито;

  • обновит ОС;

  • поменяет время на компьютере;

  • обновит версию браузера.

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

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

Bot score

bot_score — это число от 0 до 1, которое показывает, насколько запрос содержит признаки автоматизации, подмены параметров браузера и иных аномалий, характерных для активности ботов.

Ориентироваться можно так:

  • < 0.4 — запрос отправлен человеком;

  • от 0.4 до 0.5 — есть подозрительные признаки, возможно, действовал бот;

  • >= 0.5 — запрос наверняка отправил бот.

Дополнительные данные

Помимо user_id и bot_score, DFP передаёт дополнительные данные о клиентском окружении и запросе. Они помогают понять контекст и точнее настроить бизнес-логику.

DFP сообщает:

  • engine — какой браузерный движок используется: например, Blink, WebKit, Gecko или другой;

  • hosting — относится ли IP-адрес к хостинговой сети;

  • incognito — открыт ли браузер в режиме инкогнито или приватного просмотра;

  • mobile — пришёл ли запрос с мобильного устройства;

  • os — какая операционная система используется: например, Windows, macOS, Linux, iOS или Android;

  • vpn — есть ли признаки использования VPN.

Какие задачи поможет решить

DFP пригодится в задачах, где важно понимать клиентское окружение и признаки запроса. Например, с помощью его данных можно:

  • идентифицировать пользователей без cookie;

  • обнаруживать мультиаккаунтинг;

  • выявлять кражу cookie или токена;

  • замечать подозрительные регистрации;

  • защищать промоакции и приветственные бонусы от злоупотреблений;

  • отличать обычный клиентский трафик от автоматизированного;

  • учитывать VPN, хостинговые сети, инкогнито и другие признаки в бизнес-логике;

  • находить повторные действия с одного клиентского окружения: например, повторное прохождение опроса.

Для популярных сценариев мы сделали готовые инструкции, как использовать данные DFP для закрытия бизнес-задач:

Как работает

  1. Вы подключаете JavaScript-скрипт DFP на нужную страницу сайта.

  2. Пользователь открывает страницу и выполняет действие, для которого нужна проверка: например, входит в аккаунт, отправляет форму, регистрируется, подтверждает операцию.

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

    Рекомендуем настроить интеграцию так, чтобы сбор данных о клиентском окружении начинался как можно раньше (например, при открытии страницы), а их отправка на API DFP — в момент целевого действия (например, входа в аккаунт, отправки формы или подтверждения операции). Так вы будете получать ответ DFP быстрее и его точность будет выше.

    Как это настроить, читайте в инструкции по интеграции.

  4. Скрипт отправляет собранные данные на API DFP.

  5. Внутри инфраструктуры Servicepipe анализируются особенности сетевого взаимодействия при выполнении браузером запроса: признаки автоматизации, особенности TLS-хендшейка, данные L3/L4-сетевого уровня и другие.

  6. DFP анализирует все данные и формирует результат: user_id, bot_score, а также признаки VPN, хостинговой сети, инкогнито и другие.

  7. DFP шифрует результат и возвращает его в браузер.

  8. Браузер передаёт зашифрованный ответ на ваш бэкенд.

  9. Ваш бэкенд расшифровывает ответ и применяет вашу бизнес-логику.

Подробнее весь процесс описан в статье Схема работы.

Какие данные собирает

Чтобы проанализировать клиентское окружение и особенности сетевого взаимодействия, DFP собирает несколько групп данных:

  • Canvas fingerprint — данные о том, как браузер отрисовывает графику в HTML-элементе canvas;

  • WebGL fingerprint — особенности работы браузера с графикой через WebGL;

  • Audio context fingerprint — особенности обработки аудио в браузере;

  • Данные WebGPU — сигналы о графическом окружении и работе браузера с GPU;

  • Системные шрифты — список шрифтов, доступных в окружении пользователя;

  • Размер экрана и окна — параметры экрана, окна браузера и отображения страницы;

  • Список плагинов и расширений — данные о браузерном окружении пользователя;

  • Язык, часовой пояс и время на устройстве — региональные и системные настройки;

  • Touch/Mouse и прочие события — признаки взаимодействия пользователя с устройством;

  • Прочие Browser API и параметры окружения — дополнительные браузерные сигналы, которые помогают описать клиентское окружение;

  • Данные автоматизации — признаки, которые могут указывать на отправку запроса ботом;

  • Информация из TLS-хендшейка — параметры установки защищённого соединения;

  • Информация L3/L4 сетевого уровня — сетевые признаки запроса;

  • Особенности передачи браузером информации на сервер — технические признаки того, как браузер выполняет запрос.

Подробнее о каждом типе данных и механизмах их сбора читайте в статье Как Digital Fraud Protection собирает данные.

Как подключить

Подключить DFP легко:

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

  2. Передадим вам:

    • CUSTOMER-TOKEN — токен для загрузки JavaScript-библиотеки и вызова API;

    • секретный ключ — им ваш бэкенд будет расшифровывать payload.

  3. Вы подключите JavaScript-скрипт DFP на нужные страницы сайта, настроите отправку результата на бэкенд, расшифровку payload и бизнес-логику обработки. Это можно сделать по инструкции Как интегрировать Digital Fraud Protection.