Information Security
August 2012 28

WPA2-Enterprise, или правильный подход к безопасности Wi-Fi сети

В последнее время появилось много «разоблачающих» публикаций о взломе какого-либо очередного протокола или технологии, компрометирующего безопасность беспроводных сетей. Так ли это на самом деле, чего стоит бояться, и как сделать, чтобы доступ в вашу сеть был максимально защищен? Слова WEP, WPA, 802.1x, EAP, PKI для вас мало что значат? Этот небольшой обзор поможет свести воедино все применяющиеся технологии шифрования и авторизации радио-доступа. Я попробую показать, что правильно настроенная беспроводная сеть представляет собой непреодолимый барьер для злоумышленника (до известного предела, конечно).



Основы


Любое взаимодействие точки доступа (сети), и беспроводного клиента, построено на:

  • Аутентификации — как клиент и точка доступа представляются друг другу и подтверждают, что у них есть право общаться между собой;
  • Шифровании — какой алгоритм скремблирования передаваемых данных применяется, как генерируется ключ шифрования, и когда он меняется.


Параметры беспроводной сети, в первую очередь ее имя (SSID), регулярно анонсируются точкой доступа в широковещательных beacon пакетах. Помимо ожидаемых настроек безопасности, передаются пожелания по QoS, по параметрам 802.11n, поддерживаемых скорости, сведения о других соседях и прочее. Аутентификация определяет, как клиент представляется точке. Возможные варианты:

  • Open — так называемая открытая сеть, в которой все подключаемые устройства авторизованы сразу
  • Shared — подлинность подключаемого устройства должна быть проверена ключом/паролем
  • EAP — подлинность подключаемого устройства должна быть проверена по протоколу EAP внешним сервером

Открытость сети не означает, что любой желающий сможет безнаказанно с ней работать. Чтобы передавать в такой сети данные, необходимо совпадение применяющегося алгоритма шифрования, и соответственно ему корректное установление шифрованного соединения. Алгоритмы шифрования таковы:

  • None — отсутствие шифрования, данные передаются в открытом виде
  • WEP — основанный на алгоритме RC4 шифр с разной длиной статического или динамического ключа (64 или 128 бит)
  • CKIP — проприетарная замена WEP от Cisco, ранний вариант TKIP
  • TKIP — улучшенная замена WEP с дополнительными проверками и защитой
  • AES/CCMP — наиболее совершенный алгоритм, основанный на AES256 с дополнительными проверками и защитой


Комбинация Open Authentication, No Encryption широко используется в системах гостевого доступа вроде предоставления Интернета в кафе или гостинице. Для подключения нужно знать только имя беспроводной сети. Зачастую такое подключение комбинируется с дополнительной проверкой на Captive Portal путем редиректа пользовательского HTTP-запроса на дополнительную страницу, на которой можно запросить подтверждение (логин-пароль, согласие с правилами и т.п).

Шифрование WEP скомпрометировано, и использовать его нельзя (даже в случае динамических ключей).

Широко встречающиеся термины WPA и WPA2 определяют, фактически, алгоритм шифрования (TKIP либо AES). В силу того, что уже довольно давно клиентские адаптеры поддерживают WPA2 (AES), применять шифрование по алгоритму TKIP нет смысла.

Разница между WPA2 Personal и WPA2 Enterprise состоит в том, откуда берутся ключи шифрования, используемые в механике алгоритма AES. Для частных (домашних, мелких) применений используется статический ключ (пароль, кодовое слово, PSK (Pre-Shared Key)) минимальной длиной 8 символов, которое задается в настройках точки доступа, и у всех клиентов данной беспроводной сети одинаковым. Компрометация такого ключа (проболтались соседу, уволен сотрудник, украден ноутбук) требует немедленной смены пароля у всех оставшихся пользователей, что реалистично только в случае небольшого их числа. Для корпоративных применений, как следует из названия, используется динамический ключ, индивидуальный для каждого работающего клиента в данный момент. Этот ключ может периодический обновляться по ходу работы без разрыва соединения, и за его генерацию отвечает дополнительный компонент — сервер авторизации, и почти всегда это RADIUS-сервер.

Все возможные параметры безопасности сведены в этой табличке:
Свойство Статический WEP Динамический WEP WPA WPA 2 (Enterprise)
Идентификация Пользователь, компьютер, карта WLAN Пользователь, компьютер
Пользователь, компьютер
Пользователь, компьютер
Авторизация
Общий ключ

EAP

EAP или общий ключ

EAP или общий ключ

Целостность

32-bit Integrity Check Value (ICV)

32-bit ICV

64-bit Message Integrity Code (MIC)

CRT/CBC-MAC (Counter mode Cipher Block Chaining Auth Code — CCM) Part of AES

Шифрование

Статический ключ

Сессионный ключ

Попакетный ключ через TKIP

CCMP (AES)

РАспределение ключей

Однократное, вручную

Сегмент Pair-wise Master Key (PMK)

Производное от PMK

Производное от PMK

Вектор инициализации

Текст, 24 бита

Текст, 24 бита

Расширенный вектор, 65 бит

48-бит номер пакета (PN)

Алгоритм

RC4

RC4

RC4

AES

Длина ключа, бит

64/128

64/128

128

до 256

Требуемая инфраструктура

Нет

RADIUS

RADIUS

RADIUS


Если с WPA2 Personal (WPA2 PSK) всё ясно, корпоративное решение требует дополнительного рассмотрения.

WPA2 Enterprise



Здесь мы имеем дело с дополнительным набором различных протоколов. На стороне клиента специальный компонент программного обеспечения, supplicant (обычно часть ОС) взаимодействует с авторизующей частью, AAA сервером. В данном примере отображена работа унифицированной радиосети, построенной на легковесных точках доступа и контроллере. В случае использования точек доступа «с мозгами» всю роль посредника между клиентов и сервером может на себя взять сама точка. При этом данные клиентского суппликанта по радио передаются сформированными в протокол 802.1x (EAPOL), а на стороне контроллера они оборачиваются в RADIUS-пакеты.

Применение механизма авторизации EAP в вашей сети приводит к тому, что после успешной (почти наверняка открытой) аутентификации клиента точкой доступа (совместно с контроллером, если он есть) последняя просит клиента авторизоваться (подтвердить свои полномочия) у инфраструктурного RADIUS-сервера:



Использование WPA2 Enterprise требует наличия в вашей сети RADIUS-сервера. На сегодняшний момент наиболее работоспособными являются следующие продукты:
  • Microsoft Network Policy Server (NPS), бывший IAS — конфигурируется через MMC, бесплатен, но надо купить винду
  • Cisco Secure Access Control Server (ACS) 4.2, 5.3 — конфигурируется через веб-интерфейс, наворочен по функционалу, позволяет создавать распределенные и отказоустойчивые системы, стоит дорого
  • FreeRADIUS — бесплатен, конфигурируется текстовыми конфигами, в управлении и мониторинге не удобен


При этом контроллер внимательно наблюдает за происходящим обменом информацией, и дожидается успешной авторизации, либо отказа в ней. При успехе RADIUS-сервер способен передать точке доступа дополнительные параметры (например, в какой VLAN поместить абонента, какой ему присвоить IP-адрес, QoS профиль и т.п.). В завершении обмена RADIUS-сервер дает возможность клиенту и точке доступа сгенерировать и обменяться ключами шифрования (индивидуальными, валидными только для данной сеcсии):



EAP


