Menú principal

domingo, 28 de octubre de 2012

Los virus de HyperCard en Mac OS: Malware en HyperTalk

En breves palabras se puede decir que HyperCard - lanzada en 1987 y retirada del mercado en 2004 - era un un producto de Apple que permitía desarrollar todo tipo de aplicaciones - incluso multimedias - a través de un lenguaje de programación sencillo y sumamente intuitivo, el HyperTalk. Para hacernos una idea de dicha sencillez, si por ejemplo queríamos cambiar el estilo de una cadena de texto, podíamos hacerlo así: set the textStyle of Character 1 to 10 of card field “some field” to bold. Vemos que casi bastaba indicar lo que se quería hacer mediante un inglés natural.

Figura 1: HyperCard

Además HyperCard presentaba un sistema basado en pilas – es decir, conjuntos de tarjetas o vistas - a las que el usuario podía añadir imágenes, campos de textos, botones, etcétera con facilidad. Hasta ahora todo en HyperCard parecen ventajas: sencillez, un lenguaje intuitivo o facilidad en el manejo de interfaces, pero desde el punto de vista de seguridad traería dolores de cabeza ya que HyperCard ejecutaba scripts encontrados en las pilas nada más abrirlas, lo que destapó una puerta para la creación de malware y aplicaciones peligrosas.

En 1988 aparecieron los primeros virus que aprovechaban la mencionada vulnerabilidad, como el ya comentado en otro artículo Virus de la Paz, o el virus HyperAvenger, cuya única acción era la de mostrar por pantalla el siguiente mensaje, por lo que se le conoció también como el Virus Dukakis.
“ Greetings from the HyperAvenger! I am the first HyperCard virus ever. I was created by a mischievous 14 year old, and am completely harmless. Dukakis for president in ‘88. Peace on earth and have a nice day”
Que venía a decir algo como:
” ¡Saludos desde el HyperInfierno! Yo soy el primer virus que se haya escrito para HyperCard. Fui creado por un chico travieso de 14 años, y soy completamente inofensivo. Dukakis para presidente en el ‘88. Paz en la tierra y que tengan un buen día”
Dada la facilidad para hacer scripts en HyperTalk, cada vez fueron surgieron más virus y malware que se servían de HyperCard para funcionar. El patrón seguido por la mayoría de ellos para extenderse era el de infectar la pila Home, desde la que se cargaban las demás, de modo que las pilas que se abrían después quedaban infectadas. De entre todos los que hubo, además de los citados Virus de la Paz o HyperAvenger/Virus Dukakis hay que destacar los siguientes:
MerryXmas Virus: Este virus surgido en 1991 afectaba a equipos Macintosh cuya ROM fuese de 128 Kbytes. La única intención de este virus era la de propagarse pero a pesar de no tener un fin dañino, debido a un fallo de código, a veces se producían mezclas del código del virus con el de la pila a la que infectaba, dando lugar a comportamientos inesperados que normalmente desembocaban en errores y fallos al abrir una pila infectada. Las pilas no abiertas quedaban a salvo de contagiarse. 
Merry2Xmas y otros clones de MerryXmas: Estos clones normalmente fueron programados cambiando algunas palabras de los scritps del virus original con la finalidad de no ser detectados por los antivirus de la época. Surgieron una inmensa cantidad de clones, como Merry2Xmas o Lopez, cuya filosofía era la misma que la del original, no obstante, surgieron otras variantes más peligrosas, como el CrudShot que era capaz de eliminar las pilas que infectaba. 
HC 9507 Pickle - pepinillo -: Este virus, reportado en 1995 por HyperActive Software, presentaba tres características principales que lo hacían diferente a los anteriores: A la hora de escribir texto, el virus introducía automáticamente la palabra Pickle. Leía la hora y la fecha del sistema, y en función de estas, decidía si actuaba o no. Cuando se ejecutaba causaba comportamientos anómalos en el sistema, como bloqueos o apagados del equipo. Era capaz de infectar pilas sin la necesidad de que fuesen abiertas. 
Antibody: Este virus fue reportado en 1997, y al igual que el anterior, por HyperActive Software. Su finalidad era únicamente la de destruir el virus MerryXmas. A pesar de su “buena intención” fue considerado un virus ya que se autopropagaba y actuaba sin que el usuario fuese consciente. Aparte, como en la mayoría de virus de HyperCard, podía generar comportamientos anómalos al interferir con el código propio de la pila a la que infectaba. 
Blink: Descubierto por miembros de la HyperCard Mailing List  en 1998. Este virus presentaba dos etapas distintas: Antes del 1 de Enero de 1999 se dedicaba únicamente a extenderse, como es habitual, infectando la pila Home. A partir de la anterior fecha, hacía que las tarjetas de las pilas infectadas apareciesen y desapareciesen cada segundo de forma continua, por lo que la función de este virus era meramente molestar al usuario. El virus introducía en la pila a infectar un handler o manejador para obtener la fecha así como para controlar la frecuencia de refresco de la aparición/desaparición de tarjetas. Si ya había otro handler en la pila, el del virus no se ejecutaba. Por último, evitar este virus era relativamente sencillo, ya que tomaba la decisión de si debía propagarse en base a un solo carácter del script de la pila Home, de forma que se podía introducir dicho carácter para “engañar” al virus y así evitar la infección.

Independance Day: Este virus de 1997 -notar la falta de ortografía en Independance-, de forma parecida al anterior, tenía dos formas de actuar en función de la fecha: Antes del 4 de Julio de 1997 se limitaba a extenderse. Al llegar a la citada fecha, su intención era la de borrar líneas de código de los scripts de las pilas que infectaba. Pero presentaba un código deficiente con fallos, de forma que generalmente se producían errores de script cada vez que intentaba ejecutarse - esto servía como un aviso de la presencia del virus -. Incluso si no se producía el error, fallaba a la hora de intentar borrar líneas de código.

WormCode: Este malware no dañino –ya que su única función era la de extenderse- buscaba su firma particular en la última línea del script de la pila home para tomar la decisión de si debía infectarla o no. Dicha firma era la siguiente:
end openstack --home script 2
De forma que si el usuario escribía más líneas de código después de la firma, WormCode se reinstalaba -aunque los duplicados nunca se ejecutaban-. Para evitar este virus, bastaba con escribir y mantener su firma en la última línea del script de la pila Home.

2 Tunes o 3 Tunes: Su curioso patrón de acción era el siguiente: En la mayoría de versiones internacionales de Mac OS se limitaba a extenderse. En la versión germana hacía que en las pilas infectadas se reprodujesen 2 o 3 melodías folclóricas alemanas distintas, además mostraba mensajes al usuario de forma repentina, como "Hey, what are you doing?" o "Don't panic", abría la paleta de herramientas -volviéndola a abrir si el usuario la cerraba- y por último, y de forma ocasional, apagaba el equipo sin previo aviso.
Para combatir estos virus surgieron utilidades como Vaccine o Desinfect que erá capaz de eliminar la gran mayoría de los virus de HyperCard y a las que les dedicaremos algún artículo de historia. Aparte, como hemos visto, muchos virus basaban su método de infección en base a introducir flags o firmas en el script de la pila home para decidir si debía infectarla o no, de forma que el usuario podía incluir estas -manualmente o mediante scripts- para evitar el contagio.

No hay comentarios:

Publicar un comentario en la entrada

Artículos relacionados

Otras historias relacionadas

Entradas populares