Людям нельзя ботам: как эволюционировала технология «капчи»

Cервис Yandex SmartCaptcha вышел в Public Preview. Бизнес сможет использовать его для защиты от роботов, фиктивных регистраций и спама. Пользуясь случаем, вспоминаем, с чего начинались проверки пользователей на человечность 20 лет назад и как они выглядят сейчас.

Доказывать свою человечность людям приходится часто, в том числе в интернете. Без проверки на бота нельзя зарегистрировать профиль, купить электронный билет или отправить жалобу. «Капча» — распространенный способ борьбы со спам-роботами, которые, по данным Barracuda Networks, генерируют до 64% интернет-трафика на сайтах, при этом 39% из них – вредоносные.

Сейчас распознавание в сервисах «капчи» происходит быстро и чаще всего незаметно, а вот раньше приходилось ломать глаза, регулярно обновлять страницу и стараться сохранять спокойствие.

От спам-защиты до диагностики заболеваний

Технология CAPTCHA получила свое название по первым буквами слов в ее расшифровке — Completely Automatic Public Turing Test to Tell Computers and Humans Apart (полностью автоматический тест Тьюринга для различения компьютеров и людей). Сам эмпирический тест когда-то давно был призван найти ответ на вопрос, может ли машина мыслить. Но к началу нулевых годов, когда практически любой начинающий разработчик был способен написать программу для регистрации миллиона учетных записей, появилась необходимость быстро определять, кто или что пытается отправить запрос.

Группа специалистов из американского Университета Карнеги-Меллона разработала скрипт для любого сайта, предлагающий пользователю перед отправкой формы решить ребус — ввести символы с «зашумленной» картинки, которую программы распознавания обработать не могли. Позднее университет зарегистрировал товарный знак CAPTCHA. Один из членов команды, Мануэль Блюм, позднее рассказывал, что они пытались подобрать сочетание букв, похожее на слово catch — «поймать».

Источник: https://ru.wikipedia.org/wiki/Блюм,_Мануэль
Источник: https://ru.wikipedia.org/wiki/Блюм,_Мануэль

Первыми сервис стали использовать в Yahoo, чтобы предотвратить автоматические регистрации почтовых ящиков для рассылки спама.

Хотя иногда даже человеку было сложно расшифровать изображение. С проблемами сталкивались и люди с ограниченными возможностями — слабовидящие, страдающие дислексией и так далее. Сервис обрастал дополнительными функциями — аудиосопровождением, автоматическим обновлением и другими.

Есть и другая версия о прародителе «теста на человечность». Так, The New York Times Magazine в своей публикации 2014 года вспоминает, что перед президентскими выборами 1996 года компьютерная компания Digital Equipment Corporation создала веб-сайт для проведения опросов общественного мнения, но столкнулась с проблемой: хакеры использовали ботов для заполнения сайта спамом. Поэтому DEC разместила пикселизированное изображение флага США в случайном месте на экране, по которому пользователи должны были кликнуть, прежде чем зарегистрировать свой голос. Но система работала не слишком хорошо — можно было создать простые программы, чтобы обойти его.

Спустя несколько лет создатели технологии во главе с доктором Луи фон Аном придумали, как заодно приносить пользу обществу. Теперь вместо рандомного набора символов пользователь получал пару отсканированных слов, одно из которых, как минимум, не смог распознать компьютер — появился проект reCAPTCHA. Все, кто был вынужден доказывать, что он не робот, таким образом вносили вклад сначала в оцифровку бумажных архивов The New York Times, а затем — после покупки сервиса компанией Google — в создание глобальной электронной библиотеки Google Books. В 2012 году в систему добавили еще фрагменты изображений домов из Google Street View.

Людям нельзя ботам: как эволюционировала технология «капчи»

Интересно, что некоторые офтальмологи — например, Роберт Серготт из Филадельфии — отмечали, что reCAPTCHA помогает диагностировать у пожилых людей такие заболевания, как катаракта или глаукома — коды эти пациенты якобы распознавали легче.

