- Alcances de esta guía
- Generalidades sobre los virus de computadoras
- Los nuevos virus e Internet
- Una nueva clasificación de virus
- Técnicas de programación de virus
- Ciclo de infección de un virus de macro
- ¿Cómo elegir un antivirus?
- ¿Cómo saber si tenemos un virus?
- ¿Qué medidas de protección resultan efectivas?
- ¿Cómo puedo elaborar un protocolo de seguridad antivirus?
- Antivirus recomendados
Al comenzar a escribir esta guía, hacia el año 1997, tenía como objetivo primordial desmitificar a los virus de computadoras del aura de misterio que tenían en la mente de mis clientes, usuarios comunes de PC's. Si bien ese objetivo sigue siendo el principal, debo decir que no es el único, lamentablemente. No sólo colegas técnicos-programadores como yo, sino también técnicos, vendedores, analistas, programadores y entendidos de buen corazón, a veces no tienen muy en claro los alcances de este tipo de programas, ni saben a ciencia cierta cómo solucionar los problemas de los afectados. Partiendo de la base de que cuando existe un desconocimiento en un área de la informática, las soluciones suelen exceder a las necesidades, se concluye que finalmente los usuarios serán los perjudicados. No es un secreto que a menudo las fallas incipientes de hardware, los conflictos de software, la instalación incorrecta de drivers y a veces la inexperiencia del técnico llevan a los servicios de reparación a culpar a los virus, a veces inexistentes, de los problemas más insólitos y ayudan a la facturación de servicios alimentados más por el ansia de ganar una comisión que por el objetivo de fidelizar al cliente para que vuelva una y otra vez a consultar o comprar. La falta de conocimientos de los virus informáticos creo yo, hace perder más información y tiempo de trabajo que los errores propios de los usuarios principantes. Cuando un técnico llega a la conclusión de que para solucionar un problema de virus es necesario el temido formateo con la pérdida total de la información de un disco, es que realmente debe haber agotado todas y cada una de las instancias posibles para recuperar la información. Pero si ese paso se da por desconocimiento o negligencia, el único perjudicado siempre es el usuario final. Hay una tendencia generalizada en los clientes a creer que aquellos técnicos que dicen "no sé, debo averiguar", no son de fiar. Y eso lleva a que muchos servicios técnicos, presionados por mantener una imagen falsa, se apresuren y tomen decisiones precipitadas y por ende, fatales.
En realidad hay que desconfiar de aquellos que todo lo saben, ya que nunca serán capaces de admitir la necesidad de formación contínua que presiona al área informática. El área de hardware y software está en constante desarrollo, de tal modo que los ciclos de 6 o 12 meses necesarios para que se volvieran obsoletas las tecnologías hace unos pocos años, ya son ciclos de 4-5 meses o aún menos. La carrera del conocimiento avanza de manera apresurada y hoy ya es muy difícil no recurrir a los manuales, las búsquedas vía internet y aún las interconsultas para resolver problemas difíciles y complejos. El avance del software, los sistemas operativos, los incontables parches, agujeros de seguridad, bugs, no son sino sólo una parte del todo, formado también por placas, microprocesadores, locks, controladores, redes, telecomunicaciones, software mal desarrollado y un largo etc.
Esta guía sin ser un tratado exhaustivo del tema de virus informáticos, tiene por objeto mantener actualizados los conocimientos sobre este tipo de programas, facilitando las bases necesarias para un estudio más profundo, indispensable ya para todo aquel que dependa en mayor o menor medida de su sistema PC.
GENERALIDADES SOBRE LOS VIRUS DE COMPUTADORAS
La primer aclaración que cabe es que los virus de computadoras, son simplemente programas, y como tales, hechos por programadores. Son programas que debido sus características particulares, son especiales. Para hacer un virus de computadora, no se requiere capacitación especial, ni una genialidad significativa, sino conocimientos de lenguajes de programación, de algunos temas no difundidos para público en general y algunos conocimientos puntuales sobre el ambiente de programación y arquitectura de las PC's.
La segunda aclaración que debe hacerse es que en esta guía no se trata al tema de los virus como académicamente se debería desde el punto de vista de la programación, sino que se observan desde el punto de vista funcional. En la vida diaria, más allá de las especificaciones técnicas, cuando un programa invade inadvertidamente el sistema, se replica sin conocimiento del usuario y produce daños, pérdida de información o fallas del sistema, mi concepto es que es un virus. Dentro de la nueva clasificación de virus que hago llegar con esta guía, verán que hay programas que no se replican, o que no invaden al sistema, y sin embargo yo afirmo que son virus. Para el usuario se comportan como tales y funcionalmente lo son en realidad. Esta guía está pensada para el usuario final y de ahí este particular punto de vista. Si alguien necesita un manual técnico de virus, debo decir que ya existen innumerables expertos e incontables libros que hablan, describen, teorizan, clasifican y desglosan infinitesimalmente virus desde el punto de vista académico de la programación. Si usted necesita eso, no lea esta guía.
Los virus actúan enmascarados por "debajo" del sistema operativo, como regla general, y para actuar sobre los periféricos del sistema, tales como disco rígido, disketeras, ZIP's CD-R's, hacen uso de sus propias rutinas aunque no exclusivamente. Un programa "normal" por llamarlo así, usa las rutinas del sistema operativo para acceder al control de los periféricos del sistema, y eso hace que el usuario sepa exactamente las operaciones que realiza, teniendo control sobre ellas. Los virus, por el contrario, para ocultarse a los ojos del usuario, tienen sus propias rutinas para conectarse con los periféricos de la computadora, lo que les garantiza cierto grado de inmunidad a los ojos del usuario, que no advierte su presencia, ya que el sistema operativo no refleja su actividad en la PC. Esto no es una "regla", ya que ciertos virus, especialmente los que operan bajo Windows, usan rutinas y funciones operativas que se conocen como API’s. Windows, desarrollado con una arquitectura muy particular, debe su gran éxito a las rutinas y funciones que pone a disposición de los programadores y por cierto, también disponibles para los desarrolladores de virus. Una de las bases del poder destructivo de este tipo de programas radica en el uso de funciones de manera "sigilosa", oculta a los ojos del usuario común.
La clave de los virus radica justamente en que son programas. Un virus para ser activado debe ser ejecutado y funcionar dentro del sistema al menos una vez. Demás está decir que los virus no "surgen" de las computadoras espontáneamente, sino que ingresan al sistema inadvertidamente para el usuario, y al ser ejecutados, se activan y actúan con la computadora huésped.
Desde el año 1997, en que apareció por primera vez esta monografía, hasta ahora han habido incontables cambios en la vida de los virus. Existen nuevos tipos, nuevas metodologías, novedosas técnicas de programación, nuevos agujeros de seguridad en los programas y sistemas operativos. Hasta la aparición del programa MICROSOFT OUTLOOK, era imposible adquirir virus mediante el correo electrónico. Los mail no podían de ninguna manera infectar una PC. Solamente si se adjuntaba un archivo suceptible de infección, se bajaba a la PC, y se ejecutaba, se podía ingresar un archivo infectado a la máquina. Esta paradisíaca condición cambió de pronto con las declaraciones de Padgett Peterson, miembro de Computer Antivirus Research Organization, el cual afirmó la posibilidad de introducir un virus en el disco duro del usuario de Windows 98 mediante el correo electrónico. Esto fue posible porque el gestor de correo OUTLOOK 98 es capaz de ejecutar programas escritos en Visual Basic para Aplicaciones ( antes conocido como Visual Languaje, propiedad de Microsoft ), algo que no sucedía en Windows 95. Esto fue negado por el gigante del software y se intentó ridiculizar a Peterson de diversas maneras a través de campañas de márketing, pero como sucede a veces, la verdad no siempre tiene que ser probada. A los pocos meses del anuncio, hizo su aparición un nuevo virus, llamado BubbleBoy, que infectaba computadoras a través del e-mail, aprovechándose del agujero anunciado por Peterson. Una nueva variedad de virus había nacido.
Para ser infectado por el BubbleBoy, sólo es necesario que el usuario reciba un mail infectado y tenga instalados Windows 98 y el programa gestor de correo Outlook. La innovación tecnológica implementada por Microsoft y que permitiría mejoras en las gestión del correo, resultó una vez más en agujeros de seguridad que vulneraron las computadoras de desprevenidos usuarios. Las mejoras que provienen de los lenguajes de macros de la familia Microsoft facilitan la presencia de "huecos" en los sistemas que permiten la creación de técnicas y herramientas aptas para la violación nuestros sistemas. La gran corriente de creación de virus de Word y Excel, conocidos como Macro-Virus, nacieron como consecuencia de la introducción del Lenguaje de Macros WordBasic ( y su actual sucesor Visual Basic Para Aplicaciones ), en los paquetes de Microsoft Office. Actualmente los Macro-Virus representan el 80 % del total de los virus que circulan por el mundo.
Hoy en día también existen archivos de páginas web que pueden infectar su Pc, algo no pensado hace algunos pocos meses atrás. El boom de internet ha permitido la propagación instantánea de virus a todas las fronteras, haciendo suceptible de ataques a cualquier usuario conectado. La red mundial de internet debe ser considerada como una red insegura, suceptible de esparcir programas creados para aprovechar los huecos de seguridad de Windows y que faciliten el "implante" de los mismos en nuestros sistemas. Los virus pueden ser programados para analizar y enviar nuestra información a lugares remotos, y lo que es peor, de manera inadvertida. El protocolo TCP/IP, desarrollado por los creadores del concepto de internet, es la herramienta más flexible creada hasa el momento, permite la conexión de cualquier computadora con cualquier sistema operativo. Este maravilloso protocolo, que controla la transferencia de la información, al mismo tiempo, vuelve sumamente suceptible de violación a toda la red. Cualquier computadora conectada a la red, puede ser localizada y accedida remotamente si se siguen algunos caminos que no analizaremos por razones de seguridad. Lo cierto es que cualquier persona con conocimientos de acceso al hardware por bajo nivel, pueden monitorear una computadora conectada a internet. Durante la conexión es el momento en el que el sistema se vuelve vulnerable y puede ser "hackeado". Sólo es necesario introducir en el sistema un programa que permita "abrir la puerta" de la conexión para permitir el acceso del intruso o directamente el envío de la información contenida en nuestro disco. En realidad, y para ser completamente sincero, hackear un sistema Windows es ridículamente fácil. La clave de todo es la introducción de tal programa, que puede realizarse por un archivo adjunto a un mail que ejecutamos, un diskette que recibimos y contiene un programa con el virus, o quizá un simple mail. El concepto de virus debería ser ampliado a todos aquellos programas que de alguna manera crean nuevas puertas en nuestros sistemas que se activan durante la conexión a internet para facilitar el acceso del intruso o enviar directamente nuestra información privada a usuarios en sitios remotos.
UNA NUEVA CLASIFICACION DE VIRUS
En las siguientes líneas esbozo una clasificación que tiende a catalogar los virus actuales, sin intentar crear una clasificación académica, sino una orientación en cuanto a funcionalidad para que sea de provecho al usuario común.
1) Virus en archivos "fantasmas": Estos virus basan su principio en que DOS, al tener dos archivos con el mismo nombre, ejecuta primero el archivo COM y luego el EXE, siempre y cuando, claro está, ambos archivos se encuentren en el mismo directorio. Al infectar la computadora, el virus crea un archivo COM con el mismo nombre y en el mismo lugar que el EXE a infectar. De este modo, se asegura que durante la próxima ejecución, el sistema operativo arrancará el nuevo archivo COM creado por el virus y conteniendo el código viral, para luego ceder el control archivo EXE. 2) Virus de boot sector o sector de arranque: infectan el sector de booteo o arranque de discos rígidos o diskettes. Las PC se infectan cuando se arranca el equipo con el diskette infectado puesto en la disketera, siempre y cuando el setup de la PC esté programado para arrancar primero desde el drive A:. Si por el contrario el setup inicia primero desde el disco rígido, no es necesario preocuparse por este tipo de virus. Algunos virus de boot sector no infectan el sector de arranque del disco duro (conocido como MBR). Usualmente infectan sólo diskettes, pero pueden afectar también al Disco Rígido ( ¡ En ese caso SI DEBE PREOCUPARSE ! ), CD-R, unidades ZIP, etc. Se ocultan en el primer sector de un disco y se cargan en memoria RAM aún antes que los archivos de sistemas. De esa manera toman el control total de las interrupciones (IRQ), para ocultarse, diseminarse y provocar daños. Por lo general reemplazan el contenido del sector de arranque con su propio contenido y desplazan el sector original a otra área del disco. Para erradicarlos, es necesario inicializar la PC desde un diskette sin infectar y proceder a removerlo con un antivirus, y en caso necesario reemplazar el sector infectado con el sector de arranque original.
3) Virus de archivos ejecutables: infectan los archivos que la PC toma como programas: *.EXE, *.DRV, *.DLL, *.BIN, *.OVL, *.SYS e incluso BAT Estos virus se reproducen por diversas técnicas, infectando al archivo al principio o al final. Siempre es necesario arrancarlos una primera vez dentro del ordenador para que se activen. Una vez activado en memoria, asegura la ejecución de su código para devolver el control al programa infectado. Pueden permanecer residentes en memoria durante mucho tiempo después de haber sido activados, en ese caso se dice que son virus residentes, o pueden ser virus de acción directa, que evitan quedar residentes en memoria y se replican o actúan contra el sistema sólo al ser ejecutado el programa infectado. Se dice que estos virus son virus de sobreescritura, ya que corrompen al fichero donde se ubican. Escriben el código viral dentro del mismo archivo infectado. Si alguna vez el usuario recibe un mail con un adjunto que sea un archivo infectado, para que el virus se active dentro de la máquina, debe ser arrancado. El usuario puede tener el archivo infectado por años dentro de la PC sin que se active, por ese motivo, el hecho de tener un virus dentro de la computadora no quiere decir que la PC infecte a otros, ya que necesariamente para propagar la infección a otros el virus debe estar activado dentro del ordenador. Eso sólo se consigue arrancando el programa infectado. Si el usuario no lo arranca, nunca se infectará. Es preciso recordar que a través de simples comandos escritos en Visual Basic para Aplicaciones, este tipo de virus pueden ser fácilmente arrancados a partir de la apertura de un archivo Office o la recepción de un e-mail con Outlook, de manera que no es necesaria la acción efectiva del usuario para ordenar la ejecución del programa.
4) "Virus" Bug-Ware: son programas que en realidad no fueron pensados para ser virus, sino para realizar funciones concretas dentro del sistema, pero debido a una deficiente comprobación de errores por parte del programador, o por una programación confusa que ha tornado desordenado al código final, provocan daños al hardware o al software del sistema. Los usuarios finales, tienden a creer que los daños producidos en sus sistemas son producto de la actividad de algún virus, cuando en realidad son producidos por estos programas defectuosos. Los programas bug-ware no son en absoluto virus informáticos, sino fragmentos de código mal implementado, que debido a fallos lógicos, dañan el hardware o inutilizan los datos del computador. En realidad son programas con errores, pero funcionalmente el resultado es semejante al de los virus.
5) Los Virus de Macro: según la International Security Association, los virus macro conforman el 80% de todos los virus circulantes en el mundo y son los que más rápidamente han crecido en la historia de las computadoras los últimos 7 años. Los virus macro no son exclusivos de ningún sistema operativo y se diseminan fácilmente a través de archivos adjuntos de e-mails, disquetes, programas obtenidos en Internet, transferencia de archivos y aplicaciones compartidas. Algunos documentos (WORD, EXCEL, Algunos documentos del Paquete SmartSuite de LOTUS) si bien no son ejecutables, sino documentos, tiene la posibilidad de ser PROGRAMADOS a través de una serie de comandos conocidos como MACROS a través de un subconjunto de instrucciones de Visual Basic, conocido como Visual Basic para Aplicaciones. Algunas macros son tan potentes que deben considerarse instrucciones de programación. Este es el caso de las macros del paquete Office de Microsoft (que engloba entre otros productos a Word y Excel), y a través de ellas, es posible programar rutinas que borren archivos o destruyan información. Las macros del paquete Office, son en realidad un subconjunto de instrucciones de Visual Basic y son muy fáciles de crear. Pueden infectar diferentes puntos de un archivo en uso, por ejemplo, cuando éste se abre, se graba, se cierra o se borra. Este tipo de virus se activa al abrir un archivo infectado dentro del procesador de texto , o planilla de cálculo. En el caso de Word, que es el típico caso de reproducción de virus de Macro, al momento de abrir el procesador, se abre un archivo que contiene información llamado NORMAL.DOT, que es la plantilla maestra del procesador de textos. Este archivo es abierto cada vez que se inicia el procesador de textos. Ahora bien, los virus aprovechan esta debilidad del programa Word para directamente (al activarse), infectar el archivo NORMAL.DOT. Con eso se aseguran que cada vez que se inicie el procesador de texto,se escriba una carta, o abra un archivo, se reproduzca el virus a través de la ejecución de sus rutinas dentro de la plantilla maestra.
6) Virus de e-mail: dentro e este grupo, incluyo a dos tipos de virus: los que junto a un mail hacen llegar un atachado que necesariamente debe abrirse o ejecutarse para activar el virus, y dentro de ellos menciono a Melissa como el precursos de esta variedad, y también englobo a los gusanos (worms) que aprovechan los agujeros de seguridad de programas de correo electrónico para infectar a las computadoras, de los cuales BubbleBoy fue el precursor. Esta variedad difiere de los otros virus en el hecho de que no necesitan de la ejecución de un programa independiente (atachados) para ser activados, sino que ingresan e infectan las PC's con la simple visualización del mail. Hasta la aparición de estos virus, la infección era provocada por un descuido del usuario, pero a partir de ellos, la infección puede producirse aún manteniendo protocolos de seguridad impecables. Aprovechan fallas de los programas ( Vea los "virus" Bug-Ware ) y de ese modo ingresan a las computadoras. De este modo, no es necesaria la impericia del usuario, sino mantenerse informado constantemente de los fallos de seguridad de los programas usados, cosa muy difícil de realizar para el usuario común. Por todos es conocida la política obsesiva de las empresas productoras de software de producir programas "amigables", que complican la programación y llevan a cuidar estéticamente un producto y a fallar en funciones escenciales. Windows ha abierto la puerta a la belleza visual, pero esto trae además la presencia de productos de soft mediocres, que tratan de tapar graves defectos estructurales con menúes atractivos y componentes multimediales. Dentro de este grupo incluyo a los mail-bombers que si bien académicamente no son catalogados como virus, provocan fallas en nuestro sistema al saturar nuestro correo. Los mail-bombers son programas especialmente preparados para enviar un número definido de copias de un e-mail a una víctima, con el objeto de saturar su casilla de correo e-mail. Algunos de estos programas, aprovechando los agujeros de seguridad, envían mails tipo gusano. Los mail-bombers no afectan en realidad nuestro sistema PC, pero provocan el colapso de nuestro correo electrónico, así es que funcionalmente se comportan para el usuario de computadoras como si fueran virus, más allá de cualquier etiqueta académica.
7) Virus de MIRC: al igual que los bug-ware y los mail-bombers, no son considerados virus, pero los nombro debido a que tienen características comunes. Son una nueva generación de programas que infectan las PC's, aprovechando las ventajas proporcionadas por internet y los millones de usuarios conectados a cualquier canal IRC a través del programa Mirc y otros programas de chat. Consisten en un script para el cliente del programa de chateo. Cuando se accede a un canal de IRC, se recibe por DCC un archivo llamado "script.ini". Por defecto, el subdirectorio donde se descargan los archivos es el mismo donde esta instalado el programa, esto causa que el "script.ini" original se sobreescriba con el "script.ini" maligno. Los autores de ese script acceden de ese modo a información privada de la PC, como el archivo de claves, y pueden remotamente desconectar al usuario del canal IRC.
8) Virus de la WEB: el lenguaje de programación JAVA, que permite generar los applets para las páginas web y los controles Active X, son lenguajes orientados especialmente a Internet. El ASP es otro tipo de lenguaje basic orientado al desarrollo de aplicaciones basadas en la web. Si bien en el caso de JAVA la diagramación y el diseño fueron sumamente cuidadosos, de tal modo que existen ( en teoría ) la imposibilidad técnica de modificar archivos en clientes, existen algunos agujeros que si bien no son de seguridad, sino de diseño, abren las puertas a los programadores de virus que, mediante herramientas apropiadas pueden generar una nueva variante de virus que se disemine por las páginas web y, como en el caso de los virus de e-mail, afecten a las PC's aún en condiciones de seguridad adecuadas, por el simple acto de abrir una página. Obviamente no clarificaré demasiado sobre las posibles técnicas de programación de virus en JAVA, pero con esto quiero alertar a los lectores sobre la certeza de que existen en Java agujeros funcionales que facilitarán la creación de estos nuevos virus en los próximos meses tal cual se ha logrado ya en condiciones de laboratorio. Hay evidencias reales de la posible existencia de este tipo de virus, por supuesto, gracias a un agujero de seguridad del navegador de internet de Microsoft. Mediante la apertura de una página web o un e-mail en formato HTML que incluya un archivo de Excel de apertura automática, se pueden ejecutar comandos, instalar virus, borrar archivos y otras funciones. Este procedimiento se puede ejecutar en PC's que contengan una determinada versión de una DLL que por razones de seguridad no identificaré en este documento público. Este bug-ware fue verificado a mediados del '99.
9) Virus de arquitectura cliente / servidor: esta es una clasificación muy particular, que afecta a usuarios de internet . En este apartado contemplo de manera especial a los troyanos, que más que virus, son verdaderas aplicaciones cliente / servidor, por las cuales cualquier persona, y con la configuración adecuada, puede controlar los recursos de una PC a distancia y a través de una conexión a internet. La funcionalidad de estos virus consiste en hacer que la víctima del ataque ejecute un programa que corresponde al servidor del virus, lo que conduce a su autoinstalación en el sistema a la espera de que el usuario conecte su computadora a internet. Una vez conectado, el cliente del programa (hacker o como se le quiera llamar), tiene todas las herramientas necesarias para operar a distancia la computadora de la víctima, gestionar parte de sus recursos y obtener la información guardada en sus unidades de almacenamiento. Son programas altamente sofisticados y el más famoso de ellos es el BackOriffice, pero existen mucho otros más.
TÉCNICAS DE PROGRAMACIÓN DE VIRUS
Los programadores de virus utilizan diversas técnicas de programación que tienen por fin ocultar a los ojos del usuario la presencia del virus, favorecer su reproducción y por ello a menudo también tienden a ocultarse de los antivirus. Esta sección si bien no es de interés para el ususario común, le permitirá familiarizarse con los términos difundidos en la "jerga" computacional. Aquí nombro las técnicas más conocidas:
* Stealth: técnica de ocultación utilizada para esconder los signos visibles de la infección que podrían delatar su presencia.
Mantienen la fecha original del archivo.
Evitan que se muestren los errores de escritura cuando el virus intenta escribir en discos protegidos.
Restar el tamaño del virus a los archivos infectados cuando se hace un DIR.
Modificar directamente la FAT.
Modifican la tabla de vectores de interrupción (IVT).
Se instalan en los buffers del DOS.
Se instalar por encima de los 640 KB normales del DOS.
Soportan la reinicializacion del sistema por teclado.
* Encriptación o autoencriptación: técnica de ocultación que permite la encriptación del código del virus y que tiene por fin enmascarar su código viral y sus acciones en el sistema. Por este método los virus generan un código que dificulta la detección por los antivirus.
* Anti-debuggers: es una técnica de protección que tiende a evitar ser desensamblado para dificultar su análisis, paso necesario para generar una "vacuna" para el antivirus.
* Polimorfismo: es una técnica que impide su detección, por la cual varían el método de encriptación de copia en copia, obligando a los antivirus a usar técnicas heurísticas. Debido a que el virus cambia en cada infección es imposible localizarlo buscándolo por cadenas de código, tal cual hace la técnica de escaneo. Esto se consigue utilizando un algoritmo de encriptación que de todos modos, no puede codificar todo el código del virus.
Una parte del código del virus queda inmutable y es el que resulta vulnerable y propicio para ser detectado por los antivirus.La forma más utilizada para la codificación es la operación lógica XOR, debido a que es reversible: En cada operación se hace necesaria una clave, pero por lo general, usan una clave distinta en cada infección, por lo que se obtiene una codificación también distinta.Otra forma muy usada apra generar un virus polimórfico consiste en sumar un numero fijo a cada byte del código vírico.
* Tunneling: es una técnica de evasión que tiende a burlar los módulos residentes de los antivirus mediante punteros directos a los vectores de interrupción. Es altamente compleja, ya que requiere colocar al procesador en modo paso a paso, de tal manera que al ejecutarse cada instrucción, se produce la interrupción 1, para la cual el virus ha colocado una ISR (interrupt Service Routine), ejecutándose instrucciones y comprobándose si se ha llegado a donde se quería hasta recorrer toda la cadena de ISRs que halla colocando el parche al final de la cadena.
* Residentes en Memoria o TSR: algunos virus permanecen en la memoria de las PC's para mantener el control de todas las actividades del sistema y contaminar todos los archivos que puedan. A través de esta técnica permanecen en memoria mientras la computadora permanezca encendida. Para logra este fin, una de las primeras cosas que hacen estos virus, es contaminar los ficheros de arranque del sistema para asegurar su propia ejecución al ser encendido el equipo, permaneciendo siempre cargado en RAM.
CICLO DE INFECCION DE UN VIRUS DE MACRO
Dedico un párrafo aparte al ciclo de infección de este tipo de virus, debido a su prevalencia entre las infecciones, de innegable importancia a la hora de evaluar su impacto.
Como antes mencioné, para que un virus se active en memoria, se debe ejecutar el programa infectado en primer término para que el virus inicie sus actividades dentro de nuestro sistema. En este caso, no es necesario arrancar ningún programa, sino simplemente abrir un archivo de Word o Excel infectado.
El ciclo completo de infección de un Macro-Virus sería así:
1) Se abre el archivo infectado, con lo cual se activa en memoria.
2) Infecta sin el usuario se dé cuenta al NORMAL.DOT, con eso se asegura que el usuario sea un reproductor del virus sin sospecharlo.
3) Si está programado para eso, busca dentro de la PC los archivos de Word, Excel, Etc, que puedan ser infectados y los infecta.
4) Si está programado, verifica un evento de activación, que puede ser una fecha, y te genera el problema dentro de la pc (borrar archivos, destruir información, etc).
Ahora bien, en el caso de mails vía internet, por lo explicado, debe quedar claro que:
Los mails no son programas. Algunos mails no poseen macros (los que sí poseen macros son los mails de Microsoft Outlook). Aquellos que no tienen lenguaje de macros NO PUEDEN CONTENER VIRUS.
Recuerde que los archivos adjuntos asociados al mail pueden llevar virus (siempre que sean susceptibles de ser infectados). Bajen el adjunto, y chequéenlo. Asegúrense que el antivirus chequee los zipeados o comprimidos si lo adjuntado es un archivo de ese tipo. Si el adjunto es un documento que puede tener macros, desactiven las macros del programa Word ANTES DE ABRIRLO. Si el adjunto es un archivo de texto plano, es decir ASCII puro o sólo texto, pueden quedarse tranquilos. Ahora bien, en caso de duda o inseguridad extrema, queda el recurso de borrar en forma definitiva el archivo adjuntado que encuentran sospechoso.
Lo primero que se debe hacer es recurrir a un buen antivirus actualizado, de nada sirve tener un antivirus viejo, y mucho menos si somos internautas inquietos que bajamos información, documentos y archivos de la red. No sirve tener cualquier antivirus ni tampoco el grado de popularidad del mismo. Sin nombrar a ninguno, debo decirles que existen renombrados antivirus que, por decirlo de algún modo se han "tragado" virus que otros programas detectores, sin tanto márketing, individulaizan y erradican sin dificultad. Obviamente es necesario que chequee todos los virus descriptos más arriba, y que el módulo de escaneo sea fácilmente configurable para que el chequeo incluya a todos los virus, no sólo los que infectan el boot sector y ejecutables. La actualización debe ser fácil de obtener, pero también debe influir en la adquisisción de un antivirus el tipo de tecnología aplicada en su desarrollo.
Actualmente los mejores antivirus usan dos técnicas de chequeo:
1) La conocida técnica de escaneo, consistente en tener una gran base de datos con fragmentos víricos para comparar los archivos con esa inmensa biblioteca.
2) La tecnología heurística es fundamental en estos momentos, y en mi opinión, los antivirus han de ofrecer como alternativa al escaneo común (aún necesario) la búsqueda heurística. Excede a los propósitos de este instructivo profundizar los alcances de la técnica de búsqueda heurística, pero baste decir que esta técnica permite detectar virus que aún no estén en la base de datos del scanning, y es muy útil cuando padecemos la infección de un virus que aún no ha sido estudiado ni incorporado a los programas anitivirus. El principio es simple: todos los virus tienden a ejecutar acciones que en última instancia se codifican en lenguaje ensamblador: borrar archivos del disco, formatearlo, alterar el sector de arranque, etc. Todas estas funciones, en última instancia, al ser compiladas, se traducen en secuencias de instrucciones legibles por la computadora. Más allá del compilador usado para crear un virus, en el cual las sentencias cambian de acuerdo a la sintaxis del lenguaje, las instrucciones deben tener un punto "común" y al ser compiladas se traducen en lenguaje de máquina interpretado por los microprocesadores. Es como la idea de un embudo, en el cual existen diversas alternativas para programar virus, como Ensamblador, Delphi, C++, PowerBasic, etc. Al final del proceso, todos los compiladores "traducen" el lenguaje a instrucciones entendibles por el microprocesador y es allí en donde actúa la técnica de búsqueda heurística. Los analizadores heurísticos buscan cadenas de código que contengan funciones clasificadas como "criticas" y en base a ello, generan un alerta al usuario. La tasa de errores de detección en los buscadores heurísticos suele ser mayor de lo habitual que el escaneo común, ya que pueden existir utilidades dentro del sistema que no sean virus, sino programas legales preparados para reparar el disco duro, por ejemplo, que sean detectados como virus al activar la búsqueda heurística. Justamente por ese motivo este tipo de búsqueda debe ser realizada por personas con al menos, un conocimiento medio-avanzado de las herramientas que tiene su PC, ya que puede llevarlo a destruir software valioso de su sistema.
Las nuevas versiones del Norton Antivirus y otros programas, permiten el chequeo antivirus de e-mails y adjuntos, de manera que si su antivirus permite esta opción, es otro punto a su favor y un escalón más a favor de su propia seguridad.
Otro punto a considerar es la posibilidad de que el antivirus prevea la posibilidad de activar un módulo residente en memoria. Esto es importante en el caso de que el operador / res del sistema no efectivicen los pasos del protocolo de seguridad necesarios para evitar una infección. En muchas ocasiones, los operadores no terminan de acostumbrarse a controlar los archivos que ingresan en el sistema y es por ello que en esos casos, los antivirus chequeen de manera automática las undidades de diskettes, CD-Rom's, ZIP y aún los archivos abiertos y adquiridos en internet de manera automática. Algunos antivirus no chequean los archivos bajados de internet, por lo cual se hace necesario que el mismo usuario active el escaneador una vez que ha grabado en su sistema el archivo y antes de abrirlo o ejecutarlo. Al mismo tiempo es necesario que el lector se concientize de que los módulos residentes de los antivirus, por regla general, no chequean la misma cantidad de virus que al ejecutar el escaneo, sino que emplean una base de datos más reducida para evitar demoras demasiado prolongadas. Actualmente ya no es común que los residentes colisionen con otros, pero téngalo en cuenta a la hora de elegir productos nuevos, que aún no soportan la prueba del tiempo. Si bien no son a menudo, este tipo de conflictos puede llegar al cuelgue de la PC.
De acuerdo a mi experiencia, debo decir que los módulos residentes distan mucho de ser una solución satisfactoria para controlar los virus de las computadoras, y mi consejo más fervoroso es que los operadores se acostumbren a seguir los protocolos de seguridad apropiados para tener un control efectivo de los archivos ingresados a su PC y en su defecto, programen la activación automática de sus antivirus (si tienen esa posibilidad) con el fin de correr el programa principal por lo menos una vez a la semana.
Finalmente, debe considerar la posibilidad real y facilidad de obtener actualizaciones de las bases de datos de definiciones de su antivirus. Actualice su antivirus cada 15 días si es usuario de internet. Ese período de tiempo puede extenderse a 30 días si no tienen internet en su PC, pero no más de esos plazos. De nada sirve un antivirus sin actualizar, ya que equivale a no tenerlo instalado en su sistema.
¿COMO SABER SI TENEMOS UN VIRUS?
La mejor forma de detectar un virus es, obviamente un antivirus, pero en ocasiones los antivirus pueden fallar en la detección. Puede ser que el escaneo no detecte nada y sí el análisis heurístico. Puede ser que no detectemos nada y aún seguir con problemas. En esos casos "difíciles", entramos en terreno delicado y ya es conveniente la presencia de un técnico programador. Nótese que digo técnico programador y no digo sólo programador o técnico. Muchas veces las fallas atribuídas a virus son en realidad fallas de hardware y es muy importante que la persona que verifique el equipo tenga profundos conocimientos de arquitectura de equipos, software, virus, placas de hardware, conflictos de hardware, conflictos de programas entre sí y bugs o fallas conocidas de los programas o por lo menos de los programas más importantes. Las modificaciones del SETUP, cambios de configuración de Windows, actualización de drivers, fallas de RAM, instalaciones abortadas, rutinas de programas con errores y aún oscilaciones en la línea de alimentación del equipo pueden generar errores y algunos de estos síntomas. Todos esos aspectos (y aún varios que no menciono) deben ser analizados y descartados para llegar a la conclusión que la falla proviene de un virus no detectado o un virus nuevo aún no incluído en las bases de datos de los antivirus más importantes.
Aquí menciono algunos de los síntomas posibles:
· Reducción del espacio libre en la memoria RAM.
Un virus, al entrar al sistema, se sitúa la memoria RAM , ocupando una porción de ella. El tamaño útil y operativo de la memoria se reduce en la misma cuantía que tiene el código del virus. Siempre en el análisis de una posible infección es muy valioso contar con parámetros de comparación antes y después de la posible infección. Por razones prácticas casi nadie analiza detalladamente su PC en condiciones normales y por ello casi nunca se cuentan con patrones antes de una infección, pero sí es posible analizar estos patrones al arrancar una PC con la posible infección y analizar la memoria arrancando el sistema desde un disco libre de infección.
· Las operaciones rutinarias se realizan con mas lentitud.
Obviamente los virus son programas, y como tales requieren de recursos del sistema para funcionar y su ejecución, más al ser repetitiva, llevan a un enlentecimiento global en las operaciones.
· Aparición de programas residentes en memoria desconocidos.
El código virual, como ya dijimos, ocupa parte de la RAM y debe quedar "colgado" de la memoria para activarse cuando sea necesario. Esa porción de código que queda en RAM, se llama residente y con algún utilitario que analice la RAM puede ser descubierto. Aqui también es valioso comparar antes / después de la infección y / o arrancando desde un disco "limpio".
· Tiempos de carga mayores.
Corresponde al enlenticimiento global del sistema, en el cual todas las operaciones se demoran más de lo habitual.
· Aparición de mensajes de error no comunes.
En mayor o menor medida, todos los virus, al igual que programas residentes comunes, tienen una tendencia a "colisionar" con otras aplicaciones. Aplique aquí también el análisis pre / post-infección.
· Fallos en la ejecución de los programas.
Programas que normalmente funcionaban bien, comienzan a fallar y generar errores durante la sesión.
¿QUE MEDIDAS DE PROTECCIÓN RESULTAN EFECTIVAS?
Obviamente, la mejor y más efectiva medida es adquirir un antivirus, mantenerlo actualizado y tratar de mantenerse informado sobre las nuevas técnicas de protección y programación de virus. Gracias a internet es posible mantenerse al tanto a través de servicios gratuitos y pagos de información y seguridad. Hay innumerables boletines electrónicos de alerta y seguridad que advierten sobre posibles infecciones de mejor o menor calidad. Existen herramientas yo diría indispensables para aquellos que tienen conexiones prolongadas a internet que tienden a proteger al usuario no sólo detectando posibles intrusiones dentro del sistema, sino chequeando constantemente el sistema, a modo de verdaderos escudos de protección. No ahondaré sobre las técnicas que emplean, sino que diré que resultan indispensables en servidores y terminales de conexión prolongados. Hay herramientas especiales para ciertos tipos de virus, como por ejemplo protectores especiales contra el Back Oriffice, que certifican la limpieza del sistema o directamente remueven el virus del registro del sistema.
¿CÓMO PUEDO ELABORAR UN PROTOCOLO DE SEGURIDAD ANTIVIRUS?
La forma más segura, eficiente y efectiva de evitar virus, consiste en elaborar un protocolo de seguridad para sus sistemas PC’s. Un protocolo de seguridad consiste en una serie de pasos que deberá seguir con el fin de crear un hábito al operar normalmente con programas y archivos en sus computadoras. Un buen protocolo es aquel que le inculca buenos hábitos de conducta y le permite operar con seguridad su computadora aún cuando momentáneamente esté desactivado o desactualizado su antivirus.
Un protocolo de seguridad antivirus debe cumplir ciertos requisitos para que pueda ser cumplido por el operador en primer término, y efectivo en segundo lugar. Demás está decir que el protocolo puede ser muy efectivo pero si es COMPLICADO, no será puesto en funcionamiento nunca por el operador. Este es un protocolo sencillo, que a mi entender me ha permitido mantener libre de infecciones mis PC's por 6 años. No incluyo medidas de protección en caso de un sistema de red, ya que se deberían cumplir otros requisitos no contemplados aquí:
Instalar el antivirus y asegurar cada 15 días su actualización.
Chequear los CD-Rom's ingresados en nuestra PC sólo una vez, al comprarlos o adquirirlos y Marcarlos con un fibrón o marcador para certificar el chequeo. Esto sólo es válido en el caso de que nuestros CD's no sean procesados en otras PC (préstamos a los amigos) y sean REGRABABLES. En caso de que sean regrabables y los prestemos, deberemos revisarlos cada vez que regresen a nosotros.
Formatear todo diskette virgen que compremos, sin importar si son formateados de fábrica, ya que pueden "colarse" virus aún desde el proceso del fabricante. El formateo dede ser del tipo Formateo del DOS, no formateo rápido.
Chequear todo diskette que provenga del exterior, es decir que no haya estado bajo nuestro control, o que haya sido ingresado en la disketera de otra PC. Si ingresamos nuestros diskettes en otras PC's, asegurarnos de que estén protegidos contra escritura.
Si nos entregan un diskette y nos dicen que está revisado, NO CONFIAR NUNCA en los procedimientos de otras personas que no seamos nosotros mismos. Nunca sabemos si esa persona sabe operar correctamente su antivirus. Puede haber chequeado sólo un tipo de virus y dejar otros sin controlar durante su escaneo, o puede tener un módulo residente que es menos efectivo que nuestro antivirus, o puede tener un antivirus viejo.
Para bajar páginas de internet, archivos, ejecutables, etc, definir SIEMPRE en nuestra PC una carpeta o directorio para recibir el material. De ese modos sabemos que TODO LO QUE BAJEMOS DE INTERNET siempre estará en una sola carpeta. NUNCA EJECUTAR O ABRIR ANTES DEL ESCANEO ningún fichero o programa que esté en esa carpeta.
NUNCA ABRIR UN ATACHADO A UN E-MAIL sin antes chequearlo con nuestro antivirus. Si el atachado es de un desconocido QUE NO NOS AVISO PREVIAMENTE DEL ENVÍO DEL MATERIAL, DIRECTAMENTE BORRARLO SIN ABRIR.
Al actualizar el antivirus, CHEQUEAR NUESTRA PC COMPLETAMENTE. En caso de detectar un virus, PROCEDER A CHEQUEAR TODOS NUESTROS SOPORTES (diskettes, CD's, ZIP's, etc).
Si por nuestras actividades generamos grandes bibliotecas de diskettes conteniendo información, al guardar los diskettes en la bilbioteca, chequearlos por última vez, protegerlos contra escritura y fecharlos para saber cuándo fue el último escaneo.
HAGA EL BACKUP PERIÓDICO DE SUS ARCHIVOS. Una vez cada 15 días es lo mínimo recomendable para un usuario doméstico. Si usa con fines profesionales su PC, debe hacer backup parcial de archivos cada 48 horas como mínimo. Llamo backup parcial de archivos a la copia en diskette de los documentos que graba, un documento de word, por ejemplo. Al terminarlo, grábelo en su carpeta de archivos y cópielo a un diskette. Esa es una manera natural de hacer backup constantes. Si no hace eso, tendrá que hacer backups totales del disco rígido cada semana o cada 15 días, y eso sí realmente es un fastidio. Actualmente una caja de diskettes ronda los U$S 3-4. A razón de U$S 0,40 cada diskette, creo que es razonable para mantener a resguardo su información.
Este es el punto más conflictivo y que debo mencionar a consecuencia de la proliferación de virus de e-mails. A pesar de las dificultades que puede significar aprender a usar nuevos programas, le aconsejo evitar el uso de programas de correo electrónico que operen con lenguajes de macros o programados con Visual Basic para Aplicaciones. Del mismo modo, considere el uso de navegadores alternativos, aunque esta apreciación no es tan contundente como con los programas de correo electrónico.
Si bien puede parecer algo complicado al principio, un protocolo de este tipo se hace natural al concientizar al usuario y cederle el control de su propia PC. El primer problema grave de los virus es el DESCONOCIMIENTO de su acción y alcances. Si ha leído hasta aquí, ya tiene un 90 % de la batalla contra los virus ganada, pues ya ha desmitificado el problema y comprende claramente cómo actúan y cómo debe proceder para defenderse. Si el protocolo le parece complicado e impracticable, comprenda que al igual que una herramienta, la PC puede manejarse sin el manual de instrucciones y sin protocolos, pero la mejor manera de aprovechar una herramienta es leer el manual (protocolo) y aprovechar todas las características que ella le ofrece. Si usted no sigue un protocolo de seguridad siempre estará a merced de los virus. Esta guía ahora lo ayuda y le aconseja, pero en poco tiempo perderá vigencia. Si sigue el protocolo de seguridad no dependerá de este instructivo para saber que hacer con los virus de su sistema, sino que sabrá exactamente cómo mantener a resguardo su sistema aún sin saber que variedades de virus nuevos aparecieron desde la redacción de esta monografía.
Si bien ya mencioné antes cómo elegir un antivirus, debo admitir que las consultas de clientes y amigos se centran en tres aspectos fundamentales: facilidad de adquisición de las actualizaciones, menor costo posible y facilidad de uso. Atendiendo a esos tres requsitos, recomiendo en primer término al antivirus de origen Islandés F-PROT, que puede conseguirse fácilmente en internet. El producto para uso particular, no corporativo, es totalmente gratuito. Sirve para entornos DOS – Windos 32 bits. F-Prot me ha demostrado a lo largo de los años ser un producto efectivo, confiable y robusto. Si bien no es un producto tan difundido como otros, el márketing y la publicidad no son ciertamente parámetros confiables a la hora de definir criterios de selección. Tiene la ventaja de avisar automáticamente de la caducidad de su base de datos. Es algo "duro" en su interface de ususario porque no permite el uso de mouse y su actualización cada 2-3 meses es muy alejada del ideal que requiere este loco mundo de la informática.
Como segunda línea, también recomiendo un producto gratuito como lo es Scan de McAffee. Debo admitir que no soy un enamorado del producto, pero su base de datos está lo suficientemente actualizada como para resultar un producto confiable. Tecnológicamente no puedo considerarlo un producto de elite como a F-Prot, pero combinado con otros antivirus, puede formar una formidable barrera.
Si tiene la posibilidad de invertir algunos dólares, mi tercera recomendación es Norton Antivirus sin duda alguna. Actualiza su base de datos cada 48 a 72 horas. Puede chequear mails (algo que no hacen F-Prot ni Scan de McAffee), su residente es muy estable y en la web de Symantec, en la sección Antivirus Center no sólo puede actualizar la base de datos fácil y gratuitamente, sino que puede acceder a vacunas e información de cada virus.
Si puede invertir algo de dinero, mi recomendación es usar la dupla NORTON / F-PROT. Si el dinero es un problema, la asociación F-Prot / Scan McAffee puede ser consierada como una barrera de protección de buen nivel. No hay actualmente un producto 100% confiable. He sido testigo de virus no detectados por Norton que sí son vistos por F-Prot y viceversa. Por supuesto, ningún antivirus estará completo sin un protocolo de seguridad antivirus, que depende exclusivamente de usted.
Si tengo que dar una opinión diría que la asociación NORTON / F-PROT / PROTOCOLO es casi ideal. Y digo casi porque como programador, no creo en los paradigmas absolutos
Por
Ricardo Daniel Ponce
para Hepika ® Soluciones