Третья версия reCAPTCHA срабатывает в фоне незаметно для пользователей

    В мае этого года на конференции конференции Google I/O 2018 представили третью версия технологии reCAPTCHA — reCAPTCHA v3 (бета). Как известно, это самая популярная система типа CAPTCHA, которая создана для блокировки ботов, то есть автоматизированных действий на разных сервисах.

    Систему критиковали за эксплуатацию бесплатного человеческого труда (в случае первой версии, которую 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

    276,50

    Компания

    Поделиться публикацией

    Похожие публикации

    Комментарии 33
      –1
      Пользователей тачскринов и экзотических мышей, в который раз, за людей не считают?
        +3
        Поскольку никакой информации о внутренней работе рекапчи нет, то нельзя делать выводы о том, кого посчитали за людей, а кого нет.
          +1
          Пример с мышью, это демонстрации общего направления в том как работают алгоритмы. Наверняка все намного сложнее, например — очень много сайтов содержит счетчик гугл аналитики, которая легко может снимать поведенческие факторы Вас с планшетом. Чего может быть вполне достаточно для того чтобы решить что Вы человек.
            +2
            С чего ты взял, что тач-события не обрабатываются?
              0
              Я такого не говорил. Все эти «невидимые капчи» (эта далеко не первая) построены на том, что боту дорого и сложно эмулировать разные тонкости, вроде реалистичного движения курсора мыши при подъезжании к кнопке, задержек печати и прочего. Но при использовании тачскрина — нет движения курсора мыши, а при использовании голосового ввода — нет случайных задержек между буквами. Исторически, все хитроумные капчи на такие системы реагировали «точно бот». Тачскрины сейчас ещё хоть стали распространённее, а голосовой ввод текста как был специальным случаем, так и остался.
                +1
                Зато есть события движения пальца.
                  –1
                  Есть, но люди обычно тапают ссылки напрямую, а не водят пальцем между ними.
                    +1
                    Страницу прокручивают
                      0
                      Вот тут я не знаю, а передаст ли при прокрутке браузер странице конкретные положения пальцев, или только общее «прокрутка — 20 пикселей», от которого капче толку не будет. Не знаю.
                        0
                        По умолчанию событие touchmove срабатывает каждые 10 px. На телефоне 20 пикселей это мало, высота экрана 1920 пикселей.
                        Пример считывания события patrickhlauke.github.io/touch/gesture-touch
                          0
                          Еще от времени прокрутки зависит. Здесь можешь количество событий перемещения касания посмотреть. jsfiddle.net/xs5BG/2/embedded/result
            +11
            Я правильно понял, что если буду резать рекламу, куки от гугла и прочие «наблюдающие» инструменты — я буду определен как бот, и меня перестанут пускать на сайты, так как ручной капчи не предусмотрено?
              +1
              Верно. 2 версия уже итак не слабо подпортила нервы любителям чистить куки и режима инкогнито, новая версия продолжит эту нелегкую миссию.
                –1
                Ну вас как бы мягко подталкивают к тому, что нехорошо резать рекламу, чистить куки и пользоваться инкогнито. Нормальные люди так не делают, и вы не делайте!
                0
                Это бета, потом добавят ручную при провале автоматической, иначе их быстренько лесом пошлют.
                  +2
                  С чего ты взял, что сейчас ручной нет?
                  +1
                  Если низкий «индекс человечности», то могут попросить ввести обычную капчу.

                  п.с.
                  На хабре ужасно бесячая капча, иногда по три раза вводить приходится, тяжело различить символы
                    0
                    Так и есть. Privacy Badger, Canvas Fingerprint Defender и CanvasFingerprintBlock вываливают на ручную капчу.
                    +1
                    Слежение за пользователями выходит на новый уровень, браво. Или что, закончили обучать нейросеть на витринах и дорожных знаках, двигаемся дальше.
                      0
                      так вот как они обучают свои робомобили…
                      +1
                      Фигня это все, если пользоваться: общественными vpn, tor, бесплатными точками доступа или просто мобильным интернетом, невидимая проверка просто не пройдет(как сейчас с проверкой-галочкой) и появится: «найди Аввввтомобиль!».
                      Ну и про блокировку скриптов, куков и прочей телеметрии гугла выше подмечено, если есть — на вас попутно собирают архив, если нет — решайте ребусы.
                        0
                        Наверняка при невозможности дать точный ответ будет рол бэк к типичной капче. Капчу этой версии следует воспринимать скорее как существенное улучшение предыдущих версий капчи. Если эта версия капчи правильно отработает хотя бы для 3 человек из 10ти — это будет означать что у сайта появилось 3 человека которые не раздражены работой капчи, а это уже ОЧЕНЬ неплохо.
                          +1
                          Увы, это также означает, что ещё три админа повесили капчу там, где она не нужна, потому что «ну она же никому не мешает теперь?»
                          –1
                          В лучшем случае. Знаете такой мусоросборник рунета: pikabu? Ну так меня после переустановки ОС он просто не пускает, доступ заблокирован и всё тут. И хрен бы с ним, если бы люди с форумов так иллюстрации не публиковали к своим постам.
                          +1
                          И эта обходится, правда, теперь армия исполнителей делится на элитных и не очень: 2captcha.com/solving_recaptcha_v3
                          +1
                          Как говорится, шо то, шо это. Режим инкогнито, впн или просто выход в интернет из какого-то общественного места — давай выбирай витрины и дороги по 10 раз. А тут непонятно, что делать в случае ложно-отрицательного срабатывания.
                            0

                            Расскажите, как они используют каптчи для уточнения оцифровки книг или обучения нейросетей? Как они понимают, что пользователь ввел каптчу правильно, если они сами не знают, что на картинке? А если знают, какая тогда помощь?

                              0

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

                                0
                                Статистика? Пользователь не один
                                  0

                                  В такой "капче" обычно было два слова. Первое — самая обычная "капча", а второе — из книги или позже — фотографии дома.
                                  Для непроверяемого второго слова в качестве начальных вариантов использовались версии разных OCR-алгоритмов. (Т.е. система всё же "немного знала, что на картинке") По мере накопления статистики, определялся лидирующий вариант. И затем он начинал участвовать в проверке.

                                    0
                                    Там каптча из двух частей состояла — одна известная и распознанная ранее, вторая — нет. Проверка шла только по известной части, а неизвестная показывалась разным людям, после чего сравнивались их ответы, делался вывод о её содержимом и далее её можно было использовать в качестве известной части.
                                    –1
                                    Скорей бы все ввели эту продвинутую капчу!
                                    А то, без обид, иногда убить охота создателей капчи!...)))))
                                    Прямо ненависть возникает иногда…
                                    Сидишь, мучаешься и думаешь какие это человеконенавистники придумали эту капчу..!

                                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                    Самое читаемое