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.
esta chido
ResponderBorrar