Sobre el nuevo escenario de la seguridad antivirus e informática en general. Dados los últimos “avances” en el campo de los virus de macros, y el extenso daño causado por el reciente ataque del virus Melissa, el campo de la seguridad antivirus e informática en general debe ser objeto de una revisión en sus métodos y conceptos, a fin de permitir afrontar las últimas amenazas. Este artículo no pretende ser un trabajo completo sobre seguridad informática, sino mas bien representa la visión del autor sobre el problema de los macrovirus y sus ramificaciones. No es un análisis científico tampoco, sino el resultado de las observaciones particulares desde el punto de vista del Administrador de una LAN. Los Macrovirus. Concepto y algo de historia. La presencia de virus de macros en aplicaciones de la suite Microsoft Office es posible desde la versión 4.2 de dicho título. El Word 6 y el Excel 5 ya poseían un lenguaje de “macros” que suponían una capacidad suficiente para producir las complejas alteraciones de un virus. Recordemos, los virus son programas que cumplen con las siguientes premisas: v Son dañinos. v Son autoreproductores (se duplican a si mismos) v Son subrepticios (actúan sin el consentimiento del usuario) El WordBasic y el primitivo Visual Basic for Applications de esa época fueron el escenario de un nuevo tipo de virus. Virus que se ejecutaban dentro de una aplicación base, en vez de sobre el sistema operativo en general. Los virus de macros no vienen en los archivos ejecutables estándar: .EXE, .COM, .BAT, sino que se encuentran ocultos y encapsulados en los archivos de las aplicaciones Office: .doc, .dot, .xls, etc.. En principio muchos subestimamos esta nueva clase de amenaza, y las compañías productoras de antivirus tardaron en desarrollar productos adecuados para su control. En principio, los daños eran mínimos, siendo la mayor preocupación la imposibilidad de guardar archivos .doc (los virus suelen forzar el cuadro de diálogo de Guardar Como a .dot: plantillas de documento). Pero los macrovirus abren todo un nuevo espectro de vulnerabilidades y ataques posibles. Particularidades de la forma de ataque de un macrovirus típico. La capacidad de un macrovirus de propagarse a través de archivos “de datos” de las aplicaciones Office más usadas del planeta presenta un completamente tipo de ataque. Los virus de Word (los más numerosos por lejos), se desplazan del documento infectado a la plantilla base del sistema: normal.dot. Este archivo se auto ejecuta al iniciar Word, y se lee cada vez que se abre un archivo basado en ella. También sirve de base para los archivos nuevos. De esta forma, el virus se hace “residente” en el Word del usuario, copiando su código en cada archivo de Word, actuando sobre la información del usuario con toda la potencia del lenguaje de macros. Sin las protecciones adecuadas, es realmente escalofriante ver como los archivos de una LAN se van infectando sin que los usuarios lo noten. Más aún, todo administrador de red ha pasado por mil dolores de cabeza explicando a los usuarios que los virus se transmiten en archivos EXE o COM, y en los sectores de arranque de los diskettes. Nos hemos visto obligados a explicar mil y un veces que los textos no contienen virus, ni nada que se le parezca. De la noche a la mañana, gracias a la nueva tecnología y al escaso control de sus capacidades, el escenario cambió. Los usuarios deben ser advertidos que sus documentos y planillas pueden contener algo llamado “macros”, que pueden ejecutarse cómo si fueran programas, que pueden cambiar, borrar y crear archivos de datos sin que ellos lo noten. Sólo una minúscula medida de seguridad se interpone entre el macrovirus y su víctima: la protección contra macros de Word y Excel. Este es un pequeño cartelito: que teóricamente permite al usuario anular las macros (y con ellas al virus), abrir el archivos con las macros activadas o no abrir el archivo. Pero vean este pequeño detalle: la casilla de verificación “Preguntar siempre antes de abrir documentos con macros o personalizaciones”. Si el usuario desactiva este cuadro, esta pregunta nunca volverá a aparecer, ejecutando automáticamente el código de las macros en cuestión. El usuario medio desactiva esta casilla sólo para evitar tener que ver esa pregunta de nuevo, de hecho lo hace casi sin leer el mensaje y sin pararse a considerar las implicaciones de su acto. Aún así, este es el único mecanismo preventivo (aparte de la educación del usuario y de las normativas administrativas) “infalible” contra el tipo de amenaza que son los macrovirus. El modo de actuar particular de estos virus hace que su erradicación total sea más compleja en el ámbito de la seguridad de la red corporativa. Esto se debe a que no se requiere que se controle la ejecución de un archivo tradicionalmente ejecutable (para lo que las redes modernas están preparadas) sino de un simple derecho de lectura escritura sobre archivos que son usualmente considerados “datos”. El daño típico y los métodos de protección Hasta hace poco, el daño que un macrovirus podía provocar sobre un sistema estaba acotado. Es cierto que esta limitación era más cultural que tecnológica, pero el daño a los archivos de datos no era masivo en la mayor parte de los casos, estando limitado a la plantilla del sistema, el copiado de macros del virus a todos los archivos abiertos desde la infección y diferentes modificaciones al comportamiento de Word o Excel. En cuanto a las protecciones, se suele encarar la tarea por dos vías: la educación de los usuarios y los escaneos continuos basados en firmas o en algoritmos heurísticos. Se hace hincapié en la capacitación y educación de los usuarios, para impedir el comportamiento automático de desactivar la protección contra macros permanentemente, así como para evitar que abran directamente archivos ingresados al sistema desde zonas no aseguradas (Internet, diskettes no autorizados, etc.). Esta clase de tarea se suele ver complementada con una reglamentación en el flujo de archivos y en el uso de los sistemas de información. Por otro lado, está la protección clásica de los escáners de virus por reconocimiento de firmas. El escaneo de la información que ingresa a la zona asegurada de la Empresa (LAN/Intranet) suele ser la opción más utilizada, complementada con filtros de correo en el firewall/proxy (de existir tales elementos) y de sistemas de protección en los servidores de correo internos. Esto se suma a un control de acceso físico a la zona (ausencia de disketteras, o protecciones utilizadas sobre las mismas). En conjunto, estas medidas proveen la seguridad que hasta estos últimos tiempos disfrutaba el entorno de cómputo interno de las LAN de las empresas. Cuanto más organizado sea el departamento de Sistemas, y más recursos tenga para implementar políticas de seguridad, más seguro el ambiente de trabajo. Esto se ve favorecido por las herramientas de administración y control centralizado de los sistemas operativos de red actuales y de los diferentes softwares cliente/servidor. El administrador suele tener control sobre lo que entra o sale de la zona segura por canales normales (o no tan normales) y cuenta con herramientas de análisis y monitoreo para ayudarlo encontrar las fallas o violaciones a las políticas de seguridad. Como todos podemos ver, esto es lo esperado para poder mantener al administrador como responsable de la seguridad de la información que maneja la organización en cuestión. Pero todo esto acaba de recibir los efectos devastadores del avance irresponsable de la tecnología de las aplicaciones Office. Las reglas cambiaron: Melissa lleva el riesgo a un punto nunca antes visto. Ocurre aquí un fenómeno interesantísimo, desde el punto de vista técnico y “social”. Si alguien quería escribir un virus clásico para DOS/Windows, necesitaba elevados conocimientos de algún lenguaje de bajo nivel, como el assembler y conocimientos de la arquitectura interna tanto del sistema como del “huésped” que espera infectar: archivos exe/com, sector de arranque, tabla de particiones, etc. Debe buscar un método de ejecución eficiente y certero: mantenerse residente o salir al terminar, marcar los archivos ya infectados, retocar las fechas del sistema para evitar la detección, etc. En este punto del desarrollo de VBA, a las puertas de Microsoft Office 2000, la “integración” de las aplicaciones Office entre sí y con el entorno operativo, junto con el elevado nivel y potencia del lenguaje y su uso masivo (en la forma de Visual Basic) permiten eliminar la mayor parte de esos impedimentos de aprendizaje. Las últimas versiones de VBA permiten interactuar con la API de Windows, acceder al Registro, ejecutar aplicaciones, acceder al sistema de archivos y automatizar tareas repetitivas sin que el usuario lo note. Todo esto con el mismo nivel de seguridad que el usuario que “ejecuta” el archivo. No es el virus Melissa el que tiene la culpa, pese a que halla causado miles de dólares en pérdidas a organizaciones de todos los tipos y tamaños. El código fuente del virus es simple. No es demasiado brillante ni genial ni muy eficiente, es puro y sencillo código VBA. Es en gran parte el concepto el escalofriante: la capacidad de generar atatques DoS1 utilizando las PCs de usuarios inadvertidos. La integración de Office permite al virus generar una cantidad arbitraria de mensajes de email, obtener las direcciones de la libreta de direcciones del usuario, acceder al registro de Windows 9X/NT e interactuar con los archivos de datos sin forma de que su víctima se de cuenta hasta que es tarde (una vez que se permitió la ejecución de macros). El virus desactiva la protección del Office (tanto de Office 97 u Office 2000), por lo que una vez que se haya ejecutado, es muy difícil restaurar el estado del sistema 2. Por los comentarios insertados en el código del virus, vemos que el autor conocía perfectamente lo que hacía... sobre todo en: 'WORD/Melissa written by Kwyjibo 'Works in both Word 2000 and Word 97 'Worm? Macro Virus? Word 97 Virus? Word 2000 Virus? You Decide! 'Word -> Email | Word 97 <--> Word 2000 ... it's a new age! Esos son comentarios que se hallan sobre el final de la subrutina del virus. El autor sabía que no estaba creando un caos por el método tradicional. Sino que estaba abriendo una “nueva era” en la escritura de este tipo de virus. Aparte del asunto de los ataques DoS, el virus tiene pocos efectos locales: inserta una frase de Bart Simpson si los minutos coinciden con la fecha en el reloj del sistema. Melissa y sus mutantes descendientes demuestran al programador medio los recursos de los que dispone para crear verdaderos riesgos de seguridad utilizando una herramienta Office. Siguiendo con la idea de Melissa, es posible refinarlo mucho más: que se comunique con cualquier cliente MAPI (no solo el MS Outlook 9x/2000), que ejecute complejos cambios sobre los archivos del usuario, que acceda a los objetos del sistema, la lista es casi infinita. Qué podemos (o podríamos hacer) Lo ideal sería que tengamos una herramienta incluida en MS Office (o en cualquier aplicación que soporte VBA) para restringir derechos de acceso/ejecución, con la posibilidad de eliminar el VBA en la instalación. 1 Denial of Service: forzar a “bajar” un servidor y generar que los usuarios no puedan acceder a un servicio en particular. Puede ser un servidor Web, de email, de archivos o de aplicaciones, entre otros. 2 Esto es común en los macrovirus. De momento, esto es imposible, dado que como decía Russ Cooper en NTBugTraq (www.ntbugtraq.com) “...The rate at which new, insecure, functionality is introduced versus the rate at which users are learning *anything* about computers is tangential....”(...) “The bottom line is, as long as users (not Administrators, but the users themselves) continue to ask for functionality without insisting on it being "secure by default", vendors will continue to satisfy their customers demands....” Los usuarios toman a la seguridad como algo implícito en los productos que usan. Y de todas formas “para eso están los técnicos”, que deben resolver todos estos problemas. No está al alcance (y no debería esperarse) de los usuarios la comprensión de todos los riesgos de seguridad que existen en el ambiente de la informática hoy día. No es deber de los usuarios informarse, sino de los administradores, que deben además tomar las medidas de precaución necesarias para salvaguardar los datos y capacidad de procesamiento de la empresa. De todas formas, tenemos los mismos dos caminos que ante los macrovirus anteriores: podemos educar a nuestros usuarios y podemos tomar medidas de prevención y detección de infecciones. No hay una solución mágica, sino que la solución es una combinación de factores y medidas específicas de cada organización. Los nuevos sistemas antivirus, así como los sistemas de análisis de contenido para Firewalls deben incorporar los nuevos conceptos que virus como el Melissa nos fuerzan a conocer y revisar. El continuo monitoreo del flujo de datos por nuestros sistemas es aún la mejor arma para detectar virus, tanto de este como de los otros tipos. Es allí donde el administrador tiene el control más fino sobre la información. La cuidadosa planificación de las medidas de seguridad corporativas es ahora una prioridad mayor. No debe haber blancos en las políticas. El acceso discrecional, la identificación del usuario y sus datos y las adecuadas restricciones en el uso de los medios de información son el punto en el que aún se puede innovar sin depender del desarrollo de una conciencia de seguridad entre los usuarios o un crecimiento exponencial en la tecnología de los antivirus. Pablo Dotro Sistemas Establecimiento Gráfico WECALO S.A. http://www.wecalo.com.ar/sistemas [email protected] [email protected] [email protected]