`

СПЕЦІАЛЬНІ
ПАРТНЕРИ
ПРОЕКТУ

Чи використовує ваша компанія ChatGPT в роботі?

BEST CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Мы вас слушаем!, или Безопасность в беспроводных сетях

0 
 

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

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

Первые попытки стандартизировать радиотехнологию передачи данных в локальных сетях успешно закончились лишь в 1997 г., когда был принят стандарт IEEE 802.11. Поскольку разработка спецификации значительно затянулась по времени, в ней не были регламентированы многие важные моменты. Скорости передачи данных оставляли желать лучшего -- до 2 Mbps против 100 Mbps в проводных ЛВС. Кроме того, стоили устройства довольно дорого. Массовое распространение технология получила два года спустя, когда в 1999 г. приняли стандарты IEEE 802.11b и IEEE 802.11a, поднявшие скорость передачи данных до 11 и до 54 Mbps соответственно.


Первая попытка -- WEP

В том же, 1997 г., когда базовый стандарт 802.11 ратифицировали, в IEEE был одобрен механизм Wired Equivalent Privacy (WEP), который использует шифрование в качестве средства обеспечения безопасности в беспроводных сетях. WEP работает на втором уровне модели OSI и применяет для шифрования 40-битный ключ, что явно недостаточно. Еще в октябре 2000 г. был опубликован документ IEEE 802.11-00/362 под названием "Unsafe at any key size; An analysis of the WEP encapsulation", созданный Джесси Уолкером (Jesse R. Walker), где описываются проблемы алгоритма WEP и атаки, которые могут быть организованы с использованием его уязвимостей. Данная проблема получила развитие в двух работах, опубликованных с интервалом в месяц: "Intercepting Mobile Communications: The Insecurity of 802.11" от сотрудников университета Беркли, представленной на 7-й ежегодной конференции по мобильной вычислительной технике и сетям в июле 2001 г., и "Weaknesses in the Key Scheduling Algorithm of RC4" (совместно подготовлена специалистами Cisco Systems и факультета вычислительной техники израильского института Weizmann), вышедшей в свет в августе 2001 г. В этом же году появилась и первая утилита, разработанная Адамом Стаблфилдом (Adam Stubblefield), в которой на практике были реализованы теоретические выкладки вышеприведенных авторов и которая взламывала WEP-шифр в течение нескольких часов. На сегодняшний день существуют утилиты, позволяющие взломать WEP за 5--30 с.

Проблемы алгоритма WEP носят комплексный характер и кроются в целой серии слабых мест: механизме обмена ключами (а точнее, практически полном его отсутствии); малых разрядностях ключа и вектора инициализации (Initialization Vector -- IV); механизме проверки целостности передаваемых данных; способе аутентификации и алгоритме шифрования RC4.

Процесс шифрования WEP выполняется в два этапа. Вначале подсчитывается контрольная сумма (Integrity Checksum Value -- ICV) с применением алгоритма Cyclic Redundancy Check (CRC-32), добавляемая в конец незашифрованного сообщения и служащая для проверки его целостности принимаемой стороной. На втором этапе осуществляется непосредственно шифрование. Ключ для WEP-шифрования -- общий секретный ключ, который должны знать устройства на обеих сторонах беспроводного канала передачи данных. Этот секретный 40-битный ключ вместе со случайным 24-битным IV является входной последовательностью для генератора псевдослучайных чисел, базирующегося на шифре Вернама для генерации строки случайных символов, называемой ключевым потоком (key stream). Данная операция выполняется с целью избежания методов взлома, основанных на статистических свойствах открытого текста.

Мы вас слушаем!, или Безопасность в беспроводных сетях
Рис. 1. Схема работы шифрования по протоколу WEP
IV используется, чтобы обеспечить для каждого сообщения свой уникальный ключевой поток. Зашифрованное сообщение (рис. 1) образуется в результате выполнения операции XOR над незашифрованным сообщением с ICV и ключевым потоком. Чтобы получатель мог прочитать его, в передаваемый пакет в открытом виде добавляется IV. Когда информация принимается на другой стороне, производится обратный процесс (p=c⊕b).

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

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

c1=p1⊕b; c2=p2⊕b;
c1⊕c2=(p1⊕b)⊕(p2⊕b)=p1⊕p2

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

После несложного анализа можно легко рассчитать, когда повторится b. Так как ключ K постоянный, а количество вариантов IV составляет 224=16 777 216, то при достаточной загрузке точки доступа, среднем размере пакета в беспроводной сети, равном 1500 байт (12 000 бит), и средней скорости передачи данных, например 5 Mbps (при максимальной 11 Mbps), мы получим, что точкой доступа будет передаваться 416 сообщений в секунду, или же 1 497 600 сообщений в час, т. е. повторение произойдет через 11 ч 12 мин (224/1 497 600=11,2 ч).

Данная проблема носит название "коллизия векторов". Существует большое количество способов, позволяющих ускорить этот процесс. Кроме того, могут применяться атаки "с известным простым текстом", когда одному из пользователей сети посылается сообщение с заранее известным содержанием и прослушивается зашифрованный трафик. В этом случае, имея три составляющие из четырех (незашифрованный текст, вектор инициализации и зашифрованный текст), можно вычислить ключ. В упоминавшейся выше работе "Intercepting Mobile Communications: The Insecurity of 802.11" было описано множество типов атак, включая довольно сложные, использующие манипуляции с сообщениями и их подмену, основанные на ненадежном методе проверки целостности сообщений (CRC-32) и аутентификации клиентов.

С ICV, используемым в WEP-алгоритме, дела обстоят аналогично. Значение CRC-32 подсчитывается на основе поля данных сообщения. Это хороший метод для определения ошибок, возникающих при передаче информации, но он не обеспечивает целостность данных, т. е. не гарантирует, что они не были подменены в процессе передачи. Контрольная сумма CRC-32 имеет линейное свойство: CRC(A XOR B)=CRC(A)XOR CRC(B), предоставляющее нарушителю возможность легко модифицировать зашифрованный пакет без знания WEP-ключа и пересчитать для него новое значение ICV.

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


WPA: больше безопасности

Мы вас слушаем!, или Безопасность в беспроводных сетях
Рис. 2. Схема аутентификации пользователя в соответствии со стандартом 801.1x
Осознание проблем протокола WEP пришло не вчера, и еще в мае 2001 г. группа IEEE Task Group I (TGi) начала работу над новым проектом IEEE 802.11i (MAC Enhancements for Enhanced Security), призванным обеспечить достаточную безопасность в беспроводных сетях. В ноябре 2003 г. состоялось последнее заседание группы, на котором была одобрена 7-я версия предварительного стандарта.

Основные производители Wi-Fi-оборудования в лице организации WECA (Wireless Ethernet Compatibility Alliance), иначе именуемой Wi-Fi Alliance, устав ждать ратификацию стандарта IEEE 802.11i, совместно с IEEE в ноябре 2002 г. анонсировали спецификацию Wi-Fi Protected Access (WPA). WPA базируется на компонентах ожидаемого стандарта IEEE 802.11i, которые к настоящему времени уже стабильны и не подвергаются переработке, а также могут быть развернуты в существующих сетях 802.11 без внесения аппаратных изменений в устройства. В WPA включены следующие компоненты IEEE 802.11i: протоколы IEEE 802.1x и TKIP (Temporal Key Integrity Protocol).

Протокол IEEE 802.1x, являющийся стандартом с августа 2001 г., обеспечивает контроль доступа на уровне портов. Основная его идея заключается в том, что разблокирование сетевого порта и обеспечение доступа клиента к сети происходит только после успешной аутентификации, которая выполняется на втором уровне модели OSI. 802.1х может использоваться совместно с протоколами более высоких уровней для генерации и управления ключами шифрования.

802.1x использует протокол EAP (Extensible Authentication Protocol), изначально разрабатывавшийся для работы поверх PPP (Point-to-Point Protocol) для передачи сообщений между тремя участниками аутентификации в ЛВС-окружении. Этот вид инкапсуляции известен как EAP over LANs, или EAPOL. EAP нельзя назвать методом аутентификации. Он определяет основную протокольную структуру для выбора специфического метода аутентификации. При использовании EAP аутентификатору не требуется "понимать" детали различных методов аутентификации. В данном случае он выступает только как промежуточное звено, которое переупаковывает EAP-пакеты при их следовании между саппликантом (supplicant -- объект на конце сегмента "точка--точка", которому необходима аутентификация: это может быть клиентское ПО на компьютере, PDA или другом беспроводном устройстве) и сервером аутентификации. Такая технология предоставляет разработчикам возможность выбора между разными видами аутентификации, что является несомненным преимуществом. Хотя протоколом EAP на сегодняшний день предусмотрено уже более десяти различных методов аутентификации, наиболее широкое распространение получили четыре:
  • Message Digest 5 (MD5) -- процедура односторонней аутентификации саппликанта сервером аутентификации, основанная на применении хэш-суммы MD5 имени пользователя и пароля как подтверждение для сервера RADIUS. Данный метод не поддерживает ни управления ключами, ни создания динамических ключей. Тем самым исключается его применение в стандарте 802.11i и WPA.
  • Transport Layer Security (TLS) -- процедура аутентификации, которая предполагает использование цифровых сертификатов Х.509 в рамках инфраструктуры открытых ключей (Public Key Infrastructure -- PKI). EAP-TLS поддерживает динамическое создание ключей и взаимную аутентификацию между саппликантом и сервером аутентификации. Недостатком данного метода является необходимость поддержки инфраструктуры открытых ключей.
  • Tunneled TLS (TTLS) -- EAP, разработанный компаниями Funk Software и Certicom и расширяющий возможности EAP-TLS. EAP-TTLS использует безопасное соединение, установленное в результате TLS-квитирования для обмена дополнительной информацией между саппликантом и сервером аутентификации. В результате дальнейший процесс может производиться с помощью других протоколов аутентификации, например таких, как: PAP, CHAP, MS-CHAP или MS-CHAP-V2. В связи с простотой применения и довольно высоким уровнем обеспечиваемой безопасности протокол EAP-TTLS, скорее всего, получит наибольшее распространение в Wi-Fi-сетях. В феврале 2002 г. EAP-TTLS был подан в качестве чернового стандарта на рассмотрение в IETF.
IEEE 802.11x определяет три основных компонента в сетевом окружении:
  • Саппликант.
  • Сервер аутентификации (authentication server) -- объект, обеспечивающий службы аутентификации. В стандарте четко не определено, что должно выступать в качестве сервера аутентификации, но, как правило, им является сервер RADIUS (Remote Access Dial In User Service).
  • Аутентификатор (authenticator) -- объект на конце сегмента "точка--точка" локальной вычислительной сети, который способствует аутентификации объектов. Другими словами -- это устройство-посредник, располагаемое между сервером аутентификации и саппликантом. Обычно его роль выполняет беспроводная точка доступа.
Аутентификация в 802.1x включает несколько шагов. Конкретная схема обмена EAP-кадрами зависит от выбранного способа аутентификации. В одном из простейших вариантов (OTP -- One Time Password) данный процесс выглядит следующим образом (рис. 2):
  1. Саппликант инициирует соединение с аутентификатором (как правило, в соответствии со стандартом это может делать и аутентификатор).
  2. Аутентификатор требует идентификационную информацию о саппликанте.
  3. Саппликант отсылает идентификационную информацию аутентификатору, который отправляет ее серверу аутентификации.
  4. Сервер аутентификации запрашивает у аутентификатора информацию, подтверждающую подлинность саппликанта. Аутентификатор пересылает запрос саппликанту.
  5. Саппликант передает информацию, подтверждающую его подлинность, аутентификатору. Аутентификатор отправляет ее серверу аутентификации.
  6. Сервер аутентификации проверяет информацию о подлинности саппликанта и в случае успешной аутентификации посылает специальное сообщение аутентификатору, который открывает порт для доступа саппликанту и отправляет ему сообщение о завершении процесса аутентификации.
Temporal Key Integrity Protocol (TKIP) -- второй протокол, предусмотренный спецификацией WPA. TKIP предназначен для решения основных проблем WEP в области шифрования данных. Для совместимости с существующим аппаратным обеспечением TKIP использует тот же алгоритм шифрования, что и WEP -- RC4. TKIP подразумевает несколько способов повышения защищенности беспроводных сетей: динамические ключи, измененный метод генерации ключей, более надежный механизм проверки целостности сообщений, увеличенный по длине вектор инициализации, нумерация пакетов.

В отличие от WEP, где для контроля целостности передаваемых данных использовалась CRC-32, TKIP применяет так называемый Message Integrity Code (MIC), обеспечивающий криптографическую контрольную сумму от нескольких полей (адрес источника, адрес назначения и поля данных). Так как классические MIC-алгоритмы (например, HMAC-MD5 или HMAC-SHA1) для существующего беспроводного оборудования являлись очень "тяжелыми" и требовали больших вычислительных затрат, то специально для использования в беспроводных сетях Нильсом Фергюсоном (Niels Ferguson) был разработан алгоритм Michael. Для шифрования он применяет 64-битный ключ и выполняет действия над 32-битными блоками данных. MIC включается в зашифрованную часть фрейма между полем данных и полем ICV.

Мы вас слушаем!, или Безопасность в беспроводных сетях
Рис. 3. Структура пакета при использовании протокола TKIP
Для обеспечения целостности данных в протоколе TKIP, помимо механизма MIC, предусмотрена еще одна функция, отсутствовавшая в WEP, -- нумерация пакетов. В качестве номера используется IV, который теперь называется TKIP Sequence Counter (TSC) и имеет длину 48 бит, в отличие от 24 бит в WEP (рис. 3). Увеличение длины IV до 48 бит позволяет избежать коллизии векторов и гарантирует, что они не повторятся на протяжении более тысячи лет.

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

При аутентификации с помощью протокола IEEE 802.1x на основе заранее предопределенной информации, известной саппликанту и серверу аутентификации (например, сертификат, имя пользователя, пароль и т. д. -- зависит от способа аутентификации), генерируется мастер-ключ (Master Key -- MK), посредством которого они производят взаимную аутентификацию. Далее на основании МК саппликант и сервер аутентификации генерируют парный МК (Pairwise Master Key -- PMK), а затем сервер аутентификации передает (не копирует) его аутентификатору. Получение аутентификатором PMK является последним этапом в процессе EAP-аутентификации, после чего сервер аутентификации посылает аутентификатору пакет "ответ/принято" (RADIUS/Accept), а аутентификатор саппликанту -- "успешно" (EAP/Success). PMK не используется для операции непосредственного шифрования и дешифрования данных, он применяется для генерации целой группы ключей.

После получения саппликантом и аутентификатором PMK они производят взаимную аутентификацию и генерацию парного временного ключа (Pairwise Transient Key -- PTK). Генерация PTK происходит в четыре этапа:
  1. В первом сообщении аутентификатор посылает саппликанту случайные данные, называемые nonce. Саппликант объединяет nonce аутентификатора (Anonce) со своим собственным (Snonce) и применяет эти данные для генерации PTK. Далее саппликант подсчитывает значение Message Integrity Check (MIC) от тела второго сообщения и первых 128 бит ключа PTK.
  2. Во втором сообщении саппликант посылает Snonce и MIC аутентификатору, который также генерирует PTK и затем использует его для проверки значения MIC, полученного во втором сообщении.
  3. Если ошибок не обнаружено, аутентификатор отправляет саппликанту сообщение о применении PTK.
  4. В четвертом сообщении саппликант подтверждает аутентификатору использование данного ключа.
PTK является составным. Биты с 0 по 127 представляют собой ключ подтверждения ключа (Key Confirmation Key -- KCK), применяемого для шифрования нового сессионного ключа (PMK) при его следующей смене. Биты со 128 по 255 отводятся для ключа шифрования ключа (Key Encryption Key -- KEK), который используется для распространения группового временного ключа (Group Transient Key -- GTK). Биты с 256-го и выше могут иметь специфическую структуру, зависящую от метода шифрования, и представляют собой временный ключ (Temporal Key -- TK), применяемый для шифрования данных.

GTK -- это ключ, используемый для шифрования группового (multicast) и широковещательного (broadcast) трафика. Он генерируется из группового МК (Group Master Key -- GMK), который, в свою очередь, является производным MK. Распространение GTK происходит в два этапа, в отличие от четырех в случае с PTK, так как его доставка выполняется через безопасное соединение после того, как переданы все парные ключи, и аутентификация в данном случае не требуется. При отключении одного из клиентов от сети осуществляются генерация нового ключа GTK и его распространение оставшимся клиентам.

Мы вас слушаем!, или Безопасность в беспроводных сетях
Рис. 4. Процесс формирования пакетного ключа
TK также может быть составным, и его часть или он полностью вместе с MAC-адресом источника (Transmitter Address -- TA) и вектором инициализации (IV) являются входными данными для двухфазовой функции микширования, генерирующей пакетные ключи (Per-packet Key -- PK) длиной 128 бит (рис. 4). Введение в функцию микширования такого параметра, как TA, позволяет избежать атак с использованием подставных объектов.

Для домашнего применения и небольших офисов, где, как правило, отсутствует сервер аутентификации, спецификация WPA предусматривает режим использования общего ключа (Pre-Shared Key -- PSK). В этом случае PMK вводится вручную на саппликанте и аутентификаторе. В остальном процедура генерации ключей прежняя.


Заключение

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

В ближайшее время нас ожидает неоднократно откладываемая ратификация стандарта IEEE 802.11i, иначе называемого WPA2, который предусматривает новые, более надежные механизмы обеспечения целостности и конфиденциальности данных:
  • Протокол CCMP (Counter-Mode-CBC-MAC Protocol), основанный на режиме Counter Cipher-Block Chaining Mode (CCM) алгоритма шифрования Advanced Encryption Standard (AES). CCM объединяет два механизма: Counter (CTR) для обеспечения конфиденциальности и Cipher Block Chaining Message Authentication Code (CBC-MAC) для аутентификации.
  • Протокол WRAP (Wireless Robust Authentication Protocol), основанный на режиме Offset Codebook (OCB) алгоритма шифрования AES.
  • Протокол TKIP для обеспечения обратной совместимости с ранее выпускавшимся оборудованием.
  • Взаимная аутентификация и доставка ключей на основе протоколов IEEE 802.1x/EAP.
  • Безопасный Independent Basic Service Set (IBSS) для повышения безопасности в сетях Ad-Hoc.
  • Поддержка роуминга.
Ожидается, что протокол CCMP будет обязательным для реализации, а WRAP и TKIP -- опциональными.

Использование механизмов шифрования и аутентификации, определенных в стандарте IEEE 802.11i, потребует от устройств более высокой вычислительной мощности и применения специализированных микросхем, которые будут решать возлагаемые на них задачи. Поэтому, скорее всего, после ратификации стандарта появятся принципиально новые устройства.

Кроме описанных выше способов обеспечения безопасности в беспроводных сетях, существуют и другие -- например, контроль доступа на основе MAC-адресов и отключение режима широковещательной рассылки параметра Service Set Identifier (SSID). К сожалению, их нельзя считать относительно надежными средствами обеспечения безопасности, поскольку с помощью простейших сетевых анализаторов можно отследить MAC-адреса устройств сети и значение SSID, которое передается в открытом виде в каждом пакете, а драйверы практически всех сетевых адаптеров позволяют изменить их MAC-адрес.

Рассмотренные выше способы обеспечения безопасности беспроводных сетей предусмотрены стандартами или спецификациями, относящимися к беспроводным сетям и являющимися частью функциональных возможностей данного оборудования. Но для создания необходимого уровня безопасности могут применяться и другие классические способы, в частности построение VPN-туннеля поверх беспроводной сети с помощью хорошо себя зарекомендовавших протоколов более высоких уровней -- например IPSec. Кроме этого, беспроводной сегмент или сеть можно выделить как отдельную зону с низким уровнем доверия на межсетевом экране (firewall) и настроить правила ограничения и контроля трафика между этой зоной и остальной сетью предприятия. Также возможно ввести дополнительную аутентификацию пользователей на каком-либо пограничном ресурсе, устанавливаемом между беспроводной и корпоративной сетями.

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

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

Ready, set, buy! Посібник для початківців - як придбати Copilot для Microsoft 365

0 
 

Напечатать Отправить другу

Читайте также

 

Ukraine

 

  •  Home  •  Ринок  •  IТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Мережі  •  Безпека  •  Наука  •  IoT