Microsoft publica una nueva versión de su máquina virtual de Java que elimina una vulnerabilidad en la verificación del byte-code. La vulnerabilidad hacía posible que applets modificados al efecto realizaran acciones no autorizadas en los sistemas de los usuarios. Se recomienda a todos los usuarios comprueben si se encuentran afectados y actualicen a la nueva versión en caso necesario.
Los applets de Java tienen entre sus ventajas que son multiplataformas y seguros, en ambos casos, el peso de estas características recae en gran parte sobre la llamada máquina virtual de Java.
El código que llama a los applets suele encontrarse incrustado en un documento HTML donde, además de indicar el nombre y ubicación del applet, se le pueden pasar distintos parámetros. Una vez el navegador hace la petición, el applet viaja desde el servidor Internet que lo hospeda a nuestro cliente web y se ejecuta en nuestra máquina. La increíble potencia que ofrecen los applets de cara a la portabilidad viene de la mano del byte-code, un c¢digo precompilado que puede interpretar la m quina virtual de Java, independiente del hardware y el sistema operativo.
La facilidad de los applets para viajar por Internet y ejecutarse en nuestras m quinas lo convierten, a priori, en un arma de doble filo. Para evitar acciones da_inas la m quina virtual establece lo que se denomina como «sandbox», un entorno cerrado de ejecuci¢n que impide al applet acceder directamente a recursos de la m quina, ya sea a los archivos locales, la memoria, o al sistema operativo. Parte de la seguridad de la m quina virtual Java pasa por un proceso de verificaci¢n del byte-code antes de su ejecuci¢n, donde se comprueba que cumpla con todas las normas de seguridad preestablecidas.
Karsten Sohr, de la Universidad de Marburg, ha encontrado la forma de burlar el proceso de verificaci¢n del byte-code, bas ndose en la conversi¢n de clases. El explotar esta vulnerabilidad no est al alcance de cualquiera, no consiste en escribir un applet de Java de una determinada forma, sino que requiere que una vez precompilado se efectoen algunas modificaciones directamente en el byte-code.
C¢mo saber si estamos afectados y actualizarnos.
Microsoft recomienda la actualizaci¢n a todos los usuarios afectados, cuya versi¢n de la m quina virtual de Java estar comprendida entre los valores 2000-2439 y 3000-3187. Para comprobar la versi¢n que tenemos instalada bastar con ejecutar el programa JVIEW desde una sesi¢n MS-DOS. Aparecer n varias lineas de texto, la primera similar a esta:
Microsoft (R) Command-line Loader for Java Version 5.0.xxxx
Donde xxxx representa el nomero de versi¢n de la m quina virtual de Java que tengamos instalada.
Los 7MB de la nueva versi¢n que deberemos descargar e instalar en los sistemas Windows 95/98 y NT afectados se encuentra disponible en:
http://download.microsoft.com/download/javasdk/install/3188/w9xnt4/en-us/msjavx86.exe
M s informaci¢n:
Anuncio de la vulnerabilidad
http://www.internetnews.com/bus-news/article/0,1087,3_217671,00.html
Aviso en Bugtraq
http://www.securityfocus.com/templates/archive.pike?list=1&date=1999-10-8&msg=3805E4CC.76D5992B@rstcorp.com
Bolet¡n de seguridad Microsoft (MS99-045)
http://www.microsoft.com/security/bulletins/ms99-045.asp
FAQ (MS99-045)
http://www.microsoft.com/security/bulletins/MS99-045faq.asp
Nueva versi¢n de la m quina virtual de Java de Microsoft
http://www.microsoft.com/java/vm/dl_vm32.htm
Bernardo Quintero
