Vulnerabilità nei sistemi VNC ad accesso remoto

I nostri esperti dell’ICS Cert hanno scoperto 37 vulnerabilità in 4 implementazioni VNC. Per il momento gli sviluppatori hanno risolto la maggior parte, ma non tutte.

L’accesso remoto è comodo e a volte indispensabile. Il rovescio della medaglia  è che può aiutare i cybercriminali a entrare nella vostra infrastruttura aziendale, soprattutto se gli strumenti di accesso remoto utilizzati sono vulnerabili.

Vulnerabilità nei VNC

Il nostro ICS CERT ha studiato diverse implementazioni VNC (Virtual Network Computing). VNC è un sistema comune di accesso remoto ampiamente utilizzato per l’assistenza tecnico, il monitoraggio delle apparecchiature, l’apprendimento a distanza e altri scopi. Si è scoperto che queste implementazioni contengono un totale di 37 vulnerabilità, alcune delle quali sono passate inosservate dal 1999.

È difficile fornire una stima precisa sul numero di dispositivi che utilizzano sistemi VNC ma, a giudicare dai dati del motore di ricerca Shodan, è possibile accedere online a più di 600 mila server VNC online. È probabile che la cifra effettiva sia molto più elevata.

Dove abbiamo trovato le vulnerabilità

I nostri esperti in sicurezza hanno esaminato quattro comuni implementazioni VNC open-source:

– LibVNC — si tratta di una libreria, cioè un insieme di frammenti di codice già pronti su cui gli sviluppatori possono creare applicazioni; LibVNC viene utilizzato ad esempio, su sistemi che consentono connessioni remote a macchine virtuali, nonché a dispositivi mobili iOS e Android;

– TightVNC 1.X ­ — un’applicazione raccomandata dai fornitori di sistemi di automazione industriale per la connessione a un’interfaccia uomo-macchina (HMI);

– TurboVNC — un’implementazione VNC per il lavoro a distanza con oggetti grafici, 3D e video;

– UltraVNC — una variante VNC specifica per Windows; è ampiamente utilizzata anche nella produzione industriale per la connessione agli HMI.

Sono state rilevate vulnerabilità di VNC in tutti e quattro i sistemi: uno in TurboVNC, quattro in TightVNC, dieci in LibVNC e ben 22 in UltraVNC.

Quali sono le vulnerabilità e come posso essere sfruttate

Le applicazioni VNC sono costituite da due parti: un server installato sul computer a cui il dipendente si connette a distanza, e un client in esecuzione sul dispositivo da cui si connette. Le vulnerabilità sono molto meno comuni sul lato server, che di solito è un po’ più semplice e quindi ha meno bug. Tuttavia, i nostri esperti CERT hanno riscontrato difetti in entrambe le parti delle applicazioni oggetto di indagine, anche se un attacco al server in molti casi sarebbe impossibile senza autorizzazione.

Tutti i bug sono legati a un uso errato della memoria. Il loro sfruttamento porta solo a malfunzionamenti e denial of service, un risultato relativamente favorevole. Nei casi più gravi, i cybercriminali possono ottenere un accesso non autorizzato alle informazioni sul dispositivo o rilasciare malware nel sistema della vittima.

Alcune vulnerabilità sono state corrette, ma non tutte

 I nostri collaboratori del CERT hanno segnalato i bug agli sviluppatori delle rispettive librerie e applicazioni. La maggior parte di essi sono già stati corretti. Purtroppo, c’è un’eccezione: i creatori di TightVNC non supportano più la prima versione del loro sistema, e si sono rifiutati di elaborare la patch per le vulnerabilità rilevate. Questo è un motivo importante per prendere in considerazione il passaggio ad un’altra piattaforma VNC.

Inoltre, come in molti progetti open-source, il codice vulnerabile viene utilizzato in un gran numero di altri progetti, e non tutti gli sviluppatori tengono sotto controllo gli aggiornamenti delle librerie da cui hanno preso in prestito i frammenti per le loro creazioni. Questi programmi rimarranno vulnerabili fino a quando i loro creatori non aggiorneranno il codice cosa che, ci spiace dirlo, potrebbe non accadere mai.

Quali azioni dovrebbero intraprendere le aziende?

L’elenco delle vulnerabilità con dettagli tecnici si trova nel report pubblicato sul sito di Kaspersky ICS CERT. Sebbene l’attenzione dei nostri colleghi si sia concentrata sull’uso del VNC nelle grandi aziende industriali, le minacce sono rilevanti per tutte le aziende che utilizzano questa tecnologia.

Per evitare che i cybercriminali sfruttino queste vulnerabilità e vi si ritorcano contro, vi consigliamo di monitorare i programmi di accesso remoto nella vostra infrastruttura.

  • Verificate quali dispositivi possono connettersi in remoto e bloccate le connessioni remote non indispensabili;
  • Fate l’inventario di tutte le applicazioni di accesso remoto, non solo VNC, e verificate che le loro versioni siano aggiornate. Se avete dubbi sulla loro affidabilità, non utilizzatele più. Se invece volete continuare a utilizzarle, assicuratevi di aggiornarle alla versione più recente;
  • Proteggete i vostri server VNC con una password robusta. Questo li renderà più difficili da attaccare.
  • Non connettetevi mai a server VNC non affidabili o non testati;
  • Negli ambienti aziendali industriali, utilizzate una soluzione di sicurezza specializzata per i sistemi di automazione industriale, ad esempio, Kaspersky Industrial CyberSecurity;
  • Per proteggere la vostra azienda, utilizzate una soluzione di sicurezza robusta. Kaspersky Endpoint Security for Businessè una scelta eccellente.
Consigli