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

в 12:16, , рубрики: captcha, Блог компании RUVDS.com, информационная безопасность, разработка, Разработка веб-сайтов

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

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

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

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

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

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

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

В 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-страницы. Это поможет нам разобраться с тем, что пошло не так.

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

Ray ID

Итоги

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

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

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

Автор: ru_vds

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js