Yandex SmartCaptcha: безопасность без потери конверсии

При создании капчи важен баланс между защищённостью и удобством пользователей. Как нам удалось его соблюсти при разработке сервиса Yandex SmartCaptcha и создать нераздражающую капчу, расскажем в этой статье.

С чего всё началось

Одновременно с развитием сервисов мы давно разрабатывали собственную капчу. К предыдущему решению у нас оставались вопросы, и мы его постоянно улучшали. Когда мы научились отличать подозрительный трафик от «чистого» и наша капча стала показывать действительно хорошие результаты, к нам за помощью стали обращаться коллеги из других компаний. Мы поняли, что reCAPTCHA от Google, в которой пользователь ищет на картинках гидранты, пешеходные переходы и т. д., и другие популярные продукты не во всём устраивают владельцев сервисов. Мы знали, что и как можно улучшить, тем более почти всё было готово. Так появилась идея запустить Yandex SmartCaptcha как сервис, доступный всем пользователям Yandex Cloud.

Как работает SmartCaptcha

Как известно, капча помогает защититься от различных угроз безопасности: DDoS-атак, парсинга, автозаполнений форм. А есть анти-DDoS-инструменты, которые работают на внешнем периметре, на уровне балансировщика нагрузки. Эти инструменты не заменяют капчу, а дополняют её: обнаруживают подозрительный трафик, который затем капча валидирует на уровне клиента.

Когда мы задумали собственную капчу, то хотели, чтобы пользователь (почти) не замечал процесс проверки трафика.

Мы реализовали проверку в два этапа: автоматическая и текстовая капча.

Этап 1: Автоматическая проверка

В основе автоматической проверки лежит та же механика, что и в привычных капчах с чекбоксом. Пользователь ставит «галочку» напротив фразы «Я не робот», а затем сервис собирает больше 100 параметров с его компьютера и браузера. Данные передаются аналитическим системам Yandex Cloud, алгоритмы которых с высокой степенью достоверности определяют, кто поставил «галочку»: человек или бот.

Мы добавили в SmartCaptcha новую возможность: владелец сайта может выбрать невидимую капчу, когда пользователю не нужно вручную ставить «галочку» — она проставляется автоматически. Чекбокс скрыт за иконкой «Политика обработки данных», которая на нашем скриншоте располагается в правом нижнем углу.

На техническом уровне, «под капотом», это реализовано так: проверенному пользователю выдаётся токен, с которым он возвращается к тому веб-приложению, где была размещена капча. Для верификации токена приложение обращается к сервису SmartCaptcha. Если токен валидный, SmartCaptcha сообщает это приложению, которое активирует кнопку «Войти» или другое действие, которое настроил владелец сайта.

По нашим подсчётам, в 85% случаев алгоритмам достаточно информации, которую они собирают на этапе автоматической проверки, чтобы достоверно установить, реальный ли перед ними пользователь. То есть 85% тех, кто заполняет форму или открывает другую страницу, которую вы решили защитить, не увидят текстовую капчу (в случае с невидимой капчей даже не будут ставить «галочку»). А это значит, что никакой угрозы для конверсии на этом этапе не будет.

Этап 2: Текстовая или аудиокапча

На этот этап проверки переходят оставшиеся 15% пользователей, у которых оказалось недостаточно данных для автоматической проверки. Например, текстовую капчу почти всегда видят пользователи браузера Tor или те, кто работает в браузерах в режиме Инкогнито.

Таким пользователям мы показываем классическую капчу. Для эксперимента мы выбрали текст, потому что считаем его универсальным и удобным для большинства пользователей.

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

Простая капча подойдёт для тех случаев, когда не хочется терять конверсию. Посетители видят самые простые, легко распознаваемые слова и почти всегда вводят их с первой попытки. А для других форм, где критично не пропустить робота, можно выбрать более сложные варианты. Здесь можно потерять в конверсии, но автоматические алгоритмы распознавания изображений тоже не справятся с этой проверкой. Ещё одна особенность сложной капчи — она будет показываться чаще, то есть больший процент пользователей перейдет на текстовый этап проверки.

Если пользователь не может или не хочет проходить текстовую проверку, предусмотрена возможность прослушать аудиокапчу.

Чтобы сделать проверку еще более комфортной для пользователей, мы добавили опцию настройки дизайна капчи. Можно выбрать один из предложенных вариантов, а можно гибко настроить каждый элемент, чтобы он соответствовал фирменному стилю страницы.

SmartCaptcha как сервис Yandex Cloud

Мы запустили сервис SmartCaptcha в составе Yandex Cloud, поэтому у него есть и дополнительные функции:

  • сбор аналитики и отображение её на дашбордах;

  • администрирование с помощью панели управления Yandex Cloud (добавление, изменение и удаление капчи, изменение дизайна и т. д.);

  • настройка ролей и уровней доступа (admin, editor и viewer);

  • SLA 99,95% (подробнее об SLA);

  • техническая поддержка 24/7.

Оплата зависит от количества обращений к SmartCaptha на ваших ресурсах:

  • до 250 000 обращений в месяц включительно — бесплатно;

  • 250 001-й запрос и далее — 100 рублей за каждую 1000 запросов.

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

Будем благодарны за ваши идеи, которые можно предложить в сообществе Yandex Cloud.

Узнать больше о SmartCaptcha

Напишите нам

Начать пользоваться Yandex Cloud

Тарифы

Узнать цены и рассчитать стоимость

О сервисе

Узнать больше о Yandex SmartCaptcha
Yandex SmartCaptcha: безопасность без потери конверсии
Войдите, чтобы сохранить пост