Как защитить большую беспроводную сеть, использующую старый стандарт Wired Equivalent Privacy (WEP)? Принятый в 1999 году, WEP стал первым стандартом безопасности для беспроводных сетей. До него существовали только частные, несовместимые между собой решения для защиты беспроводного трафика различных производителей. Перед тем как перейти к обсуждению новых разработок, давайте сначала разберем схему работы WEP.
Разберемся с терминологией
CRC-32 (cyclic redundancy check) — простая хеш-функция, которая с помощью математических вычислений отображает данную информацию в виде последовательности разрядов фиксированной длины. Функция является необратимой, то есть, зная выходящую последовательность, нельзя восстановить исходную информацию. Применяют ее для обнаружения ошибок во время передачи данных. После того как станция получает фрейм, она сама просчитывает значение CRC и сравнивает полученное значение с тем, которое было передано вместе с фреймом. Если эти два значения отличаются, следовательно, фрейм был поврежден и должен быть отброшен.
ICV (Integrity Check Value) — значение целостности — защитный механизм стандарта WEP для обеспечения целостности данных; дополнительное вычисление хеша CRC-32 для информации и последующая передача этого хеша в зашифрованном виде.
Ключ — секретная информация, которая является основой для алгоритмов конфиденциальности информации. В стандарте WEP ключи могли иметь длину 40 и 104 разряда. Для шифрования одинаковые ключи на всех устройствах сети настраиваются вручную.
IV (Initialization Vector) — вектор инициализации — это число, которое добавляется к ключу для изменения ключевого потока. Вектор инициализации постоянно изменяется, в отличие от ключа. Благодаря введению вектора инициализации можно избежать ситуации, когда одинаковый текст с одинаковым ключом дают всегда один и тот же ключевой поток. Ключевой поток — последовательность разрядов, которая получается после прогона ключа и вектора инициализации через алгоритм шифрования. При побитовом смешивании с помощью логической функции XOR с незашифрованной информацией дает зашифрованную информацию.
Алгоритм шифрования (он указан на схеме как WEP) — математический алгоритм для преобразования входной открытой информации в зашифрованную. В стандарте используется потоковый алгоритм RC4, который сейчас признан слабым и небезопасным.
FCS (Frame Check Sequence) — контрольная сумма фрейма, опять-таки получается с помощью прогонки фрейма через функцию CRC-32; используется для выявления ошибок при передаче фрейма.
Процесс шифрования представлен на рисунке 1.
- Вначале незашифрованная информация прогоняется через функцию CRC-32. На выходе получаем значение ICV для незашифрованного сегмента информации.
- Ключ и вектор инициализации прогоняются через алгоритм шифрования для получения ключевого потока.
- Сегмент незашифрованной информации вместе со значением ICV смешивается с ключевым потоком. Получаем зашифрованный сегмент информации и зашифрованный ICV.
- Присоединяем к зашифрованной информации значение вектора инициализации в открытом виде.
- Добавляем МАС-адреса источника и назначения.
- Прогоняем фрейм через функцию CRC-32 и полученное значение записываем в поле FCS. Теперь фрейм готов к отправке.
Разберем процесс расшифровки фрейма (см. рисунок 2).
- Смотрим адрес назначения фрейма, убеждаемся, что фрейм предназначен нам. Просчитываем контрольную сумму и сравниваем со значением в поле FCS. Если значения совпадают, начинаем процесс расшифровки.
- Извлекаем из фрейма вектор инициализации и вместе с ключом прогоняем его через алгоритм шифрования. Получаем на выходе ключевой поток для дальнейшей расшифровки.
- Смешиваем ключевой поток и зашифрованную часть фрейма. Получаем незашифрованный сегмент информации и значение ICV.
- Прогоняем незашифрованный сегмент информации через CRC-хеширование.
- Сравниваем результат вычислений со значением, которое нам прислали. Если значения совпадают, передаем уже не фрейм, а пакет на обработку операционной системе. Если значения не совпадают — отбрасываем фрейм.
Крах стандарта
Принятый стандарт внушал надежды и обеспечивал защиту совсем не так долго, как планировалось. В 2001 году был опубликован доклад, в котором описывались существенные недостатки стандарта. Со временем были найдены еще более критичные уязвимые места, которые свели время взлома WEP к минутам. Приведем краткий список слабых мест.
- Короткий вектор инициализации. В стандарте вектор инициализации представляет собой последовательность в 24 разряда. Со временем такой длины стало недостаточно, долгий сбор фреймов позволяет получить фреймы, для которых вектор инициализации будет одинаковым, и анализировать зашифрованную информацию, зная, что для зашифровки использовался один и тот же ключевой поток.
- Проблемы алгоритма RC4. Выяснилось, что несколько первых разрядов ключевого потока и секретный ключ имеют сильную зависимость, таким образом, алгоритм уязвим для подбора на основе этих первых разрядов.
- Алгоритм обеспечения целостности не имеет никаких встроенных средств защиты и полностью полагается на шифрование.
- Управление ключами. Раскрытие одного ключа на одном устройстве принуждает менять все ключи на всех устройствах.
- Слабые алгоритмы аутентификации.
При утверждении стандарта были утверждены два алгоритма аутентификации: аутентификация типа Opened и Shared. Аутентификация типа Open позволяет подключиться к точке доступа без какой-либо аутентификации, а защита сети держится на том факте, что подключенный к сети клиент, который не знает ключа, не сможет отправить или принять зашифрованные фреймы. Аутентификация типа Shared, в свою очередь, оказалась еще опасней, чем Opened.
Долгая миграция
Со времени взлома WEP прошло восемь лет; было выпущено еще два стандарта — WPA и WPA2, которые существенно повысили уровень безопасности беспроводных сетей. WPA2 является основным и наиболее надежным на сегодня, но для перехода на этот стандарт с WEP необходимо менять все оборудование. Особенно достается промышленному сектору, где большинство мобильных беспроводных устройств — это не ноутбуки и мобильные телефоны, которые и так меняются каждые два года, а терминалы, считыватели штрих-кодов, различные беспроводные датчики и другое специализированное оборудование. И если в офисе плановая модернизация ноутбуков частично решит проблему и останется поменять только точки доступа и контроллеры, то в промышленности придется менять абсолютно все и сразу. Кроме того, мобильность офисных сотрудников не так критична как, допустим, система учета товаров на складе. После выхода WPA2 в 2003 году, по данным за 2007 год, количество установленных беспроводных систем с WEP только возросло. По статистике, на 2007 год в США было около 10 миллионов беспроводных сетей, построенных на старом стандарте. Конечно, эта цифра изменилась за последние два года, но не так стремительно, как должна была. Миграция на AES со сменой всей структуры протекает медленно во всем мире.
Время между WEP и WPA2
Когда в 2001 году взломали WEP, и производители, и потребители были ошеломлены. В оборудование было вложено громадное количество денег, и изменение технологии безопасности повлекло бы за собой разорение некоторых производителей и высокие расходы со стороны компаний-потребителей. Комитет 802.11 i до 2001 года спокойно работал над новым стандартом (WPA2) и не ожидал такого провала WEP. Нужно было что-то срочно предпринять. Не дожидаясь выхода стандарта от 802.11i, решить проблему взялась организация Wi-Fi. Была поставлена задача создать стандарт, который стал бы надстройкой над WEP и позволял бы устранить уязвимости без замены оборудования. Таким образом, алгоритм шифрования нужно было оставить и найти способ усилить его не аппаратными, а программными методами.
На сегодня существует несколько технологий усиления защиты WEP. Первой идеей, которая пришла на рынок, была смена паролей. Чтобы взломать WEP, необходимо набрать определенную базу фреймов, а затем провести статистический анализ для того, чтобы узнать секретный ключ. А что если менять ключ до того, как база будет достаточной для такой атаки? Этим путем пошел весь беспроводной мир во главе с организацией Wi-Fi, которая собрала все разработки IEEE 802.11i, существовавшие на тот момент, и создала стандарт WPA (Wi-Fi Protected Access). Основой стандарта был протокол TKIP (Temporary Key Integrity Protocol). TKIP значительно усиливал WEP с помощью двухуровневой системы векторов инициализации. Теперь ключ для генерации ключевого потока создается в две фазы (см. рисунок 3).
- Смешиваем исходный ключ со старшими 32 разрядами вектора инициализации и MAC-адресом источника. Получаем ключ первой фазы.
- Ключ первой фазы опять смешивается со старшими 32 разрядами вектора инициализации и MAC-адресом и на выходе получаем 128 разрядов, из которых первые 16 — это младший вектор инициализации, а остальное — пофреймовый ключ. Пофреймовый ключ и будет использоваться для создания ключевого потока.
Работа алгоритма очень проста, для каждого нового фрейма будет увеличиваться значение младшего вектора инициализации (как и ранее в стандарте WEP), но после прохождения всех комбинаций (а это максимум 216 = 65536) увеличивается значение старшего вектора инициализации и проходит процесс генерации нового ключа, который я описал выше. При смене ключа база статистики для взлома просто не успевает набраться. Заметим, что эта база зависит только от количества собранных фреймов и никак не зависит от вычислительных мощностей (как, например, атака методом подбора «грубой силой»). В прошлом году были найдены уязвимости, которые позволяют манипулировать сетью. Атаки основаны на знании некоторых данных в зашифрованных фреймах, например запросы ARP или фреймы для обеспечения QoS. Расшифровать пользовательские данные не удалось, а вот вставить в сеть некоторые служебные пакеты теперь возможно. Таким образом, злоумышленник может, например, попытаться перенаправить трафик в Интернет, где пакеты будут уже не зашифрованы.
Специализированные решения
Некоторые производители создали собственные улучшения для стандарта WEP. Компания Agere создала надстройку WEP+, которая избегала использования «слабых» векторов инициализации, но такое решение работало, только если оба устройства, которые передают и получают информацию, поддерживали эту технологию.
Еще одной компанией, которая создала свое улучшение, была компания 3Com. Ее система безопасности также была основана на динамической смене ключей.
Вторая идея защиты
Новейшая разработка для защиты старых WEP-сетей создана компанией AirDefense. Компания AirDefence — мировой лидер по технологиям защиты беспроводных сетей, и сейчас она является собственностью компании Motola. Ее идея по защите WEP проста в своей гениальности: можно изменять ключи и не давать собрать базу для статистики, а можно умышленно внедрить в базу неверную информацию путем рассылки битых фреймов. Таким образом, статистический анализ заведомо неправильной информации никогда не даст желаемого результата. Об этой технологии я расскажу чуть подробнее.
Где применяется WEP Cloaking
Основной рынок применения технологии WEP Cloaking — это большие производственные сети, в которых процесс модернизации невозможен или очень недешево обойдется из-за устаревшего, но рабочего оборудования (например, сканеры штрихкодов и терминалы). Поменять инфраструктуру, то есть точки доступа и контроллеры беспроводных сетей, — одно дело, а вот заменить абсолютно все устройства в промышленной сети — совсем другое. Понятно, что рано или поздно миграция все же произойдет, но внедрение WEP Cloaking позволит отсрочить этот процесс и защитить уже имеющуюся рабочую сеть без необходимости прерывания процессов производства.
Внедрение технологии
Для внедрения WEP Cloaking понадобятся точки доступа нового поколения, они будут выступать в роли сенсоров безопасности. Точек-сенсоров может быть намного меньше, чем точек, которые передают информацию. Сенсоры могут работать в режиме совместимости со скоростью передачи 1–2 Мбит/с и втискивать «битые» фреймы в обычный трафик. Кроме того, нет необходимости ставить сенсор для каждой точки доступа, можно создать только необходимую зону сенсорного покрытия. Если, например, взять здание большого склада, то понятно, что необходимой зоной защиты будет только территория вне здания, которая покрывается рабочими точками доступа, см. рисунок 4.
Более темным цветом здесь показаны точки, которые должны быть защищены. Вероятность того, что злоумышленник решит проникнуть в здание и собирать фреймы внутри, вместо того, чтобы в «безопасности» собирать их вне здания, крайне мала. Поэтому можно защищать только периметр.
AirDefense Appliance подсоединена к сенсорам проводной сетью и координирует их работу, собирает данные об угрозах и т. д. WEP Cloaking — это только одна из технологий, которая становится доступной с приобретением системы AirDefense. Беспроводная сеть получает лучшую в мире систему обнаружения и предотвращения вторжений.
Как работает технология WEP Cloaking
Рассмотрим ситуацию, когда в сеть высылается «битый» фрейм. Во‑первых, надо определить, что значит «битый» фрейм? Это фрейм, в котором данные ICV неверные.
Обычный клиент просто отбросит «битый» фрейм. Во время расшифровки (по схеме 2), когда фрейм будет уже расшифрован, станция сравнит значение ICV со значением, которое подсчитает сама. Если значения не совпадут, фрейм будет отброшен, и все.
Для злоумышленника передача «битых» фреймов является проблемой. По алгоритму взлома злоумышленник должен «доверять» всем полученным фреймам, ведь именно из них и будет состоять база статистики для дальнейшего анализа. Мы получаем неразрешимый цикл: ключ можно получить только после сборки нормальных фреймов и их дальнейшего анализа, а чтобы узнать, что фрейм «битый», необходимо знать ключ (данные ICV зашифрованы). Для злоумышленника передача «битого» фрейма не будет вызывать подозрений, так как внешне он ничем не отличается от остальных, а данные о контрольной сумме FCS будут в норме.
Сенсоры беспроводной безопасности никак не вмешиваются в работу сети, они даже не ассоциируются с рабочими точками доступа. AirDefense применяет закрытый алгоритм собственной разработки для отслеживания обычного трафика и внедрения между обычными фреймами своих. По сути, мы получаем две независимые беспроводные сети, одна из которых мониторит и защищает вторую.
Подробности работы технологии: координирование RTS/CTS алгоритма, взаимодействие сенсоров с сервером, технология генерирования «битых» фреймов также является закрытой информацией.
С точки зрения анализа защищенности WEP Cloaking — это намного лучше, чем просто WEP, но полностью опираться на эту технологию в случае защиты чувствительных и конфиденциальных данных не рекомендуется. Оптимальным решением для передачи данных такого уровня через беспроводную сеть все равно будет IPsec. Шифрование на канальном и на сетевом уровне обеспечит весьма высокий уровень защиты данных.
Таким образом, технология WEP Cloaking — это нестандартный способ защиты производственных беспроводных сетей, которые могут работать только с WEP. Уровень защиты позволяет не переводить всю беспроводную сеть на новые технологи и не менять аппаратное обеспечение, но только в случае работы с открытыми и приватными данными. В случае конфиденциальных данных следует использовать и другие технологии для достижения требуемого уровня конфиденциальности.
Алексей Зайончковский (zedcenter@gmail.com) — инструктор академии БМС-Консалтинг; директор учебного центра Z-Center при факультете информатики Киевского политехнического института. Имеет сертификат CCNA