# Защита беспроводных сетей от взлома

Сергей Пахомов

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

Протокол WEP

Протокол WAP

Фильтрация MAC-адресов

Режим скрытого идентификатора сети SSID

Взлом беспроводной сети с протоколом WEP

Взлом беспроводной сети с протоколом WPA

Выводы и рекомендации

В последние несколько лет во всем мире широкое распространение получили беспроводные сети (WLAN). И если раньше речь шла преимущественно об использовании беспроводных сетей в офисах и хот-спотах, то теперь они широко применяются и в домашних условиях, и для развертывания мобильных офисов (действующих в период командировок). Специально для домашних пользователей и небольших офисов продаются точки беспроводного доступа и беспроводные маршрутизаторы класса SOHO, а для мобильных пользователей — карманные беспроводные маршрутизаторы. Однако, принимая решение о переходе к использованию беспроводной сети, не стоит забывать, что на нынешнем этапе своего развития они имеют одно уязвимое место — речь идет о безопасности беспроводных сетей.
«Да сколько можно об одном и том же! Надоело уже. Хватит пугать нас всякими страшилками!» — возмутятся многие пользователи. Да, действительно, проблеме безопасности беспроводных сетей уделяется немало внимания и в Интернете, и в технической прессе. Да и сами протоколы беспроводной связи изначально наделены средствами обеспечения безопасности. Но так ли они надежны и можно ли на них полагаться?

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

## Кратко о средствах безопасности беспроводных сетей

юбая беспроводная сеть состоит как минимум из двух базовых компонентов: точки беспроводного доступа и клиента беспроводной сети (режим ad-hoc, при котором клиенты беспроводной сети общаются друг с другом напрямую, без участия точки доступа, мы рассматривать не будем). Стандартами беспроводных сетей 802.11a/b/g предусматриваются несколько механизмов обеспечения безопасности, к которым относятся различные механизмы аутентификации пользователей и реализация шифрования при передаче данных.

### Протокол WEP

Все современные беспроводные устройства (точки доступа, беспроводные адаптеры и маршрутизаторы) поддерживают протокол безопасности WEP (Wired Equivalent Privacy), который был изначально заложен в спецификацию беспроводных сетей IEEE 802.11. Данный протокол является своего рода аналогом проводной безопасности (во всяком случае его название переводится именно так), однако реально никакого эквивалентного проводным сетям уровня безопасности, он, конечно же, не обеспечивает.

Протокол WEP позволяет шифровать поток передаваемых данных на основе алгоритма RC4 с ключом размером 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-шифрования данных.

### Протокол WAP

Как будет показано ниже, протокол WEP имеет ряд серьезных недостатков и его легко можно взломать. Поэтому в 2003 году был представлен следующий стандарт безопасности — WPA (Wi-Fi Protected Access). Главной особенностью этого стандарта является технология динамической генерации ключей шифрования данных, построенная на базе протокола TKIP (Temporal Key Integrity Protocol), представляющего собой дальнейшее развитие алгоритма шифрования RC4. По протоколу 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.11b/g на базе протокола безопасности WEP.

Собственно, утилит, специально разработанных для взлома таких сетей и доступных в Интернете, предостаточно. Правда, здесь есть одно но. Почти все они «заточены» под Linux-системы. Конечно, с точки зрения продвинутого пользователя, это не только не помеха, но даже наоборот. А вот обычных пользователей один только пример использования Linux-системы может негативно настроить по отношению к дальнейшему материалу. Ну а поскольку мы с самого начала ориентировались на обычных пользователей, решили ограничиться рассмотрением утилит, поддерживаемых системой Windows XP.

Итак, для взлома сети нам, кроме ноутбука с беспроводным адаптером, потребуется утилита aircrack 2.4, которую можно найти в свободном доступе в Интернете.

Данная утилита поставляется сразу в двух вариантах: под Linux и под Windows. Поэтому нас будут интересовать только те файлы, которые размещены в директории aircrack-2.4\win32.

В этой директории имеются три небольшие утилиты (исполняемых файла): airodump.exe, aircrack.exe и airdecap.exe.

Первая утилита предназначена для перехвата сетевых пакетов, вторая — для их анализа и получения пароля доступа, а третья — для расшифровки перехваченных сетевых файлов.

Конечно же, не всё так просто, как может показаться. Дело в том, что все подобные программы «заточены» под конкретные модели чипов, на базе которых построены сетевые адаптеры. Таким образом, нет гарантии, что выбранный произвольно беспроводной адаптер окажется совместим с программой aircrack-2.4. Более того, даже при использовании совместимого адаптера (список совместимых адаптеров (точнее, чипов беспроводных адаптеров) можно найти в документации к программе) придется повозиться с драйверами, заменив стандартный драйвер от производителя сетевого адаптера на специализированный под конкретный чип. К примеру, в ходе тестирования мы выяснили, что стандартный беспроводной адаптер Intel PRO Wireless 2200BG, который является составной частью многих ноутбуков на базе технологии Intel Centrino, просто несовместим с данной программой при применении ОС Windows XP (правда, он поддерживается при использовании Linux-версии программы). В итоге мы остановили свой выбор на беспроводном PCMCIA-адаптере Gigabyte GN-WMAG на базе чипа Atheros. При этом данный адаптер устанавливался как Atheros Wireless Network Adapter с драйвером 3.0.1.12.

Процедура взлома беспроводной сети довольно проста. Начинаем с запуска утилиты airodump.exe, которая представляет собой сетевой сниффер для перехвата пакетов. При запуске программы (рис. 1) откроется диалоговое окно, где потребуется указать беспроводной сетевой адаптер (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.

Рис. 1. Настройка утилиты airodump

После настройки всех опций утилиты airodump откроется информационное окно, в котором отображаются информация об обнаруженных точках беспроводного доступа, сведения о клиентах сети и статистика перехваченных пакетов (рис. 2).

Рис. 2. Информационное окно утилиты airodump

Если точек доступа несколько, то статистика будет выдаваться по каждой из них.

Первым делом запишите MAC-адрес точки доступа, SSID беспроводной сети и MAC-адрес одного из подключенных к ней клиентов (если их несколько). Ну а затем нужно подождать, пока не будет перехвачено достаточное количество пакетов.

Количество пакетов, которые нужно перехватить для успешного взлома сети, зависит от длины WEP-ключа (64 или 128 бит) и, конечно же, от удачи. Если в сети используется 64-битный WEP-ключ, то для успешного взлома вполне достаточно захватить полмиллиона пакетов, а во многих случаях и того меньше. Время, которое для этого потребуется, зависит от интенсивности трафика между клиентом и точкой доступа, но, как правило, оно не превышает нескольких минут. В случае же применения 128-битного ключа для гарантированного взлома потребуется перехватить порядка двух миллионов пакетов. Для остановки процесса захвата пакетов (работы утилиты) используется комбинация клавиш Ctrl+C.

После того как выходной ivs-файл сформирован, можно приступать к его анализу. В принципе, это можно делать и одновременно с перехватом пакетов, но для простоты мы рассмотрим последовательное выполнение этих двух процедур.

Для анализа сформированного ivs-файла потребуется утилита aircrack.exe, которая запускается из командной строки. В нашем примере (рис. 3) мы применяли следующие параметры запуска:

aircrack.exe –b 00:13:46:1C:A4:5F –n 64 –i 1 out.ivs.

Рис. 3. Запуск программы aircrack.exe из командной строки

В данном случае –b 00:13:46:1C:A4:5F — это указание MAC-адреса точки доступа, –n 64 — указание длины используемого ключа шифрования, –i 1 — индекс ключа, а out.ivs — файл, который подвергается анализу.

Полный перечень параметров запуска утилиты можно посмотреть, просто набрав в командной строке команду aircrack.exe без параметров.

В принципе, поскольку такая информация, как индекс ключа и длина ключа шифрования, обычно заранее неизвестна, традиционно применяется следующий упрощенный вариант запуска команды: aircrack.exe out.ivs.

Результат анализа ivs-файла показан на рис. 4. Вряд ли строка KEY FOUND! нуждается в комментариях. И обратите внимание, что секретный ключ был вычислен всего за 3 с.

Рис. 4. Результат анализа ivs-файла

Мы проводили множество экспериментов с использованием и 128-битного ключа, и различных параметров запуска команды aircrack.exe, но во всех случаях время, за которое вычислялся секретный ключ, не превышало 7 с.

Вот так легко и быстро проводится вскрытие беспроводных сетей с WEP-шифрованием, так что говорить о безопасности сетей в данном случае вообще неуместно. Действительно, можно ли говорить о том, чего на самом деле нет!

Ах да, чуть не забыли! В самом начале статьи мы упомянули, что во всех точках доступа имеются и такие возможности, как применение режима скрытого идентификатора сети и фильтрации по MAC-адресам, которые призваны повысить безопасность беспроводной сети. Но не будьте оптимистами — это не спасает.

На самом деле не столь уж и невидим идентификатор сети — даже при активации этого режима на точке доступа. К примеру, уже упомянутая нами утилита airodump все равно покажет вам SSID сети, который впоследствии можно будет использовать для создания профиля подключения к сети (причем несанкционированного подключения).

А если уж говорить о такой несерьезной мере безопасности, как фильтрация по MAC-адресам, то здесь вообще все очень просто. Существует довольно много разнообразных утилит и под Linux, и под Windows, которые позволяют подменять MAC-адрес сетевого интерфейса. К примеру, для несанкционированного доступа в сеть мы подменяли MAC-адрес беспроводного адаптера с помощью утилиты SMAC 1.2 (www.klcconsulting.net/smac) (рис. 5). Естественно, в качестве нового MAC-адреса применяется MAC-адрес авторизованного в сети клиента, который определяется все той же утилитой airodump.

Рис. 5. Подмена MAC-адреса беспроводного адаптера

Итак, преодолеть систему безопасности беспроводной сети на базе WEP-шифрования никакого труда не представляет. Возможно, многие скажут, что это уже неактуально, поскольку WEP-протокол давно приказал долго жить и его попросту не используют. На смену ему пришел более стойкий протокол WPA. Однако не будем торопиться с выводами. Это справедливо только отчасти. Дело в том, что в некоторых случаях для увеличения радиуса действия беспроводной сети разворачиваются так называемые распределенные беспроводные сети (WDS) на базе нескольких точек доступа. Но самое интересное заключается в том, что эти самые распределенные сети не поддерживают WPA-протокола и единственной допустимой мерой безопасности в данном случае является применение WEP-шифрования. Ну а взламываются эти WDS-сети абсолютно так же, как и сети на базе одной точки доступа.

Теперь посмотрим, как обстоят дела с сетями на базе WPA-шифрования.

## Взлом беспроводной сети с протоколом WPA

обственно, процедура взлома сетей с протоколом WPA мало чем отличается от уже рассмотренной нами процедуры взлома сетей с WEP-протоколом.

На первом этапе используется все тот же сниффер airodump. Однако здесь есть два важных момента, которые необходимо учитывать. Во-первых, в качестве выходного файла необходимо использовать именно cap-, а не ivs-файл. Для этого в настройке утилиты airodump на последний вопрос — Only write WEP IVs (y/n) — отвечаем «нет».

Во-вторых, в cap-файл необходимо захватить саму процедуру инициализации клиента в сети, то есть придется посидеть в засаде с запущенной программой airodump. Если применяется Linux-система, то можно предпринять атаку, которая заставит произвести процедуру переинициализации клиентов сети, а вот под Windows такая программка не предусмотрена.

После того как в cap-файл захвачена процедура инициализации клиента сети, можно остановить программу airodump и приступить к процессу расшифровки. Собственно, накапливать перехваченные пакеты в данном случае нет необходимости, поскольку для вычисления секретного ключа используются только пакеты, передаваемые между точкой доступа и клиентом в ходе инициализации.

Для анализа полученной информации применяется все та же утилита aircrack, но с несколько иными параметрами запуска. Кроме того, в директорию с программой aircrack придется установить еще один важный элемент — словарь. Такие специализированные словари можно найти в Интернете, например по ссылке http://ftp.se.kde.org/pub/security/tools/net/Openwall/wordlists/.

После этого запускаем из командной строки программу aircrack (рис. 6), указывая в качестве выходного файла cap-файл (например, out.cap) и название словаря (параметр –w all, где all — название словаря).

Рис. 6. Пример запуска программы aircrack.exe из командной строки

Программа перебора ключей из словаря дает очень интенсивную нагрузку на процессор, и если использовать маломощный ПК, то для выполнения этой процедуры потребуется много времени. Если же для этой цели задействуется мощный многопроцессорный сервер или ПК на базе двухъядерного процессора, то в качестве опции можно указать количество используемых процессоров. К примеру, в нашем случае применялся новейший двухъядерный процессор Intel Pentium Extreme Edition Processor 955 с поддержкой технологии Hyper-Threading (четыре логических ядра процессора), поэтому в параметрах запуска программы мы указывали опцию –p 4, что позволило утилизировать все четыре логических ядра процессора. При этом каждое ядро утилизируется на 100%. В результате после почти полутора часов работы программы секретный ключ был найден (рис. 7)!

Рис. 7. Результат анализа cap-файла

Это, конечно, не несколько секунд, как в случае с WEP-шифрованием, но тоже неплохой результат, который прекрасно демонстрирует, что и WPA-PSK-защита не является абсолютно надежной, причем результат взлома секретного ключа никак не связан с тем, какой алгоритм шифрования (TKIP или AES) используется в сети.

## Выводы и рекомендации

ассмотренные примеры взлома беспроводных сетей наглядно демонстрируют их уязвимость. Если говорить о WEP-протоколе, то его можно сравнить с «защитой от дурака». Он, как и сигнализация на машине, — разве что от хулиганов спасает. Поэтому по возможности лучше вообще не использовать этот протокол. А что касается таких мер предосторожности, как фильтрация по MAC-адресам и режим скрытого идентификатора сети, то это вообще детский лепет и рассматривать их как полноценную защиту нельзя. Однако даже такими средствами не стоит пренебрегать, применяя в комплексе с другими мерами.

Протокол WPA хотя и сложнее для взлома, но тоже уязвим. Впрочем, не стоит падать духом — не всё так безнадежно. Дело в том, что успех взлома секретного WPA-ключа зависит от того, имеется он в словаре или нет. Стандартный словарь, который мы использовали, имеет размер чуть более 40 Мбайт, что, в общем-то, не так уж и много. В результате после трех попыток мы сумели подобрать ключ, которого не оказалось в словаре, и взлом ключа оказался невозможным. Причем для полного перебора всех ключей нам потребовалось два с половиной часа. Количество слов в этом словаре — всего-навсего 6 475 760, что, конечно же, очень мало. Естественно, можно использовать словари и большей емкости. К примеру, в Интернете можно заказать словарь на трех CD-дисках, то есть размером почти в 2 Гбайт, но и это на самом деле немного. Попутно отметим, что для перебора всех ключей словаря размером 2 Гбайт на процессоре с четырьмя логическими ядрами потребуется уже целых 5 суток! Но даже такой словарь содержит далеко не все возможные пароли.

Давайте приблизительно рассчитаем количество паролей длиной от 8 до 63 символов, которые можно сформировать из 26 букв английского алфавита (с учетом регистров), десяти цифр и 32 букв русского алфавита. Получается, что каждый символ можно выбрать 126 способами. Соответственно если учитывать только пароли длиной 8 символов, то количество возможных комбинаций составит 12x68=6,3x1016. Если учесть, что размер каждого слова длиной 8 символов составляет 8 байт, то размер такого словаря — 4,5 млн. Тбайт. А ведь это только комбинации из восьми символов! А если перебрать все возможные комбинации от 8 до 63 символов... Не надо быть математиком, чтобы подсчитать, что размер такого словаря составит примерно 1,2x10119 Тбайт. Конечно же, такого дискового пространства просто не существует (даже если сложить емкости всех жестких дисков на планете). Но даже если гипотетически предположить, что такой словарь создан, то для перебора всех ключей на нашем ПК потребовалось бы ни много ни мало 1,8x10120 лет. Собственно, такая задача не по зубам ни одному, даже самому мощному суперкомпьютеру.

Так что не стоит отчаиваться. Шансы, что используемый вами пароль не содержится в словаре, велики. Просто при задании пароля не применяйте слова, имеющие смысл. Лучше всего, чтобы это был абсолютно беспорядочный набор символов (что-нибудь типа FGпроукqweRT4j563апп).

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

Для создания надежной системы безопасности беспроводных сетей разработано немало методов. К примеру, самым надежным способом считается использование виртуальных частных сетей VPN (Virtual Private Network). Создание беспроводной виртуальной частной сети предполагает установку шлюза непосредственно перед точкой доступа и установку VPN-клиентов на рабочих станциях пользователей сети. Путем администрирования виртуальной частной сети осуществляется настройка виртуального закрытого соединения (VPN-туннеля) между шлюзом и каждым VPN-клиентом сети. Впрочем, VPN-сети редко применяются в небольших офисных сетях и практически не встречаются в домашних условиях.

КомпьютерПресс 4'2006