"Гуманометр" - больше чем капча для вашего сайта

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

Учитывая существенный инженерный опыт нашей компании мы решили разработать собственный продукт, который на первом этапе представлял бы собой надёжное captcha-решение, а дальше превратился бы во что-то большее. Так появился «Гуманометр» — продукт, существенно отличающийся от других captcha-решений и в этой статье мы расскажем, чем именно он может заинтересовать.

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

При разработке «Гуманометра» мы руководствовались следующими принципами:

Бережное отношение к пользовательскому опыту

Мы хотели создать решение, которое не будет мешать пользователям и раздражать их.

Непрерывная оценка

Большинство решений в области captcha доверяют пользователю после успешно пройденной проверки. Это приводит к тому, что продвинутые боты или боты действующие с привлечением человека могут беспрепятственно выполнять свои задачи после прохождения проверки. Наше решение должно осуществлять непрерывный анализ поведения пользователя и после подтверждения подозрений — вновь предложить ему пройти проверку.

Безопасность и отказоустойчивость

Наше решение из коробки должно поддерживать установку на оборудовании заказчика, поддерживает горизонтально масштабирование, метрики и логи.

Руководствуясь этими принципами мы создали наш продукт и ниже расскажем о его возможностях.

Возможности «Гуманометр»

Основной режим работы — невидимка

По результатам тестирования из 100% реальных пользователей 80-85% будут проверены в невидимом режиме, это значит, что только 15-20% реальных пользователей увидят задачу, которую им потребуется решить. При этом 85% роботов получат один из тестов, который либо потребует присутствия человека для решения задачи, либо бездействия.

Математическая защита

Одна из невидимых задач (Proof-of-work), которую предлагает «Гуманометр», требует произведения вычислений на компьютере пользователя. Если пользователь реальный — вычисления пройдут быстро даже на слабом железе и он вообще ничего не заметит. Если же пользователь злоумышленник, запускающий несколько роботов в многопоточном режиме — в определённый момент он столкнётся с тем, что мощности его процессора не хватает для продолжения «атаки».

Настраиваемые задачи

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

Задача "Дино". Вместо него может быть любой другой объект, в зависимости от ваших потребностей
Задача "Дино". Вместо него может быть любой другой объект, в зависимости от ваших потребностей
Задача "Пицца". Вместо пиццы, робота и человека могут быть другие объекты, подходящие под контекст вашего сайта.
Задача "Пицца". Вместо пиццы, робота и человека могут быть другие объекты, подходящие под контекст вашего сайта.

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

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

Поставки новых задач

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

"Гуманометр" - больше чем капча для вашего сайта

Непрерывная оценка

Оценка поведение пользователя на сайте продолжается даже после успешного прохождения испытания. Таким образом, робот, который с помощью человека успешно решил задание и получил доверительную оценку от системы со временем, в результате своего поведения на сайте, ухудшит её до состояния, когда ему вновь потребуется проходить задание, что в итоге приведёт к нецелесообразности массового использования таких ботов.

Настраиваемый путь пользователя

Продукт позволяет гибко настроить с какими задачами в какой последовательности столкнётся пользователь в зависимости от своего поведения. Это позволяет создать ситуацию, когда робот попадёт в цикл из которого не сможет самостоятельно выбраться, а реальные пользователи не столкнутся со сложными испытаниями.

Адаптированность под корпоративную инфраструктуру

В наш продукт изначально заложены возможность горизонтального масштабирования, поддержка логов и метрик. Также для компаний использующих автотесты возможна поставка с функционалом white list — списков ip-адресов, запросы с которых будут автоматически успешно проходить капчу.

Отказоустойчивость и масштабируемость

По результатам проведённого тестирования наша капча способна работать без нарушения пользовательского опыта под нагрузкой в 10 000 транзакций в секунду, на соответствующем оборудовании.

Особенности поставки

Возможность локальной установки

«Гуманометр» поставляется в двух версиях — облачной, когда клиент разворачивает на своём сайте виджет, а бэкенд работает в облаке и локальной, когда образ разворачивается на оборудовании заказчика.

В любом варианте установки мы не собираем и не храним данные посетителей сайта, что отличает наше решение от популярных аналогов.

Прогнозируемые расходы

Наша задача дать клиентам возможность чётко прогнозировать расходы, которые они понесут в связи с использованием нашего решения. В связи с этим мы предлагаем тарифные планы, которые не предусматривают оплаты за количество запросов, а только фиксированный годовой или месячный платёж.

Вместо вывода

Мы надеемся, что наше решение покажет рынку, что captcha — это не обязательно задача, которая вызывает исключительно раздражение и падение конверсии. Наш девиз: «Сложно должно быть роботам, а не людям». Если у вас появились вопросы или вы хотите протестировать наше решение, пишите в комментарии, телеграм — @dkobylinskiy или оставляйте заявку на нашем сайте. Посмотреть пример внедрения можно на сайте нашей компании:

77
12 комментариев

Считаю текущий уровень защиты крайне слабым. Буквально за пару часов удалось практически всегда (мб % 80-90, если провести дебаггинг, то ~100% будет) проходить динозаврика и пиццу в одной сессии (не руками и мозгами естественно).

Мои предложения по улучшению продукта:
1. Динозаврика нужно генерировать с помехами. У вас 3 статичных картинки (кстати я ни разу не увидел динозаврика, который бы смотрел вправо. Обратите на это внимание). Сделайте границы не явными и генерируйте динозаврика +\- по-разному

2. В задаче с пиццей и человечком было бы здорово добавить движение иконке человечка. Желательно сделать так, чтобы она всегда "ходила в стороны". Я не буду расписывать здесь какая проблема у текущей версии, но если сделать как я написал выше, то уровень защиты повысится.

Математическую защиту не стал тестировать, поскольку это вышла бы DDoS-атака как я понимаю, но я очень надеюсь, что она работает как задумывалось

Желаю развития Вашей компании!

1

Добрый день! Спасибо большое за развернутый отзыв! Подскажите, пожалуйста, на какой странице Вы тестировали?

144 000 рублей в год за капчу? Ну, Вы, блин, даете...

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