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

reCAPTCHA

reCAPTCHA — это бесплатная система автоматической проверки пользователей на принадлежность к людям, а не к компьютерным программам (ботам), разработанная компанией Google. Она относится к классу CAPTCHA-тестов (Completely Automated Public Turing test to tell Computers and Humans Apart) и используется для защиты веб-сайтов от автоматизированных атак, спама и злоупотреблений, а также для сбора данных, используемых в машинном обучении.

История

Первое поколение (reCAPTCHA v1)

Проект был создан в 2007 году в Университете Карнеги — Меллона под руководством Луиса фон Ана, Бена Маурера, Колина Макмиллана и Дэвида Абрахама. Первоначальная цель заключалась в оцифровке книг: пользователям показывали два искажённых слова, одно из которых было известно системе, а второе — нет. Правильный ответ на известное слово подтверждал, что пользователь — человек, а ответ на неизвестное слово использовался для распознавания текста, который не могли прочитать программы оптического распознавания символов (OCR). В 2009 году проект был приобретён компанией Google, после чего начал использоваться для оцифровки архивов Google Books и The New York Times.

Второе поколение (reCAPTCHA v2 — «Я не робот»)

Запущенная в 2014 году, эта версия стала революционной. Вместо ввода искажённого текста пользователю предлагалось поставить галочку в чекбоксе. Система анализировала поведение пользователя до, во время и после клика: движение мыши, время нажатия, историю браузера, IP-адрес и другие факторы. Если поведение казалось подозрительным, пользователю предлагалось пройти дополнительный визуальный тест, например, выбрать все изображения с определёнными объектами (светофоры, пешеходные переходы, магазины). Эти тесты также служили для обучения нейросетей Google распознаванию объектов на фотографиях.

Третье поколение (reCAPTCHA v3 — «Невидимая reCAPTCHA»)

В 2018 году Google представила reCAPTCHA v3, которая работает полностью в фоновом режиме, не требуя от пользователя никаких действий. Система присваивает каждому запросу «оценку риска» от 0,0 (вероятно, бот) до 1,0 (вероятно, человек). Оценка вычисляется на основе анализа взаимодействия пользователя с сайтом: скорость прокрутки, шаблоны нажатий, время, проведённое на странице, и другие параметры. Владелец сайта может настроить порог срабатывания (например, блокировать действия с оценкой ниже 0,5) или использовать оценку для принятия решений без явного вызова CAPTCHA.

reCAPTCHA Enterprise

В 2018 году также была запущена корпоративная версия, предназначенная для крупных сайтов и приложений. Она предлагает более тонкую настройку, интеграцию с другими сервисами Google Cloud и расширенную аналитику для защиты от мошенничества и целевых атак.

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

Анализ поведения

Современные версии reCAPTCHA (v2 и v3) используют машинное обучение для оценки риска. Система анализирует сотни сигналов, включая:

  • Движения мыши и касания: траектория, скорость, ускорение, наличие дрожания.
  • События клавиатуры: задержки между нажатиями, скорость набора.
  • Историю браузера: файлы cookie, сохранённые учётные записи Google.
  • IP-адрес и геолокацию: проверка на принадлежность к прокси-серверам или дата-центрам.
  • Время взаимодействия: как быстро пользователь заполняет форму или загружает страницу.

Оценка риска

На основе этих данных модель выдаёт оценку. Если оценка высокая (пользователь похож на человека), тест не показывается. Если оценка низкая, пользователю может быть предложен визуальный тест (v2) или его запрос может быть отклонён (v3).

Визуальные тесты

В reCAPTCHA v2 используются два основных типа визуальных тестов:

  • Распознавание текста: искажённые буквы и цифры (в основном в старых версиях).
  • Распознавание изображений: выбор фотографий, содержащих определённые объекты (например, «выберите все квадраты с автомобилями»). Эти тесты также служат для разметки данных для обучения нейросетей Google (например, для сервиса Google Maps).

