jueves, 31 de mayo de 2012

Técnicas de los virus

TÉCNICAS

Detallamos las técnicas mas utilizadas por los virus para ocultarse, reproducirse y camuflarse de los antivirus.

OCULTACIÓN

Mecanismos de Stealth
É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 reinicializació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 reinicialización del sistema por teclado.

Técnicas de auto encriptació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

PROTECCIÓN ANTIVIRUS

Anti-debuggers
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.

Armouring
M
ediante 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

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

RESIDENTES

TSR
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.

Sintomas de la presencia de un virus

Síntomas
¿Cuales son los síntomas mas comunes cuando tenemos un virus?
  • Reducción del espacio libre en la memoria o disco duro.
      Un virus, cuando entra en un ordenador, debe situarse obligatoriamente en la memoria RAM , y por ello ocupa una porción de ella. Por tanto, el tamaño útil operativo de la memoria se reduce en la misma cuantía que tiene el código del virus.
    • Aparición de mensajes de error no comunes.
    • Fallos en la ejecución de  programas.
    • Frecuentes caídas del sistema
    • Tiempos de carga mayores.
    • Las operaciones rutinarias se realizan con mas lentitud.
    • Aparición de programas residentes en memoria desconocidos.
  • Actividad y comportamientos inusuales de la pantalla.
      Muchos de los virus eligen el sistema de vídeo para notificar al usuario su presencia en el ordenador. Cualquier desajuste de la pantalla, o de los caracteres de esta nos puede notificar la presencia de un virus.
  • El disco duro aparece con sectores en mal estado
      Algunos virus usan sectores del disco para camuflarse, lo que hace que aparezcan como dañados o inoperativos.
  • Cambios en las características de los ficheros ejecutables
      Casi todos los virus de fichero, aumentan el tamaño de un fichero ejecutable cuando lo infectan. También puede pasar, si el virus no ha sido programado por un experto, que cambien la fecha del fichero a la fecha de infección.
  • Aparición de anomalías en el teclado
      Existen algunos virus que definen ciertas teclas que al ser pulsadas, realizan acciones perniciosas en el ordenador. También suele ser común el cambio de la configuración de las teclas, por la del país donde se programo el virus.

Funcionamiento Básico de un virus

¿Cuál es el funcionamiento básico de un virus?
alt Se ejecuta un programa que está infectado, en la mayoría de las ocasiones, por desconocimiento del usuario.
alt El código del virus queda residente (alojado) en la memoria RAM de la computadora, aun cuando el programa que lo contenía haya terminado de ejecutarse.
alt El virus toma entonces el control de los servicios básicos del sistema operativo, infectando, de manera posterior, archivos ejecutables (.exe., .com, .scr, etc) que sean llamados para su ejecución.
alt Finalmente se añade el código del virus al programa infectado y se graba en el disco, con lo cual el proceso de replicado se completa.