ICMP-атаки: все, что вам нужно знать

Опубликовано: 2023-09-19

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

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

ICMP-атаки, представляющие собой отдельную группу атак типа «отказ в обслуживании», больше не являются основным инструментом в арсенале злоумышленника. Однако они продолжают сеять хаос в онлайн-бизнесе. Атаки Ping Flood, Smurf-атаки и так называемый пинг смерти – все это различные варианты ICMP-атак, которые по-прежнему могут представлять угрозу для сетевых операций по всему миру.

В этом руководстве по атакам ICMP вы узнаете, что такое ICMP и как хакеры используют его для отказа в обслуживании серверов и целых сетей. Мы углубимся в механизмы, лежащие в основе ICMP-атак, чтобы предоставить вам необходимые знания и инструменты для защиты вашего бизнеса от вреда, который они наносят.

ICMP-атака

Что такое ICMP?

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

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

Для чего используется ICMP?

Большую часть времени ICMP используется для обработки отчетов об ошибках в ситуациях, когда сеть назначения или конечная система не могут быть достигнуты. Сообщения об ошибках, такие как «Сеть назначения недоступна», происходят из ICMP и будут показаны вам, если ваш запрос не завершил запланированное путешествие. Поскольку сообщение ICMP включает в себя часть исходного запроса, система легко сопоставит его с нужным пунктом назначения.

Хотя отчеты об ошибках являются одним из основных применений протокола управляющих сообщений Интернета, ICMP поддерживает функциональность двух основных инструментов сетевой диагностики — ping и трассировки. Обе утилиты широко используются для тестирования сетевого подключения и отслеживания пути удаления сетей и конечных систем. И хотя ping и Traceroute часто используются как взаимозаменяемые, методы их работы существенно различаются.

Пинг и трассировка

Ping отправляет серию ICMP-сообщений типа эхо-запроса, ожидая эхо-ответов от хоста назначения. Если на каждый запрос будет получен ответ, Ping сообщит об отсутствии потери пакетов между системами источника и назначения. Аналогичным образом, если некоторые сообщения так и не дойдут до места назначения из-за перегрузки сети, утилита сообщит об этих пакетах как о потерянных.

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

Что делает ICMP простым в использовании?

Поскольку ICMP ограничен сетевым уровнем модели взаимодействия открытых систем (OSI), его запросы не требуют установления соединения перед передачей, как в случае с трехэтапным рукопожатием, введенным TCP и усиленным TLS с помощью использование сертификатов SSL/TLS. Это позволяет отправлять пинг-запросы в любую систему, что, в свою очередь, упрощает эксплуатацию.

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

ICMP-атаки как менее опасный тип отказа в обслуживании (DoS)

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

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

  • ICMP-атаки сосредоточены на сетевом уровне. ICMP работает на более низком уровне стека интернет-протоколов, и сообщения ICMP несут меньшую полезную нагрузку по сравнению с полезными нагрузками с большим объемом данных, используемыми в других атаках типа «отказ в обслуживании». Это упрощает выявление вредоносного ICMP-трафика.
  • ICMP-атаки имеют характерные закономерности. Вредоносные ICMP-сообщения часто имеют характерные закономерности, например поток эхо-запросов от одного и того же отправителя или определенные сообщения об ошибках.
  • ICMP-трафик легче ограничить. Сетевые администраторы могут ограничить или даже полностью отключить входящий и исходящий трафик ICMP, что не вызовет каких-либо заметных нарушений нормальной работы.

3 основных типа ICMP-атак

Три основных типа ICMP-атак включают ping-флуд, Smurf-атаки и пинг-атаки смерти. Каждый из них использует разные механизмы, но основное отличие заключается в типах ICMP-сообщений, которые используют киберпреступники.

Как мы уже говорили, за исключением утилиты Ping, которая генерирует эхо-запросы и направляет их к месту назначения, ICMP-сообщения обычно генерируются системой назначения, чтобы предупредить источник об определенной проблеме. Таким образом, вместо того, чтобы направлять поток ICMP-пакетов на систему жертвы, злоумышленники могут использовать более сложные методы, например, сделать жертву атаки злоумышленником в глазах другой жертвы.

Давайте подробнее рассмотрим каждый из трех наиболее распространенных типов ICMP-атак и посмотрим, как они вызвали массовые нарушения в работе Интернета до того, как были широко внедрены известные защитные механизмы.

Пинг-флуд

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

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

Как и в случае с любым другим типом DoS, злоумышленники могут использовать несколько хостов для проведения атаки ping-флуд, превращая ее в распределенную атаку типа «отказ в обслуживании» (DDoS). Использование нескольких источников атаки не только усиливает последствия атаки, но также помогает злоумышленнику избежать обнаружения и скрыть свою личность.

Распределенные атаки типа «отказ в обслуживании» обычно используют ботнеты – сети скомпрометированных конечных точек и сетевых устройств, контролируемых злоумышленником. Ботнеты создаются и расширяются путем заражения устройства жертвы специальным типом вредоносного ПО, которое позволит владельцу ботнета удаленно управлять скомпрометированной системой. Получив указание, зараженное устройство начнет подавлять цель атаки ping-флуд сообщениями эхо-запроса ICMP без ведома или согласия законного владельца.

