Систему критиковали за эксплуатацию бесплатного человеческого труда (в случае первой версии, которую Google использовала для оцифровки книг), за осложнение жизни людям с нарушениями зрения и другими болезнями вроде дислексии. Ещё reCAPTCHA критикуют за излишнюю сложность: людям трудно или невозможно правильно ответить на вопрос: тест становится просто абсурдным. На иллюстрации слева показы несколько примеров с первой версии reCAPTCHA. Ситуация не слишком улучшилась с выпуском второй версии (где нужно выбрать картинки, содержащие указанный объект).
Но третья версия — совершенно другое дело. Она точно никому не помешает, потому что работает незаметно для пользователей, используя методы поведенческого анализа.
Сначала немного истории. Первая версия reCAPTCHA появилась в далёком 2007 году и служила благой цели: одновременно с блокировкой спама и ботов она ещё помогала в оцифровке книг. К 2011 году с её помощью уточнялись результаты OCR в оцифровке архивов газеты The New York Times (более 13 млн статей с 1851 года) и книг Google Books.
С 2012 года в систему добавили фрагменты фотографий домов из сервиса Google Street View. Примерно с 2013 года Google начала применять поведенческий анализ действий пользователя в браузере (advanced risk analysis), а в 2014 году была реализована вторая версия системы, где нужно было выбрать несколько «правильных» картинок из набора девяти изображений, но при этом появилась возможность пройти тест в один клик. Если действия были похожи на человека, то пользователь проходил тест без решения каких-либо задач вообще: просто достаточно нажать кнопку «Я не робот» (так называемая NoCAPTCHA). Если действия похожи на бота — ему давали усложнённый тест с распознаванием объектов на изображениях.
NoCAPTCHA
Здесь проблема была в том, что кроме поведенческого анализа проверялись ещё куки на компьютере — и NoCAPTCHA была практически недоступна для браузеров в анонимном режиме или тех, кто чистит куки по окончании сессии.
Третья версия
Презентация третьей версии системы на конференции Google I/O 2018
В третьей версии reCAPTCHA усовершенствован поведенческий анализ (или слежка Google за пользователями, если кто-то представляет это в таком свете), то есть та самая вышеупомянутая система advanced risk analysis, продвинутого анализа риска.
Теперь система работает «в фоне» и незаметно для пользователей. Достаточно загрузить вместе со страницей библиотеку reCAPTCHA и запустить
grecaptcha.execute
в определённый момент или сразу в момент загрузки страницы. И это всё. Пользователь ничего не замечает — а вы через через JavaScript API получите с сервера reCAPTCHA оценку этого пользователя на основании его взаимодействия с сайтом и других параметров. <script src="https://www.google.com/recaptcha/api.js?render=reCAPTCHA_site_key"></script>
<script>
grecaptcha.ready(function() {
grecaptcha.execute('reCAPTCHA_site_key', {action: 'homepage'}).then(function(token) {
...
});
});
</script>
Есть предположения, что кроме движения курсора мыши, система начала отслеживать и другие параметры, такие как нажатия мыши. Об этом можно только догадываться. Никакой информации о внутренней работе системы Google на даёт, чтобы не помогать спамерам и владельцам ботов.
С точки зрения веб-мастера, может быть, главное отличие третьей версии — что по запросу через API сервер reCAPTCHA выдаёт не бинарное значение, а оценку в диапазоне от 0.0 (вероятный бот) до 1.0 (вероятный человек) для данного конкретного запроса. Ответ присылается в формате JSON:
{
"success": true|false, // whether this request was a valid reCAPTCHA token for your site
"score": number // the score for this request (0.0 - 1.0)
"action": string // the action name for this request (important to verify)
"challenge_ts": timestamp, // timestamp of the challenge load (ISO format yyyy-MM-dd'T'HH:mm:ssZZ)
"hostname": string, // the hostname of the site where the reCAPTCHA was solved
"error-codes": [...] // optional
}
Как видно из ответа сервера, в reCAPTCHA v3 представлена новая концепция «действий» (actions). Если определить разные названия действий в разных местах сайта, то система как бы начнёт «подстраиваться» под разные нужды: станет адаптивной (adaptive risk analysis).
Другими словами, владелец сайта сам выбирает «уровень отсечения» и какие действия предпринимать для пользователей выше или ниже этого уровня на разных страницах. По умолчанию уровень установлен в 0.5. Например, на главной странице рекомендуется блокировать только явные скраперы (скажем, только 0.0). На форме авторизации можно фильтровать всех, кто ниже 0.5, предлагая им двухфакторную авторизацию или верификацию почтового адреса, чтобы защититься от брутфорс-атак. Теперь проверку можно запускать несколько раз на одной странице, в нужные моменты времени и незаметно для пользователя.
Чтобы принять участие в бета-тестировании третьей версии системы, необходимо зарегистрировать на этой странице.
Объявляем акцию «Больше киберзащиты спорту»!
GlobalSign присоединяется к празднованию самого грандиозного события всех спортсменов и футбольных болельщиков – ЧЕМПИОНАТУ МИРА ПО ФУТБОЛУ 2018 и ДАРИТ 1 ГОД SSL ЗАЩИТЫ!*
Условия акции:
* При покупке любого однолетнего SSL-сертификата DV, OV или EV уровня, второй год вы получаете в подарок.
• Акция распространяется на все сайты спортивной тематики.
• Акция действует только на новые заказы и не распространяется на партнеров.
• Чтобы воспользоваться предложением, отправьте запрос на сайте с указанием промо-кода: SL003HBFR.
Акция продлится до 15 июля 2018 г.
Получить дополнительную информацию по акции вы можете у менеджеров GlobalSign Russia по телефону: +7 (499) 678 2210.
БОЛЬШЕ ЗАЩИТЫ c GlobalSign!
Комментарии (33)
dzerik
25.06.2018 11:27+2Я правильно понял, что если буду резать рекламу, куки от гугла и прочие «наблюдающие» инструменты — я буду определен как бот, и меня перестанут пускать на сайты, так как ручной капчи не предусмотрено?
LexS007
25.06.2018 11:57Верно. 2 версия уже итак не слабо подпортила нервы любителям чистить куки и режима инкогнито, новая версия продолжит эту нелегкую миссию.
mwizard
25.06.2018 12:27Ну вас как бы мягко подталкивают к тому, что нехорошо резать рекламу, чистить куки и пользоваться инкогнито. Нормальные люди так не делают, и вы не делайте!
ninJo
25.06.2018 16:50Если низкий «индекс человечности», то могут попросить ввести обычную капчу.
п.с.
На хабре ужасно бесячая капча, иногда по три раза вводить приходится, тяжело различить символы
Igrek_L
25.06.2018 17:25Так и есть. Privacy Badger, Canvas Fingerprint Defender и CanvasFingerprintBlock вываливают на ручную капчу.
Gurturok
25.06.2018 12:19Фигня это все, если пользоваться: общественными vpn, tor, бесплатными точками доступа или просто мобильным интернетом, невидимая проверка просто не пройдет(как сейчас с проверкой-галочкой) и появится: «найди Аввввтомобиль!».
Ну и про блокировку скриптов, куков и прочей телеметрии гугла выше подмечено, если есть — на вас попутно собирают архив, если нет — решайте ребусы.demimurych
25.06.2018 12:43Наверняка при невозможности дать точный ответ будет рол бэк к типичной капче. Капчу этой версии следует воспринимать скорее как существенное улучшение предыдущих версий капчи. Если эта версия капчи правильно отработает хотя бы для 3 человек из 10ти — это будет означать что у сайта появилось 3 человека которые не раздражены работой капчи, а это уже ОЧЕНЬ неплохо.
Barafu_Albino_Cheetah
25.06.2018 14:35Увы, это также означает, что ещё три админа повесили капчу там, где она не нужна, потому что «ну она же никому не мешает теперь?»
Barafu_Albino_Cheetah
25.06.2018 14:33В лучшем случае. Знаете такой мусоросборник рунета: pikabu? Ну так меня после переустановки ОС он просто не пускает, доступ заблокирован и всё тут. И хрен бы с ним, если бы люди с форумов так иллюстрации не публиковали к своим постам.
robert_ayrapetyan
25.06.2018 16:48И эта обходится, правда, теперь армия исполнителей делится на элитных и не очень: 2captcha.com/solving_recaptcha_v3
Exchan-ge
26.06.2018 10:06И эта обходится
Из доступного широким массам: https://anti-captcha.com/mainpage
Alex_ME
25.06.2018 20:47+1Как говорится, шо то, шо это. Режим инкогнито, впн или просто выход в интернет из какого-то общественного места — давай выбирай витрины и дороги по 10 раз. А тут непонятно, что делать в случае ложно-отрицательного срабатывания.
dron41k
25.06.2018 22:16Расскажите, как они используют каптчи для уточнения оцифровки книг или обучения нейросетей? Как они понимают, что пользователь ввел каптчу правильно, если они сами не знают, что на картинке? А если знают, какая тогда помощь?
funca
25.06.2018 22:37Наверно статистически. Показывают одно и тоже разным пользователям и сравнивают ответы. Периодически показывают распознанное, чтобы оценить степень адекватности и кинуть лишнюю пару байт кармы в профиль.
sabio
26.06.2018 00:29В такой "капче" обычно было два слова. Первое — самая обычная "капча", а второе — из книги или позже — фотографии дома.
Для непроверяемого второго слова в качестве начальных вариантов использовались версии разных OCR-алгоритмов. (Т.е. система всё же "немного знала, что на картинке") По мере накопления статистики, определялся лидирующий вариант. И затем он начинал участвовать в проверке.
cornerot
26.06.2018 10:13Там каптча из двух частей состояла — одна известная и распознанная ранее, вторая — нет. Проверка шла только по известной части, а неизвестная показывалась разным людям, после чего сравнивались их ответы, делался вывод о её содержимом и далее её можно было использовать в качестве известной части.
907
26.06.2018 01:10Скорей бы все ввели эту продвинутую капчу!
А то, без обид, иногда убить охота создателей капчи!...)))))
Прямо ненависть возникает иногда…
Сидишь, мучаешься и думаешь какие это человеконенавистники придумали эту капчу..!
Barafu_Albino_Cheetah
Пользователей тачскринов и экзотических мышей, в который раз, за людей не считают?
Neusser
Поскольку никакой информации о внутренней работе рекапчи нет, то нельзя делать выводы о том, кого посчитали за людей, а кого нет.
demimurych
Пример с мышью, это демонстрации общего направления в том как работают алгоритмы. Наверняка все намного сложнее, например — очень много сайтов содержит счетчик гугл аналитики, которая легко может снимать поведенческие факторы Вас с планшетом. Чего может быть вполне достаточно для того чтобы решить что Вы человек.
Carburn
С чего ты взял, что тач-события не обрабатываются?
Barafu_Albino_Cheetah
Я такого не говорил. Все эти «невидимые капчи» (эта далеко не первая) построены на том, что боту дорого и сложно эмулировать разные тонкости, вроде реалистичного движения курсора мыши при подъезжании к кнопке, задержек печати и прочего. Но при использовании тачскрина — нет движения курсора мыши, а при использовании голосового ввода — нет случайных задержек между буквами. Исторически, все хитроумные капчи на такие системы реагировали «точно бот». Тачскрины сейчас ещё хоть стали распространённее, а голосовой ввод текста как был специальным случаем, так и остался.
Carburn
Зато есть события движения пальца.
Barafu_Albino_Cheetah
Есть, но люди обычно тапают ссылки напрямую, а не водят пальцем между ними.
Carburn
Страницу прокручивают
Barafu_Albino_Cheetah
Вот тут я не знаю, а передаст ли при прокрутке браузер странице конкретные положения пальцев, или только общее «прокрутка — 20 пикселей», от которого капче толку не будет. Не знаю.
Carburn
По умолчанию событие touchmove срабатывает каждые 10 px. На телефоне 20 пикселей это мало, высота экрана 1920 пикселей.
Пример считывания события patrickhlauke.github.io/touch/gesture-touch
Carburn
Еще от времени прокрутки зависит. Здесь можешь количество событий перемещения касания посмотреть. jsfiddle.net/xs5BG/2/embedded/result