Terrapin - unha vulnerabilidade no protocolo SSH que che permite reducir a seguridade da conexión

Un grupo de investigadores da Universidade do Ruhr en Bochum (Alemaña) presentou unha nova técnica de ataque MITM en SSH - Terrapin, que explota unha vulnerabilidade (CVE-2023-48795) do protocolo. Un atacante capaz de organizar un ataque MITM ten a capacidade, durante o proceso de negociación da conexión, de bloquear o envío dunha mensaxe configurando extensións de protocolo para reducir o nivel de seguridade da conexión. Un prototipo do conxunto de ferramentas de ataque foi publicado en GitHub.

No contexto de OpenSSH, a vulnerabilidade, por exemplo, permítelle revertir a conexión para usar algoritmos de autenticación menos seguros e desactivar a protección contra ataques de canles laterais que recrean a entrada analizando os atrasos entre as pulsacións do teclado. Na biblioteca de Python AsyncSSH, en combinación cunha vulnerabilidade (CVE-2023-46446) na implementación da máquina de estados internas, o ataque Terrapin permítenos encaixar nunha sesión SSH.

A vulnerabilidade afecta a todas as implementacións SSH que admiten cifrados en modo ChaCha20-Poly1305 ou CBC en combinación co modo ETM (Encrypt-then-MAC). Por exemplo, hai máis de 10 anos dispoñibles en OpenSSH capacidades similares. A vulnerabilidade solucionouse na versión de hoxe de OpenSSH 9.6, así como nas actualizacións de PuTTY 0.80, libssh 0.10.6/0.9.8 e AsyncSSH 2.14.2. En Dropbear SSH, a corrección xa se engadiu ao código, pero aínda non se xerou unha nova versión.

A vulnerabilidade é causada polo feito de que un atacante que controla o tráfico de conexión (por exemplo, o propietario dun punto sen fíos malicioso) pode axustar os números de secuencia de paquetes durante o proceso de negociación da conexión e lograr a eliminación silenciosa dun número arbitrario de mensaxes de servizo SSH. enviado polo cliente ou servidor. Entre outras cousas, un atacante podería eliminar as mensaxes SSH_MSG_EXT_INFO utilizadas para configurar as extensións de protocolo que se usan. Para evitar que a outra parte detecte unha perda de paquetes debido a unha brecha nos números de secuencia, o atacante inicia o envío dun paquete ficticio co mesmo número de secuencia que o paquete remoto para cambiar o número de secuencia. O paquete ficticio contén unha mensaxe coa marca SSH_MSG_IGNORE, que se ignora durante o procesamento.

Terrapin - unha vulnerabilidade no protocolo SSH que che permite reducir a seguridade da conexión

O ataque non se pode levar a cabo mediante cifrados de fluxo e CTR, xa que a violación da integridade detectarase a nivel de aplicación. Na práctica, só o cifrado ChaCha20-Poly1305 é susceptible de ataque ([protexido por correo electrónico]), no que o estado só se rastrexa mediante números de secuencia de mensaxes e unha combinación do modo Cifrar-Entón-MAC (*[protexido por correo electrónico]) e cifrados CBC.

En OpenSSH 9.6 e outras implementacións, implícase unha extensión do protocolo "KEX estrito" para bloquear o ataque, que se activa automaticamente se hai soporte nos lados do servidor e do cliente. A extensión finaliza a conexión ao recibir calquera mensaxe anormais ou innecesaria (por exemplo, coa marca SSH_MSG_IGNORE ou SSH2_MSG_DEBUG) recibida durante o proceso de negociación da conexión e tamén restablece o contador MAC (Código de autenticación de mensaxes) despois de completar cada intercambio de chaves.

Fonte: opennet.ru

Engadir un comentario