Несмотря на то, что новый стандарт WPA3 еще толком не введен в эксплуатацию, недостатки безопасности в этом протоколе позволяют злоумышленникам взломать пароль Wi-Fi.
Протокол Wi-Fi Protected Access III (WPA3) был запущен в попытке устранить технические недостатки протокола WPA2, который долгое время считался небезопасным и уязвимым для KRACK-атаки (Key Reinstallation Attack). Хотя WPA3 опирается на более безопасное рукопожатие, известное как Dragonfly, которое направлено на защиту сетей Wi-Fi от автономных атак по словарю (офлайн-перебор), исследователи безопасности Mathy Vanhoef и Eyal Ronen обнаружили слабые места в ранней реализации WPA3-Personal, которые могут позволить злоумышленнику восстановить Wi-Fi-пароли, злоупотребляя таймингами или побочным кешем.
«Злоумышленники могут прочитать информацию, которую, как предполагалось, WPA3 безопасно шифрует. Это может быть использовано для кражи конфиденциальной информации, такой как номера кредитных карт, пароли, сообщения чата, электронные письма и т. д.»
В опубликованном сегодня исследовательском документе, названном DragonBlood, исследователи подробно рассмотрели два типа недостатков проектирования в WPA3: первый ведет к атакам с понижением рейтинга, а второй — к утечкам побочного кеша.
Атака по побочному каналу на основе кеша
Алгоритм кодирования пароля в Dragonfly, также известный как алгоритм «охоты и клевания» (hunting and pecking), содержит условные ветви. Если злоумышленник может определить, какая ветвь ветви if-then-else была взята, он может узнать, был ли найден элемент пароля в конкретной итерации этого алгоритма. На практике было обнаружено, что если злоумышленник может запустить непривилегированный код на компьютере-жертве, возможно использовать атаки на основе кеша, чтобы определить, какая ветвь была предпринята в первой итерации алгоритма генерации пароля. Эта информация может быть использована для выполнения атаки с разделением пароля (это похоже на автономную атаку по словарю).
Эта уязвимость отслеживается с использованием идентификатора CVE-2019-9494.
Защита заключается в замене условных ветвей, которые зависят от секретных значений, утилитами выбора с постоянным временем. Реализации должны также использовать вычисление символа Лежандра с постоянным временем.
Атака по побочному каналу на основе синхронизации
Когда рукопожатие Dragonfly использует определенные мультипликативные группы, алгоритм кодирования пароля использует переменное число итераций для кодирования пароля. Точное количество итераций зависит от используемого пароля и MAC-адреса точки доступа и клиента. Злоумышленник может выполнить удаленную временную атаку на алгоритм кодирования пароля, чтобы определить, сколько итераций потребовалось для кодирования пароля. Восстановленная информация может быть использована для выполнения парольной атаки, которая похожа на автономную словарную атаку.
Чтобы предотвратить атаку на основе синхронизации, реализации должны отключить уязвимые мультипликативные группы. С технической точки зрения, группы MODP 22, 23 и 24 должны быть отключены. Также рекомендуется отключить группы MODP 1, 2 и 5.
Эта уязвимость также отслеживается с использованием идентификатора CVE-2019-9494 из-за схожести реализации атаки.
WPA3 downgrade
Поскольку 15-летний протокол WPA2 широко использовался миллиардами устройств, широкое распространение WPA3 не произойдет в одночасье. Для поддержки старых устройств сертифицированные WPA3 устройства предлагают «переходный режим работы», который можно настроить для приема соединений с использованием как WPA3-SAE, так и WPA2.
Исследователи считают, что переходный режим уязвим для атак с понижением рейтинга, которые злоумышленники могут использовать для создания мошеннической точки доступа, поддерживающей только WPA2, что заставляет устройства, поддерживаемые WPA3, подключаться с помощью небезопасного четырехстороннего рукопожатия WPA2.
«Мы также обнаружили атаку с понижением рейтинга против самого рукопожатия SAE («Одновременная аутентификация равных», обычно известного как «Стрекоза»), где мы можем заставить устройство использовать более слабую эллиптическую кривую, чем обычно», — говорят исследователи.
Более того, позиция «человек посередине» не нужна для проведения атаки с понижением рейтинга. Вместо этого злоумышленникам нужно знать только SSID сети WPA3-SAE.
Исследователи сообщили о своих результатах Wi-Fi Alliance, некоммерческой организации, которая сертифицирует стандарты WiFi и продукты Wi-Fi на соответствие, которые признали проблемы и работают с поставщиками для исправления существующих устройств, сертифицированных WPA3.
PoC (на момент публикации — 404)
В качестве подтверждения концепции исследователи в скором времени выпустят следующие четыре отдельных инструмента (в репозиториях GitHub с гиперссылкой ниже), которые можно использовать для проверки уязвимостей.
Dragondrain — инструмент, который может проверить, в какой степени точка доступа уязвима для Dos-атак на рукопожатие WPA3 Dragonfly.
Dragontime — экспериментальный инструмент для проведения временных атак против рукопожатия Dragonfly.
Dragonforce — экспериментальный инструмент, который получает информацию для восстановления после временных атак и выполняет парольную атаку.
Dragonslayer — инструмент, который осуществляет атаки на EAP-pwd.
Dragonblood: A Security Analysis of WPA3's SAE Handshake
Сайт проекта — wpa3.mathyvanhoef.com
Автор: LukaSafonov