VIII Seminario Iberoamericano de Seguridad en Tecnologías de Información y Comunicaciones Título: MORGAN: ORGANIZADOR DE MUESTRAS DE PROGRAMAS MALIGNOS Autor: M.Sc. Lic. Victoria Isabel Pérez Plana victoria@segurmatica.cu Colaboradores: Lic. Miguel Angel Bacallao Ing. Edgar Guadis Salazar Entidad y Organismo: SEGURMATICA MIC
Resumen En las empresas que ofrecen productos antivirus, es importante la organización de las muestras de los programas malignos, en varias etapas de trabajo: obtención de las muestras, el proceso de análisis de las mismas, y en el control de calidad que se debe realizar antes de liberar cada actualización del antivirus. A pesar de que existen algunas herramientas disponibles en Internet para este fin, ninguna se ajustaba totalmente a nuestras necesidades, por lo que desarrollamos una propia, la cual mostramos en este trabajo.
Introducción En las empresas que ofrecen productos antivirus, es importante la organización de las muestras de los programas malignos, en varias etapas de trabajo: obtención de las muestras, el proceso de análisis de las mismas, y en el control de calidad que se debe realizar antes de liberar cada actualización del antivirus. Además de las herramientas propias que desarrolla cada empresa antivirus, se puede encontrar en Internet herramientas de uso libre que pueden ser empleadas para el mantenimiento de las colecciones de muestras, ya sea por parte de profesionales o aficionados. La funcionalidad de estas herramientas puede abarcar la reorganización de los archivos con las muestras en diferentes carpetas de un determinado soporte, eliminar muestras duplicadas y también el inventario mediante el uso de sistemas de bases de datos de las muestras que se tienen y sus características (con qué nombre se detectan, tipo de archivo, sumas de chequeo (CRC, MD5 u otro) y otras. Por lo general casi todas las que permiten organizar las muestras, utilizan los reportes de determinadas antivirus, y en particular de algunas versiones. En el laboratorio antivirus de la empresa SEGURMATICA, dado el incremento en la cantidad de muestras que estamos recibiendo, se hizo necesario el uso de una herramienta que fuera capaz de interpretar el reporte de nuestro antivirus, lo cual no estaba disponible en ninguna de las encontradas en Internet. Además de esto, algunas de las desventajas que presentan estas es que están limitadas a los reportes de versiones no actuales de los antivirus, o solo almacenan una muestra por cada
programa maligno, eliminando el resto, cuando en ocasiones puede haber más de una muestra diferente del mismo. Por estas razones decidimos desarrollar una herramienta propia que sirviera a nuestras necesidades, la cual denominamos MORGAN (ORGANizador de Muestras).
Desarrollo Antes de abordar el desarrollo del trabajo, analizamos con cierto detalle algunas de las herramientas disponibles en Internet, para tomar experiencias que nos fueran útiles en el diseño de la nuestra. Algunas de las herramientas analizadas fueron: Virus Organizer Lee el archivo reporte de una antivirus (F-PROT o Antiviral Toolkit Pro), y mueve o copia los ficheros infectados hacia una nueva carpeta. Dentro de la misma, crea más carpetas con el primer carácter del nombre de los programas malignos que contiene. Cada archivo, se copia con el nombre del programa maligno y la extensión original (en minúsculas). En caso de que haya más de una muestra de un mismo programa maligno, considera que son muestras duplicadas, y mueve o copia un solo archivo. Los archivos pueden renombrarse con el mismo nombre del programa maligno tal como lo reportan los antivirus, o con el tipo de programa maligno entre paréntesis al final. Tiene opción de mantener las copias duplicadas en la carpeta original o borrarlas, y opciones para reemplazar caracteres no soportados en los nombres de los archivos con los caracteres que se desee, y opcionalmente reemplazar los espacios. VS2000 Se usa para crear bases de datos de una colección de programas malignos usando los archivos de reporte de los antivirus. Puede detectar y procesar automáticamente los
reportes de los antivirus F-Prot/F-Macrow, AVP/AVPDOS32/AVP32 y Dr. Solomon (versiones MS-DOS). Teniendo en cuenta las ventajas y desventajas de las herramientas analizadas, escogimos las opciones que necesitábamos implementar. Las operaciones a realizar con los archivos con las muestras podrían ser: - Mover: las muestras no permanecerán en la carpeta original, se moverán a la carpeta de destino. - Copiar: se hará una copia de las muestras en la carpeta de destino, dejándose intactas las originales. - Eliminar: serán eliminados los archivos de la carpeta original. La operación implícita será la de Copiar. La opción de Mover es útil cuando no se tiene espacio en disco suficiente para utilizar Copiar, y/o queremos separar las que son identificadas de las que no lo son. La opción de Eliminar puede usarse por ejemplo, para descartar aquellas muestras que ya se conocen cuando no interesan y dejar las que todavía no son identificadas. Otro aspecto a definir es la estructura de las carpetas de destino. Dada una ruta completa hasta una carpeta base, a partir de esta hay 2 alternativas: crear una sola carpeta que contenga el nombre del programa maligno, o crear carpetas con diferentes niveles para cada porción del nombre (incluye subclasificaciones, variantes) que aparezca separada por puntos. Para cada muestra se revisa que existan todas las carpetas intermedias, y se crean las que no existan.
Dado que se tenia otra herramienta que se encarga de eliminar archivos duplicados (según contenido), la cual siempre se ejecutaría previamente, decidimos mantener todas las muestras que tuvieran igual nombre (asumiendo que serían diferentes en contenido), y simplemente renombrarlas agregando detrás del nombre el carácter "_" (subrayado o underscore), además de un número que comienza en 1 y en caso de que ya exista ese nuevo nombre de archivo en la carpeta de destino, se incrementa consecutivamente hasta que encuentra uno que no exista, o sea, 2, 3, etc. El objetivo de esto es evitar sobreescribir muestras. Para disminuir el tiempo de revisión/creación de carpetas, se recomienda emplear como camino base para la carpeta de destino, una carpeta en la raíz del disco duro, ya que este proceso puede ser largo si la base a organizar es grande. El esquema que se sigue para la estructura de directorios separados es: camino base - Primera letra (opcional) - primera palabra del nombre - segunda palabra del nombre... - última palabra del nombre Ejemplo: Supongamos que la muestra corresponde al identificado como Trojan.Win32.Anakha.b la estructura quedaría: camino base
- T - Trojan - Win32 - Anakha - b Siendo la ruta completa: camino base\trojan\win32\anakha\b\ y dentro de esta última carpeta b, se copiará o moverá el fichero con la muestra. Si la opción fuera una sola carpeta, su nombre quedaría así: camino base\trojan_win32_anakha_b\ Por el momento, seleccionamos la interpretación de los reportes de Kaspersky Antivirus versión 5, el SAV32 y SEGAV. Dado que nos interesaba no solamente clasificar las muestras de acuerdo al nombre con que lo detectan los antivirus en sus reportes, sino también la clasificación del tipo de archivo empleando herramientas como PEiD o TrId, y que además podría ser necesario en el futuro incrementar el número de reportes a interpretar, decidimos dividir la organización de los archivos en 2 fases. La primera fase consiste en la interpretación del archivo reporte, y la creación de un archivo intermedio, con un formato muy sencillo y propio del programa organizador y que a su vez puede ser generado por otras herramientas desarrolladas en el laboratorio. En el caso de que el formato de archivo sea el del propio organizador, no se hará conversión ninguna. La segunda fase toma el archivo intermedio generado en la fase anterior, y realiza la organización propiamente dicha.
Este formato de archivo propio del organizador tendrá extensión (.OMI) o (.OMP), en los cuales se separan las muestras identificadas y las posibles en caso de existir. Tiene la estructura siguiente: <camino><tab><nombre_muestra><tab><nombre_pm> donde: <camino> es la torre y directorios donde está la muestra original (termina en \) <tab> es el caracter tabulador y que se emplea como delimitador <nombre_muestra> es el nombre del archivo de la muestra original <nombre_pm> es el nombre del PM, con las subclasificaciones separadas por puntos, y con un punto al final que sirve como delimitador Estos archivos también pueden generarse con un editor de texto (Notepad, UltraEdit, etc). Para conocer las operaciones realizadas satisfactoriamente, los errores y las estadísticas, el resultado de la conversión se escribe en un archivo reporte formato texto con extensión (.ORC) con el mismo nombre y en el camino donde está el archivo de reporte de origen que se emplea para la clasificación. Ese archivo permite mediante su revisión conocer si hay archivos que no se encuentran y cualquier otra situación. Los mensajes dependen del formato del reporte escogido. Las estadísticas incluyen la cantidad de: líneas generadas en los ficheros intermedios, archivos identificados con cada grupo de clasificación, los errores y las advertencias.
También el resultado de las operaciones de reorganización realizadas (mover, copiar o eliminar los archivos) y los errores encontrados, se escriben en un archivo reporte de formato texto cuyo nombre debe especificar el usuario. Decidimos implementar dos variantes del programa: una visual para un uso interactivo más cómodo, y otra mediante línea de comandos que facilite automatizar procesos repetitivos. La primera se denomina VMORGAN y la segunda CMORGAN. Ambas tienen las mismas opciones disponibles, aunque de forma diferente. En la interfaz visual (VMORGAN) se introducen las opciones mediante los diferentes elementos visuales: cuadros de texto, botones, listas de selección y cuadros de diálogo para la selección de archivos. En la versión de línea de comandos (CMORGAN), mediante los diferentes parámetros, unos obligatorios y otros opcionales.
Conclusiones Esta herramienta se está utilizando diariamente en el procesamiento de las muestras que se reciben en el laboratorio de SEGURMATICA, en varios momentos del proceso. Ha resultado útil, se ajusta a los que se necesita y se ha ido modificando y mejorando en la misma medida en que su uso va demandando nuevas opciones. Ahorra tiempo de trabajo de los especialistas que de esta manera pueden realizar otras tareas y evita el riesgo de manipular manualmente las muestras.