Иллюстрированный самоучитель по Secure Web

         

Удаленные атаки 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/).

Атаки stream и raped

Программа stream, с (неизвестного автора) и raped.с, написанная Ликвидом Стилом (Liquid Steel), появились в начале 2000 года. С их использованием можно осуществить две похожие друг На друга простые атаки, которые, несмотря на это, будут очень эффективными.

Обе атаки направлены на захват ресурсов, в результате чего операционная система становится неспособной управлять всеми пакетами, отправленными ей одновременно. Изначально программы stream и raped были предназначены для атак на систему FreeBSD, однако в настоящее время их можно использовать для нарушения работы многих операционных систем, включая (но не ограничиваясь) Windows NT. Признаком нападения служит увеличение нагрузки на центральный процессор (см. рисунок ниже), однако после прекращения атаки система возвращается к своему обычному состоянию. Программа stream.с передает TCP-пакеты дек группе портов с произвольно выбранными номерами и случайным образом заданными исходными IP-адресами. В процессе атаки raped отправляются TCP-пакеты АСК, в которых указан ложный исходный IP-адрес.





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

К сожалению, для защиты от таких атак модули обновления выпущены лишь для некоторых операционных систем. Нам неизвестно о каких-либо модулях обновления Windows NT. Однако в системе FreeBSD можно воспользоваться неофициальным модулем, который можно получить по адресу http: //www. freebsd.org/~alfred/tcp_fix.diff.

Атака на сервер ColdFusion

Эта атака была исследована в июне 2000 года компанией Foundstone. Она основана на ошибке программы и позволяет нарушить функционирование сервера. Условие DoS возникает в процессе конвертирования введенного и хранящегося паролей в форму, пригодную для их сравнения, когда введенный пароль имеет очень большой размер (более 40000 символов). Воспользоваться этим приемом очень просто. Для получения более подробной информации читайте главу 15.

Контрмеры

Подробные рекомендации по устранению этого изъяна приведены в главе 15, "Хакинг в Web".


Содержание раздела