10. Отказ в обслуживании



Отказ в обслуживании


Если большинство серьезных атак против операционной системы NT, направленных на генерацию состояния DoS (отказ в обслуживании), предотвращаются с помощью сервисного пакета NT 4 Service Pack 6a, то Win 2000 является сравнительно надежной в этом отношении операционной системой. До сих пор не было обнаружено никаких угроз возникновения условия DoS, даже после тестирования операционной системы на узле win2000test.com.

Атака SYN и бомбардировка  IP-пакетами



Internet подтверждает известную истину: жизнь — это игра без правил. Особенно наглядно это проявилось в эксперименте с Win2000test.com, когда согласно правилам атаки DoS были категорически запрещены. Тем не менее, серверы этого узла подверглись массированным атакам IP-пакетами, количество которых значительно превысило возможности серверов по их обработке, а также хорошо известным атакам SYN, приводящим к переполнению очередей в стеке протокола TCP/IP (более подробная информация о специфике этих атак содержится в главе 15).

Контрмеры против атак DoS



Чтобы минимизировать ущерб от подобных атак, необходимо соответствующим образом настроить сетевые шлюзы или брандмауэры (более подробная информация содержится в главе 12). Однако еще раз повторим, что целесообразно также противостоять таким атакам на уровне отдельных компьютеров. Это сыграет свою роль, если одна из линий обороны будет прорвана. Благодаря эксперименту с узлом Win2000test.com компания Microsoft смогла добавить в операционную систему Windows 2000 несколько новых ключей системного реестра, которые можно использовать для защиты стека протокола TCP/IP от атак DoS. В табл. 6.3 содержится информация о конфигурации параметров системного реестра на серверах win2000test.com (эта таблица создана на основе отчета компании Microsoft, посвященного результатам эксперимента и расположенного по адресу http://www.microsoft.com/security, а также личного общения авторов с группой разработчиков Win2000test. com).

Некоторые из этих значений, например synAttackProtect=2, в некоторых случаях могут оказаться слишком жесткими. Они были выбраны для защиты сервера Internet с активным трафиком.

Таблица 6.3. Рекомендуемые параметры для стека протокола TCP/IP в операционной системе NT/2000, позволяющие предотвратить атаки DoS

Параметр в разделе HKLM\Sye\CCS\ Services
Рекомендуемо значение
 Описание
Tcpip\ Parameters \ SynAttackProtect
2
Этот параметр позволяет настраивать процесс передачи подтверждений SYN-ACK и обеспечивает более быстрый переход в режим ожидания при выявлении атаки SYN. Выявление этой атаки базируется на текущих значениях параметров TcpMaxPortsExhausted, TCPMaxHalfOpen и TCPMaxHalfOpenRetried. Значение 2 обеспечивает наилучшую защиту от SYN-атак, но может привести к проблемам с соединениями, характеризующимися высокой задержкой. Кроме того, если этот параметр принимает значение 2, то не учитываются следующие опции сокетов: переменный размер окна (RFC 1323) и настройка параметров TCP для каждого адаптера (размер окна)
Tcpip\Parameters\ EnableDeadGWDetect
0
Если этот параметр принимает значение 1 , то протокол TCP может выявлять неактивные шлюзы и в случае трудностей с несколькими соединениями переключаться на резервный шлюз. Резервные шлюзы можно определить в разделе Advanced диалогового окна конфигурации протокола TCP/IP аплета Network панели управления. Если этот параметр принимает значение 0, то взломщик не может спровоцировать переключение на менее желательные шлюзы
Tcpip\Parameters\ EnablePMTUDiscovery
0
Если этот параметр принимает значение 1 (true), то протокол TCP пытается определить максимальную единицу передачи MTU (Maximum Transmission Unit) для каждого соединения с удаленным узлом. Определив значение MTU и ограничив этим значением размер сегментов TCP, можно устранить фрагментацию на маршрутизаторах, соединяющих сети с различными значениями MTU вдоль пути следования пакетов. Фрагментация может приводить к пробкам в сети. Если этот параметр принимает значение 0, то значение MTU принимается равным 576 байт для всех соединений, инициированных извне локальной подсети. Это препятствует попыткам хакеров изменить значение MTU на меньшее с целью переполнения стека
Tcpip \Parameters \Keep AliveTime
300000 (5минут)
Этот параметр отвечает за частоту отправки контрольных пакетов (keep-alive), проверяющих, не разорвано ли соединение, находящееся в режиме ожидания. Если удаленная система все еще достижима и функционирует в нормальном режиме, то она направляет подтверждение. Контрольные пакеты по умолчанию не отправляются. Это свойство можно включить для данного соединения с помощью соответствующего приложения. Данные параметры являются глобальными, т.е. применяются для всех интерфейсов. Их значения могут оказаться слишком малыми для адаптеров, используемых в целях управления или резервирования
Tcpip\Parameter \Interfaces \ <интерфейс>NoName ReleaseOnDemand
0 (false)
Этот параметр определяет, следует ли компьютеру возвращать свое имя NetBIOS в ответ на запрос Name-Release из сети. Значение 0 предотвращает атаки, направленные на получение имени NetBIOS (см. бюллетень Microsoft Security Bulletin MSOO-047). До конца не ясно, к какому результату могут привести подобные атаки при отключении протоколов NetBIOS/SMB/CIFS, как описано выше в этой главе
Tcpip \ Parameters\Interfaces\ <интерфейс> РеrfоrmRouterDiscovery
0
От значения этого параметра зависит, будет ли Windows NT/2000 выполнять поиск маршрутизатора согласно спецификации RFC 1256 для каждого интерфейса в отдельности. Значение 0 предотвращает попытки атак с использованием ложных пакетов от ложных маршрутизаторов. Для определения, какой интерфейс соответствует сетевому адаптеру, можно использовать значение ключа TcpipXParameters \Adapters

Более подробная информация об этих параметрах и описание параметра SynAttackProtect содержится в статье Q142641 базы знаний компании Microsoft.

Генерация состояния DoS сервера ч.,, Telnet Win 2000



Эта простая атака, придуманная в лаборатории SecureXpertLabs (http://www. secure xpert com), предполагает отправку бинарной строки, состоящей из нулей, службе Telnet Microsoft (которая в Win 2000 по умолчанию отключена). Это приводит к выводу службы из строя и автоматическому перезапуску (если таковой предусмотрен). При многократном повторении попыток автоматического перезапуска (когда их число достигает максимально допустимого значения) служба отключается насовсем.
Эта атака легко реализуется с помощью команды netcat (см. главу Ь) в операционной системе Linux, nc target.host 23 < /dev/zero

Модуль обновления для сервера Telnet



Для предотвращения этой атаки необходимо использовать модуль обновления, который можно найти по адресу http://www.microsoft.com/technet/security/ bulletin/MS00-050.asp. Он не включен в сервисный пакет Win 2000 Service Pack 1 и может применяться как до, так и после этого пакета. Сервер Telnet можно сконфигурировать на выполнение автоматической перезагрузки. В этом случае постоянные нападки взломщиков, возможно, по-прежнему будут досаждать, однако теперь их можно отслеживать с помощью маршрутизатора, если поддерживаемый на нем журнал имеет достаточно большой размер и взломщики не используют ложные пакеты.

Генерация состояния DoS на сервере имен NetBIOS



В июле 2000 года сэр Дастик (Sir Dystic) из группы хакеров Cult of the Dead Caw ("Кутьт мертвой коровы", http://www.cultdeadcow.com) сообщил о том что отправка сообщения "NetBIOS Name Release" службе имен NetBIOS (NBNS UDP 137) компьютера NT/2000 приводит к конфликту, связанному с этим именем, и невозможности его дальнейшего использования. После получения такого сообщения это имя нельзя использовать в сети NetBIOS. Примерно в это же время из лаборатории Network Associates COVERT Labs (http //www.nai.com) сообщили, что сообщение "NetBIOS Name Conflict можно отправить службе имен NetBIOS даже в том случае, если целевой компьютер не находится в процессе регистрации своего имени NetBIOS. Это тоже приводит к конфликту и невозможности дальнейшего использования имени.
Сэр Дастик (Sir Dystic) написал программу взлома под названием nbname, с помощью которой можно отправить пакет "NBNS Name Release" всем компьютерам, зарегистрированным в таблице имен NetBIOS, и тоже вызвать аналогичную проблему. Хакеры локальных сетей (NBNS не поддерживает маршрутизацию) считают эту программу достаточно мощным средством реализации атак DoS.

 Контрмеры против атаки DoS на сервер имен NetBIOS



К сожалению, протокол NetBIOS не документирован, поэтому авторы не могут гарантировать надежность следующего рецепта. Компания Microsoft разработала ключ системного реестра, предотвращающего подтверждение сообщения Name Release со стороны сервера NBNS. Решение проблемы с сообщением "Name Conflict состоит в том что это сообщение обрабатывается только на этапе регистрации. Таким образом, компьютер остается уязвимым только в это время. Соответствующий модуль обновления и более подробная информация содержится по адресу http: //www.microsoft.com/
technet/security/bulletin/MS00-047.asp
. Этот модуль обновления не вошел в SP1 и может применяться как до, так и после установки сервисного пакета.
Более надежное решение, конечно, состоит в отказе от использования службы NetBIOS и, как следствие, полном предотвращении подобного хулиганства. Кроме того, безусловно, необходимо отключить UDP-порт 137 для доступа извне.