Java è un linguaggio di programmazione orientato agli oggetti che è stato pensato per rendere le applicazioni il più possibile indipendenti dalla piattaforma in cui sono eseguite (il codice bytecode che viene prodotto non deve essere nuovamente compilato per essere eseguito altrove).
Applicazioni scritte in Java sono tutt’oggi piuttosto comuni mentre l’utilizzo del linguaggio in ottica web si è drasticamente ridotto rispetto al passato. Molteplici software gestionali, comunque, necessitano ancor’oggi della presenza sul sistema del pacchetto Java Runtime Environment (JRE). Basti pensare ai tanti applicativi messi a disposizione dai Ministeri o dall’Agenzia delle Entrate che, spesso, richiedono tra l’altro la presenza di versioni superate di JRE.
Anche se si è sviluppatori Android e si è soliti realizzare applicazioni utilizzando Android Studio o comunque l’Android SDK, bisognerà installare il Java Development Kit (JDK; vedere i nostri articoli in proposito).
È quindi necessario aver installato Java? Quali sono i problemi di sicurezza di Java e come evitare di esporsi a rischi?
Differenza tra Java e JavaScript
Iniziamo col chiarire subito un concetto noto ai più: Java e JavaScript non sono la stessa cosa ed, anzi, non hanno alcun legame.
Mentre la disattivazione di JavaScript può impedire, al giorno d’oggi, il normale utilizzo della stragrande maggioranza dei siti web, la disinstallazione di Java non ha alcun impatto sulla navigazione sul web, a meno di non avere – è ovvio – specifiche esigenze.
Il codice JavaScript è eseguibile unicamente da browser ed è accessibile accedendo al codice HTML di ogni pagina web. Java, invece, sfrutta applicazioni eseguibili da browser o comunque nella virtual machine, il componente che esegue i programmi tradotti in bytecode dopo la compilazione dei codici sorgenti.
Mentre JavaScript si presenta sotto forma di testo, il codice Java compilato non è “leggibile” e deve essere trattato ed eseguito dalla virtual machine.
Le applicazioni Java, infine, per poter essere utilizzate all’interno di un browser web richiedono la presenza di un apposito plugin (installato con il pacchetto JRE) mentre JavaScript è supportato da ciascun browser senza l’aggiunta di alcun componente.
La disattivazione o la disinstallazione di Java, quindi, non compromette in alcun modo la navigazione sul web.
Nell’articolo Java è sicuro? Come difendersi dalle minacce più recenti, abbiamo a suo tempo pubblicato la storia di Java e perché è importante tenere aggiornato il pacchetto JRE.
Problemi di sicurezza Java: come proteggersi
Java soffre di problemi di sicurezza come qualunque altro software. La società sviluppatrice, Oracle, rilascia periodicamente aggiornamenti di sicurezza per le varie versioni di Java invitando gli utenti ad una tempestiva installazione.
Una larga fetta di utenti, purtroppo, ancor’oggi dimentica di applicare, in maniera solerte, gli aggiornamenti di Java oppure, addirittura, continua ad avere installate, sul proprio sistema versioni di JRE obsolete, non più supportate da Oracle.
Quando viene scoperta una vulnerabilità nel pacchetto JRE, i criminali informatici si attivano per sfruttarla in qualche modo. Dal momento che Java è così popolare (è Oracle stessa ad aver dichiarato che la sua piattaforma è installata su circa 3 miliardi di dispositivi) ed il suo plugin è frequentemente lasciato attivo nei vari browser, gli aggressori hanno iniziato a creare pagine web che, sfruttando le vulnerabilità scoperte nelle varie versioni di Java, spesso riescono ad eseguire codice dannoso sul sistema dell’utente.
Fortunatamente, con le ultime versioni di Java, la situazione è migliorata: vengono infatti messi a disposizione degli utenti gli strumenti per disattivare Java nel browser limitandone l’esecuzione al solo contesto locale (si potrà così continuare ad eseguire applicazioni Java in locale senza che JRE venga caricato da parte dei vari browser).
Consigli per usare Java in sicurezza
Il primo suggerimento, ovvio, è quello di disinstallare qualunque versione fosse presente sul sistema nel caso in cui non si utilizzassero applicazioni, in locale o sul web, basate su Java. In seconda battuta, suggeriamo di applicare i consigli che seguono:
1) Disinstallare le versioni di Java più vecchie
Mantenere versioni di Java molto vecchie è come stare seduti su una bomba. Portandosi all’interno del Pannello di controllo di Windows è importante controllare attentamente quali pacchetti Java risultato installati sul sistema.
Le versioni più vecchie, ormai obsolete, devono essere immediatamente disinstallate. Conservare sul proprio sistema un pacchetto Java non più supportato da Oracle significa lasciare una porta aperta agli aggressori informatici.
In questa pagina viene indicata la fine del supporto da parte di Oracle. Le versioni antecedenti la 7.0 sono ormai superate e non sono più oggetto di aggiornamenti, neppure quelli relativi a problemi di sicurezza.
Al momento, Java 7.0 dovrebbe essere ritirato ad aprile 2015 mentre il “fine vita” della release 8.0 avverrà in tempi successivi.
Suggeriamo quindi, ove possibile, di mantenere installata sul sistema solo l’ultima versione di Java o comunque una ancora pienamente supportata da Oracle.
Per automatizzare la completa disinstallazione delle varie versioni di Java, è possibile ricorrere al software gratuito JavaRa:
Cliccando su Remove Java runtime, è possibile velocizzare la rimozione dei pacchetti JRE obsoleti.
2) Aggiornare i browser web utilizzati
Il secondo passaggio molto importante per scongiurare qualunque genere di problema consiste nell’aggiornare tutti i browser web utilizzati sul sistema.
Le più recenti versioni di Internet Explorer, Firefox e Chrome, infatti, contengono dei meccanismi che permettono di evitare l’esecuzione automatica di codice Java.
Nello specifico, sia Firefox che Chrome chiedono all’utente esplicita autorizzazione prima di caricare qualunque contenuto Java risultasse presente in una pagina web.
Il browser di Mozilla, inoltre, è capace di bloccare automaticamente le versioni più vecchie del plugin Java fornendo all’utente un’ulteriore indicazione sulla necessità di aggiornare alla versione più recente.
3) Non installare mai gli aggiornamenti da fonti non ufficiali
Gli aggiornamenti di Java, così come di qualunque altro software, non debbono mai – per nessun motivo – essere scaricati ed installati da server diversi da quelli di Oracle.
Le uniche pagine dalle quali suggeriamo di scaricare gli aggiornamenti di Java sono le seguenti:
– Java 8
– Java 7
Gli aggiornamenti, com’è ovvio, possono essere scaricati ed installati automaticamente dall’interfaccia di JRE.
4) Impostare il livello di sicurezza “Molto alto” o disattivare il plugin Java
Dal Pannello di controllo di Windows, cliccando sulla voce Java quindi sulla scheda Sicurezza, è consigliabile impostare il livello di sicurezza Molto alto.
In questo modo, all’interno del browser potranno essere caricate ed eseguite solamente le applicazioni che usano un certificato digitale valido (non revocato), emesso da un’autorità di certificazione riconosciuta.
Disattivando la casella Abilitare il contenuto Java nel browser, il plugin che viene utilizzato per il caricamento delle applet Java non sarà utilizzato da nessun browser presente sul sistema.
Dopo aver eliminato il segno di spunta da Abilitare il contenuto Java nel browser e cliccato su OK, aprendo un qualunque browser e digitando about:plugins
nella barra degli indirizzi di Firefox e Chrome, si dovrebbe notare come il plugin di Java non venga più caricato.
In ogni caso, il plugin di Java può essere manualmente disabilitato anche dalla finestra dei plugin di ciascun browser web.
5) Forzare l’utilizzo di una specifica versione di Java
Alcune applicazioni continuano ad obbligare l’utente all’installazione di versioni obsolete di Java. Per evitare problemi, utilizzando un espediente tutto sommato piuttosto semplice da mettere in pratica, è possibile provare ad indurre una qualunque applicazione ad usare una versione più recente del pacchetto Java, avendo così la possibilità di eliminare quelle più vecchie.
Il trucco è stato illustrato a suo tempo nell’articolo Quando un’applicazione richiede una versione specifica di Java.