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, не имеет защиты против «клонирования» точек доступа.