jueves, 10 de enero de 2013

Nuevo 0-day en Java 7 ampliamente aprovechado por atacantes

Vuelve a ocurrir. Se descubre una grave vulnerabilidad en la última versión de Java que permite la ejecución de código con solo visitar un enlace. El fallo está siendo aprovechado por atacantes para instalar el "virus de la policía" entre otro malware, y esta vez no vale con actualizar. Los atacantes la califican como "regalo de año nuevo".

A media tarde de ayer (hora española) aparecía una alerta de nueva vulnerabilidad en Java 7u10 previamente desconocida. @Kafeine no daba detalles entonces, pero se decidió a llamar la atención debido al gran número de puntos en los que detectó que estaba siendo explotada. El fallo ya formaba parte de los kits de explotación Blackhole, Nuclear Pack, Cool Exploit Kit, Sakura... Los atacantes la conocían desde hace tiempo y estaban aprovechando para instalar todo tipo de malware, debido a la amplia difusión de estos kits. Aunque el usuario esté totalmente parcheado, se es vulnerable. Solo se puede esquivar el peligro habiendo tomado medidas adicionales.

Poco después aparecían todos los detalles. Ya existe un módulo para Metasploit, código en pastebin, y otros análisis. Oracle le asigna el CVE-2013-0422. De nuevo, no se trata de un fallo en el código (no hay desbordamientos de memoria, ni funciones mal programadas), sino de una manera inteligente (aprovechando un fallo de diseño) de eludir restricciones impuestas por Java. Se usa MBeanInstantiator para obtener una referencia a una clase en principio restringida, paro hacerlo a través de una función de confianza, y así ejecutar código. Oracle Java 7 Update 10 y todas las versiones anteriores se encuentran afectadas.

Código que aprovecha el fallo en un exploit funcional

Sorprendentemente, los antivirus (por firma y de forma estática) han conseguido un nivel de detección aceptable para una muestra relativamente nueva:


"Paunch", supuesto mantenedor de BlackHole, calificó a la vulnerabilidad de "regalo de año nuevo" para todos sus clientes del kit de explotación. Otros creadores de estos exploits aseguraron poco después que habían sido ellos los primeros en incluir esta vulnerabilidad en su software.

¿Protegerse?

Desinstalar Java del navegador es la opción más recomendable. Desde la versión anterior, además, Java permite una configuración más granular de su seguridad.


Ahora y siempre, es imprescindible configurar de forma personalizada ese diálogo, para que no ejecute ningún tipo de archivo Java "no confiable" (o sea, no firmado). Los exploits no suelen estarlo, o si lo están no son validados por autoridades certificadoras, con lo que al menos así se mitiga gran parte del problema. Mejor incluso, desactivar por completo el "Activar el contenido de Java en el navegador"

Mensaje que aparece si se pone a "alta" la nueva configuración de seguridad de Java

No se sabe cuándo lanzará Oracle una actualización. Pasarán algunos días y, aun así, teniendo en cuenta el "alto rendimiento" que ofrece a los atacantes vulnerabilidades de hace meses en sistemas que no parchean, esto seguirá siendo otra puerta abierta durante un tiempo para que el malware profesional siga su exitoso curso.

Más información:

Zero-Day Java Exploit Debuts in Crimeware

CERT Releases Oracle Java 7 Security Advisory

Java 7 fails to restrict access to privileged code

El malware de la policía aprovecha un exploit de Java "in-the-wild" y el secreto su "éxito"




Sergio de los Santos
Twitter: @ssantosv