Schwachstelle im RADIUS-Protokoll ermöglicht die Fälschung von Antworten bei der Authentifizierung

Eine Gruppe von Forschern aus mehreren amerikanischen Universitäten sowie von 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 Benutzern verwendet wird. Der als Blast-RADIUS bezeichnete Angriff ermöglicht es, die Antwort eines 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 ein Angreifer in der Lage sein, den Transitverkehr abzufangen und einen vollwertigen MITM-Angriff durchzuführen, der es ihm ermöglicht, eingehende und ausgehende Transit-UDP-Pakete zu lesen, abzufangen, zu blockieren und zu verändern, die von den Zugangspunkten zur Anforderung der Kundenauthentifizierung (Access-Request) gesendet und vom RADIUS-Server mit einer Bestätigung oder Ablehnung der Operation zurückgegeben werden. Hat der Angreifer die Authentifizierungsanfrage abgefangen, kann er eine falsche Antwort senden und in dieser Antwort einen anderen Ergebnistyp angeben (z. B. Access-Accept anstelle von Access-Reject). Der Angreifer könnte auch potenziell die Access-Challenge-Antwort abfangen, die bei der Zwei-Faktor-Authentifizierung verwendet wird, und sie durch die Access-Accept-Antwort ersetzen, um die zusätzliche Überprüfungsstufe zu umgehen.

Schwachstelle im RADIUS-Protokoll ermöglicht die Fälschung von Antworten bei der Authentifizierung

Der Angriff basiert darauf, dass das RADIUS-Protokoll UDP als Transportprotokoll verwendet und die Integrität der übermittelten Nachrichten mit dem MD5-Algorithmus überprüft. Zur Verifizierung von Nachrichten, die zwischen Server Beim Zugriff auf den RADIUS-Server wird ein geheimer Schlüssel verwendet, der sowohl dem Zugangspunkt als auch dem RADIUS-Server bekannt ist, jedoch nicht dem Angreifer. In Antwort auf eine Anfrage zur Authentifizierung generiert der RADIUS-Server einen MD5-Hash, mit dem der Zugangspunkt sicherstellen kann, dass die Nachricht von einem autorisierten Server gesendet wurde. Der MD5-Hash umfasst den im Antrag gesendeten Zufallswert, die Anforderungs-ID, die zurückgegebenen Attribute und den geheimen Schlüssel.

Ein Angreifer kann während eines MITM-Angriffs die in der Anfrage übertragene ID und den Zufallswert abfangen sowie den Operation-Code, die Größe und die Attribute vorhersagen. Das Ziel besteht darin, einen gültigen Prüfziffern-Hash zu erstellen, der dem veränderten Ergebnis der Operation entspricht und durch Hashing mit dem geheimen Schlüssel verifiziert wird. Der MD5-Algorithmus ist nicht kollisionssicher, was es dem Angreifer ermöglicht, durch Manipulation der unwichtigen Padding-Daten eine Datenkombination 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.

Schwachstelle im RADIUS-Protokoll ermöglicht die Fälschung von Antworten bei der Authentifizierung

Da bei der Verarbeitung von Paketen mit Zugriffsanfragen (Access-Request) keine Authentifizierung und Integritätsprüfung angewendet werden, kann ein Angreifer in der ursprünglichen Anfrage während des Angriffs manipulieren. сервера Ein Angreifer kann ein zusätzliches Attribut „Proxy-State“ einfügen, das vom RADIUS-Server in seiner Antwort widergespiegelt wird. Der Inhalt von „Proxy-State“ wird so gewählt, dass die MD5-Hash-Prüfzahlen in der echten und gefälschten Antwort identisch sind. Im Rahmen des Experiments dauerte die Suche nach einer Kollision in MD5 für den Angriff 3-6 Minuten, was länger ist als der typische Timeout von 30-60 Sekunden. Allerdings kann die Suchzeit für Kollisionen durch den Einsatz leistungsfähigerer Hardware, GPU-Unterstützung und Parallelisierung der Operationen verkürzt werden.

Als Hauptmaßnahme zum Schutz vor dieser Schwachstelle wird empfohlen, das Protokoll EAP (Extensible Authentication Protocol, RFC 3579) zu verwenden, bei dem zur zusätzlichen Verifizierung von Nachrichten das Attribut Message-Authenticator eingesetzt wird. Zum Schutz vor Angriffen können auch Protokollerweiterungen (RadSec) verwendet werden, die die Übertragung von RADIUS-Nachrichten über verschlüsselte Kanäle auf der Grundlage von TLS oder DTLS einschließen. Darüber hinaus können die Timeout-Werte für den Empfang von Antworten auf ein Minimum reduziert 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 das Projekt Hashclash hat Änderungen erhalten, die die Kollisionserstellung in MD5 im Hinblick auf die Angriffsspezifikationen verbessern. Im RADIUS-Server FreeRADIUS wurde das Problem in den Versionen 3.0.27 und 3.2.5 durch die verpflichtende Anwendung des Attributes Message-Authenticator und die Hinzufügung einer Einstellung zur Einschränkung der Verarbeitung von Paketen mit dem Attribut Proxy-State behoben.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster