Terrapin - uma vulnerabilidade no protocolo SSH que permite reduzir a segurança da conexão

Um grupo de pesquisadores da Universidade do Ruhr em Bochum (Alemanha) apresentou uma nova técnica de ataque MITM ao SSH – Terrapin, que explora uma vulnerabilidade (CVE-2023-48795) no protocolo. Um invasor capaz de organizar um ataque MITM tem a capacidade, durante o processo de negociação da conexão, de bloquear o envio de uma mensagem configurando extensões de protocolo para reduzir o nível de segurança da conexão. Um protótipo do kit de ferramentas de ataque foi publicado no GitHub.

No contexto do OpenSSH, a vulnerabilidade, por exemplo, permite reverter a conexão para usar algoritmos de autenticação menos seguros e desabilitar a proteção contra ataques de canal lateral que recriam a entrada analisando os atrasos entre as teclas digitadas no teclado. Na biblioteca Python AsyncSSH, em combinação com uma vulnerabilidade (CVE-2023-46446) na implementação da máquina de estado interna, o ataque Terrapin nos permite entrar em uma sessão SSH.

A vulnerabilidade afeta todas as implementações SSH que suportam cifras de modo ChaCha20-Poly1305 ou CBC em combinação com o modo ETM (Encrypt-then-MAC). Por exemplo, recursos semelhantes estão disponíveis no OpenSSH há mais de 10 anos. A vulnerabilidade foi corrigida no lançamento de hoje do OpenSSH 9.6, bem como nas atualizações para PuTTY 0.80, libssh 0.10.6/0.9.8 e AsyncSSH 2.14.2. No Dropbear SSH, a correção já foi adicionada ao código, mas uma nova versão ainda não foi gerada.

A vulnerabilidade é causada pelo fato de que um invasor que controla o tráfego de conexão (por exemplo, o proprietário de um ponto sem fio malicioso) pode ajustar os números de sequência dos pacotes durante o processo de negociação da conexão e conseguir a exclusão silenciosa de um número arbitrário de mensagens de serviço SSH. enviado pelo cliente ou servidor. Entre outras coisas, um invasor pode excluir mensagens SSH_MSG_EXT_INFO usadas para configurar as extensões de protocolo usadas. Para evitar que a outra parte detecte uma perda de pacote devido a uma lacuna nos números de sequência, o invasor inicia o envio de um pacote fictício com o mesmo número de sequência do pacote remoto para mudar o número de sequência. O pacote fictício contém uma mensagem com o sinalizador SSH_MSG_IGNORE, que é ignorado durante o processamento.

Terrapin - uma vulnerabilidade no protocolo SSH que permite reduzir a segurança da conexão

O ataque não pode ser realizado utilizando cifras de fluxo e CTR, pois a violação de integridade será detectada no nível da aplicação. Na prática, apenas a cifra ChaCha20-Poly1305 é suscetível a ataques ([email protegido]), em que o estado é rastreado apenas por números de sequência de mensagens e uma combinação do modo Encrypt-Then-MAC (*[email protegido]) e cifras CBC.

No OpenSSH 9.6 e outras implementações, uma extensão do protocolo “strict KEX” é implementada para bloquear o ataque, que é habilitado automaticamente se houver suporte do lado do servidor e do cliente. A extensão encerra a conexão ao receber quaisquer mensagens anormais ou desnecessárias (por exemplo, com o sinalizador SSH_MSG_IGNORE ou SSH2_MSG_DEBUG) recebidas durante o processo de negociação da conexão e também zera o contador MAC (Message Authentication Code) após a conclusão de cada troca de chave.

Fonte: opennet.ru

Adicionar um comentário