Vulnerabilidades na tecnologia de segurança de rede sem fio WPA3 e EAP-pwd

Mathy Vanhoef, autor do ataque KRACK a redes sem fio com WPA2, e Eyal Ronen, coautor de alguns ataques a TLS, divulgaram informações sobre seis vulnerabilidades (CVE-2019-9494 - CVE-2019-9499) na tecnologia proteção de redes sem fio WPA3, permitindo recriar a senha de conexão e obter acesso à rede sem fio sem saber a senha. As vulnerabilidades são coletivamente denominadas Dragonblood e permitem que o método de negociação de conexão Dragonfly, que fornece proteção contra adivinhação de senha offline, seja comprometido. Além do WPA3, o método Dragonfly também é usado para proteger contra adivinhação de dicionário no protocolo EAP-pwd usado no Android, servidores RADIUS e hostapd/wpa_supplicant.

O estudo identificou dois tipos principais de problemas arquitetônicos no WPA3. Ambos os tipos de problemas podem ser usados ​​para reconstruir a senha de acesso. O primeiro tipo permite reverter para métodos criptográficos não confiáveis ​​(ataque de downgrade): ferramentas para garantir a compatibilidade com WPA2 (modo de trânsito, permitindo o uso de WPA2 e WPA3) permitem ao invasor forçar o cliente a realizar a negociação de conexão em quatro etapas usado pelo WPA2, que permite o uso adicional de senhas clássicas de ataques de força bruta aplicáveis ​​ao WPA2. Além disso, foi identificada a possibilidade de realizar um ataque de downgrade diretamente no método de correspondência de conexão Dragonfly, permitindo reverter para tipos de curvas elípticas menos seguras.

O segundo tipo de problema leva ao vazamento de informações sobre as características da senha por meio de canais de terceiros e é baseado em falhas no método de codificação de senha do Dragonfly, que permitem que dados indiretos, como alterações nos atrasos durante as operações, recriem a senha original. . O algoritmo hash-to-curve do Dragonfly é suscetível a ataques de cache, e seu algoritmo hash-to-group é suscetível a ataques em tempo de execução (ataque de tempo).

Para realizar ataques de mineração de cache, o invasor deve ser capaz de executar código sem privilégios no sistema do usuário conectado à rede sem fio. Ambos os métodos permitem obter as informações necessárias para esclarecer a escolha correta das partes da senha durante o processo de seleção da senha. A eficácia do ataque é bastante alta e permite adivinhar uma senha de 8 caracteres que inclui caracteres minúsculos, interceptando apenas 40 sessões de handshake e gastando recursos equivalentes ao aluguel da capacidade do Amazon EC2 por US$ 125.

Com base nas vulnerabilidades identificadas, vários cenários de ataque foram propostos:

  • Ataque de reversão no WPA2 com a capacidade de realizar seleção de dicionário. Em ambientes onde o cliente e o ponto de acesso suportam WPA3 e WPA2, um invasor pode implantar seu próprio ponto de acesso não autorizado com o mesmo nome de rede que suporta apenas WPA2. Em tal situação, o cliente utilizará o método de negociação de conexão característico do WPA2, durante o qual será determinado que tal reversão é inadmissível, mas isso será feito na fase em que as mensagens de negociação de canal forem enviadas e todas as informações necessárias para um ataque de dicionário já vazou. Um método semelhante pode ser usado para reverter versões problemáticas de curvas elípticas no SAE.

    Além disso, descobriu-se que o daemon iwd, desenvolvido pela Intel como alternativa ao wpa_supplicant, e a pilha sem fio do Samsung Galaxy S10 são suscetíveis a ataques de downgrade mesmo em redes que usam apenas WPA3 – caso esses dispositivos estivessem previamente conectados a uma rede WPA3 , eles tentarão se conectar a uma rede WPA2 fictícia com o mesmo nome.

  • Ataque de canal lateral que extrai informações do cache do processador. O algoritmo de codificação de senha no Dragonfly contém ramificação condicional e um invasor, tendo a oportunidade de executar o código no sistema do usuário sem fio, pode, com base em uma análise do comportamento do cache, determinar qual dos blocos de expressão if-then-else está selecionado . As informações obtidas podem ser usadas para realizar adivinhação progressiva de senhas usando métodos semelhantes aos ataques de dicionário offline em senhas WPA2. Para proteção, propõe-se passar a utilizar operações com tempo de execução constante, independentemente da natureza dos dados processados;
  • Ataque de canal lateral com estimativa do tempo de execução da operação. O código do Dragonfly usa múltiplos grupos multiplicativos (MODP) para codificar senhas e um número variável de iterações, cujo número depende da senha utilizada e do endereço MAC do ponto de acesso ou cliente. Um invasor remoto pode determinar quantas iterações foram realizadas durante a codificação da senha e usá-las como uma indicação para adivinhação progressiva da senha.
  • Negação de chamada de serviço. Um invasor pode bloquear o funcionamento de determinadas funções do ponto de acesso devido ao esgotamento dos recursos disponíveis, enviando um grande número de solicitações de negociação de canais de comunicação. Para contornar a proteção contra inundações fornecida pelo WPA3, basta enviar solicitações de endereços MAC fictícios e não repetidos.
  • Fallback para grupos criptográficos menos seguros usados ​​no processo de negociação de conexão WPA3. Por exemplo, se um cliente suporta curvas elípticas P-521 e P-256, e usa P-521 como opção de prioridade, então o invasor, independentemente do suporte
    O P-521 no lado do ponto de acesso pode forçar o cliente a usar o P-256. O ataque é realizado filtrando algumas mensagens durante o processo de negociação da conexão e enviando mensagens falsas com informações sobre a falta de suporte a determinados tipos de curvas elípticas.

Para verificar vulnerabilidades nos dispositivos, vários scripts foram preparados com exemplos de ataques:

  • Dragonslayer - implementação de ataques ao EAP-pwd;
  • Dragondrain é um utilitário para verificar a vulnerabilidade de pontos de acesso em busca de vulnerabilidades na implementação do método de negociação de conexão SAE (Simultaneous Authentication of Equals), que pode ser usado para iniciar uma negação de serviço;
  • Dragontime - um script para realizar um ataque de canal lateral contra SAE, levando em consideração a diferença no tempo de processamento das operações ao utilizar os grupos MODP 22, 23 e 24;
  • Dragonforce é um utilitário para recuperação de informações (adivinhação de senha) com base em informações sobre diferentes tempos de processamento de operações ou determinação da retenção de dados no cache.

A Wi-Fi Alliance, que desenvolve padrões para redes sem fio, anunciou que o problema afeta um número limitado de implementações iniciais do WPA3-Personal e pode ser corrigido por meio de uma atualização de firmware e software. Não houve casos documentados de vulnerabilidades usadas para realizar ações maliciosas. Para reforçar a segurança, a Wi-Fi Alliance adicionou testes adicionais ao programa de certificação de dispositivos sem fio para verificar a exatidão das implementações, e também entrou em contato com os fabricantes de dispositivos para coordenar conjuntamente soluções para problemas identificados. Patches já foram lançados para hostap/wpa_supplicant. Atualizações de pacotes estão disponíveis para Ubuntu. Debian, RHEL, SUSE/openSUSE, Arch, Fedora e FreeBSD ainda apresentam problemas não corrigidos.

Fonte: opennet.ru

Adicionar um comentário