Nuevo juguete en el laboratorio de investigación de avast!: el sueño de todo hard-gamer

6 de diciembre de 2012

El Laboratorio de Investigación de Avast es donde las mentes más brillantes de nuestro equipo crean nuevas vías de detección de malware, tanto características intrínsecas del producto (como FileRep y autosandboxing) como componentes que trabajan en segundo plano (el usuario no los ve necesariamente pero son igualmente importantes para la calidad total del producto).

De hecho, trabajar en estos componentes en segundo plano está llevando mucho tiempo estos días, especialmente en lo que se refiere al trabajo en la nube, y su resultado es entregado en tiempo real a todos los usuarios de avast! en tiempo real a través de las actualizaciones en streaming. Dos de las técnicas en las que más se está trabajando son las que llamamos Similarity Search y Evo-Gen.

Malware Similarity Search es una característica muy importante que nos permite categorizar casi al instante una gran cantidad de muestras entrantes. Esto quiere decir que, para cualquier fichero, es capaz de decidir si es similar a otra muestra de malware analizada previamente. Esto puede parecer un problema fácil de resolver pero en la práctica es actualmente bastante dificultoso. Por supuesto, el secreto aquí radica en cómo defines la métrica (para poder hablar acerca de similitud) y todo lo que tienes en cuenta cuando representas un archivo. En Avast le damos importancia a dos cosas: las propiedades estáticas del fichero y el resultado de un análisis dinámico (básicamente logs obtenidos mientras se ejecuta).

Dicho esto, es evidente que una tecnología como esta tiene muchísimo valor ya que permite tomar decisiones rápidas sobre muestras que no han sido vistas anteriormente. Por ejemplo, sin un fichero es muy parecido a un clúster de muestras de malware, y al mismo tiempo no es similar a un archivo limpio, lo clasificamos inmediatamente como malware. Lo creáis o no, todos los días vemos miles de casos como este.

La segunda tecnología mencionada, Evo-Gen, es algo parecido pero de naturaleza más sutil. Se trata de encontrar las descripciones más cortas y genéricas sobre un enorme set de muestras de malware. Digamos que tenemos un millón de muestras de malware y otro millón de muestras limpias y asignamos al algoritmo la siguiente tarea: encuentra las características más comunes que estén en el set de malware que no estén en ningún archivo limpio. Evo-Gen es un algoritmo que hemos desarrollado precisamente para eso. En muchas ocasiones encuentra casos realmente interesantes para nosotros.

Ahora, si pensamos en todo esto por un momento, veremos que en las dos técnicas hay algo en común: es necesario tener un acceso lo más rápido posible a los inmensos sets de archivos limpios e infectados. Olvidaos de accesos secuenciales (o en cualquier opción de procesar los archivos uno a uno). Para este propósito, nuestro equipo ha desarrollado otra gran pieza tecnológica que llamamos MDE. Es básicamente un base de datos en memoria que trabaja en en la parte más alta de los datos indexados y que permite un costoso acceso paralelo.

Tradicionalmente, hemos estado ejecutando estos procesos en servidores clásicos. Para la mayor parte, usamos servidores Dell basados en CPUs Intel Xeon. Aún así, el rendimiento nunca ha sido todo lo alto que hubiéramos querido y pensamos que necesitábamos algo más.

1

En la foto, podéis ver uno de los racks Intel usados en nuestro laboratorio. El punto y aparte definitivo llegó cuando empezamos a experimentar con GPUs. Para lo que no lo sepan, las GPUs modernas (tanto de Nvidia como de AMD) no se limitan sólo a los gráficos de alto nivel o juegos. La buena noticia es que pueden ser masivamente paralelizadas: mientras que un microprocesador de gama alta de Intel puede contener 6, 8 o incluso 10 núcleos, una GPU de gama alta contiene cientos de núcleos. Cierto, son mucho menos potentes, pero puedes aumentar su potencial con algunos buenos algoritmos paralelos y la potencia resultante puede ser asombrosa.

Así pues, con MDE, estamos en el proceso de transición a una granja de supercomputación basada en GPU. El entorno que estamos evaluando se parece a esto:

2

Podéis ver que no se trata de un servidor clásico en rack, sino que más bien se parece a una estación de trabajo… venida del infierno Guiño. Con una CPU Intel i7 E3820 4C 3.6GHz y 32 GB DDR3 de RAM, no es un mal comienzo, desde luego. Pero lo que más puede llamar la atención son las 4 tarjetas gráficas basadas en chipsets Nvidia, cada una con 3 GB de RAM y conectadas unas a otras con una manguera para refrigeración líquida externa. Esta bestia parda está alimentada con una fuente de alimentación de 1500W, pero si no fuera suficiente estamos listos para conectarle otra.

De momento no hemos puesto estos sistemas en producción, pero está previsto hacerlo pronto. Tenemos muchas ganas de que llegue ese día para que este instrumento nos ayude a serviros mejor a vosotros, los usuarios. Nunca se sabe, si este experimento resulta ser tan útil como creemos que será… cómo serán las próximas bestias pardas que montaremos. Mientras tantos, tendremos que esforzarnos en evitar que nuestros técnicos más “gamers” o jugones se mantengan alejados de la sala de servidores :-).

Copyright © 2005-2020 Anti-Virus.es Todos los derechos reservados. Aviso legal - Avast y sus logos son marcas registradas de Avast Software, s.r.o.

licensemap-markerlaptop-phonemenu-circlecross-circlearrow-left-circlearrow-right-circlelayers linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram