Mitme Ameerika ülikooli ja ettevõtte, sealhulgas Cloudflare ja Microsoft, teadlaste rühm on välja töötanud uue RADIUS-protokolli rünnaku tehnika, mille suhtes on vastuvõtlikud telekommunikatsiooniettevõtted, pilveteenused ja VPN-teenuse pakkujad kasutajate autentimiseks, autoriseerimiseks ja arveldamiseks. Rünnak, mille koodnimi on Blast-RADIUS, võimaldab vale RADIUS-serveri vastuse simuleerimist autentimise käigus ja kasutaja ühenduse loomist ilma juurdepääsuparooli teadmiseta.
Võrguhaavatavuse (CVE-2024-3596) kasutamiseks peab ründaja olema võimeline püüdma vahepealset liiklust ja teostama täieõiguslikku MITM-rünnakut, mis võimaldab lugeda, jälgida, blokeerida ja muuta sissetulevaid ja väljaminevaid UDP-pakette, mis saadetakse juurdepääsupunktidelt kliendi autentimise taotluste (Access-Request) jaoks ja saadetakse RADIUS-serverilt operatsiooni kinnitamiseks või tagasilükkamiseks. Kui ründaja on autentimise taotluse kinni püüdnud, võib ta saata vale vastuse, märkides sellele vastusele teise tulemuse tüübi (nt Access-Accept Access-Reject'i asemel). Ründaja võib samuti potentsiaalselt kinni püüda Access-Challenge vastuse, mida kasutatakse kahefaktorilise autentimise puhul, ja asendada selle Access-Accept vastusega, et mööduda lisakontrolli läbimisest.

Rünnak põhineb sellel, et RADIUS-protokoll kasutab transpordina UDP-d ja kontrollib edastatud sõnumite terviklikkust MD5-algoritmiga. Sõnumite kontrollimiseks, mis edastatakse vahepeal serveriga juurdepääsu ja RADIUS-serveriga, kasutatakse saladuskoodi, mis on tuntud juurdepääsupunkti ja RADIUS-serveri jaoks, kuid mitte ründaja jaoks. Vastuseks RADIUS-serveri kinnitustaotlusele genereerib RADIUS-server MD5-hashi, mille abil juurdepääsuserver saab veenduda, et sõnum on saadetud volitatud serveri poolt. MD5-hash hõlmab taotluses saadetud juhuslikku väärtust, taotluse identifikaatorit, tagastatavaid atribuute ja saladuskoodi.
MITM-rünnaku käigus suudab ründaja haarata edastatud päringus oleva identifikaatori ja juhusliku väärtuse ning ennustada toimingukoodi, suuruse ja atribuudid. Ülesanne on luua korrektne kontrollsumm, mis vastaks muudetud toimingu tulemile ja läbiks kontrolli, kasutades salajast võti. MD5 algoritm ei ole vastupidav kollisioonide üritamisele, mis võimaldab ründajal manipuleerida tähendusteta täiteelementidega, et leida andmete kombinatsioon, mille MD5-hash vastaks algse vastuse MD5-hashile, ja saata vale vastus, millel on õnnestunud autentimise kood (Access-Accept) vea teabe sõnumi asemel.

Kuna pääsutaotluse (Access-Request) paketiga töötlemisel ei rakendata autentimist ja terviklikkuse kontrolli, suudab ründaja algsesse päringusse libistada serverile RADIUS-server võib ründaja poolt lisatud атрибут «Proxy-State» oma vastuses peegeldada. «Proxy-State» sisu valitakse kokkusattumise arvesse võttes, nii et MD5 rikka hash väärtus reaalsetes ja vale vastustes oleks identsed. Eksperimendi käigus võttis MD5 kokkusattumise otsimine rünnaku tegemiseks aega 3-6 minutit, mis on rohkem kui tüüpiline ajavahemik 30-60 sekundit, kuid kokkusattumise leidmise aega on võimalik vähendada, kasutades võimsamat riistvara, kaasates GPU-sid ja paralleelseid operatsioone.
Peamise meetmena haavatavuse kaitsmiseks soovitatakse kasutada EAP (Extensible Authentication Protocol, RFC 3579) protokolli, mille puhul kasutatakse sõnumite täiendavaks kontrollimiseks атрибут Message-Authenticator. Rünnaku vastu kaitsmiseks võib kasutada ka protokolli laiendusi (RadSec), mis hõlmavad RADIUS-sõnumite edastamist krüpteeritud kanalite kaudu TLS või DTLS põhjal. Lisaks on soovitatav vähendada vastuse saamise ajavahemikke miinimumini ja blokeerida ответidega атрибут Proxy-State. RADIUS-sõnumite edastamine TCP peal muudab rünnaku keerulisemaks, kuid ei välista selle teostamist.
Rünnakukoodi ei ole veel avalikult välja antud, kuid hashclash projektile on edastatud muudatused, mis parandavad MD5 kokkulangevuste leidmist rünnaku spetsiifikat arvestades. FreeRADIUS RADIUS-serveris on probleem lahendatud versioonides 3.0.27 ja 3.2.5, kohustuslikku Message-Authenticator atribuut rakendades ning lisades seadistuse, mis piirab Proxy-State atribuudiga paketide töötlemist.
Allikas: opennet.ru
