miércoles, 3 de febrero de 2010

Vulnerabilidades SSH

Aunque el protocolo SSH ha sido diseñado como ya hemos comentado, para proporcionar un canal seguro de comunicación entre un usuario y un host remoto, se han descubierto la existendia de diversos problemas de seguridad en varias de sus implementaciones. Algunas de estas vulnerabilidades pueden ser utilizadas principalmente para la ejecución de código arbitrario con los privilegios del proceso SSH y afectar indistintamente tanto a un servidor como a un cliente SSH.

Estas vulnerabilidades se encuentran en el código responsable de la inicialización de las comunicaciones y en el intercambio de claves. Se centran en un tratamiento incorrecto de paquetes que tienen diversos campos con una longitud no válida, vacíos o bien con cadenas de tecxto a NULL.

Las implementaciones de SSH susceptibles de ser vulnerables son:
  • Pragma Systems (Pragma SecureShell 2.0)
  • PuTTY (versiones anteriores a la 0.53b)
  • F-Secure para Windows (versiones anteriores a la 5.2)
  • SSH para Windows y Unix (versiones anteriores a la 3.2.2)
  • FiSSH 1.0A y anteriores
  • SecureNetTerm v5.4.1 y anteriores
  • ShellGuard 3.4.6 y anteriores
  • WinSCP v2.0 y anteriores

Rapid7 ha publicado un banco de pruebas, denominado SSHredder, que permite comprobar si una implementación es vulnerable a los ataques. Se trata de diversos paquetes que deben enviarse al cliente o servidor SSH, utilizando netcat o una herramienta equivalente.

Otros dos agujeros del protocolo han sido descubiertos por un grupo de científicos de la universidad de California. El primero de ellos está relacionado con el bloqueo de las cifras. El sistema actual permite adivinar a un hacker si un conjunto de datos consta de más de siete caracteres. Ésto, no es suficiente para que el pirata ataque al sistema pero puede ayudarle a calcular la longitud aproximada del password.

El segundo agujero de seguridad está relacionado con el tiempo transcurrido entre dos pulsaciones de teclado consecutivas mientras se escribe la contraseña, ya que puede revelar información muy importante. Cada carácter que el usuario pulsa en el teclado se envía inmediantamente a un servidor remoto en paquetes IP independientes. Según los investigadores, este hecho deja al descubierto información sobre la contraseña utilizada.

Con los resultados obtenidos, los científicos realizaron un sistema de ataque denominado Herbivore, que demostraba la posibilidad de conocer las contraseñas de los usuario vigilando sesiones bajo protocolo SSH. Además, advierten que recogiendo la información de la sincronización en la red, Hervibore puede aumentar la velocidad de una búsqueda exhaustiva de la contraseña en un 50%. Cabe destacar que estos resultados no sólo son aplicables a SSH sino que se extienden en general a todos los protocolos de encriptación.

No hay comentarios:

Publicar un comentario