Как отличить легитимный трафик от сканирований: методы идентификации предварительных атак
Гонка без победителей
Представьте: ваша сеть чиста. На панельке SOC-а — зелёные иконки. Всё пингуется, трафик идёт. Легитимный, красивый трафик. DNS-запросы к корпоративному DNS-серверу. Шифрованный HTTPS-поток к .googleapis.com, .azureedge.net, update.microsoft.com. Ничего подозрительного, все знают эти домены. Они же белые и пушистые.
А теперь вытаскивайте голову из песка. Именно под этот шум — под рёв легитимного трафика — и работает сейчас любой уважающий себя оператор C2 (Command & Control).
Отрасль информационной безопасности находится в состоянии неустанной гонки между угрозами и средствами защиты от них. Сегодня даже мелкие организации не способны эффективно обеспечивать безопасность внутренних сетей при помощи одних только традиционных инструментов: файрволов и антивирусов. Злоумышленники научились маскироваться под легитимный трафик, используя шифрование, облачные сервисы и адаптивные профили нагрузки.
В этой статье мы разберём, как отличить легитимный трафик от сканирований, какие методы и инструменты существуют для идентификации предварительных атак, и как выстроить эффективную систему защиты.
Что такое легитимный трафик и чем он отличается от сканирований
Легитимный трафик
Легитимный трафик — это сетевые запросы, которые генерируются реальными пользователями или авторизованными сервисами для выполнения своих задач. Он характеризуется:
- Предсказуемыми паттернами поведения
- Соответствием бизнес-логике приложения
- Наличием корректных заголовков, User-Agent и TLS-отпечатков
- Естественной частотой и временем запросов
Сканирования и предварительные атаки
Сканирование — это процесс автоматизированного зондирования сетей, систем и приложений с целью выявления уязвимостей, открытых портов или слабых мест. Это первый этап любой целевой атаки, этап разведки.
Основные признаки сканирований:
- Необычно высокая частота запросов с одного IP-адреса
- Перебор стандартных путей и параметров
- Отсутствие корректных заголовков или использование подозрительных User-Agent
- Запросы к несуществующим страницам и эндпоинтам
- Использование нестандартных методов HTTP
Проблема в том, что современные сканеры и боты научились маскироваться. Они используют легитимные порты (53, 80, 443), хостятся на облачных платформах (AWS, Azure, Google Cloud), используют валидные TLS-сертификаты и мимикрируют под поведение нормального софта.
Основные методы идентификации нелегитимного трафика
1. Сигнатурный анализ
Сигнатурный анализ основан на сравнении трафика с базой известных атак и вредоносных паттернов. Он эффективен против известных угроз, но бесполезен против новых или модифицированных атак.
Где используется: в системах обнаружения вторжений (IDS) и антивирусных решениях.
Ограничения: не работает против zero-day атак и трафика, маскирующегося под легитимный.
2. Поведенческий анализ (Anomaly-based detection)
В отличие от сигнатурного, поведенческий анализ ищет аномалии — отклонения от нормального поведения. Сначала строится модель нормального взаимодействия: с каких локаций идут запросы, какие заголовки и методы используются, с какой интенсивностью. Затем все запросы сравниваются с этой моделью.
Как это работает на практике:
Разработчики приложений должны примерно понимать, как мыслит и действует DDoS-защитник, и заранее позаботиться о том, чтобы он смог распознавать и отсекать ботов.
Однажды специалисты StormWall обнаружили подозрительную волну запросов к приложению дистанционного банковского обслуживания. Обычно на него шёл поток в 500 запросов в секунду, но тут вдруг произошло резкое увеличение — до примерно 10 тыс. запросов в секунду. С каждого адреса источника приходило по 200 запросов в секунду, и все они получали ответ 401 Unauthorized. Подозревая начало атаки, специалисты решили блокировать такие запросы, однако вскоре банк связался с ними и выразил недоумение по поводу того, что стали блокироваться легитимные посетители. Оказалось, что приложение начало выгрузку данных, и эту волну запросов следует расценивать как нормальное поведение.
Этот кейс показывает, насколько важно правильно определять признаки легитимного трафика.
3. Анализ TLS-отпечатков и JA3
Современные боты используют валидные TLS-сертификаты и зашифрованные соединения. Однако TLS-рукопожатие сам по себе оставляет отпечатки — JA3-хэши, которые можно анализировать. Легитимные клиенты (браузеры) имеют характерные отпечатки, которые отличаются от отпечатков, генерируемых скриптами и ботами.
Yandex Smart Web Security использует отпечатки TLS-соединений для определения легитимных и подозрительных ботов.
4. Анализ User-Agent и HTTP-заголовков
Хотя User-Agent легко подделать, анализ совокупности заголовков даёт более точную картину. Легитимные браузеры отправляют согласованный набор заголовков (Accept, Accept-Language, Accept-Encoding, Connection и другие). Боты часто отправляют неполный или нелогичный набор заголовков.
5. Rate Limiting и анализ частоты запросов
Ограничение количества запросов с одного IP-адреса — классический метод борьбы со сканированиями и DDoS-атаками. Однако, как показывает практика, современные ботнеты распределяют нагрузку между тысячами IP-адресов, делая этот метод менее эффективным в одиночку.
6. Геолокационный анализ
Анализ географического происхождения запросов может выявить аномалии. Если ваш сервис предназначен для пользователей из России, а внезапно появляется огромный поток запросов из других стран — это повод для проверки.
7. Анализ бизнес-логики
Самые коварные атаки почти не создают нагрузки на канал и выглядят как действия обычного пользователя. Они используют сотни HTTP-сессий с тяжёлыми страницами, искусственные TLS-соединения от фальшивых клиентов, запросы к ресурсоёмким участкам приложения. Такой трафик сложно отфильтровать по сигнатурам: он долго остаётся незамеченным, пока сервер не начнёт терять доступность.
Анализ бизнес-логики помогает выявлять такие атаки: если пользователь выполняет действия, которые невозможны в рамках нормального сценария использования (например, запрашивает тысячи страниц за минуту), это явный признак автоматизированной атаки.
Инструменты для защиты и обнаружения
IDS и IPS: системы обнаружения и предотвращения вторжений
IDS (Intrusion Detection System) следит за трафиком и сигнализирует, если находит признаки атаки. Она не вмешивается в процесс, а лишь фиксирует: «происходит что-то подозрительное».
IPS (Intrusion Prevention System) — это цифровой «телохранитель» для вашей сети. Она постоянно отслеживает весь входящий трафик и в случае угрозы не просто сообщает о проблеме, а сразу принимает меры: блокирует, обрывает соединение, изолирует. IPS принимает решения самостоятельно и может:
- сбросить соединение
- заблокировать IP-адрес источника
- закрыть порт
- уведомить администратора
Ключевое отличие IPS от файрвола: межсетевой экран фильтрует трафик по статичным правилам («разрешить порт 443», «запретить IP-адрес из чёрного списка»). Он не анализирует суть передаваемых данных, только их обёртку. IPS работает глубже: она исследует содержимое пакетов, может распознать попытку SQL-инъекции, эксплойт или вредоносный код внутри легального на первый взгляд трафика.
WAF (Web Application Firewall)
WAF специализируется на защите веб-приложений и API. Он анализирует HTTP-трафик и блокирует атаки на прикладном уровне (L7): SQL-инъекции, XSS, CSRF и другие. Современные WAF используют машинное обучение для выявления аномалий и адаптации к новым угрозам.
Управление роботизированным трафиком
Веб-ресурсы обрабатывают значительную долю роботизированного трафика. При этом часть ботов — легитимные и необходимы для работы различных веб-сервисов: веб-краулеры, которые индексируют контент для поисковой выдачи, боты-архиваторы, боты для SEO-оптимизации. Но есть и большое количество вредоносных ботов: DDoS-ботнеты, сканеры уязвимостей, боты для мошенничества и кражи данных, фродеры.
Для защиты важно настроить фильтрацию таким образом, чтобы не затруднять работу полезных роботов, но при этом минимизировать активность вредоносных.
Современные платформы предоставляют:
- Списки категорий верифицированных ботов по их назначению (AcademicResearchBot, AISearchBot)
- Актуальные списки легитимных ботов различных сервисов (Yandex, Googlebot, Bing)
- Возможность использовать признак верифицированного бота
- Настройку порогов оценки бота (Bot Score) для индивидуальной настройки правил
SIEM-системы
SIEM (Security Information and Event Management) собирает и коррелирует события из различных источников: логов серверов, сетевых устройств, систем безопасности. Это позволяет выявлять сложные, многоэтапные атаки, которые не видны при анализе отдельных источников.
Черные списки (Feed-листы)
Использование списков IP-адресов и доменов, связанных с вредоносной активностью, помогает блокировать известные угрозы. Например, проект Feodo Tracker отслеживает ботнеты и их командные серверы (C2). Проект SSLBL фокусируется на отслеживании злоупотреблений SSL/TLS-сертификатами и IP-адресами, которые используются ботнетами. CINS Army предоставляет списки IP-адресов, связанных со сканированием портов, атаками перебора, распространением вредоносного ПО и фишинговыми атаками.
Практические рекомендации по выявлению сканирований
1. Создайте профиль нормального трафика
Составьте подробное описание того, как работает ваше приложение (его профиль): с каких локаций идут запросы, какие заголовки и методы используются, с какой интенсивностью. На основе этого описания выстройте модель нормального взаимодействия.
2. Анализируйте не только объем, но и качество трафика
Как показывает кейс с банковским приложением, резкий рост числа запросов может быть вызван легитимными причинами. Важно анализировать не только количество запросов, но и их характер: какие эндпоинты запрашиваются, какие параметры передаются, какие ответы возвращаются.
3. Используйте многоуровневую защиту
Комбинируйте различные методы и инструменты:
- Фаерволы для базовой фильтрации
- IDS/IPS для обнаружения и предотвращения вторжений
- WAF для защиты веб-приложений
- SIEM для корреляции событий
- Системы управления ботами для фильтрации роботизированного трафика
4. Отслеживайте C2-трафик
Командные серверы (C2) злоумышленников часто маскируются под легитимный трафик: используют порты 53 (DNS), 443 (HTTPS), 80 (HTTP), хостятся на легитимных облачных платформах. Отслеживайте аномальные DNS-запросы (например, запросы к странным субдоменам) и необычные паттерны HTTPS-соединений.
5. Автоматизируйте, но не полагайтесь только на автоматизацию
Автоматические системы хороши для обнаружения известных угроз, но они могут давать ложные срабатывания или пропускать сложные атаки. Регулярно проводите ручной анализ логов и аудит безопасности.
6. Проводите регулярное тестирование на проникновение
Внешнее тестирование на проникновение позволяет выявить уязвимости до того, как их обнаружат злоумышленники. Это помогает понять, как выглядят сканирования и атаки со стороны, и настроить защиту соответствующим образом.
Отличить легитимный трафик от сканирований становится всё сложнее. Злоумышленники научились маскироваться: их C2-трафик использует легитимные порты и протоколы, хостится на облачных платформах, использует валидные TLS-сертификаты и мимикрирует под поведение нормального софта.
Эффективная защита требует комплексного подхода:
- Сочетания сигнатурного и поведенческого анализа
- Использования IDS/IPS, WAF и систем управления ботами
- Создания профиля нормального трафика и постоянного мониторинга отклонений
- Регулярного аудита и тестирования на проникновение
Как показывает практика, даже мощные сигнатурные базы и современные файрволы могут быть бесполезны против тех, кто умеет думать. Побеждают не те, у кого больше правил или дороже оборудование, а те, кто понимает природу трафика и умеет видеть аномалии там, где другие видят норму.
Помните: задача злоумышленника — не спрятаться в темноте, а раствориться в свете. Ваша задача — научиться видеть свет, в котором скрывается тень.