49684 (588669), страница 4
Текст из файла (страница 4)
Количество доступных на сервере виртуальных каналов РРТР
Версия RAS клиента
Имя клиента NetBIOS
Идентификация производителя клиента
Идентификация производителя сервера
IP-адрес клиента во внутреннем виртуальном туннеле
Внутренние DNS-сервера, обслуживающие клиента
Имя пользователя на клиенте
Достаточно информации для получения значений хэш-функций паролей пользователей
Достаточно информации для получения начального значения МРРЕ
Текущее значение шифрованного пакета для клиента перед реинициализацией RC4
Текущее значение шифрованного пакета для сервера перед реинициализацией RC4
В любом случае, когда канал связи шифруется и пользователь предполагает некоторый уровень конфиденциальности, перечисленная выше информация не должна быть доступна так легко. Для Microsoft PPTP нет легкого способа зашифровать эту информацию, поскольку утечки происходят вне канала, контролируемого МРРЕ. В некоторых случаях, эти пакеты представляют собой конфигурационные и установочные пакеты для шифрования в рамках МРРЕ, и они должны передаватьс до начала шифрования. Единственным решением является шифрование канала управления или резкое уменьшение количества передаваемой по нему информации.
3.4.2 Перехват переговоров РРР
Пакеты переговоров РРР передаются до начала шифрования и после его окончания. Поскольку метод ресинхронизации ключей осуществляется с использованием пакетов РРР ССР, эти каналы связи не могут шифроваться таким же образом. Добавим, что реальная аутентификация данных пакетов не выполняется. Этап конфигурации полностью открыт для атаки.
Подмена конфигурационного пакета, описывающего DNS-сервер, позволяет направить всю систему распознавания имен на ложный сервер имен.
Точно так же, подмена пакета, содержащего внутренний туннельный IP-адрес, позволяет обойти firewal, осуществляющие фильтрацию пакетов по правилам, поскольку клиент будет подключаться к внешним машинам из внутренней защищенной сети.
3.4.3 Потенциальные утечки информации на клиенте
Клиент Windows 95 не выполняет требуемую очистку буферов, и потому допускается утечка информации в сообщениях протокола. Хотя в документации РРТР сказано, что в пакете PPTP_START_SESSION_REQUEST символы после имени компьютера и производителя должны быть сброшены в 0х00, Windows 95 этого не делает.
080: 0000 6c6f 6361 6c00 0000 3e1e 02c1 0000 ..local...>.....
096: 0000 85c4 03c1 acd9 3fc1 121e 02c1 2e00 ........?.......
112: 0000 2e00 0000 9c1b 02c1 0000 0000 0000 ................
128: 0000 88ed 3ac1 2026 02c1 1049 05c1 0b00 ....:. &...I....
144: 0000 3978 00c0 280e 3dc1 9c1b 02c1 041e ..9x..(.=.......
160: 02c1 0e00 0000 121e 02c1 2e00 0000 2e00 ................
176: 0000 3dad 06c1 74ed 3ac1 1c53 05c1 9c1b ..=...t.:..S....
192: 02c1 041e 02c1 0e00 0000 121e 02c1 2e00 ................
208: 0000 ..
Выше показаны символы, содержащиеся после имени компьютера и строки производителя. В байтах 82-86 содержится имя компьютера, которое для клиента Windows 95 всегда равняется "local". Байт 113 - то место, где должна содержаться строка производителя. При просмотре аналогичного пакета Windows NT обнаружено, что все символы "мусора" сброшены в 0х00.
Существует очевидная возможность утечки информации в зависимости от того, как и где используются и размещаются структуры данных и что происходит на клиентской системе. Для оценки данной утечки информации необходимо провести дальнейший анализ кода Windows 95.
3.5 Выводы
Реализация РРТР от Microsoft уязвима с точки зрения реализации, и обладает серьезными недостатками с точки зрения протокола. Протокол аутентификации имеет известные уязвимости. Шифрование выполнено неверно, в данной реализации используется поточный шифр с обратной связью по выходу, хотя более уместен был бы блоковый шифр "шифр-блок-цепочка" (CBC). Чтобы связать слабую аутентификацию с плохим шифрованием Microsoft задала ключ шифрования как функцию от пароля пользователя вместо использования сильного алгоритма обмена ключами типа Диффи-Хеллмана или ЕКЕ. Наконец, канал управления не аутентифицируется и не сильно защищен.
Криптоанализ не подвергал сомнению протокол РРТР, но лишь реализацию протокола от Microsoft. Хотя Microsoft использует свои собственные расширения (MS-CHAP, МРРЕ, МРРС) в РРР секции РРТР, стандарт РРТР не требует этого. Производители могут включить расширения Microsoft в свои продукты по соображениям совместимости, но они не обязаны ограничиваться их использованием и, наверное, реализуют более безопасные решения. Конечно, новые расширения для корректной работы должны поддерживаться как клиентом, так и сервером.
4 Туннелирование по протоколу L2TP
Протокол L2TP (Layer 2 Tunneling Protocol – сетевой протокол туннелирования канального уровня) сочетает в себе все лучшее из протоколов PPTP и L2F (Layer 2 Forwarding – пересылка данных на канальном уровне). L2F был предложен в качестве протокола передачи для подключения по коммутируемым каналам связи. Используя его, серверы удаленного доступа инкапсулируют поступающий трафик в кадры протокола РРР, а затем передают их по каналам ГВС на сервер L2F, который, в свою очередь, удаляет упаковку пакетов и направляет их в сеть получателя.
Протокол L2TP позволяет прокладывать туннели через любые среды, где возможны пакетно-ориентированные одноранговые подключения. В их число, в частности, входят такие технологии региональных вычислительных сетей, как Х.25, Frame Relay и АТМ. Более того, в L2TP предусмотрена возможность соединения двух конечных точек несколькими туннелями.
При работе в IP-сетях протокол L2TP очень похож на PPTP. Здесь туннель прокладывается между клиентом L2TP и сервером L2TP. При этом не имеет никакого значения, подключен ли клиент к сети (например, к ЛВС) постоянно или для установления IP-подключения ему нужно сначала связаться по коммутируемому каналу с сервером сетевого доступа (так подключаются через Интернет удаленные пользователи).
Рисунок 3 – туннелирование с использованием L2TP
Как PPTP, так и L2TP прежде всего производят первичное инкапсулирование данных по протоколу РРР, а затем добавляют в полученные пакеты дополнительные заголовки, необходимые для их пересылки через промежуточные сети. На этом этапе в работе PPTP и L2TP начинают проявляться некоторые различия.
PPTP способен пересылать пакеты только через IP-сети, тогда как L2TP позволяет прокладывать туннели по любым пакетно-ориентированным средам, где возможна организация одноранговых подключений. Благодаря этому пакеты L2TP могут пересылаться по IP-сетям (с использованием протокола UDP), по частным виртуальным каналам с ретрансляцией кадров Frame Relay, по виртуальным каналам Х.25 и по виртуальным каналам АТМ.
PPTP позволяет проложить между конечными точками виртуального канала только один туннель, а L2TP может соединить их несколькими.
L2TP поддерживает сжатие заголовков, как это описано в проекте спецификации. Применение данной функции позволяет ограничиться четырьмя дополнительными байтами в заголовке, тогда как PPTP добавляет в него 6 байт.
В L2TP предусмотрена аутентификация туннеля, которой нет в PPTP. Правда, когда в туннеле используется протокол IPSec, аутентификация на канальном уровне становится ненужной, так как и L2TP, и PPTP производят ее именно по протоколу IPSec.
При создании туннелей L2TP аутентификация производится с помощью тех же механизмов, что и в подключениях РРР. Функции шифрования и сжатия нагрузки протокол L2TP унаследовал от РРР, но в него добавлены и дополнительные возможности шифрования по протоколу IPSec, описанные в следующем разделе.
5 Протокол безопасности IP Security Protocol
Протокол IPSec поддерживает аутентификацию, целостность данных и их шифрование на сетевом уровне. Для создания идеальной платформы, обеспечивающей безопасную связь с интранет или Интернетом, IPSec интегрируется со средствами безопасности, входящими в состав Windows 2000 Server.
Для обеспечения безопасности всех передач по протоколу TCP/IP с обеих сторон межсетевого устройства защиты организации в протоколе Microsoft Windows IP Security использованы принятые в качестве отраслевых стандартов алгоритмы шифрования и комплексный подход к управлению безопасностью.
Поскольку средства безопасности Windows IP Security размещены ниже транспортного уровня, администраторы сетей (и производители программного обеспечения) могут уделить внимание и направить свои усилия на придание и координацию безопасности каждой отдельной программе. Используя Windows 2000 Server, администраторы сетей обеспечивают сильную защиту для всей сети в целом, а приложения автоматически наследуют защитные меры системы безопасности Windows 2000 Server. Поддержка шифрования Windows IP Security распространяется также и на виртуальные частные сети (Virtual Private Networks – VPN).
Администраторы и менеджеры сетей выигрывают от интеграции IPSec с Windows 2000 Server по нескольким причинам, в том числе:
-
Открытый промышленный стандарт – IPSec обеспечивает открытый промышленный стандарт в качестве альтернативы «доморощенному» способу шифрования IP. Менеджеры сетей при этом получают выигрыш от получаемой функциональной совместимости.
-
Прозрачность – IPSec существует под транспортным уровнем, что делает его прозрачным для приложений и пользователей; а это означает, что при реализации IPSec в брандмауэре или маршрутизаторе нет необходимости вносить изменения в сетевые приложения настольного ПК.
-
Проверка прав доступа – Служба аутентификации предотвращает возможность перехвата данных при использовании неправильно объявленных данных идентификации.
-
Конфиденциальность – Службы конфиденциальности предотвращают несанкционированный доступ к уязвимым данным при передаче их между взаимодействующими сторонами.
-
Целостность данных – При передачах заголовки аутентификации IP и различные коды аутентификации хеш-сообщений обеспечивают целостность данных.
-
Динамический повторный ввод (с клавиатуры) – Динамический повторный ввод во время непрерывной связи помогает противостоять попыткам нарушения защиты.
-
Безопасные сквозные связи – Windows IP Security обеспечивает наличие надежных, обозначаемых только конечными точками связей для пользователей частной сети внутри одного домена или между любыми доменами, с которыми установлены доверительные отношения на предприятии.
-
Централизованное управление — Администраторы сетей пользуются стратегией безопасности и фильтрами для обеспечения требуемых уровней безопасности для каждого пользователя, группы или выбираемой по другим критериям. Централизованное управление уменьшает административные накладные расходы.
-
Гибкость –Протокол Windows IP Security дает возможность распространить политику обеспечения безопасности на все предприятие или на отдельную рабочую станцию.
5.1 Разработка на основе IP Security
Протокол безопасности IP Security использует заголовок аутентификации (authentication header – AH) и инкапсулированную нагрузку безопасности (an encapsulated security payload – ESP). Заголовок AH создает конверт, обеспечивающий аутентификацию источника данных, их целостность и защиту от навязывания повторных сообщений (см. рис. 1).
Рисунок 4 - Формат заголовка AH
Таким образом, протокол AH предоставляет ряд мер защиты от атак злоумышленников. С его помощью аутентифицируется каждый пакет, что делает программы, пытающиеся перехватить управление сеансом, неэффективными.
Помимо этого протокол AH обеспечивает, насколько это возможно, аутентификацию заголовков IP-пакетов, несмотря на нахождение IP-заголовков за пределами создаваемого им конверта. Аутентификация AH предотвращает манипулирование полями IP-заголовка во время прохождения пакета. По этой причине данный протокол нельзя применять в среде, где используется механизм трансляции сетевых адресов (Network Address Translation -- NAT), так как манипулирование IP-заголовками необходимо для его работы.
Протокол ESP обеспечивает конфиденциальность данных (см. рис. 2) и выполняет все функции протокола AH по защите зашифрованных неаутентифицируемых потоков данных.