Рис. 11. Извлечение ключевого потока
Рис. 12. Уязвимость механизма аутентификации с совместно используемым ключом
МАС-адреса пересылаются с помощью незашифрованных фреймов стандарта 802.11, как и оговорено в спецификации этого стандарта. В результате беспроводные LAN. в которых применяется аутентификация с использованием МАС-адресов, уязвимы для атак, в ходе которых злоумышленник "подкапывается" под аутентификацию с использованием МАС-адресов путем имитации "законного" МАС-адреса.
Имитация МАС-адреса возможна для сетевых карт стандарта 802.11, которые позволяют заменять универсально-назначаемый адрес (universallyadministeredaddress, UAA) локально-назначаемым (locallyadministeredaddress, LAA). Универсальный адрес — это МАС-адрес, жестко закодированный для сетевой карты производителем. Атакующий может использовать анализатор протокола для определения разрешенного в BSS МАС-адреса и сетевую карту, допускающую локальное назначение адреса, для имитации разрешенного МАС-адреса.
Наиболее серьезные и непреодолимые проблемы защиты сетей стандарта 802.11 были выявлены криптоаналитиками Флурером (Fluhrer), Мантином (Mantin) и Шамиром (Shamir). В своей статье они показали, что WEP-ключ может быть получен путем пассивного накопления отдельных фреймов, распространяющихся в беспроводной LAN.
Уязвимость обусловлена как раз тем, как механизм WEP применяет алгоритм составления ключа (keyschedulingalgorithm, KSA) на основе поточного шифра RC4. Часть векторов инициализации (их называют слабые IV — weakIV) могут раскрыть биты ключа в результате проведения статистического анализа. Исследователи компании AT&T и университета Rice воспользовались этой уязвимостью и выяснили, что можно заполучить WEP-ключи длиной 40 или 104 бит после обработки 4 миллионов фреймов. Для первых беспроводных LAN стандарта 802.11b это означает, что они должны передавать фреймы примерно один час, после чего можно вывести 104-разрядный WEP-ключ. Подобная уязвимость делает WEP неэффективным механизмом обеспечения защиты информации.
Атака считается пассивной, если атакующий просто прослушивает BSS и накапливает переданные фреймы. В отличие от уязвимости аутентификации с совместно используемым ключом, атакующий, как показали Флурер, Мантин и Шамир, может заполучить действующий WEP-ключ, а не только ключевой поток. Эта информация позволит атакующему получить доступ к BSS в качестве аутентифицированного устройства без ведома администратора сети.
Если атаки такого типа окажется недостаточно, можно, как показывает теория, провести на механизм WEP и другую (правда, на практике атаки такого рода не проводились). Эта логически возможная атака может быть основана на методах, применяемых для преодоления защиты, обеспечиваемой механизмом аутентификации с совместно используемым ключом: для получения ключевого потока используются открытый текст и соответствующий ему зашифрованный текст.
Как уже говорилось, выведенный ключевой поток можно использовать для дешифровки фреймов для пары "вектор инициализации —WEP-ключ" и для определенной длины. Умозрительно можно предположить, что атакующий будет прослушивать сеть с целью накопления как можно большего числа таких ключевых потоков, чтобы создать базу данных ключ поток, взломать сеть и получить возможность расшифровывать фреймы. В беспроводной LAN, в которой не используется аутентификация с совместно используемым ключом, атака с применением побитовой обработки фрейма позволяет злоумышленнику вывести большое количество ключевых потоков за короткое время.
Атаки с использованием побитовой обработки (или "жонглирования битами", bitflipping) основаны на уязвимости контрольного признака целостности (ICV). Данный механизм базируется на полиномиальной функции CRC-32. Но эта функция неэффективна как средство контроля целостности сообщения. Математические свойства функции CRC-32 позволяют подделать фрейм и модифицировать значение ICV, даже если исходное содержимое фрейма неизвестно.
Хотя размер полезных данных может быть разным для различных фреймов, многие элементы фреймов данных стандарта 802.11 остаются одними и теми же и на одних и тех же позициях. Атакующий может использовать этот факт и подделать часть фрейма с полезной информацией, чтобы модифицировать пакет более высокого уровня. Сценарий проведения атаки с использованием побитовой обработки может быть следующим (рис. 13).
1. Атакующий захватывает фрейм беспроводной LAN.
2. Атакующий изменяет случайные биты (flipsrandombits) полезной нагрузки фрейма.
3. Атакующий модифицирует ICV (подробнее об этом — ниже).
4. Атакующий передает модифицированный фрейм.
5. Приемник (клиент или точка доступа) получает фрейм и вычисляет ICV по содержимому фрейма.
6. Приемник сравнивает вычисленный ICV со значением, хранящимся в поле ICV фрейма.
7. Приемник принимает модифицированный фрейм.
8. Приемник передает модифицированный фрейм на устройство более высокого уровня (повторитель или хост-компьютер).
9. Поскольку в пакете уровня 3 биты изменены, контрольная сумма для уровня 3 оказывается неправильной.
10. Протокол IP приемника выдаст сообщение об ошибке.
11. Атакующий получает сведения о беспроводной LAN, анализируя незашифрованное сообщение об ошибке.
12. Получая сообщение об ошибке, атакующий выводит ключевой поток, как в случае атаки с повторением IV.
Основой такой атаки является несоответствие ICV требуемому значению. Значение ICV находится в зашифрованной с помощью WEP части фрейма; как атакующий может изменить ее, чтобы согласовать изменения, вызванные жонглированием битами, с фреймом? На рис. 14 проиллюстрирован процесс "жонглирования битами" и изменения ICV.
1. Пусть фрейм (F1) имеет ICV, значение которого равно С1.
2. Генерируется новый фрейм (F2) той же длины, какую имеет набор битов фрейма F1.
Рис. 13. Атака с использованием побитовой обработки
3.С помощью операции "исключающее ИЛИ" над F1 и F2 создается фрейм F3.
4.Вычисляется ICV для F3 (С2).
5.Посредством операции "исключающее ИЛИ" над С1 и С2 генерируется ICV СЗ.
Рис. 14. Модифицирование ICV за счет побитовой обработки
В спецификации стандарта 802.11 не указан конкретный механизм управления ключами. WEP по определению поддерживает только статические ключи, заранее предназначенные для совместного использования. Поскольку в процессе аутентификации по стандарту 802.11 аутентифицируется устройство, а не пользователь этого устройства, утеря или кража беспроводного адаптера немедленно приводит к возникновению проблемы, связанной с защитой сети. Для ее решения администратору сети придется долго вручную изменять ключи всех беспроводных устройств сети, если имеющийся ключ "скомпрометирован" из-за утери или кражи адаптера.
Такой риск может оказаться приемлемым для небольших сетей, когда управление пользовательскими устройствами — несложная задача. Но подобная перспектива неприемлема для крупных сетей, когда счет беспроводных пользовательских устройств идет на тысячи. Без механизма распределения или генерации ключей администратору придется дневать и ночевать там, где развернута беспроводная сеть.
Промышленность преодолела слабые места в механизмах аутентификации и защиты сетей стандарта 802.11. Чтобы предоставить пользователям решения, обеспечивающие защищенность, масштабируемость и управляемость сетей, IEEE повысил защищенность сетей стандарта 802.11, разработав улучшенный механизм аутентификации и шифрования. Эти изменения были введены в проект стандарта 802.11i. На сегодняшний день проект 802.11i не утвержден как стандарт, поэтому Альянс Wi-Fi (Wi-FiAlliance) собрал поднабор компонентов, соответствующих стандарту 802.11i, который получил название "защищенный доступ к Wi-Fi" (Wi-FiProtectedAccess, WPA). В данном разделе подробно описаны стандарт 802.11i и компоненты WPA.
Многие ошибочно полагают, что WEP — это единственный компонент, обеспечивающий защиту беспроводных LAN. На самом деле защита беспроводных сетей имеет четыре составляющие.
· Базовая аутентификация (authenticationframework). Представляет собой механизм, который усиливает действие алгоритма аутентификации путем организации защищенного обмена сообщениями между клиентом, точкой доступа и сервером аутентификации.
· Алгоритм аутентификации. Представляет собой алгоритм, посредством которого подтверждаются полномочия пользователя.
· Алгоритм защиты данных. Обеспечивает защиту при передаче через беспроводную среду фреймов данных.
· Алгоритм обеспечения целостности данных (dataintegrityalgorithm). Обеспечивает целостность данных при передаче их через беспроводную среду, позволяя приемнику убедиться в том, что данные не были подменены.
Основой аутентификации стандарта 802.11 является служебный фрейм аутентификации стандарта 802.11. Этот служебный фрейм помогает реализовать алгоритмы открытой аутентификации и аутентификации с совместно используемым ключом, хотя сам по себе фрейм не обладает способностью аутентифицировать клиента. Поскольку о недостатках аутентификации стандарта 802.11 мы уже говорили, попробуем разобраться в том, что необходимо сделать для того, чтобы обеспечить проведение защищенной аутентификации в беспроводных LAN.