Kaspersky descobre quase 40 falhas no acesso remoto VNC

Nossos especialistas encontraram 37 vulnerabilidades em quatro implementações de VNC. Os desenvolvedores corrigiram a maioria, mas não todas.

O acesso remoto é conveniente e às vezes indispensável. A desvantagem é que pode fornecer um ponto de entrada na infraestrutura corporativa para invasores, especialmente se as ferramentas de acesso remoto usadas forem vulneráveis.

Vulnerabilidades VNC

Nosso ICS CERT estudou várias implementações de VNC (Virtual Network Computing). O VNC é um sistema de acesso remoto comum amplamente empregado para suporte técnico, monitoramento de equipamentos, ensino à distância e outros fins. Verificou-se que essas implementações contêm um total de 37 vulnerabilidades, algumas das quais passaram despercebidas desde 1999.

É difícil definir um número preciso de dispositivos que usam sistemas VNC, mas, a julgar pelos dados do mecanismo de busca Shodan, mais de 600 mil servidores VNC podem ser acessados on-line. É provável que o número real seja muito maior.

Onde encontramos vulnerabilidades

Nossos especialistas analisaram quatro implementações comuns de VNC de código aberto:

  • LibVNC – biblioteca (conjunto de trechos de código prontos, nos quais os desenvolvedores podem criar aplicativos). O LibVNC é usado, por exemplo, em sistemas que permitem conexões remotas a máquinas virtuais, bem como em dispositivos móveis iOS e Android.
  • TightVNC 1.X – aplicativo recomendado pelos fornecedores de sistemas de automação industrial para conectar-se a uma interface homem-máquina (HMI).
  • TurboVNC – implementação VNC para trabalho remoto com objetos gráficos, 3D e de vídeo.
  • UltraVNC – variante VNC criada especificamente para Windows; também é amplamente utilizado na produção industrial para conexão com HMIs.

Foram detectados erros nos quatro sistemas: um no TurboVNC, quatro no TightVNC, dez no LibVNC e até 22 no UltraVNC.

Quais são as vulnerabilidades e como elas podem ser exploradas 

Os aplicativos VNC consistem em duas partes: um servidor instalado no computador ao qual seu funcionário se conecta remotamente e um cliente em execução no dispositivo ao qual ele se conecta. As vulnerabilidades são muito menos comuns no lado do servidor, que geralmente é um pouco mais simples e, portanto, tem menos bugs. No entanto, nossos especialistas em CERT encontraram falhas em ambas as partes dos aplicativos sob investigação, embora um ataque ao servidor em muitos casos seja impossível sem autorização.

Todos os bugs estão vinculados ao uso incorreto da memória. Explorá-los leva apenas a um mau funcionamento e à negação de serviço – um resultado relativamente favorável. Em casos mais graves, os invasores podem obter acesso não autorizado às informações no dispositivo ou liberar malware no sistema da vítima.

 Algumas vulnerabilidades foram corrigidas, mas não todas

Nosso pessoal do CERT relatou os erros aos desenvolvedores das respectivas bibliotecas e aplicativos. A maioria já foi consertada. Infelizmente, há uma exceção: os criadores do TightVNC não suportam mais a primeira versão do sistema e se recusaram a corrigir as vulnerabilidades detectadas nele. Esse é um motivo importante para considerar a possibilidade de mudar para outra plataforma VNC.

Além disso, como em muitos projetos de código aberto, o código vulnerável é usado em vários outros desenvolvimentos, e nem todos os desenvolvedores mantêm um controle próximo das atualizações da biblioteca, das quais pediram trechos emprestados para suas criações. Esses programas permanecerão vulneráveis até que seus criadores atualizem o código, o que, lamentamos dizer, pode nunca acontecer.

O que as empresas devem fazer?

A lista de vulnerabilidades com detalhes técnicos pode ser encontrada no relatório publicado no site da Kaspersky ICS CERT. Embora o foco de nossos colegas tenha sido o uso de VNC em empresas industriais, as ameaças são relevantes para qualquer empresa que implante essa tecnologia.

Para impedir que os cibercriminosos explorem essas vulnerabilidades contra você, recomendamos que você monitore os programas de acesso remoto em sua infraestrutura.

  • Verifique quais dispositivos podem se conectar remotamente e bloqueie as conexões remotas, se não forem necessárias.
  • Faça um inventário de todos os aplicativos de acesso remoto – não apenas o VNC – e verifique se as versões estão atualizadas. Se você tiver dúvidas sobre sua confiabilidade, pare de usá-las. Se você pretende continuar implantando-os, certifique-se de atualizar para a versão mais recente.
  • Proteja seus servidores VNC com uma senha forte. Isso tornará os ataques muito mais difíceis.
  • Não conecte a servidores VNC não confiáveis ​​ou não testados.
  • Em ambientes corporativos industriais, use uma solução de segurança especializada para sistemas de automação industrial, por exemplo, Kaspersky Industrial CyberSecurity.
  • Para proteger seus negócios, use uma solução de segurança robusta. Uma excelente opção é o Kaspersky Endpoint Security for Business.
Dicas