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

Капча: технология отличия человека от робота

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

История

Идея автоматического теста для отличия людей от машин восходит к работе Алана Тьюринга 1950 года, в которой была предложена концепция «игры в имитацию». В 1997 году Андрей Бродер из компании AltaVista разработал систему фильтрации автоматических запросов к поисковому индексу, названную CAPTCHA. Первоначальная задача состояла в предотвращении автоматической регистрации в системах и массовой отправки спама.

В 2000 году Луис фон Анн, Мануэль Блюм и Николас Хоппер из Карнеги-Меллон университета предложили систему reCAPTCHA. Её особенность заключалась в двойном назначении: помимо проверки пользователя, капча использовалась для распознавания текстов, нечитаемых для оптических систем распознавания (OCR). В 2009 году reCAPTCHA была приобретена компанией Google. В 2014 году Google представил систему No CAPTCHA reCAPTCHA, в которой вместо ввода текста требуется проставить отметку в чекбоксе «Я не робот». В 2018 году была представлена невидимая капча, работающая на основе анализа поведения пользователя.

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

Стандартная капча основана на тесте Тьюринга: компьютер предлагает пользователю задачу, решение которой для алгоритма затруднительно, а для человека — интуитивно очевидно. Как правило, это распознавание искажённого текста на изображении. Искажения (перевёрнутые буквы, наложенные линии, шум, изменение шрифта) затрудняют работу оптических систем распознавания, но не мешают человеку прочитать текст.

Виды капчи

ВидОписание
ТекстоваяПользователь вводит искажённые символы с изображения
АудиальнаяПользователь слушает и расшифровывает звуковую запись с произнесёнными символами
МатематическаяТребуется решить простой пример (например, «2 + 3 = ?»)
ЛогическаяЗадача на логику или подбор ответа из вариантов
ЧекбоксОтметка «Я не робот» (используется в reCAPTCHA v2)
НевидимаяАнализирует поведение пользователя (движение курсора, время на странице) без визуального интерфейса
Клик по изображениюТребуется выбрать объекты на фотографии (например, «выберите все изображения с светофорами»)

reCAPTCHA

Наиболее распространённой реализацией капчи является reCAPTCHA от Google. Система прошла несколько поколений:

  • reCAPTCHA v1 — классическая текстовая капча с искажёнными словами.
  • reCAPTCHA v2 — чекбокс «Я не робот» и задания с выбором объектов на изображениях.
  • reCAPTCHA v3 — невидимая капча, оценивающая пользователя по шкале от 0 до 1 на основе поведенческих метрик.
  • reCAPTCHA Enterprise — коммерческая версия с расширенной аналитикой и интеграцией с сервисами безопасности.

Применение

Капча используется для предотвращения:

  • автоматической регистрации аккаунтов;
  • массовой рассылки спама;
  • перебора паролей и брутфорс-атак;
  • автоматического сбора данных с веб-сайтов (скрейпинга);
  • накрутки голосов, просмотров и лайков;
  • автоматических ставок в букмекерских системах и онлайн-играх.

Ограничения и критика

Капча вызывает ряд критических замечаний:

  • Доступность. Пользователи с нарушениями зрения или когнитивными особенностями могут испытывать трудности с решением заданий.
  • Надёжность. Развитие технологий машинного обучения, в частности нейронных сетей, позволяет автоматизировать распознавание искажённых текстов с точностью, сопоставимой с человеческой. С 2012 года капчи на основе искажённого текста постепенно вытесняются поведенческими методами.
  • Коммерческое использование. Существуют сервисы, где за небольшую плату люди вручную решают капчи за автоматизированные системы (капча-фермы).
  • Приватность. Поведенческие капчи собирают данные о действиях пользователя, что вызывает вопросы о защите персональных данных.

Альтернативы

Вместо капчи для проверки пользователей применяются:

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

В российской веб-разработке широко используются как Google reCAPTCHA, так и собственные решения. Одним из распространённых сервисов является «Яндекс.Капча» (ранее «SmartCaptcha») от компании «Яндекс», предлагающая адаптивные задания и поведенческий анализ. Также применяется решение hCaptcha, позиционирующее себя как более приватная альтернатива Google.

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