Сам протокол EAP является контейнерным, то есть фактический механизм авторизации дается на откуп внутренних протоколов. На настоящий момент сколько-нибудь значимое распространение получили следующие:
  • EAP-FAST (Flexible Authentication via Secure Tunneling) — разработан фирмой Cisco; позволяет проводить авторизацию по логину-паролю, передаваемому внутри TLS туннеля между суппликантом и RADIUS-сервером
  • EAP-TLS (Transport Layer Security). Использует инфраструктуру открытых ключей (PKI) для авторизации клиента и сервера (суппликанта и RADIUS-сервера) через сертификаты, выписанные доверенным удостоверяющим центром (CA). Требует выписывания и установки клиентских сертификатов на каждое беспроводное устройство, поэтому подходит только для управляемой корпоративной среды. Сервер сертификатов Windows имеет средства, позволяющие клиенту самостоятельно генерировать себе сертификат, если клиент — член домена. Блокирование клиента легко производится отзывом его сертификата (либо через учетные записи).
  • EAP-TTLS (Tunneled Transport Layer Security) аналогичен EAP-TLS, но при создании туннеля не требуется клиентский сертификат. В таком туннеле, аналогичном SSL-соединению браузера, производится дополнительная авторизация (по паролю или как-то ещё).
  • PEAP-MSCHAPv2 (Protected EAP) — схож с EAP-TTLS в плане изначального установления шифрованного TLS туннеля между клиентом и сервером, требующего серверного сертификата. В дальнейшем в таком туннеле происходит авторизация по известному протоколу MSCHAPv2
  • PEAP-GTC (Generic Token Card) — аналогично предыдущему, но требует карт одноразовых паролей (и соответствующей инфраструктуры)


Все эти методы (кроме EAP-FAST) требуют наличия сертификата сервера (на RADIUS-сервере), выписанного удостоверяющим центром (CA). При этом сам сертификат CA должен присутствовать на устройстве клиента в группе доверенных (что нетрудно реализовать средствами групповой политики в Windows). Дополнительно, EAP-TLS требует индивидуального клиентского сертификата. Проверка подлинности клиента осуществляется как по цифровой подписи, так (опционально) по сравнению предоставленного клиентом RADIUS-серверу сертификата с тем, что сервер извлек из PKI-инфраструктуры (Active Directory).

Поддержка любого из EAP методов должна обеспечиваться суппликантом на стороне клиента. Стандартный, встроенный в Windows XP/Vista/7, iOS, Android обеспечивает как минимум EAP-TLS, и EAP-MSCHAPv2, что обуславливает популярность этих методов. С клиентскими адаптерами Intel под Windows поставляется утилита ProSet, расширяющая доступный список. Это же делает Cisco AnyConnect Client.





Насколько это надежно


В конце концов, что нужно злоумышленнику, чтобы взломать вашу сеть?

Для Open Authentication, No Encryption — ничего. Подключился к сети, и всё. Поскольку радиосреда открыта, сигнал распространяется в разные стороны, заблокировать его непросто. При наличии соответствующих клиентских адаптеров, позволяющих прослушивать эфир, сетевой трафик виден так же, будто атакующий подключился в провод, в хаб, в SPAN-порт коммутатора.
Для шифрования, основанного на WEP, требуется только время на перебор IV, и одна из многих свободно доступных утилит сканирования.
Для шифрования, основанного на TKIP либо AES прямое дешифрование возможно в теории, но на практике случаи взлома не встречались.

Конечно, можно попробовать подобрать ключ PSK, либо пароль к одному из EAP-методов. Распространенные атаки на данные методы не известны. Можно пробовать применить методы социальной инженерии, либо терморектальный криптоанализ.

Получить доступ к сети, защищенной EAP-FAST, EAP-TTLS, PEAP-MSCHAPv2 можно, только зная логин-пароль пользователя (взлом как таковой невозможен). Атаки типа перебора пароля, или направленные на уязвимости в MSCHAP также не возможны либо затруднены из-за того, что EAP-канал «клиент-сервер» защищен шифрованным туннелем.

Доступ к сети, закрытой PEAP-GTC возможен либо при взломе сервера токенов, либо при краже токена вместе с его паролем.

Доступ к сети, закрытой EAP-TLS возможен при краже пользовательского сертификата (вместе с его приватным ключом, конечно), либо при выписывании валидного, но подставного сертификата. Такое возможно только при компрометации удостоверяющего центра, который в нормальных компаниях берегут как самый ценный IT-ресурс.

Поскольку все вышеозначенные методы (кроме PEAP-GTC) допускают сохранение (кэширование) паролей/сертификатов, то при краже мобильного устройства атакующий получает полный доступ без лишних вопросов со стороны сети. В качестве меры предотвращения может служить полное шифрование жесткого диска с запросом пароля при включении устройства.

Запомните: при грамотном проектировании беспроводную сеть можно очень хорошо защитить; средств взлома такой сети не существует (до известного предела)
+59
248.8k 630
Comments 51
Top of the day