lunes, 22 de septiembre de 2008

Técnicas utilizadas por los virus para infectarnos

Kloster [blackhat4all@gmail.com]

Mecanismos de Stealth (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 Interrupcion
• Se instalan en los buffers del DOS
• Soportan la reinicializacion 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 escriir 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 reinicialización del sistema por teclado

Técnicas de auto encriptación (ocultación)

Esta técnica muy utilizada, consigue que el virus se encripte de manera diferente cada vez que se infecta el fichero, para intentar pasar desapercibido ante los antivirus.

Anti-debuggers (protección 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.

Mecanismos Polimorficos (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 encriptació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 numero fijo a cada byte del código vírico.

Armouring (Proteccion Antivirus)

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.

Técnica Tunneling (evasión)

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 halla colocando el parche al final de la cadena.

TSR (residentes)

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.



Artículos relacionados


No hay comentarios: