
Воздушный дуршлаг
Антон Карпов
Хакер, номер #074, стр. 074-064-1
(toxa@real.xakep.ru)
Антология уязвимостей и атак на протокол WEP
Всем известно, что задачи защиты информации в беспроводных сетях до недавнего времени были возложены на протокол WEP, который свою миссию благополучно провалил. Именно благодаря его слабостям существует огромное количество утилит из серии «нажми кнопку и почувствуй себя хакером, сломав беспроводную сеть». Сегодня я расскажу тебе, чем так плох WEP и за счет чего работают все эти крутые программы для взлома Wi-Fi.
Беспроводные проблемы
Одновременно с разработкой стандартов беспроводной связи (IEEE 802.11) вставал вопрос безопасности. Беспроводные технологии отличаются от проводных физической средой передачи данных, и это различие накладывает свои отпечатки. В частности, использование беспроводных сетей предполагает специфические ответы на следующие вопросы:
- Как мы защитим свою сеть от прослушивания трафика?
- Как мы защитим свою сеть от модификации трафика?
- Как мы защитим свою сеть от неавторизованного доступа к ней?
В проводной сети использование программируемых коммутаторов обеспечивает определенную защиту от прослушивания трафика. В беспроводной сети невозможно контролировать доступ - любое устройство, находящееся в охватываемом диапазоне, по сути, уже является участником сетевого взаимодействия.
Значит, надо обеспечить должную защиту на канальном уровне. С этой целью был разработан протокол WEP - Wired Equivalent Privacy. Как следует из названия, его цель - дать адекватный уровень защиты, такой же, как если бы сеть была проводной. WEP призван решить три основных проблемы безопасности:
- Конфиденциальность. Защита от чтения злоумышленником беспроводного трафика.
- Контроль доступа. Защита от неавторизованного использования злоумышленником ресурсов сети.
- Целостность данных. Защита от модификации злоумышленником передаваемых по беспроводной сети данных.
Как ты увидишь далее, ни одна из этих задач не была решена.
Описание протокола
Отправитель и получатель используют общий секретный ключ k, который, допустим, первоначально передается отправителю получателем по защищенному каналу. Для того чтобы передать сообщение M, отправитель выполняет следующие действия:
- Независимо от ключа k считает контрольную сумму сообщения c(M) и прибавляет ее к самому сообщению: P = <M, c(M)>.
- Выбирает вектор инициализации (Initialisation Vector, IV) v и генерирует ключевой поток (keystream) RC4(v,k) - последовательность случайных байт, зависящих от IV v и ключа k.
- Применяет поразрядное исключающее «ИЛИ» (XOR) к P и ключевому потоку, получая шифртекст: C = P xor RC4(v,k).
- Передает вектор инициализации v и шифртекст по беспроводному каналу. Это можно представить таким образом: A -[wireless link]-> B: [v,(P xor RC4(v,k))], где P = <M, c(M)>.
Получатель выполняет следующие действия:
- Используя полученный вектор v и секретный ключ k, генерирует ключевой поток RC4(v,k).
- Применяет операцию XOR к паре «шифртекст C - ключевой поток RC4(v,k)», получая сообщение M' и контрольную сумму c'. Это можно представить таким образом: P' = C xor RC4(v,k) = (P xor RC4(v,k)) xor RC4(v,k) = P.
Содержание Вперед на стр. 074-064-2
|
 |
|