Общие атаки DoS

Некоторые атаки DoS можно использовать для нескольких типов систем. Мы будем называть такие атаки общими (generic). В основном общие атаки направлены на насыщение полосы пропускания или захват ресурсов. Стандартным элементом атак этого типа является манипулирование протоколами. При использовании протокола ICMP одновременно можно воздействовать на несколько систем. Например, взлом-шик может воспользоваться "почтовой бомбой" и отправить тысячи почтовых сообщений целевой системе, чтобы насытить полосу пропускания и истощить ресурсы почтового сервера. Хотя вирус Melissa не планировалось использовать в качестве средства генерации атаки DoS, однако на гребне лавины почтовых сообщений он может привести к краху почтового сервера. Его саморепликация оказалась настолько успешной, что из-за недостатка ресурсов почтовые серверы просто завершают свою работу.
Поскольку невозможно проанализировать все условия возникновения состояния DoS, оставшуюся часть мы посвятим атакам DoS, применимым к большинству компьютерных сетей.

Атака Smurf


Атака Smurf — это одна из наиболее опасных атак DoS, поскольку при ее реализации на целевые узлы осуществляется усиленное воздействие. Эффект усиления возникает из-за рассылки направленных широковещательных ping-запросов на узлы сети, которые должны сгенерировать ответные сообщения. Направленный широковещательный запрос может передаваться либо на сетевой адрес, либо на сетевой широковещательный адрес, однако в любом случае требуется устройство, выполняющее преобразование данных уровня 3 (IP) к уровню 2 (сеть). (Более подробную информацию по этому вопросу можно получить в документе RFC 1812, Requirements for IP Version 4 Routers.) Если предполагается, что сеть принадлежит к классу С, то сетевым адресом будет .0, а широковещательным адресом — .255. Направленные широковещательные запросы обычно используются для диагностики, позволяя выявить функционирующие узлы без использования утилиты ping отдельно для каждого адреса используемого диапазона.
Атака Smurf позволяет воспользоваться преимуществами рассылки широковещательных направленных запросов и требует как минимум трех участников: взломщика, усиливающей сети (amplifying network) и цели. Злоумышленник отправляет ложные ICMP-пакеты ECHO на широковещательный адрес усиливающей сети. Исходный адрес пакетов подменяется так, как будто бы сама жертва сгенерировала запрос. Затем начинается самое интересное. Как только пакет ECHO передается на широковещательный адрес, все системы усиливающей сети сгенерируют ответ на запрос узла-жертвы (если не запланированы какие-нибудь другие действия). Если взломщик отсылает один ICMP-пакет в усиливающую сеть, в которой содержится 100 узлов, генерирующих ответные сообщения на широковещательный запрос, то можно считать, что взломщик в сто раз увеличил эффективность атаки DoS. Отношение количества переданных пакетов к числу узлов, генерирующих ответные сообщения, мы называем коэффициентом усиления (amplification ratio). Таким образом, взломщик постарается найти усиливающую сеть с большим коэффициентом усиления, чтобы увеличить вероятность насыщения трафика целевой сети.
Для того чтобы лучше познакомиться с атакой такого рода, рассмотрим пример. Предположим, что взломщик отправил 14 К данных ICMP на широковещательный адрес усиливающей сети со ста узлами. Сеть взломщика подсоединена к Internet через двухканальное соединение ISDN; усиливающая сеть — через линию связи ТЗ (45 Мбит/с); а целевая сеть — через канал Т1 (1.544 Мбит/с). Нетрудно подсчитать, что в данном случае взломщику удастся сгенерировать 14 Мбит данных, которые будут отправлены в целевую сеть. Это практически не оставит ей шансов на выживание, поскольку вся доступная полоса пропускания линии связи Т1 будет быстро занята.
Один из вариантов описанного подхода называется атакой Fraggle ("осколочная граната"). При этом выполняются все те же действия, за исключением того, что вместо ICMP-пакетов используются дейтаграммы UDP. Взломщик может отправлять ложные пакеты UDP на широковещательный адрес усиливающей сети, обычно на порт 7 (echo). При этом каждый узел или сеть с активной службой echo сгенерируют для целевого узла ответное сообщение, тем самым значительно увеличивая количество передаваемых данных. Если на каком-либо из узлов усиливающей сети служба echo отключена, то будет сгенерировано ICMP-сообщение о недостижимости, что также приведет к насыщению полосы пропускания.

Контрмеры: защита от атак Smurf


Для того чтобы предотвратить возможность использования вашей сети (компьютера) для усиления, запретите прохождение направленных широковещательных запросов на пограничном маршрутизаторе. На маршрутизаторах Cisco для этого можно воспользоваться командой no ip directed-broadcast. На устройствах Cisco IOS версии 12 этот режим включен по умолчанию. При использовании других устройств обратитесь к документации, входящей в комплект поставки.
Кроме того, некоторые операционные системы можно настроить так, чтобы отбрасывались все широковещательные ICMP-пакеты ECHO.

Системы Solaris 2.6, 2.5.1, 2.5, 2.4 и 2.3


Чтобы предотвратить генерацию ответных сообщений на запросы ECHO в системах Solaris, добавьте в файл /etc/rc2 .d/S69inet следующую строку, ndd -set /dev/ip ip_respond_to_echo_broadcast 0

Linux


Для того чтобы обеспечить такую же защиту в системе Linux, необходимо активизировать функции брандмауэра на уровне ядра с помощью утилиты ipfw. Убедитесь, что эти требования учтены при компиляции ядра и выполните следующие команды

ipfwadm -I -a deny -Р icmp -D 10.10.10.0 -S О/О 0 8
ipfwadm -I -a deny -Р icmp -D 10.10.10.255 -S О/О 0 8

При этом не забудьте заменить строку 10.10.10.0 своим сетевым адресом, а 10.10.10.255 — сетевым широковещательным адресом.

FreeBSD


Система FreeBSD версии 2.2.5 и выше запрещает обработку направленных широковещательных запросов по умолчанию. Этот режим можно активизировать или отключить, изменив параметр sysctl в файле net. inet. icmp. bmcastecho.

AIX


Система AIX 4.x запрещает генерировать ответные сообщения на широковещательные запросы по умолчанию. Для переключения этого режима можно воспользоваться командой по с параметром bcastping. Эта команда служит для настройки сетевых атрибутов в выполняющемся ядре. Данные атрибуты должны устанавливаться при каждом запуске системы.

Все версии системы UNIX


Для того чтобы предотвратить генерацию узлами сообщений в ответ на атаку Fraggle, отключите службы echo и chargen в файле /etc/inetd/conf, поместив в начало соответствующих строк символ #.