Kaspersky descubre 37 vulnerabilidades en sistemas VNC de código abierto

Kaspersky presentó un análisis de Computación Virtual en Red (VNC, por sus siglas en inglés) en el cual fueron descubiertas vulnerabilidades por corrupción de memoria que han existido en un número importante de proyectos durante mucho tiempo. La explotación de algunas de las vulnerabilidades detectadas podría llevar a ejecutar código a distancia y afectar a los usuarios de los sistemas VNC, que ascienden a más de 600.000 servidores accesibles, solo desde la red global, según shodan.io.  Teniendo en cuenta que solo se puede acceder a los dispositivos en las redes locales, el número real de instalaciones de VNC podría ser más elevada.

Los expertos de Kaspersky ICS CERT descubrieron 37 vulnerabilidades en 4 importantes implementaciones de VCN (Virtual Network Computing), sistemas que se utilizan para proporcionar el acceso a distancia de un dispositivo a otro mediante el uso del protocolo Remote Frame Buffer (RFB). Debido a su disponibilidad en diferentes plataformas y la presencia de varias versiones de fuente abierta, los sistemas VNC se han convertido en algunas de las herramientas de uso compartido para escritorio más populares hasta la fecha. Se usan activamente en instalaciones industriales automatizadas que permiten el control a distancia de sistemas, aproximadamente en el 32% de las computadoras de redes industriales que tienen alguna forma de herramientas de administración remota.

El nivel de prevalencia de tales sistemas en general, y particularmente en los que son vulnerables, es un problema especialmente significativo para el sector industrial pues los daños potenciales pueden producir pérdidas considerables debido a la interrupción de los complejos procesos de producción. El acceso remoto es cómodo y en el caso de algunas empresas, resulta indispensable. El inconveniente es que puede servir a los cibercriminales como punto de entrada a la infraestructura corporativa de las compañías, sobre todo si las herramientas de acceso remoto que se utilizan son vulnerables.

Los investigadores de Kaspersky estudiaron algunos de los sistemas VNC más populares: LibVNC, UltraVNC, TightVNC1.X y TurboVNC

Aunque estos proyectos de VNC fueron analizados previamente por otros investigadores, no todas las vulnerabilidades fueron descubiertas y enmendadas. Como resultado del análisis realizado por los investigadores de Kaspersky, se crearon 37 registros CVE que marcan diversas vulnerabilidades. Se encontraron vulnerabilidades no solo en el cliente, sino también en el servidor del sistema. Algunas de ellas pueden permitir que se ejecute código a distancia, lo que a su vez podría permitir a un agente malintencionado realizar cambios arbitrarios en los sistemas atacados. En una nota más positiva, muchas vulnerabilidades del lado del servidor solo podrían explotarse si se tiene autenticada la contraseña y algunos servidores no permiten establecer el acceso sin contraseña.

“Me sorprendió ver la simplicidad de las vulnerabilidades descubiertas, especialmente teniendo en cuenta su importante vida útil. Esto significa que los atacantes podrían haber notado y aprovechado las vulnerabilidades hace mucho tiempo. Además, algunas clases de vulnerabilidades están presentes en muchos proyectos de fuente abierta y permanecen allí incluso después de reestructurar el código base, que incluía código vulnerable. En Kaspersky creemos que es importante detectar sistemáticamente tales multitudes de proyectos con vulnerabilidades heredadas, por eso llevamos a cabo investigaciones de este tipo”, comentó Pavel Cheremushkin, investigador de vulnerabilidades en Kaspersky ICS CERT.

La información sobre todas las vulnerabilidades descubiertas se ha transmitido a los programadores. Casi todos los contactados enmendaron las vulnerabilidades, con la excepción de TightVNC, que no acepta este producto. Los usuarios de este último deben considerar opciones alternativas del sistema VNC.

Para abordar los riesgos relacionados con las herramientas vulnerables de VNC, los expertos de Kaspersky recomiendan a los programadores y usuarios de VNC que:

• Auditen el uso de herramientas de administración a distancia de aplicaciones y sistemas utilizadas en la red industrial. Eliminen todas las herramientas de administración a distancia que no sean necesarias para el proceso industrial.

• Lleven a cabo una auditoría y desactiven las herramientas de administración a distancia que vienen con el software ICS (consulten la documentación pertinente al software para obtener instrucciones detalladas), siempre que el proceso industrial no las requiera.

• Supervisen y lleven un registro de los eventos para cada sesión de control a distancia requerida por el proceso industrial; el acceso a distancia debe estar inactivado de manera predeterminada y activado solo por encargo y por períodos de tiempo limitados.

• Actualicen periódicamente los sistemas operativos, el software de aplicación y las soluciones de seguridad, establezcan un procedimiento para arreglarlos.

• Eviten la conexión a servidores VNC desconocidos y creen contraseñas únicas y seguras en todos los servidores.

• Utilicen un producto de ciberseguridad dedicado para sistemas de automatización industrial, como Kaspersky Industrial Cybersecurity.