DEFINICIÓN
Los virus son
programas informáticos capaces de replicarse o reproducirse
mediante la infección de otros programas
(ejecutables).
La
característica fundamental que los define es la
infección. La
ocultación es un elemento esencial que
añade complejidad al virus.
La
propagación se realiza mediante ficheros infectados
(que llevan pegadas copias del virus). La vía puede ser a través de un disquete, de un correo electrónico o bien que el virus sea capaz de conectarse y enviar copias de sí mismo.
Se “pega” a un fichero ejecutable. Generalmente, si comprueba que no puede transmitirse a otro ordenador por no existir una conexión a una red, el programador le habrá incluido una rutina para infectar el ordenador en el que se encuentra.
No es necesario que dañe o destruya, cosa que se encuentra erróneamente en muchas definiciones de virus.
La
infección se producía al principio de forma masiva a través del intercambio de disquetes, luego por correo electrónico, ficheros adjuntos, software pirata, etc.
Internet ha supuesto el boom de los virus y de los gusanos. Los programas de intercambio de música y películas son un filón inagotable.
ESTRUCTURA
La estructura de un virus es tripartita:
- Mecanismo de reproducción. Infección que genera copias del virus “pegadas” en ficheros ejecutables o en el sector de arranque de discos (en realidad son programas también).
- Detonante (trigger). Esta parte del virus (de su código) se encarga de comprobar si se cumplen las situaciones previstas por el programador. Cuando se cumplan una o varias circunstacias: puede ser una fecha concreta, una acción por parte del usuario, etc.
- Carga (payload). La acción que realiza el virus. No tiene por qué ser destructivo: puede ser mostrar una ventana, un mensaje, etc. Entre los payload destructivos o perjudiciales pueden encontrarse desde el borrado de ficheros hasta el envío de información confidencial a destinos no autorizados.
El virus intentará sobrevivir el máximo tiempo posible e infectar al mayor número de ficheros y/o ordenadores. Para esto, desde el sencillo
"Brain" en 1986, se usan las llamadas
técnicas de ocultación, que buscan engañar al usuario y a los antivirus.
Uno de los
mitos más persistentes hacen referencia a las llamadas
“mutaciones” de los virus, que en la mayoría de las ocasiones
son cambios que realizan determinados programadores sobre el código de un virus o gusano exitoso (y los medios de comunicación no se refieren al polimorfismo sino a lo citado).
Otro es que la
infección vírica destruye, pero la realidad es que
no es destructora salvo errores
(bugs) de programación. Lo que puede
destruir es el
“payload”.
LENGUAJES DE PROGRAMACIÓN
Pueden verse virus en casi cualquier lenguaje, desde el más sencillo como es el
BATCH hasta el más complejo como es el
ENSAMBLADOR.
Los
virus interpretados, tanto
de macro como de lenguajes
script (VBScript, etc... ), están ganando un espacio considerable en los últimos años, por ser bastante más
fáciles de crear que los realizados en ensamblador para infectar ejecutables
en Windows 32.
||
CLASIFICACIÓN DE VIRUS (Aproximación)
||
|| TIPO || DESCRIPCIÓN BREVE ||
|| Virus de sector de arranque || Infecta la parte del disco usada para arrancar (tiene código) ||
|| Virus infector de ficheros || Infecta los ficheros ejecutables (no sólo los EXE) ||
|| Virus interpretado: macro, script, ... || Activa una serie de instrucciones a través de “ejecutables” que automatizan ciertas acciones ||
|| ||
|| SEGUN TÉCNICAS INFECCIÓN ||
|| TIPO || DESCRIPCIÓN BREVE ||
|| Virus de sobreescritura || Escribe el código vírico sobre el fichero, dejándolo inservible ||
|| Virus añadido (appenders) || Infectan el fichero sin destruirlo ||
|| Virus de compresión || La utilizan para evitar que aumente el tamaño (también es una forma de ocultación) ||
|| Virus de cavidad || Aprovecha los espacios libres de los ficheros ||
|| Virus de directorio || Aprovecha la estructura de los directorios ||
|| Virus multiproceso || Infecta el kernel32.dll (centro de llamadas del S.O.) ||
|| Virus multipartito || Varias técnicas de infección: arranque, ejecutable ||
|| Virus multiplataforma || Afectan a varios sistemas (Windows, Mac ... ) ||
|| Virus de compañía (companion) || Crea un fichero COM para infectar uno EXE del mismo nombre (el Sistema lo ejecuta antes) ||
|| Virus de macro || Infectan las macros de documentos de texto ||
|| Virus parásito || Aquel que pega su código al ejecutable infectado ||
|| ||
|| SEGÚN TÉCNICAS DE OCULTACIÓN ||
|| TIPO || DESCRIPCIÓN BREVE ||
|| Stealth (sigiloso) || Engañar al sistema y al usuario ocultando la infección ||
|| Encriptación || Ocultar el código mediante cifrado y clave variable ||
|| Polimorfismo || El virus cambia completamente en cada mutación (muy difíciles de detectar) ||
|| Tunneling || Evitar la monitorización de los antivirus (se anticipa) ||
|| Antibait || Evitan los cebos (bait) de los antivirus ||
|| Armoring || Dificultar el desamblado (estudio) para buscar una “firma” (identificador) que permita detectar al virus ||
|| Retro || Ataca al antivirus. Desactiva la lista de virus y los registros de integridad de los ficheros (checksums). ||