Данная статья предназначена для ознакомления читателя с технологией перенаправления ассоциации, а также тем, как с ее помощью можно реализовать некий аналог сетей VLAN с применением проводных технологий и стандарта IEEE 802.11.
Джонни Кэш (Johnny Cache)
johnycsh@gmail.com
1) Предисловие
Краткий обзор: Данная статья предназначена для ознакомления читателя с технологией перенаправления ассоциации, а также тем, как с ее помощью можно реализовать некий аналог сетей VLAN с применением проводных технологий и стандарта IEEE 802.11. Данная технология интересна тем, что она может быть реализована на стороне клиента без нарушения стандарта IEEE 802.11, необходимы лишь незначительные изменения в точке доступа (Access Point, AP). В МАС 802.11 изменения не вносятся. Автор статьи надеется, что после ее прочтения читатель не только поймет особенности конкретной технологии, описанной ниже, но также впредь будет рассматривать особенности протоколов в новом ракурсе.
2) Общая информация
Спецификация стандарта IEEE 802.11 определяет иерархию трех состояний, в которых может находиться клиент. При подключении к точке доступа клиент переходит из состояния 1 в состояние 2, а затем в состояние 3. Изначально переход клиента из состояния 1 в состояние 2 происходит после успешной аутентификации (аутентификация происходит даже в том случае, когда проверка на безопасность отключена). Сходным образом клиент переходит из состояния 2 в состояние 3 с помощью ассоциации: как только процедура ассоциирования завершается, клиент входит в состояние 3 и получает возможность передавать данные через точку доступа.
В отличие от заголовков канального уровня стандартов Ethernet, 802.3 и других, заголовки стандарта 802.11 содержат, по меньшей мере, 3 адреса: источник, место назначения и Basic Service Set ID (BSSID). BSSID лучше представить как свободное поле. Значения полей BSSID и место назначения пакетов данных, предназначенных для интерфейса точек доступа, устанавливаются одинаковыми. Однако значение BSSID пакета данных, предназначенного для другого хоста в пределах той же сети WLAN, устанавливается соответственно точке доступа, а значение места назначения - соответственно хосту.
Диаграмма смены состояний в стандарте предусматривает, что если клиент при установлении ассоциации получает отклик со значением BSSID, отличным от того, с которым этот клиент изначально ассоциировался, в этом случае клиент должен ассоциироваться с этим новым значением BSSID. Технология отправления ассоциированного ответа с другим значением BSSID в заголовке также известна как перенаправление ассоциации. В то время как мотивация этой особенности не ясна, она может быть использована для динамического создания так называемой персональной виртуальной сети LAN с мостами (PVLAN).
3) Введение
Самым неопровержимым доводом в пользу виртуализации точек доступа является вопрос безопасности. В данный момент существует две возможные технологии для ее реализации, хотя только одна из них приобрела массовый характер. Наиболее распространенная технология была реализована компанией Colubris в технологии виртуальной точки доступа.
Другая технология - коллективная точка доступа (public access point, PAP) и персональные виртуальные сети LAN с мостами (PVLANs), которая описана в данной статье, была подтверждена патентом США № 20040141617.
3.1) Современный уровень развития технологии
Технология виртуальной точки доступа компании Colubris представляет собой физическое устройство, на котором реализуется полностью независимый уровень протокола MAC (включая уникальный BSSID) стандарта 802.11 для каждой виртуальной точки доступа. Единственным общим, что есть между индивидуальными виртуальными точками доступа, является оборудование, на котором они функционируют. На таком устройстве применяются даже виртуальные базы управляющей информации (Management Information Bases, MIB) для каждой точки доступа. Решение компании Colubris подходит для статического окружения, требующего постоянного управления, в котором четко определены пользователи и группы, к которым они принадлежат. Его применение требует, чтобы каждый пользователь заранее знал, с каким SSID необходимо ассоциироваться в первую очередь, равно как и с любыми другими учетными данными для аутентификации. Технология виртуальной точки доступа способна преобразовать их в виртуальные точки доступа сети VLAN стандарта 802.1q.
Решение коллективной точки доступа подходит для сетей, не требующих постоянного управления. В коллективных точках доступа используется технология, которая описана в данной статье. Одна коллективная точка доступа передает единичный сигнал (beacon) остальным точкам доступа (Public Access Point, PAP). Если клиент пытается создать ассоциацию, эта PAP перенаправляет его на динамически сформированный VBSSID, размещая клиента в собственной PVLAN. Эта технология подходит для условий использования, сходных с условиями в публичных точках предоставления доступа в Интернет (hotspots), где абсолютные доверительные отношения между пользователями не предусмотрены, и количество клиентов заранее неизвестно. Данная технология может также использоваться совместно с традиционными сетями VLAN стандарта 802.1q, однако, ее стойкость – не самое главное требование. Данная технология предназначена для работы в условиях, сходных с условиями публичных точек предоставления доступа (hotspots), когда у администраторов имеется незначительная сетевая инфраструктура, и существует только один исходящий канал.
4) Сети PVLAN и виртуальные BSSID
Сети PVLAN называют персональными сетями VLAN с мостами, поскольку сеть создается для клиента динамическим образом. VLAN контролируется главным образом клиентом, поскольку он управляет процессом ее создания и циклом существования. Наиболее распространен случай, когда на каждую сеть PVLAN приходится по одному клиенту.
Точка доступа, в которой реализуется принцип PAP, намеренно перенаправляет клиентов, пытающихся установить ассоциацию, на их персональные, динамически сформированные BSSID (виртуальные BSSID, или VBSSID).
В примере, приведенном ниже, точка доступа передает общий BSSID со значением 00:11:22:33:44:55 и перенаправляет клиента к его персональному VBSSID со значением 00:22:22:22:22:22.
5) Эксперимент
Проведенный эксперимент не предполагал полноценного применения принципа PAP. Эксперимент проводился с целью проверки различных микросхем, карт и драйверов на совместимость со стандартом и на возможность перенаправления ассоциации. С этой целью все устройства прошли проверку с применением всех обоснованных интерпретаций стандарта.
Эксперимент осуществлялся путем внесения незначительных изменений в драйвер host-up на базе Linux. Host-up может работать в режиме точки доступа (Access Point mode) и в режиме клиента. Все изменения осуществлялись в режиме точки доступа (Access Point mode). Изменения, произведенные в целях эксперимента, не влияют на работу host-up на стороне клиента.
Эксперимент проводился в два этапа. Во-первых, в host-up были внесены такие изменения, чтобы во всех управляющих фреймах изменялись адреса источника, BSSID, а также источника и самого BSSID (одновременно). Результаты приведены в таблице № 1.
После завершения этой стадии host-up модифицировалась таким образом, чтобы возвращать отклики на запросы аутентификации без искажений. Это было сделано ввиду того, что некоторые карты просто игнорировали искаженные отклики на запросы аутентификации. Результаты этого эксперимента представлены в таблице № 2.
5.1) Результаты
Таблица 1. Искажение всех фреймов управления
Вид |
MAC |
Chipset |
Модель |
ОС |
Драйвер |
Источник |
BSSID |
BSSID, источник |
00:0A:95:F3:2F:AB |
Broadcom |
Airport Extreme |
OSX 10.3 |
Стандартный |
IGN_AUTH |
IGN_ |
IGN_ |
|
00:02:D2:02:0D:E5 |
Hermes |
Orinoco Gold PC24E-H-FC |
Win XP, SP2 |
Производитель: Microsoft. \DRIVERS\wlluc48.sys |
IGN_ |
SCHIZO |
SCHIZO |
|
00:02:D2:02:0D:E5 |
Hermes |
Orinoco Gold PC24E-H-FC |
linux-2.4.27 |
Производитель: hostap |
IGN_ |
REDIR_ |
REDIR_ |
|
00:0B:6B:40:1E:E3 |
Ralink |
Compex WL54G-1A |
Win XP, SP2 |
Drivers\RT2500.sys |
IGN_AUTH |
ORIGINAL |
IGN_ |
|
00:0E:35:E9:C9:5B |
Centrino |
Intel PRO/Wireless 2200BG |
Win XP SP2 |
DRIVERS\w22n51.sys |
ORIGINAL |
ORIGINAL |
ORIGINAL |
|
00:20:A6:4B:DD:85 |
Atheros |
Orinoco 802.11ab ComboCard |
Win XP SP2 |
DRIVERS\ntpr11ag.sys |
IGN_AUTH |
IGN_AUTH |
IGN_ |
REDIR_REASSOC |
Происходит перенаправление клиента с попытками восстановить ассоциирование со старым BSSID.Все данные передаются новому BSSID. |
IGN_AUTH_REPLY |
Клиент игнорирует отклики точки доступа на запросы аутентификации. Отсутствует переход на стадию 2. |
IGN_ASSOC_REPLY |
Клиент игнорирует отклики точки доступа на запросы ассоциирования. Отсутствует переход на стадию 3. |
ORIGINAL_BSSID |
Происходит аутентификация и ассоциирование клиента с исходным BSSID с попытками передачи данных исходному BSSID. |
SCHIZO |
Происходит перенаправление ассоциирования, но потом клиент продолжает прием по общему BSSID и передачу по назначенному VBSSID. |
Таблица 2. Отсутствие искажения откликов на запросы аутентификации
Вид |
MAC-адрес |
Chipset |
Модель |
ОС |
Драйвер |
Источник |
BSSID |
BSSID, источник |
00:0A:95:F3:2F:AB |
Broadcom |
Airport Extreme |
OSX 10.3 |
Стандартный |
DEAUTH |
IGN_AUTH |
DEAUTH |
|
00:02:D2:02:0D:E5 |
Hermes |
Orinoco Gold PC24E-H-FC |
Win XP, SP2 |
Производитель: Microsoft. \DRIVERS\wlluc48.sys |
DUAL |
REDIR_BUT |
REDIR_BUT |
|
00:02:D2:02:0D:E5 |
Hermes |
Orinoco Gold PC24E-H-FC |
linux-2.4.27 |
Производитель: hostap |
DUAL |
REDIR_BUT |
REDIR_BUT |
|
00:0B:6B:40:1E:E3 |
Ralink |
Compex WL54G-1A |
Win XP, SP2 |
Drivers\RT2500.sys |
IGN_ |
DUAL |
IGN_AUTH |
|
00:0E:35:E9:C9:5B |
Centrino |
Intel PRO/Wireless 2200BG |
Win XP SP2 |
DRIVERS\w22n51.sys |
DUAL |
DUAL |
DUAL |
|
00:20:A6:4B:DD:85 |
Atheros |
Orinoco 802.11ab Combo |
Win XP SP2 |
DRIVERS\ntpr11ag.sys |
SIMPLE_DEAUTH |
DUAL |
SIMPLE_ |
DEAUTH_FLOOD |
Клиент отправляет много (ок. 10) деаутентификационных пакетов. Место назначения: новый BSSID, BSSID: нулевой. |
IGN_AUTH_REPLY |
Клиент игнорирует отклики точки доступа на запросы на ассоциацию. Отсутствует переход на стадию 3. |
ORIGINAL_BSSID |
Происходит аутентификация и ассоциация клиента с исходным BSSID с попытками передачи данных исходному BSSID. |
SIMPLE_DEAUTH_STA |
Клиент отправляет единичный пакет деаутентификации исходному BSSID. |
DUAL_BSSID |
Создается впечатление попеременного использования клиентом обоих BSSID. |
REDIR_REASSOC |
Происходит перенаправление клиента с попытками восстановить ассоциацию со старым BSSID.Все данные передаются новому BSSID. |
Значения откликов в таблице № 1 варьируются от неизменного пребывания в состоянии 1 до состояния успешной переадресации. В наиболее интересных случаях драйверы успешно входили в стадию 3. Всего произошло три таких случая. Случаи, помеченные как ORIGINALBSSID, демонстрируют результат, который изначально ожидался от многих устройств, с которыми запрос на перенаправление игнорировался, и передача продолжала осуществляться через PAP BSSID. Случай, помеченный как REDIRECTREASSOC, заканчивался успешной переадресацией с незначительным отклонением. Карта передавала все данные VBSSID, однако, периодически отправляла PAP BSSID запросы на повторное ассоциированиеповторную установку ассоциации.
Случай, помеченный как SCHIZO, также завершался стадией 3. В этом случае карта прослушивалась в PAP BSSID и затем переходила к осуществлению передачи через VBSSID. Похоже, что устройство игнорировало любую полученную через VBSSID информацию.
Как уже было отмечено в таблице № 2, возможность игнорирования откликов на запросы аутентификации была исключена с помощью отмены искажения полей до запроса на ассоциацию. Эта мера дала возможность получить несколько довольно интересных откликов.
Карта Apple AirPort Extreme отправила в качестве отклика поток пакетов деаутентификации нулевому BSSID с указанием точки доступа в качестве места назначения (DEAUTHFLOOD). Карта Atheros является единственной из всех остальных, которая также отправила пакет деаутентификации, хотя ее отклик был значительно более сдержанным – был отправлен единичный пакет деаутентификации исходному BSSID (SIMPLEDEAUTHSTA).
Другим новым видом отклика в таблице № 2 является поведение, помеченное как DUALBSSID. Похоже, карты, от которых был получен данный отклик, намеренно чередуют использование обоих BSSIDS при передаче каждого последующего пакета. Неизвестно, продолжается ли это чередование на протяжении всего сеанса соединения, или это какие-то намеренные действия, в результате которых будет произведен выбор приоритетного BSSID, с помощью которого они будут получать данные.
Проведение эксперимента позволило получить весьма интересные результаты. Изначально считалось, что многие карты никогда не войдут в стадию 3, или же будут использовать тот BSSID, на который они настроились изначально. Далеко не все карты можно заставить войти в стадию чередования BSSID, и далеко не все могут перенаправлять ассоциации. Перенаправление было успешно осуществлено для двух драйверов для чипсета Hermes.
6) Направления работы в будущем
Очевидно, что в будущем стоит поработать над внесением изменений в клиентские драйверы для большего соответствия стандарту. Гораздо более интересны вопросы о том, как обрабатывается распределение ключей в точке доступа в подобной ситуации (очевидно, что ни одно из решений PSK не применимо в данных условиях), и в каких пределах должно произойти отклонение от заявленных характеристик, чтобы успешно произвести аутентификацию WPA 802.1x? Одной из потенциально интересных сфер исследования является концепция скрытой ложной точки доступа.
При использовании перенаправления ассоциаций клиенты могут быть подвержены атаке скрытого (с точки зрения сетевого администратора) захвата ассоциации с помощью ложной точки доступа. Злоумышленнику стоит только настроить узел с модифицированным драйвером программной точки доступа на базе Linux, который бы не передавал бы фреймы beacons. Вместо этого, он ждал бы, пока клиент не предпримет попытку отправить запрос на процедуру установления ассоциации с истинной точкой доступа и попытался выиграть состояние гонок, чтобы понять, кто первым мог отправить отклик на запрос установления ассоциации. Злоумышленник может также произвести деаутентификацию (отключение от точки доступа) пользователя и таким образом подготовиться к победе в гонке.
Другим интересным моментом является вопрос, может ли PAP выдержать DoS-атаку с попыткой создания чрезмерного количества VBSSID. По мнению автора, можно найти подходящий алгоритм, с помощью которого процесс осуществления атаки можно сделать слишком ресурсоемким для большинства злоумышленников. Используя динамическое истечение срока действия PVLAN и VBSSID в зависимости от времени и трафика, PAP может усложнить злоумышленнику задачу, так как ему необходимо будет отслеживать все VBSSID, вместо того, чтобы просто создавать максимальное количество VBSSID и больше о них не беспокоиться.
7) Заключение
Маловероятно, что эта технология может быть успешно применена для создания PVLAN в обычных условиях, т.к. поведение устройств варьируется в зависимости от производителя. Однако, похоже, что решительный злоумышленник сможет использовать полученные во время этого эксперимента данные, чтобы изменить драйвер host-ap таким образом, чтобы иметь возможность незаметно перенаправить трафик. Это предоставит злоумышленнику некоторое преимущество по сравнению с типичными атаками подмены ARP-пакетов, поскольку ему не нужно будет совершать какие-либо подозрительные действия, связанные с протоколом ARP. В этом также видно преимущество по сравнению с применением обычных ложных точек доступа, поскольку не требуется отправки фреймов beacons которые можно легко обнаружить.
Наш канал — питательная среда для вашего интеллекта