Широко распространенный стандарт беспроводной связи - открытая дверь для взломщиков

Благодаря технологии беспроводной связи мы можем безопасно пересылать конфиденциальную информацию через открытые, совместно используемые радиоканалы. В подготовленном организацией IEEE стандарте беспроводных сетей 802.11 имеется встроенный механизм защиты, который обеспечивает конфиденциальность, контроль доступа и целостность данных, передаваемых по радиоволнам. Но действительно ли эта технология столь надежна? Недавно полученные данные свидетельствуют о том, что у механизма защиты стандарта 802.11 есть очевидные недостатки, и взломщики с помощью простых приемов могут получить доступ к конфиденциальной информации. Эти открытия подрывают доверие как к IEEE, так и к многочисленным поставщикам беспроводных продуктов на основе стандарта 802.11. Чтобы разобраться в изъянах 802.11, необходимо внимательно изучить внутреннее устройство протокола конфиденциальности Wired Equivalent Privacy (WEP) и используемого в нем алгоритма шифрования RC4.

WEP под ударом

Беспроводная связь используется уже многие годы, но лишь недавно эта технология получила широкое распространение. Многочисленные портативные устройства (PDA, сотовые телефоны, портативные ПК) обеспечивают мобильным пользователям доступ к электронной почте, узлам Internet, открытым службам банков и бирж.

В беспроводных устройствах связи используются наборы протоколов и языки программирования, отличные от применяемых в компьютерах и серверах, подключенных к проводным локальным сетям. Иной набор протоколов необходим из-за ограниченности ресурсов беспроводных устройств (в частности, вычислительной мощности процессора, емкости памяти и устройств хранения данных), ограниченного времени работы от батарей и характеристик дисплея. Для повышения надежности беспроводных соединений до уровня проводных линий в стандарте 802.11 реализован протокол WEP, в котором используются циклический избыточный код (CRC) для проверки целостности данных и алгоритм потокового шифрования и восстановления данных RC4. Разработчики WEP утверждают, что протокол работает только с зашифрованными сообщениями, предотвращает попытки перехвата данных и контролирует доступ к целевому компьютеру.

Группа исследователей из Калифорнийского университета в Беркли опровергает эти утверждения. Ученые продемонстрировали, что любое беспроводное соединение WEP уязвимо для некоторых видов атак (подробный анализ результатов, полученных группой, приведен по адресу: http://www.isaac.cs.berkeley.edu/ isaac/ wep-faq.html). Они использовали пассивный метод прослушивания для перехвата и расшифровки трафика, перенаправления IP-трафика из беспроводного соединения на компьютеры взломщика, применяли словарный метод для дешифровки трафика в реальном времени и производили активные атаки, вставляя новый трафик из неавторизованных беспроводных устройств. Исследователи располагали только портативным компьютером, беспроводной интерфейсной платой Ethernet и драйвером сетевой платы. Они изменили драйвер и смогли расшифровать и прочитать данные, передаваемые из беспроводного устройства на базовую станцию.

CRC и целостность данных

Когда пользователь пересылает информацию из беспроводного устройства, поддерживающего стандарт 802.11, на целевой компьютер, сообщение обрабатывается алгоритмом CRC, который обнаруживает ошибки и вычисляет контрольную сумму перед шифрованием. Тот же алгоритм обрабатывает расшифрованное сообщение на целевом компьютере и получает контрольную сумму. Если значения контрольной суммы на обоих концах соединения одинаковы, целевой компьютер предполагает, что сообщение не подвергалось изменениям в процессе пересылки, и принимает его. CRC-процедура предназначена для проверки целостности данных.

Если взломщик сможет нарушить функционирование механизма CRC (изменив некоторые разряды в сообщении), то ему удастся изменить исходное текстовое сообщение, и принимающий компьютер не обнаружит подмены. Группа из Беркли продемонстрировала, что можно успешно изменить текстовое сообщение и значения CRC - значит, взломщик может изменить сообщение в процессе пересылки, и получатель ничего об этом не узнает.

Данное открытие имеет два следствия. Во-первых, злоумышленник, перехвативший пакет в эфире, может изменить пересылаемые данные, и принимающий компьютер не обнаружит подмены до тех пор, пока ему не будет нанесен вред, от которого его должны были защитить механизмы шифрования и CRC. Например, взломщик может изменить в пакете команду

cd

на команду

echo y | format C: /s

в результате чего будет отформатирован диск C. Во-вторых, взломщик может перенаправить трафик. Если он перехватит данные во время передачи и изменит IP-адрес отправителя, то любые ответы на запрос этого пакета будут направлены взломщику, а не законному адресату.

Шифрование RC4

После того как сообщение, отправляемое беспроводным устройством, будет обработано механизмом CRC с целью обеспечения целостности данных, его необходимо зашифровать для пересылки на базовую станцию (узел доступа к сети) или другое беспроводное устройство. В Internet и индивидуальных локальных сетях используются различные алгоритмы и схемы шифрования. В качестве алгоритма шифрования WEP применяется потоковый шифратор RC4. Хотя математический аппарат каждого алгоритма уникален, а схема шифрования зависит от различных элемен-тов - вектора инициализации (IV), контрольного значения целостности (ICV), ключа, ключевого потока - базовые функции алгоритмов одинаковы: защитить передаваемую конфиденциальную информацию. Во всех алгоритмах потокового шифрования для преобразования текстового сообщения в неподдающуюся дешифровке форму, именуемую шифротекстом, используется ключевой поток.

Большинство алгоритмов общедоступно. Поэтому необходимо максимально усложнить ключевой поток. К сожалению, в стандарте 802.11 не оговорены шаги, которые следует предпринять, чтобы обеспечить ввод случайных элементов (ключа и IV), усложняющих ключевой поток. Поэтому поставщики обычно реализуют методы с избыточными ключами и значениями IV, что снижает сложность ключевого потока.

Ключевой поток алгоритма шифрования RC4 - длинная последовательность псевдослучайных байтов, которые используются для выполнения логической операции исключающего ИЛИ (XOR) над символами текстового сообщения. В результате получается шифротекст. Если взломщик располагает ключевым потоком, с помощью которого было зашифровано сообщение, то для восстановления текстового сообщения достаточно выполнить обратную логическую операцию.

Для генерации ключевого потока в потоковом шифраторе RC4 используется два компонента: секретный ключ и вектор инициализации (IV) открытого текста. Каждый пользователь в организации может иметь уникальный секретный ключ, или же всем пользователям можно присвоить общий ключ. В стандарте 802.11 не указан метод, с помощью которого можно было бы предоставить каждому пользователю свой ключ, поэтому во многих организациях все пользователи работают с одним ключом. Вектор IV - случайное общедоступное число длиной не более 24 разрядов. Если в организации используется один секретный ключ, необходимо задействовать все возможные значения IV; в противном случае ключевой поток будет избыточным и менее устойчивым к попыткам взлома. Уникальность каждого ключевого потока обеспечивается случайной природой вектора IV. Но в стандарте 802.11 для значения IV отведено всего 24 разряда (224 возможных варианта), и все уникальные значения будут исчерпаны быстрее, чем за один день. В результате значения ключа IV и ключевые потоки придется использовать повторно.

Чтобы расшифровать любое сообщение, передаваемое между устройствами, взломщику достаточно найти ключевые потоки в сети. Обладателю информации следует максимально расширить диапазон значений IV, чтобы ключевые потоки были недоступными и непредсказуемыми. Чем больше значений вектора IV предоставлено беспроводному устройству для вычисления ключевых потоков, тем больше ключевых потоков придется обнаружить и записать взломщику. Но в стандарте 802.11 проблема усугубляется, так как не указано, что вектор инициализации должен принимать все 224 возможных значения. В результате большинство поставщиков используют лишь малую часть значений IV. Итак, 224 возможных значения IV недостаточно, но в большинстве продуктов предусмотрено еще меньше вариантов.

Вычисление ключевого потока

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

Итак, схема шифрования имеет следующий вид:

Сообщение + CRC = Открытый текст1
IV + Секретный ключ = Ключевой поток
Открытый текст1 XOR Ключевой поток = Шифротекст1

Я хочу исследовать слабое звено этого уравнения - вычисление ключевого потока.

В WEP не задан метод вычисления IV для каждого пакета и не требуется, чтобы все пакеты имели разные значения IV. Из-за этих ограничений многие поставщики реализовали примитивные и предсказуемые алгоритмы вычисления IV, что резко снижает число уникальных ключевых потоков в сети. Если устройство устанавливает значение IV равным 0 при каждой перезагрузке и увеличивает его на единицу при каждой инициализации сетевой платы, то диапазон IV может быть ограничен значениями от 0 до 4. Согласно правилам двоичной математики, 25 возможных вариантов дает всего лишь 32 возможных значения IV. Очевидно, этого недостаточно, чтобы обеспечить сложность, необходимую для эффективного механизма безопасности. Одно беспроводное устройство может ежедневно генерировать тысячи пакетов. Если умножить эти тысячи на число беспроводных устройств в сети, то можно узнать примерное число пакетов - каждый с соответствующим значением IV, - ежедневно передаваемых по сети.

Протокол WEP передает значение IV открытым текстом наряду с шифротекстом. Поэтому, чтобы получить значения IV, используемые в сети, взломщику нужно лишь пассивно просматривать беспроводной сетевой трафик. Если взломщик обнаруживает два пакета с одинаковым значением IV, то достаточно выполнить логическую операцию XOR над этими двумя сообщениями (для операции XOR необходимо два набора данных). Затем взломщик может получить два значения XOR открытых текстовых сообщений. Поскольку IP-трафик часто предсказуем и обладает значительной избыточностью, взломщик может воспользоваться этими значениями XOR, чтобы провести статистический анализ и, в конце концов, восстановить открытые текстовые сообщения.

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

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

Секретный ключ

Как отмечалось ранее, в большинстве практических систем беспроводной связи используется один ключ для всей сети. Этот ключ хранится в каждом компьютере и устройстве. Если взломщик получит секретный ключ для одного устройства, он будет обладать ключом для всех устройств в сети. Но если бы в каждом устройстве хранился уникальный частный ключ, неизвестный другим пользователям сети, то взломщику было бы гораздо труднее вычислить ключевой поток.

Многие администраторы применяют в сети только один ключ и изредка, а то и никогда - меняют его.
Смена секретных ключей на каждом сетевом устройстве - настоящий кошмар для администраторов локальной сети. Поэтому многие администраторы используют только один ключ для всей сети и меняют его редко или не меняют вообще. В стандарте 802.11 не предусмотрено метода для обмена ключей и не требуется, чтобы каждое устройство имело уникальный ключ. Из приведенного выше уравнения

IV + Секретный ключ = Ключевой поток

видно, что значение IV - лишь один из компонентов, необходимых для вычисления ключевого потока. Чтобы генерировать ключевой поток, алгоритм RC4 производит над значением IV математические операции с секретным ключом. Поскольку значе-ние IV получить легко, и в каждом устройстве используется один и тот же секретный ключ, взломщику нетрудно раскрыть метод вычисления ключевого потока.

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

Что делать?

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

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

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

Повысить сложность ключевого потока можно, выбрав ключ длиной более 40 разрядов. Беспроводные решения должны генерировать различные значения вектора IV для каждого пакета, а последовательность векторов инициализации должна быть непредсказуемой. Такие методы резко снижают предсказуемость ключевого потока и затрудняют задачу взломщика.

Если компания уже располагает беспроводной сетью, то для дополнительной защиты инфраструктуры можно сделать следующее:

  • разделить беспроводную и проводную сети брандмауэром;
  • использовать динамическую структуру ключа;
  • разместить между беспроводным устройством и сервером аутентификации механизм взаимной аутентификации;
  • организовать доступ беспроводных устройств к сети через VPN, чтобы обеспечить необходимую защиту канального уровня;
  • разделить intranet на зоны (с помощью брандмауэров, серверов контроля доступа и фильтрации пакетов), чтобы разъединить проводной и беспроводный трафик. На Рисунке 1 представлен пример сети, разделенной на зоны.
Рисунок 1. Разделение intranet на зоны.

Болезнь роста

Проблемы безопасности стандарта 802.11 выглядят как препятствие на пути развития беспроводной связи, но на самом деле они представляют собой часть сложного эволюционного процесса вычислительных технологий. Другим архитектурам, протоколам, программам и механизмам безопасности были свойственны похожие проблемы. Недостатки обнаруживаются, публикуются статьи, разработчики возвращаются к своим проектам, проводится дополнительное тестирование, и обычно обнаруженные изъяны устраняются в новых версиях продуктов. Такие этапы развития типичны для большинства новых технологий.

К сожалению, многим компаниям, уже внедрившим беспроводные сети, предстоит проделать большую работу. Им придется устанавливать заплаты, инсталлировать VPN, менять политики брандмауэров и расстаться с ощущением безопасности. Они будут вынуждены вновь вернуться к вопросам защиты частной и конфиденциальной информации и, возможно, применить альтернативные механизмы защиты. Несомненно, в следующей версии беспроводного стандарта будет сделана попытка устранить пробелы в системе безопасности. Возможно, спецификация 802.1x будет представлена на всеобщее рассмотрение, и комитет IEEE сможет исправить ошибки до принятия стандарта. Более подробно о том, как авторы стандарта 802.1x намерены устранить недостатки 802.11, рассказывается во врезке «802.1x - решение проблемы?».

Шон Харрис - консультант по проблемам безопасности, независимый автор и инструктор. Имеет сертификаты MCSE и CISSP. С ней можно связаться по адресу: shonharris@sprintmail.com.


802.1x - решение проблемы?

Чтобы устранить свойственные стандарту 802.11 недостатки, комитет IEEE разработал стандарт 802.1x, в котором предусмотрены более мощные и гибкие меры защиты, нежели механизмы аутентификации и шифрования 802.11. Текущая реализация протокола конфиденциальности Wired (WEP Equivalent Privacy) не отвечает требованиям к безопасности большинства крупных и многих средних и малых предприятий, уязвимых для взломщиков, которые могут перехватывать данные, передаваемые беспроводным путем.

Стандарт 802.1x обеспечивает более надежную защиту беспроводных сетей благодаря пяти основным преимуществам.

  1. Стандартом 802.1x предусмотрено шифрование данных с использованием алгоритма RC4 со 128-разрядными ключами (вместо 40-разрядных). Более длинный ключ затрудняет пассивный перехват данных и другие виды атак. Кроме того, система позволяет управлять и менять ключи шифрования WEP в начале каждого сеанса. Сменяемые ключи труднее подделать, так как взломщики не могут собрать достаточно данных, чтобы воспроизвести ключевой поток.
  2. В стандарт 802.1x вошли такие проверенные протоколы, как Extensible Authentication Protocol (EAP), Remote Authentication Dial-In User Service (RADIUS) и Transport Layer Security (TLS). Беспроводные клиенты EAP могут использовать единую процедуру регистрации в сети (single sign-on, SSO) для аутентификации на серверах RADIUS (сети на базе RADIUS удобны для интеграции). TLS обеспечивает взаимную аутентификацию, целостность данных, согласование алгоритма шифрования, обмен ключами между двумя конечными точками.
  3. 802.1x блокирует любую сетевую активность до тех пор, пока пользователь не будет успешно идентифицирован. Один из недостатков стандарта 802.11 заключается в том, что система уязвима в течение короткого промежутка времени, отводимого на аутентификацию пользователя.
  4. С появлением стандарта 802.1x исчезнет необходимость использовать беспроводную клиентскую аппаратуру от одного поставщика. Более того, пользователям беспроводных устройств не придется хранить WEP-ключ в картах WLAN (беспроводная локальная сеть), и предприятия смогут использовать беспроводные службы Windows для поддержки интерфейсных плат различных стандартов.
  5. В стандарте 802.1x нет фундаментальных изменений по сравнению со стандартом беспроводных сетей 802.11. Поэтому компании, уже развернувшие беспроводную сеть, смогут плавно перейти к новой технологии.

Во время подготовки данной статьи многие компании - в том числе и Microsoft - работали над реализацией стандарта 802.1x в корпоративных беспроводных сетях или уже внедрили его. В настоящее время только Windows XP поддерживает 802.1x. Текущая бета-версия Windows .Net Server (прежнее название Whistler) несовместима с 802.1x, но этот недостаток будет устранен в конечном продукте, выпуск которого запланирован на 2002 г. Windows 2000 несовместима с 802.1x, но в будущем появится соответствующий пакет исправлений или модуль оперативной коррекции. Несомненно, Microsoft обеспечит совместимость с 802.1x карманных и ручных компьютеров (H/PC).

- Тим Хакэби

Тим Хакэби - президент фирмы InterKnowlogy, специализирующейся на проектировании программного обеспечения и сетей; работал в Microsoft в составе группы Site Server 3.0. Является соавтором нескольких книг, в том числе «Professional Commerce Server 2000» (издательство Wrox). С ним можно связаться по адресу: timhuck@interknowlogy.com.

Поделитесь материалом с коллегами и друзьями