- Регистрация
- 21.07.20
- Сообщения
- 40.408
- Реакции
- 1
- Репутация
- 0
Объем трафика в интернете растет (
Итак, есть два типа веб-ботов — легитимные и зловредные. К легитимным можно отнести поисковые движки, RSS-ридеры. Примеры зловредных веб-ботов ― сканеры уязвимостей, скрейперы, спамеры, боты для DDoS-атак, трояны для мошенничества с платежными картами. После определения типа веб-бота к нему могут быть применены различные политики. Если бот легитимный, можно уменьшить приоритет его запросов к серверу или снизить уровень доступа к определенным ресурсам. Если бот определен как зловредный, можно его заблокировать или отправить в песочницу для дальнейшего анализа. Обнаруживать, анализировать и классифицировать веб-боты важно, так как они могут нанести вред: например, вызвать утечку важных для бизнеса данных. А также это снизит нагрузку на сервер и сократит так называемый шум в трафике, ведь до 66% трафика веб-ботов — это именно
Существующие подходы
Есть разные техники обнаружения веб-ботов в сетевом трафике, начиная от лимитирования частоты запросов к узлу, черных списков IP-адресов, анализа значения HTTP-заголовка User-Agent, снятия отпечатков устройства — и заканчивая внедрением CAPTCHA, и поведенческим анализом сетевой активности с помощью машинного обучения.
Но сбор репутационной информации об узле и поддержка в актуальном состоянии черных списков с помощью различных баз знаний и
Анализ поля User-Agent в первом приближении может показаться полезным, но ничто не мешает веб-боту или пользователю изменить значения этого поля на валидное, замаскировавшись под обычного пользователя и используя валидный User-Agent для браузера, или под легитимный бот. Назовем такие маскирующиеся веб-боты impersonators. Использование различных отпечатков устройства (отслеживание движения мыши или проверка возможности рендеринга HTML-страницы клиентом) позволяет выделять
Следует отметить, что обнаруживать веб-боты можно и онлайн: оценка сессии будет производиться в режиме реального времени. Описание такой постановки задачи можно найти у Кабри и соавторов [1], а также в работах Зи Чу [2]. Другой подход — анализировать только после завершения сессии. Наиболее интересен, очевидно, первый вариант, который позволяет принимать решения быстрее.
Предлагаемый подход
Для выявления и классификации веб-ботов мы использовали техники машинного обучения и стек технологий ELK (Elasticsearch Logstash Kibana). Объектами исследования стали HTTP-сессии. Сессия — последовательность запросов от одного узла (уникальное значение IP-адреса и поля User-Agent в HTTP-запросе) в фиксированном временном интервале. Дерек и Гохале для определения границ сессий используют 30-минутный интервал [3]. Илиу и др. утверждают, что такой подход не гарантирует реальной уникальности сессии, но все же допустимо. В силу того, что поле User-Agent может быть изменяемым, могут появиться больше сессий, чем есть на самом деле. Поэтому Никифоракис и соавторы предлагают более тонкую настройку, основанную на том, поддерживается ли ActiveX, включен ли Flash, разрешение экрана, версия ОС.
Мы же будем считать допустимой погрешность в формировании отдельной сессии, если поле User-Agent меняется динамически. А для выявления сессий ботов построим четкую бинарную модель классификации и будем использовать:
Для классификации веб-ботов по типу активности построим многоклассовую модель из таблицы ниже.
You must be registered for see links
и многие перевели свои активности в онлайн). Увеличивается и число автоматических средств взаимодействия с контентом на веб-сайтах и, как следствие, все большую актуальность получает фильтрация нежелательной автоматизированной активности. Сегодня до
You must be registered for see links
с помощью так называемых веб-ботов (или просто ботов). И в данном случае речь о любой активной в сети программе, вне зависимости от целей ее использования. Обычно такие программы выполняют повторяющиеся, простые в автоматизации действия. Например, поисковые движки Google или Yandex используют краулеры для периодического сбора контента и индексации страниц в интернете.Итак, есть два типа веб-ботов — легитимные и зловредные. К легитимным можно отнести поисковые движки, RSS-ридеры. Примеры зловредных веб-ботов ― сканеры уязвимостей, скрейперы, спамеры, боты для DDoS-атак, трояны для мошенничества с платежными картами. После определения типа веб-бота к нему могут быть применены различные политики. Если бот легитимный, можно уменьшить приоритет его запросов к серверу или снизить уровень доступа к определенным ресурсам. Если бот определен как зловредный, можно его заблокировать или отправить в песочницу для дальнейшего анализа. Обнаруживать, анализировать и классифицировать веб-боты важно, так как они могут нанести вред: например, вызвать утечку важных для бизнеса данных. А также это снизит нагрузку на сервер и сократит так называемый шум в трафике, ведь до 66% трафика веб-ботов — это именно
You must be registered for see links
.Существующие подходы
Есть разные техники обнаружения веб-ботов в сетевом трафике, начиная от лимитирования частоты запросов к узлу, черных списков IP-адресов, анализа значения HTTP-заголовка User-Agent, снятия отпечатков устройства — и заканчивая внедрением CAPTCHA, и поведенческим анализом сетевой активности с помощью машинного обучения.
Но сбор репутационной информации об узле и поддержка в актуальном состоянии черных списков с помощью различных баз знаний и
You must be registered for see links
— затратный, требующий больших усилий процесс, и при использовании прокси-серверов он не целесообразен.Анализ поля User-Agent в первом приближении может показаться полезным, но ничто не мешает веб-боту или пользователю изменить значения этого поля на валидное, замаскировавшись под обычного пользователя и используя валидный User-Agent для браузера, или под легитимный бот. Назовем такие маскирующиеся веб-боты impersonators. Использование различных отпечатков устройства (отслеживание движения мыши или проверка возможности рендеринга HTML-страницы клиентом) позволяет выделять
You must be registered for see links
, имитирующие поведение человека, например запрашивающие дополнительные страницы (файлы стилей, иконки и т. п.), парсящие JavaScript. Этот подход основан на внедрении кода на стороне клиента, что часто недопустимо, так как ошибка при вставке дополнительного скрипта может нарушить работу веб-приложения.Следует отметить, что обнаруживать веб-боты можно и онлайн: оценка сессии будет производиться в режиме реального времени. Описание такой постановки задачи можно найти у Кабри и соавторов [1], а также в работах Зи Чу [2]. Другой подход — анализировать только после завершения сессии. Наиболее интересен, очевидно, первый вариант, который позволяет принимать решения быстрее.
Предлагаемый подход
Для выявления и классификации веб-ботов мы использовали техники машинного обучения и стек технологий ELK (Elasticsearch Logstash Kibana). Объектами исследования стали HTTP-сессии. Сессия — последовательность запросов от одного узла (уникальное значение IP-адреса и поля User-Agent в HTTP-запросе) в фиксированном временном интервале. Дерек и Гохале для определения границ сессий используют 30-минутный интервал [3]. Илиу и др. утверждают, что такой подход не гарантирует реальной уникальности сессии, но все же допустимо. В силу того, что поле User-Agent может быть изменяемым, могут появиться больше сессий, чем есть на самом деле. Поэтому Никифоракис и соавторы предлагают более тонкую настройку, основанную на том, поддерживается ли ActiveX, включен ли Flash, разрешение экрана, версия ОС.
Мы же будем считать допустимой погрешность в формировании отдельной сессии, если поле User-Agent меняется динамически. А для выявления сессий ботов построим четкую бинарную модель классификации и будем использовать:
- автоматическую сетевую активность, созданную веб-ботом (метка bot);
- сетевую активность, созданную человеком (метка human).
Для классификации веб-ботов по типу активности построим многоклассовую модель из таблицы ниже.
Название | Описание | Метка | Примеры |
---|---|---|---|
Краулеры | Веб-боты, собирающие веб-страницы | crawler | SemrushBot, 360Spider, Heritrix |
Социальные сети | Веб-боты различных социальных сетей | social_network | LinkedInBot, WhatsApp Bot, Facebook bot |
RSS-ридеры | Веб-боты, собирающие информацию с помощью RSS | rss | Feedfetcher, Feed Reader, SimplePie |
Поисковые движки | Веб-боты поисковых движков | search_engines | Googlebot, BingBot, YandexBot |
Утилиты | Веб-боты, использующие различные библиотеки и утилиты для автоматизации | libs_tools | Curl, Wget, python-requests, scrapy |
Веб-боты | Общая категория | bots |