За последние несколько лет беспроводные сети (WLAN) получили широкое распространение во всём мире. И если ранее речь шла преимущественно об использовании беспроводных сетей в офисах и хот-спотах, то теперь они широко используются и в домашних условиях, и для развертывания мобильных офисов (в условиях командировок). Специально для домашних пользователей и небольших офисов продаются точки беспроводного доступа и беспроводные маршрутизаторы класса SOHO, а для мобильных пользователей – карманные беспроводные маршрутизаторы. Однако, принимая решение о переходе к беспроводной сети, не стоит забывать, что на сегодняшнем этапе их развития они имеют одно уязвимое место. Речь идёт о безопасности беспроводных сетей.
«Да сколько можно об одном и том же! Надоело, уже. Хватит нас пугать всякими страшилками», – возмутятся многие пользователи. Да, действительно, проблеме безопасности беспроводных сетей уделяется немалое внимание и в Интернете, и в технической прессе. Да и сами протоколы беспроводной связи изначально наделены средствами обеспечения безопасности. Но так ли они надёжны, и можно ли на них полагаться?
В этой статье мы расскажем о том, как за несколько минут можно взломать «защищённую» беспроводную сеть и стать её несанкционированным, но полноправным пользователем. Однако нам не хотелось бы, чтобы данная статья рассматривалась как пособие для начинающих хакеров. Скорее, наоборот – по результатам данной статьи можно будет сделать некоторые выводы о том, как повысить безопасность беспроводной сети и осложнить задачу злоумышленника. Ведь кто не умеет взламывать сети, тот и не знает, как их защищать. А потому и начнём мы именно с того, что научимся взламывать. Итак, поехали…
Кратко о средствах безопасности беспроводных сетей
Любая беспроводная сеть состоит как минимум из двух базовых компонентов – точки беспроводного доступа и клиента беспроводной сети (режим ad-hoc, при котором клиенты беспроводной сети общаются друг с другом напрямую без участия точки доступа, мы рассматривать не будем). Стандартами беспроводных сетей 802.11a/b/g предусматривается несколько механизмов обеспечения безопасности, к которым относятся различные механизмы аутентификации пользователей и реализация шифрования при передаче данных.
Протокол WEP
Все современные беспроводные устройства (точки доступа, беспроводные адаптеры и маршрутизаторы) поддерживают протокол безопасности WEP (Wired Equivalent Privacy), который был изначально заложен в спецификацию беспроводных сетей IEEE 802.11. Данный протокол является своего рода аналогом проводной безопасности (во всяком случае, расшифровывается он именно так), однако реально никакого эквивалентного проводным сетям уровня безопасности он, конечно же, не предоставляет.
Протокол WEP позволяет шифровать поток передаваемых данных на основе алгоритма RC 4 с ключом размером 64 или 128 бит.
Данные ключи имеют так называемую статическую составляющую длиной от 40 до 104 бит и дополнительную динамическую составляющую размером 24 бита, называемую вектором инициализации (Initialization Vector, IV).
На простейшем уровне процедура WEP-шифрования выглядит следующим образом: первоначально передаваемые в пакете данные проверяются на целостность (алгоритм CRC-32), после чего контрольная сумма (integrity check value, ICV) добавляется в служебное поле заголовка пакета. Далее генерируется 24-битный вектор инициализации, (IV) и к нему добавляется статический (40-или 104-битный) секретный ключ. Полученный таким образом 64-или 128-битный ключ и является исходным ключом для генерации псевдослучайного числа, использующегося для шифрования данных. Далее данные смешиваются (шифруются) с помощью логической операции XOR с псевдослучайной ключевой последовательностью, а вектор инициализации добавляется в служебное поле кадра. Вот, собственно, и всё.
Протокол безопасности WEP предусматривает два способа аутентификации пользователей: Open System (открытая) и Shared Key (общая). При использовании открытой аутентификации никакой аутентификации, собственно, и не существует, то есть любой пользователь может получить доступ в беспроводную сеть. Однако даже при использовании открытой системы допускается использование WEP-шифрования данных.
Протокол WPA
Как будет показано чуть позже, протокол WEP имеет ряд серьёзных недостатков и не является для взломщиков труднопреодолимым препятствием. Поэтому в 2003 году был представлен следующий стандарт безопасности — WPA (Wi-Fi Protected Access). Главной особенностью этого стандарта является технология динамической генерации ключей шифрования данных, построенная на базе протокола TKIP (Temporal Key Integrity Protocol), представляющего собой дальнейшее развитие алгоритма шифрования RC 4. По протоколу TKIP сетевые устройства работают с 48-битовым вектором инициализации (в отличие от 24-битового вектора WEP) и реализуют правила изменения последовательности его битов, что исключает повторное использование ключей. В протоколе TKIP предусмотрена генерация нового 128-битного ключа для каждого передаваемого пакета. Кроме того, контрольные криптографические суммы в WPA рассчитываются по новому методу под названием MIC (Message Integrity Code). В каждый кадр здесь помещается специальный восьмибайтный код целостности сообщения, проверка которого позволяет отражать атаки с применением подложных пакетов. В итоге получается, что каждый передаваемый по сети пакет данных имеет собственный уникальный ключ, а каждое устройство беспроводной сети наделяется динамически изменяемым ключом.
Кроме того, протокол WPA поддерживает шифрование по стандарту AES (Advanced Encryption Standard), то есть по усовершенствованному стандарту шифрования, который отличается более стойким криптоалгоритмом, чем это реализовано в протоколах WEP и TKIP.
При развёртывании беспроводных сетей в домашних условиях или небольших офисах обычно используется вариант протокола безопасности WPA на основе общих ключей – WPA-PSK (Pre Shared Key). В дальнейшем мы будем рассматривать только вариант WPA-PSK, не касаясь вариантов протокола WPA, ориентированных на корпоративные сети, где авторизация пользователей проводится на отдельном RADIUS-сервере.
При использовании WPA-PSK в настройках точки доступа и профилях беспроводного соединения клиентов указывается пароль длиной от 8 до 63 символов.
Фильтрация MAC-адресов
Фильтрация MAC-адресов, которая поддерживается всеми современными точками доступа и беспроводными маршрутизаторами, хотя и не является составной частью стандарта 802.11, тем нее менее, как считается, позволяет повысить уровень безопасности беспроводной сети. Для реализации данной функции в настройках точки доступа создаётся таблица MAC-адресов беспроводных адаптеров клиентов, авторизованных для работы в данной сети.
Режим скрытого идентификатора сети SSID
Ещё одна мера предосторожности, которую часто используют в беспроводных сетях – это режим скрытого идентификатора сети. Каждой беспроводной сети назначается свой уникальный идентификатор (SSID), который представляет собой название сети. Когда пользователь пытается войти в сеть, то драйвер беспроводного адаптера прежде всего сканирует эфир на наличие в ней беспроводных сетей. При использовании режима скрытого идентификатора (как правило, этот режим называется Hide SSID) сеть не отображается в списке доступных, и подключиться к ней можно только в том случае, если, во-первых, точно известен её SSID, и, во-вторых, заранее создан профиль подключения к этой сети.
Взлом беспроводной сети с протоколом WEP
Чтобы у читателя не сложилось впечатления, что перечисленных средств защиты вполне достаточно, дабы не опасаться непрошенных гостей, поспешим его разочаровать. И начнём мы с инструкции по взлому беспроводных сетей стандарта 802.11 b / g на базе протокола безопасности WEP.
Собственно, утилит, специально разработанных для взлома таких сетей и доступных в Интернете, предостаточно. Правда, есть одно «но». Почти все они «заточены» под Linux-системы. Собственно, с точки зрения продвинутого пользователя – это не только не помеха, но и наоборот. А вот обычными пользователями операционная система Linux используется редко, поэтому мы решили ограничиться рассмотрением утилит, поддерживаемых системой Windows XP.
Итак, для взлома сети нам, кроме ноутбука с беспроводным адаптером, потребуется утилита aircrack 2.4, которую можно найти в свободном доступе в Интернете.
Данная утилита поставляется сразу в двух вариантах: под Linux и под Windows, поэтому нас будут интересовать только те файлы, которые размещены в директории aircrack-2.4\win 32.
В этой директории имеется три небольших утилиты (исполняемых файлов): airodump.exe, aircrack.exe и airdecap.exe.
Первая утилита предназначена для перехвата сетевых пакетов, вторая – для их анализа и получения пароля доступа и третья – для расшифровки перехваченных сетевых файлов.
Конечно же, не всё так просто, как может показаться. Дело в том, что все подобные программы «заточены» под конкретные модели чипов, на базе которых построены сетевые адаптеры. То есть не факт, что выбранный произвольно беспроводной адаптер окажется совместим с программой aircrack-2.4. Более того, даже при использовании совместимого адаптера (список совместимых адаптеров, а точнее – чипов беспроводных адаптеров, можно найти в документации к программе) придётся повозиться с драйверами, заменив стандартный драйвер от производителя сетевого адаптера на специализированный драйвер под конкретный чип. К примеру, в ходе тестирования мы выяснили, что стандартный беспроводной адаптер Intel PRO Wireless 2200 BG, который является составной частью многих ноутбуков на базе технологии Intel Centrino, просто не совместим с данной программой при использовании ОС Windows XP (правда, он поддерживается при использовании Linux-версии программы). В итоге мы остановили свой выбор на беспроводном PCMCIA-адаптере Gigabyte GN-WMAG на базе чипа Atheros. При этом сам беспроводной адаптер устанавливался как Atheros Wireless Network Adapter с драйвером 3.0.1.12.
Сама процедура взлома беспроводной сети достаточно проста. Начинаем с запуска утилиты airodump.exe, которая представляет собой сетевой сниффер для перехвата пакетов. При запуске программы откроется диалоговое окно, в котором потребуется указать беспроводной сетевой адаптер (Network interface index number), тип чипа сетевого адаптера (Network interface type (o/a)), номер канала беспроводной связи (Channel (s): 1 to 14, 0= all) (если номер канал неизвестен, то можно сканировать все каналы). Также задаётся имя выходного файла, в котором хранятся перехваченные пакеты (Output filename prefix) и указывается, требуется ли захватывать все пакеты целиком (cap-файлы) или же только часть пактов с векторами инициализации (ivs-файлы) (Only write WEP IVs (y/n)). При использовании WEP-шифрования для подбора секретного ключа вполне достаточно сформировать только ivs-файл. По умолчанию ivs-или с ap-файлы создаются в той же директории, что и сама программа airodump.
После настройки всех опций утилиты airodump откроется информационное окно, в котором отображается информация об обнаруженных точках беспроводного доступа, информация о клиентах сети и статистика перехваченных пакетов.
|
Информационное окно утилиты airodump |
Если точек доступа несколько, статистика будет выдаваться по каждой из них.