Come convivere con Java senza correre troppi rischi
Se un gruppo di hacker riescono a violare i Mac dei dipendenti Apple grazie ad una falla di Java, allora è arrivato veramente il momento di rimuovere il plug-in di Oracle dal proprio computer. Dopo aver disinstallato Flash (ma con un piccolo trucchetto continuo a vedere tutti i video di YouTube) altro software-colabrodo in termini di sicurezza, ho rimosso anche Java dai miei Mac.
Tuttavia, non tutti possono permettersi di disinstallare Java, perché ci sono alcune applicazioni e siti Web che non funzionano senza, come CrashPlan, Photoshop CS5, FileMaker Server, NeoOffice, Ticketone.it, solo per citarne alcuni.
Il problema con Java
Il problema è che le applicazioni Java sono progettate per funzionare all’interno di una macchina virtuale Java (Java Virtual Machine o JVM) installata sul Mac. Teoricamente, uno sviluppatore può scrivere un programma Java da eseguire all’interno della macchina virtuale, e verrà eseguito senza modifiche su qualsiasi piattaforma Mac, Windows, Linux. La JVM si occupa della gestione della memoria e ogni altra cosa possa servire al programma, e lo fa all’interno di una “sandbox” che isola l’applicazione Java dal sistema operativo. Ma la sandbox è ben lungi dall’essere perfetta, e gli hacker riescono sempre più spesso ad individuarne le vulnerabilità e a far eseguire un codice al di fuori del recinto della sandbox prendendo il possesso del computer Mac, Windows o Linux che sia. In sintesi, semplicemente navigando su una pagina Web appositamente modificata, un pirata informatico potrebbe prendere il controllo completo del vostro Mac.
Isolare Java
Fortunatamente, è possibile convivere con Java senza correre troppi rischi lasciandolo sul Mac, ma rimuovendolo dal browser, tranne quando si desidera utilizzarlo. Apple ha scelto questo atteggiamento prudente per tutti i Mac con installato 10.6 Snow Leopard e versioni successive: di default il plug-in Java viene “isolato” dopo circa un mese che non viene utilizzato. L’isolamento di Java è un po’ più complesso, ora che Apple ha rimosso l’utility Preferenze Java da Lion e Mountain Lion .
Se si utilizza Java 6 (la versione pre-installata da Apple fino a Snow Leopard), è necessario isolarlo su ogni browser:
– Google Chrome, digitate chrome://plugins nella barra degli indirizzi e date Invio, quindi fate click sul link “Disabilita” per disabilitare Java.
– Safari, selezionare Safari/ Preferenze e deselezionare Abilita Java nel pannello Sicurezza.

– Firefox andare in Strumenti/Componenti aggiuntivi/Plugin e cliccate sul pulsante “Disattiva” a destra di Java Plugin.
Se si utilizza Java 7, è possibile disattivalo a livello di sistema: andate in Preferenze di Sistema/Java/Sicurezza e deselezionare “Abilitare il contenuto di Java nel browser”.

Vi suggerisco di isolare Java su tutti i browser, e quindi sceglierne uno che non si utilizza come browser principale e attivare temporaneamente Java solo in questo, se necessario. In questo modo si riduce la probabilità di dimenticarsi di disattivarlo dopo l’uso e sarete vulnerabili solo durante quel giorno di navigazione con quel browser.


13 commenti
Caro Stefano, apprezzo il tuo sforzo per fare dei nostri Mac dei Mac migliori. I tuoi interventi sono sacrosanti nel denunciare queste gravi mancanze. Ma Java, oltre che per i programmi da te indicati in cima al post (e chissà quanti altri ce ne sono che), è necessario anche per utilizzare Gmail da Safari (l’avevo appena disattivato e poi sono andato su Gmail). Quindi, o esiste un’alternativa valida, e tutti i programmatori ne devono prendere atto, o rassegnamoci. Questi giochetti attiva/disattiva JavaScript fanno più danno (almeno al mio sistema nervoso) di quello che ne potrebbe risultare da attacchi per i bug di Java stesso. O se proprio non vogliamo proprio rassegnarci, boicottiamo tutto quanto fa uso di questa tecnologia.
Veramente io ho un nuovo Mac con Mountain Lion, e Gmail da Safari funziona bene.
Google offre una versione HTML di Gmail che non richiede JavaScript. Dopo che hai eseguito il login con il tuo account Gmail, clicca sul link “Per utilizzare la visualizzazione HTML di base di Gmail, che non richiede JavaScript, click qui” e nella schermata successiva clicca sul link “Imposta come predefinita la visualizzazione HTML di base” in alto a destra.
Anch’io ho abilitato la versione HTML di Gmail 😉
ma scusate l’ignoranza, ma i problemi recenti, e i conseguenti blocchi di Apple, mi sembrava riguardassero Java e non Javascript che per quanto ne so sono due cose molto diverse, o sbaglio?
F.
Esatto. Gli ultimi problemi di sicurezza riguardano Java, e infatti questo articolo spiega come “isolarlo”. Credo che l’equivoco sia sorto per lo screenshot di Safari pubblicato in un primo momento, che non era quello corretto. Pardon.
Ok grazie per il chiarimento,
quindi anche disabilitando java i javascript di Gmail etc. continuano a funzionare vero?
Si, proprio perchè Java e JavScript sono due cose differenti.
Java non è un giocattolo da attivare e disattivare a piacimento. E’ un ambiente complesso che solo con la versione 7 ha mostrato seri problemi di sicurezza. Click to Plugin è un modo per disabilitare i plugin e stare più sereni. Ma non tutti sanno dove serve java e dove no. Quindi questi giochetti on/off sono spesso solo snervanti ed inutili. Ma poi davvero usate gmail in html?
Io non ho capito una cosa. I problemi di sicurezza sono relativi ai soli programmi Java caricati via browser (e quindi collegati a qualche plugin o applet java) oppure possono riguardare anche applicazioni “stand-alone” scritte in java (o addirittura lanciati da linea di comando ?) Mi è chiaro che sia più facile incontrare un programma fraudolento via web, ma mi sto chiedendo se le falle riscontrate riguardano Java in sè oppure la connessione tra Java ed il browser (cioè il plugin).
Gentile Stefano,
Dal Terminale, digitando Java -version, ottengo questo risultato:
java version “1.7.0_05″
Se, invece, vado sul pannello Java (tramite Preferenze di Sistema) vedo questa versione:
build 1.7.0_15-b03
Mi sembra proprio che ci sia una incongruenza. Mi sapresti dare qualche indicazione?
Grazie per l’attenzione.
Semplicemente perché in queste pagine si fa un pò di confusione con java esistono fondamentalmente 2 componenti “distinte” ossia la JSE che è la macchina virtuale vera e propria che permette di eseguire tutte le applicazioni scritte in java (vedi esempi di diverse app piuttosto che plugin di PS ecc.) e la versione di quella componente la ottieni dal comando via terminale. Dal pannello nelle preferenze invece ti viene mostrata la versione del JRE che è la componente (plugin) che permette si eseguire applet java dai/nei browser. Fondamentalmente il pericolo arriva da questa parte perché è più facile imbattersi in pagine web malevole che scaricare ed eseguire programmi che girano nella JVM spontaneamente.
Tutto chiaro … ma qualcuno mi spiega perché a ogni aggiornamento di Safari Java (ultima versione) non funziona più anche se abilitata regolarmente nel browser? E un minuto prima dell’aggiornamento funzionava? Ho Lion! Grazie della risposta!