Vulnérabilité dans le protocole RADIUS permettant de falsifier la réponse lors de l'authentification

Un groupe de chercheurs de plusieurs universités américaines et des entreprises Cloudflare et Microsoft a développé une nouvelle technique d'attaque sur le protocole RADIUS, utilisé par les opérateurs de télécommunications, les services cloud et les fournisseurs de VPN pour l'authentification, l'autorisation et la comptabilité des utilisateurs. L'attaque, codée sous le nom Blast-RADIUS, permet de falsifier la réponse du serveur RADIUS lors de l'authentification et de connecter un abonné sans connaßtre le mot de passe d'accÚs.

Pour exploiter la vulnĂ©rabilitĂ© (CVE-2024-3596), l'attaquant doit ĂȘtre en mesure d'intercepter le trafic transit et de mener une attaque MITM complĂšte, permettant de lire, intercepter, bloquer et modifier les paquets UDP transitaires entrants et sortants envoyĂ©s par les points d'accĂšs pour demander l'authentification des clients (Access-Request) et les rĂ©ponses du serveur RADIUS avec la confirmation ou le refus de l'opĂ©ration. En interceptant la demande d'authentification, l'attaquant peut envoyer une rĂ©ponse fictive, indiquant dans cette rĂ©ponse un autre type de rĂ©sultat (par exemple, Access-Accept au lieu de Access-Reject). L'attaquant peut Ă©galement potentiellement intercepter la rĂ©ponse Access-Challenge, utilisĂ©e lors de l'authentification Ă  deux facteurs, et la remplacer par la rĂ©ponse Access-Accept pour contourner l'Ă©tape de vĂ©rification supplĂ©mentaire.

Vulnérabilité dans le protocole RADIUS permettant de falsifier la réponse lors de l'authentification

L'attaque repose sur le fait que le protocole RADIUS utilise UDP comme transport et vérifie l'intégrité des messages transmis à l'aide de l'algorithme MD5. Pour la vérification des messages échangés entre serveur l'accÚs et le serveur RADIUS, une clé secrÚte est appliquée, connue du point d'accÚs et du serveur RADIUS, mais inconnue de l'attaquant. En réponse à une demande d'authentification, le serveur RADIUS génÚre un hachage MD5, grùce auquel le serveur d'accÚs peut s'assurer que le message a été envoyé par un serveur autorisé. Le hachage MD5 couvre la valeur aléatoire envoyée dans la demande, l'identifiant de la demande, les attributs renvoyés et la clé secrÚte.

Lors d'une attaque MITM, un attaquant peut intercepter l'identifiant et la valeur alĂ©atoire transmis dans la requĂȘte, et peut Ă©galement prĂ©dire le code d'opĂ©ration, la taille et les attributs. La tĂąche consiste Ă  gĂ©nĂ©rer un hachage de vĂ©rification correct qui corresponde au rĂ©sultat modifiĂ© de l'opĂ©ration et passe le contrĂŽle via un hachage utilisant une clĂ© secrĂšte. L'algorithme MD5 n'est pas rĂ©sistant aux collisions, ce qui permet Ă  un attaquant, en manipulant un remplissage neutre, de trouver une combinaison de donnĂ©es avec les paramĂštres souhaitĂ©s, dont le hachage MD5 correspondra au hachage MD5 de la rĂ©ponse d'origine, et d'envoyer une rĂ©ponse factice avec un code d'authentification rĂ©ussi (Access-Accept) Ă  la place d'un message d'erreur.

Vulnérabilité dans le protocole RADIUS permettant de falsifier la réponse lors de l'authentification

Étant donnĂ© qu'aucune authentification et vĂ©rification d'intĂ©gritĂ© ne sont appliquĂ©es lors du traitement des paquets de demande d'accĂšs (Access-Request), au cours de l'attaque, dans la requĂȘte d'origine de de serveurs l'accĂšs, l'attaquant peut insĂ©rer un attribut supplĂ©mentaire 'Proxy-State', qui sera reflĂ©tĂ© par le serveur RADIUS dans sa rĂ©ponse. Le contenu de 'Proxy-State' est sĂ©lectionnĂ© en tenant compte de la collision de telle sorte que la valeur du hachage MD5 de vĂ©rification dans les rĂ©ponses rĂ©elle et fausse soit identique. Lors d'une expĂ©rience, la recherche de collision dans MD5 pour rĂ©aliser l'attaque a pris entre 3 et 6 minutes, ce qui est plus long que le dĂ©lai d'attente typique de 30 Ă  60 secondes, mais le temps de recherche de collision peut ĂȘtre rĂ©duit grĂące Ă  l'utilisation d'Ă©quipements plus puissants, en faisant appel au GPU et en parallĂ©lisant les opĂ©rations.

Comme mesure principale de protection contre cette vulnérabilité, il est proposé d'utiliser le protocole EAP (Extensible Authentication Protocol, RFC 3579), dans lequel un attribut Message-Authenticator est utilisé pour une vérification supplémentaire des messages. Pour se protéger contre l'attaque, on peut également utiliser des extensions du protocole (RadSec), qui incluent la transmission de messages RADIUS via des canaux chiffrés basés sur TLS ou DTLS. En outre, il est possible de réduire au minimum les valeurs des délais d'attente de réception de réponse et de bloquer les réponses avec l'attribut Proxy-State. La transmission des messages RADIUS sur TCP complique l'attaque, mais ne l'exclut pas.

Le code pour mener l'attaque n'a pas encore été publié dans le domaine public, mais des modifications visant à améliorer la détection des collisions dans MD5 en tenant compte de la spécificité de l'attaque ont été transmises au projet hashclash. Dans le serveur RADIUS FreeRADIUS, le problÚme a été résolu dans les versions 3.0.27 et 3.2.5 grùce à l'activation obligatoire de l'attribut Message-Authenticator et à l'ajout d'un paramÚtre pour limiter le traitement des paquets avec l'attribut Proxy-State.

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster