Типы DDoS атак и их последствия

13 августа 2025
Просмотров 4

Содержание:

DDoS-атака 3

Что происходит при DDoS атаке: схемы и цели

Атака DDoS (Distributed Denial of Service) — это не просто перегрузка сервера большим количеством подключений. Основная цель в том, чтобы сделать целевой ресурс недоступным легитимным пользователям путём намеренного и спланированного захламления его инфраструктуры. В процессе участвуют сотни, тысячи, а порой и миллионы разнородных устройств, скоординированных для генерации лавины запросов к одной системе — чаще всего веб-сайту, API, онлайн-сервису.

Почему DDoS бьет по серверу, а не по клиенту? Потому что сервер — конечная точка, обрабатывающая запросы, доставляющая контент, работающая с базой данных, авторизацией, логикой сайта. Каждый входящий запрос — это цепочка из операций: от приема пакета на уровне сети до выполнения PHP– или Python-скрипта. Когда таких запросов становится сотни тысяч в секунду, ресурс устает. Так работает back-end нагрузка.

Типовые цели атакующие выбирают в зависимости от стратегии:

  1. Выведение из строя: полная остановка ресурса, особенно для конкурентных сервисов, интернет-магазинов, SaaS-платформ.
  2. Отвлекающий маневр: DDoS используется как фоновое прикрытие для взлома, утечки данных, подмены DNS-записей или действий внутри сети.
  3. Репутационные атаки: снижение доверия к компании, если сайт недоступен в момент пиковых продаж.
  4. Экономическое давление: вынуждение компании платить “за тишину”, особенно в случае повторяющихся атак.

DDoS — это не «взлом» в прямом смысле. Его задача — не проникновение, а “изматывание” инфраструктуры. Сеть наполняется шумом, ресурсы распыляются на бессмысленные действия, легальные пользователи ждут загрузку страницы по 40 секунд и уходят.

Классификация: какие бывают типы DDoS атак и чем они отличаются

Практически все DDoS атаки можно разложить на три уровня в зависимости от того, какой части инфраструктуры наносится основной удар.

  1. Сетевой уровень (Network-level): здесь атакующие заполняют канал связи до предела. Используются техники:
    1. UDP Flood: отправка большого количества UDP-пакетов на случайные порты, провоцируя отклики и потребление ресурсов.
    2. ICMP Flood: атака с помощью ping-запросов, вызывающих отклики и нагрузки на сеть/CPU.
  2. Транспортный уровень (Transport-level): этот уровень эксплуатирует особенности протоколов TCP/UDP:
    1. SYN Flood: инициируются тысячи полуоткрытых соединений (SYN), сервер резервирует ресурсы, но клиент не завершает соединение.
    2. TCP Connection Flood: вал соединений, которые быстро открываются-закрываются или остаются “висящими”.
  3. Прикладной уровень (Application-level): самый сложный и коварный. Атакующие эмулируют действия реальных пользователей:
    1. HTTP Flood: серия GET или POST-запросов, идентичных обычному трафику.
    2. Slowloris: отправка HTTP-заголовков частями, сервер “держит” соединение, истощая пул соединений.
  4. HTTP/2 abuse: эксплуатация особенностей одновременной обработки множественных потоков в современном протоколе.

Разные типы атак требуют разных объемов трафика:

Тип атакиОсновная цельКакую часть системы нагружаетОбходит CDN?
UDP FloodИстощение каналаСетевой стекДа
SYN FloodИстощение TCP-соединенийСетевой/транспортный уровеньДа
HTTP FloodПерегрузка веб-приложенияПриложение/серверЗависит от настроек
SlowlorisЗанятие воркеров веб-сервераApache/Nginx-процессыЧастично

Пример: HTTP Flood может показаться обычным посещением. Бот обращается ко всем страницам, загружает изображения, даже нажимает «Купить» — только делает это со скоростью 100 RPS и с тысяч разных IP-адресов. Статистика Google Analytics при этом почти не показывает аномалии.

Методы DDoS атак: от ботнетов до современных обходов защиты

DDoS-атака 5

Самыми распространенными операторами DDoS-атак остаются ботнеты — распределенные сети заражённых устройств, управляемые централизованно через командный сервер. Сбор таких сетей начинается с массового заражения (например, через уязвимости в прошивках роутеров, камер наблюдения, устаревших версий CMS или IoT-устройств). Известная сеть Mirai включала до 600 000 устройств — один из крупнейших DDoS-ресурсов в истории.

Устройство ботнета часто выглядит следующим образом:

  1. Командный сервер (C&C) — принимает команды оператора и раздает инструкции ботам.
  2. Боты — устройства, отправляющие DDoS-трафик на заданные цели.
  3. Обфускация — шифрование команд, подписи трафика, ротация IP для усложнения обнаружения.

Но не только боты. Многие атаки строятся на принципе усиления — amplification:

  1. DNS Amplification: подделывается IP-отправителя в запросе к открытому DNS-серверу с большим ответом. В результате жертва получает лавину трафика без открытия сессий с атакующим.
  2. NTP Amplification: аналогичная техника с использованием серверов времени.

Обостряют ситуацию методы маскировки:

  1. IP spoofing: подделка IP-адресов отправителя, скрывая реального инициатора.
  2. Micro-bursting: атака с короткими пиками нагрузки, сложноотслеживаемыми системами мониторинга.
  3. IP rotation: постоянная смена IP-адресов с помощью прокси-сетей и ботов.

В последние годы активно используются так называемые “CDN-aware” атаки — они заранее сконструированы так, чтобы обходить или использовать в своих интересах легальные каналы доставки контента. Например:

  1. Атакующий узнает структуру кэширования CDN и генерирует уникальные запросы, которые CDN не кеширует, заставляя их идти до origin-сервера.
  2. Использование Cloudflare Workers, Google AMP или других edge-технологий для легитимного перенаправления запросов с вредной начинкой.

Также наблюдаются адаптивные DDoS-атаки. Пример сценария:

  1. Начинается массированная атака UDP Flood. Система защиты отбрасывает её, активирует защиту на L3.
  2. Атакующий переходит к медленному HTTP Flood с гео-распределением и нормальной user-agent строкой.

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

По данным Imperva, каждый третий L7-бот сейчас копирует поведение пользователя с учетом mouse movement patterns и cookies, чтобы обойти JavaScript-challenge на стороне защиты. Борьба уже перешла с уровня “фильтруем пакеты” к стадии “как отличить человека от машины без дискриминации легитимных действий” — и это делает современные DDoS не просто угрозой веб-инфраструктуре, а вызовом технологиям в области поведенческого анализа и машинного обучения.

Как понять, что на сайте происходит DDoS атака (и как отличить от обычной нагрузки)

DDoS-атака 4

Разобраться, подвергся ли сайт DDoS атаке, бывает не так просто. Особенно это касается атак на прикладном уровне, где запросы выглядят правдоподобно, а IP-адреса — допустимыми. Первым маркером становится аномальный рост метрик — но как отличить «вирусный» успех маркетинга от атаки?

На что в первую очередь стоит обратить внимание:

  1. Всплески на графиках трафика — если за 5 минут количество входящих соединений выросло в 30 раз, без очевидной причины. Особенно, если сегмент пользователей резко переместился: например, из России и СНГ в Бразилию, Индию или анонимные сети IP-аренды.
  2. Резкая смена источников подключений — множество различных IP, географии, user-agent строк без признаков когерентного поведения.
  3. Увеличение времени ответа сервера (TTFB, latency) и рост количества “висящих” соединений.
  4. Зависания админки, тайм-ауты при получении данных и скачки загрузки CPU — особенно на балансировщиках и в логах proxy-серверов.

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

Основные технические признаки:

  1. Количество активных соединений (TCP connections) превышает лимит пула, появляется очередь на балансировщике.
  2. Превышение лимитов на количество запросов в логи Nginx, Apache или Fail2ban.
  3. Ошибки 502, 504, нестабильная отдача CSS/JS, обрезанные коммутируемые сессии по WebSocket или обнуление token’ов авторизации.

Например, при HTTP Flood нагрузка на веб-приложение не всегда выражается в пиковом трафике, но производит разрушительный эффект за счёт максимального использования дорогостоящих операций — например, обращений к базе. Если один бот знает, что кнопка «Каталог» запускает медленный SQL-запрос, он просто повторяет его 1000 раз в секунду. Визуально метрики “нормальные”, но веб-сервер останавливается.

Какие ошибки вызывает DDoS, и что они говорят

DDoS-атака 6

