Мати Ванхоф, авторът на атаката KRACK срещу безжичните мрежи WPA2, и Еял Ронен, съавтор на няколко атаки срещу TLS, разкриха подробности за шест уязвимости (CVE-2019-9494 - CVE-2019-9499) в технологията за безжична мрежова сигурност WPA3, които позволяват на някого да пресъздаде паролата за връзка и да получи достъп до безжичната мрежа, без да знае паролата. Уязвимостите, с кодово име Dragonblood, позволяват компрометиране на метода за ръкостискане Dragonfly, който осигурява защита срещу отгатване на парола офлайн. В допълнение към WPA3, методът Dragonfly се използва и за защита от речникови атаки в протокола EAP-pwd, използван в... Android, RADIUS сървъри и в hostapd/wpa_supplicant.
Проучването идентифицира два основни типа архитектурни проблеми в WPA3. И двата вида проблеми в крайна сметка могат да се използват за повторно създаване на парола за достъп. Първият тип ви позволява да се върнете към ненадеждни криптографски методи (атака за понижаване): означава да се гарантира съвместимост с WPA2 (транзитен режим, който позволява използването на WPA2 и WPA3) позволява на атакуващия да принуди клиента да извърши преговорите за четиристранна връзка, използвани от WPA2, което позволява по-нататъшно използване на класически пароли за атаки с груба сила, приложими към WPA2. Освен това беше разкрита възможността за извършване на атака за понижаване директно върху метода за съвпадение на връзката Dragonfly, което ви позволява да се върнете към по-малко сигурни типове елиптични криви.
Вторият тип проблеми води до изтичане на информация за характеристиките на паролата през канали на трети страни и се основава на недостатъци в метода за кодиране на паролата в Dragonfly, което позволява пресъздаване на косвени данни, като промени в забавянията по време на операции оригиналната парола. Алгоритъмът за хеш към елиптична крива на Dragonfly (хеш към крива) е податлив на атаки чрез проследяване на информацията, утаяваща се в кеша на процесора (кеш атака), а алгоритъмът за хеш към група е податлив на атаки чрез операции за измерване на времето за изпълнение (тайминг атака ).
За да извърши атаки чрез анализиране на кеша, атакуващият трябва да може да изпълни непривилегирован код в системата на потребител, свързващ се към безжична мрежа. И двата метода позволяват да се получи информацията, необходима за изясняване на правилността на избора на части от паролата в процеса на нейния избор. Ефективността на атаката е доста висока и ви позволява да отгатнете парола от 8 знака, която включва малки букви, прихващайки само 40 сесии за преговори за свързване (ръкостискане) и изразходвайки ресурси, еквивалентни на наемане на капацитет на Amazon EC2 за $125.
Въз основа на идентифицираните уязвимости са предложени няколко сценария на атака:
- Атака за връщане към WPA2 с възможност за избор на речник. При обстоятелства, при които клиентът и точката за достъп поддържат както WPA3, така и WPA2, атакуващият може да разположи своя собствена измамна точка за достъп със същото мрежово име, която поддържа само WPA2. В такава ситуация клиентът ще използва специфичния за WPA2 метод за договаряне на връзката, по време на който ще бъде определена недопустимостта на такова връщане назад, но това ще бъде направено на етапа, когато съобщенията за договаряне на канала са изпратени и цялата необходима информация за речникова атака вече е изтекла информация. Подобна техника може да се използва за връщане към проблемни версии на елиптични криви в SAE.
В допълнение, демонът iwd, разработен от Intel като алтернатива на wpa_supplicant, и безжичният стек на Samsung Galaxy S10 е установено, че са атакувани от по-ниска версия дори в мрежи само за WPA3 - ако тези устройства преди това са се свързвали към WPA3 мрежа, те ще се опита да се свърже с фиктивна WPA2 мрежа със същото име.
- Атака чрез канали на трети страни с извличане на информация от кеша на процесора. Алгоритъмът за кодиране на парола в Dragonfly съдържа условно разклоняване и атакуващият, който може да изпълни кода в системата на потребителя на безжичната мрежа, може да определи кой от блоковете на израз if-then-else е избран въз основа на анализа на поведението на кеша . Получената информация може да се използва за извършване на прогресивно отгатване на пароли, като се използват методи, подобни на офлайн речникови атаки за отгатване на WPA2 пароли. За защита се предлага да се премине към използване на операции с постоянно време за изпълнение, което не зависи от естеството на обработваните данни;
- Атака чрез канали на трети страни с оценка на времето на операциите. Кодът на Dragonfly използва множество мултипликативни групи (MODP) и променлив брой итерации за кодиране на пароли, в зависимост от използваната парола и MAC адреса на точката за достъп или клиента. Отдалечен нападател може да определи колко итерации са извършени по време на кодирането на паролата и да ги използва като улика при прогресивно отгатване на паролата.
- Обаждане при отказ на услуга. Нападателят може да блокира работата на определени функции на точката за достъп поради изчерпване на наличните ресурси, като изпрати голям брой заявки за договаряне на комуникационен канал. За да заобиколите защитата от наводнения, осигурена от WPA3, е достатъчно да изпратите заявки от фиктивни неповтарящи се MAC адреси.
- Резервен вариант към по-малко сигурни криптографски групи, използвани в процеса на договаряне на WPA3 връзка. Например, ако клиентът поддържа елиптични криви P-521 и P-256 и използва P-521 като приоритетна опция, тогава нападателят, независимо от поддръжката
P-521 от страната на точката за достъп, може да принуди клиента да използва P-256. Атаката се извършва чрез филтриране на някои съобщения по време на процеса на договаряне на връзката и изпращане на фалшиви съобщения с информация за липсата на поддръжка за определени видове елиптични криви.
За проверка на устройствата за уязвимости са подготвени няколко скрипта с примери за атаки:
- Dragonslayer - изпълнение на атаки срещу EAP-pwd;
- Dragondrain е помощна програма за проверка на уязвимостите на точките за достъп при прилагането на метода за съгласуване на връзката за едновременно удостоверяване на равни (SAE), който може да се използва за иницииране на отказ на услуга;
- Dragontime - скрипт за извършване на атака на трета страна срещу SAE, като се вземе предвид разликата във времето за обработка на операциите при използване на групи MODP 22, 23 и 24;
- Dragonforce е помощна програма за възстановяване на информация (отгатване на парола) въз основа на информация за различни времена за обработка на операции или определяне на утаяването на данни в кеша.
Wi-Fi Alliance, който разработва стандарти за безжични мрежи, обяви, че проблемът засяга ограничен брой ранни WPA3-Personal реализации и може да бъде решен чрез актуализации на фърмуера и софтуера. Все още не са открити злонамерени експлойти. За да засили сигурността, Wi-Fi Alliance добави допълнителни тестове към програмата си за сертифициране на безжични устройства, за да провери правилността на реализациите и се свърза с производителите на устройства, за да координира разрешаването на установените проблеми. Вече са пуснати корекции за hostap/wpa_supplicant, които адресират проблемите. Налични са актуализации на пакетите за Ubuntu. В DebianПроблемите с , RHEL, SUSE/openSUSE, Arch, Fedora и FreeBSD остават нерешени.
Източник: opennet.ru
