Vulnerabilità nel protocollo RADIUS che consente di falsificare una risposta durante l'autenticazione

Un gruppo di ricercatori di diverse università americane e delle aziende Cloudflare e Microsoft ha sviluppato una nuova tecnica di attacco al protocollo RADIUS, utilizzato da operatori di telecomunicazioni, servizi cloud e provider VPN per l'autenticazione, l'autorizzazione e la contabilizzazione degli utenti. L'attacco, soprannominato Blast-RADIUS, consente di falsificare la risposta del server RADIUS durante il processo di autenticazione e di stabilire una connessione per l'utente senza conoscere la password di accesso.

Per sfruttare la vulnerabilità (CVE-2024-3596), un attaccante deve essere in grado di intercettare il traffico in transito e condurre un attacco MITM completo, che consenta di leggere, catturare, bloccare e modificare i pacchetti UDP in transito in ingresso e in uscita, inviati dai punti di accesso per richiedere l'autenticazione dei clienti (Access-Request) e restituiti dal server RADIUS con conferma o rifiuto dell'operazione. Catturando la richiesta di autenticazione, l'attaccante può inviare una risposta fasulla, specificando in questa risposta un tipo di risultato diverso (ad esempio, Access-Accept invece di Access-Reject). L'attaccante potrebbe anche intercettare potenzialmente la risposta Access-Challenge, utilizzata nella autenticazione a due fattori, e sostituirla con una risposta Access-Accept per bypassare la fase di verifica aggiuntiva.

Vulnerabilità nel protocollo RADIUS che consente di falsificare una risposta durante l'autenticazione

L'attacco si basa sul fatto che il protocollo RADIUS utilizza UDP come trasporto e verifica l'integrità dei messaggi trasmessi attraverso l'algoritmo MD5. Per verificare i messaggi trasmessi tra server Per l'accesso e il server RADIUS, viene utilizzata una chiave segreta, conosciuta sia dal punto di accesso che dal server RADIUS, ma non dall'attaccante. In risposta alla richiesta di autenticazione, il server RADIUS genera un hash MD5, con il quale il server di accesso può verificare che il messaggio sia stato inviato da un server autorizzato. L'hash MD5 copre il valore casuale inviato nella richiesta, l'identificatore della richiesta, gli attributi restituiti e la chiave segreta.

L'attaccante durante un attacco MITM può intercettare l'identificativo e il valore casuale trasmessi nella richiesta, oltre a poter prevedere il codice operazione, la dimensione e gli attributi. La sfida consiste nel formare un hash di verifica corretto che corrisponda al risultato operativo modificato e superi il controllo tramite hashing con l'uso di una chiave segreta. L'algoritmo MD5 non è resistente agli attacchi di collisione, permettendo all'attaccante, manipolando il riempimento aggiuntivo irrilevante, di trovare una combinazione di dati con i parametri desiderati, il cui hash MD5 corrisponderà a quello della risposta originale, e inviare una risposta falsa con codice di successo dell'autenticazione (Access-Accept) al posto del messaggio di errore.

Vulnerabilità nel protocollo RADIUS che consente di falsificare una risposta durante l'autenticazione

Poiché nella gestione dei pacchetti con richiesta di accesso (Access-Request) non viene applicata l'autenticazione e il controllo di integrità, durante l'attacco, la richiesta originale viene modificata. сервера Un attaccante può inserire un attributo aggiuntivo "Proxy-State", che verrà restituito dal server RADIUS nella sua risposta. Il contenuto di "Proxy-State" è progettato in modo da garantire che il valore della hash MD5 di controllo nelle risposte reali e falsificate sia identico. Durante l'esperimento, la ricerca di collisioni in MD5 per effettuare l'attacco ha richiesto da 3 a 6 minuti, che è superiore al timeout tipico di 30-60 secondi, ma il tempo di ricerca delle collisioni può essere ridotto utilizzando hardware più potente, coinvolgendo GPU e parallelizzando le operazioni.

Come misura principale per proteggere contro questa vulnerabilità, si propone di utilizzare il protocollo EAP (Extensible Authentication Protocol, RFC 3579), nel quale per una verifica aggiuntiva dei messaggi viene utilizzato l'attributo Message-Authenticator. Per difendersi dall'attacco, è possibile anche usare le estensioni del protocollo (RadSec), che includono la trasmissione di messaggi RADIUS attraverso canali crittografati basati su TLS o DTLS. Inoltre, è possibile ridurre al minimo i valori di timeout per la ricezione delle risposte e bloccare le risposte con l'attributo Proxy-State. La trasmissione di messaggi RADIUS su TCP complica l'attacco, ma non lo esclude.

Il codice per eseguire l'attacco non è ancora pubblicato, ma il progetto hashclash ha ricevuto aggiornamenti che migliorano la ricerca di collisioni in MD5 considerando le specificità dell'attacco. Nel server RADIUS FreeRADIUS, il problema è stato risolto nelle versioni 3.0.27 e 3.2.5 attivando l'applicazione obbligatoria dell'attributo Message-Authenticator e aggiungendo un'impostazione per limitare l'elaborazione dei pacchetti con l'attributo Proxy-State.

Fonte: opennet.ru

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster