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).// ||
@@