Técnicas
Detallamos las técnicas más
utilizadas por los virus para ocultarse, reproducirse y camuflarse de los
antivirus.
OCULTACIÓN
Éste es el nombre genérico con el que se conoce a las técnicas de ocultar un virus. Varios son los grados de stealth, y en ellos se engloban argucias tan diversas como la originalidad y nivel del autor permiten. A un nivel básico basta saber que en general capturan determinadas interrupciones del PC para ocultar la presencia de un virus, como mantener la fecha original del archivo, evitar que se muestren los errores de escritura cuando el virus escribe en discos protegidos, restar el tamaño del virus a los archivos infectados cuando se hace un DIR o modificar directamente la FAT, etc.
Mantener la fecha original del archivo
Restaura el tamaño original de los archivos infectados
Modifica directamente la FAT
Modifican la tabla de Vectores de Interrupción
Se instalan en los buffers del DOS
Soportan la re inicialización del sistema por teclado
Se instalan por encima de los 649 KB normales del DOS
Evita que se muestren mensajes de error, cuando el virus
intenta escribir sobre discos protegidos.
Técnicas de stealth avanzadas pretenden incluso
hacer invisible al virus frente a un antivirus. En esta categoría encontramos
los virus que modifican la tabla de vectores de interrupción (IVT), los que se
instalan en alguno de los buffers de DOS, los que se instalan por encima de los
640KB e incluso los hay que soportan la re inicialización del sistema por teclado.
Esta técnica muy utilizada, consigue que el virus se encriptado
de manera diferente cada vez que se infecta el fichero, para intentar pasar
desapercibido ante los antivirus
Un debugger es un programa que permite descompilar
programas ejecutables y mostrar parte de su código en lenguaje original.
Los virus usan técnicas
para evitar ser desensamblados y así impedir su análisis para la fabricación del
antivirus correspondiente.
Mediante esta técnica el virus impide que se examinen los archivos que él mismo ha infectado. Para conocer más datos sobre cada uno de ellos, éstos deben ser abiertos (para su estudio) 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.
CAMUFLAJE
Es una técnica para impedir ser detectados, es la de variar el método de encriptación de copia en copia. Esto obliga a los antivirus a usar técnicas heurísticas ya que como el virus cambia en cada infección es imposible localizarlo buscándolo por cadenas de código. Esto se consigue utilizando un algoritmo de crepitación que pone las cosas muy difíciles a los antivirus. No obstante no se puede codificar todo el código del virus, siempre debe quedar una parte sin mutar que toma el control y esa es la parte más vulnerable al antivirus.
La forma más utilizada para la codificación es la
operación lógica XOR. Esto es
debido que esta operación es reversible:
2 XOR 5 = 3
3 XOR 2 =
5
En este caso la clave es el número 9, pero
utilizando una clave distinta en cada infección se obtiene una codificación
también distinta.
Otra forma también muy utilizada consiste en sumar
un número fijo a cada byte del código vírico.
EVASIÓN Técnica de Tunneling
Con esta técnica, intentar burlar los módulos residentes
de los antivirus mediante punteros directos a los vectores de interrupción.
Requiere una programación compleja, hay que colocar
el procesador en modo
paso a paso. En este modo de funcionamiento, tras ejecutarse cada instrucción
se produce la interrupción 1.
Se coloca una ISR
(Interrupt Service Routine) para dicha interrupción y se ejecutan instrucciones
comprobando cada vez si se ha llegado a donde se quería hasta recorrer
toda la cadena de ISRs que haya colocado el parche al final de la cadena.
RESIDENTE
Los virus utilizan esta técnica para permanecer residente
en memoria y así mantener el control sobre todas las actividades del sistema y
contaminar todo lo que encuentren a su paso.
El virus permanece en memoria mientras el ordenador
permanezca encendido.
Por eso una de las primeras cosas que hace al
llegar a la memoria es contaminar los ficheros de arranque del sistema para
asegurarse de que cuando se vuelva a arrancar el ordenador volverá a ser
cargado en memoria.
0 comentarios:
Publicar un comentario