На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

Ограниченные возможности фильтров IPSec.

Реализация протокола IPSec в Windows была создана как административное средство безопасности для обеспечения разрешения, блокирования и автоматического выполнения действий по криптографической защите одноадресного трафика протокола IP, при этом управление базовыми функциями в крупных масштабах должно было оставаться простым. Реализация IPSec не разрабатывалась как средство фильтрации многоадресных пакетов или как брандмауэр с полнофункциональной фильтрацией (ICF). Но компания Microsoft, понимая, что основная часть пользователей заинтересовалась именно этими функциями, ведет разработки, направленные на обеспечение более тщательной фильтрации в следующих версиях Windows. (Один из примеров показан в описании функции Internet Connection Firewall в главе 17, "Будущее безопасности Windows"). Однако в текущей версии 1CF не предусмотрена возможность установки фильтрации пакетов сразу для нескольких систем с помощью групповых политик, что в этом отношении дает преимущество фильтрам IPSec.
Важно понять, что по причине особенностей разработки механизм IPSec не может быть использован для защиты некоторых типов протоколов. Например, нельзя защитить протоколы, основанные не на протоколе IP, такие как протоколы IPX и NetBEUI. Также вне области зашиты оказываются протоколы более низкого уровня, такие как Address Resolution Protocol (ARP) (и вместо того, чтобы подумать, что это не так уж важно, представьте, что протокол SM В можно реализовать на уровне 2).
В дополнение нужно сказать, что при существующей реализации протокола IPSec в Windows нельзя защитить так называемые исключения по умолчанию (default exemptions). Типы трафика, которые по умолчанию не отслеживаются с помощью фильтров IPSec, описаны в статье базы знаний Q253169.
Широковещательный трафик
Трафик, направленный от одного отправителя к нескольким получателям, без их явного указания. Этот тип пакетов не может быть проверен фильтрами IPSec. Например, в стандартной подсети классаС, использующей диапазон адресов 192.16S.0j:, для широковещательной передачи используется адре- 'К№о 7<;т в„,„ .....-------„—„-----.-, —,„„„,.,-----.....„г.
маски подсети.
Отправка пакетов нескольким получателям
Как и в случае широковещательной передачи, один отправитель отсылает IP-пакет нескольким получателям, без их явного указания. Это адреса в диапазоне от 224.0. 0.0 до 239.255.255.255.
Пакеты протокола RSVP (Resource Reservation Protocol)
При этом типе передачи данных в Windows 2000 используется протокол IP \>б для предоставления сведений о качестве передачи данных (Quality of Service, QoS). Отсутствие фильтрации данных RSVP требуется для того, чтобы разрешить оценку QoS трафика, возможно, защищаемого фильтром IPSec.
Протокол IKE (Internet Key Exchange)
Протокол IKE используется фильтрами IPSec для защищенной установки параметров безопасности (если механизм фильтра "решает ", что должна быть создана защита) и использования общих ключей для пакетов, которые соответствуют фильтру. Windows 2000 всегда использует в качестве отправителя и получателя данных протокола IKE UDP-nopm 500.
Протокол Kerberos
Протокол Kerberos — это базовый протокол безопасности для Windows 2000, который обычно используется при аутентификации IKE для IPSec. Для обмена данными этого протокола используются TCP/UDP-порты 88. Протокол Kerberos сам является протоколом шифрования, поэтому его не нужно дополнительно защищать с помощью протокола IPSec. Исключение из правила для протокола Kerberos выглядит следующим образом: если для TCP- или UDP-пакета в качестве порта отправителя или порта получателя указан порт 88, то этот пакет следует пропустить без фильтрации.
Если вы внимательно изучили условия исключений, то заметили несколько явно слабых мест в системе защиты, используя которые, можно успешно атаковать систему, защищенную фильтрами IPSec даже при самых жестких ограничениях. Рассмотрим такие атаки подробнее.
Обход фильтров Windows 2000 IPSec
с использованием исключений по умолчанию

Популярность
5


Простота


10


Опасность
8


Степень риска
7


Из приведенной выдержки из статьи базы знаний становится ясно, что потенциально обойти фильтр IPSec могут многие данные. Однако особенно легко использовать два типа данных: это данные протокола Kerberos и пакеты широковещательной рассылки. Рассмотрим, как злоумышленник может воспользоваться каждым из этих исключений.
. ' :
Обход фильтров IPSec с помощью пакетов протокола Kerberos
Итак, мы видим следующий источник проблемы: "если для TCP- или UDP-пакета в качестве порта отправителя или порта получателя указан порт 88, то этот пакет следует пропустить без фильтрации".
Вся загвоздка в последнем "или" — это значит, что любые пакеты, для которых указан TCP/UDP-лорт отправителя S8, могут пройти через фильтр IPSec и достигнуть любого порта компьютера получателя. Если бы в правиле было использовано условие "и", то все стало бы на­много безопасней. В результате этого недочета возможно проведение некоторых простых атак.
Во-первых, сканирование портов с использованием порта отправителя 88 позволит получить ценные сведения о системе, независимо от наличия фильтров IPSec. Ниже показан отчет о про-
веденном сканировании компьютера, на котором используются фильтры IPSec для всего трафика IP. Для сканирования использовалась программа ScanLine (см. главу 3, "Предварительный сбор данных и сканирование"), при запуске которой использован параметр командной строки -g switch для привязки к локальному TCP-порту 8S (1). Обратите внимание, что для сканирования доступны абсолютно все порты. ■
ЛистингСинировэниё^ртов при'^та,^дннь|>^щ^гщ1РЗес^
D:4> si -р -v -Т -TJ -g 8В 192.16S. 234 .244 ScanLine (ТМ) 1.01
Copyright [с) Foundstone, Inc. 2002 http://www.foundstone.com
Using internal TCP port list: [перечень]
Using internal UDP port list: (.перечень]
Adding IP 192.168.234.244
Binding all connections to local port 86.
No pinging before scanning.
Scan of 1 IP started at Mon Jul 26 16:34:30 2003 Scanning 1 IP...
192.168.234.244
Responds with ICMP unreachable: Yes
TCP ports: 53 BO 88 135 139 389 445 593 636 1025 1026 1028 3268 3389 UDP ports: 53 123 137 13B 161 445 500 1035 1037
Scan finished at Mon Jul 28 16:34:40 2003
1 IP and 267 ports scanned in 0 hours 0 mins 9.78 sees
Обратите внимание, что был использован параметр -р (в другом случае сканирование не дало бы результатов, поскольку сканируемый хост не отвечает на запросы ping), и что мы просканировали только порты, заданные по умолчанию для ScanLine. Полное сканирование всех 65536 портов позволит обнаружить все службы, ожидающие подключения к машине, независимо от наличия установленных фильтров IPSec.
После того как доступные службы определены, их легко атаковать даже при защите с помощью фильтров IPSec, для этого можно снова воспользоваться портом 88. Допустим, на исследуемом сервере установлена неисправленная версия сервера IIS 5, но поскольку она защищена фильтрами IPSec, администратор не позаботился об усилении защиты или установке заплат исправлений, так как считает, что все равно никто не сможет подключиться к порту 80. С помощью программы fpipe (см. главу 8, "Расширение сферы влияния") хитрый хакер легко может подключиться к порту 80 атакуемой системы. Сначала злоумышленник должен задать перенаправление утилитой fpipe, пользуясь ключом -s для привязки к локальному порту 88.
D:\>fpipe -1 80 -г 80 192.16В.234.34 -в 88 -v
FPipe v2.ll - TCP/UDP port redirected. Copyright 2000 (c) by Foundstone, Inc. http://www.foundstone.com
Listening for TCP connections on (any) port 80
Затем злоумышленник подключается к порту 80 собственной машины и весь трафик перенаправляется на порт 80 атакуемой системы с указанием порта отправителя 88, что позволяет обойти фильтры IPSec. Программа fpipe выдает сведения о соединении, через которое происходит обмен данными. Обратите внимание на то, что для исходящего трафика указан порт отправителя 88.
Connection accepted from 192.168.234.35 port 2208 Attempting to connect to 192.168.234.34 port 80 Pipe connected:
In: 192.168.234.35:2208 --> 192.168.234.35:80 Out: 192.168.234.35:88 192.168.234.34:80
Теперь злоумышленник может подключиться к порту 80 атакуемого сервера и использовать для взлома сервера любую программу атаки из описанных в главе 10, "Хакинг сервера IIS".
Обход фильтров IPSec с помощью широковещательных UDP-пакетов
Еще одно исключение для фильтров IPSec сделано для широковещательного трафика. Протокол TCP, ориентированный на установление соединений, не очень хорошо справляется с передачей широковещательных пакетов, но с ненадежным протоколом UDP все происходит совсем иначе. Обычно хорошо настроенные фильтры IPSec блокируют исходящие ответы на широковещательные VDP-запросы, но начальный запрос не блокируется, поскольку на него распространяется исключение. Таким образом, вполне вероятно, что злоумышленник создаст один широковещательный UDP-пакет, который окажется способным нанести удар по атакуемому серверу, даже если этот сервер защищен фильтрами IPSec, но ожидает подключения к уязвимой UDP-службе.
Протокол SNMP как раз подходит под эти требования. Предположим, что злоумышленник выявил на сервере запушенную службу SNMP и "знает", что для нее используется строка доступа с правом записи "private". Он может отправить команду SNMP SET на широкове­щательный адрес атакуемой сети, и команда достигнет цели, в обход фильтров IPSec. На 12 показана утилита Update System MIB от компании SolarWinds во время обновления записи Sysiem MIB для широковещательного адреса атакуемой сети. В результате этой атаки будут изменены имена на всех системах, защищенных фильтрами IPSec, на которых запущен агент SNMP СО строкой доступа "private".
Отмена некоторых исключений IPSec
Бюллетень
Статья базы знаний 810207

BID
Нет

Исправлено в SP
Windows Server 2003

Фиксируется
Нет



В пакет обновления SP 1 входит параметр реестра, который позволяет отменить исключения для протоколов Kerberos и RSVP путем отключения правила в драйвере IPSec.
Данные, передаваемые по протоколам Kerberos и RSVP, не будут пропускаться без фильтрации, если для этого параметра реестра установлено значение 1. От других исключений для трафика (например IKE) отказаться невозможно, на них не распространяется значение данного параметра реестра (который описан в статье базы знаний Q254728).
HKLM\SVSTEH\CurrentConi;rol5et\Service5\I?SEC\NoDeEauLtExempt Туре: DWORD Мах: 1 Min: О Default: О
ВНИКАНИЕ
Данный параметр имеет особо важное значение для систем, в защите которых фильтры IPSec играют ключевую роль.
Как мы уже продемонстрировали, без установки этого параметра реестра система будет так же открыта, как и без использования фильтров, поскольку злоумышленник сможет легко обойти установленные ограничения через порт 88.
Согласно статье базы знаний 810207. в Windows Server 2003 добавлены дополнительные значения для параметра реестра NoDefaultExempt, которые позволяют администраторам отказаться от всех исключений, кроме 1КЕ. Кроме редактирования реестра вручную для изменения значений параметра теперь можно использовать команду netsh, как показано ниже.
C:\3-netsh ipsec sEaEic set config ipsecexexpC value=3
Среди доступных для этой команды значений естьО, 1, 2 и 3, которые определены ниже.
т Значение О устанавливает, что широковещательные и многоадресные пакеты, а также трафики протоколов RSVP, Kerberos и ISAKMP являются исключениями для фильтров IPSec. Это установленный по умолчанию режим фильтрации для систем Windows 2000 и Windows ХР. Используйте это значение только при необходимости поддержки совместимости с установленной политикой IPSec или правилами работы в Windows 2000 и Windows ХР.
■ Как уже отмечалось, значение 1, позволяет отказаться от исключения фильтрами IPSec трафика протоколов RSVP и Kerberos, остаишиеся исключения продолжают действовать.
■ Значение 2 позволяет отказаться от исключения фильтрами IPSec широковещательных и многоадресных пакетов, однако исключения для трафика протоколов RSVP, Kerberos и ISAKMP, остаются в силе.
Защита с помощью активации фильтров IPSec при запуске системы
Продолжая тему поддержки IPSec с помощью программы netsh, отметим еще один важный момент использования фильтров IPSec — они не активируются при запуске системы Windows 2000 и Windows ХР до того, как не будет запущена служба IPSec Policy Agent. В Windows Server 2003 фильтры реализованы на постоянной основе и автоматически активируются при запуске системы с помощью следующей команды (что невозможно при настройке с помощью графического интерфейса).
C:\>n«tsh ipsec static set config property=bootmode value=stato£ul
Другими допустимыми значениями (value) для этой команды являются block и permit, но мы полагаем, что значение statef ul наиболее удобно, поскольку оно позволяет компьютеру устанавливать исходящие соединения во время загрузки, например для взаимодействия с контроллером домена и т.д.
НА ЗйМЕТКУ
В настоящее время не известны атаки против самих протоколов IPSec или их реализации в системах Windows.

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика