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