Удаленные атаки DoS
В настоящее время большинство условий DoS связано с ошибками в программировании, которые имеют отношение к реализации стека IP различными разработчиками. Как упоминалось в главе 2, каждый разработчик реализует стек IP по-разному. Поскольку реализация стека является достаточно сложной задачей, решение которой постоянно эволюционирует, то всегда имеется большая вероятность появления самых разнообразных ошибок. В основе многих атак лежит возможность передачи пакета или последовательности пакетов на целевой узел и использование определенного изъяна программного обеспечения. После того как эти пакеты будут получены целевой системой, могут возникать самые различные ситуации, начиная с некорректной обработки поступивших пакетов до краха всей системы в целом.
Перекрытие фрагментов пакетов IP
Эти атаки связаны с изъянами в программном коде определенной реализации стека IP, который используется для восстановления пакетов. Когда пакеты проходят через различные сети, может оказаться необходимым разделить эти пакеты на меньшие части (фрагменты), размер которых определяется заданным в сети значением MTU (Maximum Transmission unit – максимальная единица передачи). Такая атака была характерна для старых версий ядра системы Linux, в котором некорректно обрабатывались перекрывающиеся IP-фрагменты. Хотя ядро Linux и следит за тем, чтобы фрагменты не превышали максимально допустимого размера, такая проверка не выполняется для слишком малых фрагментов. Таким образом, тщательно сконструированные пакеты после их отправки системе Linux могут привести к ее перезагрузке или останову функционирования. Linux является далеко не единственной системой, которая уязвима для таких атак. Системы Windows NT/95 также могут подвергаться подобным нападениям (newtear.c, syndrop.c, boink.c).
Контрмеры
Ошибки, используемые в описанных выше атаках, были исправлены в более поздних версиях ядра 2.0.x и 2.2.x. Для обеспечения защиты обновите ядро операционной системы до версии 2.0.x или 2.2.x. В этих версиях исправлен не только алгоритм восстановления фрагментов IP-пакетов, но и многие другие ошибки подсистемы защиты.
Для системы Windows NT изъян фрагментации был исправлен в сервисном пакете Service Pack 3 и более поздних модулях обновления. Пользователи Windows 95 также должны установить соответствующие сервисные пакеты.
Утечка памяти в Windows NT – именованные каналы поверх RPC
В системе Windows NT возможна утечка памяти, управляемой файлом spoolss.exe, позволяющая неавторизованному пользователю подсоединиться к ресурсу \\server\ PIPEXSPOOLSS и захватить всю доступную память целевой системы. Ситуация усугубляется еще и тем, что эту атаку можно реализовать через нулевое соединение даже в том случае, когда в системном реестре установлено значение RestrictAnonymous. Для полного и скрытого захвата всех ресурсов может потребоваться некоторое время, поэтому деятельность вхтомшика может оказаться довольно продолжительной.
Контрмеры: предотвращение утечки памяти
Для предотвращения этой атаки через нулевое соединение нужно удалить параметр SPOOLSS, расположенный в поддереве системного реестра HKLM\System\CCS\ Services\LanmanServer\ Parameters\NullSessionPipes (REG_MULTI_SZ). Однако не забывайте, что эта мера не позволит обезопасить систему от проведения атаки авторизованными пользователями.
Переполнение буфера в FTP-сервере IIS
Как вы узнали из главы 8, атаки с использованием переполнения буфера чрезвычайно эффективны при нарушении зашиты уязвимых систем. Кроме того, переполнение буфера оказывается эффективным также для создания условия DoS. Если в результате переполнения буфера не удалось получить привилегии администратора, то в большинстве случаев его можно использовать для того, чтобы удаленно вызвать крах уязвимого приложения.
От переполнения буфера не защищена служба FTP, входящая в состав Internet Information Server (IIS 3.0 и 4.0). При использовании команды list удаленные пользователи могут удаленно вызвать крах сервера. Эта команда становится доступной лишь после успешного завершения аутентификации, однако анонимные FTP-пользователи могут без проблем ее использовать. Важно не забывать об опасности, возникающей при возникновении условия DoS. Степень риска значительно возрастает, если у взломщика имеется возможность выполнить на целевом узле произвольный код, воспользовавшись условием переполнения буфера.
Контрмеры: защита от переполнения буфера в RP-сервере IIS
Описанную проблему позволяют устранить сервисный пакет SP5 и модули обновления, выпущенные компанией Microsoft после появления сервисного пакета SP4 (ftp://ftp.microsoft.com/bussYS/iis/iis-public/fixes/usa/security/ftpls-fix/).