En gruppe forskere fra flere amerikanske universiteter samt Cloudflare og Microsoft har udviklet en ny angrebsteknik mod RADIUS-protokollen, der anvendes af teleudbydere, cloudtjenester og VPN-udbydere til autentificering, autorisering og kontoadministration af brugere. Angrebet, der bærer kode-navnet Blast-RADIUS, muliggør forfalskning af RADIUS-serverens svar under en autentificeringsproces og gør det muligt for en bruger at oprette forbindelse uden at kende adgangskoden.
For at udnytte sårbarheden (CVE-2024-3596) skal angriberen have mulighed for at opsnappe transittrafik og gennemføre et fuldt MITM-angreb, der gør det muligt at læse, opsnappe, blokere og ændre indkommende og udgående UDP-pakker, der sendes fra adgangspunktet til autentificeringsanmodninger (Access-Request) og returneres af RADIUS-serveren med bekræftelse eller afvisning af operationen. Ved at opsnappe autentificeringsanmodningen kan angriberen sende et falsk svar og angive en anden resultattype (for eksempel Access-Accept i stedet for Access-Reject). Angriberen kan også potentielt opsnappe Access-Challenge-svaret, der bruges ved to-faktor autentificering, og erstatte det med et Access-Accept-svar for at omgå det ekstra verificeringstrin.

Angrebet er baseret på, at RADIUS-protokollen bruger UDP som transportmiddel og verificerer integriteten af de sendte meddelelser ved hjælp af MD5-algoritmen. For at verificere meddelelserne, der sendes mellem serveren adgangs- og RADIUS-serveren, anvendes en hemmelig nøgle, der er kendt af adgangspunktet og RADIUS-serveren, men ukendt for angriberen. Som svar på anmodningen om autentificering genererer RADIUS-serveren en MD5-hash, som adgangsserveren kan bruge til at sikre, at meddelelsen er sendt af en autoriseret server. MD5-hash'en dækker det tilfældige tal, identifikationsnummeret for anmodningen, de returnerede attributter og den hemmelige nøgle, der er sendt i anmodningen.
En angriber under et MITM-angreb kan opfange det ID og det tilfældige værdi, der sendes i forespørgslen, samt forudsige operationens kode, størrelse og attributter. Opgaven går ud på at danne en korrekt signaturhash, der svarer til det ændrede resultat af operationen og bestå hash-kontrollen ved hjælp af den hemmelige nøgle. MD5-algoritmen er ikke modstandsdygtig over for kollision, hvilket tillader angriberen, ved at manipulere med det ubetydelige fyld, at finde en datasammensætning med de ønskede parametre, hvis MD5-hash vil stemme overens med MD5-hashen af det oprindelige svar, og sende et falsk svar med en succesfuld godkendelseskode (Access-Accept) i stedet for en fejlmeddelelse.

Da der ikke anvendes autentificering og dataintegritetskontrol ved behandling af pakker med adgangsforespørgsler (Access-Request), kan angriberen under angrebet indsætte ekstra attributter i den oprindelige forespørgsel fra server adgang, hvor angriberen kan indsætte den ekstra attribut «Proxy-State», som vil blive reflekteret af RADIUS-serveren i sit svar. Indholdet af «Proxy-State» vælges under hensyntagen til kollision, så værdien af den kontrollerende MD5-hash i de virkelige og falske svar er identisk. Under eksperimentet tog søgningen efter kollision i MD5 for at gennemføre angrebet 3-6 minutter, hvilket er mere end den typiske timeout på 30-60 sekunder, men tiden til at finde en kollision kan forkortes ved at bruge mere kraftfuldt udstyr, anvende GPU og parallelisere operationer.
Som en primær foranstaltning til beskyttelse mod sårbarheden foreslås det at anvende EAP-protokollen (Extensible Authentication Protocol, RFC 3579), hvor attributten Message-Authenticator bruges til yderligere verifikation af beskeder. For at beskytte mod angrebet kan der også anvendes protokoludvidelser (RadSec), der inkluderer overførsel af RADIUS-beskeder gennem krypterede kanaler baseret på TLS eller DTLS. Derudover kan timeout-værdierne for modtagelse af svar reduceres til et minimum og svar med attributten Proxy-State blokeres. Overførsel af RADIUS-beskeder over TCP komplicerer angrebet, men udelukker ikke muligheden for det.
Koden til at udføre angrebet er endnu ikke blevet offentliggjort, men projektet hashclash har modtaget ændringer, der forbedrer kollisionsfindingsmetoderne i MD5 med hensyn til angrebets specifikationer. Problemet i RADIUS-serveren FreeRADIUS er blevet løst i versionerne 3.0.27 og 3.2.5 ved at aktivere obligatorisk anvendelse af attributten Message-Authenticator og tilføje en indstilling for at begrænse behandlingen af pakker med attributten Proxy-State.
Kilde: opennet.ru
