Уразлівасці ў тэхналогіі абароны бесправадных сетак WPA3 і ў EAP-pwd

Мэці Ванхофам (Mathy Vanhoef), аўтар нападу KRACK на бесправадныя сеткі з WPA2, і Эяль Ронен (Eyal Ronen), суаўтар некаторых нападаў на TLS, расчынілі звесткі аб шасці ўразлівасцях (CVE-2019-9494 — CVE-2019-9499) у тэхналогіі абароны бесправадных сетак WPA3, якія дазваляюць узнавіць пароль падлучэння і атрымаць доступ да бесправадной сеткі без ведання пароля. Уразлівасці аб'яднаны пад кодавым імем Dragonblood і дазваляюць скампраметаваць метад узгаднення злучэнняў Dragonfly, які прадстаўляе абарону ад падбору пароляў у offline-рэжыме. Акрамя WPA3 метад Dragonfly таксама прымяняецца для абароны ад слоўнікавага падбору ў пратаколе EAP-pwd, які ўжываецца ў Android, RADIUS-серверах і ў hostapd/wpa_supplicant.

У ходзе даследавання выяўлена два асноўных тыпу архітэктурных праблем у WPA3. Абодва тыпы праблем, у канчатковым рахунку, могуць выкарыстоўвацца для ўзнаўлення пароля доступу. Першы тып дазваляе здзейсніць адкат на ненадзейныя крыптаграфічныя метады (downgrade attack): сродкі для забеспячэння сумяшчальнасці з WPA2 (транзітны рэжым, які дапускае выкарыстанне WPA2 і WPA3) дазваляюць атакаваламу прымусіць кліента выканаць ужывальнае WPA2 чатырохэтапнае ўзгадненне падлучэння. пароляў, якія прымяняюцца да 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, развіваем кампаніяй Intel у якасці альтэрнатывы wpa_supplicant, і бесправадны стэк Samsung Galaxy S10 схільныя downgrade-нападу нават у сетках, якія ўжываюць толькі WPA3 – калі дадзеныя прылады да гэтага злучаліся з WPA3-сеткай, яны паспрабуюць злучыцца з падстаўной сеткай WPA2 з тым жа імем.

  • Атака па іншых каналах з выманне звестак з працэсарнага кэша. Алгарытм кадавання пароляў у Dragonfly утрымоўвае ўмоўнае галінаванне і атакавалы, маючы магчымасць выканаць код у сістэме карыстача бесправадной сеткі, можа на аснове аналізу паводзін кэша вызначыць які абраны з блокаў выраза if-then-else. Атрыманая інфармацыя можа прымяняцца для выканання паступальнага падбору пароля, выкарыстоўваючы метады, падобныя да здзяйснення слоўнікавых offline-нападаў па падборы пароляў WPA2. Для абароны прапануецца перайсці на выкарыстанне аперацый са сталым часам выканання, не якія залежаць ад характару апрацоўваных дадзеных;
  • Атака па іншых каналах з ацэнкай часу выканання аперацый. У кодзе Dragonfly пры кадаванні пароляў ужываецца некалькі мультыплікатыўных груп (MODP) і пераменная колькасць ітэрацый, колькасць якіх залежыць ад выкарыстоўванага пароля і MAC-адрасы кропкі доступу ці кліента. Выдалены атакавалы можа вызначыць колькі ітэрацый выканана падчас кадавання пароля і выкарыстоўваць іх як прыкмета пры паступальным падборы пароля.
  • Выклік адмовы ў абслугоўванні. Атакуючы можа заблакаваць працу пэўных функцый пункту доступу з-за вычарпання даступных рэсурсаў праз адпраўку вялікай колькасці запытаў узгаднення канала сувязі. Для абыходу прадугледжанай у WPA3 абароны ад флуду дастаткова адпраўкі запытаў з фіктыўных непаўторных MAC-адрасоў.
  • Адкат на менш абароненыя крыптаграфічныя групы, якія выкарыстоўваюцца ў працэсе ўзгаднення злучэнняў у WPA3. Напрыклад, калі кліент падтрымлівае эліптычныя крывыя P-521 і P-256, і выкарыстоўвае P-521 у якасці прыярытэтнага варыянту, то атакавалы, незалежна ад падтрымкі
    P-521 на баку кропкі доступу, можа прымусіць кліента да выкарыстання P-256. Атака ажыццяўляецца шляхам адсявання некаторых паведамленняў у працэсе ўзгаднення злучэння і адпраўкі падробленых паведамленняў з інфармацыяй аб адсутнасці падтрымкі пэўных тыпаў эліптычных крывых.

Для праверкі прылад на наяўнасць уразлівасцяў падрыхтавана некалькі скрыптоў з прыкладамі здзяйснення нападаў:

  • Dragonslayer - рэалізацыя нападаў на EAP-pwd;
  • Dragondrain - утыліта для праверкі падвежанасці кропак доступу ўразлівасці ў рэалізацыі метаду ўзгаднення злучэнняў SAE (Simultaneous Authentication of Equals), якую можна выкарыстоўваць для ініцыявання адмовы ў абслугоўванні;
  • 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

Дадаць каментар