Retomando el recordatorio de virus históricos para sistemas de Apple, en esta entrada vamos a hablar de uno de los primeros virus que surgió, el nVIR (1987). Este virus es de la misma década que los virus primigenios para Mac, como el Elk Cloner (1982), y destaca por ser considerado uno de los virus más prolíficos para estos sistemas - dado que el código fuente del virus original fue ampliamente difundido -, contando con una larga lista de variantes.
¿Cómo funciona este virus?
Su método de acción era cambiar la primera instrucción que realizaba una aplicación al ser lanzada (CODE 0 resource), haciendo que esta ejecutase el proceso de instalación del virus en el sistema. Este proceso comprobaba la existencia de unos archivos de recursos que utilizaba el virus, instalándolos en caso de no encontrarlos. Los recursos que instalaba era un archivo INIT32 y varios ficheros llamados “nVIR” seguidos de un número (de ahí el nombre del virus). Una vez hecho esto, la aplicación se iniciaba con normalidad.
El archivo INIT32 se ejecutaba al inicio del sistema, parcheando el TEInit trap (interrupción del sistema operativo) haciendo que cualquier aplicación que ejecutase la interrupción, quedase infectada. Los archivos nVIR, daban “soporte” al virus. Por ejemplo, el 0 contenía un contador que marcaba el inicio de la actuación del virus, el 2 guardaba la instrucción original de inicio de la aplicación y el 3 (en algunos variantes el 5) guardaba una copia del INIT32.
Era capaz de extenderse a través de cualquier sistema usado para compartir aplicaciones como disquetes o redes de datos y dado el periodo que este virus permanecía latente (marcado por el contador del nVIR 0) una vez ya instalado, era difícil averiguar cual era la causa de la infección sin un análisis exhaustivo de las aplicaciones del sistema.
¿Cuáles eran sus síntomas?
nVIR (conocido también por alguno de estos alias: AIDS, Fuck, Hpat, Jude, MEV#, MODM, nCAM, nFLU, kOOL, SHIT, prod) presentaba varios síntomas, dependiendo de la variante del virus, pero se pueden discernir los siguientes síntomas comunes a todas las variantes: cierre de aplicaciones, fallos a la hora de imprimir, tiempo de respuesta del sistema lento, o fallos del sistema operativo. Las tres “cepas” principales del virus fueron las siguientes:
Soluciones para combatir al virus• nVIR-A. El contador contenido en el fichero nVIR 0 estaba inicializado a 1000 y disminuía en 1 cada reinicio del sistema y en 2 cada vez que una aplicación infectaba era ejecutada. Una vez llegado a 0, se reproducía al usuario el mensaje “Don´t Panic” si MacInTalk (sintetizador de voz para Mac) estaba instalado y en caso contrario, emitía un pitido. Esto sucedida 1 de cada 16 inicios del sistema y en 1 de cada 8 inicios de una aplicación.• nVIR-B, que presentaba el mismo sistema de contador con iguales características a las mencionadas para nVIR-A, pero esta variante no usaba MacInTalk, emitiendo solo pitidos. En este caso la frecuencia de este suceso era menor que la de la variante A, ocurriendo 1 vez de cado 8 inicios del sistema y 1 de cada 4 inicios de una aplicación.• nVIR-C, cuyo comportamiento es idéntico al de la variante B, residiendo la diferencia en uno de los ficheros de recursos nVIR que el virus instalaba en el sistema de ficheros.
El síntoma evidente para reconocer la existencia del virus, aparte de los pitidos y mensajes emitidos al usuario, era la existencia de los archivos nVIR e INIT32. Por otro lado se podía comprobar si una aplicación estaba infectada inspeccionándola (con ResEdit, por ejemplo). Si contenía en su instrucción de inicio (CODE 0 resource) el código hexadecimal 0000 3F3C 0100 A9F0 entre los bytes 16-23, la aplicación estaba corrupta. La existencia de un CODE 256 (255 en algunas variantes) resource de tamaño 372 bytes, también era síntoma de infección en la aplicación. Para combatir al virus existían varías opciones:
• La más fácil de cara al usuario era usar un antivirus o antimalware, que protegía y eliminaba el virus. Ya por aquella época existían antivirus de reconocida calidad y de licencia gratuita que trataban al nVIR, como Disinfectant.
Figura 1: Disinfectant para Mac OS |
• Se podía desinfectar una aplicación de forma manual, sustituyendo los bytes del 16 al 23 del CODE 0 por el contenido del nVIR 2 (que contenía los bytes de la instrucción original), eliminando el CODE 256 si era de 372 bytes y finalmente, eliminando todos los archivos nVIR.• Se podía hacer inmune al equipo frente a este virus en particular creando en el sistema de ficheros un archivo INIT32 de 2 bytes hexadecimales, 45 75 (instrucción RTS, retorno de subrutina) y creando 8 archivos nVIR (del 0 al 7, importando las mayúsculas y minúsculas del nombre) vacíos. De esta forma se podía “engañar” al proceso de instalación del virus haciéndole creer que ya esta instalado en el sistema.
No hay comentarios:
Publicar un comentario