Getty Images Uno de los protocolos de red más utilizados es vulnerable a un ataque recién descubierto que puede permitir a los adversarios obtener el control de una variedad de entornos, incluidos controladores industriales, servicios de telecomunicaciones, ISP y todo tipo de redes empresariales. RADIUS, abreviatura de Remote Authentication Dial-In User Service, recuerda a los días del acceso telefónico a Internet y a la red a través de redes telefónicas públicas conmutadas. Desde entonces, sigue siendo el estándar de facto para la autenticación ligera y es compatible con prácticamente todos los conmutadores, enrutadores, puntos de acceso y concentradores VPN enviados en las últimas dos décadas. A pesar de sus orígenes tempranos, RADIUS sigue siendo un elemento básico esencial para administrar las interacciones cliente-servidor para: Acceso VPN Conexiones DSL y Fiber to the Home ofrecidas por ISP, Wi-Fi y autenticación 802.1X Roaming celular 2G y 3G Red de datos 5G Autenticación de nombres Descarga de datos móviles Autenticación a través de APN privados para conectar dispositivos móviles a redes empresariales Autenticación a dispositivos de gestión de infraestructura crítica Eduroam y OpenRoaming Wi-Fi RADIUS proporciona una interacción perfecta entre clientes (normalmente enrutadores, conmutadores u otros dispositivos que proporcionan acceso a la red) y un servidor RADIUS central, que actúa como guardián de la autenticación de usuarios y las políticas de acceso. El propósito de RADIUS es proporcionar autenticación, autorización y gestión de contabilidad centralizadas para inicios de sesión remotos. El protocolo fue desarrollado en 1991 por una empresa conocida como Livingston Enterprises. En 1997, el Grupo de trabajo de ingeniería de Internet lo convirtió en un estándar oficial, que se actualizó tres años después. Aunque existe una propuesta preliminar para enviar tráfico RADIUS dentro de una sesión cifrada con TLS que es compatible con algunos proveedores, muchos dispositivos que utilizan el protocolo solo envían paquetes en texto claro a través de UDP (Protocolo de datagramas de usuario). XKCD Ampliar / Una ilustración más detallada de RADIUS utilizando el Protocolo de autenticación de contraseña sobre UDP.Goldberg et al. ¿Autenticación personalizada con MD5? ¿De verdad? Desde 1994, RADIUS se ha basado en un uso improvisado y local de la función hash MD5. Creada por primera vez en 1991 y adoptada por la IETF en 1992, MD5 era en ese momento una función hash popular para crear lo que se conoce como «resúmenes de mensajes» que asignan una entrada arbitraria como un número, texto o archivo binario a una salida de longitud fija de 16 bytes. Para una función hash criptográfica, debería ser computacionalmente imposible para un atacante encontrar dos entradas que se asignen a la misma salida. Desafortunadamente, MD5 demostró estar basado en un diseño débil: en pocos años, hubo señales de que la función podría ser más susceptible de lo que se pensaba originalmente a colisiones inducidas por atacantes, una falla fatal que permite al atacante generar dos entradas distintas que producen salidas idénticas. Estas sospechas fueron verificadas formalmente en un artículo publicado en 2004 por los investigadores Xiaoyun Wang y Hongbo Yu y refinadas en un artículo de investigación publicado tres años después. El último artículo, publicado en 2007 por los investigadores Marc Stevens, Arjen Lenstra y Benne de Weger, describió lo que se conoce como una colisión de prefijo elegido, un tipo de colisión que resulta de dos mensajes elegidos por un atacante que, cuando se combinan con dos mensajes adicionales, crean el mismo hash. Es decir, el adversario elige libremente dos prefijos de entrada distintos 𝑃 y 𝑃′ de contenido arbitrario que, cuando se combinan con sufijos cuidadosamente correspondientes 𝑆 y 𝑆′ que parecen un galimatías aleatorio, generan el mismo hash. En notación matemática, una colisión de prefijo elegido de este tipo se escribiría como 𝐻(𝑃‖𝑆)=𝐻(𝑃′‖𝑆′). Este tipo de ataque de colisión es mucho más poderoso porque le permite al atacante la libertad de crear falsificaciones altamente personalizadas. Para ilustrar la practicidad y las consecuencias devastadoras del ataque, Stevens, Lenstra y de Weger lo utilizaron para crear dos certificados criptográficos X.509 que generaban la misma firma MD5 pero diferentes claves públicas y diferentes campos de nombre distinguido. Una colisión de este tipo podría inducir a una autoridad de certificación que pretendiera firmar un certificado para un dominio a firmar sin saberlo un certificado para un dominio malicioso completamente diferente. En 2008, un equipo de investigadores que incluía a Stevens, Lenstra y de Weger demostró cómo un ataque de prefijo elegido en MD5 les permitió crear una autoridad de certificación falsa que podía generar certificados TLS en los que confiarían todos los navegadores principales. Un ingrediente clave para el ataque es un software llamado hashclash, desarrollado por los investigadores. Hashclash ya se ha puesto a disposición del público. A pesar de la indiscutible desaparición de MD5, la función siguió siendo de uso generalizado durante años. La desuso de MD5 no comenzó en serio hasta 2012 después de que se descubriera que un malware conocido como Flame, supuestamente creado conjuntamente por los gobiernos de Israel y los EE. UU., había utilizado un ataque de prefijo elegido para falsificar la firma de código basada en MD5 por el mecanismo de actualización de Windows de Microsoft. Flame utilizó la suplantación habilitada para colisiones para secuestrar el mecanismo de actualización para que el malware pudiera propagarse de un dispositivo a otro dentro de una red infectada. Más de 12 años después de que se descubriera el daño devastador de Flame y dos décadas después de que se confirmara la susceptibilidad a las colisiones, MD5 ha derribado otra tecnología ampliamente implementada que se ha resistido a la sabiduría popular de alejarse del esquema de hash: el protocolo RADIUS, que es compatible con hardware o software proporcionado por al menos 86 proveedores distintos. El resultado es “Blast RADIUS”, un ataque complejo que permite a un atacante con una posición activa de adversario en el medio obtener acceso de administrador a dispositivos que usan RADIUS para autenticarse en un servidor. “Sorprendentemente, en las dos décadas transcurridas desde que Wang et al. demostraron una colisión de hash MD5 en 2004, RADIUS no se ha actualizado para eliminar MD5”, escribió el equipo de investigación detrás de Blast RADIUS en un artículo publicado el martes y titulado RADIUS/UDP Considered Harmful. “De hecho, RADIUS parece haber recibido notablemente poco análisis de seguridad dada su ubicuidad en las redes modernas”. La publicación del artículo se está coordinando con los boletines de seguridad de al menos 90 proveedores cuyos productos son vulnerables. Muchos de los boletines están acompañados de parches que implementan soluciones a corto plazo, mientras que un grupo de trabajo de ingenieros de toda la industria redacta soluciones a largo plazo. Cualquiera que use hardware o software que incorpore RADIUS debe leer los detalles técnicos proporcionados más adelante en esta publicación y consultar con el fabricante para obtener orientación sobre seguridad.