Wildpackets OmniSpectrum

Существует три класса инструментов, используемых для обследования и изучения беспроводных сетей: анализаторы спектра; активные сканеры (стамблеры); сетевые анализаторы (снифферы).

Анализаторы спектра

Анализаторы спектра часто используются при обследовании радиосети с целью выяснения помеховой обстановки в различных ее частях. Как правило, программное обеспечение анализатора спектра является частью сетевого анализатора, хотя существует ряд решений в виде отдельного устройства. На рис. 1.18 представлена копия экрана анализатора спектра Wildpackets OmniSpectrum.

С помощью анализатора спектра можно выявлять не только точки доступа, но и другие источники радиосигнала, например телефоны стандарта DECT и т.д.

Сканеры беспроводных сетей

Активные сканеры используют механизмы активного и пассивного сканирования, применяемые станциями 802.11 для обнаружения точек доступа. Для этого они рассылают по всем доступным каналам запросы Probe Request с пустым значением идентификатора сети (SSID) и анализируют полученные в ответ фреймы Probe Response, а также пакеты Beacon точек доступа. На основании этих данных пользователю выводится информация о МАС-адресах точек доступа и их SSID, используемом DSSS канале, мощности сигнала (точнее отношение сигнал/шум), методах шифрования.

Название данного класса программ «стамблеры» произошло от популярной утилиты Netstumbler.

Утилита Netstumbler

Очень часто активные сканеры называют «Wi-Fi снифферами», что абсолютно неверно. Сканеры не выполняют основную задачу анализатора — сбор и обработку пакетов. Они просто используют предоставляемый сетевым адаптером список доступных сетей и представляют его в более удобном виде, чем стандартные утилиты ОС.

Анализаторы беспроводных сетей

В отличие от проводных сетей, где неселективный (promoscius) режим поддерживается большинством адаптеров и даже в стандартную поставку большинства операционных систем входит сетевой анализатор, в беспроводных сетях все несколько сложнее. Для сбора сетевого трафика необходимо перевести адаптер в режим мониторинга (rfmon). Для этого используются специализированные драйверы, которые существуют далеко не для всех беспроводных адаптеров. Но, переведя свой адаптер в режим мониторинга, вы получаете возможность прослушивать трафик не только той сети, к которой вы сейчас подключены, но все сети в радиусе радиовидимости.

Как правило, в поставку коммерческих сетевых анализаторов входят драйверы для распространенных сетевых адаптеров. Перед выбором сетевого адаптера необходимо убедиться что он поддерживается инструментами, которые планируется использовать. Вообще, процесс выбора аппаратной составляющей является отдельной сложной темой, которой мы коснемся в разделе, посвященном оценке защищенности сетей. В качестве примера можно привести тот факт, что когда у одного из авторов возникла необходимость в обновлении «железа», на это ушло два месяца и почти триста долларов. В настоящее время стоит ориентироваться на адаптеры на базе чипсетов Atheros, как наиболее популярных среди разработчиков.

CommView for WiFi

Работа с беспроводным анализатором мало отличается от работы с подобными программами для проводных сетей. Как правило, имеется окно со списком пакетов, детальная расшифровка полей и содержимое пакета в шестнадцатеричном виде.

Дополнительной возможностью беспроводных анализаторов является переключение между каналами (channel hopping). Поскольку адаптер может работать только на одном канале в конкретный момент времени, для сбора пакетов по всему частотному диапазону необходимо переключать его между каналами через заданный промежуток времени. В большинстве анализаторов можно указать список каналов и время работы на каждом из них.

WPA-PSK




Многие анализаторы поддерживают функцию декодирования пакетов WEP и WPA-PSK. Для этого в настройках анализатора задаются ключи WEP или парольная фраза WPA.
Понятно, что для декодирования WPA анализатор должен перехватить процесс установления соединения, поскольку ключ шифрования WPA выводится обеими сторонами в процессе начальных переговоров.

Кроме уже упоминавшегося выше CommView for Wi-Fi достаточно удобными анализаторами беспроводных сетей являются продукты линейки Airmagnet (http://www.airmagnet.com), легендарный Airopeek (http://www.wildpackets.com/) и его бесплатный вариант OmniPeek Personal (http://www.omnipeek.com/).

В операционной системе Linux для работы в режиме мониторинга также необходимо установить драйвер, поддерживающий этот режим. Причем использование различных вариантов ndis_wrappers, конечно, позволит работать с беспроводной сетью, но не даст возможности анализа трафика в режиме мониторинга. Наиболее популярными драйверами являются MadWifi (http://sourceforge.net/ projects/madwifi/) для чипсетов Atheros, HostAP (http://hostap.epitest.fi/) для карт на основе Intersil Prism и ipw2200 для Intel PRO/Wireless (http://ipw2200.sourceforge.net/), встроенных во многие ноутбуки. Простой способ проверить, работает ли та или иная карточка в режиме мониторинга, заключается в поиске ее в списке устройств, поддерживаемых популярным анализатором беспроводных сетей Kismet (http://www.kismetwireless.net/).

Установка драйверов может быть далеко нетривиальной задачей. Однажды авторам пришлось потратить полдня на «прямой перебор» версии прошивки (firmware), драйверов и утилит для поддержки 802.11 в ОС Linux для того, чтобы заставить особо капризный сетевой адаптер работать в режиме мониторинга. Но ваши усилия будут вознаграждены, поскольку большая часть программ, необходимых для проведения работ по оценке защищенности беспроводных сетей, создана под Linux.

После установки драйверов сетевой адаптер может быть переведен в режим мониторинга с помощью команды iwconfig:
#iwconfig ath0 mode monitor channel 6

Для анализа пакетов беспроводных сетей может использоваться привычный сетевой анализатор Ethereal/Wireshark (или tcpdump Для любителей этой программы). Анализатор 802.11 поддерживает декодирование и гибкую фильтрацию фреймов 802.11, расшифровку пакетов WEP, восстановление сессий прикладных протоколов и множество других полезных возможностей. К сожалению, Ethereal/Wireshark не позволяет динамически перестраиваться на другие каналы во время работы, но это можно сделать либо с помощью утилиты iwconfig, либо собирая фреймы с помощью другой программы, например Kismet. Для выбора канала используется следующий синтаксис команды iwconfig:
#iwconfig ath0 channel 6

Как нетрудно заметить, копии экрана в разделе, посвященном канальному уровню беспроводных сетей, сняты именно с Ethereal/Wireshark.

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

  • распределенная архитектура клиент/сервер;
  • поддержка работы с несколькими сетевыми адаптерами;
  • переключение между каналами 802.11 a/b/g;
  • извлечение информации о сетях из фреймов Beacon, Probe Request, Probe Response, пакетов данных;
  • определение информации об используемых методах защиты;
  • определение точек доступа со стандартными настройками;
  • определение IP-адресации в беспроводной сети;
  • обнаружение некоторых атак в беспроводных сетях;
  • сохранение трафика в формате tcpdump/Ethereal/Wireshark;
  • поддержка GPS.

Настройка Kismet достаточна проста. Параметры сервера хранятся в файле kismet.conf (обычно в /usr/local/src), а клиентской части приложения — в файле kismet_ui.conf

После установки необходимо указать идентификатор сетевого адаптера в параметре source сервера, например madwifi_ag, athO, madwifi_ag. Может быть указано несколько строк source, если в системе установлено больше одного сетевого анализатора. Возможные значения этого параметра, и соответственно, список поддерживаемых драйверов приведен в файле Readme дистрибутива. Затем необходимо определиться с последовательностью переключений между каналами. Если планируете работать только с одним каналом или только с сетями 802.11 b/g, стандартные настройки переключений можно изменить путем модификации параметров defaultchannels. За работу механизма переключения отвечают параметры channelhop и channelvelocity (количество переключений в секунду), хотя остановить и запустить процесс сканирования можно и через графический интерфейс.

Для уменьшения объема собираемых данных можно отключать сбор фреймов Beacon (beaconlog), пакетов, содержащих ошибки, управляющих пакетов и т.д. При отключении сбора Beacon в журналах сохраняется только первый обнаруженный фрейм для каждой точки доступа.
При проведении боевого выезда лучше запретить сохранение перехваченных данных, чтобы не нарушить законы Российской Федерации. Для этого из параметра logtypes необходимо исключить значение dump.

Дополнительно можно задавать фильтры на обрабатываемые пакеты по МАС-адресам отправителя, получателя и точки доступа. За это отвечают параметры filterjrack, filter_dump и filter_export. Программа также поддерживает возможность декодирования трафика WEP в случае, если ключ шифрования известен. Для работы этой функции в параметре wepkey необходимо задать BSSID точки доступа и используемый ею ключ WEP.

При- запуске Kismet не стоит забывать, что программа работает от непривилегированного пользователя, и соответственно, у учетной записи должны быть права на запись в ту папку, где Kismet сохраняет журналы работы.

После настройки базовых параметров Kismet, приведенных выше, основной инструмент для «боевого выезда» готов к использованию.

Kismet в действии




В заключении, приведем результаты «боевого выезда» на Садовое кольцо города Москвы, предпринятого авторами летом 2006 г.