Java è particolarmente noto per essere un linguaggio di programmazione che mira, in maniera particolare, alla sicurezza. Anzi, se vogliamo essere precisi, l’algoritmo di controllo della macchina virtuale di Java fa il suo dovere…spesso anche troppo bene. Ricordo, qualche anno fa, di aver sostenuto un esame su Java distribuito tramite RMI… e ricordo che impostare le politiche di sicurezza per la macchina virtuale, per far si che i miei programmi girassero sulla mia rete, era davvero una cosiddetta “mazzata in fronte”.Ciononostante la notizia è ufficiale : il JDT (il kit di sviluppo per Java,installato di default da Java 6 update 10 e quindi, conseguenzialmente, la JVM) , su Windows, potrebbe rendere vulnerabile la vostra macchina.
Il bug è stato scoperto da Tavis Ormandy, e, in linea di massima, funziona così (in parole molto, molto semplici): Java solitamente ha delle fortissime restrizioni sull’esecuzione di codice “esterno” ma, sfortunatamente, sembra non sia stato ben implementato il controllo sugli url di JWS (Java web start, la parte di java che permette di inizializzare la macchina virtuale per l’esecuzione codice sparso sul web, con i dovuti controlli). Sembra che il protocollo JNLP (Java Network Launching protocol, quella cosa che “permette” la comunicazione tra le applicazioni di rete e la nostra Java Virtual Machine) venga più o meno “fatto scemo” dai files di libreria : se comunichiamo a JNLP di eseguire sulla macchina virtuale non un file .java (un programma in java vero e proprio) soggetto ai controlli di routine, ma le direttive di un file di libreria java (un file .jar)…queste verranno eseguits con – giustamente – i privilegi amministrativi sulla macchina virtuale. Riassunto in una frase, ciò significa che è possibile eseguire codice malevolo su una macchina scrivendo un programma ed una libreria ad-hoc. Ma il bello non è questo.
Ormandy non ha perso tempo ad informare la ex Sun (oggi Oracle) della sua scoperta, e per tutta risposta la Oracle ha definito la cosa “di poco conto”, rilasciando un secco “no comment” : non sarà rilasciato nessun aggiornamento straordinario e, come succede da sempre , dovremo aspettare il mese di Giugno per il trimestrale Major Update (l’ultimo poco tempo fa,nell’ultima decade di Marzo).
Sembra che il bug, per il momento, affligga Windows XP con Internet Explorer dall’8 in giù e tutte le versioni di Java e, stando agli ultimi rumors, anche Firefox (sempre sotto Windows XP). Per ciò che riguarda Windows 7, la JVM in determinate condizioni riesce a bloccare l’esecuzione e restituisce un messaggio d’errore.
Ormandy consiglia di bloccare i controlli ActiveX per Java impostando il cosiddetto “killbit” (troverete il procedimento sulla KB della Microsoft e, quando parlerà di “CLSID dell’applicazione”, dovrete inserire questoCAFEEFAC-DEC7-0000-0000-ABCDEFFEDCBA ). Per quello che riguarda Firefox, basterà – con qualsiasi firewall – limitare l’accesso del file npdeploytk.dll alla rete.
Mi sento però di rassicurarvi, per il momento : gli hackers non puntano su Java, in questi tre mesi che precederanno il prossimo Major Update da casa Oracle dovreste poter stare tranquilli… il mio consiglio resta sempre lo stesso : attenti alle applicazioni dubbie e, soprattutto, a ciò che scaricate dai siti web!
Fonte: http://www.chimerarevo.com/2010/04/11/scoperto-un-bug-in-java-che-potrebbe-permettere-un-attacco/