Применение

Защита от спама и ботов

Основное применение reCAPTCHA — защита веб-сайтов от автоматизированных регистраций, размещения спама в комментариях, отправки фишинговых форм, атак методом перебора паролей и других злоупотреблений. Система широко используется на форумах, в интернет-магазинах, на сайтах бронирования и в социальных сетях.

Оцифровка данных

Первое поколение reCAPTCHA использовалось для распознавания текста из книг и газет. Второе поколение помогло Google улучшить свои алгоритмы распознавания изображений, в частности, для сервиса Google Street View и Google Maps.

Обучение искусственного интеллекта

Каждый раз, когда пользователь проходит визуальный тест, он помогает обучать модели машинного обучения Google. Например, выбор изображений со светофорами помогает улучшить распознавание дорожных знаков для беспилотных автомобилей.

Критика и ограничения

Доступность

Основная критика reCAPTCHA связана с проблемами доступности (accessibility). Визуальные тесты (v2) трудны или невозможны для прохождения людьми с нарушениями зрения. Аудиотесты, предлагаемые в качестве альтернативы, часто имеют низкое качество распознавания и сложны для понимания. reCAPTCHA v3, хотя и невидима, может ошибочно блокировать пользователей с нестандартным поведением (например, использующих программы чтения с экрана).

Конфиденциальность

reCAPTCHA v3 и v2 собирают значительный объём данных о поведении пользователя, включая историю браузера, IP-адрес и файлы cookie. Это вызывает обеспокоенность у защитников конфиденциальности, особенно в контексте Общего регламента по защите данных (GDPR) в Европейском союзе. Google использует эти данные для своих целей, включая таргетированную рекламу.

Эффективность против сложных ботов

Хотя reCAPTCHA эффективна против простых ботов, современные продвинутые боты, использующие эмуляцию браузера и искусственный интеллект, могут обходить систему. Существуют сервисы, предлагающие «решение» CAPTCHA за деньги, используя реальных людей или нейросети.

Зависимость от Google

Использование reCAPTCHA делает сайт зависимым от сервисов Google. Если серверы Google недоступны, сайт может не загружаться или не работать корректно. Кроме того, владельцы сайтов не имеют полного контроля над алгоритмами оценки риска.

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

Существуют и другие системы CAPTCHA, которые не зависят от Google:

  • hCaptcha: альтернатива, ориентированная на конфиденциальность, которая платит владельцам сайтов за размещение тестов.
  • Cloudflare Turnstile: невидимая CAPTCHA от Cloudflare, не требующая показа пользователю никаких тестов.
  • Text CAPTCHA: простые текстовые тесты (например, «введите сумму 2+3»).
  • Math CAPTCHA: решение простых математических примеров.
  • Audio CAPTCHA: аудиотесты для людей с нарушениями зрения.

Интересные факты

  • Название «reCAPTCHA» является отсылкой к оригинальной «CAPTCHA», приставка «re» означает «повторно» (использование человеческого труда для оцифровки).
  • По оценкам Google, reCAPTCHA v3 обрабатывает более 100 миллионов запросов в день.
  • В 2020 году Google объявила, что reCAPTCHA v1 была отключена, так как её текстовая CAPTCHA стала слишком уязвимой для атак с использованием машинного обучения.
  • Исследователи неоднократно демонстрировали методы обхода reCAPTCHA с помощью нейросетей, обученных на размеченных данных.

Источники

  • Статья Луиса фон Ана и др. «reCAPTCHA: Human-Based Character Recognition via Web Security Measures» (2008).
  • Официальная документация Google reCAPTCHA.
  • Материалы конференций по компьютерной безопасности (USENIX Security, IEEE S&P).
  • Публикации в журналах Wired, The Verge и других технологических изданиях.
  • Отчёты о конфиденциальности и доступности от Electronic Frontier Foundation (EFF).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →