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

ICMP-flood

ICMP-flood — это разновидность сетевой атаки типа «отказ в обслуживании» (DoS-атака), при которой злоумышленник направляет на целевую систему большое количество ICMP-пакетов (обычно эхо-запросов, известных как «ping»), с целью исчерпания вычислительных ресурсов, пропускной способности канала связи или переполнения буферов сетевого оборудования, что приводит к недоступности легитимных сервисов.

Принцип действия

ICMP (Internet Control Message Protocol) — протокол межсетевых управляющих сообщений, используемый для передачи служебной информации, такой как диагностика соединений (команда ping) или сообщения об ошибках (например, «адресат недоступен»). В нормальной работе ICMP-пакеты имеют небольшой размер и не создают значительной нагрузки на сеть.

При ICMP-flood атакующий генерирует поток ICMP-пакетов с высокой интенсивностью, часто используя поддельные (спуфингованные) IP-адреса источника, чтобы затруднить идентификацию и блокировку трафика. Целевая система, получившая ICMP-эхо-запрос, по протоколу обязана отправить ответ (ICMP-эхо-ответ), что требует затрат процессорного времени и памяти. При лавинообразном потоке запросов ресурсы системы истощаются, и она перестаёт обрабатывать легитимные запросы.

История и развитие

Первые упоминания об ICMP-flood относятся к началу 1990-х годов, когда протокол ICMP был стандартизирован (RFC 792, 1981 год). С развитием интернета и ростом пропускной способности каналов атаки стали более масштабными. В 1996 году была опубликована утилита «Ping of Death», которая отправляла ICMP-пакеты с превышением максимального размера (65535 байт), вызывая переполнение буфера и крах системы. Хотя эта уязвимость была устранена в большинстве операционных систем, сама концепция ICMP-флуда осталась актуальной.

В 2000-х годах ICMP-flood часто использовался в составе распределённых атак типа DDoS (Distributed Denial of Service), когда атака ведётся одновременно с множества скомпрометированных машин (ботнетов). Примером может служить атака на серверы корпорации Microsoft в 2001 году, когда ICMP-флуд мощностью около 1 Гбит/с временно нарушил работу ряда служб.

Виды ICMP-flood

Классический ICMP-flood (ping flood)

Злоумышленник отправляет большое количество ICMP-эхо-запросов на один IP-адрес. Если атака ведётся с одного источника, она легко блокируется фильтрацией по IP. Однако в DDoS-варианте трафик поступает с тысяч различных адресов, что усложняет защиту.

Smurf-атака

Разновидность ICMP-flood, использующая широковещательные адреса сети. Атакующий отправляет ICMP-запрос с поддельным IP-адресом жертвы на широковещательный адрес сети. Все устройства в этой сети отвечают жертве, создавая лавину ответов. Этот метод усиливает атаку в несколько раз, но требует наличия сети, настроенной на приём широковещательных ICMP-пакетов (что редко встречается в современных конфигурациях).

ICMP-флуд с фрагментацией

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

Уязвимые системы и последствия

ICMP-flood может поражать любые устройства, поддерживающие стек протоколов TCP/IP: серверы, маршрутизаторы, коммутаторы, межсетевые экраны, а также конечные пользовательские компьютеры. Основные последствия:

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

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

Фильтрация трафика

  • Блокировка ICMP-трафика на межсетевом экране: многие администраторы полностью отключают приём ICMP-эхо-запросов извне, что предотвращает ICMP-flood, но может затруднить диагностику сети.
  • Ограничение скорости (rate limiting): настройка маршрутизатора или межсетевого экрана на ограничение количества ICMP-пакетов в секунду с одного источника.
  • Фильтрация по подозрительным признакам: блокировка пакетов с поддельными IP-адресами (anti-spoofing) с помощью технологии Unicast Reverse Path Forwarding (uRPF).

Настройка операционной системы

  • Изменение параметров ядра: в Linux можно уменьшить размер буфера ICMP-сообщений или отключить ответы на эхо-запросы (параметр net.ipv4.icmp_echo_ignore_all).
  • Использование брандмауэра: в Windows и Linux можно настроить правила, разрешающие ICMP-трафик только от доверенных источников.

Специализированные решения

  • Аппаратные и программные DDoS-защиты: облачные сервисы (например, Cloudflare, Akamai) и специализированные устройства (например, Arbor Networks) анализируют трафик и отбрасывают подозрительные ICMP-пакеты до того, как они достигнут цели.
  • Системы обнаружения вторжений (IDS): Snort, Suricata и другие могут выявлять аномально высокий уровень ICMP-трафика и автоматически блокировать источник.

Сетевые меры

  • Отключение широковещательных ICMP-запросов: на маршрутизаторах запрещается перенаправление широковещательных ICMP-пакетов, что предотвращает Smurf-атаки.
  • Использование VLAN и сегментации: ограничение области распространения ICMP-трафика внутри сети.

Современное состояние

В настоящее время ICMP-flood редко используется как изолированная атака из-за относительно низкой эффективности по сравнению с другими методами (например, UDP-флудом или HTTP-флудом). Однако он остаётся частью комбинированных DDoS-атак, где ICMP-трафик смешивается с другими протоколами, чтобы усложнить обнаружение. Согласно отчётам компаний по кибербезопасности (например, Kaspersky Lab, 2023 год), доля ICMP-флуда в общем объёме DDoS-атак составляет менее 5%, но он по-прежнему представляет угрозу для небольших сетей и систем со слабой защитой.

Интересные факты

  • В 1998 году хакерская группа «Cult of the Dead Cow» выпустила утилиту «Smurf», автоматизирующую Smurf-атаки, что привело к серии инцидентов в университетских сетях США.
  • ICMP-флуд может быть использован не только для атак, но и для тестирования устойчивости сети (стресс-тестирование) — однако такие действия требуют предварительного разрешения владельца системы.
  • Протокол ICMPv6 (для IPv6) также подвержен аналогичным атакам, хотя механизмы защиты в IPv6 более развиты.

Источники

  • RFC 792 — Internet Control Message Protocol (1981)
  • RFC 1812 — Requirements for IP Version 4 Routers (1995)
  • Kaspersky Lab. DDoS Attacks in Q1 2023. — Kaspersky, 2023.
  • Столлингс В. Компьютерные сети и интернет. — М.: Вильямс, 2019.
  • Официальная документация по настройке ICMP в Linux (kernel.org)

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

На главную BFOmetr →