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.
