|
|
Entonces el proyecto se convirtió en un intento de resolver simultáneamente, todos los problemas que se le planteaban a los desarrolladores de software por la diversidad de arquitecturas incompatibles, los sistemas operativos y lenguajes de programación y la dificultad de crear aplicaciones distribuidas en Internet.
Java fue inicialmente desarrollado en C++, pero paulatinamente se fue independizando, escribiendo su propio lenguaje denominado Oak, que finalmente terminó convirtiéndose en Java. En 23 de Mayo de 1995 fue lanzado al mercado el HotJava Browser, y ese mismo año Netscape decidió habilitar a Java en su versión 2.0 de 1996. Es a partir de esa oportunidad que Java empezó a popularizarse en todo el mundo.
Las características mas importantes de Java son:
| 1. Es de arquitectura portable, neutral y robusta. |
| 2. Es simple, orientada a objeto y muy versátil. |
| 3. Es interpretado. El intérprete Java (system run-time) puede ejecutar directamente el código objeto. |
Un Applet de Java es un programa dinámico e interactivo que puede ser ejecutado dentro de un archivo HTML y mostrado por un navegador con capacidad Java. Un programa Java puede ser ejecutado por sí mismo. En todos los casos, bajo una jerarquía de Clase, Sub-Clase o Super Clase.
Con todas estas características de un poderoso lenguaje, los creadores de virus pensaron también en Java, como un medio para producir especies virales. Debido a ciertas restricciones definidas en las propiedades de seguridad, tanto de los sistemas operativos, así como de los navegadores, hasta la fecha existen solamente 2 virus de Java notables:
Java.Beanhive
La tecnología empleada en este virus tiene varias ventajas. La forma multi-componente de infección permite al virus esconder su código en los archivos infectados: su longitud crece en muy pequeños valores y después de una ligera observación el código insertado pareciera no ser dañino.
La combinación del llamado starter-main también le permite a su autor, "actualizar" el virus con nuevas versiones al reemplazar el código principal en su servidor. Cabe mencionar que este virus o cualquier virus de Java se puede propagar y reproducir en condiciones limitadas. La protección estándar de seguridad de los navegadores cancela cualquier intento de acceder a las unidades de disco o descargar (download) archivos como una aplicación Java, aún en modo remoto.
Consecuentemente el virus puede ser propagado únicamente cuando es ejecutado en un archivo de disco, como una aplicación Java, al usar el Java Machine.
Detalles Técnicos El ejecutor del virus es un pequeño programa Java de apenas 40 líneas de código, que cuando toma el control de un sistema, se conecta al servidor WEB remoto, envía (download) el código del virus que es guardado en el archivo BeanHive.class y se ejecuta como una sub-rutina. El código viral está dividido en 6 partes y es almacenado en 6 diferentes archivos Java: BeanHive.class : búsqueda de archivos en un árbol de directorio +--- e89a763c.class : analiza el formateo de archivo |--- a98b34f2.class : acceso a las funciones del archivo |--- be93a29f.class : preparación para la infección (parte 1) |--- c8f67b45.class : preparación para la infección (parte 2) +--- dc98e742.class : insertado del virus en el sistema infectado Al infectar el virus, analiza los formatos internos de Java, escribe en el archivo el código de inicio como una sub-rutina "loadClass" y agrega al archivo constructor de códigos, la invocación para su sub-rutina loadClass "BeanHive". El parámetro enviado "BeanHive" apunta al nombre del archivo remoto en el servidor WEB y empieza la infección con su código viral.Java.StarngeBrew
Este es el primer virus conocido que infecta archivos Java Classes. Fue reportado en Agosto de 1998 y tiene la capacidad de auto copiarse únicamente en el caso de que el acceso a unidades de disco esté permitido en las Propiedades del navegador y el sistema operativo. El archivo infectado se ejecuta como una aplicación nativa de Java y no como un Applet.
Las últimas versiones de los navegadores Netscape o IE5 o superiores, emiten un mensaje de advertencia e impiden su ejecución.
Si el virus es ejecutado como una aplicación, tiene la posibilidad de invocar las funciones de disco de Java, tales como: búsqueda de archivos, lectura, escritura y cierre. Al hacer uso de estas funciones, el virus ejecuta sus archivos buscando e infectando sub-rutinas (puede buscar en el directorio actual los Java Classes, e infectarlos) y al hacerlo, el virus abre los archivos en forma de información binaria, lee los encabezados y disfraza el formato interno de Java.
Antes de ejecutar su rutina de infección, el virus tiene que acceder a su propio código viral, lo cual es necesario, ya que debe copiar su código a otros archivos Java, para lograr infectarlos. Este virus no está capacitado para activar su código en memoria, debido a que no existe tal función en el lenguaje Java, de tal modo que busca su propio código en el directorio vigente, analiza y disfraza su formato, busca el código viral y lo lee.
Inmediatamente el virus busca otros Java Classes (que tienen la extensión .CLASS), las analiza, escribe su código en el archivo a infectar e inserta una llamada a la función principal del virus hacia la rutina principal Class.
La razón del nombre de este virus se debe a que tiene la función Strange_Brew_Virus(). La cadena de este especie es visible cuando es examinada con cualquier editor de texto.
Java, aplicado en archivos HTML para páginas web, es sumamente potente y puede lograr los efectos muy complejos que no podrían producirse en otro lenguaje de programación. Observe el logo flotante de S.O.S. Virus!! o haga click en Dinamita, para visualizar un inofensivo efecto gráfico desarrollado en Java.
PER ANTIVIRUS® detecta y elimina eficientemente los virus en JavaScripts, así como sus variantes.