Одна из самых известных крупномасштабных ping-атак произошла еще в 2002 году. Киберпреступники использовали ботнет для направления большого количества сообщений эхо-запросов ICMP на каждый из тринадцати корневых DNS-серверов имен. К счастью, поскольку коммутаторы пакетов за серверами имен уже были настроены на отбрасывание всех входящих пинг-сообщений, атака практически не повлияла на глобальную работу Интернета.

Атака смурфиков

Атаки Smurf превращают жертву в предполагаемого злоумышленника, создавая впечатление, будто эхо-запросы ICMP поступили из другого источника. Подменяя адрес отправителя, злоумышленники направляют большое количество ICMP-сообщений в сеть или сети устройств в надежде, что эхо-ответы перегрузят реальный хост жертвы — систему, указанную в качестве источника в исходных пинг-запросах.

Атаки смурфов когда-то считались серьезной угрозой для компьютерных сетей из-за их огромного потенциала разрушения. Однако на данный момент этот вектор атаки используется редко и обычно считается устраняемой уязвимостью. Это связано с тем, что абсолютное большинство фильтров пакетов автоматически отбрасывают ICMP-сообщения, идущие на широковещательный адрес, а значит, они направляются всем устройствам в сети назначения. Наличие такого правила предотвратит использование сети в атаке типа «отказ в обслуживании» Smurf, что фактически положит ей конец.

Пинг смерти

В то время как ping-флуд и smurf-атаки считаются атаками типа «отказ в обслуживании», ping of Death — это атака на уязвимость, направленная на то, чтобы вывести систему-жертву из строя путем отправки хорошо продуманных ICMP-сообщений в пункт назначения. Эта ICMP-атака считается менее распространенной, чем две другие DoS-атаки, которые мы обсуждали ранее. Тем не менее, он имеет наибольший потенциал разрушения.

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

Как обнаружить и смягчить ICMP-атаку?

Хакеры не выбирают, на какие веб-сайты и серверы нападать, особенно в случае крупномасштабных DDoS-атак. Если вы задаетесь вопросом: «Зачем хакеру атаковать мой веб-сайт?», важно помнить, что независимо от причины, знание способов смягчения атак ICMP имеет важное значение для обеспечения безопасности вашего присутствия в Интернете.

Защита от ICMP-атак, особенно в случае ping-флуда, не отличается от защиты от других типов атак типа «отказ в обслуживании». Ключевым моментом является выявление вредоносного трафика и блокирование его источника, эффективно лишая злоумышленников доступа к серверу.

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

Как защититься от ICMP-атак?

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

Чаще всего исходящий ICMP-трафик по умолчанию ограничивается программными брандмауэрами, поэтому велика вероятность, что ваш хостинг-провайдер уже сделал это за вас. Все полностью управляемые хостинговые решения, предлагаемые LiquidWeb и Nexcess, оснащены мощными правилами брандмауэра, которые практически не требуют корректировок для защиты от атак ICMP.

Как правило, если вы хотите, чтобы ваш сервер был доступен для обнаружения в глобальной сети с помощью утилит Ping и Traceroute, вы можете ограничить скорость входящих и исходящих ping-запросов. Конфигурация по умолчанию, которую имеют большинство программных брандмауэров, ограничивает количество входящих эхо-запросов ICMP до одного в секунду для каждого IP-адреса, что является хорошей отправной точкой.

Отличный способ защитить ваш сервер от ping-флуда и других ICMP-атак — использовать сеть доставки контента (CDN). Современные CND реализуют строгие правила брандмауэра и выполняют глубокую проверку пакетов, что значительно снижает количество вредоносных запросов, поступающих на ваш сервер. В случае ICMP-атак даже наборы правил брандмауэра по умолчанию, развернутые CDN, помогут эффективно защититься от ICMP-атак.

Защитите свой сайт WordPress с помощью iThemes Security Pro

Используя реализацию Internet Control Message в стеке протоколов, киберпреступники могут превратить фундаментальный компонент Интернета в опасное оружие, используемое для нанесения ущерба как предприятиям, так и частным лицам. ICMP-атаки, такие как ping-флуд или smurf-атаки, направлены на то, чтобы вызвать отказ в обслуживании путем перегрузки целевого хоста или сетевого устройства потоком вредоносных сообщений ICMP. Использование ботнетов и подмена исходного адреса помогают хакерам сделать ICMP-атаки еще более эффективными и значительно увеличить их потенциал уничтожения.

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

iThemes Security Pro и BackupBuddy гарантируют, что вы будете на шаг впереди угроз кибербезопасности, постоянно обеспечивая защиту вашего WordPress. Благодаря гибким расписаниям резервного копирования и восстановлению в один клик вы можете быть уверены, что чистая рабочая копия вашего веб-сайта WordPress надежно хранится в удаленном месте, куда хакеры не смогут добраться. Расширенная защита от перебора, многофакторная аутентификация, мониторинг целостности файлов и сканирование уязвимостей значительно уменьшат поверхность атаки и помогут вам с легкостью снизить любые угрозы.