Vulnerabilidades en sistemas VNC de acceso remoto

Nuestros expertos de ICS CERT han descubierto 37 vulnerabilidades en 4 implementaciones de VNC. De momento, los desarrolladores han solucionado la mayoría, pero no todas.

Nuestros expertos de ICS CERT han descubierto 37 vulnerabilidades en 4 implementaciones de VNC. De momento los desarrolladores han solucionado la mayoría, pero no todas.

El acceso remoto es cómodo y hasta indispensable dependiendo del caso. El inconveniente es que puede servir a los cibercriminales como punto de entrada a tu infraestructura corporativa, sobre todo si las herramientas de acceso remoto que utilizas son vulnerables.

Vulnerabilidades en VNC

Nuestro ICS CERT estudió varias implementaciones de VNC (Computación Virtual en Red, por sus siglas en inglés). VNC es un sistema de acceso remoto muy utilizado para el soporte técnico, la supervisión de equipos, la enseñanza a distancia, etc. Se ha descubierto que estas implementaciones contienen un total de 37 vulnerabilidades(enlace interno a contenido relacionado), algunas de ellas habían pasado desapercibidas desde 1999.

Resulta complicado establecer una cifra concreta del número de dispositivos que utilizan los sistemas de VNC, pero a juzgar por los datos del motor de búsqueda Shodan, se puede acceder a más de 600,000 servidores de VNC online. Es probable que la cifra real sea mucho más elevada.

Dónde descubrimos las vulnerabilidades

Nuestros expertos en seguridad analizaron 4 implementaciones comunes de VNC de código abierto:

  • LibVNC: una biblioteca, es decir, un conjunto de snippets de código en cuya base los desarrolladores pueden crear aplicaciones. Por ejemplo, LibVNC se utiliza en sistemas que permiten la conexión remota a máquinas virtuales, así como a dispositivos iOS y Android.
  • TightVNC 1.X: una aplicación recomendada por los proveedores de los sistemas de automatización industrial para conectar una interfaz hombre-máquina (HMI).
  • TurboVNC: una implementación de VNC para el trabajo remoto con objetos de vídeo, gráficos y 3D.
  • Ultra VNC: una variante de VNC diseñada especialmente para Windows, también se utiliza bastante en la producción industrial para conectarse a los HMI.

Se han detectado vulnerabilidades de VNC en los cuatro sistemas: uno en TurboVNC, cuatro en TightVNC, diez en LibVNC y hasta 22 en UltraVNC.

Cuáles son las vulnerabilidades y cómo se pueden explotar

Las aplicaciones de VNC se componen de dos partes: un servidor instalado en el ordenador al que tu empleado se conecta por vía remota y un cliente que se ejecuta en el dispositivo desde el cual se conecta. Las vulnerabilidades de VNC son mucho menos comunes en el lado del servidor, que siempre es algo más sencillo y, por tanto, tiene menos errores. No obstante, nuestros expertos de CERT descubrieron errores en ambas partes de las aplicaciones objeto de la investigación, aunque en muchos casos un ataque en el servidor podría ser imposible sin autorización.

Todos los errores están vinculados a un uso incorrecto de la memoria. Explotar estos errores solo conlleva fallos y denegación de servicio, un resultado relativamente favorable. En los casos más graves, los atacantes pueden conseguir el acceso sin autorización a información en el dispositivo o lanzar malware en el sistema de la víctima.

Solucionadas algunas vulnerabilidades, aunque no todas

Nuestros compañeros de CERT informaron sobre las vulnerabilidades de seguridad a los desarrolladores de las respectivas bibliotecas y aplicaciones. La mayoría ya están solucionados. Pero, por desgracia, hay una excepción: Los creadores de TightVNC ya no admiten la primera versión de su sistema y rechazan parchear las vulnerabilidades que se detectan en él. Esto debería considerarse como una razón de peso para mudarse a otra plataforma de VNC.

Además, como en muchos proyectos de código abierto, el código vulnerable se usa en otros muchos desarrollos y no todos los desarrolladores supervisan las actualizaciones de las bibliotecas a las que piden prestado los snippets para sus creaciones. Estos programas seguirán siendo vulnerables hasta que sus creadores actualicen el código, lo que, por desgracia, podría no llegar a pasar nunca.

¿Cómo deberían actuar las empresas?

La lista de vulnerabilidades con información técnica se puede encontrar en el informe publicado en el sitio web de Kaspersky ICS CERT. Aunque nuestros compañeros se centraron en el uso de VNC en empresas industriales, las amenazas son relevantes para cualquier empresa que utilice esta tecnología.

Para evitar que los cibercriminales exploten estas vulnerabilidades contra ti, te recomendamos que supervises los programas con acceso remoto a tu infraestructura.

  • Comprueba qué dispositivos se pueden conectar por vía remota y bloquea las conexiones remotas que no sean necesarias.
  • Localiza todas las aplicaciones de acceso remoto (no solo VNC) y verifica que sus versiones estén actualizadas. Si tienes dudas sobre su fiabilidad, deja de utilizarlas. Si quieres seguir utilizándolas, asegúrate de actualizarlas a la última versión.
  • Protege tus servidores de VNC con una contraseña fuerte. Esto dificultará el ataque.
  • No te conectes a servidores de VNC que no sean de confianza y que no hayan sido probados.
  • Las empresas industriales deberán utilizar una solución de seguridad especializada para los sistemas de automatización industrial como, por ejemplo, Kaspersky Industrial CyberSecurity.
  • Para proteger tus empresas contra las vulnerabilidades de VNC, utiliza una solución de seguridad sólida. Una muy buena opción es Kaspersky Endpoint Security for Business.
Consejos