Открыть сервисСервис

CAPTCHA: виды, принцип работы и защита от обхода

CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) — автоматизированный тест Тьюринга, предназначенный для различения действий человека и компьютера (бота). Применяется на веб-сайтах для защиты от автоматической регистрации, спама, брутфорса паролей и накрутки показателей. Типичный пример — запрос «неверный ответ в поле captcha, пожалуйста подтвердите, что вы не робот», сопровождаемый ссылкой или кодом для повторной проверки.

История

Термин «CAPTCHA» ввёл в 2000 году Луис фон Ан, профессор Карнеги-Меллонского университета, вместе со студентами. Идея заключалась в использовании задач, легко решаемых человеком, но трудных для компьютера. Первые реализации представляли собой искажённые текстовые строки. В 2009 году Google приобрёл проект reCAPTCHA, а в 2012 году представил его новую версию, основанную на анализе изображений. В 2018 году появился reCAPTCHA v3, полностью отказавшийся от интерактивных заданий.

Принцип работы

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

  • Пассивной — анализируется поведение пользователя (движение курсора, время заполнения формы, история браузера);
  • Активной — пользователю предлагается выполнить конкретное задание (ввести текст, выбрать изображения).

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

Виды CAPTCHA

Текстовые

Пользователю предлагается ввести искажённый текст. Искажения включают наклон, наложение линий, изменение шрифта и фона. Классический пример — CAPTCHA от Google, использовавшаяся до 2012 года.

Аудиальные

Альтернатива для слабовидящих: запись с фоновым шумом, в которой нужно распознать произнесённые цифры или слова. Часто используется как дополнение к текстовой проверке.

Математические

Простые арифметические задания (например, «2 + 3 = ?»). Легко обходятся OCR-алгоритмами, поэтому применяются редко.

Логические и игровые

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

Поведенческие (reCAPTCHA v3, hCaptcha)

Не показывают пользователю заданий. Система оценивает поведение — скорость кликов, движение мыши, активность на сайте — и присваивает «оценку доверия». Низкая оценка приводит к дополнительной проверке.

Контентные

Пользователь выбирает изображения по заданному признаку («выберите все картинки с светофорами»). Появились в 2012 году в reCAPTCHA v2.

Обход CAPTCHA

Развитие машинного обучения привело к появлению методов автоматического обхода:

  • OCR-алгоритмы — распознавание искажённого текста;
  • Нейросети — обученные модели классифицируют изображения с точностью, сопоставимой с человеческой;
  • Фермы CAPTCHA — сервисы, где за небольшую плату люди вручную решают задания за ботов;
  • Анализ поведения — эмуляция движений мыши и таймингов человека.

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

Критика

Основные претензии к CAPTCHA:

  • Доступность — задания часто трудны для людей с нарушениями зрения, когнитивными особенностями или незнакомых с языком;
  • Раздражение пользователей — повторные проверки снижают конверсию сайтов;
  • Этические вопросы — в 2010-х годах выяснилось, что reCAPTCHA использовала ответы пользователей для расшифровки архивных книг Google, не уведомляя об этом;
  • Ненадёжность — ни один вид CAPTCHA не гарантирует полную защиту от продвинутых ботов.

Применение

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

Источники

  • Von Ahn L., Blum M., Hopper N., Langford J. CAPTCHA: Using Hard AI Problems for Security // Advances in Cryptology — EUROCRYPT 2003.
  • Google reCAPTCHA. Документация разработчика.
  • Bursztein E. Rethinking the Design of CAPTCHA. Google Security Blog, 2018.
  • Encyclopædia Britannica. CAPTCHA.
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru