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 включает следующие этапы:
- Формирование пакетов. Злоумышленник генерирует UDP-пакеты, в которых поле «IP-адрес источника» подменяется (спуфинг) на случайный или фиктивный адрес. Это затрудняет идентификацию реального источника атаки и блокировку трафика по IP.
- Выбор цели. Пакеты направляются на IP-адрес жертвы, часто на случайные или широковещательные порты (например, порт 53 — DNS, порт 123 — NTP, порт 161 — SNMP, или порт 0).
- Массовая отправка. С помощью одного или нескольких компьютеров (в случае распределённой атаки — DDoS) на цель обрушивается поток UDP-пакетов с высокой скоростью (от сотен тысяч до миллионов пакетов в секунду).
- Реакция жертвы. Получая пакеты на закрытые порты, система отправляет 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 →