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

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

Проще говоря, DFP показывает ID уникальной связки «конкретный браузер + конкретное устройство», откуда пришёл запрос. Этот ID стабилен — он не меняется, даже если в следующий раз пользователь пытается скрыть информацию о себе: чистит cookies, включает VPN, открывает вкладку инкогнито или меняет настройки компьютера. Используя эти ID, вы сможете точнее отличать действия одного пользователя от другого.

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

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

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

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

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

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

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

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

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

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

User ID

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

Говоря проще, это 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-адрес к хостинговой подсети;

  • bot_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 легко:

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

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

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

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

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