VK Cloud logo

О сервисе

VK Капча — сервис, который в реальном времени определяет, является ли пользователь приложения человеком. Сервис защищает ключевые точки взаимодействия с пользователями — авторизацию, регистрацию, API-эндпоинты — от автоматизированных атак. К таким атакам относятся:

  • массовая регистрация фейковых аккаунтов;
  • полный перебор паролей (brute force);
  • автоматическая отправка сообщений через веб-формы;
  • сбор контента (scraping);
  • DDoS-атаки на прикладном уровне.

Сервис отсеивает ботов и точно верифицирует легитимных пользователей при минимальном участии с их стороны. Инфраструктура сервиса включает SDK для веб-приложений, iOS и Android, а также API для бэкенда.

Принцип работы сервиса

Принцип работы сервиса
  1. Пользователь выполняет действие в приложении.

  2. Фронтенд приложения отправляет запрос на выполнение этого действия бэкенду.

  3. Бэкенд приложения проверяет, нужно ли для этого запроса показать капчу. Если да, то бэкенд обращается к API VK Капча, чтобы создать капча-сессию.

  4. Сервис VK Капча возвращает ссылку для запуска виджета капчи на фронтенде приложения.

  5. Бэкенд приложения отправляет полученную ссылку фронтенду.

  6. Фронтенд приложения передает ссылку в VK Капча SDK, чтобы отобразить виджет капчи пользователю.

  7. VK Капча SDK отображает виджет капчи пользователю.

  8. Пользователь проходит проверку. Во время прохождения капчи сервис анализирует его поведение и оценивает уровень доверия к пользователю (trust score).

  9. После успешного прохождения капчи VK Капча SDK возвращает фронтенду success-token — криптографически защищенный токен, подтверждающий, что пользователь прошел проверку. Если пользователь не прошел капчу, вместо токена возвращается ошибка.

  10. Фронтенд приложения отправляет бэкенду повторный запрос на выполнение действия пользователя, содержащий success-token.

  11. Бэкенд приложения отправляет success-token в API VK Капча для верификации.

  12. Сервис VK Капча подтверждает валидность токена.

  13. Бэкенд приложения обрабатывает исходное действие пользователя и отправляет результат фронтенду.

  14. Пользователю отображается результат выполнения действия.

Типы капчи

В сервисе VK Капча доступно три типа капчи:

  • Флажок (checkbox) — подтверждение одним нажатием. Минимальное взаимодействие, подходит для большинства сценариев.
  • Ползунок (slider) — визуальная задача на сетке изображений, требующая человеческого восприятия и логики.
  • Аудио (sound) — аудиозадание: прослушать звуковую дорожку и ввести распознанное слово.

Тип капчи можно задать при создании капча-сессии или он может выбираться автоматически на основе оценки уровня доверия к пользователю.

При автоматическом выборе капчи, если сервис оценивает пользователя как доверенного, будет предложена капча-флажок. В противном случае сервис эскалирует сложность и предлагает капчу-ползунок или аудиокапчу.

Уровень доверия к пользователю

Сервис VK Капча определяет уровень доверия к пользователю в реальном времени, объединяя несколько групп сигналов:

  • Поведенческие сигналы.

    ML-модели анализируют поведение пользователя: траектории курсора, паттерны кликов, скорость реакции, хронологию и последовательность действий. На основе этих данных формируется цифровой профиль пользователя (fingerprint), который сохраняется между сессиями. Боты, имитирующие человека, оставляют характерные атрибуты, которые ML-модель распознает.

  • Сигналы интенсивности и окружения.

    Сервис исследует интенсивность передачи пользовательских запросов и среду исполнения на стороне пользователя: характеристики устройства, конфигурацию браузера, доступные API. Анализируя полученные данные, сервис выявляет автоматизированное окружение: headless-браузеры, эмуляторы, фермы виртуальных машин.

Итоговая оценка уровня доверия определяет тип капчи, которую нужно пройти пользователю.

Системные требования

Поддерживаемые браузеры:

  • Google Chrome версии 52 и выше;
  • Microsoft Edge версии 79 и выше;
  • Firefox версии 57 и выше;
  • Safari версии 11 и выше;
  • Opera версии 39 и выше;
  • Яндекс Браузер версии 16.9 и выше.

iOS:

  • iOS версии 12 и выше;
  • Xcode версии 16.2 и выше;
  • Swift Package Manager версии 5.9 и выше;
  • CocoaPods версии 1.13 и выше.

Android:

  • Android версии 5.0 (API 21) и выше;
  • Java версии 11 и выше;
  • Kotlin версии 1.9.0 и выше.