SicherheitsanfÀlligkeit im RADIUS-Protokoll, die eine AntwortfÀlschung bei der Authentifizierung ermöglicht

Eine Gruppe von Forschern aus mehreren amerikanischen UniversitÀten sowie den Unternehmen Cloudflare und Microsoft hat eine neue Angriffstechnik auf das RADIUS-Protokoll entwickelt, das von Telekommunikationsanbietern, Cloud-Diensten und VPN-Anbietern zur Authentifizierung, Autorisierung und Abrechnung von Nutzern verwendet wird. Der Angriff mit dem Codenamen Blast-RADIUS ermöglicht es, die Antwort des RADIUS-Servers wÀhrend der Authentifizierung zu fÀlschen und eine Verbindung des Teilnehmers ohne Kenntnis des Zugangspassworts herzustellen.

Um die Schwachstelle (CVE-2024-3596) auszunutzen, muss der Angreifer in der Lage sein, transitiven Datenverkehr abzufangen und einen vollstĂ€ndigen MITM-Angriff durchzufĂŒhren, der es ihm ermöglicht, eingehende und ausgehende transitive UDP-Pakete zu lesen, abzufangen, zu blockieren und zu Ă€ndern, die von den Access Points zur Anforderung der Authentifizierung der Clients (Access-Request) und vom RADIUS-Server als BestĂ€tigung oder Ablehnung der Operation zurĂŒckgesendet werden. Hat der Angreifer die Authentifizierungsanfrage abgefangen, kann er eine gefĂ€lschte Antwort senden, die einen anderen Ergebnistyp angibt (zum Beispiel Access-Accept anstelle von Access-Reject). Der Angreifer könnte auch potenziell die Antwort Access-Challenge abfangen, die bei der Zwei-Faktor-Authentifizierung verwendet wird, und sie durch eine Antwort Access-Accept ersetzen, um die zusĂ€tzliche ÜberprĂŒfungsstufe zu umgehen.

SicherheitsanfÀlligkeit im RADIUS-Protokoll, die eine AntwortfÀlschung bei der Authentifizierung ermöglicht

Der Angriff beruht darauf, dass das RADIUS-Protokoll UDP als Transportprotokoll verwendet und die IntegritĂ€t der ĂŒbertragenen Nachrichten mittels des MD5-Algorithmus verifiziert. Zur Verifizierung der zwischen Server dem Zugangspunkt und dem RADIUS-Server ĂŒbertragenen Nachrichten wird ein geheimer SchlĂŒssel verwendet, der dem Zugangspunkt und dem RADIUS-Server bekannt, dem Angreifer jedoch unbekannt ist. In Antwort auf eine Authentifizierungsanfrage generiert der RADIUS-Server einen MD5-Hash, mit dem der Zugangspunkt bestĂ€tigen kann, dass die Nachricht von einem autorisierten Server gesendet wurde. Der MD5-Hash umfasst das in der Anfrage gesendete Zufallswert, die Anforderungs-ID, die zurĂŒckgegebenen Attribute und den geheimen SchlĂŒssel.

Ein Angreifer kann im Verlauf eines MITM-Angriffs die in der Anfrage ĂŒbermittelte Identifikation und Zufallswerte abfangen und zudem den Operationscode, die GrĂ¶ĂŸe und die Attribute vorhersagen. Die Aufgabe besteht darin, einen gĂŒltigen PrĂŒfhash zu bilden, der dem verĂ€nderten Ergebnis der Operation entspricht und die ÜberprĂŒfung durch Hashing mit einem geheimen SchlĂŒssel besteht. Der MD5-Algorithmus ist gegenĂŒber Kollisionsangriffen nicht widerstandsfĂ€hig, was es dem Angreifer ermöglicht, durch Manipulation mit unwichtigen FĂŒllwerten eine Kombination von Daten zu finden, deren MD5-Hash mit dem MD5-Hash der ursprĂŒnglichen Antwort ĂŒbereinstimmt, und eine gefĂ€lschte Antwort mit dem Code fĂŒr eine erfolgreiche Authentifizierung (Access-Accept) anstelle einer Fehlermeldung zu senden.

SicherheitsanfÀlligkeit im RADIUS-Protokoll, die eine AntwortfÀlschung bei der Authentifizierung ermöglicht

Da bei der Verarbeitung von Zugriffsanfragepaketen (Access-Request) keine Authentifizierung und IntegritĂ€tsprĂŒfung angewendet wird, kann der Angreifer wĂ€hrend eines Angriffs im ursprĂŒnglichen Zugriffsgesuch Server einen zusĂ€tzlichen Attribut „Proxy-State“ und dessen Inhalt so ersetzen, dass er im RADIUS-Server-Antwort dargestellt wird. Der Inhalt des „Proxy-State“ wird unter BerĂŒcksichtigung einer Kollision so gewĂ€hlt, dass der Wert des PrĂŒfziffern-MD5-Hashes in den echten und gefĂ€lschten Antworten identisch ist. Bei einem Experiment dauerte die Suche nach einer Kollision in MD5 fĂŒr den Angriff 3-6 Minuten, was lĂ€nger ist als das typische Timeout von 30-60 Sekunden, aber die Zeit zur Kollisionssuche kann durch die Verwendung leistungsfĂ€higerer Hardware, GPU-Beteiligung und Parallelisierung der Operationen verkĂŒrzt werden.

Als wichtigste Maßnahme zur Abwehr der Schwachstelle wird empfohlen, das EAP-Protokoll (Extensible Authentication Protocol, RFC 3579) zu verwenden, bei dem zur zusĂ€tzlichen Verifizierung der Nachrichten das Attribut Message-Authenticator eingesetzt wird. Zur Abwehr des Angriffs können auch Protokollerweiterungen (RadSec) verwendet werden, die die Übertragung von RADIUS-Nachrichten ĂŒber verschlĂŒsselte KanĂ€le auf Basis von TLS oder DTLS umfassen. DarĂŒber hinaus können die Timeout-Werte fĂŒr den Empfang von Antworten auf ein Minimum verkĂŒrzt und Antworten mit dem Attribut Proxy-State blockiert werden. Die Übertragung von RADIUS-Nachrichten ĂŒber TCP erschwert den Angriff, schließt ihn jedoch nicht aus.

Der Code fĂŒr den Angriff wurde bisher nicht öffentlich gemacht, aber dem Projekt hashclash wurden Änderungen ĂŒbergeben, die die Kollisionserkennung in MD5 unter BerĂŒcksichtigung der Angriffsspezifikationen verbessern. Im RADIUS-Server FreeRADIUS wurde das Problem in den Versionen 3.0.27 und 3.2.5 durch die obligatorische Anwendung des Attributs Message-Authenticator und das HinzufĂŒgen einer Einstellung zur Begrenzung der Verarbeitung von Paketen mit dem Attribut Proxy-State behoben.

Quelle: opennet.ru

60GB SSD 8Gb DDR4