company_banner

Переход с reCAPTCHA на hCaptcha в Cloudflare

Автор оригинала: Matthew Prince, Sergi Isasi
  • Перевод


Компания Cloudflare сообщила о том, что она недавно перешла с использования сервиса reCAPTCHA, предоставляемого Google, на сервис hCaptcha, который поддерживает компания Intuition Machines. В Cloudflare очень рады тому, что им удалось совершить этот переход, так как он способствует решению проблем со сбором конфиденциальной информации, актуальных в то время, когда компания полагалась на сервисы Google. Это, кроме того, способствует более гибкой настройке CAPTCHA-задач, предлагаемых посетителям сайтов. Данное изменение, в принципе, затрагивает всех пользователей Cloudflare. Поэтому компания решила поделиться подробностями о переходе на reCaptcha и подготовила материал, перевод которого мы сегодня публикуем.

Использование технологии CAPTCHA в Cloudflare



Одна из предоставляемых Cloudflare услуг заключается в том, что клиентам компании даётся возможность блокировки вредоносного автоматического трафика (бот-трафика). Мы используем множество механизмов, направленных на решение этой задачи. Если мы совершенно уверены в том, что некий трафик является вредоносным, мы его полностью блокируем. Если мы точно знаем о том, что некий трафик — это результат нормальной человеческой деятельности, мы его пропускаем. То же самое относится и к нормальному трафику, генерируемому ботами — вроде ботов поисковых систем. Но иногда, в случаях, когда у нас нет полной уверенности в природе трафика, мы подвергаем этот трафик «испытанию».

У нас есть разные испытания. Некоторые из них полностью автоматические, но одно из таких испытаний требует вмешательства человека. Подобные испытания известны как CAPTCHA (по-русски их называют «капча»). Эта аббревиатура расшифровывается как Completely Automated Public Turing Test to Tell Computers and Humans Apart — полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей. Как видите, несколько букв T в слове CAPTCHA опущено — иначе оно выглядело бы как CAPTTTCHA. Капча-испытания обычно заключаются в том, что пользователю предлагается прочитать искажённый текст и ввести его в поле, или выбрать из набора картинок те, на которых есть светофоры или пешеходные переходы. Суть капча-задач заключается в том, чтобы их легко было решить человеку, но не компьютеру.


В Cloudflare, с самого начала существования компании, пользовались Google-сервисом reCAPTCHA. Этот сервис появился в 2007 году как исследовательский проект университета Карнеги — Меллона. Компания Google купила этот проект в 2009 году. Примерно тогда же появилась и компания Cloudflare. Google давала бесплатный доступ к reCaptcha в обмен на то, что данные из сервиса использовались для обучения систем визуальной идентификации компании. Когда мы искали CAPTCHA-решение для Cloudflare, мы выбрали reCATPCHA из-за того, что этот сервис был эффективным, масштабируемым и бесплатным. Последний пункт этого списка был важен для нас из-за того, что очень многие клиенты Cloudflare используют наши бесплатные сервисы.

О приватности и блокировках


С ранних дней применения reCAPTCHA в Cloudflare некоторые наши клиенты высказывали опасения относительно того, что мы пользуемся сервисом Google. Бизнес Google завязан на таргетированной рекламе. Cloudflare этим не занимается. Мы придерживаемся строгой политики относительно конфиденциальных данных. Нас устраивала политика конфиденциальности, связанная с reCAPTCHA, но мы понимаем причины, по которым некоторые из наших клиентов обеспокоены тем, что им приходится передавать в Google больше данных, чем им хотелось бы.

Кроме того, мы испытываем проблемы в некоторых регионах, в таких, как Китай, где сервисы Google время от времени блокируют. А ведь только один Китай — это 25% интернет-пользователей. В результате нас всегда беспокоило то, что некоторые из этих пользователей не могут работать с сайтами, защищёнными Cloudflare, в том случае, если им предлагается решить капча-задачу.

Вопросов, касающихся приватности и блокировок, накопившихся за годы работы, уже было достаточно для того, чтобы заставить нас задуматься о смене reCAPTCHA на что-то другое. Но нам, как и большинству IT-компаний, сложно сосредоточить усилия на отказе от некоей широко используемой технологии и на смене её на что-то новое.

Изменяющаяся бизнес-модель Google


Ранее в этом году Google сообщила нам о том, что они собираются начать взимать плату за использование сервиса reCaptcha. Это — их полное право. Обслуживание капча-нужд Cloudflare, учитывая наши размеры, без сомнения, стоит немалых денег, которые заметны даже в масштабах Google.

И, опять же, взимание платы за использование reCAPTCHA — это абсолютно разумный ход Google. Если выгода компании от обучения систем классификации изображений меньше, чем расходы на поддержание сервиса, совершенно понятно то, что у Google появилось желание брать плату за работу с этим сервисом. В нашем случае это означало бы ежегодные расходы в миллионы долларов, которые понадобились бы лишь для того, чтобы позволить нашим бесплатным пользователям продолжать применять reCAPTCHA. Этого, вместе с другими причинами, в итоге стало достаточно для того, чтобы мы приступили к поиску альтернативы reCAPTCHA.

Самая лучшая капча


Мы проанализировали множество поставщиков CAPTCHA-решений и подумали о разработке собственного сервиса такого рода. В результате оказалось, что наиболее удачной альтернативой reCAPTCHA является hCaptcha. Нам многое понравилось в этом сервисе:

  1. Они не занимаются продажей персональных данных. Они собирают лишь необходимый минимум таких данных. Компания ясно описывает сведения, которые она собирает, и то, как она использует и раскрывает данные. Компания придерживается этих правил, предоставляя сервис hCaptcha Cloudflare.
  2. Система hCaptcha отличается хорошим уровнем производительности (как в плане скорости, так и в плане показателей, касающихся решений капча-задач). Этот уровень соответствует нашим ожиданиям при проведении A/B-тестирования, или даже превышает уровень таких ожиданий.
  3. Сервис hCaptcha обладает надёжным решением для слабовидящих пользователей и для пользователей, испытывающих при работе с веб-страницами проблемы, не связанные со зрением.
  4.  Система поддерживает Privacy Pass, что позволяет снизить частоту показа капча-задач.
  5. Система работает в регионах, где сервисы Google могут быть заблокированы.
  6. Команда hCaptcha отличается гибкостью, она быстро реагирует на обращения, с ней приятно работать.

Стандартная бизнес-модель hCaptcha похожа на ту, которая использовалась в начале работы сервиса reCAPTCHA. А именно, компания планировала брать плату с пользователей, которым нужны данные о классификации изображений. А тем, кто использует hCaptcha на сайте, планировалось выплачивать вознаграждение. Для нас это звучало привлекательно, но, к сожалению, хотя такой подход может хорошо работать у большинства обычных клиентов hCaptcha, для наших масштабов он не подходил.

Мы сотрудничаем с сервисом hCaptcha в двух направлениях. Во-первых, мы находимся в процессе выделения мощностей нашей платформы Workers, которая возьмёт на себя большую часть нагрузки при использовании нашими клиентами hCaptcha. Благодаря этому мы сократим расходы Intuition Machines. Во-вторых — мы предложили компании платить ей, вместо того, чтобы она платила бы нам. Это позволит обеспечить компанию ресурсами, необходимыми для масштабирования её сервиса так, чтобы он соответствовал бы нашим нуждам. Хотя это и означает для нас дополнительные расходы, эти расходы — лишь малая доля того, что могло бы пойти на оплату reCAPTCHA. Взамен мы получаем CAPTCHA-платформу, которая гораздо гибче той, которой мы пользовались раньше. Кроме того, у нас появляется возможность взаимодействия с командой разработчиков, которая очень быстро реагирует на наши обращения.

Когда наши клиенты показывают своим пользователям капчу?


Когда мы только начали работу над этим проектом, мы предполагали, что главными потребителями CAPTCHA окажутся наши решения Cloudflare Bot Management и Cloudflare Firewall Rules. Это предположение, в некоторой степени, подтвердилось. Хотя решения Firewall/Bot оказались основными потребителями CAPTCHA, их доля в общем объёме потребления этой услуги оказалась лишь немного больше 50%.

Вот сводка, касающаяся тех наших решений, в рамках которых пользователи запрашивают вывод капчи.
Решение Cloudflare Использование CAPTCHA
Firewall Rules и Bot Management 54.8%
IP Firewall 18.6%
Security Level 16.8%
DDoS 6.3%
Rate Limiting 1.7%
WAF Rules 1.5%
Другие 0.3%

Решения Firewall/Bot находятся в верхней части этого списка. На них приходится основная доля капчи. Эти решения задействуют правила, написанные нашими пользователями. При выполнении условий, задаваемых этими правилами, выводится капча. В качестве примера тут можно привести ситуацию, в которой капча выводится тогда, когда оценка запроса системой Cloudflare Bot Management оказывается неоднозначной. Она, с одной стороны, ниже заданного порогового значения, что может указывать на то, что речь идёт об автоматизированном трафике. Но она, с другой стороны, выше порогового значения, указывающего на неопределённость ситуации. Ещё один распространённый сценарий использования капчи, относящийся к разделу Firewall/Bot, это показ капча-задач для всех запросов к некоему сайту или к некоей конечной точке сайта. Наши клиенты могут поступать так для того чтобы ограничить число подключений к своим серверам, или чтобы замедлить работу автоматизированных систем, перебирающих учётные данные на странице входа в систему или создающих фальшивые учётные записи. Это приводит к тому, что некоторые сайты, находящиеся под защитой Cloudflare, запрашивают показ сотен миллионов капч в день.

Вторым в этом списке идёт наше решение IP Firewall. Оно, в целом, похоже на решения Firewall/Bot, но позволяет анализировать трафик точнее, работая на уровне IP-адреса, ASN или страны. Основной объём капч, выводимых в рамках услуги IP Firewall, имеет отношение к уровням ASN и стран. Вероятно, наши клиенты защищаются так от трафика, связанного с неким ASN (например — может ли трафик от облачного провайдера генерироваться обычными пользователями?), или защищаются от атак, выполняемых из каких-нибудь стран.

Далее идёт служба Security Levels. Этой службой пользуются двумя различными способами:

  1. Она может играть роль инструмента для приблизительной оценки репутации IP-адреса.
  2. Она может работать в режиме I’m Under Attack.

Хотя мы рекомендуем клиентам пользоваться режимом I’m Under Attack только тогда, когда они находятся под активной DDoS-атакой, некоторые наши клиенты держат систему в этом режиме всё время, используя её в роли примитивного механизма для ограничения скорости поступления запросов к сайту и для фильтрации трафика.

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

И наконец, некоторые наши клиенты настраивают показ капчи, создавая наборы правил Rate Limiting и Managed WAF.

Нас, кроме того, интересовал вопрос о типах наших клиентов, использующих капчу. За неделю наши клиенты, пользующиеся услугами бесплатно, запросили показ примерно 40-60% всех капч, выводимых Cloudflare. Этот показатель получен с учётом влияния на показ капч атак на сайты. Среди двух групп наших платных клиентов — корпоративных, и тех, кто оплачивает услуги по факту их оказания, оставшийся объём использования капчи делится примерно поровну. В целом, мы выяснили, что Cloudflare ежесекундно показывает несколько миллионов капч во время атаки на одного или нескольких наших клиентов.

О проблемах перехода на новую технологию


Когда мы меняем какую-то часть системы Cloudflare, это облегчает некоторым из наших клиентов жизнь, но другие клиенты сталкиваются с проблемами. Мы и команда разработчиков hCaptcha готовы к решению любых возникающих сложностей. Если вы или ваши пользователи сталкиваетесь со сложностями при использовании hCaptcha — просим вас написать об этом на форуме или открыть тикет поддержки, приведя при этом как можно более подробное описание случившегося.

Если это возможно — пожалуйста включите в сообщение Ray ID — идентификатор, который обычно появляется в нижней части CAPTCHA-страницы. Это поможет нам разобраться с тем, что пошло не так.


Ray ID

Итоги


Опыт подсказывает нам, что визуальная (и звуковая) капча — это далеко не идеальное решение множества сложных проблем. Cloudflare продолжает работать над тем, чтобы минимизировать число показываемых пользователям капч, и, в итоге, совсем от этой технологии отказаться. Мы планируем ещё писать об этом. И, кстати, знаете, как называется наш внутренний чат, в котором общается команда, занимающаяся работами по внедрению hCaptcha? Можно подумать, что этот чат называется New CAPTCHA. Но на самом деле это не так. Он называется (No)CAPTCHA.

Уважаемые читатели! Вы уже сталкивались с hCaptcha?

RUVDS.com
VDS/VPS-хостинг. Скидка 10% по коду HABR10

Комментарии 45

    +5
    Здравствуйте. Я робот Витя, пишу вам из 2222 года.
    Огромное роботское спасибо, за то, что исключили этих никчёмных людишек из нашего интернета!
      +1
      Да спасибо, что hCaptcha не ipv6. А еще она сделала privacy pass неудобным. А и да теперь google аккаунт не даёт пропускать каптчи.
      +1
      Вчера первый раз её увидел. hCaptcha требует JS, в отличие от gCaptcha. При включённом JS нет механизма пропуска, обязательно требует классифицировать изображения. Объективно менее удобна, если будет везде — поставлю Buster для авторешения.
        +2
        Как по мне hCaptcha удобна тем что известно количество действий. Там две вкладки, если сильно ошибся по новой. Плюс нет этих идиотских: «Выберите светофоры», я такие мог 5-7 раз подряд делать.
          +2
          Как эти капчи 3а$!@$!!! Я не робот! Я не бобот! Я не хобот! Сеть провайдера кишит ботнетами, поэтому капча при каждом чихе.
          А у меня просто не очень хорошее зрение… Я редко даже со 2-го раза доказать могу, что я не робот.
            –1
            А в чем проблема нажать на кнопку, которая предназначена для слабовидящих людей?
              +3
              Я просто закрываю сайт который просит капчу и больше не возвращаюсь. Нормальная такая самоцензура. Нормальные сайты капчу не просят.
                +2
                > А в чем проблема нажать на кнопку, которая предназначена для слабовидящих людей?

                Её там просто нет. Специально сейчас проверил.

                scrsht
                  0
                  На reCAPTCHA было, на h может еще не сделали.
                  0

                  А в чем проблема перестать идиотничать и не показывать капчу всем российским IP без разбора?

                    0
                    и несколько минут вслушиваться в гнусавые цифры читаемые на фоне шумов самой отсосной телефонной линии голосом менее талантливого диктора чем робот Microsoft Sam???
                  +1

                  Зато картинки в hCaptcha такие, что я, будучи человеком, их с большим трудом расшифровываю. В итоге на разгадывание уходит по нескольку минут в отличие от секунд у рекаптчи. А если пару раз не разгадаешь, то некоторые сайты вообще от ворот поворот показывают

                +11
                reCAPTCHA vs. hCaptcha. С точки зрения удобства живых пользователей — классическая аксиома Эскобара.
                  0

                  Multilanguage ?

                    0
                      0
                      Только перевод там много где машинный.
                    0
                    Всегда было интересно, неужели Cloudflare не в состоянии написать свой сервис captcha?
                    Имхо при такой нагрузке провайдера такого сервиса еще поискать надо, не каждый осилит.
                    Да и SLA приличный должен быть…
                      +8
                      больше всего я ненавижу в гугловской капче то, что для некоторых сайтов (видимо, где капча показывается чаще обычного) гугл начинает принудительно показывать эти картинки с мееедленным их исчезновением по клику. Причем чем более популярен сайт — тем оно медленнее работает. У меня на некоторых сайтах доходило до 3 и более минут на разгадывание капчи! Т.е. ткнул — ждешь секунд 20 пока картинка поменяется, ткнул — ждешь… Причем нет вообще никакого вменяемого способа решить эту проблему — тех поддержки не существует, куда-то жаловаться бесполезно.

                      Самое веселое, когда на сайте все формы восстановления пароля закрыты такой тормозящей капчей, т.е. тебе надо в процессе восстановления разгадать их штуки 4 — и на каждую по пять минут… Это жесть)
                        +3
                        Вот да. Выбешивает! И непонятно, за каким нужна это задержка. Робот что, подождать не сможет?
                          +3
                          там, кстати, еще веселее бывает: сначала тебе показывают капчу, где надо галочками выбрать 3 картинки, но она всегда считается неправильной, что бы ты там не выбрал. После чего тебе уже показывают с исчезающими картинками
                          Причем я так мучался где-то месяца два, потом оно само «починилось». Народ в интернете пишет про проблему, но там разные шаманские пляски и они, в общем-то, бессмысленные и не помогают. Ну за исключением смены ip, но как я уже писал — проблема проявлялась далеко не на всех сайтах, а, в частности, на файлообменниках и еще некоторых.
                            0
                            Вы вообще? Первый это для ИИ.
                          +1
                          Бывают медленно всплывающие, бывают и быстроменяющиеся. Но медленные не такие что за 20 сек., секунды 2...3 Больше меня бесит то, что эту капчу можно проходить бесконечно. Открываю ссылки из телеграмм канал и началось. Легче на сам сайт перейти и там эту новость найти и прочитать
                          0
                          Неужели с нынешними технологиями машинного обучения пытаться использовать простой генератор капчи, который работает на одном сервере, это совершенно нерабочая идея?
                            –1

                            Я один игнорю сайты если вижу на них капчу?

                              0
                              Зайдите через Tor, нынче добрая половина через Cloudfare работает.
                              +2
                              (offtop) Вот кто бы из добрых людей еще Яндекс уговорил капчу сменить?
                              Иногда нарочно захожу чтобы почитать эти их ребусы
                              «КОЛБАС… 35^1;»
                              «19-Д: ю АСТРОНОМИ...»
                              «ОГУРЕЦ 652 %Statement»
                              «ул.Ленина :35-Молоток»

                              Особенно жаль людей без кириллической раскладки. :)
                                –4
                                У яндекса капча вполне дружелюбная, имхо.
                                По крайней мере текст как правило хорошо читаемый, в отличии от других популярных капч. Картиночные иногда удобнее, но это ситуативно
                                +1

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

                                  0
                                  Удивлен что Гугловскую капчу считают ужасной. Как и все капчи, она конечно неудобная, особенно без логина. А с логином она проходится в 1 клик или даже без него. В этом смысле удобнее ничего нет.
                                    +3

                                    То есть это нормально, что людей загоняют в рабство хрому и гугловой учётке? И ведь если слежку трекерами аналитики заткнуть в принципе возможно, то рекапчу подсовывают слишком многие сервисы, если им просто не понравился IP-адрес или отсутствие логина у них

                                      0
                                      А кого загоняют, заставляют скачивать и регистрироваться?
                                      Если что, больше половины пользователей уже скачали и пользуются Хромом и столько же, если не больше, имеют аккаунт Гугла.
                                      0
                                      Я при _постоянной_ авторизованности в гугле РЕДКО когда прохожу её без долбанного «Выберите автомобили / пешеходные переходы / ...» в несколько циклов. На очередной проект буду искать какую угодно капчу, только не эту и ей подобные
                                      UPD: вероятно, дело в отключённых 3d party cookies. Но включать их ради капчи (тем более гугловской) совершенно не собираюсь
                                      +1
                                      Была одна рекапча, которая проходилась в один клик, за редким исключением. Теперь их две, и редких исключений станет в два раза больше. Первый опыт с хкапчей это пятиминутное разгадывание автобусов, с гугловкой секунд 5-10 уходило. Похоже придется подбирать расширение для автоматического их разгадывания, а они есть, что означает бессмысленность существования этих капч.
                                        +5

                                        Я не знаю что и как, но пока на форму обратной связи капчу не поставили — боботы долбили нещадно.
                                        После установки капчи спама стало ровно 0%.


                                        Так что увы и ах, это не мода и не прихоть, а жизненная необходимость ;(

                                          +1
                                          А не выплеснули ребенка вместе с водой? Может просто теперь вообще никто пробиться не может.
                                            0

                                            Нет, все хорошо (я специально про спам упомянул). Легитимные запросы доходят, кому не нравится — пишут на почту.

                                            0
                                            А обязательно было именно капчу, какие-нибудь простенькие ловушки для роботов уже не спасали?
                                              0

                                              Это надежно. Простенькие ловушки нужно было писать и обновлять/поддерживать. А так — интегрируем сторонний скрипт вызова и вуаля.
                                              Я сам не фанат капч, но пока что для нашего проекта это самое действенное. Вот станем большими, наберём кредитов, джунов толпу и тогда… /Сарказм

                                              +1
                                              Одно дело на форму обратной связи, вопросов нету, но для доступа к сайту, совсем другой вопрос.
                                                0

                                                У нас она на регистрации и форме обратной связи. Все остальное, конечно же, без капч, включая логин в личный кабинет.
                                                Мы ей именно закрываем самое уязвимое для тупых надоедливых ботов.

                                              –1
                                              Компания Cloudflare сообщила о том, что она недавно ПЕРЕШЛА C использования сервиса reCAPTCHA, предоставляемого Google, на сервис hCaptcha,
                                              Поэтому компания решила поделиться подробностями о переходе на reCaptcha и подготовила материал, перевод которого мы сегодня публикуем.
                                              Это как так? В первом же абзаце такая лажа
                                                0
                                                По опыту пользования гугла — даже на низком уровне защиты, при запросе 10-20 капч уже нет автопропуска. Хотя вроде бы в чём проблема — это не 20 запросов за секунду — это 20 запросов за 20 минут. Странное решение.
                                                С hCaptcha ещё интереснее — даже на низком уровне сложности я не видел пропуска (PrivacyPass не считается. Это дополнительное расширение, которое все подряд не будут ставить.).

                                                В итоге получается эскобар — reCaptcha немного тормознутее, совершенно точно тырит данные, но при этом достаточно часто срабатывает автоматом.
                                                hCaptcha — загружается быстрее, но решается дольше, скорее всего не тырит данные, постоянно требует вводить капчу.
                                                Итого пока побеждает reCaptcha, хотя я бы хотел ещё реже вводить капчу
                                                  +1
                                                  hCaptcha — мерзость, которая до сих не может (или не хочет) запомнить меня, ходящего в интернетики со статического белого ip. А уж две (а иногда и три!) страницы сэмплов для распознавания — уродство полнейшее, за это надо ссаными тряпками гнать из профессии.
                                                    0
                                                    Аналогичная проблема. Решил просто закрывать подобные сайты.
                                                    0

                                                    Я 1 раз всего увидел эту капчу и понял что мне путь закрыт на сайты с ней.
                                                    Мне не особо ясно что там люди боятся показывать гуглу, из-за чего появляются такие недоразумения как hCaptcha. Гуглу по-сути ваша информация нужна только для рекламы, вряд ли вы ему нужны для чего-то более. Такая странная фигня происходит сейчас с "безопастностью", почему-то все ей озабочились, хотя дальше чем попрыгать по верхам — не доходит. Почему не передать гуглу какую-то обезличенную информацию, если вы вот сейчас регистрируетесь на как-то левом сайте с емейлом и паролем, которые у вас используются везде… ?

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

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