ReCAPTCHA
reCAPTCHA Inc. — система CAPTCHA, принадлежащая компании Google. Она позволяет веб-сайтам различать посещения человека и автоматизированные обращения. Первая версия системы требовала распознавать искажённую текстовую информацию или сопоставлять изображения. Вторая версия также предлагала распознавание текста или подбор изображений, если анализ cookies и отрисовки canvas выявлял автоматическую загрузку страницы[1]. С версии 3 система работает в фоновом режиме, не прерывая действия пользователя, и предназначена для автоматического анализа каждого обращения к странице или клика на кнопке[2].
Изначально система была построена как платформа массового взаимодействия для оцифровки книг, особое внимание уделялось неразборчивым для OCR-систем словам. Для верификации пользователям показывались пары слов: одно из которых известно и служит контрольным, а второе — распознаётся методом краудсорсинга[3]. reCAPTCHA разработана Луисом фон Ааном, Дэвидом Абрахамом, Мануэлем Блюмом, Майклом Кроуфордом, Беном Маурером, Колином МакМилленом и Эдисоном Таном в университете Карнеги — Меллон (Питтсбург)[4]. В сентябре 2009 года проект был приобретён компанией Google. Система помогла оцифровать архивы газеты «The New York Times», а затем применялась в сервисе Google Books[5].
Система отображала более 100 миллионов CAPTCHA ежедневно, применялась на таких сайтах, как Facebook, TicketMaster, Twitter, 4chan, CNN.com, StumbleUpon, Craigslist (с июня 2008 года), а также на сайте купонов цифровых ТВ-конвертеров для Национальной администрации телекоммуникаций США (в рамках перехода США на цифровое телевещание).
В 2014 году направление проекта изменилось: акцент был сделан на снижение количества действий, необходимых от пользователя для прохождения проверки. Теперь полноценные задачи для различения человека и бота (например, выделение конкретных изображений по заданию) появляются только если поведенческий анализ показывает возможную угрозу со стороны ботов.
В октябре 2023 года было показано, что чат-бот GPT-4 от OpenAI способен решать задачи CAPTCHA[6]. Сервис критикуется за недостаток безопасности и доступности, а также за сбор пользовательских данных. Согласно исследованию 2023 года, общий колосс времени, потраченного пользователями на решение CAPTCHA, эквивалентен $6,1 млрд зарплат[7].
Что важно знать
| reCAPTCHA Inc. | |
|---|---|
| Тип |
Классическая версия: CAPTCHA Новая версия: поведенческий анализ |
| Авторы |
|
| Разработчик | |
| Первый выпуск | 27 мая 2007 |
| Сайт | cloud.google.com/securit… |
Происхождение
Платформа Distributed Proofreaders была одним из первых проектов, добровольно помогавших расшифровывать отсканированные тексты, нераспознаваемые программами OCR. Проект работает совместно с проектом Гутенберг, но использует методы, отличающиеся от reCAPTCHA.
Идея reCAPTCHA принадлежит гватемальскому информатику Луису фон Аану, который получил поддержку фонда MacArthur. Как ранний разработчик CAPTCHA, он признал: «я невольно создал систему, растрачивающую по 10 секунд миллионы ценнейших человеческих мыслительных циклов».
Принцип работы
Отсканированный текст анализируется двумя разными OCR-системами. Любое слово, распознанное по-разному двумя программами или отсутствующее в английском словаре, помечается как «подозрительное» и становится элементом CAPTCHA. Это слово показывается вне контекста, иногда — в паре с контрольным, заранее известным словом. Если пользователь правильно вводит контрольное слово, система засчитывает его вариант написания второго слова как вероятно верный. Если достаточно много пользователей правильно вводят контрольное слово, но ошибаются во втором, то цифровая версия документов может содержать ошибку. Каждый результат OCR оценивается в 0,5 балла, каждый вариант человека — в целый балл. Когда набирается 2,5 балла, слово считается подтверждённым. Слова, неоднократно одинаково оцениваемые людьми, впоследствии используются как контрольные. Если первые три попытки совпадают между собой, но не совпадают ни с одной версией OCR, такой ответ считается верным, и слово становится контрольным[8]. Если шесть пользователей отвергли слово до появления правильного варианта, слово исключается как неразборчивое[8].
Оригинальная схема reCAPTCHA показывала слова отдельно, вне текстового контекста. При этом использование одного слова как контрольного иногда искажает контекст неизвестного слова — например, если последовательность «/metal/ /fife/» воспринимается пользователем как «metal file», а не как музыкальный инструмент «файф» (fife).
В 2012 году reCAPTCHA начала использовать фотографии с проекта Google Street View наряду со сканированными словами[9]. Пользователя могут попросить определить элементы на фото: пешеходные переходы, светофоры, дорожные знаки и пр. Предполагается, что такие данные используются для тренировки автономных транспортных средств компании Waymo, однако представитель Google в 2021 году утверждал обратное — что эти данные применяются только для улучшения карт Google[10].
Google взимает плату с сайтов, использующих более 1 миллиона запросов reCAPTCHA в месяц[11].
reCAPTCHA v1 была признана устаревшей и прекращена 31 марта 2018 года[12].
В 2013 году reCAPTCHA добавила анализ поведения браузера для прогнозирования, является ли пользователь человеком или ботом. В 2014 была внедрена новая API: пользователям с низким риском теперь достаточно кликнуть один чекбокс («Я не робот»). Если классификация затруднена, система может дополнительно запросить решение задачи CAPTCHA; также появился тип заданий специально для мобильных устройств, где надо выбирать подходящие изображения из сетки[1][13].
В 2017 году представлена «невидимая» reCAPTCHA: проверка проводится полностью в фоновом режиме, а если поведенческий анализ указывает на низкий риск, пользователь вообще не видит никакого задания[14][15][16]. По словам бывшего руководителя по борьбе с фродом Google Шуман Гхоземаджумдер, такой подход «создаёт новый уровень защиты, который способны обходить лишь самые совершённые боты, а для добропорядочного пользователя становится практически незаметным»[16].
Реализация
Задания reCAPTCHA формируются и публикуются с центрального сервера проекта, который выдаёт слова или изображения для распознавания. Это осуществляется через JavaScript-API с обратным вызовом на сервер reCAPTCHA после отправки формы. Проект предоставляет библиотеки для реализации на разных языках программирования и для различных приложений. reCAPTCHA бесплатна для большинства сайтов, однако программное обеспечение системы не является открытым кодом[17].
Доступны плагины для популярных платформ веб-приложений, включая ASP.NET, Ruby и PHP, облегчающие внедрение сервиса[18].
Безопасность
Главная задача CAPTCHA — блокировать автоматических спам-ботов, не мешая легитимным пользователям. 14 декабря 2009 года Джонатан Уилкинс опубликовал доклад о методах взлома reCAPTCHA с точностью 18 %[19].
1 августа 2010 года Чад Хоук на конференции DEF CON 18 продемонстрировал способ обхода искажения изображения, позволивший боту решить задачку с точностью 10 %. Система была доработана 21 июля 2010 года перед выступлением Хоука, после чего его метод сработал уже в 31,8 % случаев. Также отмечались защиты системы, например, блокировка пользователя после 32 подряд неверных попыток.
26 мая 2012 года Adam, C-P и Jeffball из DC949 на конференции LayerOne показали автоматическое решение звуковой CAPTCHA с точностью 99,1 %, используя методы машинного обучения. Вскоре Google увеличила длину аудиоверсии до 30 секунд и сделала её гораздо менее понятной для людей и автоматических систем. После каждого удачного взлома Google оперативно вносила исправления, порой возвращая старые, уже взломанные решения.
27 июня 2012 года Клаудия Крус, Фернандо Уседа и Леобардо Рейес опубликовали работу об автоматизированном распознавании reCAPTCHA с точностью 82 %. Авторы утверждают, что их система применяет методы интеллектуального OCR[21].
В августе 2012 года на конференции BsidesLV DC949 признали новую версию reCAPTCHA «невыносимо сложной для людей» — решить вручную задачки не удалось. Организация WebAIM в мае 2012 сообщила, что «более 90 % пользователей экранных дикторов считают CAPTCHA очень или довольно трудной»[22].
Критика
Оригинальная версия reCAPTCHA критиковалась за то, что пользователи, по сути, выполняют бесплатную работу по расшифровке текстов[23].
Компания Google извлекает из пользователей reCAPTCHA выгоду — их труд используется для совершенствования технологий искусственного интеллекта[24].
13-месячное исследование 2023 года «Dazed & Confused: A Large-Scale Real-World User Study of reCAPTCHAv2» показало, что reCAPTCHA v2 мало препятствует ботам, используется в основном для отслеживания поведения пользователей и нанесла ущерб обществу эквивалентный 819 миллионам часов бесплатного труда[7][25].
Современные версии сервиса критикуют за использование cookie-трекеров и за стимулирование привязки к экосистеме Google; владельцам сайтов рекомендуется внедрять скрипт reCAPTCHA на все страницы для оценки поведения и соответствующего выбора вида проверки пользователя[26]. Google заявила, что не использует эти данные для персонализированной рекламы. Также обнаружено, что система лояльнее относится к пользователям с активным входом в аккаунт Google и чаще выдаёт задания для пользователей анонимайзеров и VPN[14].
Когда была объявлена reCAPTCHA v3.0, появились опасения, что Google сможет отслеживать пользователей на сторонних сайтах[14].
В апреле 2020 года компания Cloudflare заменила reCAPTCHA на , ссылаясь на опасения в области конфиденциальности и желание снизить расходы, ведь большая часть клиентов Cloudflare — бесплатные пользователи[27]. Google на это ответила заявлением в PC Magazine, что данные reCAPTCHA не используются для персонализированной рекламы[11].
В справочных материалах Google отмечается, что reCAPTCHA не поддерживает деф-глухое сообщество[28], фактически исключая этих пользователей с сайтов, использующих сервис. Тем не менее, у reCAPTCHA наибольший список учтённых вопросов по доступности по сравнению с другими CAPTCHA-службами[29].
В некоторых вариантах заданий изображения не подсвечиваются постепенно, а исчезают с экрана и заменяются новыми с плавным проявлением, что напоминает игру whack-a-mole.
Критика касается излишне долгого времени анимации изображения[30].
Производные проекты
reCAPTCHA реализовала также проект Mailhide для защиты адресов электронной почты на веб-страницах от сбора спамерами. Email-адреса автоматически маскировались (например, mailme@example.com → mai…@example.com); при нажатии на «…» требовалось решить CAPTCHA для показа полного адреса. Mailhide был закрыт в 2018 году, так как зависел от устаревшей reCAPTCHA v1.



