Капча (captcha): что это такое и как её обойти
Капча стала проблемой для многих создателей программного обеспечения сразу же после своей разработки и запуска. Её сложно обойти, не говоря уже о том, что даже пройти капчу вручную зачастую не так просто. Она отрывает пользователей от поиска и потребления контента, заставляя совершать нудные рутинные действия.
Кажется, что в капче нет ничего хорошего и полезного, напротив, она существенно увеличивает путь, который приходится проходить аудитории ради удовлетворения потребностей в качественной информации. Но в действительности её используют с иной целью.
Что такое капча?
Капча или captcha – это специализированный инструмент, который предлагает пользователям решить простую задачу для дальнейшего просмотра сайта. Она представляет собой защитный код, всплывающий в новом окне. Капча позволяет определить, кем является посетитель сайта: человеком или ботом. В этом и заключается её основное назначение.
Для чего нужна капча
Капча имеет ценность только для владельцев сайтов. С точки зрения посетителей, она только добавляет неудобств и не приносит никакой пользы. Защитный код позволяет отсеять нежелательный трафик в виде ботов, способных нанести вред ресурсу.
В качестве примеров злонамеренных действий автоматизированных алгоритмов можно рассмотреть следующие:
- Рассылка спама . Боты в большинстве случаев занимаются массовыми публикациями рекламных сообщений в личной переписке, комментариях и отзывах. Если вы занимаетесь развитием крупного проекта, наличие спама на страницах попросту недопустимо. Он снизит лояльность вашей аудитории и станет сигналом для поисковых систем , который говорит о том, что вы не занимаетесь модерацией.
- DDoS-атаки . Ещё один вариант использования ботов. Он предполагает направление тысяч или даже миллионов запросов, которые заполоняют собой все вычислительные мощности сервера и приводят к остановке его работы. В первую очередь капча была разработана для защиты от посягательств недоброжелателей на аппаратные возможности владельцев коммерческих проектов.
- Защита от брутфорсинга . Так называют попытки вручную подобрать активные логины и пароли . Автоматизированные алгоритмы вполне в силах совершать бесконечные попытки сопоставить логин и пароль до тех пор, пока не найдётся подходящая комбинация. Конечно, это создаёт множественные обращения к серверу, но они носят иной характер, в сравнении с DDoS-атаками. И тем не менее они являются крайне нежелательными, потому что могут привести к потере вашими посетителями конфиденциальной информации.
- Защита от перехватов товара . А это уже массовая проблема интернет-магазинов . Алгоритмы могут выкупать ту или иную позицию в тот момент, когда реальный посетитель собирается приобрести продукт. Это один из инструментов недобросовестной конкуренции. Но он достаточно просто пресекается введением в процесс покупки капчи во время любых акций и распродаж.
- Защита от выкачивания сайта . Так называемый парсинг позволяет полностью скопировать содержимое вашего сайта. Широко известны случаи, когда люди копировали коммерчески успешные проекты, размещали их на собственных доменах и умудрялись оказывается в органической выдаче выше оригинальных ресурсов. К сожалению, возможности капчи по борьбе с парсингом весьма ограничены и не позволяют добиваться стопроцентного результата.
Виды капчи
На сегодняшний день в Глобальной сети популярностью пользуются несколько видов капч, которые отличаются друг от друга не только внешним видом, но и способ прохождения.
- Ввод набора символов, изображённых на картинке . В своей самой лёгкой итерации, эта капча предложит вам комбинацию цифр или простое слово. Более сложные коды включают в себя различные регистры и неоднородный фон, который усложняет процесс восприятия символов. Некоторых успехов достиг вариант капчи с двумя словами, каждое из которых представлено отдельным изображением.
- Выбор картинок по ключевым элементам . Чаще всего такие капчи предлагают таблицы из девяти изображений, среди которых требуется найти гидранты, светофоры или часы. Главная проблема графических кодов заключается в том, что если человек не заметит частичное присутствие нужного элемента на изображении, всё придётся начинать сначала.
- Математические задачи . Как правило, это простейшие действия с однозначными цифрами, с которыми должны справляться все пользователи, независимо от уровня образования.
- Пазл . Несколько фрагментов нужно переместить на изображение капчи. Если пазл сложен верно, пользователь можете продолжить взаимодействовать с сайтом.
- Подтверждение действия или так называемая reCaptcha . Самый простой вариант капчи, который оказывает минимальное влияние на качество пользовательского опыта при посещении сайта. От вас требуется просто поставить галочку, подтверждающую тот факт, что вы не робот. На это отводится довольно мало времени, поэтому затягивать не стоит.
Автоматические алгоритмы не могут преодолеть подобные препятствия, а значит ваш сайт будут посещать только живые люди, просмотры и клики которых имеют реальную ценность. Тогда как действия бота приводят лишь к снижению индекса качества вашего сайта. Поисковые системы прекрасно понимают разницу в поведенческих факторах ботов и обычных пользователей.
Как обходить капчу?
Сегодня многие пользователи полагают, что искусственный интеллект или OpenAI в лице GPT-4 сможет автоматизировать процесс прохождения капчи в промышленных масштабах. Однако когда сами разработчики попробовали провести эксперимент, поставив боту подобную задачу, он поступил весьма нестандартно: чат-бот отправился на биржу фриланса и запросил помощи у живого исполнителя, которому предложил минимальную оплату за прохождение капчи. Интересно то, что пользователь даже уточнил, является ли его заказчик ботом, на что GPR-4 уверенно сказал «нет» и даже представился в качестве пожилого человека, у которого серьёзные проблемы со зрением (ему физически сложно пройти капчу).
Тот факт, что чат-бот не смог самостоятельно справиться с поставленной задачей, говорит о том, что преодолеть защитный код он ещё не в состоянии. Правда опасения вызывает его умение легко и убедительно врать о своей природе, и таким образом преодолевать те препятствия, которые ограничиваются его внутренними алгоритмами.
Разработчик Сэм Альтман также обеспокоен подобным положением дел. Его тревожит чрезмерно стремительное развитие технологии и потенциальная опасность, которую может представлять его разработка в будущем. Он считает, что любые рукотворные ограничения, которые могут быть встроены в мышление бота, будут легко нивелированы опытными пользователями, которым алгоритм попадёт в руки.
Поэтому необходимо разработать и внедрить в алгоритм GPT-4 специфический подход к оценке и выполнению поставленных задач. Дабы он не превратился в инструмент искоренения Глобальной сети в таком виде, которую мы знаем в настоящий момент.
Как установить капчу на сайт?
Как правило, капчу на сайт устанавливают через стороннее приложение или бесплатные сервисы, предоставляемые всеми крупными поисковыми системами. В большинстве случаев это обычные плагины, доступные во внутренних библиотеках всех популярных CMS . В качестве примера можно привести наиболее распространённое решение:
Google reCAPTCHA . Перейдя по ссылке в соответствующий раздел поисковой системы Google, вы можете получить готовый код для интеграции в тело вашего сайта. От вас потребуется авторизация внутри поисковика и заполнение формы, содержащей в себе название и URL-адрес сайта, а также специализированный ключ, подтверждающий ваши права собственности на него.
Статистически порядка 98% всех владельцев сайтов в Глобальной сети, в случае необходимости интеграции капчи, используют именно сервис Google. В первую очередь это обусловлено её эффективностью. Именно Гугл считается лидером в области защиты информации.
У reCAPTCHA есть и прямой конкурент – hCAPTHCA. Этот сервис ориентирован на конфиденциальность информации клиентов, то есть ваших посетителей. Он не собирает и не хранит сведения о поведенческих факторах и особенностях аудитории ресурса, на котором установлено программное обеспечение.
Существует и отечественные разработки в области капчи. В частности, одну из них представляет Яндекс . Его инструмент называется SmartCAPTCHA. Он работает по классическому алгоритму и предлагает посетителям сайта распознать текст на изображении. Однако многие владельцы популярных проектов считают подобный подход к реализации капчи излишне требовательным к действиям со стороны аудитории. Что в любом случае приводит к снижению её активности и лояльности.
Как заработать на капче?
Многие биржи фриланса предлагают свою помощь в преодолении сложных капч. Для этого на них даже создаются специализированные разделы, на которых заказчики могут найти исполнителей.
Если вы хотите попробовать на этом заработать, можете просто зарегистрироваться, например на бирже Advego . Выбрать для себя соответствующий род деятельности и нажать на кнопку «Получить капчу». Исполнителю предложат изображения с текстом. При этом набирать придётся всё, включая знаки препинания и специальные символы, такие как проценты, доллары, звёздочки и тому подобные. Каждое слово отделяется пробелом, независимо от того, находится оно на отдельной картинке или входит в состав сложной капчи из сочетания нескольких слов.
Доход от разгадывания капчи тяжело назвать существенным. В среднем, начинающий исполнитель справляется примерно с тремя сотнями изображений в час, что позволяет рассчитывать на два или три доллара за один рабочий день. Поэтому по итогам месяца за свои ежедневные труды вы едва ли получите сто долларов.
Помните о том, что стоимость ваших услуг во-многом будет зависеть от успешности решённых капч. Важно поддерживать процент правильных ответов ну уровне выше 90%. Иначе, и без того низкие расценки, опустят ещё сильнее.
CAPTCHA: убивая конверсию

Капча считается международным стандартом защиты от DDoS-атак, автоматических регистраций и спама. Мы в Variti проанализировали эффективность этого решения и пришли к заключению, что это очень неудобное и малоэффективное средство защиты от ботов, плохо влияющее на конверсию, а области с капчей — это сами по себе уязвимые места для атак.
Мы решили поделить причины, по которой от капчи надо избавляться в пользу более надежных и менее раздражающих пользователей решений, на маркетинговые и технические.
Маркетинговые
Капчу необходимо внимательно разглядывать и периодически вводить несколько раз. Исследование Стэнфорда говорит о том, что их испытуемые в среднем тратили 9.8 секунд, чтобы распознать и ввести визуальную капчу и 28.4 секунды на аудио-версию, причем 50% пользователей отказались ее решать. В 2018 году Baymard Institute, который проводит различные исследования на тему UX, подсчитал, что пользователи не могут решать текстовые CAPTCHA примерно в 8% случаев. Эта цифра увеличивается до 29%, если CAPTCHA чувствительна к регистру.
Прежде всего, это все-таки проблема юзабилити, поскольку эта функциональность заставляет пользователя выполнять лишнее действие (а плюс к этому капча не всегда уместно и красиво выглядит в дизайне страницы). Особенно четко это проблема проявляется, если при неправильном вводе решения перезагружается вся страница целиком: например, если пользователь долго набирал длинный комментарий, а потом он пропал при неверном решении. Процент вероятности того, что человек начнет все заново, не очень велик.
Помимо этого, на рынке уже существует несколько решений для создания капчи, которые размещают в ней рекламу (например, предлагают собрать паззл из логотипа компании). Это не может не сказаться на градусе настроения пользователя.
Наконец, это очень неудобно для людей с нарушениями координации или проблемами со зрением, и даже для тех, кто не различает цвета, ведь далеко не все внедряющие визуальную капчу владельцы ресурсов добавляют к ней звуковую. Плюс к этому капча особенно раздражает “возрастную” аудиторию и ту, где есть большой процент людей с низким уровнем компьютерной грамотности или незнанием английского языка.
Плохо влияет на конверсию
Как известно, вообще любое лишнее поле для заполнения на сайте ухудшает конверсию. Вот интересное исследование, которое показало, что отказ от капчи приводит к росту конверсии на 3,2%. Точные данные по изменению конверсии в зависимости от капчи каждый ресурс может протестировать самостоятельно, ведь результаты зависят от специфики и аудитории. Но если подходить к проблеме с точки зрения упущенной выгоды, то необходимо посчитать затраты и эффективность в обоих случаях — намного ли выгоднее включать капчу, чем избавляться от спама другими средствами? Тем более, что они есть.
Капчи стали сложнее

За эти годы CAPTCHA стал умнее, но и боты стали развиваться стремительнее и становиться более изощренными. В начале 2000-х простых изображений с текстом было достаточно, чтобы остановить большинство спам-ботов, но с каждым годом тексты приходится всё сильнее искажать, чтобы обгонять программы по распознаванию символов. Вы сами можете заметить, что в капчах, где нужно выбрать несколько нужных изображений, после нескольких неудачных попыток объекты для поиска прячутся или искажаются, добавляются новые классы объектов и увеличивается количество страниц, которые нужно пройти. Соответственно, при усложнении увеличивается и количество отказов у реальных пользователей. Конечно, Google решает свои дополнительные задачи, используя эти алгоритмы для обучения своих роботов распознаванию объектов на изображениях и вряд ли от них откажется, но пока что все выглядит так, как будто все, что делает капча, это отсеивает не очень умных ботов и невнимательных людей.
Еще в далеком 2014-м Google стравила между собой свой лучший алгоритм по разгадыванию самых искажённых текстов и людей: компьютер правильно распознал текст в 99,8% случаев, а люди всего в 33%.
Технические
Капчу легко обойти
Капча не выполняет свою основную функцию — не избавляет владельцев ресурсов от ботов. Вариантов “борьбы” спамеров с капчей даже больше, чем один.
Системы распознавания и нейросети
Системы OCR (оптическое распознавание символов) сейчас работают довольно точно и легко распознают как печатный текст, так и изображения. Решение добавлять “шумовой” фон, лишний цвет и линии, искривлять или сдваивать текст не особенно помогает это предотвратить, зато усложняет прохождение для реального человека.
С развитием технологий машинного обучения и нейронных сетей глубокого обучения дальнейший процесс визуального усложнения капч выглядит бесперспективным. Полносверточная нейронная сеть, в которой на входе подается изображение, а на выходе выдается нужное изображение или несколько изображений (карты центров) распознает текстовые капчи в большинстве случаев. Однако для нее же решаема и капча с выбором нужных картинок ибо обнаружение и классификация объектов — ведь это именно то, чем и занимается нейросеть (в том числе та самая нейросеть reCAPCHA от Google). Да и некоторые библиотеки, позволяющие работать с нейронными сетями, тоже разработаны в Google (например, Tensorflow).
Существуют сервисы взлома, при которых берется и транскрибируется аудио-версия капчи. При успешном развитии систем распознавания голоса это тоже перестает быть проблемой для опытных спамеров. Есть алгоритмы и скрипты, такие, например, как алгоритм Кока-Янгера-Касами для распознавания двухмерной грамматики, который может распознать более 50% капч. Есть и другие способы обхода проверки:
- Генераторы чисел и другие системы перебора. Например, если есть один и тот же набор из 10 картинок, которые просто переставляются случайным образом, и нужно на них найти что-то определенное, то есть всего лишь 1024 возможных вариаций
- Восстановление символов по данным логов
- “Подглядывание” в скрипты для вызова капч, к примеру,
- Повторное применение идентификаторов сессий пользователей
- Наконец, спамеры подключают последние версии распознавалок типа FineReader к своим самообучаемым спам-ботам.
Бизнес по разгадыванию
Существует целый рынок услуг, предлагающих обойти капчу, и это очень дешево. В этой индустрии заняты тысячи реальных людей — жителей Индии или Китая, которые за небольшую плату проходят тесты. Специальные биржи типа Amazon Mechanical Turk предлагают купить десятки разгаданных капч за несколько центов, а многочисленные сервисы еще и постоянно сбивают эту цену. Они же постоянно тысячами создают новые “чистые” аккаунты, которые проходят проверку спам-систем на сайтах легче и быстрее всего.
Наконец, существуют онлайн-ресурсы с “интересным” содержанием типа игр или контентом для взрослых. Прежде чем пользователи смогут увидеть следующую порцию контента, система сделает бэкэнд запрос к Yahoo или Google, захватит оттуда капчу и подсунет её пользователю. И как только пользователь ответит на вопрос, хакер отправит разгаданную капчу на целевой сайт. Популярный сайт с востребованным контентом сделать несложно, если парсить (или попросту красть) интересный контент с целого ряда “легальных” порталов (мы в своей работе часто сталкиваемся с такими “копипастерами”). А хакер в итоге получает большую аудиторию, которая разгадывает чужие капчи, не подозревая об этом.
Не различает плохих и хороших ботов
Помимо плохих ботов, существуют и хорошие — это роботы поисковых систем и браузеров, полезные корпоративные боты разных сервисов, которые ищут или размещают информацию или предлагают пользователю помощь, автоматизируя работу техсаппорта компании или продажи ее услуг. Например, по данным GlobalDots, на текущий момент человеческий трафик составляет 62.1%, плохие боты 20.4%, а хорошие 17.5% (то есть отставание от плохих не такое уж и критичное). К сожалению, метод капчи не различает плохих и хороших ботов, не пропуская равно всех, хотя “хорошие” боты могли бы быть полезны.
Ресурс для атак
Большинство капч сторонние — предоставленные тем же Google или разработчиками капч-решений. Но во многих случаях их генерированием занимается тот же сервер, на котором расположен сайт, и тогда это становится уязвимым местом для атак.
Генерация некоторых видов капч — это достаточно ресурсоемкая операция и идет она не быстро, так как требует запросов к сторонним библиотекам и в целом работает с изображениями. В случае, если кэширование по дефолту не предусмотрено или по каким-то причинам выключено, это еще больше мороки. Если атакующий ставит задачу создать избыточное количество запросов на генерацию капчи, то сервер может не успевать это делать.
Впрочем, эта проблема решаема:
- Нужно выбрать определенный тип капчи, который этой проблемы лишен
- Расположить капчу на отдельном ресурсе
Замедляет работу сайта

Небольшое замедление может показаться не настолько важной проблемой, но вы будете не правы, если не будете обращать на это внимание. Посмотрите вот на это исследование: в то время как пятая часть маркетологов не считает, что время загрузки влияет на коэффициент конверсии, почти 70% людей признают, что скорость страницы влияет на вероятность покупки.
Как капча может влиять на скорость?
- Генерация сложного изображения достаточно ресурсоемкая операция с учетом того, что не все показанные коды используются. Поэтому сервисы капчи и сопутствующие им логи и куки могут замедлять работу онлайн-ресурса.
- Проверка кода и ключа осуществляется бэкендом, где могут возникнуть сложности с передачей больших файлов. Одноразовые ссылки также требуют проверки на уровне бэкенда, создавая лишнюю нагрузку. Капча может зацикливаться и замусоривать backend и тогда требуется создать механизм кеширования неиспользованных изображений для возможности их показа для других пользователей.
- Кроме того, у многих капч-сервисов неудобный API как самого виджета капчи, так и сервера, и с этим разработчику тоже придется помучиться.
Увы, нет. Есть еще несколько моментов.
Во-первых, капчи могут ломать логику работы сайта — особенно в случаях, когда заполнение формы заканчивается капчей, причем не всегда пользователь об этом предупрежден. Однако и вариант “показывать капчу только на входе” не решает задачу защиты от спамеров, ведь получается, что после одноразового прохождения они могут делать дальше все, что захотят.
Во-вторых, давайте подумаем о поисковых системах. Если поисковые системы “обеляются” по user-agent, то капча неэффективна. Если капча показывается всем — то может показаться и поисковикам, и сайт будет иметь проблемы с индексацией.
Не капчей единой
Существует множество других форм защиты, порой даже более эффективной для борьбы с ботами. Например, на фронтенде это могут быть минимальное время заполнения формы, меньше которого может заполнить только бот, или скрытое поле (display:none), которое не увидит человек, но заполнит бот.
На сетевом уровне это могут быть обфускация или шифрование HTML, блокирование определённых user-agent и различные ловушки со стороны веб-сервера: например, создание невидимых разделов сайта, куда попадают только роботы и позже банятся по IP, или фильтрация анонимных прокси.
И, наконец, есть метод, который мы применяем в Variti — это полная фильтрация трафика, который мы считаем единственным полноценным подходом в защите от ботов и DDoS-атак. Мы пропускаем через свои кластеры весь трафик, который идет на сайт или приложение клиентов, а специально настроенные и самообучающиеся алгоритмы определяют и пропускают дальше легитимный трафик от живых пользователей и “хороших” ботов, причем блокировки IP в этом процессе также не требуется. Впрочем, о том, почему мы считаем еще и метод блокировки IP вредоносным, мы поговорим в следующих статьях.
- Блог компании Variti
- Информационная безопасность
- Интернет-маркетинг
- Повышение конверсии
Боты научились решать капчи быстрее и точнее, чем люди
Тесты CAPTCHA (капча), которые сайты используют для проверки, являетесь ли вы человеком, теперь могут быть быстрее решены ботами, чем людьми. Несмотря на их первоначальное назначение — борьбу с автоматизированными ботами в интернете, исследования показали, что машины решают эти задачи быстрее и точнее.

Источник изображения: perianjs / Pixabay
CAPTCHA — это аббревиатура от Completely Automated Public Turing test to tell Computers and Humans Apart, что означает «Полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей». Эти тесты обычно включают в себя идентификацию искажённых букв, изображений с определёнными предметами и животными или выполнение простых арифметических задач. Они были созданы для решения одной из самых сложных проблем в интернете: борьбы с ботами, которые притворяются людьми, чтобы создавать фальшивые аккаунты и оставлять ненастоящие отзывы.
Исследование, проведённое учёными из Калифорнийского университета в Ирвайне (UCI), показало, что тесты CAPTCHA не так эффективны, как предполагалось раньше. В ходе исследования учёные сравнили поведение ботов и 1400 человек, которым предложили решить 14000 различных тестов. Результаты были однозначными: машины победили.
Когда людям предлагали решить тесты на искажённый текст, они тратили от 9 до 15 секунд и правильно отвечали лишь в 50-84 % случаев. В то время как боты проходили те же тесты менее чем за секунду с точностью 99,8 %.
Профессор Джин Цудик (Gene Tsudik) из UCI — один из соавторов исследования — считает, что необходимы лучшие решения борьбы с ботами. Он задаётся вопросом: «Почему мы продолжаем использовать технологию, которая почти всеми нелюбима, стоит так дорого (особенно с точки зрения потерь человеческого времени) и неэффективна против ботов?»
Цудик предполагает, что одна из причин — крупные поставщики CAPTCHA, включая Google, которые зарабатывают на продаже своих услуг и не имеют стимулов отказываться от своего метода работы. Профессор и его коллеги проанализировали 200 из самых популярных сайтов и обнаружили, что 120 из них используют тесты CAPTCHA. Цудик сомневается, что будет создана форма CAPTCHA, которая пройдёт проверку временем. Он утверждает, что, несмотря на все нововведения, боты в конечном итоге окажутся победителями в этой гонке технологий.
Источник: