Autor: Miguel Ángel Méndez Gil / miguel@segurmatica.cu
Resumen
Los códigos malignos clasificados como vírus generalmente insertan una copia íntegra de su código en los programas ejecutables de tal forma que el usuario al ejecutar un archivo infectado que tiene una funcionalidad determinada, ejecuta también el código del virus sin tener conocimiento de ello. En el presente trabajo se realiza un análisis del funcionamiento general del virus W32.SMALL.AP haciendo énfasis en el método de infección utilizado por los creadores de este programa maligno. Además se analizan aspectos básicos a tener en cuenta por los desarrolladores de productos de software antivirus para poder identificar y descontaminar de forma efectiva los ficheros infectados por este código malicioso.
Palabras Claves: Virus, programas malignos, Small.L, Small.AP, Madangel,
Introducción
A partir de la experiencia adquirida en estos 20 años de trabajo en el Laboratorio Antivirus de la Empresa Segurmática con el análisis y estudio de los códigos malignos, entre los cuales se incluyen virus, troyanos, gusanos, exploits y otros, en este artículo se realiza un análisis del interesante virus W32.SMALL.AP, conocido internacionalmente como Win32.Small.L o W32. Madangel, el cual es uno de los programas malignos prevalecientes en la actualidad. Este virus infecta ficheros ejecutables con extensiones EXE y SCR que se encuentran en las unidades de discos locales y de redes, y además intenta descargar y ejecutar varios ficheros desde Internet.
El desarrollo acelerado de los productos de software y hardware, y el papel protagónico que estos han cobrado en el almacenamiento e intercambio de información, ha venido acompañado por el incremento de programas malignos cada vez más complejos. Las técnicas y estrategias cada vez más sofisticadas que incorporan estos códigos dañinos hacen más laborioso y complejo su análisis por parte de los analistas y desarrolladores de los productos de software antivirus en su empeño por lograr su detección y descontaminación de forma eficiente y en el menor tiempo posible.
A continuación se muestra un análisis del funcionamiento general del virus W32.SMALL.AP, prestando especial atención al método de infección utilizado por este programa maligno, así como algunos elementos necesarios para poder llevar a cabo de forma exitosa las funciones de identificación y descontaminación de los archivos contaminados con este virus.
Desarrollo
Características principales del virus W32.SMALL.AP:
Cuando el código del virus es ejecutado crea en el directorio del sistema (por lo general Windows\System) el fichero “Serverx.exe” con una copia de su código, y modifica el registro de Windows añadiendo una referencia a este fichero en la llave «HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run» para de esta forma garantizar su ejecución en cada reinicio del sistema. Además crea en el registro una nueva entrada con el nombre «HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServerParameters», y los parámetros: «AutoShareWks» = 0 y «AutoShareServer» = 0. También este código maligno al ser ejecutado instala en la memoria RAM del sistema los procesos «setupx.exe» y «updatex.exe», y crea un nuevo hilo de ejecución con su propio código dentro de cada proceso que se está ejecutando. El virus W32.SMALL.AP contiene en el interior de su código la cadena de caracteres «Angry Angel v3.0», y tiene la característica de que no infecta ficheros que contengan en su nombre las cadenas de caracteres «winn» ó «wind».
Método de Infección
El virus W32.SMALL.AP añade una copia íntegra de su código al final de la última sección del archivo PE (formato Portable Ejecutable) a infectar y modifica el campo correspondiente al Punto de Entrada en el Encabezamiento o «Header» del fichero haciéndolo apuntar al inicio del virus (Fig. 1). En las figuras 2 y 3 con ayuda del utilitario PeView se muestra el campo del Encabezamiento del fichero nombrado «Address of Entry Point» (dirección del Punto del Entrada del fichero) con el valor original (Fig. 2) y con el valor modificado por el virus (Fig. 3). De esta forma el creador del código malicioso garantiza que cuando un fichero infectado sea ejecutado, lo primero que se ejecute sea el código del virus para asegurar el control del sistema interceptando varios servicios de acceso a ficheros, y una vez finalizado éste transfiere el control al programa original (Fig. 1) con el objetivo de que la funcionalidad del programa invocado por el usuario se ejecute de la forma esperada. Cada vez que el virus W32.SMALL.AP infecta un fichero su tamaño se incrementa en 4495 bytes (Figs. 4 a y b).
Como se aprecia en las figuras 4a y 4b, el tamaño del fichero infectado se incrementa en 4495 bytes (811473 – 806978 = 4495).
Reinfección de ficheros sin límites
Existen algunos virus que almacenan un valor conocido en un lugar específico de los ficheros cuando son infectados. Esto se conoce comúnmente como marca de infección, y sus creadores lo hacen con el objetivo de reconocer cuándo un fichero ya ha sido infectado por ese código malicioso. Generalmente los programas malignos que emplean esta técnica cada vez que van a infectar un archivo averiguan primeramente si ya éste posee la marca de infección para no reinfectarlo.
En el caso del virus W32.SMALL.AP no sucede así. Los creadores de este virus no tienen implementada esta funcionalidad en su código, lo que trae como resultado que los ficheros sean reinfectados continuamente sin límite de infecciones, siendo este uno de los efectos más nocivos de este código maligno. Esto ocasiona que los ficheros reinfectados van incrementando su tamaño en cada nueva infección y como consecuencia lógica se va reduciendo paulatinamente el espacio de almacenamiento en la unidad de disco hasta éste que se llena por completo, lo cual ocasiona en muchos casos bloqueos en el sistema.
A continuación se presenta una tabla con varias muestras del fichero “moviemk.exe”, primeramente en estado limpio y después el mismo fichero reinfectado por este virus en varias ocasiones.
Fichero | Tamaño en bytes | Número de Infecciones |
moviemk_original.exe | 806978 | 0 |
moviemk1.exe | 811473 | 1 |
moviemk2.exe | 829453 | 5 |
moviemk3.exe | 1013748 | 46 |
moviemk4.exe | 1256478 | 100 |
moviemk5.exe | 1863303 | 235 |
moviemk6.exe | 4506363 | 823 |
moviemk7.exe | 5724508 | 1094 |
moviemk8.exe | 10920728 | 2250 |
moviemk9.exe | 25664328 | 5530 |
moviemk10.exe | 40623688 | 8858 |
La primera fila de la tabla anterior corresponde al fichero original con tamaño de 806978 bytes, y las restantes filas corresponden a diferentes muestras del mismo fichero tomadas en diferentes intervalos de tiempo en una computadora contaminada con el virus W32.SMALL.AP. Como se puede apreciar en la tabla anterior, el tamaño del fichero infectado en cada caso es igual al tamaño del archivo original más 4495 bytes multiplicado por la cantidad de veces que se encuentra insertado el código maligno dentro del archivo (cantidad de infecciones).
Los especialistas de la Empresa Segurmatica han tenido experiencias prácticas con este virus en entidades donde han existido varios servidores y estaciones de trabajo infectadas. Recientemente una tienda TRD sufrió el ataque de este código maligno, los servidores resultaron bloquedos y como consecuencia de esto se vio afectado el servicio de la tienda.
Identificación del virus W32.SMALL.AP utilizando un producto antivirus
Para identificar los ficheros infectados con este virus en una computadora que encuentre infectada, se debe tener la precaución de ejecutar el producto antivirus desde un ambiente limpio (es decir, no contaminado), ya que como el virus W32.SMALL.AP infecta las aplicaciones ejecutables, el producto antivirus puede ser contaminado, lo cual hace que su funcionamiento no sea efectivo.
En casos como estos se demuestra claramente la necesidad real para los usuarios finales de tener siempre activada la Protección Permanente del antivirus, es decir, el módulo Preventor o Identificador residente en memoria, para evitar que el sistema sea contaminado por la ejecución de un archivo infectado.
Reto para los desarrolladores de productos de software antivirus
Para lograr la correcta descontaminación de un fichero reinfectado por el W32.SMALL.AP es necesario desinfectarlo en orden inverso a como fue infectado. Es preciso comenzar a descontaminar por la última infección, ya que en cada infección el código del virus almacena en su área de datos el punto de entrada del fichero antes de ser infectado esa vez por el virus.
Para realizar el proceso de descontaminación del virus W32.SMALL.AP de forma eficiente, atendiendo a la característica de reinfección ilimitada de ficheros que posee este virus, los desarrolladores de productos de software antivirus necesitan implementar un método de descontaminación con la mayor velocidad de ejecución posible para así evitar demoras excesivas en la descontaminación de ficheros reinfectados, ya que en estos casos el algoritmo se ejecutará tantas veces como infecciones del virus existan en el fichero hasta que éste quede completamente desinfectado.
Reto para los analistas de programas malignos
El analista de programas malignos es una especialidad imprescindible en un Laboratorio Antivirus. Los programas malignos como el W32.SMALL.AP y otros aún más complejos representan un reto para los analistas.
Su trabajo fundamental se basa en hacer ingeniería inversa del código ejecutable de los programas malignos. Para esto deben primeramente desensamblar el código maligno utilizando herramientas de software desensambladores y debuggers, y seguidamente proceder al análisis del código ejecutable prestando especial atención a los diferentes métodos que utiliza el creador del programa malicioso para infectar nuevos ficheros, y para reconocer cuándo un fichero ya ha sido infectado por él, es decir, determinar si el programa maligno posee marca de infección, cuál es y en qué zona del fichero infectado se almacena. También el analista debe ser capaz de detectar las trampas antidebuggers y antiemuladores utilizadas por los creadores de virus y otros códigos malignos, y lograr traspasarlas con el objetivo de poder realizar un estudio minucioso del código malicioso. Para llevar a cabo este estudio el analista debe dominar además, entre otros aspectos, las estructuras lógicas de los diferentes formatos de los archivos, así como funciones internas de los Sistemas Operativos.
Conclusiones
El análisis del virus W32.SMALL.AP es de interés por sus características técnicas de infección rápida y por la reinfección sin límites de ficheros que puede llegar a agotar totalmente el espacio de almacenamiento físico del disco duro, ocasionando bloqueos en el sistema. Resulta imprescindible tener siempre el antivirus actualizado y activada la Protección Permanente.
La Empresa de Consultoría y Seguridad Informática (Segurmatica), que está cumpliendo este año su XX Aniversario de fundación, ha desarrollado productos de software antivirus de diferentes tipos como identificadores, descontaminadores, preventores, detectores genéricos, recuperadores, filtros de correo electrónico y otros para diversos sistemas operativos, los cuales identifican y descontaminan el virus W32.SMALL.AP, así como los restantes programas malignos que han sido detectados en el país hasta la fecha.
La aparición de programas malignos que utilizan técnicas de alta complejidad es cada vez más frecuente. En la actualidad existen muchos de ellos que combinan varias técnicas de infección, los cuales representan un gran reto para los analistas de programas malignos y desarrolladores de productos de software antivirus, quienes deben tener en cuenta cada uno de los aspectos analizados en este artículo con el objetivo de ofrecer a los usuarios finales una respuesta rápida y eficiente que pueda satisfacer sus necesidades en el enfrentamiento diario a los ataques producidos por los códigos malignos.
Referencias Bibliográficas
Consultoría y seguridad informática. (s. f.). Segurmáticasitio. Recuperado el 7 de agosto de 2015, de http://www.segurmatica.cu
Peter, S. (2005). The Art of Computer Virus Research and Defense. Recuperado el 23 de agosto de 2015, de http://www.amazon.co.uk/Computer-Virus-Research-Defense-Symantec/dp/0321304543#reader_B003DQ4WLQ