Ping of death
Материал из Википедии — свободной энциклопедии
Ping of death — тип сетевой атаки, при которой компьютер-жертва получает особым образом подделанный эхо-запрос (ping), после которого он перестает отвечать на запросы вообще (DoS). Эта уязвимость была широко распространена в середине 1990-х годов на различных операционных системах и сетевых устройствах, включая Unix, Linux, Mac, Windows, сетевые принтеры и маршрутизаторы. Тем не менее, подавляющее большинство систем было исправлено в 1997—1998 годах, поэтому эта уязвимость ныне является исторической.
Содержание |
[править] Принципы атаки
Обычный эхо-запрос имеет длину 64 байта (плюс 20 байт IP-заголовка). По стандарту RFC 791 IPv4 суммарный объем пакета не может превышать больше 65 535 байт ((216 − 1)). Отправка же ICMP-пакета такого или большего размера может привести к переполнению сетевого стека компьютера и вызвать отказ от обслуживания. Такой пакет не может быть передан по сети целиком, однако для передачи его можно фрагментировать на несколько частей, число которых зависит от MTU физического канала.
При фрагментации каждая часть получает смещение фрагментации, которое представляет собой положение начала содержимого части относительно исходного пакета и занимает в заголовке IP-пакета 13 бит. Это позволяет получить максимальное смещение, равное 65 528 байт (
), что означает, что фрагмент с максимальным смещением не должен превышать 7 байт (65535 − 65528 = 7), иначе он превысит разрешённый размер IP-пакета, что может вызвать переполнение буфера приёмника, размер которого рассчитан на стандартный пакет, и аварийный останов компьютера.
Данная уязвимость применима к любому транспортному протоколу, который поддерживает фрагментацию (TCP, UDP, IGMP, ICMP и др.).
[править] Способы противодействия
Решением данной проблемы является введение дополнительной проверки размера собираемого пакета при получении, которая суммирует смещения фрагментации всех связанных пакетов. Если общая сумма превысит 65 535, пакет считается неправильным и отбрасывается. Подобная проверка может проводиться и в межсетевых экранах.

