Diferencia entre revisiones de «W32.Virut.ce»

(Página creada con '{{Definición |nombre= W32.Virut.ce |imagen= |tamaño= |concepto=Virus informático que cambia con bastante frecuencia su código, lo que hace suponer que sus autores reali...')
 
(Sin diferencias)

última versión al 20:44 21 oct 2013

W32.Virut.ce
Información sobre la plantilla
Concepto:Virus informático que cambia con bastante frecuencia su código, lo que hace suponer que sus autores realizan un seguimiento constante de las bases antivirus y reaccionan de inmediato a la aparición de nuevas firmas, actualizando el código del virus para evitar su detección.

El virus Polimórfico Virut.ce, conocido internacionalmente como W32.Virut.ce es uno de los programas malignos más difundidos en la actualidad. Infecta ficheros ejecutables utilizando técnicas avanzadas de infección que hacen que la detección y descontaminación del código maligno sean más complejas. En los últimos años las compañías antivirus han perfeccionado las técnicas de emulación utilizadas, lo cual ha facilitado la detección de los códigos polimórficos en los programa malignos. No obstante, los creadores de virus, en su afán de entorpecer el funcionamiento de los productos de software antivirus, también han continuado desarrollando nuevas técnicas cada vez más complejas y difíciles de detectar.

Características principales del virus W32.Virut.ce

•Infecta ficheros ejecutables con extensiones EXE y SCR. •Utiliza técnicas antidebugger y antiemuladores para dificultar su detección y eliminación. •Emplea la técnica de polimorfismo.
•La longitud del cuerpo del virus es de aproximadamente 17 kB.
•Intercepta las siguientes funciones de la librería ntdll.dll: NtCreate-File, NtOpenFile, NtCreateProcess y NtCreateProcessEx. Como consecuencia de esto cada vez que una aplicación abre o crea un fichero ejecutable, este será infectado por el virus.
•Realiza llamadas a múltiples funciones API con instrucciones “garbage”.

Fragmento del código del virus con el desensamblador IDA

Figura 1. Fragmento del código desensamblado del virus W32.Virut.ce a partir del punto de entrada de un fichero infectado.

El desensamblaje del código del virus (Figura 1), este se encuentra ubicado en la sección de recursos del fichero (”.rsrc“) con formato PE (Portable Ejecutable). De forma general una aplicación comercial no contiene código ejecutable en las secciones ”.rsrc“, ”.reloc“ ni ”.rdata“, por tanto, cuando esto sucede es una señal de alerta de que existe una alta probabilidad de que estemos en presencia de un código malicioso.

Métodos de infección

El virus W32.Virut.ce hace una copia íntegra de su código al final de la última sección del archivo a infectar, si es la sección de recursos (”.rsrc“) o la sección de relocalización (”.reloc“), y después utiliza diferentes métodos de infección para tratar de hacer más difícil su detección por parte de los productos antivirus.

Algunos métodos de infección más utilizados por el virus

  1. Caso 1: Modifica el punto de entrada del fichero (EP) y lo hace apuntar al inicio del código del virus.
  2. Caso 2: Sustituye de forma aleatoria en el programa original un llamado a una función API por un salto al código del virus. El punto de entrada del fichero no es modificado. En este caso la ejecución del fichero infectado comienza con las mismas instrucciones del programa original, y después de haber ejecutado un número de ellas (determinado de forma aleatoria al momento de infectar el fichero) es que se da el control al código del virus.
  3. Caso 3: Copia la rutina de descifrado al final de la sección ”.text“ y modifica el punto de entrada del fichero haciéndolo apuntar al inicio de esta rutina. Cuando esta rutina es ejecutada, descifra el código del virus y después le da el control al código descifrado en la última sección.
  4. Caso 4: Similar al caso 3, con la diferencia de que en vez de modificar el punto de entrada del fichero, el virus sustituye aleatoriamente en el programa original un llamado a una función API por un salto al inicio del código de la rutina de descifrado.

