Hispasec descubre a «Autocad2kStar», el primer virus desarrollado para el popular programa de diseño AutoCAD 2000. Por sus características no se prevé consiga infecciones significativas, parece que el único propósito del autor es demostrar la viabilidad, sin embargo puede ser la semilla de una nueva familia de macro virus para esta plataforma.
Diseñar virus que infecten documentos AutoCAD es factible desde que Autodesk, la casa desarrolladora del producto, añadió la compatibilidad con el lenguaje de Microsoft VBA (‘Visual Basic for Aplications’) en la versión 14. De esta forma hoy es posible incluir macros dentro de un dibujo de AutoCAD, extensión DWG, o scripts externos en archivos con extensión DVB.
Toda la protección que ofrece el programa es la opción de habilitar un aviso de macros, que informaría al usuario de la existencia de código adicional al abrir un documento, pero sin diferenciar si forman parte del proyecto original o se trata de un programa dañino introducido a posteriori.
«Autocad2kStar» es un peque_o m¢dulo escrito en VBA que aprovecha las facilidades que ofrece Autodesk en su programa. Simple y poco optimizado, el virus se limita a infectar documentos de la aplicaci¢n, sin realizar ninguna acci¢n da_ina adicional.
El c¢digo del virus se encuentra en un m¢dulo «AcadDocument_Deactivate», donde «AcadDocument» es el objeto que representa el documento activo y «Deactivate» es el evento. De esta forma el c¢digo del virus se ejecutar cuando la ventana o foco del documento que lo contiene deje de estar activada.
A continuaci¢n, el virus inicia un bucle donde recorre todos los documentos cargados en memoria en busca de la cadena «Set VBEModel = VBE» en la segunda l¡nea de c¢digo, identificaci¢n que utiliza para saber si un m¢dulo se encuentra infectado. El prop¢sito de esta bosqueda es leer el c¢digo v¡rico y almacenarlo en una variable para poder insertarlo en otros documentos.
Una vez se ha encontrado a s¡ mismo reiniciar el bucle, aunque en esta ocasi¢n buscar los m¢dulos que no contengan la cadena de identificaci¢n para insertar en ellos el c¢digo v¡rico almacenado en la variable y guardarlos, finalizando as¡ la fase de infecci¢n.
El virus contiene al final de su c¢digo los siguientes comentarios:
[Autocad2kStar]
[A.s.T]
Big Greetz to some0ne really special
«You`ll always be a star in my sky»
En definitiva, nos encontramos con un virus de macro en su m¡nima expresi¢n, tan simple que puede fallar en determinadas circunstancias, que parece tener como onico fin ser el primer virus dise_ado para AutoCAD. A sus limitaciones por dise_o, hay que sumar que, aunque AutoCAD 2000 es un programa ampliamente utilizado en el entorno profesional, no est tan difundido como las aplicaciones de Office, por ejemplo, por lo que el campo de acci¢n del virus disminuye dr sticamente.
En cuanto a posibles sucesores del virus, es probable que surjan algunas variantes m s sofisticadas, cosa no muy dif¡cil, aunque Autocad no se presenta como una plataforma atractiva para los creadores de virus, quienes suelen programar sobre entornos mayoritarios para no ver limitadas las posibilidades de infecci¢n y difusi¢n de sus creaciones.
Bernardo Quintero
bernardo@hispasec.com