В прошлом году была найдена критическая уязвимость в WPA2 — протоколе безопасности, который использует примерно каждая первая точка доступа Wi-Fi. Взволновало это немногих — а зря! В сегодняшней статье я расскажу о новом протоколе WPA3, где атака KRACK больше не сработает, а заодно посмотрим и на другие существующие стандарты.
Еще по теме: Безопасность роутеров MikroTik
WPA, WPA2, WPA3
Прежде чем говорить о том, что нового в WPA3, нам придется вкратце пройтись по предыдущим протоколам, начиная с WEP. Вы, возможно, спросите, зачем рассказ об экскаваторах начинать с палки-копалки. Но все существующие протоколы безопасности WiFi (а их уже четыре) — это в той или иной степени надстройки над своими предшественниками. К тому же WEP до сих пор кое-где используется, и вспомнить о его существовании никому не помешает.
Безопасность WEP
Безопасность WEP обеспечивается, можно сказать теми же методами, что и защита в проводных сетях. Это и стало гвоздем в крышку его гроба. Если бы хакер хотел перехватить трафик Ethernet на физическом уровне, то ему пришлось бы проникнуть в квартиру или офис жертвы и залезть под стол. В случае с WiFi с WEP нужно всего лишь находиться в зоне приема сигнала.
Вы спросите: «а как же шифрование?» — и будете правы. Для шифрования трафика WEP используется ключевой поток, который получается из смешивания пароля и вектора инициализации (IV).
Вектор инициализации в WEP — это постоянно меняющееся 24-битное число. Может сложиться впечатление, что из-за постоянного изменения ключевого потока подобрать пароль становится невозможно.
Так думали и разработчики WEP, но этот метод шифрования в совокупности с возможностью перехватывать пакеты оказался ахиллесовой пятой WEP. С ростом вычислительных мощностей персональных компьютеров длина вектора инициализации стала недостаточной. Если долго собирать фреймы, то можно получить такие, для которых вектор инициализации будет одинаковым.
Таким образом, независимо от сложности ключа раскрыть любую передачу стало возможно после статистического анализа достаточного количества перехваченных пакетов (несколько десятков тысяч, что довольно мало для активно использующейся сети). Постепенно время взлома WEP свелось к минутам.
Безопасность WPA
Для решения проблемы альянс Wi-Fi предложил надстройку над WEP, которая позволяла устранить уязвимость без замены оборудования. Первой идеей была смена ключей. Что, если менять ключ до того, как база будет достаточной для атаки?
Были собраны все существовавшие на тот момент разработки, которые относились к стандарту IEEE 802.11i, и на их базе разработан стандарт WPA. Его основой стал протокол TKIP. Он значительно усиливал WEP с помощью двухуровневой системы векторов инициализации.
Идея работы алгоритма очень проста. Для каждого нового фрейма растет значение младшего вектора инициализации (как и ранее в стандарте WEP), но после прохождения всех комбинаций увеличивается значение старшего вектора инициализации и генерируется новый ключ. При смене ключа база статистики для взлома просто не успевает набраться.
Другим новшеством в WPA стала технология WPS, которая позволяет беспроводным устройствам упрощенно получить доступ к Wi-Fi при условии физического доступа к маршрутизатору. Она же и стала первой эксплуатируемой уязвимостью WPA. Еще одна занятная уязвимость скрывалась в особенности TKIP.
Для быстрого залатывания критических уязвимостей WEP было введено правило, по которому точка доступа обязана блокировать все подключения на 60 секунд, если получится засечь подбор ключа. Благодаря этой защите стала возможна атака Michael. Передача испорченных пакетов приводила к отключению всей сети. Причем в отличие от обычного DDoS тут достаточно всего двух (двух!) пакетов для гарантированного выведения сети из строя на одну минуту.
Справедливости ради надо отметить, что после обнаружения этих уязвимостей говорить о взломе WPA было еще нельзя. Достаточно отключить WPS, и перехватить данные будет невозможно. А наличие выбора между комфортом и безопасностью нельзя назвать критической уязвимостью протокола.
В 2006 году на надежности WPA окончательно поставили крест уязвимости, которые позволяют манипулировать сетью. Эти атаки основаны на знании некоторых данных в зашифрованных фреймах, например запросов ARP или фреймов для обеспечения QoS. Эксплоит позволяет читать данные, передаваемые от точки доступа клиентской машине, а также передавать поддельную информацию на клиентскую машину. Для реализации этой атаки необходимо, чтобы в сети использовался QoS.
Безопасность WPA2
К 2006 году WPA2 был уже реализован во многих беспроводных устройствах, и серьезной паники взлом его предшественника не вызвал. Кардинальным отличием WPA2 от предшественника стало индивидуальное шифрование данных каждого пользователя. В довесок он использовал более надежный алгоритм шифрования — AES.
Долгое время основными методами взлома маршрутизаторов, работавших по WPA2, был взлом PIN-кода при подключении через WPS или перехват рукопожатия и подбор ключа методом подбора «грубой силой». Обезопасить себя можно было, отключив WPS и установив достаточно сильный пароль. Поэтому до недавнего времени WPA2 считался надежным и всех устраивал.
В октябре 2017 года было опубликовано описание KRACK — способа взлома сетей Wi-Fi, использующих WPA2 (см. врезку). С этого момента эксперты стали считать протокол WPA2 ненадежным. Хотя тревожные звоночки были и раньше.
Атака KRACK
В октябре 2017 года была опубликована уязвимость в WPA2. И вот тут шума стало гораздо больше. Новый метод взлома назвали атакой с переустановкой ключа — key reinstallation attack, или сокращенно KRACK. Атака работает против всех современных сетей Wi-Fi, в зависимости от конфигурации сети также существует возможность манипулирования данными.
Реализовать атаку можно, воздействуя на четырехстороннее рукопожатие протокола WPA2. Такой хендшейк происходит, когда клиент подсоединяется к защищенной сети, — он подтверждает, что клиент и точка доступа имеют общие учетные данные. Один из этапов этого процесса — согласование нового ключа шифрования для всего будущего трафика между клиентом и сетью.
Не будем останавливаться на великом множестве ключей, которые участвуют в четырехстороннем рукопожатии. Для понимания процесса нам это и не надо. Первым и вторым рукопожатием маршрутизатор и клиент обмениваются загаданными ими случайными числами ANonce и SNonce и с их помощью вычисляют ключ сессии. После получения третьего пакета рукопожатия клиент устанавливает ключи шифрования и обнуляет счетчик инкремента пакетов nonce. Четвертым рукопожатием клиент отправляет маршрутизатору информацию о том, что ключи установлены и можно начинать обмен данными.
Атака реализуется следующим образом. Первоначально злоумышленнику необходимо похитить третий пакет рукопожатия. Этот пакет злоумышленник ретранслирует клиенту, что приводит к переустановке того же ключа и обнулению счетчика инкремента пакетов nonce. Счетчик nonce непосредственно участвует в создании ключевого потока, с помощью которого шифруются пакеты, отправляемые между клиентом и маршрутизатором.
Изменение nonce при обмене трафиком гарантирует формирование абсолютно разных ключевых потоков для всех передаваемых пакетов. Но в результате атаки следующий после переустановки ключа пакет, отправляемый клиентом, будет зашифрован тем же ключевым потоком, которым был зашифрован первый пакет. В чем опасность? Дело в том, что это возвращает нас к тем же проблемам, которые были у WEP.
В 2010 году была найдена уязвимость, известная под кодовым названием hole196. Почему 196? Пытались взломать и получилось со 196-го раза? Нет, просто на 196-й странице стандарта 802.11 нашлась информация о том, что для всех авторизованных в сети пользователей при широковещательных запросах используется одинаковый ключ шифрования.
Благодаря hole196 стали возможными давно известные атаки ARP/DHCP Spoofing. Уязвимость в свое время наделала достаточно шума, но назвать ее особенно критичной было нельзя. Почему? Во-первых, прежде чем вести атаку, нужно было авторизоваться в сети. Во-вторых, эта уязвимость лечится применением файрвола.
Что такое WPA3?
27 июня 2018 года альянс Wi-Fi объявил об окончании разработки нового стандарта безопасности — WPA3. Это одновременно и новый протокол безопасности, и название соответствующей программы сертификации.
Прежде чем на том или ином оборудовании появится лейбл «WPA3», ему необходимо будет пройти огромное количество тестов — это гарантирует корректную работу с другими устройствами, получившими ту же метку. С точки зрения пользователя стандарт WPA3 можно назвать и протоколом безопасности, но подразумевается под этим не аппаратная реализация, а соответствие нормативам.
Еще по теме: Взлом WiFi на Python
Отличия WPA3 от WPA2
Создатели WPA3 попытались устранить концептуальные недоработки, которые всплыли с появлением KRACK. Новый стандарт, как и во всех предыдущих случаях, основан на технологиях его предшественника. В анонсе WPA3 представители альянса Wi-Fi говорили о применении четырех новых технологий, призванных встать на защиту беспроводного соединения. Но в итоге лишь одна из них стала обязательной для реализации производителями.
Поскольку ключевая уязвимость скрывалась в четырехстороннем рукопожатии, в WPA3 добавилась обязательная поддержка более надежного метода соединения — SEA, также известного как Dragonfly. Технология SEA (Simultaneous Authentication of Equals) уже применялась в mesh-сетях и описана в стандарте IEEE 802.11s. Она основана на протоколе обмена ключами Диффи — Хеллмана с использованием конечных циклических групп.
SEA относится к протоколам типа PAKE и предоставляет интерактивный метод, в соответствии с которым две и более стороны устанавливают криптографические ключи, основанные на знании пароля одной или несколькими сторонами. Результирующий ключ сессии, который получает каждая из сторон для аутентификации соединения, выбирается на основе информации из пароля, ключей и MAC-адресов обеих сторон. Если ключ одной из сторон окажется скомпрометирован, это не повлечет компрометации ключа сессии. И даже узнав пароль, атакующий не сможет расшифровать пакеты.
Еще одним новшеством WPA3 будет поддержка PMF (Protected Management Frames) для контроля целостности трафика. Но в будущем поддержка PMF станет обязательной и для WPA2.
Не попали в сертификацию WPA3 программы Wi-Fi Easy Connect и Wi-Fi Enhanced Open. Wi-Fi Easy Connect позволяет реализовать упрощенную настройку устройств без экрана. Для этого можно использовать другое, более продвинутое устройство, уже подключенное к беспроводной сети. Например, параметры сети для датчиков и умной домашней утвари можно будет задавать со смартфона, сфотографировав QR-код на корпусе девайса.
Easy Connect основан на применении аутентификации по открытым ключам (в QR-коде передается открытый ключ) и может использоваться в сетях с WPA2 и WPA3. Еще одна приятная особенность Wi-Fi Easy Connect — возможность замены точки доступа без необходимости перенастраивать все устройства.
Wi-Fi Enhanced Open подразумевает шифрование всех потоков данных между клиентом и точкой доступа. Эта технология позволит защитить приватность пользователя в публичных сетях, где не требуется аутентификация. Для генерации ключей в таких сетях будет применяться процесс согласования соединения, реализуемый расширением Opportunistic Wireless Encryption.
Поддержка обеих технологий не обязательна для сертификации по WPA3, но производитель может при желании сам включить их поддержку в продукт.
Как и в WPA2, в WPA3 предусмотрено два режима работы: WPA3-Personal и WPA3-Enterprise.
- WPA3-Personal обеспечит надежную защиту, в особенности если пользователь задал стойкий пароль, который нельзя получить словарным перебором. Но если пароль не совсем тривиальный, то должно помочь новое ограничение на число попыток аутентификации в рамках одного рукопожатия. Также ограничение не позволит подбирать пароль в офлайновом режиме. Вместо ключа PSK в WPA3 реализована технология SEA.
- WPA3-Enterprise подразумевает шифрование на основе как минимум 192-разрядных ключей, соответствующих требованиям CNSA (они выработаны комитетом NSS для защиты правительственных, военных и промышленных сетей). Для аутентифицированного шифрования рекомендовано применение 256-разрядных ключей GCMP-256, для передачи и подтверждения ключей используется HMAC с хешами SHA-384, для согласования ключей и аутентификации — ECDH и ECDSA с 384-разрядными эллиптическими кривыми, для защиты целостности кадров — протокол BIP-GMAC-256.
Когда ждать WPA3?
Пока нет официальной информации об устройствах, которые смогут в будущем получить поддержку WPA3. Вряд ли стоит надеяться и на то, что во многих роутерах WPA3 появится после апдейта прошивки. В теории это возможно, но тогда производителям придется сертифицировать старые устройства. Скорее всего, делать этого они не будут и предпочтут потратить ресурсы на выпуск новых моделей.
На официальном сайте альянса Wi-Fi уже опубликован список устройств с поддержкой WPA3, но пока что их всего шесть штук. Однако наличие такого списка означает, что до появления WPA3 осталось ровно столько времени, сколько необходимо для интеграции протокола в новые устройства. По прогнозам альянса Wi-Fi, ожидается, что устройства с поддержкой WPA3 получат распространение на рынке в 2019 году вместе с устройствами с поддержкой Wi-Fi-802.11ax (или Wi-Fi 6 согласно новой схеме наименования).
Выводы
Тот факт, что WPA3 обратно совместим с WPA2, уже вызвал критику Мэти Ванхофа, автора атаки KRACK. Он считает, что в угоду совместимости с WPA2 альянс Wi-Fi принял недостаточные меры для усиления безопасности. Исследователи уверены, что найдется способ обхода PMF для принудительного отсоединения клиента от сети. Внедрение SEA хоть и усложнит проведение словарных атак, но не исключит их и лишь сделает более длительными, а для обхода защиты в открытых сетях атакующий по-прежнему сможет развернуть свою точку доступа и перехватывать трафик.
Также исследователь Дэн Харкинс положил начало бурным дебатам, связанным с Dragonfly, усомнившись в его надежности. И это уже не говоря о том, что Кевин Айгоу, председатель рабочей группы по криптостандартам, утверждающей Dragonfly, по слухам, работает в АНБ. Так что надежность SEA пока что под некоторым сомнением.
Но даже несмотря на все эти опасения, WPA3 — это очередной прорыв на пути к усилению безопасности беспроводных соединений. Найдется ли и в нем критическая брешь? Посмотрим!
Еще по теме: Как проверить свой роутер на уязвимость