Зачастую гораздо проще нарушить функционирование сети или системы, чем на самом деле получить к ней доступ. Сетевые протоколы типа TCP/IP были разработаны для применения в открытом и доверенном сообществе пользователей, и его текущая версия 4 унаследовала все слабые места своих предшественников. Кроме того, многие операционные системы и сетевые устройства имеют различные изъяны в используемой реализации сетевого стека, что значительно снижает их способность противостоять атакам DoS. Мы были свидетелями, как на устройствах управления различными процессами, в которых использовался устаревший стек протокола IP, сбой происходил от простого перенаправления ICMP с некорректным параметром. Поскольку существует много средств для реализации атак DoS, очень важно идентифицировать их типы, а также разобраться с тем, как выявить и предотвратить эти атаки. Сначала мы познакомимся с теорией, лежащей в основе четырех стандартных типов атак DoS.
Насыщение полосы пропускания
Наиболее коварной формой атак DoS является насыщение полосы пропускания (bandwidth consumption). По существу, взломщики могут заполнить всю доступную полосу пропускания определенной сети. Это можно осуществить и в локальной сети, однако чаще всего злоумышленники захватывают ресурсы удаленно. Для реализации такой атаки можно воспользоваться двумя сценариями.
Сценарий 1 Взломщик может насытить сетевое подключение целевой системы, воспользовавшись более широкой полосой пропускания. Такой сценарий вполне возможен, если злоумышленник обладает сетевым подключением Т1 (1.544 Мбит/с) или более быстрым, и лавинно заполняет сетевое соединение с полосой пропускания 56 или 128 Кбит/с. Это эквивалентно столкновению трактора-тягача с автомобилем Yugo: большее транспортное средство, или в данном случае канал, наверняка станет победителем в этой битве. Этот тип атак не ограничивается возможностью применения к низкоскоростным сетевым соединениям. Нам встречались ситуации, когда взломщики получали доступ к сетям с полосой пропускания более 100 Мбит/с. Для атаки на Web-узел и насыщения его канала взломщику достаточно иметь канал Т1.

Сценарий 2
Взломщики усиливают атаку DoS, вовлекая в процесс насыщения целевого вого соединения несколько узлов. Воспользовавшись таким подходом, сеть с доел ТЗ (45 Мбит/с) можно насытить с помощью канала связи 56 Кбит/с. Благодаря чему это возможно? Используя другие узлы для усиления атаки DoS, взломщик с помощью ограниченной полосы пропускания может насытить полосу пропускания 100 Мб Для того чтобы успешно реализовать эту возможность, взломщик должен привлечь дополнительные узлы. Как вы увидите ниже в данной главе, в некоторых случаях осуществить усиление атаки гораздо проще, чем может показаться на первый взгляд.
На протяжении всей книги многократно упоминалось об опасности трафика ICMP. Несмотря на то, что пакеты ICMP удобно использовать для сетевой диагностики, можно легко захватить график ICMP и воспользоваться им для атак с насыщением полосы пропускания. Кроме того, такие атаки могут оказаться еще более разрушительными, поскольку большинство взломщиков скрывают свой адрес. Это значительно затрудняет выявление реального злоумышленника.
Недостаток ресурсов
Атака, приводящая к недостатку ресурсов (resource starvation), отличается от предыдущей атаки тем, что она направлена на захват системных ресурсов, таких как центральный процессор, память, дисковые квоты или другие системные процессы. Зачастую взломщик обладает легитимным доступом к ограниченному количеству системных ресурсов. Однако он предпринимает попытку захватить и дополнительные ресурсы. Таким образом, система или законные пользователи будут испытывать достаток в совместно используемых ресурсах. Атаки такого типа обычно приводят к недоступности ресурса, и, следовательно, к краху системы, переполнению файловой системы или зависанию процессов.
Ошибки программирования
Ошибки программирования (programming flaw) заключаются в неспособности приложения, операционной системы или логической микросхемы обрабатывать исключительные ситуации. Обычно эти ситуации возникают при передаче уязвимому элементу санкционированных данных. Взломщики будут много раз передавать пакеты, в которых не учитываются рекомендации документов RFC, чтобы определить, способен ли сетевой стек справиться с этими исключениями или это приведет к панике ядра (kernel par или краху всей системы.
Для определенных приложений, которым требуются пользовательские входные данные, взломщики будут передавать строковые данные длиной в тысячи строк. Если программой используется буфер фиксированной длины, скажем, 1 байт, то злоумышленники попробуют сгенерировать условие переполнения буфера вызвать крах приложения. Что еще хуже, взломщики могут также выполнить привилегированные команды, как описывалось в главах 5 и 7. Ошибки программирования час встречаются и в логических микросхемах. Печально известная атака под назван" Pentium f00f основывается на том, что пользовательский процесс, выполнив некорректную инструкцию Oxf00fc7c8, приведет к краху любой операционной системы.
Не трудно догадаться, что программы, операционной системы или даже центрального процессора, в которых отсутствуют любые дефекты, не существует. Взломщика прекрасно известна эта аксиома. Будьте уверены, что они полностью воспользуются преимуществами краха важных приложений. К сожалению, в большинстве случаев в атаки происходят в совершенно неподходящее время.

Атака на DNS
Такие атаки DoS основываются на манипуляции записями таблицы маршрутизации, что приводит к прекращению обслуживания легитимных систем или сетей. Большинство протоколов маршрутизации, такие как RIP версии 1 (Routing Information Protocol) и BGP (Border Gateway Protocol), не имеют вообще или используют слабые алгоритмы аутентификации. Это предоставляет взломщикам прекрасную возможность изменять маршруты, зачастую указывая ложный исходный IP-адрес и вызывая состояние отказа в обслуживании. В результате таких атак трафик целевой сети маршрутизируется через сеть взломщика или в черную дыру, т.е. в никуда - в сеть, которой не существует.
Атаки DoS, направленные на серверы DNS, также являются достаточно эффективными. Большинство таких атак приводит к кэшированию на целевом сервере фиктивных адресов. Когда сервер DNS выполняет обратный поиск, взломщик может перенаправить его на требуемый узел или в некоторых случаях в "черную дыру". Существует несколько типов подобных атак, которые приводят к тому, что большие узлы в течение продолжительного времени оказываются недоступными.