На тему безопасности в беспроводных сетях написано довольно много. Практически со всех сторон описан новый стандарт обеспечения безопасности в беспроводных сетях IEEE 802.11i. Но как же реально обстоят дела с безопасностью таких сетей, насколько на практике применим данный стандарт и другие способы обеспечения безопасности, насколько он надёжен? Существуют ли какие-то механизмы взлома таких сетей? В данной статье мы попытаемся ответить на все эти вопросы.
Рис. 1. Использование направленных антенн |
Существует довольно много различных механизмов обеспечения безопасности в беспроводных сетях, но не все они предоставляют одинаково высокий уровень безопасности. К простейшим способам обеспечения безопасности можно отнести физические. Это ограничение доступа в офисные помещения, где установлена беспроводная сеть, экранирование помещений, снижение мощности точек доступа, чтобы излучение не выходило за определённую территорию, использование на точках доступа направленных антенн, излучающих внутрь помещений (рис. 1). Но все эти способы не обеспечивают необходимого уровня безопасности или очень затратны.
К достаточно простым способам относится фильтрация клиентов на точке доступа по MAC-адресам и отключение широковещательной рассылки точкой доступа имени сети (SSID) — в этом случае параметр SSID является своего рода паролем. Чтобы подключиться к сети в этом случае, клиент должен знать SSID. Однако при помощи простейших беспроводных сетевых анализаторов, например, AiroPeek, AirMagnet, или NetStumbler, можно отследить MAC-адреса устройств сети и значение SSID, которое передаётся в открытом виде в каждом пакете. Драйверы многих сетевых карт позволяют изменить их MAC-адрес, но если и нет, — существуют специальные утилиты типа SMAC, позволяющие решить и эту задачу.
Шифрование WEP
Понимание разработчиками того, что все эти способы небезопасны пришло давно, и практически одновременно с ратификацией в 1997 году базового стандарта 802.11 институт IEEE одобрил механизм шифрования WEP (Wired Equivalent Privacy — приватность эквивалентная кабельным сетям). Он работает на втором уровне модели OSI и использует для шифрования 40-разрядный ключ. Несмотря на очень громкое название WEP оказался совершенно ненадёжным. В октябре 2000 года стали известны проблемы его алгоритма и атаки, которые можно организовать с использованием найденных уязвимостей. Появились первые средства взлома WEP-шифра, хотя для этого требовалось довольно длительное время.
Проблемы WEP носят комплексный характер и заключаются в целой серии слабых мест: механизме обмена ключами, а точнее, практически полном его отсутствии, малых длинах ключа и вектора инициализации, механизме проверки целостности передаваемых данных, способе аутентификации и алгоритме шифрования RC4. Процесс шифрования WEP выполняется в два этапа: сначала с помощью алгоритма CRC-32 (Cyclic Redundancy Check) подсчитывается контрольная сумма ICV (Integrity Checksum Value), которая добавляется в конец незашифрованного сообщения и служит для проверки целостности сообщения принимаемой стороной; на втором этапе выполняется непосредственное шифрование сообщения. Ключ для WEP-шифрования, является общим секретным ключом, который должны знать устройства на обеих сторонах беспроводного канала передачи данных. Этот секретный 40-битный ключ вместе со случайным 24-битным вектором инициализации IV (Initialization Vector) являются входной последовательностью для генератора псевдослучайных чисел. Данная операция выполняется, чтобы избежать взлома, основанного на статистических свойствах открытого текста.
Вектор инициализации обеспечивает каждому сообщению уникальный ключевой поток. Зашифрованное сообщение получается в результате выполнения операции XOR между незашифрованным сообщением с контрольной суммой и ключевым потоком. Чтобы получатель мог расшифровать сообщение, в передаваемый пакет в открытом виде добавляется вектор инициализации (рис. 2). Когда сообщение принимается, происходит похожий процесс, но в обратном порядке.
Рис. 2. WEPшифрование |
В результате, мы получаем простой незашифрованный текст, являющийся результатом операции XOR между двумя другими оригинальными текстами. Процедура извлечения из данного текста оригинальных текстов не составляет большого труда.
Проведя несложный анализ можно рассчитать, когда произойдёт повторение ключевой последовательности. Так как ключ постоянный, а количество векторов инициализации составляет 224=16777216, то при достаточной загрузке точки доступа, среднем размере пакета 1500 байт (12000 бит) и небольшой скорости передачи данных, например, 5 Мбит/с (при максимальной 54 Мбит/с) получим, что точка доступа передает 416 сообщений в секунду (5 Мбит/12000 бит) или 1497600 сообщений в час. Т.е. повторение произойдёт через 11 ч 12 мин (224/1497600=11,2 ч). Описанная проблема известна под названием “коллизия векторов”.
Начиная с 2001 года атака на WEP стала тривиальным, но занимающим много времени процессом. В сообществе специалистов безопасности приобрели известность несколько наиболее популярных утилит, реализующих атаку FMS (Fluhrer-Mantin-Shamir), — WEPCrack, AirSnort, Kismet. Они просты в использовании, но для успешной атаки на WEP им необходимо перехватить очень большое количество пакетов. На сайте AirSnort это количество оценили примерно в 5-10 млн., но фактическое число пакетов для каждого конкретного случая может быть и выше.
Первый недостаток этого старого метода взлома заключается в том, что нужны только зашифрованные пакеты. Поскольку точка беспроводного доступа передает несколько незашифрованных пакетов в секунду, количество полезных пакетов меньше. Второй нюанс заключается в том, что для атаки уязвимы только слабые векторы инициализации IVs. Ответом производителей беспроводных точек доступа на FMS-атаку стало отфильтровывание большинства слабых IVs, которые передают точки доступа и беспроводные карты. Если в сети используется относительно новое оборудование, для успешной атаки с использованием устаревших утилит, нужно перехватить не меньше 10 млн. зашифрованных пакетов.
Рис. 3. Новый формат беспроводного пакета |
Атаки, о которых речь шла до сих пор, являются пассивными, но недостатки алгоритма WEP позволяют совершать и активные атаки. Проблемой является используемый в WEP алгоритм подсчёта контрольной суммы ICV — CRC-32. Ее значение подсчитывается на основе поля данных сообщения, это хороший способ для определения ошибок, возникающих при передаче информации, но он не обеспечивает криптографическую целостность данных и не гарантирует отсутствия их подменены в процессе передачи. Линейное свойство контрольной суммы CRC-32 (CRC (A XOR B) = CRC (A) XOR CRC (B)) дает возможность нарушителю с помощью соответствующих утилит перехватить любой пакет и повторно передать его в сеть. Пакет будет правильно зашифрован, даже если вы понятия не имеете о его содержимом. Проанализировав трафик, можно сделать достаточно точное предположение о содержимом пакета. Данный способ используется в утилитах Aireplay и Reinj, и как результат — необходимое для взлома WEP-ключа время сокращается до 5-10 мин.
WEP имеет ещё один недостаток. WEP-ключ, который прописан на точке доступа, необходимо прописать на всех клиентах сети. Если один из сотрудников сообщит его кому-либо специально или по неосторожности, например, оставит где-то ноутбук, администратор безопасности даже не узнает, кто это сделал.
Спецификация WPA
Рис. 4. Мостовое соединение с IPSec |
Принятый в качестве стандарта в 2001 году протокол IEEE 801.1x обеспечивает контроль доступа на уровне портов. Он использует протокол EAP (Extensible Authentication Protocol), который изначально разрабатывался для работы поверх PPP (Point-to-Point Protocol) для передачи сообщений между тремя участниками аутентификации в окружении ЛВС — сервером аутентификации (RADIUS-сервер), аутентификатором (беспроводная точка доступа) и саппликантом (специальное ПО на клиентской машине).
Этот вид инкапсуляции известен как EAP over LANs или EAPOL. Хотя протокол EAP предусматривает более десяти различных способов аутентификации, наиболее широкое распространение при использовании в беспроводных сетях получил метод PEAP.
Temporal Key Integrity Protocol TKIP — это второй протокол из спецификации WPA. Он предназначен для решения основных проблем протокола WEP в области шифрования данных. Для обеспечения совместимости с существующим аппаратным обеспечением TKIP использует тот же алгоритм шифрования, что и WEP — RC4.
Этот протокол содержит несколько инструментов, повышающих защищённость беспроводных сетей: динамические ключи, изменённый механизм генерации ключей, более надёжный механизм проверки целостности сообщений, увеличенный по длине вектор инициализации, нумерацию пакетов.
В отличие от протокола WEP, где для обеспечения целостности передаваемых данных применялся механизм CRC-32, протокол TKIP использует MIC (Message Integrity Code), обеспечивающий криптографическую контрольную сумму от полей “адрес источника”, “адрес назначения” и поля данных. В качестве номера пакета в TKIP используется вектор инициализации IV — TSC (TKIP Sequence Counter) длиной 48 бит, в отличие от 24 бит в WEP.
Увеличение длины вектора инициализации до 48 бит позволяет избежать коллизии векторов и гарантирует, что они не повторятся на протяжении более тысячи лет (рис. 3).
Основным отличием TKIP от WEP является механизм управления ключами, позволяющий периодически их менять и производить обмен ключами между всеми участниками сетевого взаимодействия: саппликантом, аутентификатором и сервером аутентификации. Для защиты от некоторых атак с использованием подставных объектов новая схема генерации ключа в TKIP включает дополнительный элемент — MAC-адрес источника.
Для домашнего применения и небольших офисов где, как правило, отсутствует сервер аутентификации, спецификация WPA предусматривает режим использования общего ключа PSK (Pre-Shared Key). В этом случае ключ генерируется из парольной фразы, введённой вручную на саппликанте и аутентификаторе. Остальная процедура генерации ключей остаётся такой же, как и в WPA-EAP.
Первым недостатком WPA-PSK является то, что парольная фраза является статической и не меняется со временем, т.е. её можно подобрать за какое-то конечное время. Вторым недостатком является то, что она так же, как и в случае WEP, должна быть одинаковой на всех клиентах сети. К настоящему времени уже опубликованы работы, описывающие слабые стороны протоколов IEEE 802.1x и WPA. Кроме того, доступны такие утилиты, как CoWPAtty, WPA Cracker и AirCrack, позволяющие путём атак “грубой силы” подобрать парольную фразу в WPA-PSK. В этом случае надёжность беспроводного соединения целиком зависит от её уникальности.
В корпоративной среде крайне не рекомендуется использовать WPA-PSK. Аналогичные проблемы существуют и с некоторыми фирменными протоколами, похожими по своей реализации на WPA-PSK. Например, для взлома протокола LEAP, созданного компанией Cisco, существуют аналогичные утилиты THCLeapCracker и ASLeap.
Спецификация WPA2
В 2004 году произошло знаменательное событие — был принят стандарт IEEE 802.11i MAC Security Enhancements обеспечения безопасности в беспроводных сетях, который не могли ратифицировать на протяжении более четырех лет. Этот стандарт определяет процедуры TKIP и CCMP (Counter mode (CTR) with CBC-MAC (Cipher-Block Chaining (CBC)) with Message Authentication Code (MAC) Protocol) для обеспечения более надёжных механизмов защиты данных, чем WEP. Он вводит концепцию безопасных ассоциаций в IEEE 802.11 и определяет протоколы их управления — 4-Way Handshake и Group Key Handshake. Также стандарт определяет, как протокол IEEE 802.11 может использовать IEEE 802.1x для эффективной аутентификации.
Все продукты, которые сертифицированы для WPA2, основываются на стандарте IEEE 801.11i и поддерживают обязательные элементы стандарта. WPA2 — это одобренная Wi-Fi-альянсом функционально совместимая реализация IEEE 802.11i. Другими словами, данные термины практически идентичны и взаимозаменяемы.
О недостатках стандарта WEP и о том, что нового внёс механизм TKIP (WPA), написано выше. Что же добавил к обеспечению безопасности беспроводных сетей механизм CCMP и стандарт IEEE 802.11i? Стандарт вводит понятие надёжно защищённой сети RSN (Robust Security Network) и надёжно защищённого сетевого соединения RSNA (Robust Security Network Association). Алгоритм CCMP является обязательным, а TKIP — опциональным и предназначен для обеспечения совместимости со старыми устройствами.
Стандартом предусмотрены две инфраструктурные функциональные модели: с аутентификацией по IEEE 802.1x (с использованием протокола EAP) и при помощи заранее предопределённого ключа, прописанного на аутентификаторе и клиенте (такой режим называется PSK).
Процедура установления соединения и обмена ключами одинакова для обоих алгоритмов TKIP и CCMP. Оба призваны обеспечивать конфиденциальность, аутентификацию, целостность и защиту от атак воспроизведения. CCMP основан на методе CCM алгоритма шифрования AES. Все AES-процессы, применяемые в CCMP, используют AES с 128-битным ключом и 128-битным размером блока. В принципе, CCM не является криптографическим алгоритмом, и его можно использовать с любым блочным алгоритмом шифрования. Алгоритм CTR используется непосредственно для шифрования данных, а CBC-MAC для обеспечения целостности.
Введение алгоритма CCMP понадобилось, потому что алгоритм TKIP, хотя и является довольно надёжным, но построен на уязвимом алгоритме шифрования RC4. Напомним, в случае использования простой парольной фразы систему можно взломать за конечное время.
Если в случае использования варианта шифрования WPA-EAP это не критично, так как ключ меняется довольно часто, то WPA-PSK, как мы уже знаем, является небезопасным. Применение в качестве алгоритма шифрования AES существенно повышает защищённость системы. Он довольно новый (ратифицирован в октябре 2000 года) и обладает наиболее высокой криптостойкостью среди симметричных алгоритмов шифрования. На сегодняшний день нет известных атак на AES.
Кроме поддержки нового алгоритма шифрования в стандарте предусмотрена возможность использования RSNA-алгоритмов в инфраструктуре IBSS (Independent Basic Service Set), т.е. в режиме точка-точка (Ad-Hoc).
Последним нововведением стандарта является поддержка технологии быстрого роуминга между точками доступа с использованием процедур пре-аутентификации и кеширования ключа PMK. Последняя состоит в том, что если клиент один раз прошёл полную процедуру аутентификации при подключении к какой-то точке доступа, он сохраняет полученный от неё ключ PMK. В следующий раз, когда клиент снова подключится к той же точке, в ответ на запрос о подтверждении подлинности он отправит ранее полученный ключ PMK. На этом процедура аутентификации закончится и четырехстороннее рукопожатие (4-Way Handshake) выполняться не будет.
Процедура пре-аутентификации заключается в том, что после того, как клиент подключился и прошёл процедуру аутентификации на точке доступа, он может параллельно пройти аутентификацию на остальных точках (которые он слышит) с аналогичным SSID и заранее получить от них ключ PMK. Если в дальнейшем точка доступа, к которой подключен клиент, выйдет из строя, или её сигнал окажется слабее, чем у другой с таким же именем сети, он переподключится по быстрой схеме с закешированным ключом PMK.
Практическая безопасность
Из всего вышесказанного можно сделать вывод, что протоколы WEP и WPA-PSK являются ненадёжными, а WPA-EAP, WPA2-PSK и WPA2-EAP надёжными (хотя для взлома WPA2-PSK нет известных алгоритмов взлома и утилит, но теоретически такая возможность существует).
На практике обеспечение безопасности беспроводных сетей является более сложной задачей, чем в теории. Во-первых, для использования протокола WPA2 необходима его аппаратная поддержка на точках доступа и сетевых адаптерах. Во-вторых, поддержка WPA в операционных системах Windows появилась только после установки специального патча на WXP с SP1, а поддержка WPA2 после установки патча (KB893357) на WXP с SP2. При этом возможен единственный способ аутентификации по протоколу PEAP.
Ещё один сюрприз поджидает при попытке использования протоколов WPA и WPA2 в режиме моста для объединения двух кабельных сетей посредством беспроводной. В этом случае возможно использование только PSK-вариантов, так как при этом мы объединяем между собой два аутентификатора, т.е. у нас отсутствует саппликант.
Поэтому поверх такой беспроводной связи имеет смысл поднять туннель при помощи протоколов более высокого уровня, например, IPSec. Точки доступа являются устройствами канального уровня, и они, как правило, не умеют терминировать туннели. В этом случае за ними необходимо установить программные или аппаратные устройства, умеющие работать с IPSec (рис. 4).
Беспроводные сети остаются совершенно беспомощными перед атаками типа “отказ в обслуживании” (Denial of Service — DoS)”. Причём такие атаки могут быть реализованы как на физическом уровне, например, при использовании генератора излучения с высокой мощностью на частоте работы беспроводной сети, так и на канальном. При реализации атаки на канальном уровне используется уязвимость беспроводных сетей, заключающаяся в отсутствии аутентификации для служебных фреймов.
В результате, любой источник может генерировать любое количество служебных фреймов и точка доступа попытается их все принять. Соответственно, можно создать такую нагрузку, чтобы устройство с ней не справилось. Проблему канального уровня должен решить разрабатываемый сейчас новый стандарт обеспечения безопасности в беспроводных сетях IEEE 802.11w.
Наиболее проблематичными в отношении безопасности являются сети публичного доступа или хот-споты. В таких сетях нельзя применить ни WPA, ни WPA2, ни шифрование при помощи IPSec, так как клиенты работают под разными ОС с разными сервис-паками и патчами, а значит поддерживают неодинаковые механизмы аутентификации или вообще никаких не поддерживают.
Таким образом, возможно применение только ненадёжного WEP-шифрования. Но злоумышленник может получить WEP-ключ даже легальным путём, став пользователем сети публичного доступа. В этом случае для обеспечения безопасности, как правило, применяют повторную аутентификацию пользователей на каком-нибудь пограничном ресурсе, установленном за точкой доступа при помощи распространенных протоколов, в частности, HTTP или HTTPS.
В случае применения протокола HTTPS единственным уязвимым местом системы остаётся подверженность атакам с ложной точкой доступа (Men-in-Middle), когда взломщик использует свою точку для получения идентификаторов и паролей пользователей. Реализуются такие атаки довольно просто.
Сначала взломщик пытается подключиться к хот-споту и сохраняет у себя на машине появившуюся страницу аутентификации. После запускает у себя на машине специальные утилиты, такие как AirSnarf или HotSpotter, которые эмулируют точку доступа с тем же MAC-адресом и параметром SSID, что и провайдерская, а также поднимают веб-сервер.
Вторым этапом является DoS-атака на провайдерскую точку. Клиенты, отключившиеся от провайдерской точки доступа в результате DoS-атаки, автоматически подключатся к ложной точке, которая подставит им уже знакомую, сохранённую веб-страницу аутентификации. Злоумышленнику остается только запомнить введённые пользователями логины и пароли. Защититься от описанной атаки можно только специальными средствами — анализаторами эфира, позволяющими обнаружить чужие точки доступа, и специализированными системами обнаружения вторжений IDS (Intrusion Detection System) в беспроводных сетях.
Этот материал правдиво освещает вопросы надёжности и безопасности беспроводных сетей. Надеемся, он даст ответы на многочисленные вопросы, волнующие системных администраторов, администраторов безопасности, ИТ-менеджеров и пользователей таких сетей.
Автор намеренно неоднократно упоминал в статье технические средства, при помощи которых взламывают беспроводные сети, и соответствующие методы защиты. Чем большей информацией располагает администратор безопасности, тем более эффективную модель защиты он сможет выбрать. Предупреждён — значит вооружён.
Иван Мартынюк, консультант по проектам представительства D-Link в Украине,
IMartynyuk@dlink.ru
мнение специалиста
Алексей Лукацкий, менеджер по развитию бизнеса в области безопасности Cisco Systems:
Алексей Лукацкий |
Если 5 лет назад это было правдой, то сейчас ситуация коренным образом изменилась. В настоящий момент беспроводные сети, построенные на оборудовании лидеров рынка Wi-Fi, являются даже более защищенными, чем их проводные “родственники”.
Посмотрим на то, как решен вопрос с безопасностью в решениях Cisco. Беспроводные контроллеры и точки доступа Cisco, обеспечивающие работоспособность и управление сети Wi-Fi, обладают уже встроенными механизмами защиты, что позволяет создать сеть, защищенную изначально (разумеется, эти механизмы необходимо правильно настроить).
Списки контроля доступа (access control list, ACL) позволяют четко разграничить взаимодействие беспроводных клиентов, дав доступ одним и запретив или ограничив его другим. Протоколы аутентификации семейства EAP обеспечивают различные способы проверки подлинности абонентов, вплоть до поддержки инфраструктуры PKI. Стандарт 802.11i, поддерживаемый в оборудовании Cisco, позволяет обеспечить целостность и конфиденциальность передаваемых данных. И даже в случае их перехвата злоумышленник не сможет дешифровать их. Это все равно, что инкассаторский броневик, все знают, что он перевозит какие-то ценности, но никто не знает, какие именно.
Дополнительной особенностью, которая отличает решения Cisco от других, является наличие встроенной системы обнаружения и предотвращения атак;она позволяет своевременно идентифицировать и отражать беспроводные атаки. А встроенная подсистема локализации несанкционированно установленных точек доступа и беспроводных клиентов позволяет отследить их местоположение в радиусе нескольких десятков сантиметров и при необходимости подавить их радиосигнал.
Поэтому опасения относительно низкой защищенности современных беспроводных сетей сегодня уже необоснованны. Поэтому, наш взгляд беспроводные сети можно и нужно активно внедрять для получения всех преимуществ мобильного бизнеса.