Мэти Ванхофом (Mathy Vanhoef), автор атаки KRACK (https://www.opennet.me/opennews/art.shtml?num=47392) на беспроводные сети с WPA2, и Эяль Ронен (Eyal Ronen (https://eyalro.net/)), соавтор некоторых атак на TLS, раскрыли сведения о шести уязвимостях (https://wpa3.mathyvanhoef.com/) (CVE-2019-9494 - CVE-2019-9499 (https://papers.mathyvanhoef.com/dragonblood.pdf)) в технологии защиты беспроводных сетей WPA3, позволяющих воссоздать пароль подключения и получить доступ к беспроводной сети без знания пароля. Уязвимости объединены под кодовым именем Dragonblood и позволяют скомпрометировать метод согласования соединений Dragonfly (https://sarwiki.informatik.hu-berlin.de/WPA3_Dragonfly_Hands...), предоставляющий (https://www.opennet.me/opennews/art.shtml?num=48854) защиту от подбора паролей в offline-режиме. Кроме WPA3 метод Dragonfly также применяется для защиты от словарного подбора в протоколе EAP-pwd (https://en.wikipedia.org/wiki/Extensible_Authentication_Prot...(EAP-PWD)), применяемом в Android, RADIUS-серверах и в hostapd/wpa_supplicant.
В ходе исследования выявлено два основных типа архитектурных проблем в WPA3. Оба типа проблем в конечном счёте могут использоваться для воссоздания пароля доступа. Первый тип позволяет совершить откат на ненадёжные криптографические методы (downgrade attack): средства для обеспечения совместимости с WPA2 (транзитный режим, допускающий использование WPA2 и WPA3) позволяют атакующему вынудить клиента выполнить применяемое WPA2 четырёхэтапное согласование соединений, что позволяет в дальнейшем использовать классические (https://www.opennet.me/tips/info/3025.shtml) атаки (https://www.opennet.me/opennews/art.shtml?num=49120) по подбору паролей, применимые к WPA2. Коме того, выявлена и возможность совершения downgrade-атаки непосредственно на метод согласования соединений Dragonfly, позволяющей откатиться на менее защищённые типы эллиптических кривых.
Второй тип проблем приводит к утечке по сторонним каналам информации о характеристиках пароля и основан на недоработках метода кодирования пароля в Dragonfly, которые позволяют по косвенным данным, таким как изменение задержек при выполнении операций, воссоздать исходный пароль. Применяемый в Dragonfly алгоритм преобразования хэша в эллиптическую кривую (hash-to-curve) оказался подвержен атакам через отслеживание оседания информации в процессорном кэше (cache attack), а алгоритм преобразования хэша в группу (hash-to-group) подвержен атакам через измерение времени выполнения операций (timing attack).
Для совершения атак через анализ кэша атакующий должен иметь возможность выполнения непривилегированного кода на системе пользователя, подключающегося к беспроводной сети. Оба метода дают возможность получить информацию, необходимую для уточнения правильности выбора частей пароля в процессе его подбора. Эффективность атаки достаточно высока и позволяет подобрать 8-символьный пароль, включающий символы в нижнем регистре, перехватив всего 40 сеансов согласования соединения (handshake) и потратив ресурсы, эквивалентные аренде мощностей Amazon EC2 на 125 долларов.
На основе выявленных уязвимостей предложено несколько сценариев атак:
- Атака по откату на WPA2 с возможностью проведения словарного подбора. В ситуации когда клиент и точка доступа поддерживают как WPA3, так и WPA2, атакующий может развернуть собственную подставную точку доступа с тем же именем сети, которая поддерживает только WPA2. В такой ситуации клиент применит свойственный для WPA2 метод согласования подключения, в процессе которого будет определена недопустимость подобного отката, но на стадии, когда сообщения о согласовании канала уже отправлены и вся необходимая для словарной атаки информация уже утекла. Похожий метод применим и для отката на проблемные версии эллиптических кривых в SAE.
Более того, выявлено, что демон iwd (https://git.kernel.org/pub/scm/network/wireless/iwd.git/), развиваем компанией Intel в качестве альтернативы wpa_supplicant, и беспроводной стек Samsung Galaxy S10 подвержены downgrade-атаке даже в сетях, применяющих только WPA3 - если данные устройства до этого соединялись в WPA3-сетью, они попытаются соединиться с подставной сетью WPA2 с тем же именем.
- Атака по сторонним каналам с извлечением сведений из процессорного кэша. Алгоритм кодирования паролей в Dragonfly содержит условное ветвление и атакующий, имея возможность выполнить код в системе пользователя беспроводной сети, может на основе анализа поведения кэша определить какой выбран из блоков выражения if-then-else. Полученная информация может применяться для выполнения поступательного подбора пароля, используя методы, похожие на совершения словарных offline-атак по подбору паролей WPA2. Для защиты предлагается перейти на использование операций с постоянным временем выполнения, не зависящим от характера обрабатываемых данных;
- Атака по сторонним каналам с оценкой времени выполнения операций. В коде Dragonfly при кодировании паролей применяется несколько мультипликативных групп (https://ru.wikipedia.org/wiki/%D0%9C%D1%...) (MODP) и переменное число итераций, количество которых зависит от используемого пароля и MAC-адреса точки доступа или клиента. Удалённый атакующий может определить сколько итераций выполнено в ходе кодирования пароля и использовать их как признак при поступательном подборе пароля.
- Вызов отказа в обслуживании. Атакующий может заблокировать работу определённых функций точки доступа из-за исчерпания доступных ресуросов через отправку большого числа запросов на согласования канала связи. Для обхода предусмотренной в WPA3 защиты от флуда достаточно отправки запросов с фиктивных неповторяющихся MAC-адресов.
- Откат на менее защищённые криптографические группы, используемые в процессе согласования соединений в WPA3. Например, если клиент поддерживает эллиптические кривые P-521 и P-256, и использует P-521 в качестве приоритетного варианта, то атакующий, независимо от поддержки
P-521 на стороне точки доступа, может принудить клиента к использованию P-256. Атака осуществляется путём отсеивания некоторых сообщений в процессе согласования соединения и отправки поддельных сообщений с информацией об отсутствии поддержки определённых типов эллиптических кривых.
Для проверки устройств на наличие уязвимостей подготовлено несколько скриптов с примерами совершения атак:
- Dragonslayer (https://github.com/vanhoefm/dragonslayer) - реализация атак на EAP-pwd;
- Dragondrain (https://github.com/vanhoefm/dragondrain-and-time) - утилита для проверки подвеженности точек доступа уязвимости в реализации метода согласования соединений SAE (Simultaneous Authentication of Equals),, которую можно использовать для инициирования отказа в обслуживании;
- Dragontime (https://github.com/vanhoefm/dragondrain-and-time) - скрипт для проведения атаки по сторонним каналам против SAE, учитывающей разницу во времени обработки операций при использовании групп MODP 22, 23 и 24;
- Dragonforce (https://github.com/vanhoefm/dragonforce) - утилита для восстановления информации на основе сведений о разном времени обработки операций или определения оседания данных в кэше и проведения словарного подбора пароля.
Объединение Wi-Fi Alliance, развивающее стандарты для беспроводных сетей, объявило (https://www.wi-fi.org/news-events/newsroom/wi-fi-alliance-se...), что проблема затрагивает ограниченное число ранних реализаций WPA3-Personal и может быть устранена через обновление прошивки и ПО (в том числе предложены патчи (https://w1.fi/security/) для hostap/wpa_supplicant и обновление (https://usn.ubuntu.com/3944-1/) пакетов для Ubuntu). Фактов применения уязвимостей для совершения вредоносных действи...
URL: https://www.wi-fi.org/news-events/newsroom/wi-fi-alliance-se...
Новость: https://www.opennet.me/opennews/art.shtml?num=50493