Уязвимость WEP-шифрования

Уязвимость WEP-шифрования. Наиболее серьезные и непреодолимые проблемы защиты сетей стандарта 802.11 бы¬ли выявлены криптоаналитиками Флурером (Fluhrer), Мантином (Mantin) и Шамиром (Shamir). В своей статье они показали, что WEP-ключ может быть получен путем пас¬сивного накопления отдельных фреймов, распространяющихся в беспроводной LAN. Уязвимость обусловлена как раз тем, как механизм WEP применяет алгоритм со¬ставления ключа (key scheduling algorithm, KSA) на основе поточного шифра RC4. Часть векторов инициализации (их называют слабые IV — weak IV) могут раскрыть биты ключа в результате проведения статистического анализа.

Исследователи компа¬нии AT&T и университета Rice восполь¬зовались этой уязвимостью и выяснили, что можно заполучить WEP-ключи длиной 40 или 104 бит после обработки 4 миллионов фреймов. Для первых беспроводных LAN стандарта 802.11b это означает, что они должны передавать фреймы примерно один час, после чего можно вывести 104-разрядный WEP-ключ. Подобная уязвимость дела¬ет WEP неэффективным механизмом обеспечения защиты информации.

Атака считается пассивной, если атакующий просто прослушивает BSS и накапли¬вает переданные фреймы. В отличие от уязвимости аутентификации с совместно ис¬пользуемым ключом, атакующий, как показали Флурер, Мантин и Шамир, может за¬получить действующий WEP-ключ, а не только ключевой поток.

Эта информация по¬зволит атакующему получить доступ к BSS в качестве аутентифицированного устройства без ведома администратора сети. Если атаки такого типа окажется недостаточно, можно, как показывает теория, провести на механизм WEP и другую (правда, на практике атаки такого рода не про¬водились). Эта логически возможная атака может быть основана на методах, приме¬няемых для преодоления защиты, обеспечиваемой механизмом аутентификации с со¬вместно используемым ключом: для получения ключевого потока используются от¬крытый текст и соответствующий ему зашифрованный текст.

Как уже говорилось, выведенный ключевой поток можно использовать для дешиф¬ровки фреймов для пары "вектор инициализации —WEP-ключ" и для определенной длины. Умозрительно можно предположить, что атакующий будет прослушивать сеть с целью накопления как можно большего числа таких ключевых потоков, чтобы создать базу данных ключ поток, взломать сеть и получить возможность расшифровывать фреймы. В беспроводной LAN, в которой не используется аутентификация с совместно используемым ключом, атака с применением побитовой обработки фрейма позволяет злоумышленнику вывести большое количество ключевых потоков за короткое время.

Атаки с использованием побитовой обработки (или "жонглирования битами", bit flipping) основаны на уязвимости контрольного признака целостности (ICV). Данный механизм базируется на полиномиальной функции CRC-32. Но эта функция неэф¬фективна как средство контроля целостности сообщения.

Математические свойства функции CRC-32 позволяют подделать фрейм и модифицировать значение ICV, даже если исходное содержимое фрейма неизвестно. Хотя размер полезных данных может быть разным для различных фреймов, многие элементы фреймов данных стандарта 802.11 остаются одними и теми же и на одних и тех же позициях. Атакующий может использовать этот факт и подделать часть фрейма с полезной информацией, чтобы модифицировать пакет более высокого уровня. Сце¬нарий проведения атаки с использованием побитовой обработки может быть следую¬щим (рис. 13). 1. Атакующий захватывает фрейм беспроводной LAN. 2. Атакующий изменяет случайные биты (flips random bits) полезной нагрузки фрейма. 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 за счет побитовой обработки