Virus informaticos
Marcelo Tosini
Maestria en Redes
Universidad Nacional de la Plata
Introduccion
Estas paginas intentan acercar al usuario de computadoras de una manera
sencilla y poco sobrecargada de tecnicismos al
mundo de los virus informaticos. La lectura de este material pretende
disipar el velo de misticismo que rodea a los virus
mostrando su estructura, sus metodos de contagio y ataque, asi como
las herramientas disponibles hoy dia para combatirlos.
Si bien presenta consejos practicos a la hora de luchar contra una
posible infeccion y politicas para evitar futuros contagios, es
prudente recordar que ante alguna sospecha de infeccion viral es siempre
recomendable pedir asistencia a un especialista en la
materia.
Que son los virus informaticos
Un virus de computadora, por definicion, es un programa -o codigo- que
se replica añadiendo una copia de si mismo a otro
archivo ejecutable. Un virus es particularmente dañ debido a
que, sin deteccion o proteccion antivirus, el usuario no se percata
que su sistema esta siendo invadido hasta que ve los resultados que
pueden ir desde anuncios inocuos hasta la perdida total del
sistema.
Aparecidos hace ya mas de una decada, los virus informaticos -en todas
sus variantes- han evolucionado dia a dia pasando de
ser un "juguete dañino" de algun programador travieso a poderosas
armas de software que, con excelentes tecnicas de
programacion en su interior, son capaces de infectar totalmente los
sistemas que atacan, viajar a otros computadores a traves
de redes, mutar su codigo para evitar ser detectados y otras caracteristicas
mas.
El surgimiento de este tipo de software dio lugar al surgimiento (casi
en paralelo) de otro tipo de programas, los Antivirus.
Estos ultimos, creados para ofrecer batalla a los virus informaticos,
son accesibles hoy dia en cientos de versiones, con
mayores o menores prestaciones, con mas o menos garantias de exito,
pero ninguno cien por ciento seguro.
Tipos de Virus
Los virus pueden ser clasificados en varias categorias atendiendo a
:
su funcionalidad especifica:
Bug Ware o errores de Software
Caballos de Troya
Camaleones
Bombas
Reproductores
Gusanos o Navegantes
Virus propiamente dichos o Worms
Macro Virus o Virus de Word
Sus preferencias de ataque:
Sector de Booteo
Procesador de Mandatos o Shell
De Proposito General
De Proposito Especifico
Multiproposito
Residente en Memoria
Su agresividad:
Dañinos No dañinos
PUNTOS PROPICIOS DE INFECCION DE LOS VIRUS INFORMATICOS
Los puntos de infeccion son los lugares o programas del sistema en donde
los virus insertan su codigo ejecutable para
posteriormente entrar en accion cuando este punto o programa sea ejecutado.
Hay virus que infectan el sector de arranque (boot sector), el interprete
de comandos (shell), archivos ejecutables, drivers
controladores de dispositivos, monitores residentes en memoria, etc.
Cada tecnica de infeccion proporciona ventajas y desventajas a los
programadores de virus. Algunos metodos son mejores
porque es mas dificil que un software antivirus los detecte, pero exigen
tecnicas de programacion muy rigurosas y mucho
tiempo de desarrollo.
Algunas de las tecnicas frecuentemente usadas utilizan los siguientes
puntos de infeccion:
Contaminacion del sector de arranque (boot)
El virus sustituye el sector de booteo original
del computador cambiando asi la secuencia normal de booteo. De esta
manera, lo primero que se ejecuta al encender
el sistema es el codigo del virus, el cual queda residente en memoria y
luego carga el nucleo del sistema operativo.
Las principales ventajas de este tipo de infeccion
son que, por un lado, es facil de programar un virus de estas
caracteristicas y, por otro lado, al quedar
el virus por debajo del sistema operativo tiene virtualmente un control
total
sobre las acciones del mismo e incluso puede
engañar mas facilmente a muchos programas antivirus.
Su principal desventaja es que son facilmente
detectables y eliminables ya que basta con reinstalar nuevamente un sector
de arranque "bueno" para eliminar el virus.
Contaminacion del interprete de comandos (shell)
Este tipo de infeccion es muy similar a la
anterior, ya que el virus unicamente infecta un solo programa del sistema
operativo, el interprete de comandos.
La principal ventaja de estos virus es que
pueden "interceptar" todas las ordenes que el usuario le da al sistema
y en
algunos casos (dependiendo de la funcion del
virus) solapar las acciones que se deben realizar con otras acciones falsas
introducidas por el mismo virus.
Por ejemplo: Cuando el usuario quiere ver
el contenido de un directorio el virus se lo muestra, pero lo que en realidad
hace es borrar totalmente ese directorio.
El engaño pude llegar incluso hasta el punto de que durante toda
le sesion
presente el virus muestre el contenido del
directorio como si aun existiese, aunque en realidad ya esta borrado.
Contaminacion de proposito general
Este metodo de infeccion es uno de los mas
usados, ya que los virus de este tipo contagian todos los archivos
ejecutables que encuentren en el sistema de
archivos.
Independientemente de la accion destructiva
que realizan, son extremadamente dificiles de erradicar, ya cuando se los
detecta posiblemente ya hayan contaminado
decenas o cientos de programas del sistema, los cuales en muchos casos
no
se pueden recuperar (ver Desinfeccion) e incluso
es posible que el virus haya contagiado algun otro sistema al cual se
llevo alguno de los programas infectados.
Por lo general este tipo de virus asegura
su permanencia contagiando cierta cantidad de archivos antes de iniciar
sus
acciones destructivas, con lo cual, al momento
de detectarlo, el virus puede haber infectado todo el sistema e incluso
otros sistemas.
Una variante de este tipo de virus son los
virus de propositos especificos (SPI) diseñados generalmente con
fines de
competencia entre empresas de software o para
castigar la pirateria de algun paquete de software en particular. Este
tipo de virus solamente ataca determinados
programas o paquetes de software de determinadas empresas y por lo
general termina destruyendolo o modificandolo
para que -en apariencia- funcione mal. Algunas variantes de estos virus
tambien contagian otros archivos ejecutables
en general persiguiendo dos fines fundamentales: Poder actuar en el futuro
ante una reinstalacion del software que combaten
y, por otro lado, la infeccion de otros archivos en general desvia las
sospechas sobre las verdaderas intenciones
del virus.
Virus residentes en memoria
El ultimo tipo de infeccion son lo virus residentes
en memoria (MRI), los cuales, a diferencia de los anteriores que solo
actuaban mientras se ejecutaba el programa
infectado, se instalan en memoria y alli permanecen hasta que se apague
el
sistema.
Estando en memoria el virus puede realizar
todas las acciones de contagio y destruccion que desee en cualquier
momento.
Estrategias de infeccion usadas por los virus
Aunque se pueden considerar diversas variantes es factible agruparlas en 5 categorias principales:
Añadidura o empalme
Por este metodo el codigo del virus se agrega al final del archivo ejecutable
a infectar, modificando las estructuras de arranque
del archivo anfitrion de manera que el control del programa pase primero
al virus cuando se quiera ejecutar el archivo. Este
cambio de secuencia permite al virus realizar sus tareas especificas
y luego pasar el control al programa para que este se
ejecute normalmente.
La principal desventaja de este metodo es que el tamaño del
archivo infectado es mayor al original, lo que permite una facil
deteccion.
Insercion
Los virus que utilizan el metodo de insercion buscan alojarse en zonas
de codigo no utilizadas o en segmentos de datos dentro
de los archivos que contagian, de esta manera la longitud total del
archivo infectado no varia.
Este metodo, parecido al de empalme, exige mayores tecnicas de programacion
de los virus para poder detectar las zonas
posibles de contagio dentro de un ejecutable, por lo que generalmente
no es muy utilizada por los programadores de virus
informaticos.
Reorientacion
Este metodo es una variante interesante del anterior. Bajo este esquema
se introducen centrales viricas (los codigos principales
del virus) en zonas fisicas del disco rigido marcadas como defectuosas
o en archivos ocultos del sistema. Estos codigos virales,
al ejecutarse, implantan pequeños trozos de codigo en los archivos
ejecutables que infectan, que luego actuan como llamadores
de las centrales viricas.
La principal ventaja de este metodo es que el cuerpo del virus, al
no estar inserto en el archivo infectado sino en otro sitio
oculto, puede tener un tamaño bastante grande, aumentando asi
su funcionalidad.
La desventaja mas fuerte es que la eliminacion de este tipo de infecciones
es bastante sencilla. Basta con borrar archivos
ocultos sospechosos o reescribir las zonas del disco marcadas como
defectuosas.
Polimorfismo
Este es el metodo mas avanzado de contagio logrado por los programadores
de virus.
La tecnica basica usada es la de insersion del codigo viral en un archivo
ejecutable, pero para evitar el aumento de tamaño del
archivo infectado, el virus compacta parte de su codigo y del codigo
del archivo anfitrion de manera que la suma de ambos sea
igual al tamaño original del archivo. Al ejecutar el programa
infectado actua primero el codigo del virus descompactando en
memoria las porciones previamente compactadas.
Una variante mejorada de esta tecnica permite a los virus usar metodos
de encriptacion dinamicos para disfrazar el codigo del
virus y evitar ser detectados por los antivirus.
Sustitucion
El metodo de sustitucion, usado con variantes por los camaleones y los
caballos de troya, es quizas el metodo mas tosco.
Consiste en sustituir el codigo completo del archivo original por el
codigo del virus. Al ejecutar el programa infectado el unico
que actua es el virus, que cumple con sus tareas de contagiar otros
archivos y luego termina la ejecucion del programa
reportando algun tipo de error.
Esta tecnica tiene sus ventajas, ya que en cada infectacion virica
se eliminan archivos de programas validos, los cuales son
reemplazados por nuevas copias del virus.
MEDIDAS ANTIVIRUS
No existe hoy en dia una politica antivirus que sea cien por ciento
efectiva. La forma de evitar desastres es mantenerse al tanto
de las ultimas novedades en seguridad informatica existentes en el
mercado en la forma de paquetes antivirus, sumado a una
buena gestion del sistema de discos. Tambien es importante mantenerse
al tanto de algunos metodos "caseros" de identificar y
erradicar infecciones de virus descubiertas recientemente y que con
seguridad no estan incluidas en la lista de virus conocidos
que su antivirus detecta.
La consigna principal es tener un buen programa antivirus instalado
en el sistema y mantenerse al tanto de las actualizaciones
que tiene dicho producto.
UN PROGRAMA ANTIVIRUS POR MUY BUENO QUE SEA SE
VUELVE OBSOLETO MUY RAPIDAMENTE ANTE LOS
NUEVOS VIRUS QUE APARECEN DIA A DIA ! ! !
Por otro lado una buena gestion del sistema de discos le permitira mantener
ordanado el sistema de archivos aumentando la
posibilidad de deteccion de anomalias tales como archivos o directorios
que faltan o que antes no estaban y ahora si.
Tambien es una buena politica antivirus evitar la inclusion en el sistema
de programas "piratas" o de procedencia dudosa ya que
son los mas suceptibles de estar contaminados.