Identificación y descontaminación del W32.Virut.ce

Figura 2. El código del virus se añade al final del fichero y el punto de entrada se coloca al inicio del virus.
Figura 4. La rutina de descifrado se encuentra al final de la sección de código y después de ser ejecutada se transfiere el control al código del virus descifrado.

En los casos 1 y 3 analizados con anterioridad (Figuras 2 y 4), como consecuencia de la característica polimórfica de este virus, la función de detección debe basarse en un algoritmo que sea capaz primeramente de identificar las instrucciones típicas o características de la rutina de descifrado de este código maligno. Estas instrucciones pueden variar su código hexadecimal de un fichero infectado a otro, especialmente aquellas que utilizan registros del CPU (de 8, 16 o 32 bits), los cuales pueden variar de una infección a otra. Además, estas instrucciones se encuentran mezcladas con un número aleatorio de instrucciones”garbage“, por lo que su posición con respecto al punto de entrada del fichero es también variable. Para descontaminar el fichero infectado, además de eliminar el código maligno que se encuentra en el archivo, es necesario calcular el valor original de la dirección del punto de entrada para ser restaurado en el campo correspondiente en el Header PE, lo cual hace posible que el sistema operativo pueda cargar y ejecutar el fichero de forma normal.

Figura 3. El punto de entrada (EP) del fichero infectado es idéntico al punto de entrada del fichero original (técnica EPO). El virus reemplaza un llamado a una función API por un salto a su código.
Figura 5. El virus reemplaza un llamado a API por un salto a la rutina de descifrado que después de ser ejecutada transfiere el control al código del virus descifrado.

Para detectar los ficheros contaminados con los métodos de infección 2 y 4 vistos anteriormente (Figuras 3 y 5), se debe realizar un análisis detallado del código ejecutable almacenado a partir del punto de entrada del fichero, instrucción por instrucción, con el objetivo de determinar en qué momento es que se produce un salto al inicio del código del virus, y a partir de ese punto buscar patrones característicos que permitan identificar el virus con exactitud. Para descontaminar eficientemente el W32.Virut.ce en estos casos más complejos, además de eliminar el código maligno que se encuentra en el archivo infectado, se requiere localizar dentro del fichero los bytes originales de las instrucciones que fueron reemplazadas por el virus, así como la posición de estos en el fichero original, con el objetivo de restaurar el fichero correctamente, y así mantener su funcionalidad.

Análisis del antivirus

El análisis del virus W32.Virut.ce es de interés no solo por sus funcionalidades malignas, sino por la gran variedad de métodos de infección de ficheros que emplea, su complejo algoritmo polimórfico y sus técnicas de antiemulación y antidebugger. Los productos de software antivirus desarrollados en la empresa de consultoría y seguridad informática, Segurmática, identifican y descontaminan los virus polimórficos detectados en Cuba, entre los cuales se incluyen algunos de alta complejidad como las familias W32.VIRUT, W32.POLIP, W32.SALITY, W32.DISLEX, W32.RAINSONG y otros. Es difícil predecir cuáles serán las perspectivas futuras del W32.Virut.ce, pero de acuerdo con el comportamiento que ha tenido hasta el presente, es probable que continúen apareciendo nuevos cambios en su código ejecutable. La competencia entre los creadores de virus y los desarrolladores de antivirus parece no terminar nunca. La aparición de programas malignos que utilizan técnicas de alta complejidad como polimorfismo, EPO, metamorfismo y otras, representa un gran reto para los desarrolladores de productos de software antivirus, los cuales necesitan tener en cuenta los aspectos técnicos tratados en el presente trabajo con el objetivo de hacer sus productos cada vez más eficientes y seguros para su enfrentamiento diario a los ataques producidos por los códigos malignos en los sistemas informáticos.


Fuentes

Peter Szor. The Art of Computer Virus Research and Defense, 2005. Revista GIGA, No 1 /2013, páginas 20-21.