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

CAPTCHA: история, виды и применение

CAPTCHA (англ. Completely Automated Public Turing test to tell Computers and Humans Apart — «полностью автоматизированный публичный тест Тьюринга для отличия компьютеров от людей») — это метод защиты компьютерных систем, основанный на проверке, способен ли пользователь выполнить задание, доступное человеку, но трудновыполнимое для автоматизированной программы. Термин введён в 2000 году группой исследователей из Массачусетского технологического института (Луис фон Ан, Мануэль Блюм, Николас Хоппер и Джон Лангфорд). Системы CAPTCHA применяются на сайтах и в приложениях для предотвращения автоматической регистрации аккаунтов, спама, брутфорса паролей и иных злоупотреблений.

История

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

Первые системы CAPTCHA появились в конце 1990-х годов. В 1997 году компания AltaVista внедрила механизм, требующий от пользователя ввода искажённых символов при регистрации почтовых ящиков — это было сделано для ограничения автоматической регистрации. В 2000 году исследователи Массачусетского технологического института опубликовали статью, в которой закрепили термин и предложили алгоритм генерации искажённых текстовых заданий.

В 2003 году Google приобрёл технологию reCAPTCHA, разработанную в МТИ. Система использовала искажённые слова из оцифровываемых книг и газет, что позволяло совмещать защиту сайтов с распознаванием текста. В 2009 году Google выкупил проект reCAPTCHA целиком, а в 2012 году представил невидимую CAPTCHA (reCAPTCHA v2), основанную на поведенческом анализе пользователя. В 2017 году была представлена reCAPTCHA v3, которая не требует от пользователя никаких действий и оценивает риск автоматизации на основе взаимодействия с сайтом.

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

CAPTCHA строится на асимметрии: задание легко выполняется человеком, но трудно решается программой. Проверка обычно выполняется на стороне сервера, который генерирует задание, сохраняет эталонный ответ и сравнивает его с введённым пользователем. Некоторые системы используют сторонние сервисы (например, Google reCAPTCHA или hCaptcha), которые предоставляют виджеты для интеграции на сайтах.

Виды

CAPTCHA классифицируются по типу задания:

ВидПринципПримеры
ТекстоваяВвод искажённых букв и цифрreCAPTCHA v1,早期 системы
АудиальнаяРаспознавание произнесённого текстаGoogle Audio CAPTCHA
МатематическаяРешение арифметической задачиПростые формы на форумах
ИзображенияВыбор объектов на картинкахreCAPTCHA v2 «выберите все перекрёстки»
Логическая / головоломкаРешение нестандартной задачиPuzzle CAPTCHA
ПоведенческаяАнализ движения мыши, скорости ввода и других сигналовreCAPTCHA v3, hCaptcha
СкрытаяПроверка без видимого взаимодействияCloudflare Turnstile, reCAPTCHA v3

Обход и обнаружение

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

  • Оптическое распознавание символов (OCR) — обучение нейросетей на искажённых изображениях. В 2014 году исследователи показали, что современные системы текстовых CAPTCHA могут быть обойдены с точностью до 99,8 %.
  • Сервисы по распознаванию — коммерческие платформы, где задания решаются людьми за небольшую плату (кликфармы).
  • Анализ поведения — модели, имитирующие паттерны движения мыши и клавиатуры человека.

В ответ на обходные методы разработчики CAPTCHA переходят к поведенческим и невидимым системам, которые не предъявляют пользователю явных заданий.

Критика

CAPTCHA подвергаются критике по нескольким направлениям:

  • Доступность — искажённые изображения и аудиозадания могут быть непреодолимы для людей с нарушениями зрения или слуха.
  • Приватность — системы, основанные на поведенческом анализе, собирают данные о пользователях.
  • Эксплуатация — в ряде стран работники решают CAPTCHA вручную за минимальную оплату, что критики называют цифровым рабством.
  • Надёжность — с ростом возможностей ИИ разница между человеком и машиной в решении подобных задач сокращается.

Применение в России

В российском сегменте интернета широкое распространение получили собственные системы CAPTCHA, в частности, «Робот» от Яндекса (Яндекс.Капча) и аналогичные механизмы в ВКонтакте, Mail.ru и других крупных сервисах. Яндекс.Капча поддерживает аудиальные и интерактивные задания, а также поведенческий анализ.

Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru