PPTP
PPTP (англ. Point-to-Point Tunneling Protocol) —туннельныйпротокол типаточка-точка, позволяющий компьютеру устанавливатьзащищённое соединение с сервером за счёт создания специального туннеля в стандартной, незащищённой сети. PPTP помещает (инкапсулирует) кадрыPPP вIP-пакеты для передачи по глобальной IP-сети, например,Интернет. PPTP может также использоваться для организации туннеля между двумялокальными сетями. РРТР использует дополнительноеTCP-соединение для обслуживания туннеля.
Спецификация
[править |править код]Спецификация протокола была опубликована как «информационная»RFC 2637 в1999 году. Она не была ратифицированаIETF. Протокол считается менее безопасным, чемIPSec. PPTP работает, устанавливая обычнуюPPP-сессию с противоположной стороной с помощью протоколаGeneric Routing Encapsulation. Второе соединение наTCP-порту 1723 используется для инициации и управления GRE-соединением. PPTP сложно перенаправлять засетевой экран, так как он требует одновременного установления двух сетевых сессий.
PPTP-трафик может быть зашифрован с помощьюMPPE. Дляаутентификации клиентов могут использоваться различные механизмы, наиболее безопасные из них —MS-CHAPv2 иEAP-TLS.
Реализация PPTP
[править |править код]Cisco первой реализовала PPTP и позже лицензировала эту технологию корпорацииMicrosoft.
PPTP удалось добиться популярности благодаря тому, что это первый протокол туннелирования, который был поддержан корпорациейMicrosoft. Все версииMicrosoft Windows, начиная сWindows 95 OSR2, включают в свой состав PPTP-клиент, однако существует ограничение на два одновременных исходящих соединения. Асервис удалённого доступа дляMicrosoft Windows включает в себя PPTP-сервер[1].
Некоторое время вLinux-дистрибутивах отсутствовала полная поддержка PPTP из-за опасения патентных претензий по поводу протокола MPPE. Впервые полная поддержка MPPE появилась в Linux 2.6.13 (2005 год). Официально поддержка PPTP была начата с версии ядра Linux 2.6.14. Тем не менее, сам факт применения MPPE в PPTP фактически не обеспечивает безопасности протокола PPTP.
Операционная системаFreeBSD поддерживает PPTP-протокол, используя в качестве сервера PPTP портmpd (/usr/ports/net/mpd5), используя подсистемуnetgraph; можно также использовать программуPoPToP (/usr/ports/net/poptop). В качестве клиента PPTP в системе FreeBSD может выступать либо порт pptpclient (/usr/ports/net/pptpclient), либо порт mpd, работающий в режиме клиента.
Операционные системыMac OS X иiOS поставлялись со встроенным PPTP-клиентом, однако начиная с версийmacOS Sierra и iOS 10 встроенный клиент удален по соображениям безопасности[2].Cisco иEfficient Networks продают реализации PPTP-клиента для более старых версийMac OS.КПК Palm, имеющих поддержку Wi-Fi, поставляются с PPTP-клиентомMergic.
MicrosoftWindows Mobile 2003 и более новые также поддерживают PPTP.
Безопасность протокола PPTP
[править |править код]PPTP был объектом множества анализов безопасности, в нём были обнаружены различные серьёзные уязвимости. Известные относятся к используемым протоколам аутентификации PPP, устройству протокола MPPE и интеграции между аутентификациями MPPE и PPP для установки сессионного ключа. Краткий обзор данных уязвимостей:
- MSCHAP-v1 совершенно ненадёжен. Существуют утилиты для лёгкого извлеченияхешей паролей из перехваченного обмена MSCHAP-v1[3].
- MSCHAP-v2 уязвим для словарной атаки на перехваченные challenge response пакеты. Существуют программы, выполняющие данный процесс[4].
- В 2012 году было показано, что сложность подбора ключа MSCHAP-v2 эквивалентна подбору ключа к шифрованию DES, и был представлен онлайн-сервис, который способен восстановить ключ за 23 часа[5].
- При использовании MSCHAP-v1, MPPE использует одинаковый RC4 сессионный ключ для шифрования информационного потока в обоих направлениях. Поэтому стандартным методом является выполнение XOR’а потоков из разных направлений вместе, благодаря чему криптоаналитик может узнать ключ[6].
- MPPE использует RC4-поток для шифрования. Не существует метода для аутентификации цифробуквенного потока и поэтому данный поток уязвим для атаки, делающей подмену битов. Злоумышленник легко может изменить поток при передаче и заменить некоторые биты, чтобы изменить исходящий поток без опасности своего обнаружения. Данная подмена битов может быть обнаружена с помощью протоколов, считающих контрольные суммы[3].
См. также
[править |править код]Примечания
[править |править код]- ↑"PPTP - Point to Point Tunneling Protocol", Bradley Mitchell, Updated June 25, 2016 . Дата обращения: 13 ноября 2016. Архивировано 13 ноября 2016 года.
- ↑Служба поддержки Apple . Дата обращения: 12 июля 2017. Архивировано 27 сентября 2016 года.
- ↑12Bruce Schneier,Cryptanalysis of Microsoft's Point to Point Tunneling Protocol (PPTP) . Дата обращения: 21 декабря 2010. Архивировано изоригинала 4 июня 2011 года.
- ↑Статья Exploiting Cisco LeapАрхивировано 26 июля 2012 года. (англ.) (Дата обращения: 1 сентября 2011)
- ↑Divide and Conquer: Cracking MS-CHAPv2 with a 100% success rateАрхивировано 16 марта 2016 года.
- ↑Bruce Schneier,Cryptanalysis of Microsoft's PPTP Authentication Extensions (MS-CHAPv2), October 19 1999 . Дата обращения: 21 декабря 2010. Архивировано 3 апреля 2015 года.