Vulnerabilidade no protocolo RADIUS, permitindo falsificação de resposta durante a autenticação

Um grupo de pesquisadores de várias universidades americanas e das empresas Cloudflare e Microsoft desenvolveu uma nova técnica de ataque ao protocolo RADIUS, utilizado por operadores de telecomunicações, serviços em nuvem e provedores de VPN para autenticação, autorização e contabilidade de usuários. O ataque, codificado como Blast-RADIUS, possibilita forjar a resposta do servidor RADIUS durante a autenticação e conectar o assinante sem conhecimento da senha de acesso.

Para explorar a vulnerabilidade (CVE-2024-3596), o atacante deve ter a capacidade de interceptar o tráfego em trânsito e conduzir um ataque MITM (Man-in-the-Middle) completo, permitindo ler, interceptar, bloquear e modificar os pacotes UDP de autenticação que são enviados pelos pontos de acesso (Access-Request) e retornados pelo servidor RADIUS com a confirmação ou rejeição da operação. Interceptando o pedido de autenticação, o atacante pode enviar uma resposta falsa, indicando um resultado diferente (por exemplo, Access-Accept em vez de Access-Reject). O atacante também pode potencialmente interceptar a resposta Access-Challenge, usada na autenticação de dois fatores, e substituí-la por uma resposta Access-Accept para contornar a etapa adicional de verificação.

Vulnerabilidade no protocolo RADIUS, permitindo falsificação de resposta durante a autenticação

O ataque baseia-se no fato de que o protocolo RADIUS utiliza UDP como transporte e verifica a integridade das mensagens transmitidas por meio do algoritmo MD5. Para a verificação das mensagens, que são trocadas entre servidor o ponto de acesso e o servidor RADIUS, é aplicado um segredo conhecido apenas pelo ponto de acesso e pelo servidor RADIUS, mas desconhecido pelo atacante. Em resposta ao pedido de autenticação, o servidor RADIUS gera um hash MD5, que permite que o servidor de acesso confirme que a mensagem foi enviada por um servidor autorizado. O hash MD5 abrange o valor aleatório enviado na solicitação, o identificador do pedido, os atributos retornados e a chave secreta.

Um invasor durante um ataque MITM pode interceptar o identificador e o valor aleatório transmitidos na solicitação, além de prever o código de operação, tamanho e atributos. A tarefa consiste em gerar um hash de verificação correto que corresponda ao resultado alterado da operação e passe pela verificação de hash utilizando uma chave secreta. O algoritmo MD5 não é resistente a colisões, permitindo que um invasor, manipulando o preenchimento adicional irrelevante, encontre uma combinação de dados com os parâmetros necessários, cujo hash MD5 coincida com o hash MD5 da resposta original, e envie uma resposta falsa com o código de aceitação da autenticação (Access-Accept) em vez da mensagem com informações de erro.

Vulnerabilidade no protocolo RADIUS, permitindo falsificação de resposta durante a autenticação

Como a autenticação e a verificação de integridade não são aplicadas durante o processamento de pacotes com a solicitação de acesso (Access-Request), durante o ataque, a solicitação original de servidor acesso pode ter o atributo adicional ‘Proxy-State’ inserido pelo invasor, que será refletido pelo servidor RADIUS em sua resposta. O conteúdo de ‘Proxy-State’ é ajustado levando em consideração a colisão, de modo que o valor do hash MD5 verificado nas respostas reais e falsas seja idêntico. Durante o experimento, a busca de colisões no MD5 para realizar o ataque levou de 3 a 6 minutos, que é mais do que o tempo limite típico de 30 a 60 segundos, mas o tempo de busca de colisões pode ser reduzido utilizando hardware mais potente, incorporando GPU e paralelizando as operações.

Como uma medida principal para proteger contra a vulnerabilidade, sugere-se utilizar o protocolo EAP (Extensible Authentication Protocol, RFC 3579), que utiliza o atributo Message-Authenticator para verificação adicional das mensagens. Para proteção contra o ataque, também podem ser utilizadas extensões do protocolo (RadSec), que incluem a transmissão de mensagens RADIUS através de canais criptografados baseados em TLS ou DTLS. Além disso, é possível minimizar os valores de tempo limite para recebimento de resposta e bloquear respostas com o atributo Proxy-State. A transmissão de mensagens RADIUS sobre TCP complica o ataque, mas não elimina a possibilidade de sua realização.

O código para realizar o ataque ainda não foi publicado de forma aberta, mas mudanças que melhoram a busca por colisões no MD5 foram entregues ao projeto hashclash, levando em consideração as especificidades do ataque. No servidor RADIUS FreeRADIUS, o problema foi corrigido nas versões 3.0.27 e 3.2.5 através da ativação obrigatória do atributo Message-Authenticator e da adição de uma configuração para limitar o processamento de pacotes com o atributo Proxy-State.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster