Virus de Computadoras 

Algunas personas dicen que los usuarios de computadores están divididos en dos grupos: aquellos que ya han sido infectados por algún virus, (informático), y aquellos que están a punto de ser infectados.

Si usted pertenece al primer grupo, no es necesario explicarle todas las molestias, problemas e inconvenientes que causan, sin mencionar la pérdida de data, de programas y de tiempo. (Y de dinero).

Pero, ¿Qué son los virus de computadora?

Una definición dice que los virus son programas de computación que pueden "infectar" a otros programas modificándolos de manera tal para que incluyan una copia de sí mismos dentro del programa infectado.

Otra definición aceptable dice que un virus es un pequeño programa, normalmente anónimo, cuyo objetivo es producir efectos indeseables, y casi siempre, efectos indeseables perjudiciales para el sistema.

El emplear la palabra "virus" se debe a que su comportamiento es muy similar a los virus biológicos que afectan a otros seres vivos: se contagian; se multiplican; y enferman a su portador.

Los virus se extienden potencialmente, sin el conocimiento ni el permiso de los usuarios de los computadores y/o de las estaciones de trabajo, a una gran cantidad de programas de muchas máquinas. Además, los virus también suelen contener instrucciones que provocan daños y/o problemas de funcionamiento operativo. La combinación de estos factores; un código que puede dañar data y programas, y la capacidad de extenderse hacen que los virus sean un problema real que pueden causar daños considerables. (Y de hecho lo hacen).

Los virus no son ningún misterio. Unicamente son programas de computación y sólo hacen lo que pueden hacer como programas. Sin embargo, a diferencia de la mayoría del software, están diseñados específicamente para auto multiplicarse, extenderse y causar daños y/o molestias.

A menudo, los virus pueden extenderse sin presentar ningún síntoma claramente perceptible, al menos de forma inmediata. Cuando un virus contagia a un equipo de computación, puede ejecutar cualquier instrucción que su creador haya incluido o imaginado. Estas instrucciones pueden tener efectos respecto a algún suceso; por ejemplo, se puede activar al cabo de un número específico de ejecuciones; efectos respecto al tiempo: activarse en una fecha específica, como por ejemplo los viernes 13, o un 1º de abril (*), o pueden producirse aleatoriamente.(*) El 1º de abril es el día de los inocentes en USA.

Según los motivos de su creador, un virus puede que no contenga instrucciones para dañar o destruir de forma intencionada. Puede dañar únicamente al reproducirse y multiplicarse, ocupando espacio no suficiente para ello, como por ejemplo espacio en un disco duro hasta llenarlo, tiempo de CPU o tiempo de conexiones de la red.

Las cosas típicas que suelen hacer los virus comunes de los microcomputadores son, entre otras:

Como dijimos, muchos virus no hacen nada más que extenderse y ocupar espacio en el disco, (hasta llenarlo). Otros son totalmente fatales para el computador. Aclaremos que aún cuando se menciona la palabra "computador", realmente ningún virus puede de hecho dañar el "hardware" de un equipo; su acción se limita a dañar la DATA y los programas, y, como se menciona más arriba, puede producir lentitud o paralización en los procesos de rutina del CPU, pero no se sabe de ningún caso en que el hardware salga realmente afectado en ninguna forma.

El concepto actual de los virus de computación se desarrolló por primera vez en 1983. Desde entonces, se han escrito muchos y variados virus. Uno de los primeros es el conocido "PingPong", que causaba que en la pantalla apareciera una "pelota" que rebotaba de un sitio a otro, pero sin causar otros daños en el sistema. Otro, con el dudoso honor de estar entre los primeros, se llama "Stoned", el cual, en un momento indeterminado, "congela" el sistema, apareciendo en pantalla la frase: now you are stoned, (Algo así como: ahora usted está trancado).

Aunque es posible escribir un virus para prácticamente todos los sistemas operativos de computadores, los que se extienden con más frecuencia por el mundo en la actualidad, se limitan a los microsistemas. No se conocen, hasta el momento, virus en circulación que se ejecuten en sesiones nativas de los sistemas operativos OS/2, AIX, VM, MVS u OS/400 de IBM. Sin embargo, es posible que cualquiera de estos sistemas operativos que ejecuten programas de DOS pueda extender virus de DOS, incluyendo las sesiones de DOS de OS/2 y la modalidad de Emulación de DOS de AIX.

Los archivos infectados pueden esconderse casi en cualquier lugar. Pueden almacenarse como archivos de servidores (como por ejemplo servidores de la LAN de OS/2, servidores de la LAN de AIX o "carpetas" de red de OS/400). Aunque no puedan ejecutarse en estos servidores, las máquinas de DOS de la red sí pueden ejecutar un archivo infectado del servidor y pueden extender la infección a éstas.

¿ Cómo se contagian los virus?

Los virus de los que hablamos aquí, entran en organizaciones (como por ejemplo empresas o asociaciones), o en computadores personales, porque se utiliza un disquete o un programa infectado previamente. A diferencia de otros problemas de seguridad, los virus a menudo se extienden de un sistema a otro sin que nadie lo note. Normalmente, los virus que se extienden dentro de una organización los incorporan personas inocentes que van allí a realizar las actividades normales de su profesión. (También inocentemente, los mismos usuarios, cuando suelen llevarse y traer parte de su trabajo a casa).

El otro peligro potencial de contagio es, hoy en día, la inocencia o ingenuidad de los usuarios de Internet, donde suelen propagarse una cantidad de virus realmente peligrosos disfrazados como mensajes de correo electrónico, o al bajar ciertos programas. La gran mayoría de las empresas proveedoras de servicios de Internet (ISP) han implantado eficientes sistemas de prevención, captación y eliminación de virus, pero sigue en juego la habilidad e ingenio de los programadores de virus, para quienes siempre es un desafío importante burlar estos sistemas.

Un ejemplo simple de infección. Supongamos que una empresa contrata a una persona externa para que vaya allí a realizar alguna tarea. Parte de la tarea de dicha persona, consiste en trabajar en uno de las estaciones de trabajo o en un micro de la empresa. Esta persona lleva unos cuantos programas para realizar su trabajo, como por ejemplo su procesador de palabras preferido, o un software de análisis.

Sin que esa persona se haya dado cuenta, sus programas han sido infectados por un virus, (quizás haciendo lo mismo para otra empresa ya con infección). Al utilizar dicho editor en una de las máquinas de la compañia, el virus se autocopia desde el editor a uno de los programas que deba accesar como, por ejemplo, el archivo "COMMAND.COM" o alguno de los programas de acceso obligatorio. Esta máquina ya está contagiada.

Aunque la persona contratada temporalmente se lleve sus programas personales al terminar su trabajo, el virus permanece en el micro que tiene el archivo mencionado, ya infectado. Cuando otra persona utiliza, posteriormente, dicho equipo, el virus se extiende a otro programa, como por ejemplo a un programa de hoja de cálculos. Este programa ahora también está  infectado. La infección se extiende ahora a otros programas en los que se utilice dicho archivo o, si el computador del usuario está conectado a la red de la empresa, el virus pasa a los programas de la red. En cualquier caso, el virus se puede extender a más usuarios y a más máquinas que utilicen Diskettes o redes. Cada copia del virus puede hacer múltiples copias de sí mismo y puede infectar cualquier programa al que tenga acceso. Como resultado, el virus se expande ampliamente por la empresa y/o a cualquiera que utilice este sistema.

Cada uno de los programas infectados, ya dentro de los computadores, inicia las instrucciones que el creador del virus haya diseñado. Si estas instrucciones son dañinas o destructivas, la capacidad de infiltración del virus hace que el daño se extienda rápidamente.

¿Hasta dónde es grave el problema?

La respuesta a esta pregunta dependerá de cuán valiosa sea su DATA y/o información que tenga almacenada en su sistema. Por ejemplo, si usted tiene guardada toda la contabilidad de dos años de su empresa en un disco duro, y nunca ha efectuado un "BackUp", (Respaldo), lo más probable es que, si dicho disco duro se contagia con algún virus realmente maligno, tenga que rehacer los dos años de contabilidad perdidos.

Piense en todas esas horas, a lo largo de meses (y hasta años), en que ha ido configurando y conformando sus directorios, sus archivos, sus menúes, Etc., hasta hacer que su equipo esté personalizado y configurado a su gusto y necesidades. Si usted es usuario experimentado de "Windows®", piense en cuánto le ha costado configurar sus .INI y en todos los experimentos previos con el manejo de la memoria para lograr el mejor desempeño del programa.

Las medidas de seguridad tradicionales intentan reducir el número de incidentes a un nivel aceptable. Por ejemplo, un único incidente de pérdida de archivo en un año puede ser una pérdida aceptable. Aunque esto es importante, estas medidas preventivas no responden totalmente al problema de los virus.

Dado que un único virus puede extenderse potencialmente por toda una organización, el daño que puede provocar es mucho mayor que el que podría provocar al usuario de un sistema individual. El problema es que los virus modifican el software de forma incontrolada, lo cual suele dañarlo permanentemente. Además, algunos virus también estropean archivos de data y se pierden o se "enredan" las bases de datos.

La prevención para evitar las infecciones de virus en una organización, es importante, pero a menudo no es factible evitarlas por completo. Es importante poder tratarlas cuando se producen, en su etapa inicial. El daño potencial es realmente elevado si no se toman medidas preventivas eficaces.

Programas antivirus

Es imposible impedir por completo que los sistemas se infecten mientras haya que instalar nuevos programas en los mismos, o mientras existan programas que puedan modificarse, mientras se tenga que insertar diskettes por alguna razón y tenga que accederse a la Web. Este riesgo se incrementa en gran medida por el acceso más o menos irrestricto a Internet sin tener instalados antivirus especialmente diseñados para este fin. También es imposible detectar todos los virus existentes sin ningún error. Por si esto fuera poco, aparecen nuevos virus cada día, (hasta la fecha se han identificado más de 12.000). Por lo tanto, siempre es posible que los sistemas se infecten. Es importante planificar la prevención hasta el máximo posible pero es igualmente importante planificar la contención y la recuperación de las infecciones cuando se producen. (En otras palabras, tener planificado qué hacer cuando se produzca el problema).

¿Qué son los programas antivirus?

Para entender los programas antivirus, resulta útil comprender el comportamiento básico de los virus conocidos. Generalmente, todos los virus insertan copias de sí mismos en uno o más:

Los programas antivirus aprovechan las características generales de todos los virus (que cambian archivos o registros de arranque) o el comportamiento de virus o de clases de virus específicos. Cuando dicho programa encuentra alguna de estas características, el mismo avisa al usuario, para intentar eliminar el virus e impedir que se extienda.

Técnicas utilizadas por los programas antivirus

Exploración

Cuando un virus es identificado y se analiza, se puede escribir un programa que detecte cualquier archivo o registro de arranque infectado por dicho virus. En la mayoría de los casos, el detector puede buscar simplemente un patrón preidentificado de bytes que forma parte del virus y que no debiera estar, o no se encuentra en programas normales. Los detectores que buscan estos patrones de bytes se denominan escáners. (En inglés: Scanner).

En muchos virus, el patrón mencionado es una serie secuencial simple de bytes fijos. Para otros, se necesitan unos patrones de bytes más complicados. Se debe tener cuidado y asegurarse de que el patrón de bytes no se encuentre en ningún programa normal, de lo contrario, el detector informará  de un virus cuando en realidad no hay ninguno.

Detección de cambios

Para que un virus infecte archivos o sectores de arranque, debe modificarlos. Se puede utilizar un programa que avise cuando los archivos y los registros de arranque sufran cambios para detectar si hay virus, aunque éstos no sean conocidos. Entre otros, estos cambios suelen ser diferencias entre los bytes originales del programa y los bytes resultantes después de la infección. También puede cambiar el contenido del programa sin afectar la cantidad de bytes, (Ej.: un cambio de direccionamiento: G0003:0100 por F003:0100 no cambiará la cantidad de bytes pero sí cambiará el "checksum", por lo que el cambio sí es detectable).

Pero algunos programas y archivos de arranque cambian por muchas razones normales que no tienen relación con los virus. (Por ejemplo, el CONFIG.SYS, el AUTOEXEC. BAT, los archivos con la extensión .INI de Windows, así como algunos programas específicos que pueden automodificarse de acuerdo a la configuración en su instalación y posteriores cambios). Por sí sola, la detección de cambios tiene una eficacia limitada dado que requiere que los usuarios sepan distinguir entre los cambios normales y los cambios que indican que sí hay un virus.

Análisis heurísticos

El análisis heurístico intenta detectar una infección observando alguna apariencia o comportamiento característico de alguna clase de virus ya conocido. Puede buscar en los archivos operaciones (códigos) que los virus utilizan y que en cambio se utilizan muy pocas veces en los programas normales. O puede detectar los intentos de grabaciones inusuales en discos duros o en Diskettes.

Al igual que con la detección de cambios, potencialmente puede detectar toda clase de virus, pero se debe tener cuidado y asegurarse de que no se identifiquen como infectados programas normales.

Verificación

Las técnicas mencionadas más arriba, pueden indicar que un archivo o un sector de arranque está infectado por un virus, pero por sí mismos, no pueden estar seguros ni identificar con exactitud de qué virus se trata. Los programas que realizan esta tarea de identificación se llaman verificadores. Se pueden escribir verificadores de virus conocidos una vez realizado un análisis detallado de los mismos. Por supuesto, esto significa que quien hace el programa identificador debe conocer previamente la conducta de todos los virus para los cuales está hecho dicho programa.

Desinfección

Cuando se encuentra un virus en un archivo o un registro de arranque, puede que exista la posibilidad de eliminarlo y de restaurar el archivo o el registro al estado original no infectado. Este proceso se denomina desinfección o eliminación. Se dice que "puede que exista " ya que algunos virus dañan los archivos o los registros de arranque que infectan de tal modo que no es posible desinfectarlos correctamente, y dejar el programa original funcionando correctamente. En estos casos el eliminador efectúa una "cirugía", extirpando el virus junto con parte del programa, dejándolo inoperativo o funcionando incorrectamente. También es posible que un escáner identifique dos tipos diferentes de virus como el mismo, (uno solo), y que el eliminador funcione correctamente para un virus pero no en otro.

Funcionamiento residente y no residente

Las técnicas mencionadas pueden utilizarse de varias formas. Una manera corriente de utilizarlas es con programas que examinan todo lo que contienen los discos, para buscar si hay virus y eliminarlos. Otra utilización corriente es en los programas residentes en DOS, que siempre estén supervisando si hay virus en el sistema, o que avisan cuando se introduce un diskette o se carga un programa previamente infectado. En contraparte pueden provocar retrasos en la carga y ejecución de otros programas, a no ser que se hayan creado cuidadosamente, con el fin de evitar dicho retrasos. Además, como TSR, (Terminate and Stay Resident=Se ejecuta y permanece residente en la memoria), ocupan espacio de memoria ram.

Los programas no residentes tienen la ventaja de buscar y tratar virus en todo el sistema al mismo tiempo. Actúan a modo de función complementaria de los programas residentes. Pero en contraparte, por sí mismos, no pueden prevenir la infección.

Funcionamiento automático

Si se delega a los usuarios que deben recordar ejecutar un programa antivirus de forma periódica (la experiencia ha demostrado que se olvidan de ello, igual que de hacer los respaldos periódicos), aumenta el riesgo de que un virus infecte sus sistemas y de que se extienda a otros.

El método más eficaz es hacer que el programa antivirus funcione automáticamente. Estos programas protegen el sistema sin que sea necesaria una acción especifica por parte del usuario. Esta protección puede obtenerse instalando programas antivirus residentes al inicializar el sistema y ejecutando programas no residentes ya sea al iniciar el sistema o periódicamente, bajo un cronograma predefinido y/o en un programa de inicialización.

Prevención y detección

La detección de la existencia de un virus y la determinación de qué ha infectado son los dos primeros pasos más importantes para llevar a cabo una acción correctiva cuando se produce un incidente de virus. Impedir que un virus se extienda es importante con el fin de limitar los daños de la infección.

Virus no existentes y falsas alarmas

En general, es imposible detectar todos los virus que puedan existir sin equivocarse nunca. Los detectores de virus nunca consiguen detectar algunos y alguna vez dicen incorrectamente que un programa normal está infectado cuando realmente no lo está. Algunos programas detectan virus que otros no detectan. Otros que reportan haber eliminado algún virus, de hecho no lo hacen.

Este defecto no es una limitación de la tecnología actual. Se puede demostrar matemáticamente. Cualquier afirmación de que un programa puede detectar todos los virus posibles sin cometer ningún error es falsa. Por otro lado, sí se pueden detectar correctamente las infecciones de todos los virus que se conocen hasta el momento. También es posible detectar numerosas clases de virus no conocidos sin equivocarse. Combinando con cuidado una detección precisa con las técnicas adecuadas para evitar falsas alarmas, el riesgo de los virus disminuye notablemente.

Repetimos: los virus deben modificar archivos o sectores de arranque para poder infectarlos. Si un archivo no tenía un virus al comprobarlo ayer y sabemos que el archivo no se ha modificado, entonces sabemos que tampoco tiene un virus hoy. (Repetimos también: siempre existe la posibilidad de una nueva clase de virus que no sea detectable por medio de un escáner).

Cuando se utiliza normalmente, un buen escáner sólo busca si hay virus conocidos en los archivos modificados o nuevos. Es más rápido verificar previamente si un archivo ha cambiado o si es nuevo que examinar si contiene virus conocidos. Este proceso acelera la comprobación. (Se comprueba si hay cambios u otras características, en todos los registros de arranque y archivos especificados, incluso si no se examina si tienen virus conocidos).

Consejos prácticos preventivos

Si usted es un usuario independiente, adquiera e instale un antivirus original reciente, y regístrese. Al estar registrado, el fabricante del software lo mantendrá actualizado con nuevas versiones y protecciones contra nuevos virus y sus variantes. Procure que el software, además de reciente, sea lo más completo posible, es decir, que además de tener herramientas para una gran mayoría de virus, también le permita examinar su sistema con la mayoría de los métodos analizados previamente. El costo de los antivirus es bastante bajo, en comparación a otro software, y tener más de uno es altamente aconsejable.

Después de todo, se trata de una inversión que previene contra daños que sí son realmente costosos, después de ocurrido un desastre. (Como perder toda la data del disco duro de un servidor de red, por ejemplo).

Al tener un antivirus residente en memoria, éste le avisará cada vez que instale algún programa o lea algún diskette contaminado. (Siempre y cuando el invasor esté pre-identificado). Si usted es usuario de alguna red, (Internet, Compuserve, Etc.), también le avisará si baja algún programa infectado. (Sí, también en la WEB existen virus).

Si usted es un usuario experimentado, y posee un equipo reciente, es muy probable que en el "Setup" de su sistema exista la opción de proteger contra escritura el boot sector de su disco duro. Hágalo.

No instale copias piratas, ni de programas ni, mucho menos, de juegos en su equipo, y menos todavía en un servidor de red.

Si usted es un administrador de red, trate de que los usuarios que no necesitan utilizar diskettes para su trabajo, arranquen su estación con un "BootProm" en lugar de un diskette de arranque. Este es un chip que se instala en la tarjeta de red del equipo, haciendo que el arranque y conección al servidor se efectúen automáticamente, sin intervención del usuario. (Por supuesto que de esta estación de trabajo se elimina el Floppy Drive).

Instale un buen antivirus residente en el servidor, y configúrelo para que cada vez que lea un archivo proveniente de una estación de trabajo, lo verifique primero antes de procesarlo.

Haga respaldos frecuentes. Ya sabemos que es un fastidio, pero es la salvación si ocurre un problema con discos duros. Recuerde que los discos duros también se pueden dañar por otras causas, y que tarde o temprano llegarán al final de su vida útil.

Después de haber detectado algún virus, lo más recomendable es apagar el CPU, ya que así se "mata" el virus de la memoria ram. (La memoria ram sólo está activa al estar alimentada por la fuente de poder del computador). Luego inicialize el sistema con un diskette de arranque "limpio", previamente preparado para ese fin, y que contenga el antivirus que utilice. Nunca ejecute un antivirus sin haber efectuado este paso previo.

Ponga el "write protect" a todos sus diskettes, aún cuando sean los de respaldo. Si en algún momento se "coló" algún virus, al leerlos el virus se pasará a la memoria, y cuando lea el segundo diskette protegido contra escritura, tendrá en pantalla el mensaje: "Error de escritura escribe unidad A:" Anular, Repetir, Descartar ? Lo cual no debe ser, dado que usted está leyendo el diskette.

Instruya y eduque a los usuarios para que tomen consciencia del peligro real que significa una contaminación. A fin de cuentas son ellos parte de los afectados, y seguramente quienes tendrán que rehacer meses de trabajo.


Copyright  Ó, 1998-2001. L. Marcelo Doyhamboure A.  Ultima revisión: Viernes 06 de Abril de 2001 . (Reproducción permitida siempre y cuando se cite al autor)