Как ломаются беспроводные сети

Перед любыми системными администраторами часто встаёт вопрос об организации Wi-Fi сети в офисе или даже у себя дома. Но не все знают, насколько легко проникнуть в их сеть и пользоваться её ресурсами. Какими методами пользуются хакеры и как защитить себя от взлома — вот вопросы, на которые мы отвечаем в сегодняшнем материале.


За последние несколько лет беспроводные сети (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, которая представляет собой сетевой сниффер для перехвата пакетов. При запуске программы (рис. 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 (рис. 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 символов, то количество возможных комбинаций составит 12∙68=6,3∙1016. Если учесть, что размер каждого слова длиной 8 символов составляет 8 байт, то получим, что размер такого словаря — 4,5 миллиона терабайт. А ведь это только комбинации из восьми символов. А если перебрать все возможные комбинации от 8 до 63 символов! В общем-то не надо быть математиком, чтобы подсчитать, что размер такого словаря составит примерно 1,2∙10119 терабайт. Конечно же, такого дискового пространства просто не существует (даже если сложить ёмкости всех жёстких дисков на всей планете). Но даже если гипотетически предположить, что такой словарь создан, то для перебора всех ключей на нашем ПК потребовалось бы ни много ни мало 1,8∙10120 лет. Собственно, такая задача не по зубам ни одному самому мощному суперкомпьютеру.

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

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

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


Взлом WEP

Существует несколько разновидностей атак, которые могут быть эффективны против защиты WEP.


Атаки на отказ в обслуживании (DoS-атаки)

Как всегда, подобного рода атаки направлены на достижение неработоспособности сети или какой-либо ее части. В случае с беспроводными сетями такие атаки особо эффективны благодаря физической среде взаимодействия различных уровней OSI. Особенности Wi-Fi-сетей делают DoS-атаки возможными на всех уровнях, в том числе на физическом, при этом очень трудно доказать сам факт проведения DoS. Например, никто не мешает создать сильные помехи в частотном диапазоне 2,4 ГГц, то есть и сеть из строя вывести, и атакующего скомпрометировать. Самая большая проблема на канальном уровне — возможность спуфинга точек доступа. Причина в том, что для связи клиентское оборудование обычно выбирает точку доступа с наиболее качественным сигналом. Подменить базовую точку доступа не составит труда: для этого нужно обеспечить сильный сигнал в выбранной зоне и узнать SSID жертвы. После такого «клонирования» злоумышленник перехватывает весь трафик, а в результате не только будет получен отказ в обслуживании, но и появится возможность со временем получить WEP-ключи.


Mаn-in-the-Middle

Подобная атака может быть очень эффективна благодаря симметричности алгоритма RC4. Суть Mаn-in-the-Middle состоит в прослушивании передач между двумя хостами, при этом исключено присутствие атакующего в соединении. На основе такой атаки можно имитировать другой хост, перехватывать трафик для дальнейшего анализа и т. д. Кроме того, Man-in-the-Middle — это одна из немногих атак, которая позволяет получить доступ даже к хорошо защищенной сети. Прежде чем начать атаку, необходимо собрать как можно больше информации, например SSID-, IP- и MAC-адреса клиента и точки доступа, соответствие запроса и отклика и т. д.

Далее злоумышленник бросит все силы на то, чтобы а) обмануть точку доступа, выдавая себя за авторизованного клиента; и б) обдурить клиента, выдавая себя за точку доступа. Желаемым результатом атаки типа "человек посередине" является вытеснение авторизованного клиента и «общение» с базой от его имени.


Вардрайвинг

Вкратце, этот метод состоит в сканировании эфира с целью нахождения точек. Вардрайверы могут довольно эффективно охотиться за «вражескими» сетями, при этом «запоминая» самые интересные. Какой бы метод ни был использован, для получения доступа к сети, защищенной WEP, нужно получить ключ. Чтобы получить ключ, используем основную уязвимость протокола — вектор инициализации(IV). Его длина — 24 бита, что дает нам 2^24 уникальных вариантов. Если известны все значения вектора, то получить статическую часть ключа проще пареной репы. Поскольку IV динамически изменяется во время работы (проще говоря, каждый пакет несет новое значение), то для успешного взлома необходимо собрать достаточное количество пакетов (от 50 000 до 200 000). Чем активнее идет обмен трафиком внутри сети, тем быстрее можно собрать необходимую информацию. Однако можно ускорить процесс искусственным генерированием трафика.


Практика

Итак, нам понадобится один или несколько ноутбуков, Wi-Fi-адаптер (или несколько) и направленная антенна средней мощности. Будем считать, что сеть уже найдена и связь с точкой доступа достаточная для бесперебойного обмена данными. Цель атаки — узнать необходимую информацию о сети, перехватить достаточное количество пакетов, вычислить статическую часть WEP-ключа. Для этого будем использовать…


Утилиты для взлома WEP


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

После того как в середине 2001 года была опубликована статья о методе взлома WEP, как грибы после дождя стали появляться утилиты, автоматизирующие этот процесс. Одна из самых известных — AirSnort.

AirSnort — это инструмент для определения ключей шифрования, реализующий атаку Fluhrer-Mantin-Shamir (FMS). Вычисляет ключ шифрования, перехватив достаточное количество зашифрованных пакетов. AirSnort проста в использовании и эффективна, однако для взлома WEP требуется очень большое количество собранных пакетов(5-10 млн). Из плюсов можно назвать небольшой размер (благодаря реализации для Linux) и незаметную работу.

Следующий шаг, который сделали хакеры, — увеличение быстродействия FMS-атаки. Результатом стала dwepcrack, которая отличается от AirSnort лишь более высоким быстродействием. Долгое время суть метода оставалась прежней, и взлом затягивался на длительное время, хотя уже тогда WEP казался всем скорее мертвым, чем живым. Однако последний гвоздь в гроб эквивалента кабельной защиты забил некий KoreK, написавший NetStumbler.

Теперь для атаки на ключ WEP не нужно собирать миллионы пакетов, и неважно, зашифрованы ли они. Новый метод статического криптоанализа позволил сократить время подбора ключа в несколько раз. Единственная характеристика, используемая для анализа, — количество уникальных векторов инициализации. Кроме того, утилита написана под Windows и имеет простой, интуитивно понятный интерфейс, так что теперь взлом Wi-Fi-сетей стал доступным для каждого. Кроме непосредственного анализа пакетов, утилита предоставляет много интересной информации о «жертве»: имя сети, излучаемая мощность, производитель точки доступа, состояние DHCP-сервера, диапазон IP-адресов, MAC-адрес точки и еще много данных о том, что происходит в эфире. Есть возможность записать координаты точки доступа, если они предоставлены внешним GPS-устройством.

На сегодняшний день существует более продвинутая версия NetStumbler — chooper. Кроме решений, основанных на статистическом анализе, существуют средства для старого доброго брутфорса. Самые известные — это WepLab, WepAttack. Сейчас уже очевидно, что взлом WEP — это задача, которая не требует почти никаких особенных знаний и навыков. Гораздо интереснее протокол безопасности WPA (Wi-Fi Protected Access — защищенный доступ Wi-Fi).


WPA — вызов брошен


Протокол WPA, утвержденный консорциумом Wi-Fi в 2002 году, направлен на устранение слабых мест беспроводных сетей на основе WEP. С другой стороны, WPA не является чем-то абсолютно новым по сравнению с WEP и использует, фактически, тот же RC4, но в иной реализации. Обо всем по порядку!

Итак, WPA — это протокол, использующий усовершенствованную схему шифрования данных RC4 на основе TKIP (Temporal Key Integrity Protocol) с обязательной процедурой аутентификации средствами 802.1x.

Протокол TKIP используется для обеспечения безопасности и целостности WPA. Он также использует RC4, однако вектор инициализации здесь имеет длину в 48 бит. Для каждого передаваемого пакета генерируется новый ключ, а контроль целостности сообщений ведется с помощью контрольной суммы MIC (Message Integrity Code). Базовый размер ключа увеличен до 128 бит. По сравнению с WEP, полностью изменена процедура генерации ключа. Теперь ключ получается из трех компонентов: базовая составляющая, MAC-адрес передающего узла и номер передаваемого пакета.

Базовая составляющая ключа является динамической и генерируется каждый раз, когда клиент устанавливает соединение с точкой доступа. Для формирования базового ключа используются следующие данные: хэш-функция секретного сеансового ключа (пароля, заданного пользователем), псевдослучайное число, MAC-адрес. В конечном итоге клиент и точка доступа получают сеансовый ключ в результате аутентификации по протоколу 802.1x. Стоит сказать, что при разработке WPA первоочередной задачей была совместимость с WEP и создание условий работы нового средства защиты на старом оборудовании. Именно этим объясняется применение все того же RC4, а не AES, например. Однако, несмотря на преемственность, протокол WPA избавился от многих уязвимостей, присущих WEP.


Уязвимости WPA


Самым страшным сном для протокола WPA, несомненно, являются атаки на отказ в обслуживании (DoS). Злоумышленник может легко вывести из строя сеть на базе WPA, просто посылая каждую секунду два пакета со случайными ключами шифрования. Вражеская точка доступа, приняв эти пакеты, решает, что произведена попытка несанкционированного доступа, и закрывает все соединения, чтобы не допустить использования сетевых ресурсов сторонним лицом. Уязвимость к DoS-атакам на физическом уровне также высока — здесь никаких изменений по сравнению с WEP. А дела с атаками, направленными на получение ключа, намного хуже, хотя они не безнадежны. Роберт Московиц, технический директор ICSA Labs, опубликовал доклад, в котором описывается вот такая стратегия атаки на WPA-сети. Большинство программных реализаций WPA строят криптографический ключ для шифрования на основе введенного пользователем пароля и сетевого имени (либо MAC-адреса), которое является общедоступным. Информация, зашифрованная этим ключом, свободно передается по Сети. Методом брутфорса подбирается исходный пароль. В данном случае пароль длиной менее 20-ти символов считается потенциально опасным. Конечно же, речь идет только о тех случаях, когда WPA используется в режиме pre-shared mode. Кроме того, WPA, так же как и WEP, не имеет защиты против «клонирования» точек доступа.

IEEE 802.11i — семь бед, один ответ?

Этого стандарта безопасности ждали. Очень долго и с большими надеждами. Наконец, после четырех лет ожидания, 24 июня 2004 года он был принят, и для определенных кругов это было событие года. Однако 802.11i во многом похож на WPA (поэтому 802.11i иногда называют WPA2). Однако есть несколько кардинальных отличий. Во-первых, вместо RC4 используется AES. Он появился совсем недавно и обладает хорошей криптостойкостью (на данный алгоритм пока нет известных атак), а его симметрическая природа делает его достаточно быстрым.

Появились такие понятия, как надежно защищенная сеть (RSN) и надежно защищенное сетевое соединение (RSNA). Добавлен механизм CCMP, состоящий из связки алгоритма шифрования AES и кода CBC-MAC. CCMP выполняет две важные задачи: обеспечение конфиденциальности и аутентификация. В рамках стандарта 802.11i алгоритм CCMP является обязательным, тогда как TKIP — опциональным (для совместимости со старыми устройствами). Пожалуй, последнее важное отличие от WPA — поддержка быстрого роуминга между точками доступа. Если рассмотреть принципиальные отличия 802.11i от предыдущего протокола, становится понятно, что разница в степени защиты невелика. Можно констатировать тот факт, что 802.11i, скорее всего, не станет таким же универсальным и надежным средством защиты, каким когда-то стал VPN.

Уже сейчас можно назвать несколько типов атак, к которым WPA2 проявляет особую слабость:

Традиционные для беспроводных сетей атаки на физическом уровне. Использование служебных фреймов для подмены MAC-адреса. Такая атака возможна благодаря тому, что при передаче служебной информации точка доступа и клиент не выполняют процедуру аутентификации. Атаки посредством запросов IEEE 802.1x. Дело в том, что стандарт 802.11i не умеет отклонять запросы на аутентификацию, поэтому точку доступа можно «перегрузить». Есть ли защита в 802.11?

Ответ на вопрос заголовка — «да». На сегодняшний день связка "WPA+VPN" (а тем более "WPA2+VPN") делает беспроводную сеть достаточно защищенной для передачи даже особо ценной информации. Однако многие ли устанавливают подобную защиту?

По данным исследования, проведенного лабораторией сетевой безопасности компании «ИнформЗащита», только 5 % сетей в Москве используют технологии WPA или 802.11i. Более 2/3 сетей не защищено ничем! На остальных настроен дырявый WEP. Делай выводы.


Описание алгоритма RC4


Алгоритм RC4 был разработан в 1987 году и в течение семи лет оставался закрытым. Подробные сведения о его конструкции предоставлялись только после подписания договора о неразглашении. Однако в сентябре 1994 года алгоритм появился в Сети.

RC4 является алгоритмом компании RSA Data Security, основанным на потоковом шифре. Такие шифры преобразуют открытый текст в криптограмму по одному биту за операцию. Генератор потока ключей выдает поток битов k1,k2,k3…kn. Этот поток ключей и поток открытого текста p1,p2,p3….pn подвергается операции XOR (исключающее "или"), в результате чего получается шифрованный текст. Для дешифровки та же операция выполняется с шифровкой и с потоком ключей. Безопасность такой системы полностью зависит от генератора ключей. Дело в том, что в большинстве случаев используются псевдослучайные числа, и так повышается вероятность повторений. Генератор настоящих случайных чисел и длинные ключи могут сделать этот алгоритм довольно стойким.

Свойства алгоритма: Адаптивность для аппаратных средств, использование в алгоритме только простейших вычислительных операций, которые реализуются во всех процессорах. Высокая скорость работы алгоритма. Это свойство позволило RC4 завоевать широкую популярность. На данный момент он реализован в десятках коммерческих продуктов, например Lotus Notes, Apple Computer's AOCE, Oracle Secure SQL, а также является частью спецификации стандарта сотовой связи CDPD. Компактность исходного кода в различных реализациях. Низкие требования к памяти. Простота выполнения. Стандарт IEEE 802.1X

IEEE 802.1X — стандарт, основанный на трех компонентах (протокол расширенной аутентификации EAPExtensible Authentication Protocol; протокол защиты транспортного уровня TLSTransport Layer Security; сервер RADIUSRemote Access Dial-in User Service) и позволяющий производить эффективный контроль доступа на уровне пользователей. Применение 802.1x связано с тремя основными элементами:

1. Саппликант — пользователь, который нуждается в сетевой аутентификации;

2. Сервер аутентификации — обычно RADIUS-сервер, который производит фактическую аутентификацию;

3. Аутентификатор — посредник между двумя уже названными элементами, предоставляющий доступ в сеть (в случае с беспроводной сетью этим элементом, как правило, является точка доступа).

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

Данный стандарт зарекомендовал себя как довольно эффективное и безопасное решение вопроса аутентификации клиентов и сейчас широко применяется как в кабельных, так и в беспроводных сетях. Подробнее читай там же, где читал я, — на www.itanium.ru и http://itc.ua.

Изначально в сетях 802.11 не было никакой защиты. Любые данные, передаваемые по таким сетям, можно было захватить не используя ничего, кроме Wi-Fi-адаптера.

Единственная возможность защитить беспроводные сети от несанкционированного проникновения — использовать сильные криптографические алгоритмы. Однако разработчики стандартов выбирают средства послабее.

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

Банальный брутфорс — довольно действенное средство даже против WPA






 

Главная | В избранное | Наш E-MAIL | Прислать материал | Нашёл ошибку | Наверх