Uma equipe de pesquisadores acadêmicos de universidades na Califórnia e Massachusetts demonstrou que é possível, em certas condições, para invasores passivos de rede obterem chaves RSA secretas de erros que ocorrem naturalmente, resultando em tentativas falhas de conexão SSH (secure shell).
SSH é um protocolo de rede criptográfico para comunicação segura, amplamente utilizado em acessos remotos a sistemas, transferências de arquivos, e tarefas de administração de sistemas.
RSA é um sistema de criptografia de chave pública usado no SSH para autenticação de usuários.
Ele usa uma chave privada, secreta, para decifrar a comunicação que é criptografada com uma chave pública, compartilhável.
Um artigo publicado por pesquisadores universitários Keegan Ryan, Kaiwen He, Nadia Heninger e George Arnold Sullivan, mostra que é possível para um invasor passivo de rede obter uma chave RSA privada de servidores SSH que estão apresentando falhas durante o cálculo de assinatura.
"Se uma implementação de assinatura usando CRT-RSA tem uma falha durante o cálculo de assinatura, um invasor que observa essa assinatura pode ser capaz de calcular a chave privada do assinante”, dizem os pesquisadores em seu artigo técnico.
O Teorema Chinês do Resto (CRT) é usado com o algoritmo RSA para diminuir o tamanho do bit para a chave pública e acelerar o tempo de descriptografia.
"Esses ataques exploram o fato de que, se um erro é cometido durante o cálculo de módulo um primo, digamos q, então a assinatura inválida resultante 's' é equivalente à assinatura correta módulo um fator primo p, mas não q", explicam os pesquisadores.
Embora erros deste tipo sejam raros, eles são inevitáveis devido a falhas de hardware.
Dado um conjunto de dados suficientemente grande, um invasor pode encontrar e aproveitar muitas oportunidades para exploração.
Esse é um problema conhecido que afeta versões mais antigas do TLS.
Foi endereçado em TLS 1.3, cifrando o handshake que estabelece a conexão, impedindo assim eavesdroppers passivos de lerem as assinaturas.
O SSH era anteriormente considerado seguro contra este ataque, mas os pesquisadores provaram que é possível recuperar segredos do RSA usando ataques baseados em treliça que recuperam a chave privada de nonces parcialmente conhecidos.
Os pesquisadores notam que seus testes não incluem resultados "para RSA-1024, SHA512 porque o número de bits desconhecidos no hash está muito além do que podemos forçar brutalmente ou resolver com treliças."
No entanto, eles acrescentam que "o ataque de treliça é bastante eficiente" e que seus testes tiveram uma taxa de sucesso de 100%.
Usando seu ataque de treliça, os pesquisadores conseguiram encontrar 4.962 assinaturas inválidas que revelaram a fatoração da chave pública RSA correspondente, permitindo assim a recuperação das chaves privadas correspondentes a 189 chaves públicas RSA únicas.
Muitos dos segredos recuperados vieram de dispositivos com implementações vulneráveis, o maior número de assinaturas veio de dispositivos Zyxel.
Os pesquisadores divulgaram o problema para a Cisco e Zyxel no início deste ano e os fornecedores investigaram a causa.
A Cisco determinou que uma mitigação adequada foi introduzida no ano passado no Software Cisco ASA e FTD.
A empresa informou aos pesquisadores que estava procurando formas de mitigar no Software Cisco IOS e IOS XE.
A Zyxel descobriu que a versão do firmware ZLD que os pesquisadores usaram no experimento havia mudado para o uso do OpenSSL, o qual elimina o risco.
Os pesquisadores alertam que, se as implementações de assinatura que usam o algoritmo do Teorema Chinês do Resto (CRT) com RSA tiverem uma falha ao calcular a assinatura, um invasor que observa a assinatura pode ser capaz de computar a chave privada do assinante.
Para contrariar a capacidade de um invasor de recuperar a chave secreta, os pesquisadores recomendam implementações que validem assinaturas antes de enviá-las, como a suíte OpenSSH que se baseia em OpenSSL para gerar assinaturas.
Publicidade
Passe por todas as principais fases de um pentest, utilizando cenários, domínios e técnicas reais utilizados no dia a dia de um hacker ético. Conte ainda com certificado e suporte, tudo 100% gratuito. Saiba mais...