Рис. 11. Извлечение ключевого потока |
Рис. 12. Уязвимость механизма аутентификации с совместно используемым ключом |
Уязвимость аутентификации с использованием МАС-адресов
МАС-адреса пересылаются с помощью незашифрованных фреймов стандарта 802.11, как и оговорено в спецификации этого стандарта. В результате беспроводные LAN. в которых применяется аутентификация с использованием МАС-адресов, уязвимы для атак, в ходе которых злоумышленник "подкапывается" под аутентификацию с использованием МАС-адресов путем имитации "законного" МАС-адреса.
Имитация МАС-адреса возможна для сетевых карт стандарта 802.11, которые позволяют заменять универсально-назначаемый адрес (universally administered address, UAA) локально-назначаемым (locally administered address, LAA). Универсальный адрес — это МАС-адрес, жестко закодированный для сетевой карты производителем. Атакующий может использовать анализатор протокола для определения разрешенного в BSS МАС-адреса и сетевую карту, допускающую локальное назначение адреса, для имитации разрешенного МАС-адреса.
Уязвимость 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 за счет побитовой обработки
Проблемы управления статическими WEP-ключами
В спецификации стандарта 802.11 не указан конкретный механизм управления ключами. WEP по определению поддерживает только статические ключи, заранее предназначенные для совместного использования. Поскольку в процессе аутентификации по стандарту 802.11 аутентифицируется устройство, а не пользователь этого устройства, утеря или кража беспроводного адаптера немедленно приводит к возникновению проблемы, связанной с защитой сети. Для ее решения администратору сети придется долго вручную изменять ключи всех беспроводных устройств сети, если имеющийся ключ "скомпрометирован" из-за утери или кражи адаптера.
Такой риск может оказаться приемлемым для небольших сетей, когда управление пользовательскими устройствами — несложная задача. Но подобная перспектива неприемлема для крупных сетей, когда счет беспроводных пользовательских устройств идет на тысячи. Без механизма распределения или генерации ключей администратору придется дневать и ночевать там, где развернута беспроводная сеть.
Защищенные LAN стандарта 802.11
Промышленность преодолела слабые места в механизмах аутентификации и защиты сетей стандарта 802.11. Чтобы предоставить пользователям решения, обеспечивающие защищенность, масштабируемость и управляемость сетей, IEEE повысил защищенность сетей стандарта 802.11, разработав улучшенный механизм аутентификации и шифрования. Эти изменения были введены в проект стандарта 802.11i. На сегодняшний день проект 802.11i не утвержден как стандарт, поэтому Альянс Wi-Fi (Wi-Fi Alliance) собрал поднабор компонентов, соответствующих стандарту 802.11i, который получил название "защищенный доступ к Wi-Fi" (Wi-Fi Protected Access, WPA). В данном разделе подробно описаны стандарт 802.11i и компоненты WPA.
Многие ошибочно полагают, что WEP — это единственный компонент, обеспечивающий защиту беспроводных LAN. На самом деле защита беспроводных сетей имеет четыре составляющие.
· Базовая аутентификация (authentication framework). Представляет собой механизм, который усиливает действие алгоритма аутентификации путем организации защищенного обмена сообщениями между клиентом, точкой доступа и сервером аутентификации.
· Алгоритм аутентификации. Представляет собой алгоритм, посредством которого подтверждаются полномочия пользователя.
· Алгоритм защиты данных. Обеспечивает защиту при передаче через беспроводную среду фреймов данных.
· Алгоритм обеспечения целостности данных (data integrity algorithm). Обеспечивает целостность данных при передаче их через беспроводную среду, позволяя приемнику убедиться в том, что данные не были подменены.
Первая составляющая: базовая аутентификация
Основой аутентификации стандарта 802.11 является служебный фрейм аутентификации стандарта 802.11. Этот служебный фрейм помогает реализовать алгоритмы открытой аутентификации и аутентификации с совместно используемым ключом, хотя сам по себе фрейм не обладает способностью аутентифицировать клиента. Поскольку о недостатках аутентификации стандарта 802.11 мы уже говорили, попробуем разобраться в том, что необходимо сделать для того, чтобы обеспечить проведение защищенной аутентификации в беспроводных LAN.
В стандарте 802.11 не определены основные компоненты, способные обеспечить эффективную аутентификацию (они перечислены ниже).
- Централизованная аутентификация, ориентированная на пользователя.
- Динамично шифруемые ключи.
- Управление зашифрованными ключами.
- Взаимная аутентификация.
Аутентификация, ориентированная на пользователя, чрезвычайно важна для обеспечения защиты сети. Аутентификация, ориентированная на устройства, подобная открытой аутентификации и аутентификации с совместно используемым ключом, не способна воспрепятствовать неавторизованным пользователям воспользоваться авторизованным устройством. Из этого следует, что при потере или краже такого устройства или по окончании работы по найму администратор сети будет вынужден вручную изменять ключи всех точек доступа и клиентов сети стандарта 802.11. При централизованном, ориентированном на пользователя управлении через сервер аутентификации, авторизации и учета (authentication, authorization, and accounting, AAA), такой как. RADIUS, администратор может запретить доступ к сети отдельным пользователям, а не их устройствам.