Протокол туннелирования «точка-точка»
Набор интернет-протоколов |
---|
Прикладной уровень |
Транспортный уровень |
Интернет-слой |
Слой связи |
Протокол туннелирования «точка-точка» ( PPTP ) — устаревший метод реализации виртуальных частных сетей . У PPTP есть много хорошо известных проблем безопасности.
PPTP использует канал управления TCP и туннель инкапсуляции общей маршрутизации для инкапсуляции пакетов PPP . Многие современные VPN используют различные формы UDP для той же функциональности.
Спецификация PPTP не описывает функции шифрования или аутентификации и полагается на туннелируемый протокол «точка-точка» для реализации всех без исключения функций безопасности.
Реализация PPTP, поставляемая с семействами продуктов Microsoft Windows, реализует различные уровни аутентификации и шифрования как стандартные функции стека Windows PPTP. Предполагаемое использование этого протокола заключается в обеспечении уровней безопасности и удаленного доступа, сравнимых с типичными VPN продуктами .
История
[ редактировать ]Спецификация PPTP была опубликована в июле 1999 года как RFC 2637. [1] и был разработан консорциумом поставщиков, состоящим из Microsoft , Ascend Communications (сегодня часть Nokia ), 3Com и других.
PPTP не был предложен и не ратифицирован в качестве стандарта Инженерной группой Интернета .
Описание
[ редактировать ]Туннель PPTP создается при обмене данными с узлом через TCP- порт 1723. Это TCP-соединение затем используется для инициирования и управления туннелем GRE к тому же узлу. Формат пакета PPTP GRE не является стандартным и включает новое поле номера подтверждения , заменяющее типичное поле маршрутизации в заголовке GRE. Однако, как и в обычном соединении GRE, эти модифицированные пакеты GRE непосредственно инкапсулируются в IP-пакеты и рассматриваются как IP-протокол номер 47. Туннель GRE используется для передачи инкапсулированных пакетов PPP, позволяя туннелировать любые протоколы, которые могут передаваться внутри PPP, включая IP , NetBEUI и IPX .
В реализации Microsoft туннелированный трафик PPP может аутентифицироваться с помощью PAP , CHAP , MS-CHAP v1/v2 .
Безопасность
[ редактировать ]PPTP был предметом многих анализов безопасности, и в протоколе были обнаружены серьезные уязвимости. Известные уязвимости связаны с используемыми базовыми протоколами аутентификации PPP, конструкцией протокола MPPE , а также интеграцией между аутентификацией MPPE и PPP для установления сеансового ключа. [2] [3] [4] [5]
Краткое описание этих уязвимостей приведено ниже:
- MS-CHAP -v1 принципиально небезопасен. Существуют инструменты для простого извлечения хэшей паролей NT из захваченного обмена MSCHAP-v1. [6]
- При использовании MS-CHAP-v1 MPPE использует один и тот же сеансовый ключ RC4 для шифрования в обоих направлениях потока связи. Это можно подвергнуть криптоанализу стандартными методами, выполняя операцию XOR для потоков в каждом направлении. [7]
- MS-CHAP-v2 уязвим для атак по словарю на захваченные пакеты ответа на вызов. Существуют инструменты для быстрого выполнения этого процесса. [8]
- В 2012 году было продемонстрировано, что сложность атаки методом перебора ключа MS-CHAP-v2 эквивалентна атаке методом перебора одного ключа DES . Также был продемонстрирован онлайн-сервис, способный расшифровать парольную фразу MS-CHAP-v2 MD4 за 23 часа. [9] [10]
- MPPE использует для шифрования потоковый шифр RC4 . Не существует метода аутентификации потока зашифрованного текста, и поэтому зашифрованный текст уязвим для атаки с переключением битов. Злоумышленник может изменить передаваемый поток и настроить отдельные биты для изменения выходного потока без возможности обнаружения. Эти перевороты битов могут быть обнаружены самими протоколами с помощью контрольных сумм или другими способами. [6]
EAP-TLS считается лучшим вариантом аутентификации для PPTP; [11] однако для этого требуется реализация инфраструктуры открытых ключей как для клиентских, так и для серверных сертификатов. По существу, это может оказаться неприемлемым вариантом аутентификации для некоторых установок удаленного доступа. Большинство сетей, использующих PPTP, должны применять дополнительные меры безопасности или будут считаться совершенно неподходящими для современной интернет-среды. В то же время это означает в какой-то момент свести на нет вышеупомянутые преимущества протокола. [12]
См. также
[ редактировать ]- IPsec
- Протокол туннелирования уровня 2 (L2TP)
- Протокол туннелирования защищенных сокетов (SSTP)
- OpenVPN , программное обеспечение с открытым исходным кодом, реализующее VPN.
- WireGuard , простая и эффективная реализация VPN
Ссылки
[ редактировать ]- ^ RFC 2637
- ^ «Часто задаваемые вопросы о вредоносном ПО: Microsoft PPTP VPN» . Проверено 29 июня 2017 г.
- ^ «Microsoft говорит, что не используйте PPTP и MS-CHAP» . Проверено 3 ноября 2012 г.
- ^ «Смертельный удар для PPTP» . Проверено 3 ноября 2012 г.
- ^ «Различия между PPTP и L2TP» . лучший vpnrating . Архивировано из оригинала 14 сентября 2016 года . Проверено 7 августа 2016 г.
- ^ Перейти обратно: а б Брюс Шнайер, Криптоанализ протокола туннелирования «точка-точка» Microsoft (PPTP) . Архивировано 4 июня 2011 г. в Wayback Machine .
- ^ Брюс Шнайер, Криптоанализ расширений аутентификации PPTP от Microsoft (MS-CHAPv2) , 19 октября 1999 г ..
- ^ Райт, Джошуа. «Спит» . Проверено 1 ноября 2017 г.
- ^ «Разделяй и властвуй: взлом MS-CHAPv2 со 100% вероятностью успеха» . Cloudcracker.com. 29 июля 2012 г. Архивировано из оригинала 16 марта 2016 г. Проверено 7 сентября 2012 г.
- ^ «Marlinspike демонстрирует взлом MS-CHAPv2» . Регистр . 31 июля 2012 г. Проверено 7 сентября 2012 г.
- ^ Выбор EAP-TLS или MS-CHAP v2 для аутентификации на уровне пользователя , Microsoft TechNet, 28 марта 2003 г.
- ^ «Сравнение протоколов VPN: IKEv2, IKEv1, OpenVPN, L2TP и PPTP» . Блог VPN Unlimited . 14 мая 2018 г. Проверено 19 июня 2018 г.
Внешние ссылки
[ редактировать ]- Windows NT: понимание PPTP от Microsoft
- Часто задаваемые вопросы по недостаткам безопасности в реализации Microsoft , Брюс Шнайер , 1998 г.
- Криптоанализ расширений аутентификации PPTP от Microsoft (MS-CHAPv2), Брюс Шнайер , 1999 г.