jueves, 24 de abril de 2014

TÉCNICAS DE PROGRAMACIÓN DE VIRUS

Los programadores de virus utilizan diversas técnicas de programación que tienen por fin ocultar a los ojos del usuario la presencia del virus, favorecer su reproducción y por ello a menudo también tienden a ocultarse de los antivirus. A continuación se citan las técnicas más conocidas:
Stealth: Técnica de ocultación utilizada para esconder los signos visibles de la infección que podrían delatar su presencia. Sus características son:
Mantienen la fecha original del archivo.
Evitan que se muestren los errores de escritura cuando el virus intenta escribir en discos protegidos.
Restar el tamaño del virus a los archivos infectados cuando se hace un DIR.
Modificar directamente la FAT.
Modifican la tabla de vectores de interrupción (IVT).
Se instalan en los buffers del DOS.
Se instalan por encima de los 640 KB normales del DOS.
Soportan la reinicializacion del sistema por teclado.
Encriptación o auto encriptación: Técnica de ocultación que permite la encriptación del código del virus y que tiene por fin enmascarar su código viral y sus acciones en el sistema. Por este método los virus generan un código que dificulta la detección por los antivirus.
Anti-debuggers: Es una técnica de protección que tiende a evitar ser desensamblado para dificultar su análisis, paso necesario para generar una "vacuna" para el antivirus.
Polimorfismo: Es una técnica que impide su detección, por la cual varían el método de encriptación de copia en copia, obligando a los antivirus a usar técnicas heurísticas. Debido a que el virus cambia en cada infección es imposible localizarlo buscándolo por cadenas de código, tal cual hace la técnica de escaneo. Esto se consigue utilizando un algoritmo de encriptación que de todos modos, no puede codificar todo el código del virus. Una parte del código del virus queda inmutable y es el que resulta vulnerable y propicio para ser detectado por los antivirus. La forma más utilizada para la codificación es la operación lógica XOR, debido a que es reversible: En cada operación se hace necesaria una clave, pero por lo general, usan una clave distinta en cada infección, por lo que se obtiene una codificación también distinta. Otra forma muy usada para generar un virus polimórfico consiste en sumar un número fijo a cada byte del código vírico.
Tunneling: Es una técnica de evasión que tiende a burlar los módulos residentes de los antivirus mediante punteros directos a los vectores de interrupción. Es altamente compleja, ya que requiere colocar al procesador en modo paso a paso, de tal manera que al ejecutarse cada instrucción, se produce la interrupción 1, para la cual el virus ha colocado una ISR (interrupt Service Routine), ejecutándose instrucciones y comprobándose si se ha llegado a donde se quería hasta recorrer toda la cadena de ISR’s que halla colocando el parche al final de la cadena.

Residentes en Memoria o TSR: Algunos virus permanecen en la memoria de las computadoras para mantener el control de todas las actividades del sistema y contaminar todos los archivos que puedan. A través de esta técnica permanecen en memoria mientras la computadora permanezca encendida. Para logra este fin, una de las primeras cosas que hacen estos virus, es contaminar los ficheros de arranque del sistema para asegurar su propia ejecución al ser encendido el equipo, permaneciendo siempre cargado en RAM.

1 comentario: