ПРОБЛЕМЫ
БЕЗОПАСНОСТИ БЕСПРОВОДНЫХ СЕТЕЙ.
МЕТОДЫ И СПОСОБЫ ЗАЩИТЫ WI-FI СЕТЕЙ.
РЕАЛИИ И ПЕРСПЕКТИВЫ.
Андрушка
Игорь,Инженер-проектировщик Отдела прикладных системных исследований
развития информационного общества Центра прикладных системных исследований
развития информационного общества ГП «Registru»
Введение
За последние несколько лет беспроводные сети получили широкое распространение
во всём мире. И, если ранее речь шла преимущественно об использовании
беспроводных сетей в офисах и хот-спотах, то теперь они широко используются
как в домашних условиях, так и для развертывания мобильных офисов (в
условиях командировок). Специально для домашних пользователей и небольших
офисов продаются точки беспроводного доступа и беспроводные маршрутизаторы,
а для мобильных пользователей – карманные беспроводные маршрутизаторы.
Однако, принимая решение о переходе к беспроводной сети, не стоит забывать,
что на сегодняшнем этапе их развития они имеют одно уязвимое место.
Речь идёт о безопасности беспроводных сетей.
Общее
описание проблемы
Безопасность беспроводной сети включает в себя два аспекта: это защита
от несанкционированного доступа и шифрование передаваемой информации.
Отметим сразу, что решить их сегодня со стопроцентной гарантией невозможно,
но обезопасить себя от всевозможных «любителей» можно и нужно. Ведь
беспроводное оборудование и программное обеспечение по умолчанию содержит
в себе определенные средства защиты, остается только их задействовать
и правильно настроить. Однако, прежде чем перейти к оценке этих средств,
приведем несколько фактов, подтверждающих остроту проблемы.
Если взглянуть на результаты опроса главных менеджеров IT-компаний,
проведенного фирмой Defcom, то складывается любопытная картина. Порядка
90% опрошенных уверенно в будущем беспроводных сетей, но отодвигают
ее на неопределенные сроки ввиду слабой защищенности таких сетей на
современном этапе. Равновесие, с точки зрения безопасности между проводными
и беспроводными сетями, наступит, по их мнению, только через 3-5 лет.
И более 60% утверждают, что недостаточная безопасность серьезно тормозит
развитие этого направления - нет доверия, соответственно, многие не
рискуют отказываться от испытанных временем проводных решений.
Итак, перейдем непосредственно к методам и средствам обеспечения безопасности
беспроводных соединений.
Каждая беспроводная сеть имеет, как минимум, 2 ключевых компонента:
базовую станцию и точку доступа. Беспроводные сети могут функционировать
в двух режимах: ad-hoc (per-to-per) и infrastructure. В первом случае
сетевые карточки напрямую общаются друг с другом, во втором при помощи
точек доступа, которые служат в качестве Ethernet мостов.
Клиент и «точка» перед передачей данных должны установить соединение.
Не трудно догадаться, что между точкой и клиентом может существовать
всего три состояния:
-
«аутентификация не пройдена и точка не опознана»;
- «аутентификация пройдена, но точка не опознана»;
- «аутентификация принята и точка присоединена».
Понятно,
что обмен данными может идти только в третьем случае. До установления
соединения стороны обмениваются управляющими пакетами, «точка доступа»
передает опознавательные сигналы с фиксированным интервалом, «клиент»,
приняв такой пакет, начинают аутентификацию посылкой опознавательного
фрейма, после авторизации «клиент» посылает пакет присоединения, а «точка»
– пакет подтверждения присоединения беспроводного «клиента» к сети.
Механизмы
защиты
Основополагающим стандартом при построении данного вида сетей является
стандарт 802.1. Этот стандарт для беспроводных сетей предусматривает
несколько механизмов обеспечения безопасности сети. Среди них наиболее
используемые следующие:
- Wired Equivalent Protocol, или WEP, разработанных автором стандарта
802.1. Основная функция WEP – шифрование данных при передаче по радио
и предотвращение неавторизованного доступа в беспроводную сеть. По умолчанию
WEP отключен, однако его можно легко включить и в таком случае он начнет
шифровать каждый исходящий пакет. Для шифрования WEP использует алгоритм
RC4.
- WEP 2 – представлен в 2001 году после обнаружения множества дырок
в первой версии, WEP 2 имеет улучшенный механизм шифрования и поддержку
Cerberus V.
- Open System Authentication – система аутентификации по умолчанию,
используемая в протоколе 802.11. Собственно системы как таковой нет
– аутентификацию проходит любой, кто запрашивает. В случае OSA не помогает
даже WEP, т.к. в ходе экспериментов было выяснено, что пакет аутентификации
посылается незашифрованным.
- Access Control List – в протоколе не описывается, но используется
многими в качестве дополнения к стандартным методам. Основа такого метода
– клиентский Ethernet MAC, уникальный для каждой карточки. Точка доступа
ограничивает доступ к сети в соответствии со своим списком MAC адресов,
есть клиент в списке и доступ разрешен, нет- значит, нет.
- Closed Network Access Control – тут не намного сложнее: либо администратор
разрешает любому пользователю присоединяться к сети, либо в нее может
войти только тот, кто знает ее имя, SSID. Сетевое имя в таком случае
служит секретным ключом.
Виды
атак на Wi-Fi сети.
- Access Point Spoofing & Mac Sniffing – список доступа вполне пригоден
к использованию совместно с правильной идентификацией пользователей
в этом списке. В случае же с MAC адресом Access Control List очень просто
побороть, т.к. такой адрес очень просто изменить (беспроводные сетевые
карты позволяют программно менять MAC адрес) и еще проще перехватить,
так как он даже в случае с WEP передается в открытом виде. Таким образом,
элементарно проникнуть в сеть, защищенную Access Control List и использовать
все ее преимущества и ресурсы.
В случае наличия у нарушителя в загашнике собственной точки доступа
есть другая возможность: устанавливается Access Point рядом с существующей
сетью: если сигнал хакера сильнее оригинального, то клиент подключится
именно к хакеру, а не к сети, передав при этом не только MAC адрес,
но и пароль и прочие данные.
- WEP Attacks – чистые данные проходят проверку целостности и выдается
контрольная сумма (integrity check value, ICV). В протоколе 802.11 для
этого используется CRC-32. ICV добавляется в конец данных. Генерируется
24-битный вектор инициализации (IV) и к нему «привязывается» секретный
ключ. Полученное значение является исходным для генерации псевдослучайного
числа. Генератор выдает ключевую последовательность. Данные XOR-ятся
с этой ключевой последовательностью. Вектор инициализации добавляется
в конец и все это передается в эфир.
- Plaintext атака – в таком взломе атакующий знает исходное послание
и имеет копию зашифрованного ответа. Недостающее звено -это ключ. Для
его получения атакующий посылает «цели» небольшую часть данных и получает
ответ. Получив его, хакер находит 24-битный вектор инициализации, используемый
для генерирования ключа: нахождение ключа в таком случае всего лишь
задача брутфорса.
Другой вариант – обычный XOR. Если у хакера есть посланный plain text
и его зашифрованный вариант, то он просто XOR-ит шифр и на выходе получает
ключ, который вместе с вектором дает возможность «грузить» пакеты в
сеть без аутентификации на точке доступа.
- Повторное использование шифра – атакующий выцепляет из пакета ключевую
последовательность. Так как алгоритм шифрования WEP на вектор отводит
довольно мало места, атакующий может перехватить ключевой поток, используя
разные IV, создавая для себя их последовательность. Таким образом, хакер
может расшифровать сообщения, используя все тот же XOR; когда по сети
пойдут зашифрованные данные при помощи сгенерированных ранее ключевых
потоков их можно будет расшифровать.
- Атака Fluther-Mantin-Shamir – хакер может использовать уязвимости
и при помощи специализированного софта можно получить как 24 битный
ключ WEP, так и 128 битный ключ WEP 2.
- Low-Hanging Fruit – этот вид атаки рассчитан на добычу незащищенных
ресурсов из незащищенных сетей. Большинство беспроводных сетей абсолютно
незащищены, в них не требуется авторизации и даже не используют WEP,
так что человек с беспроводной сетевой карточкой и сканером может легко
подключиться к Access Point-у и использовать все предоставляемые им
ресурсы. Отсюда и название – низко висящие фрукты, которые сорвать не
составляет никакого труда.
А как же защитить сети. К числу основных способов защиты сетей можно
отнести следующие:
1. Фильтрация MAC адресов: в этом случае администратор составляет список
MAC адресов сетевых карт клиентов. В случае нескольких AP необходимо
предусмотреть, чтобы MAC адрес клиента существовал на всех, дабы он
мог беспрепятственно перемещаться между ними. Однако этот метод очень
легко победить, так что в одиночку его использовать не рекомендуется.
2. SSID (Network ID) – использование системы сетевых идентификаторов.
При попытке клиента подключиться к АР на него передается семизначный
алфавитно-цифровой код; используя метку SSID можно быть уверенным, что
к сети смогут подсоединиться только клиенты, знающие его.
3. Firewall: доступ к сети должен осуществляться при помощи IPSec, secure
shell или VPN, брандмауэр должен быть настроен на работу именно с этими
сетевыми соединениями.
4. AccessPoint – точку доступа надо настраивать на фильтрацию MAC адресов,
кроем того, физически сам девайс необходимо изолировать от окружающих.
Рекомендуется также конфигурировать точку только по telnet, отключив
возможность конфигурации через браузер или SNMP.
Атака
клиентского устройства на Wi-Fi сетях
Несмотря на то, что все-таки способы защиты в беспроводных сетях существуют,
и администраторы такого рода сетей должны принимать профилактические
меры. Нужно отметить сразу, что взлом «в лоб» таких сетей практически
невозможен, если не считать взломом атаки по отказу в обслуживании (DoS)
на первом и втором уровнях OSI модели. И тем не менее, все таки есть
некоторый вид атак, которому беспроводные сети могут быть подвержены.
Наиболее угрожающим типом подобных «атак в обход» являются атаки против
неассоциированных клиентских хостов.
Общая идея состоит в следующем:
1. Находится неассоциированное клиентское устройство, либо используется
«затопление» сети фреймами деассоциации или деаутентификации для его
получения.
2. Специфически эмулируется точка доступа для подсоединения этого хоста.
3. Выдается IP адрес, а также IP адреса фальшивых шлюза и DNS сервера
через DHCP.
4. Атакуется устройство.
5. Если это необходимо и удаленный доступ к устройству был успешно получен,
хост «отпускается» обратно на «родную» сеть, предварительно запускается
на нем «троян».
Со следующего года все выпускаемые лаптопы и ноутбуки будут иметь встроенную
поддержку Wi-Fi. Да и сейчас уже очень многие клиентские устройства
обладают встроенной поддержкой включенной и постоянно ищущей сети для
ассоциаций, часто без ведома их владельца. Данный факт игнорируем большинством
системных администраторов. Зачастую профессионалы в области IT безопасности
ищут исключительно несанкционированные точки доступа и ад-хок сети,
не уделяя достаточного внимания Probe Request фреймам от «потерянных»
клиентов.
Казалось бы, на первый взгляд, что «отлов» таких клиентов не составляет
особого труда. Но лицу, занимающемуся такого рода деятельностью необходимо
обладать некоторой информацией. Какого рода данная информация – попытаемся
раскрыть.
Для начала ему необходимо знать согласно какому алгоритму клиентские
устройства автоматически ищут сети для подсоединения. Будут ли они ассоциироваться
с любой обнаруженной 802.11 сетью с достаточно мощным сигналом? А если
таких сетей несколько? На чем будет основан их выбор? Kaк насчет сетей
с «закрытым» ESSID и сетей, защищенных с помощью WEP или WPA? Ответы
на эти вопросы зависят как от операционной системы клиентского хоста,
так и от используемой им беспроводной аппаратной части, её драйверов
и пользовательских настроек. Рассмотрим одну из наиболее используемых
на сегодняшний день операционных систем семейства Windows.
Для установки беспроводного соединения в Windows XP и Windows Server
2003 используется «Алгоритм беспроводной самонастройки» (АБС). Данный
алгоритм оперирует с двумя списками 802.11 сетей: списком доступных
сетей (СДС) и списком предпочитаемых сетей (СПС). СДС представляет из
себя список сетей, ответивших на широковещательные Probe Request фреймы
при последнем активном скане. СПС есть список сетей, к которым было
установлено полноценное соединение в прошлом. Последние сети, с которыми
было ассоциировано устройство, идут в данном списке первыми. Описание
сети в обоих списках содержит её ESSID, канал и метод шифрования – «открытый
текст», WEP или WPA. Эти списки используются следующим образом в процессе
работы АБС:
1. Клиентское устройство составляет СДС путем посылки широковещательных
Probe Request фреймов с пустым полем ESSID по одному на каждый из используемых
802.11 каналов и параллельной обработки ответов на эти фреймы.
2. Если обнаруживаются сети, находящиеся в СПС, то происходит ассоциация
с такими сетями в порядке их расположения в этом списке. То есть клиентское
устройство ассоциируется с самой верхней сетью СПС, которая присутствует
в СДС.
3. Если таких сетей не обнаруживается, или же успешной ассоциации с
ними не произошло по причине различия в 802.11 стандартах или проблем
аутентификации, АБС "заходит на второй круг", посылая Probe
Request фреймы специфически для поиска сетей, перечисленных в СПС. На
практике это означает, что данные фреймы посылаются на каналы СПС сетей
и содержат их ESSID. При этом, отсылка этих фреймов от содержания СДС
абсолютно не зависит. Смысл наличия "второго круга" АБС заключается
в поиске сетей с "закрытым" ESSID.
4. В случае ненахождения подходящих Infrastructure сетей, следующим
этапом поиска является нахождение ад-хок сетей. Для этого проводится
сопоставление ад-хок сетей СДС и СПС.
5. Если в СПС имеется хотя бы одна ад-хок сеть, но в СДС она не найдена,
АБС устанавливает клиентское устройство в режим ад-хок и присваивает
беспроводному интерфейсу IP адрес, принадлежащий к 169.254.0.0/16 диапазону
(RFC 3330). Таким образом, хост становится первым узлом потенциальной
новой ад-хок сети и алгоритм заканчивает свою работу.
6. Если же ад-хок сетей в СПС нет, то АБС проверяет флаг "Подсоединиться
к Непредпочитаемым Сетям" ("Connect To Nonpreferred Networks").
Если этот флаг равен единице, то клиентское устройство будет пытаться
ассоциироваться с каждой сетью СДС в порядке их очередности в списке.
Для атакующих, по умолчанию данный флаг равен нулю.
7. Если вышеупомянутый флаг не включен пользователем, то беспроводная
карточка "запарковывается" как клиент с установленным псевдослучайным
32-х значным ESSID. В таком состоянии она функционирует 60 секунд, после
чего алгоритм поиска сетей перезапускается.
В основном атаки хакеров всегда направлены на сам алгоритм АБС. Рассмотрим
очевидные слабости данного алгоритма. В первую очередь, во время "второго
раунда" АБС (пункт 3), клиентское устройство фактически раскрывает
содержание СПС. Если представить себе ситуацию, когда такой хост находится
вне досягаемости его "родной" сети. Например, корпоративный
лаптоп взят сотрудником на дом или в коммандировку (и используется в
аэропорту, самолете, гостинице и так далее). Для обнаружившего такой
лаптоп атакующего не составит особого труда определить первую сеть в
СПС по ESSID посылаемых устройством Probe Request фреймов, и установить
именно это значение ESSID на своей точке доступа. То же самое относится
и к поиску ад-хок сетей СПС. Если первая сеть СПС защищена и требует
WEP или WPA ключ для подключения, атакующий идет далее по списку и ищет
в нем открытую сеть, включая ад-хок WLANы. Вероятность нахождения такой
сети достаточно велика. К примеру, большинство Wi-Fi хотспотов используют
методы защиты беспроводной передачи данных на более высоких уровнях
OSI модели, обычно на седьмом. Подключение к таким сетям оставит описание
"незащищенной" (на 2-ом уровне) сети в СПС, которым без проблем
может воспользоваться атакующий.
Подобное описание ведет ко второй слабости. При отсутствии такой ад-хок
сети поблизости (крайне вероятный сценарий, учитывая то, что ад-хок
соединения обычно ставятся на короткие промежутки времени и часто -
с новым ESSID каждый раз), Windows клиент установится в постоянном режиме
работы как ад-хок узел, ожидающий других клиентов (пункт 5). Злоумышленник
без никаких проблем может стать таким клиентом, взять себе один из RFC
3330 адресов, и не проводить широковещательный пинг или послать ARP
запросы для обнаружения IP адреса жертвы и проведения дальнейших атак.
Причём, для подобного подключения не требуется никакого взаимодействия
со стороны пользователя. Оно является полностью автоматическим.
Наконец, при отсутствии незащищенных и ад-хок сетей в СПС и включенного
флага "Подсоединиться к Непредпочитаемым Сетям", алгоритм
достигнет установки клиентской карточки в "режим ожидания"
с посылкой Probe Request фреймов с длинным псевдослучайным ESSID (пункт
7). Проблема в том, что эти "загадочные" ESSID значения являются
вполне "рабочими". То есть, достаточно установить по соседству
точку доступа с таким ESSID, и «клиент» благополучно на нее "клюнет",
чтобы получить IP адрес через DHCP и подвергнуться дальнейшим атакам.
Следует сказать, что данная проблема уже устранена в Longhorn, но до
тотального перехода на эту операционную систему ещё далеко. А теперь
самое главное: так как сеть с длинным псевдослучайным ESSID отсутствует
в СПС, подсоединение к такой сети не только не требует никакого взаимодействия
со стороны атакуемого пользователя, но даже и не будет показано как
существующее индикатором беспроводной связи Windows XP. Данный индикатор
будет говорить, что устройство не ассоциировано с какой-либо Wi-Fi сетью,
и только контрольная панель установки сетевых опций Windows покажет
наличие соединения и присвоенного IP адреса. Следует упомянуть, что
последние версии драйверов 802.11a/b/g карточек с Atheros чипсетом хоть
и отсылают Probe Request фреймы с псевдослучайными ESSID, но не поддерживают
автоматическое соединение с точками доступа, настроенными с такими ESSID
значениями.
Что же делать атакующему, если, как было сейчас упомянуто, автоматическая
ассоциация, использующая псевдослучайные ESSID невозможна, а СПС не
содержит незащищенных на втором уровне сетей? Если сети, к которым подсоединялось
атакуемое устройство, защищены с помощью неподбираемого по словарю WPA-PSK
либо WPA-802.1х с использованием EAP-TLS, то на данный момент перспектив
успешного взлома не видно. Если по крайней мере одна такая сеть была
защищена с помощью WPA-802.1х с использованием EAP-TТLS или EAP-PEAP,
то существует возможность проведения атак на данные протоколы согласно
алгоритмам, описанным хак-группой Shmoo "Тhe Radical Realm of Radius,
802.1x, and You".
Говоря об устаревших механизмах защиты 802.11 сетей, невозможно не упомянуть
избитый всеми WEP. Атаки на него могут быть применены и против отдельных
клиентских устройств, сети в СПС которых "защищены" с помощью
WEPа. Если все ад-хок сети в СПС имеют WEP в своих установках, то и
произвольная ад-хок конфигурация с RFC 3330 адресом, как описано в пункте
5 выше, будет использовать WEP. Проблема в том, что такой ад-хок узел
не будет "соблюдать тишину" - достаточно вспомнить хотя бы
отсылку NetBIOS HELLO пакетов каждые 2 секунды. Соответственно, подобного
рода трафик может быть успешно утилизирован для взлома WEP ключа различными
методами, от простого перебора по словарю с помощью WepAttack до акселерации
взлома путем иньекции пакетов используя Christopher Devine's aireplay
(модифицированная атака ложной аутентификации либо интерактивная реиньекция
пакетов, с помощью которых можно заставить одиночный ад-хок клиент послать
зашифрованный ARP пакет для последующей ARP реиньекции).
Ещё более интересный пример - клиенты с псевдослучайным ESSID (пункт
7) и WEPом, которые "возникают" в тех случаях, когда все сети,
перечисленные в СПС, являются защищенными. Сам факт того, что при наличии
в этом списке и WPA-защищенных сетей, всё равно используется WEP - это
уже уязвимость. Но, более того, так как установки подобной сети нигде
не определены и "самоконфигурируются" без участия пользователя,
атакующая точка доступа способна навязать таким клиентам небезопасный
метод 802.11 аутентификации с использованием распределенного WEP ключа.
Навязывая этот метод, кракер может послать клиентскому устройству challenge
строку с известным текстом и получить обратно её же, заXORенную с частью
RC4 потока. Таким образом, заXORив полученное с первоначальным текстом,
атакующий узнает 144 байта RC4 потока для заданного вектора инициализации
(IV). У этой атаки много возможных применений. В частности:
- можно посылать всё новые и новые challenge запросы, пока не откроется
поток RC4 шифра для всех векторов инициализации 24-битного WEP IV пространства
- можно атаковать полученный ответ перебором по словарю испольуя WepAttack
и сходные утилиты
- можно использовать известные 144 байта потока для реиньекции пакетов
к клиентскому устройству с помощью WepWedgie Антона Рэйджера. Удачная
реиньекция заставит атакуемый хост послать зашифрованный ARP пакет,
который легко перехватить и использовать с aireplay.
В любом из вышеперечисленных случаев, одиночное клиентское устройство,
требующее соединение, защищенное WEPом, трудно назвать неуязвимым.
Заключение
Безопасности беспроводных
сетей стоит уделять особое внимание. Ведь беспроводная сеть имеет большой
радиус действия. Соответственно, злоумышленник может перехватывать информацию
или же атаковать сеть, находясь на безопасном расстоянии. К счастью,
в настоящее время существуют множество различных способов защиты и,
при условии правильной настройки, можно быть уверенным в обеспечении
необходимого уровня безопасности.
В заключении хотелось бы отметить, что автор статьи не призывает читателей
к «активным действиям» и атакам на беспроводные ресурсы различных компаний.
В данном случае цель данной статьи состояла в другом, а именно: помочь
системным администраторам ИТ компаний как можно более надежно обезопасить
ресурсы компаний от любого типа несанкционированного доступа и вторжений.
Список
используемой литературы
1. http://www.ferra.ru
2. http://www.denet.ru
3. http://www.cnews.ru
4. Андрей Владимиров «Атакуем клиентские устройства на Wi-Fi сетях»,
«Взлом и защита», 2006
|