ICMP
Что такое ICMP?
ICMPСетевой протокол управления и диагностики (RFC 792 для IPv4 и RFC 4443 для IPv6), которым узлы и маршрутизаторы сообщают об ошибках и состоянии пути.
Internet Control Message Protocol — неотъемлемая часть IP, описанная в RFC 792 для IPv4 и RFC 4443 для IPv6. Маршрутизаторы и конечные узлы используют его для отправки сообщений об ошибках (получатель недостижим, превышено время, требуется фрагментация) и диагностических запросов (echo request/reply, основа ping и traceroute). ICMP работает прямо поверх IP с номером протокола 1 (или 58 для ICMPv6) и не использует порты.
Он необходим для Path MTU Discovery (RFC 1191) и Neighbor Discovery в IPv6, поэтому сплошная блокировка ICMP нередко создаёт «чёрные дыры PMTU», в которых крупные пакеты тихо исчезают. Исторические злоупотребления хорошо задокументированы: Smurf attack (бюллетень CERT CA-1998-01) подменял адрес жертвы в качестве источника эхо-запросов, отправляемых на широковещательный адрес, усиливая поток; Ping of Death обрушивал стеки TCP/IP конца 1990-х годов собранными эхо-пакетами, превышавшими 65 535 байт; а инструмент Loki (выпуски Phrack 49 и 51, 1996-97) стал первопроходцем ICMP-туннелирования, пряча скрытую оболочку в полезной нагрузке эхо-пакетов. Сообщения ICMP redirect также можно подделать, чтобы отравить таблицу маршрутизации узла.
Защитные меры включают ограничение скорости ICMP вместо его отбрасывания, разрешение типов 3 и 4 плюс всех обязательных сообщений Neighbor Discovery в ICMPv6 (рекомендации RFC 4890), игнорирование ICMP redirect на укреплённых узлах и проверку полезной нагрузки эхо-пакетов в системах NDR/EDR на предмет туннелирования.
flowchart LR A[Host: ping] -->|Echo Request type 8| R[Router] R --> B[Target host] B -->|Echo Reply type 0| A R -.->|Time Exceeded type 11| A R -.->|Dest Unreachable type 3| A X[Attacker] -.->|Forged Redirect type 5| A
● Примеры
- 01
ping example.com отправляет эхо-запросы ICMP и измеряет время до получения эхо-ответов.
- 02
Маршрутизатор возвращает ICMP type 3 code 4, сообщая, что нужна фрагментация, но установлен бит DF.
● Частые вопросы
Что такое ICMP?
Сетевой протокол управления и диагностики (RFC 792 для IPv4 и RFC 4443 для IPv6), которым узлы и маршрутизаторы сообщают об ошибках и состоянии пути. Относится к категории Сетевая безопасность в кибербезопасности.
Что означает ICMP?
Сетевой протокол управления и диагностики (RFC 792 для IPv4 и RFC 4443 для IPv6), которым узлы и маршрутизаторы сообщают об ошибках и состоянии пути.
Как защититься от ICMP?
Защита от ICMP обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия ICMP?
Распространённые альтернативные названия: Протокол управляющих сообщений Интернета.