49684 (588669), страница 2
Текст из файла (страница 2)
РРТР не оговаривает конкретных алгоритмов аутентификации и протоколов; вместо этого он обеспечивает основу для обсуждения конкретных алгоритмов. Переговоры не присущи только РРТР, они относятся к существующим вариантам переговоров РРР, содержащихся в ССР, СНАР и других расширениях и усовершенствованиях РРР.
Microsoft РРТР является частью ОС Windows NT Server, данное программное обеспечение можно бесплатно получить с Web-сайта Microsoft. Подключение осуществляется с помощью панели управления и редактора реестра. Данная реализация РРТР широко используется в коммерческих применениях VPN, например Aventail и Freegate именно потому, что входит в состав ОС Microsoft.
Сервер Microsoft РРТР может существовать только для Windows NT, хотя клиентское программное обеспечение существует для Windows NT, некоторых версий Windows и Windows 98. Реализация Microsoft поддерживает три варианта аутентификации:
-
Текстовый пароль: Клиент передает серверу пароль в открытом виде.
-
Хэшированный пароль: Клиент передает серверу хэш пароля
-
Вызов/Отклик: Аутентификация сервера и клиента с использованием протокола MS-CHAP (вызов/отклик), что описано в параграфе 4.
-
Третий вариант называется в документации для пользователей "Аутентификация Microsoft", для шифрования пакетов РРТР его надо разрешить. При выборе любого из двух других вариантов шифрование неосуществимо. Кроме того, возможность шифрования (40- или 128-разрядное) гарантируется только в том случае, если клиент использует Windows NT. Некоторые клиенты Windows 95 не могут поддерживать зашифрованные сеансы.
Протокол PPTP тесно интегрирован со службой удаленного доступа (Remote Access Services), входящей в Windows NT Server и Windows 98, а также с дополнительным компонентом создания сетей с доступом по коммутируемым каналам Dial-Up Networking 1.2 Upgrade для операционной системы Windows 95.
Рисунок 2 – туннель с использованием протокола PPTP
2.1 Практические аспекты обеспечения безопасности
Любой специалист в области сетевой связи и безопасности прекрасно знает, что на практике защищенность компьютера определяется рядом постоянно изменяющихся параметров, включая уровень развития технологии, правила работы, физическую безопасность системы. Все это приходится тщательно учитывать и взвешивать, когда дело доходит до определения допустимого риска и выбора средств его минимизации. PPTP является одной из составных частей общего плана организации безопасной связи, обусловленных прагматическим подходом к защите сетей. Учитывая это, Microsoft избрала PPTP в качестве основы для подключения всех ВЧС к собственным корпоративным сетям.
За все время эксплуатации виртуальных частных сетей на базе Windows клиенты ни разу не пожаловались на недостаточную их защищенность. Но Microsoft не успокаивается на достигнутом и продолжает совершенствовать технологию Windows Networking and Communications (организация сетей и связи в среде Windows). Очередным шагом в этом направлении стал выпуск дополнительного программного пакета PPTP Performance and Security Upgrade (обновление для повышения производительности и безопасности на основе PPTP) для клиентов и серверов, работающих под управлением Windows.
Средства ВЧС, созданные Microsoft на базе PPTP, сочетают в себе все достоинства широко распространенных открытых платформ, полнофункциональных сетей и тесной интеграции с Windows. В результате удалось создать простую в работе, легко программируемую и очень гибкую коммуникационную платформу. Правильно настроив систему на базе Windows, взяв на вооружение PPTP, используя средства обеспечения безопасности операционной системы, пользователь получает экономичную, надежную и хорошо защищенную платформу для ВЧС, которая значительно снижает расходы на организацию связи.
2.3 Развитие технологии
Накопление все новых знаний в этой области и быстрое развитие технологий приводят к совершенствованию средств шифрования и сетевой защиты. Учитывая это, корпорация постоянно модернизирует службы безопасности своих операционных систем и выпускает обновленные продукты на их основе.
Из новшеств Microsoft в области технологий создания ВЧС на базе PPTP можно упомянуть:
более совершенную аутентификацию в протоколе MS-CHAP 2;
повышение надежности аутентификации по паролю;
повышение стойкости шифрования по протоколу MPPE (Microsoft Point-to-Point Encryption – шифрование между узлами).
2.4 Совершенствование аутентификации в протоколе MS-CHAP 2
Протокол MS-CHAP (Microsoft Challenge-Handshake Authentication Protocol – протокол взаимной аутентификации Microsoft) содержит механизм аутентификации, необходимый для проверки регистрационных данных пользователя в доменах Windows NT. Созданные с его помощью сеансовые ключи применяются для шифрования данных пользователя, как это описано в разделе, посвященном протоколу MPPE.
Шифрованием называется процесс кодирования данных с целью предотвращения несанкционированного доступа к ним, особенно в процессе пересылки по открытым каналам связи. Шифрование производится с применением специализированных алгоритмов на основе так называемых секретных ключей, преобразующих данные (например, пароль) в псевдослучайный набор знаков. Прочесть закрытую таким способом информацию способен только тот, кому известен соответствующий ключ. Хешированный пароль, скажем, может быть дешифрован лишь на том компьютере, где имеется такой же ключ (вспомним детское шифрование с помощью двух одинаковых бумажных матриц). Применяемые при шифровании алгоритмы, особенно с ключами длиной более 128 бит, практически полностью исключают возможность дешифрования информации посторонними.
Протокол MS-CHAP 2 описывает порядок одностороннего преобразования пользовательского пароля, алгоритм генерации запроса сервером, алгоритм генерации запроса клиентом и дополнительные данные, включаемые в сообщение Success (Аутентификация успешна). Если клиент MS-CHAP 2 не смог идентифицировать сервер, он отключается.
Получив от клиента MS-CHAP 2 запрос на аутентификацию, сервер сетевого доступа прежде всего направляет на удаленный клиент собственный запрос, состоящий из сеансового идентификатора и случайной контрольной последовательности. В ответ удаленный клиент должен вернуть имя пользователя и хешированную последовательность из полученного запроса, дополненные сеансовым идентификатором и хешированным паролем. Как мы видим, здесь предусматривается хеширование уже хешированного пароля, что создает дополнительный уровень безопасности. При такой схеме пароли сохраняются на сервере зашифрованными, а не в виде открытого текста.
В MS-CHAP 2 предусмотрены дополнительные коды ошибки, в том числе код истечения срока действия пароля, а также новые шифрованные клиент-серверные сообщения, благодаря которым пользователь может изменить свой пароль. В новой реализации протокола Microsoft первичный ключ, необходимый для последующего шифрования данных по протоколу MPPE, генерируется клиентом и сервером независимо друг от друга.
Ранее протокол Microsoft PPTP допускал применение и других, менее надежных механизмов аутентификации в ВЧС. Теперь же он использует только MS-CHAP, что значительно повышает безопасность аутентификации.
Повышение надежности аутентификации по паролю
Как уже отмечалось, при подключении к PPTP-серверу, работающему под управлением Windows NT, клиенты на базе Windows проводят двустороннюю аутентификацию по протоколу MS-CHAP. Чтобы не допустить перехвата передаваемого пароля, используется функция хеширования (пароли Windows NT могут иметь длину до четырнадцати 16-битовых символов из одного набора Unicode; строчные и прописные буквы в них различаются).
В процессе аутентификации первичный ключ шифрования генерируется путем хеширования пароля пользователя, что налагает на него особые требования. Администратор сети должен всячески стимулировать применение как можно более сложных паролей Windows NT. Узнав пароль пользователя, злоумышленник теоретически может расшифровать данные, пересылаемые между клиентом и сервером, – для этого ему нужно только перехватить шифрованный PPTP-сеанс связи. Правда, на практике прочесть сообщение, зашифрованное с помощью 128-битового ключа, намного сложнее, так как пароль представляет собой лишь одну часть блока данных, хэшированием которого генерируется криптоключ.
Windows NT допускает применение и прежних паролей LAN Manager, однако они намного примитивнее «родных» паролей операционной системы. Это делает их более уязвимыми для прямых атак с применением грубой силы, словарных атак и попыток угадать правильный пароль.
2.5 Обязательное использование паролей Windows NT
Microsoft выпустила дополнение к клиентским и серверным PPTP-компонентам для Windows NT, позволяющее повысить надежность применяемых паролей. С его помощью можно настроить систему таким образом, что она просто не допустит аутентификации по старым паролям, и пользователям волей-неволей придется перейти на пароли Windows NT. К тому же это дополнение дает возможность изменить конфигурацию PPTP-клиентов Windows NT, запретив аутентификацию по паролям LAN Manager.
2.5.1 Соблюдение правил выбора пароля
Microsoft рекомендует своим клиентам принять все необходимые меры, чтобы в их сетях применялись только сложные пароли повышенной стойкости, содержащие случайную комбинацию строчных и прописных букв, цифр и знаков препинания. Для обеспечения безопасности сети крайне важно регулярно обновлять пароли. В соблюдении этих правил способна помочь Windows NT. Все пакеты обновления для Windows NT 4.0, начиная с Service Pack 2, снабжаются инструментальными средствами администрирования, которые обеспечивают выполнение правил безопасности и лучшее управление паролями.
2.5.2 Основы правильного использования паролей
Как отмечалось выше, хороший пароль должен быть не короче установленной длины и содержать символы различных типов. Надежным считается тот пароль, который невозможно угадать. И никогда нельзя забывать, что от качества пароля зависит уровень безопасности всей сети!
К числу плохих следует однозначно отнести пароли, которые:
состоят исключительно из словарных слов;
используют буквы только одного регистра (строчные или прописные);
созданы на основе имен людей и названий предметов, о которых нетрудно догадаться (имя сына или дочери владельца пароля, кличка его собаки и даже девичья фамилия матери).
А вот требования, которым должен удовлетворять надежный пароль:
в тексте пароля должны быть хотя бы одна цифра и один небуквенный символ (например, вопросительный знак);
для постороннего наблюдателя пароль должен выглядеть бессмысленным набором символов, который очень трудно запомнить;
текст не должен содержать осмысленных слов и личных имен.
Нельзя забывать и о том, что в алгоритме шифрования со 128-битовым ключом, использованном корпорацией Microsoft, в основу ключа шифрования кладется не только сложный пароль, но и запросы, которыми обмениваются клиент с сервером. Такой подход еще более усложняет атаки на сеть. Корпорация Microsoft рекомендует всем организациям, действующим в Северной Америке, предусмотреть в своих правилах обязательное применение 128-битовых ключей, поскольку, как показывает практика, ключи длиной 40 бит при определенных условиях не выдерживают атак с применением "грубой" силы.
2.6 Повышение стойкости шифрования по протоколу MPPE
Шифрование информации создает еще один уровень защиты виртуальных частных сетей, созданных на базе протокола PPTP, который необходим на случай перехвата пакетов ВЧС. Правда, такая возможность носит скорее теоретический характер и весьма маловероятна на практике. Тем не менее, можно представить себе злоумышленника, сумевшего разместить между клиентом и сервером собственный компьютер. Если его машине удастся предстать перед клиентом в образе сервера PPTP, она сможет заполучить весь его трафик. Уязвимость для подобных атак свойственна не только продуктам Microsoft, – подобная опасность существует при любой системе аутентификации, где не предусмотрен взаимный обмен запросами и ответами на них. Такую возможность полностью исключает лишь применение протокола MS-CHAP 2, обеспечивающего взаимную аутентификацию участников сеанса связи.
Шифрование по протоколу MPPE с 128- и 40-битовым ключом полностью защищает все данные, циркулирующие между клиентом и сервером. А это значит, что даже вклинив между ними свой компьютер, злоумышленник не сможет прочесть передаваемую информацию – для этого ему сначала придется заполучить секретный ключ.
В основу протокола PPTP положен алгоритм шифрования RSA RC4, который обеспечивает самую высокую стойкость, разрешенную правительством США для коммерческих систем. В Северной Америке шифровать сообщения можно посредством ключа длиной 128 бит, в других же странах его длина не может превышать 40 бит. При использовании протокола MS-CHAP 2 для связи в прямом и обратном направлении генерируется два отдельных ключа, причем по умолчанию эти ключи меняются при передаче каждого пакета. Все это еще более затрудняет «силовые» атаки на сеть.
3 Криптоанализ туннельного протокола PPTP
Обнаружено, что протокол аутентификации Microsoft слаб и уязвим путем атаки по словарю; большинство паролей можно вскрыть в течение нескольких часов. Обнаружено, что способы шифрования с использованием 40- и 128-разрядных ключей одинаково слабы и открыли ряд заложенных в реализацию неразумных идей, которые позволяют осуществлять другие атаки на данный шифр. Можно открывать соединения через firewall, нарушая правила переговоров РРTР, и можем проводить различные атаки отказа в обслуживании на тех, кто использует Microsoft PPTP.
3.1 Криптоанализ функций хэширования паролей Windows NT
В ОС Microsoft Windows NT для защиты паролей используются две однонаправленные хэш-функции: хэш Lan Manager и хэш Windows NT. Функция хэша Lan Manager была разработана Microsoft для операционной системы IBM OS/2, она была интегрирована в Windows for Workgroups и частично в Windows 3.1. Данная функция используется в некоторых протоколах аутентификации перед Windows NT. Хэш Windows NT был разработан специально для ОС Microsoft Windows NT. Функция хэша Lan Manager основана на алгоритме DES; Функция хэша Windows NT основана на односторонней хэш-функции MD4. Обе эти функции используются во многих протоколах аутентификации Windows NT, а не только в РРТР.
Функция хэша Lan Manager вычисляется следующим образом:
-
Превращение пароля в 14-символьную строку путем либо отсечки более длинных паролей, либо дополнения коротких паролей нулевыми элементами.
-
Замена всех символов нижнего регистра на символы верхнего регистра. Цифры и специальные символы остаются без изменений.
-
Разбиение 14-байтовой строки на две семибайтовых половины.
-
Использование каждой половины строки в роли ключа DES, шифрование фиксированной константы с помощью каждого ключа, получение двух 8-байтовых строк.
-
Слияние двух строк для создания одного 16-разрядного значения хэш-функции.
Словарные атаки на функцию хэша Lan Manager легко достигают успеха по следующим причинам:
-
Большинство людей выбирают легко угадываемые пароли.
-
Все символы преобразуются в верхний регистр, что ограничивает и без того небольшое число возможных паролей.
-
Нет индивидуальной привязки (salt); два пользователя с одинаковыми паролями всегда будут иметь одинаковые значения хэш-функции. Таким образом, можно заранее составить словарь хэшированных паролей и осуществлять поиск неизвестного пароля в нем. При таком подходе с точки зрения отношения время/память тестирование пароля может выполняться со скоростью дискового ввода/вывода.
Две семибайтовых "половины" пароля хэшируются независимо друг от друга. Таким образом, две половины могут подбираться методом грубого подбора независимо друг от друга, и сложность атаки не превышает сложности атаки против семибайтового пароля. Пароли, длина которых превышает семь символов, не сильнее, чем пароли с длиной семь символов. Кроме того, те пароли, длина которых не превышает семь символов очень просто распознать, поскольку вторая половина хэша будет одной и той же фиксированной константой: шифрование фиксированной константы с помощью ключа из семи нулей.