Cada uno de los miles de virus existentes utiliza diferentes
mecanismos, tanto para realizar la infección
como para ocultarse y pasar desapercibido. Estas técnicas
evolucionan con el tiempo, como las técnicas
utilizadas por los programas antivirus para detectarlos.
En esta sección presentamos los mecanismos utilizados
por los virus:
Ocultamiento (Stealth): Los virus que utilizan
esta técnica intentan pasar desapercibidos ante
los ojos del usuario, no levantando ninguna sospecha
sobre la infección que ya ha tenido lugar. Los
virus residentes son los que más la utilizan,
aunque no es exclusivamente este tipo de virus quienes
la aplican.
Cuando un virus infecta un determinado fichero, suele
dejar signos evidentes de su actuación, como
los siguientes: aumento de tamaño en el fichero
infectado, modificación de la fecha y hora de
creación en el fichero infectado, secciones marcadas
como defectuosas, disminución de la capacidad
en la memoria, ...etc. El virus se encargará
de que cada una de estas pistas no puedan ser visualizadas.
Para ello vigilará peticiones de información
que requiere el sistema operativo acerca de estas características,
interceptándolas y ofreciendo un información
falseada e irreal.
Sobrepasamiento (Tunneling): Se trata de una
técnica especialmente diseñada para imposibilitar
la protección antivirus en cualquier momento.
Mientras el análisis permanente, o residente,
del programa antivirus que se encuentre instalado intenta
realizar detecciones, el virus actúa en su contra.
Todas las operaciones que se realizan sobre cualquiera
de los archivos son inspeccionadas por el antivirus
mediante la interceptación de las acciones que
el sistema operativo lleva a cabo para hacerlas posible.
De la misma manera, el virus interceptará estas
peticiones o servicios del sistema operativo, obteniendo
las direcciones de memoria en las que se encuentran.
Así el antivirus no detectará la presencia
del virus. No obstante, existen técnicas antivirus
alternativas que permiten la detección de virus
que realicen este tipo de operaciones.
Autoencriptación: Los programas antivirus
se encargan de buscar determinadas cadenas de caracteres
(lo que se denomina la firma del virus) propias de cada
uno de los posibles virus. Estos, por su parte y mediante
la técnica de autoencriptación, infectarán
de forma diferente en cada ocasión. Esto significa
que el virus utilizará una cadena concreta para
realizar una infección, mientras que en la siguiente
infección utilizará otra distinta. Por
otro lado, el virus codifica o cifra sus cadenas para
que al antivirus le sea difícil encontrarlo.
Sin embargo, los virus que utilizan este tipo de técnicas,
emplean siempre la misma rutina o algoritmo de encriptación,
con lo que es posible su detección.
Polimorfismo: Basándose en la técnica
de autoencriptación, el virus se codifica o cifra
de manera diferente en cada infección que realiza
(su firma variará de una infección a otra).
Si sólo fuese así estaríamos hablando
de un virus que utiliza la encriptación, pero
adicionalmente el virus cifrará también
el modo (rutina o algoritmo) mediante el cual realiza
el cifrado de su firma. Todo esto hace posible que el
virus cree ejemplares de sí mismo diferentes
de una infección a la siguiente, cambiando de
"forma" en cada una de ellas. Para su detección,
los programas antivirus emplean técnicas de simulación
de descifrado.
Armouring: Mediante esta técnica el virus
impide ser examinado. Para conocer más datos
sobre cada uno de ellos, éstos son abiertos como
ficheros que son, utilizando programas especiales (Debuger)
que permiten descubrir cada una de las líneas
del código (lenguaje de programación en
el que están escritos). Pues bien, en un virus
que utilice la técnica de Armouring no se podrá
leer el código.