jueves, 24 de enero de 2013

Apple deshabilita Java en Safari


Pienso que es un enfoque correcto que Apple deshabilite Java cuando tiene noticia de una debilidad grave, como la de la semana pasada.

Significa que desde un Safari en una Mac, no se podrán ejecutar Applets de Java en Internet (sí se pueden ejecutar programas Java standalone en el equipo). 

Apple mantiene una lista negra (blacklist) donde pone a los culpables (versiones vulnerables) lo cual se traduce a que sólo se ejecuta cuando se aplique la nueva versión de Java.

¿Medida muy drástica? Vaya, pues no hay cómo darles gusto. Java es un programa con N huecos de seguridad y me alegra que las Mac ya no traigan ese dolor de cabeza por default cuando uno adquiere un equipo.

Más información en MacRumors y Ars.

martes, 22 de enero de 2013

Nuevas debilidades de Java (18 enero 2013)


El 14 de enero comentaba de una confusión en el parche de Oracle para Java que salió el domingo 13 de enero. La conclusión era que el parche solucionaba una de dos debilidades y que con eso se frenaba un ataque exitoso.

Todo bien hasta ahí.

Hasta que el investigador Gowdiak de nueva cuenta publicó otras 2 debilidades de día cero para Java el viernes 18. 

Estas nuevas debilidades tienen un par de “restricciones” Con el parche de Oracle del domingo 13 (Java 7 Update 11), el fabricante añadió una característica de seguridad que impide que applets no firmados o auto-firmados se ejecuten automáticamente. Lo anterior significa que aparecerá una ventana diciéndote si quieres ejecutar ese applet “desconocido”. Conociendo a los usuarios, dirán que sí a la ejecución, así es que eso no será un gran mitigante. Pero bueno, algo es algo.

Por otro lado, si el atacante consigue un certificado digital válido, podrá hacer que ese applet se ejecute sin preguntar nada al usuario.

Como nota curiosa, en un foro de hackers se llegó a anunciar la semana pasada que se tenía una debilidad de día cero para Java. Totalmente nueva y al parecer diferente a las que hemos estado comentando aquí. Tiene un costo de $5,000.°° USD. Se ofrecía sólo a dos compradores. El anuncio ha desaparecido hoy día. 

Total que como siempre, la recomendación es: a) No usar Java, es decir, desinstalarlo. b) Usarlo inteligentemente. c) Tener dos navegadores: usar uno con Java sólo para sitios que lo exijan y otro navegador sin Java para el día a día.

Recuerden, vivir sin Java es de lo más sencillo (salvo un par de excepciones) y lo que muchas páginas están usando es JavaScript, no Java (JavaScript es otra cosa que Java). Así es que tomen la mejor decisión segura.

lunes, 14 de enero de 2013

Confusión sobre la debilidad Java CVE-2013-0422


Ayer 13/ene/2013 salió un parche de Oracle para la debilidad de día cero CVE-2013-0422.

Entre ayer y hoy, han salido varios blogs que dicen que la debilidad no se ha solucionado, un ejemplo lo da Alt1040: “Oracle actualiza Java y los investigadores anuncian que la vulnerabilidad persiste”.

Efectivamente hay una confusión, y yo mismo tuve que “escarbar” para tratar de entenderle. Esta es mi interpretación, espero estar en lo correcto. Empecemos.

El ataque en Java es posible gracias a dos debilidades: una está en la clase “MBeanInstantiator” y otra en la “Reflection API” como lo dice BugTraq:
“The new attack is a combination of two vulnerabilities”.
 
“The first flaw allows to load arbitrary (restricted) classes by the means of 
findClass method of com.sun.jmx.mbeanserver.MBeanInstantiator class”.
“The second issue abuses the new Reflection API to successfully obtain and 
call MethodHandle objects that point to methods and constructors 
of restricted clases.”
 
En SoftPedia, Adam Gowdiak (el descubridor de las debilidades)  comenta:
[Adam] has told Softpedia that Oracle has addressed the flaw in the Reflection API”.
On the other hand, the second vulnerability leveraged by the latest exploit, 
the one related to obtaining references to restricted classes 
(MBeanInstantiator bug) was not addressed. Fortunately, 
this bug alone cannot be exploited by cybercriminals”.

Y aquí es donde veo un poco de claridad. Por lo que hemos leído, se requieren de dos debilidades para hacer un ataque exitoso, la de “MBeanInstantiator” y la de “Reflection API”. A la que Oracle dio solución ayer es a la segunda (“Reflection API”).

Según Adam, la otra debilidad (“MBeanInstantiator”) permanece sin resolver. Pero como él mismo dice, se requieren de las dos para un ataque exitoso:

Alone, it is not worth much. It needs another (new) vulnerability similar to 
the one patched in new Reflection API that would allow attackers to actually 
play with the restricted classes (attacker needs some way to obtain and 
call its methods in particular)”.

En conclusión, no todas las debilidades publicadas están parchadas, sin embargo con la que permanece sin solución es poco factible ejecutar exitosamente un ataque. Por lo tanto si se aplica el parche de Oracle, estaremos a salvo de este ataque que es una combinación de explotar 2 diferentes debilidades.

En mi opinión para usuarios en casa, es mejor desinstalar Java del navegador. Estoy casi seguro que no lo extrañarán. Y no faltará mucho para que exista otra debilidad de día cero que haga posible un ataque.