браузеры с автоматизацией

Автоматизация браузеров: что это, история и как их использовали мошенники и тестировщики

В этой статье мы расскажем об истории и эволюции автоматизации различных действий и задач в браузерах, для чего т кого они создавались и как их стали использовать мошенники. От создания Selenium и WebDriver до Puppeteer и BiDi. Узнайте, как с ними борются системы кибербезопасности.

Зачем они нужны

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

Для чего это нужно (полезные задачи):

  • параллельное тестирование;
  • нагрузочное тестирование;
  • проверка ссылок на работоспособность;
  • сбор ключевых запросов и семантики на поиске и т. д.

Однако не все браузеры одинаково полезны. Мошенники также используют автоматизированные скрипты и инструменты для своих атак. Например, для скликивания рекламы на сайтах или в поиске.

Для чего их используют злоумышленники:

  • скрейпинг (сбор данных на сайтах);
  • коммерческий шпионаж;
  • скликивание и накрутка просмотров рекламы;
  • переход по вредоносным ссылкам;
  • загрузка рекламы в фоновых вкладках и т. д.

Браузеры с автоматизированным выполнением задач — это инструмент, который в руках мошенников становится настоящим оружием и сулит рекламодателям потерю контроля над своими рекламными бюджетами и кампаниями.

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

Неопытный вебмастер не отличит автоматизированный трафик с таких браузеров от подлинного.

Эволюция браузеров с автоматизацией: Selenium и WebDriver

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

Selenium

До 2004 года автоматизация браузеров была разрозненной. Решения были ненадежными и зависели от конкретных программ и платформ.

Сообщество тестировщиков нуждалось в единой платформе с открытым исходным кодом, которая могла бы работать в разных браузерах. Так и появился Selenium, который противопоставлялся доминирующей на тот момент среди тестировщиков программе Mercury Interactive.

Название Selenium было придумано в качестве шутки: слово mercury переводится как «ртуть», а селен является его антидотом. Selenium должен был «вылечить» текущее состояние автоматизации тестирования.

Вместе с этим программа упростила цифровым мошенникам скликивание рекламы. Например, в открытых репозиториях можно было встретить готовые и бесплатные скрипты по типу AdsSelenium, которых злоумышленники используют для выполнения автоматизированных кликов по рекламе в Яндекс или Google.

Альянс с WebDriver

В 2009 году Selenium объединился со своим основным конкурентом — WebDriver. Их разработчики взяли лучшее из каждой программы и создали многоуровневую архитектуру, которая стала стандартом для автоматизации браузеров.

Selenium предоставлял высокоуровневый API, а WebDriver выступал в качестве моста между API и браузером. Каждый браузер поддерживал свою собственную реализацию Webdriver, например: ChromeDriver для Chrome, GeckoDriver для Firefox.

Например, мошенники используют пакеты Selenium Python с инициализацией Webdriver для скрейпинга или парсинга с целью сбора контента и других данных с сайтов, видеохостингов и т. д.

Тем не менее, спецификация WebDriver включала в себя одну маленькую деталь, которая стала исторической: свойство navigator.webdriver в JavaScript Web API. Если в нем стояло значение true, то это означало, что браузер управляется через WebDriver, то есть с помощью автоматизации. Именно поэтому сайты блокировали те визиты, у которых в пользовательском агенте стояло именно это значение.

Это и послужило катализатором битвы за трафик между цифровыми мошенниками и системами кибербезопасности.

Headless Chrome и CDP

— Headless Chrome

В 2017 году у Chrome появился официальный headless-режим, который позволял запускать браузер без использования графического интерфейса. К сожалению, пользоваться им стали не только тестировщики, но и ботоводы.

— CDP

Chrome DevTools Protocol (CDP) — это протокол удалённой отладки (API), который позволяет разработчикам общаться с запущенным браузером Chrome. С его помощью можно проверять состояние пользовательского агента, управлять им и собирать информацию для отладки. Он был назван так потому, что изначально был просто средством связи между движком браузера и панелью DevTools. Позже он был усовершенствован.

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

CDP основан на WebSocket. Он поддерживает двунаправленный обмен сообщениями, что позволяет осуществлять прямой контроль над браузером на более низком уровне. После разветвления Webkit его разработка продолжилась, и Chrome DevTools Protocol достиг уровня контроля, намного превосходящего тот, который был возможен при использовании старого веб-драйвера на основе HTTP.

Puppeteer и Extra Stealth

В скором времени команда разработчиков Chrome DevTool запустила совершенно новую автоматизированную платформу для управления браузером с помощью CDP, полностью минуя WebDriver, — Puppeteer. Она быстро завоевала популярность среди тестировщиков благодаря своей мощности и гибкости.

Puppeteer стала популярна и в среде цифровых мошенников, однако такие визиты можно было легко обнаружить. Чтобы скрыть свою мошенническую активность, злоумышленники создали новый инструмент защиты от обнаружения: Puppeteer Extra Stealth.

Этот фреймворк предназначался для сокрытия как использования headless-режима, так и сигналов, специфичных для Puppeteer. То есть мошенники разработали универсальное решение, которое позволяло им избегать обнаружения системами антифрода. И все инструменты bot-as-a-service использовали его негласно.

Например, с помощью этой платформы, а также Playwright и некоторых облачных решений боты могут разгадывать капчи Google reCaptcha v2 и v3.

Headless Chrome 2022

В 2022 году году Chrome выпустил новую версию headless-режима. Это обновление перечеркнуло ряд методов обнаружения ботовой активности и сделало их неэффективными. Однако и в этом случае киберзащитные компании нашли выход.

Как боролись с автоматизированными бот-атаками

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

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

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

Headless и CDP. Наступил 2013 год — Chrome внедрил движок Webkit. У мошенников снова были развязаны руки. Правила игры были изменены двумя новыми факторами: headless Chrome и CDP (Chrome DevTools Protocol).

Определить, что пользователь при посещении сайта использует этот режим, можно было по следующим признакам: 1) в атрибутах браузера отсутствовали значения в navigator.plugins и navigator.mimeTypes; 2) в headless-режиме по умолчанию используется программный графический рендеринг, который можно обнаружить с помощью специальных проверок Canvas и WebGL.

Новая волна Headless-22. Чтобы бороться с новыми вызовами со стороны цифровых мошенников, разработчики систем кибербезопасности начали внедрять новые технологии, которые позволяли определять использование CDP в браузере. Однако и это вызывало новую волну разработки технологий и методов для обхода таких блокировок.

Будущее двунаправленного обмена

Сообщество тестировщиков, которое успешно использовало Puppeteer и Chrome DevTools Protocol для автоматизации своих задач, не остановилось на достигнутом. Не так давно был разработан новый стандарт под названием WebDriver BiDi (сокращение от bidirectional, то есть двунаправленный), который позволяет использовать возможности, подобные CDP, во всех браузерах.

Переход от классического WebDriver к BiDi в настоящее время идет полным ходом. С 2024 года, ровно через 20 лет после создания Selenium, BiDi полностью поддерживается несколькими крупными браузерами и платформами, такими как Google Chrome, Firefox, Puppeteer и BrowserStack.

Борьба с ботами продолжается

Разработчики систем кибербезопасности совершенствуют свои технологии выявления бот-атак, выполняемых при помощи автоматизированных браузеров. Начиная с первых дней существования Selenium и заканчивая последними разработками в области двунаправленного обмена, каждый шаг в области автоматизации сопровождался инновационными методами обнаружения.

Сервис Botfaqtor разрабатывает алгоритмы для обнаружения фродовых визитов в рекламе и на сайтах. С помощью наших инструментов вы можете обнаруживать и блокировать до 90% ботов в рекламном трафике, проверять площадки РСЯ, на которых размещаются ваши объявления, запрещать ботам отправлять фальшивые заявки с сайта, анализировать качество трафика.

Узнайте подробнее об инструментах защиты рекламы и сайтов. Попробуйте бесплатно на 7 дней на тарифе «Безлимитный» >>>


Подписывайтесь на наш ТГ-канал: рассказываем о реальных кейсах, тактиках и технологиях мошенников, факты о кликфроде и не только. Без спама и с пятничными мемами.


Об авторе

Алёна

Пишу о ботах и кибербезопасности

Просмотреть все сообщения

Добавить комментарий