Люди, которые играют в игры

Став частью корпорации Google, reCAPTCHA ожидаемо стала самой используемой системой подобного рода в мире. Но параллельно с флагманом развивались и стартапы, предлагающие нестандартные варианты тестов для подтверждения «человеческой природы».

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

Стартап Are You a Human вспомнил, с чего в принципе начинает свое обучение человек — с развивающих игр. Пользователю предлагалась выбрать объект из ряда и поместить его в определенное место — распределить по цвету или форме, как в детском сортере. Мини-игры на 15-20 секунд в целом довольно долго были на волне популярности, к тому же бренды научились использовать их как дополнительный маркетинговый инструмент: компания Heinz просила пользователей добавить соус в сэндвич, на сайте Reckitt Benckiser нужно было почистить монетку — это наиболее известные кейсы стартапа Future Ad Labs. Toyota и Dr Pepper просто меняли рандомные символы на фразы, которые ассоциировались с брендом.

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

Источник: https://memezila.com/Select-all-squares-with-muffins-meme-5832
Источник: https://memezila.com/Select-all-squares-with-muffins-meme-5832

Поведенческий анализ вместо проверки зрения

В 2014 году Google представила второе поколение reCAPTCHA, которое внешне выглядело просто — поле для галочки «Я не робот». В основе работы новой версии лежал условный поведенческий анализ (или анализ рисков), который изучал опыт пользователя на сайте — IP-адреса, файлы cookie, движения мыши, шаблоны ввода и время просмотра страницы.

Людям нельзя ботам: как эволюционировала технология «капчи»

Зарегистрированным пользователям сервисов корпорации, в частности, браузера Chrome, обычно было достаточно одного клика, всем остальным часто требовалось еще выбрать картинки по заданным условиям.Система могла заподозрить бота в том, кто использует VPN и режимы конфиденциальности или чистит cookies после каждой сессии. Но трудности с прохождением теста у реальных пользователей все равно возникали, особенно на мобильных версиях сайтов.

Еще перед презентацией новой версии компания отчиталась, что роботы научились распознавать текстовую капчу с точностью до 99,8%, а числа на изображениях — с точностью выше 90%. При этом Google не скрывала, что обучает на reCAPTCHA свои системы ИИ. К тому моменту оцифровка текстов уже не была актуальна, а вот развитию машинного обучения и визуальных сервисов «тест на человечность» активно способствовал. Капчу активно использовали (и продолжают использовать), например, для обучения компьютерного зрения.

Следующим логичным этапом эволюции технологии стало исключение из цепочки самого пользователя — теперь ему не нужно было напрягаться даже для того, чтобы поставить галочку. В 2018 году начала работать третья версия reCAPTCHA — система сама оценивала запросы человека (или бота) и присваивала численное значение от 0 до 1: чем ближе к единице, тем меньше сомнений в «человечности». Но в этот момент возросла нагрузка на администраторов ресурсов — точная аналитика дает больше возможностей защитить сайт от ботов, но все это необходимо настраивать вручную. Условно, сервис в фоновом режиме анализирует все регистрации на сайте, оформление заказов или написание отзывов и выявляет аномалии, не характерные именно для этого ресурса. На основе этих выводов он определяет ботов и предоставляет всю информацию администратору. А дальше уже вопрос настройки.

«Капча» в России

Россия входит в десятку государств, активнее всех использующих «капчу» — страна расположилась в этом топе на девятом месте. Основную часть российского рынка, как и глобального, занимает reCAPTCHA — 98%, следом идет альтернативный сервис независимой компании hCaptcha. По данным аналитического сервиса Built with, «капча» зафиксирована на 374,5 тыс. российских сайтов.

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

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

Источник: <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Fcaptcha-api.yandex.ru%2Fdemo&postId=450828" rel="nofollow noreferrer noopener" target="_blank">Yandex SmartCaptcha Demo</a>
Источник: Yandex SmartCaptcha Demo

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

После этого можно было начинать «общаться» с пользователями — предлагать им трудные в правописании слова в честь Дня учителя или поддерживать в период пандемии позитивными пожеланиями.

Чтобы сделать тексты в «капче» проще и добрее для пользователей, для их генерации использовались слова из сказок

Алексей Тощаков, руководитель службы антифрода в Яндексе

Сейчас «капча» в Yandex Cloud может мимикрировать под стиль сайта, выдавать задачи разного уровня сложности в зависимости от настроек, выбранных администратоторм ресурса. Высокий уровень защиты от подозрительных запросов обеспечивают алгоритмы машинного обучения. Более того, при желании «капчу» можно сделать невидимой (например, если нужно защитить конкретные элементы ресурса) — кнопка «Я не робот» скрывается, а когда проводить проверку пользователя, разработчик решает сам. Но процесс все равно идет, как если бы пользователь все же кликнул на кнопку.

Будущее «капчи»

Замену «капчи» начали искать едва ли не с момента начала ее использования, но с тех пор количество запросов к подобным сервисам только росло. В 2021 году в компании Cloudfare посчитали, что люди могут тратить суммарно до 500 лет ежедневно на прохождение тестов. Специалисты предлагали заменить CAPTCHA на внешние устройства, которые будут подтверждать личность пользователя. Но не все эксперты уверены в жизнеспособности этой идеи — любые дополнительные инструменты только усложнят процесс.

Системы защиты от роботов все меньше требуют активного участия человека. Хотя в период постоянного усложнения «капчи» появлялись альтернативные идеи — например, компания Amazon еще в 2017 году предлагала тест, который человек должен провалить: условно, например, посчитать сколько раз за определенное время буква «е» встречается в длинном предложении. Боты такие тесты как раз проходят легко, а вот люди чаще всего нет.

Как уже говорилось выше, первые шаги в сторону минимизации участия людей при проверке были сделаны, когда на смену картинкам и зашумленным словам пришли алгоритмы, анализирующие поведение пользователей на сайте. Еще в 2019 году Аарон Маленфант, ведущий инженер команды reCAPTCHA, говорил: «Чем больше мы будем вкладываться в машинное обучение, тем сложнее эти задачи будут становиться для людей». По его мнению, лет через пять пользователи перестанут сами доказывать свою человечность, решая задачи — тест будет проводиться постоянно в фоновом режиме. Причем сервисы проверки могут работать не на отдельных страницах, а на ресурсе целиком или встраиваться в мобильные приложения. Несмотря на все усовершенствования, робот никогда не сможет вести себя на странице как человек.

Кстати, компания Apple пошла своим путем — на днях стало известно, что осенью этого в новых версиях операционных систем iOS 16 macOS Ventura появится функция автоматической верификации — в поддерживаемых приложениях и на сайтах не нужно будет вводить «капчу». Доказательством человечности в этом случае будет Apple ID.

Подписывайтесь на блог Yandex Cloud, чтобы узнавать еще больше новостей и историй об IT и бизнесе.

Другие истории, которые активно читают наши подписчики:

3535
14 комментариев

Желаю разработчику этих капч в Аду вечность разгадывать собственные капчи и форматировать дискеты

20
Ответить

Согласен, иногда, чтобы разгадать капчи нужны потусторонние силы.

3
Ответить

Комментарий недоступен

5
Ответить

Обратитесь в инженерам, проверьте аналитические цепи на ошибки. Обновите прошивку или замените неисправные платы

10
Ответить

Возможно, вы робот

2
Ответить

Еще перед презентацией новой версии компания отчиталась, что роботы научились распознавать текстовую капчу с точностью до 99,8%Яндекс в 2022 выкатывает свою текстовую капчу))

3
Ответить

Походу Яндекс просто решил поиздеваться над своими пользователями

Ответить