- 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