logo search
Беспроводные технологии / Методические материалы / 04 - Конспект лекций(Беспроводные технологии)_СОС

Активные сетевые атаки

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

Высокая эффективность атаки индуктивного вычисления ключа, предпринимаемой сторонним наблюдателем в беспроводной локальной сети IEEE 802.11, объясняется отсутствием действенных средств контроля целостности сообщений (Message Intgrity Check, MIC). Принимающая сторона не в состоянии распознать факт модификации содержимого фрейма в процессе передачи по общедоступному радиоканалу. Более того, значение ICV (Integrity Check Value), предусмотренное стандартом для контроля целостности сообщений, вычисляется с помощью функции CRC32 (32-bit Cyclical Redundancy Check, контроль с помощью циклического 32-битного избыточного кода), которая подвержена атакам с манипуляцией битами. Таким образом, в отсутствии механизмов контроля целостности сообщений беспроводные локальные сети подвержены активным атакам: повторным использованием вектора инициализации (IV Replay) и манипуляции битами (Bit-Flipping).

1) Повторное использование вектора инициализации (Initialization Vector Replay Attacks)

Повторное использование вектора инициализации представляет собой разработанную теоретически и реализованную практически активную сетевую атаку в беспроводной локальной сети, существующую в нескольких разновидностях, одна из которых описана ниже и проиллюстрирована на рисунке 3.10.5.

Рисунок 3.10.5 – Повторное использование вектора инициализации

  1. Хакер многократно отправляет абоненту беспроводной локальной сети по проводной сети сообщение известного содержания (например, IP-пакет, письмо электронной почты, и т.п.).

  2. Хакер пассивно прослушивает радиоканал связи абонента с точкой радиодоступа и собирает фреймы, предположительно содержащие шифрованное сообщение.

  3. Хакер вычисляет ключевую последовательность, применяя функцию XOR к предполагаемому шифрованному и известному нешифрованному сообщениям.

  4. Хакер «выращивает» ключевую последовательность для пары вектора инициализации и секретного ключа, породившей ключевую последовательность, вычисленную на предыдущем шаге.

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

После того, как ключевая последовательность вычислена для фреймов некоторой длины, она может быть «выращена» до любого требуемого размера, как описано ниже и проиллюстрировано на рисунке 3.10.6.

Рисунок 3.10.6 – «Выращивание» ключевой последовательности

  1. Хакер создает фрейм на один байт длиннее, чем длина уже известной ключевой последовательности. Пакеты ICMP (Internet Control Message Protocol, протокол управляющих сообщений сети Интернет), посылаемые командой ping, идеальны для этих целей, ибо точка радиодоступа вынуждена на них отвечать.

  2. Хакер увеличивает длину ключевой последовательности на один байт.

  3. Значение дополнительного байта выбирается случайным образом из 256 возможных ASCII-символов.

  4. Если предполагаемое значение дополнительного байта ключевой последовательности верно, то будет получен ожидаемый ответ от точки радиодоступа, в данном примере это ICMP.

  5. Процесс повторяется до тех пор, пока не будет подобрана ключевая последовательность требуемой длины.

2) Манипуляция битами (Bit-Flipping Attacks)

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

Хакер манипулирует битами пользовательских данных внутри фрейма 2-го (канального) уровня модели OSI (Open Systems Interconnection) с целью искажения 3-го (сетевого) уровня пакета. Процесс манипуляции проиллюстрирован на рисунке 3.10.7.

  1. Хакер пассивно наблюдает фреймы беспроводной локальной сети с помощью средств анализа трафика протокола 802.11.

  2. Хакер захватывает фрейм и произвольно изменяет биты в поле данных протокола 3-го уровня.

  3. Хакер модифицирует значение вектора контроля целостности фрейма ICV (как именно будет описано ниже).

  4. Хакер передаёт модифицированный фрейм в беспроводную локальную сеть.

  5. Принимающая сторона (абонент либо точка радиодоступа) вычисляет значение вектора контроля целостности фрейма ICV для полученного модифицированного фрейма.

  6. Принимающая сторона сравнивает вычисленное значение вектора ICV с имеющимся в полученном модифицированном фрейме.

  7. Значения векторов совпадают, фрейм считается неискажённым и не отбрасывается.

  8. Принимающая сторона деинкапсулирует содержимое фрейма и обрабатывает пакет сетевого уровня.

  9. Поскольку манипуляция битами происходила на канальном уровне, контрольная сумма пакета сетевого уровня оказывается неверной.

  10. Стек протокола сетевого уровня на принимающей стороне генерирует предсказуемое сообщение об ошибке.

  11. Хакер наблюдает за беспроводной локальной сетью в ожидании зашифрованного фрейма с сообщением об ошибке.

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

Рисунок 3.10.7 – Атака с манипуляцией битами

Вектор ICV находится в шифрованной части фрейма. С помощью следующей процедуры хакер манипулирует битами шифрованного вектора ICV и таким образом обеспечивает корректность самого вектора для нового, модифицированного фрейма (рисунок 3.10.8):

  1. Исходный фрейм F1 имеет вектор C1.

  2. Создаётся фрейм F2 такой же длины, что и F1, служащий маской для модификации битов фрейма F1.

  3. Создаётся фрейм F3 путём выполнения двоичной функции XOR над фреймами F1 и F2.

  4. Вычисляется промежуточный вектор С2 для фрейма F3.

  5. Вектор C3 для фрейма F3 вычисляется путём выполнения двоичной функции XOR над C1 и C2.

Рисунок 3.10.8 – Вычисление поля контроля целостности сообщений

      1. Проблемы управления статическими WEP ключами

Стандартом IEEE 802.11 не предусмотрены какие либо механизмы управления ключами шифрования. По определению, алгоритм WEP поддерживает лишь статические ключи, которые заранее распространяются тем или иным способом между абонентами и точками радиодоступа беспроводной локальной сети. Поскольку IEEE 802.11 аутентифицирует физическое устройство, а не его пользователя, утрата абонентского адаптера, точки радиодоступа или собственно секретного ключа представляют опасность для системы безопасности беспроводной локальной сети. В результате при каждом подобном инциденте администратор сети будет вынужден вручную произвести смену ключей у всех абонентов и в точках доступа. Для этого во всём оборудовании D-Link отведено четыре поля для ввода ключей. И при смене всех ключей необходимо только поменять номер используемого ключа.

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