Сам сайт на внешнем уровне в момент атаки может вести себя по-разному: от полной недоступности до «редких» тайм-аутов. Однако определённые ответы сервера (HTTP-коды) — лучший индикатор типа происходящей атаки.

  1. 502 Bad Gateway — ошибка от CDN/обратного прокси, означает, что запрос пользователя не смог корректно дойти до origin-сервера. Часто возникает, когда промежуточный сервер перегружен соединениями или не получает ответа вовремя.
  2. 503 Service Unavailable — сервер недоступен, чаще всего используется как официальная реакция на превышение лимита запросов. Иногда выставляется вручную при атаке.
  3. 504 Gateway Timeout — сервер не ответил вовремя. Признак, что обработка запроса «зависла» где-то на backend‘е: возможно, БД не отвечает, очередь запросов переполнена, возникло залипание на уровне балансов.

Ошибки на стороне клиента также закономерны:

  1. «Не удалось загрузить страницу», как реакция браузера на частичные ответы (например, CSS отдался, а JS — нет).
  2. Разрывы WebSocket — особенно опасно для онлайн-чатов, игр, финансовых систем.
  3. Обнуление сессий, потеря куки — из-за отказов в обработке фоновых запросов авторизации.

В самом приложении при L7 атаке наблюдаются:

  1. Перемежающая отдача картинок, стилей, шрифтов.
  2. Залипание или падение MySQL/PostgreSQL при десятках тысяч параллельных SELECT‘ов.
  3. Кэш Purge на стороне CDN, если атакующий вызывает запреты через HEAD/POST.

Пример: ботнет “научился” запрашивать динамическую витрину интернет-магазина тысячами POST-запросов с параметрами сортировки и фильтрации. PHP нагружается, кэш не работает, а сервер отдаёт 504 каждые 5 секунд. Пользователи думают: «Сайт лагает» — и просто уходят.

Чем отличается масштабная DDoS атака от “точечного” перегруза: на что смотреть

DDoS-атака 2

Ошибочно считать, будто только массивная DDoS-атака — проблема. Напротив, многие из наиболее разрушительных атак происходят при относительно низком количестве RPS (requests per second), но высоком IQ атакующего. Разберём два сценария.

  1. Сценарий A: 10 000 RPS с одного IP — легко определяются, фильтруются через geo/IP/country ACL.
  2. Сценарий B: 1500 RPS с 100 тысяч IP, разбросанных по всему миру, включая NAT-пулы обычных операторов — намного труднее обнаружить и остановить.

Второй случай требует менее «шумного» подхода. Используются прокси-цепочки, купленные IP-блоки, зараженные резидентные устройства (смартфоны, SmartTV), даже облачные аккаунты с виртуалками. Все выглядят как “нормальные” пользователи, но каждый генерирует 0.01 RPS — в итоге сайт падает.

Дополнительные признаки интеллектуальной атаки:

  1. Отключенные session cookies на 50% устройств (исключение повторного отслеживания).
  2. Большая доля TLS-соединений с «чистой криптографией» — никакого compromized SSL.
  3. Почти идеальный user-agent (от Safari до Samsung Browser).

Также бывают ситуации, когда сайт «ложится» вовсе не из-за атаки, а из-за неправильно настроенных фильтров или WAF (Web Application Firewall). Защитная система определяет легитимные действия как бот-трафик и режет его — это называется false positive. Парадокс DDoS в том, что иногда защита наносит урон больше, чем сама атака.

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

На что обращать внимание при защите: базовые и технические рекомендации

Успешная защита от DDoS-атак строится на многослойной архитектуре. Ошибка — пытаться решить проблему только на одном уровне (например, через модуль Apache). Атаки могут происходить на сетевом, транспортном, прикладном уровнях — следовательно, защита должна охватывать каждый из них.

Основные тактические меры защиты включают:

  1. Фильтрация на уровне сети (L3/L4):
    1. Rate Limiting — ограничение числа подключений с одного IP;
    2. Connection throttling — лимит активных сеансов с одного источника (например, не более 10 TCP-соединений в секунду);
    3. Geo-blocking — блокировка стран, с которыми нет клиентского взаимодействия.
  2. Транспортные фильтры:
    1. SYN-кэш — позволяет серверу задерживать создание полной TCP-сессии до подтверждения от клиента;
    2. RST/ACK анализ — автоматическое отбрасывание неоформленных соединений;
    3. Обнаружение ложных IP через ассиметрию маршрутизации (например, TCP Flag Analysis).
  3. Прикладной уровень (L7):
    1. JS-challenge — требование выполнить код на стороне клиента до обработки запроса;
    2. CAPTCHA или puzzle-проверка — особенно полезна на страницах формы и входа;
    3. Cookie-check — оценка того, может ли клиент сохранить и отдать обратно уникальный токен.

Хорошей практикой считается применение контрольных точек до попадания запроса на “глубину” приложения. Если бот не может пройти challenge или отдает подозрительный user-agent — его запрос останавливается до момента выполнения тяжёлой логики (например, SQL-запросов или рендеринга).

На крупных проектах рекомендуется активно использовать специализированные DDoS-фильтры. Среди них:

  1. Cloudflare: автоматическое определение атак, Rate Limiting, Firewall Rules;
  2. Radware DefensePro: NL и ML-анализ на аппаратном уровне;
  3. Imperva, Arbor, Qrator: SaaS-решения с возможностью подключения через GRE/IPSec тоннели.

Ключевой момент — атака может быть не моментальной, а разворачивающейся. За первые 30 минут в вас стреляют UDP, а затем — переключаются на долгие POST. Поэтому логирование и сохранение трафика в момент атаки особенно важно:

  1. PCAP трассировки — запись “сырых” пакетов;
  2. Логи балансировщиков, reverse proxy (nginx/HAProxy) с временем и статусами;
  3. События WAF и правила, которые сработали;
  4. Процентное соотношение успешных запросов к неуспешным в минуту времени атаки.

Часто после атаки необходимо не только обеспечить восстановление, но и расследовать инцидент: откуда шли атакующие, остались ли закладки (например, постоянные 10 RPS на «щуп»), какие IP участвовали. Без анализа логов это невозможно.

Проверка на DDoS-устойчивость: что можно сделать до атаки

DDoS-атака 7

Подготовка к DDoS — как страховка: когда всё хорошо, она кажется излишней, но в момент необходимости — незаменима. Чтобы оценить готовность сайта к атаке, нужно провести нагрузочное тестирование, близкое к реальной DDoS-среде.

Имитация нагрузок:

  1. Используйте утилиты вроде wrk, ab (Apache Benchmark), или k6 для создания множества HTTP-запросов;
  2. Инструменты типа Locust или JMeter позволяют моделировать именно пользовательское поведение (клики, формы, переходы);
  3. Важно: тестировать нужно в песочнице или на копии продакшн инфраструктуры — не делайте “стресс” на живом сайте!

Какие параметры мониторить:

  1. Время ответа (latency, TTFB);
  2. Процент ошибок (502/503/504);
  3. CPU, RAM и I/O на сервере или в Kubernetes pod‘ах;
  4. Уровень насыщения канала — можно запросить диаграммы у хостинг-провайдера или в панели CDN;
  5. Очередь запросов в ряде компонентов (Nginx worker queue, MySQL Thread pool, Kafka topics).

Для веб-приложений полезно зафиксировать момент, когда система начинает “сыпаться” — например, что при 6000 RPS сервер отдает стабильный статус 200 OK, а при 6700 уже начинаются статусы 503. Это так называемый срыв устойчивости.

Обратите особое внимание на:

  1. Страницы с тяжелым функционалом (много SQL, внешние API);
  2. Незащищенные эндпоинты (например, /checkout, /api/v3/status);
  3. Открытые websocket-подключения;
  4. Поведение под анонимизированным трафиком (через TOR, VPN, мобильные прокси);

Практика показывает: большинство сайтов в России не выдерживает и 300 RPS на прикладном уровне — особенно если не используется отдельный пул серверов под бэк-логику. Поэтому проактивная подготовка — это экономия времени, денег и нервов в случае инцидента.

Наличие заранее прописанных playbook’ов (чётких шагов действий на случай атаки), контактных лиц у провайдера и резервной схемы маршрутизации — та самая разница между «мы отбились» и «все упало, убыток 14 миллионов».

Обратитесь в German Web, чтобы получить качественный продающий сайт для вашего бизнеса. Опишите нам, каким вы видите свой будущий проект, а все остальные задачи мы возьмем на себя.