
Инженер-администратор инфраструктуры kernel.org Константин Рябцев представил результаты исследования трафика к серверам сервиса git.kernel.org. Это анализ сетевых данных, который позволяет просматривать содержимое git‑репозиториев проектов, связанных с разработкой ядра Linux. Оказалось, что только 2% запросов к git.kernel.org формируют настоящие пользователи, а не боты/скрапперы, что значительно затрудняет работу ресурса.

Ежедневно сервис git.kernel.org обрабатывает около 6 млн запросов с данными о коммитах, из которых 66% приходятся на ботов. Эту сущности в проекте некоторое время удаётся блокировать при помощи системы Anubis.
По информации OpenNET, около 33% запросов на git.kernel.org проходят проверку системы Anubis. Эта платформа разрешающей вход только после подбора на языке JavaScript значения, хэш SHA-256 от которого в сочетании с выданной сервером строкой содержит определённое число лидирующих нулей (данная задача требует ресурсов CPU для решения, но не требует ресурсов для проверки).

В kernel.org не могут точно определить, кто из этих 33% пользователи, а кто продвинутые боты. Но по характеру обращений экспертами сделан вывод, что общая доля легитимных запросов примерно 2%, а остальные 98% приходятся на скрапперы. Одним из признаков ботов рассматриваются прямые запросы старых коммитов в случайных старых ветках, которые маловероятно, что могут понадобиться людям в работе. Активность ботов создаёт огромную паразитную нагрузку на серверы. Например, вместо того, чтобы один раз загрузить весь код и историю коммитов через операцию git clone боты отправляют миллиарды запросов, перебирая все варианты обращения через веб‑интерфейс и многократно запрашивая одни и те же данные с разными параметрами.

Некоторое время назад на kernel.org блокировка ботов по IP‑адресам и автономным системам перестала работать эффективно. Оказалось, что боты перешли на отправку запросов с миллионов случайных IP‑адресов из домашних или мобильных сетей, полученных в результате активности ботнетов или монетизации браузерных дополнений. Например, с каждого IP-адреса отправляется по 4–5 запросов, поэтому блокировать их на уровне межсетевого экрана оказывается неэффективно.

Ранее в команде проекта блокировать ботов помогала система Anubis. Со временем боты адаптировали для выполнения предлагаемых в Anubis вычислений. Например, боты научились решать задачу пятого уровня сложности. Дальше повышать уровень защиты оказалось проблематично, так как даже пятый уровень требует нескольких секунд вычислений и забрает дополнительное время работы у легитимных пользователей.
В итоге оказалось, чьл на обслуживание запросов скрапперов в инфраструктуре kernel.org команде проекта приходится тратить больше ресурсов, чем на все остальные виды легитимных операций, включая git clone.
На пяти серверах IT-инфраструктуры, обслуживающих git.kernel.org, в любой момент времени 14–16 из имеющихся 90 ядер процессорных систем постоянно заняты отображением git‑коммитов для ботов. Чтобы снизить нагрузку на серверы администраторы проекта начали урезать возможности сервиса. например, в команде отключают некоторые ресурсоёмкие операции, ограничивают анонимный доступ к системам и сокращают число доступных для навигации ссылок.

Что же нам теперь делать?
Неясно. Возможно, пузырь ИИ лопнет, и внезапно станет намного меньше организаций, пытающихся обучать свои модели. Или, может быть, они поумнеют и перестанут использовать наши данные самым глупым способом.
Что касается наших действий, мы отключаем функции, чтобы уменьшить количество индексируемых URL-адресов и ограничить действия, которые обходятся нам дорого. Ожидайте потери части функциональности, по крайней мере, при анонимном доступе к нашим ресурсам. Поверьте, мы ненавидим это так же сильно, как и вы, но на данном этапе это необходимость.
Хуже всего то, что простых решений проблемы нет. Компании, предлагающие собственные ИИ-модели, по-прежнему появляются ежедневно, и все они жаждут обучающих данных. Разработчики приложений по-прежнему ищут способы получения прибыли, поэтому они будут продолжать превращать вашу бытовую технику в векторы атак.
Тем не менее, мы обещаем по-прежнему предоставлять все наши данные для скачивания любому, кто попросит. Просто вам, возможно, придётся пройти через больше препятствий, чтобы их получить.
Извините. (Обязательно, по-канадски.)
Публикация-перевод на Хабре «99% трафика моего веб‑сайта составляют боты».
Источник: habr.com