Os pesquisadores encontraram um total de 37 vulnerabilidades de segurança afetando quatro implementações de VNC (Virtual Network Computing) de código aberto e presentes nos últimos 20 anos, desde 1999.
As falhas foram encontradas nas soluções LibVNC, TightVNC 1.X, TurboVNC e UltraVNC VNC examinadas pelo pesquisador de segurança da Kaspersky Industrial Systems Emergency Response Team (ICS CERT) Pavel Cheremushkin – o altamente popular RealVNC, não analisado por não permitir engenharia reversa.
Esses sistemas VNC podem ser usados em uma ampla variedade de sistemas operacionais, incluindo, entre outros, Windows, Linux, macOS, iOS e Android.
Uma implementação de VNC consiste em duas partes, um cliente e um servidor, permitindo que os usuários acessem remotamente uma máquina executando o servidor VNC com a ajuda de um cliente VNC usando o protocolo RFB para transmitir “imagens de tela, movimento do mouse e eventos de pressionamento de tecla”.
Você pode encontrar mais detalhes sobre as implementações de VNC analisadas por Cheremushkin abaixo:
- LibVNC – uma biblioteca multiplataforma de código aberto para criar um aplicativo personalizado com base no protocolo RFB. O componente de servidor do LibVNC é usado, por exemplo, no VirtualBox para fornecer acesso à máquina virtual via VNC.
- UltraVNC – uma implementação popular de VNC de código aberto desenvolvida especificamente para Windows. Recomendado por muitas empresas de automação industrial para conectar-se a interfaces HMI remotas através do protocolo RFB.
- TightVNC 1.X – mais uma implementação popular do protocolo RFB. Recomendado por muitos fornecedores de sistemas de automação industrial para conectar-se a interfaces HMI de máquinas * nix.
- TurboVNC – uma implementação de VNC de código aberto. Usa a biblioteca libjpeg-turbo para compactar imagens JPEG, a fim de acelerar a transferência de imagens.
Mais de 600.000 servidores VNC potencialmente expostos
Com base nessas informações, o pesquisador ICS CERT da Kaspersky descobriu mais de 600.000 servidores VNC que podem ser acessados remotamente pela Internet com base nas informações coletadas usando o mecanismo de pesquisa Shodan para dispositivos conectados à Internet – essa estimativa não cobre os servidores VNC em execução em locais. redes de área.
As falhas de segurança do VNC encontradas por Cheremushkin são todas causadas pelo uso incorreto da memória, com ataques que os exploram levando a estados de negação de serviço, mau funcionamento, além de acesso não autorizado às informações dos usuários e a opção de executar códigos maliciosos no dispositivo de um destino.
“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 implanta essa tecnologia”, acrescenta o relatório da Kaspersky .
Embora a maioria das vulnerabilidades de corrupção de memória do VNC divulgadas pelos pesquisadores às equipes de desenvolvimento tenham sido corrigidas, em alguns casos elas não foram abordadas até hoje.
É o caso do TightVNC 1.X, cujos desenvolvedores disseram que não resolverão os problemas de segurança encontrados, já que a primeira versão do software “não é mais compatível com a primeira versão do sistema [..]”. Atualmente, eles mantêm o produto comercial TightVNC 2.X.
Erros encontrados nas soluções VNC
Cheremushkin encontrou estouros de buffer baseados em heap na biblioteca LibVNC que poderiam permitir que invasores “ignorassem o ASLR e usassem estouros para obter execução remota de código no cliente”.
O TightVNC veio com uma desreferenciação de ponteiro nulo, levando a estados de negação de sistema (DoS), bem como dois estouros de buffer de heap e um estouro de buffer global que poderia levar à execução remota de código. Como já mencionado acima, esses problemas de segurança não serão corrigidos.
Foi descoberta uma vulnerabilidade de estouro de buffer de pilha no servidor TurboVNC que pode levar à execução remota de código, embora exija autorização no servidor ou controle sobre o cliente VNC antes da conexão.
Quando se trata do UltraVNC, o pesquisador diz que foi capaz de descobrir “um ‘zoológico’ inteiro de vulnerabilidades no UltraVNC – desde estouros triviais de buffer no strcpy e sprintf até vulnerabilidades mais ou menos curiosas que raramente podem ser encontradas em projetos do mundo real. . “
De todas as falhas do UltraVNC que ele viu, o buffer underflow um rastreado como CVE-2018-15361 que pode disparar um DoS em 100% dos ataques, mas também pode ser usado para execução remota de código. O CVE-2019-8262 é atribuído a várias vulnerabilidades de estouro de buffer de heap que podem resultar na execução remota de código.
A lista completa de vulnerabilidades VNC descobertas encontradas por Pavel Cheremushkin da Kaspersky está listada na tabela abaixo:
“No lado positivo, a autenticação por senha geralmente é necessária para explorar vulnerabilidades no servidor, e o servidor pode não permitir que os usuários configurem um método de autenticação sem senha por razões de segurança. Esse é o caso, por exemplo, do UltraVNC”, Cheremushkin concluído.
‘Como proteção contra ataques, os clientes não devem se conectar a servidores VNC desconhecidos e os administradores devem configurar a autenticação no servidor usando uma senha forte exclusiva “.
A Kaspersky fornece as seguintes recomendações para impedir que os invasores explorem essas falhas de segurança do VNC:
- Verifique quais dispositivos podem se conectar remotamente e bloqueie as conexões remotas, se não forem necessárias.
- Inventeie todos os aplicativos de acesso remoto – não apenas o VNC – e verifique se suas versões estão atualizadas. Se você tiver dúvidas sobre sua confiabilidade, pare de usá-las. Se você pretende continuar implantando-os, não deixe 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.
Mais informações e mais detalhes sobre as vulnerabilidades do VNC descobertas por Cheremushkin estão disponíveis no relatório completo de pesquisa de vulnerabilidades do VNC, disponível no site do Kaspersky Lab ICS CERT.
Deixe um comentário abaixo para sabermos à sua opinião em relação a este artigo. Também nos visite em: https://www.deltaservers.com.br/ para acompanhar todas as atualizações que preparamos para você!