Открыть сервис

UDP-flood

UDP-flood — это сетевая атака типа «отказ в обслуживании» (DoS), при которой злоумышленник отправляет на целевой узел (сервер, маршрутизатор, рабочую станцию) большое количество UDP-пакетов (User Datagram Protocol) с поддельными IP-адресами источника. Цель атаки — исчерпание ресурсов жертвы (пропускной способности канала, вычислительной мощности, памяти) и, как следствие, нарушение её нормального функционирования или полный отказ в обслуживании легитимных пользователей. UDP-flood относится к классу объемных (bandwidth-based) атак, так как её основная разрушительная сила заключается в генерации трафика, превышающего возможности сети или устройства.

Принцип работы

Протокол UDP, в отличие от TCP, является ненадёжным и не ориентированным на установление соединения. При отправке UDP-пакета отправитель не проверяет, существует ли принимающий узел, открыт ли на нём соответствующий порт, и готов ли он принять данные. Это свойство делает UDP удобным инструментом для атак: злоумышленнику не требуется завершать трёхэтапное рукопожатие (SYN, SYN-ACK, ACK), как в случае с TCP, и он может отправлять пакеты с минимальной задержкой.

Типичная атака UDP-flood включает следующие этапы:

  1. Формирование пакетов. Злоумышленник генерирует UDP-пакеты, в которых поле «IP-адрес источника» подменяется (спуфинг) на случайный или фиктивный адрес. Это затрудняет идентификацию реального источника атаки и блокировку трафика по IP.
  2. Выбор цели. Пакеты направляются на IP-адрес жертвы, часто на случайные или широковещательные порты (например, порт 53DNS, порт 123 — NTP, порт 161 — SNMP, или порт 0).
  3. Массовая отправка. С помощью одного или нескольких компьютеров (в случае распределённой атаки — DDoS) на цель обрушивается поток UDP-пакетов с высокой скоростью (от сотен тысяч до миллионов пакетов в секунду).
  4. Реакция жертвы. Получая пакеты на закрытые порты, система отправляет ICMP-сообщение «Destination Unreachable» (порт недоступен) обратно на поддельный адрес источника. Это дополнительно нагружает процессор и сетевой стек жертвы. Если же порт открыт, приложение вынуждено обрабатывать пакеты, что также потребляет ресурсы.

При достижении критического объёма трафика (например, заполнение канала до 10 Гбит/с и выше) сетевое оборудование (коммутаторы, маршрутизаторы) или сервер перестают справляться с нагрузкой: пакеты начинают отбрасываться, легитимные запросы не обслуживаются, а в некоторых случаях происходит полный отказ устройства.

Классификация

UDP-flood может быть реализован в нескольких вариантах, различающихся по механизму формирования трафика и используемым протоколам:

По типу атаки

  • Простой UDP-flood. Злоумышленник напрямую отправляет UDP-пакеты на цель. Требует высокой пропускной способности от атакующего.
  • UDP-амплификация (усиление). Используются уязвимости публичных серверов (например, DNS, NTP, SSDP, Memcached), которые в ответ на небольшой запрос отправляют значительно больший по размеру ответ. Злоумышленник отправляет запрос с поддельным IP-адресом жертвы, и сервер-усилитель направляет огромный ответ жертве. Коэффициент усиления может достигать 10–100 раз (например, для NTP — до 556, для Memcached — до 50 000). Это позволяет атаковать даже с маломощных устройств.
  • UDP-фрагментация. Пакеты отправляются фрагментированными, что заставляет жертву тратить ресурсы на сборку фрагментов, а также может обходить некоторые фильтры.
  • UDP-атака на прикладной уровень. Отправка корректных UDP-запросов к конкретному приложению (например, к DNS-серверу или игровому серверу), что приводит к исчерпанию ресурсов самого приложения.

По масштабу

  • DoS (Denial of Service). Атака с одного источника.
  • DDoS (Distributed Denial of Service). Распределённая атака с множества источников (ботнетов), что делает её гораздо более мощной и трудно блокируемой.

История и известные инциденты

UDP-flood известен с конца 1990-х годов, когда стали широко распространяться DoS-атаки. Одним из первых инструментов для его реализации был TFN (Tribal Flood Network), созданный в 1999 году. Впоследствии появились более совершенные ботнеты, такие как Stacheldraht, Trinoo, а затем — современные платформы для DDoS (например, Mirai, использующая IoT-устройства).

Крупные атаки с использованием UDP-амплификации:

  • 2013 год — атака на Spamhaus. Одна из крупнейших DDoS-атак в истории (до 300 Гбит/с) была проведена с использованием DNS-амплификации. Целью была организация Spamhaus, занимающаяся борьбой со спамом.
  • 2016 год — атака ботнета Mirai. Ботнет, состоящий из заражённых устройств Интернета вещей (камер, роутеров), использовал UDP-flood для атаки на DNS-провайдера Dyn, что привело к недоступности многих крупных сайтов (Twitter, Netflix, Reddit) на несколько часов. Мощность атаки достигала 1,2 Тбит/с.
  • 2018 год — атака на GitHub. Зафиксирована атака мощностью 1,35 Тбит/с с использованием Memcached-амплификации. GitHub был недоступен около 20 минут.
  • 2020-е годы. Регулярно фиксируются атаки мощностью в несколько терабит в секунду, часто с использованием комбинации UDP-flood и других методов (например, SYN-flood, HTTP-flood).

Методы защиты

Защита от UDP-flood требует многоуровневого подхода, включающего как сетевые, так и прикладные меры:

На уровне сети и оборудования

  • Фильтрация трафика. Настройка ACL (Access Control Lists) на маршрутизаторах и файрволах для блокировки UDP-пакетов с нелегитимными или подозрительными IP-адресами.
  • Ограничение скорости (rate limiting). Установка лимитов на количество UDP-пакетов в секунду для каждого IP-адреса или порта.
  • Использование BCP38 (Best Current Practice 38). Фильтрация пакетов с поддельными IP-адресами на границе сети провайдера.
  • Аппаратные средства защиты. Специализированные DDoS-защитные устройства (например, Arbor, Radware, F5) или облачные сервисы (Cloudflare, Akamai, AWS Shield), которые анализируют трафик и отбрасывают вредоносные пакеты до их попадания к цели.

На уровне операционной системы и приложений

  • Отключение ненужных UDP-сервисов. Закрытие портов, которые не используются (например, порты 53, 123, 161, 1900, 11211), чтобы снизить поверхность атаки.
  • Настройка iptables/nftables. В Linux можно добавить правила для ограничения UDP-трафика: iptables -A INPUT -p udp -m limit --limit 100/s -j ACCEPT.
  • Использование SYN-прокси и проверки состояния. Хотя UDP не имеет состояния, некоторые системы могут эмулировать проверку, отправляя запрос на подтверждение от источника (например, через ICMP), но это не всегда эффективно.

На уровне провайдера

  • Анализ трафика. Провайдеры могут отслеживать аномальные всплески UDP-трафика и блокировать его на магистральных маршрутизаторах.
  • Чёрные дыры (blackholing). Перенаправление трафика на нулевой интерфейс при превышении порога, что останавливает атаку, но также блокирует легитимный трафик.

Правовые аспекты в России

В Российской Федерации проведение DDoS-атак, включая UDP-flood, является уголовно наказуемым деянием. Согласно статье 273 Уголовного кодекса РФ «Создание, использование и распространение вредоносных компьютерных программ», а также статье 272 «Неправомерный доступ к компьютерной информации» и статье 274 «Нарушение правил эксплуатации средств хранения, обработки или передачи компьютерной информации и информационно-телекоммуникационных сетей», за организацию или участие в DDoS-атаках предусмотрена ответственность вплоть до лишения свободы на срок до 7 лет (при отягчающих обстоятельствах — до 10 лет). Кроме того, использование ботнетов и инструментов для атак (например, программ типа LOIC, HOIC, Slowloris) может быть квалифицировано как подготовка к преступлению.

Критика и ограничения

UDP-flood, несмотря на свою эффективность, имеет ряд недостатков с точки зрения атакующего:

  • Требовательность к ресурсам. Для проведения мощной атаки без амплификации необходимо обладать значительной пропускной способностью (сотни мегабит в секунду и выше), что доступно не каждому.
  • Уязвимость к фильтрации. Современные системы защиты, особенно облачные, эффективно отсекают UDP-flood, анализируя сигнатуры пакетов и поведение трафика.
  • Обнаружение источника. Если злоумышленник не использует спуфинг, его IP-адрес легко вычислить. При использовании спуфинга провайдеры могут применять методы отслеживания (например, через логирование пакетов на граничных маршрутизаторах).
  • Неэффективность против некоторых протоколов. Атака на UDP-порты, которые не обрабатываются приложением (например, закрытые), может быть легко заблокирована путём отключения ICMP-ответов.

Источники

  • Книга «Сетевая безопасность. Защита от DDoS-атак», автор А. В. Лукацкий, 2020.
  • Статья «DDoS-атаки: виды, методы защиты, законодательство», журнал «Хакер», 2021.
  • Документация Cisco по защите от DDoS (Cisco DDoS Protection Guide), 2022.
  • Материалы Positive Technologies: «Анализ DDoS-атак в 2023 году», 2023.
  • Уголовный кодекс Российской Федерации, статьи 272, 273, 274.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →