Como parte del laboratorio de investigación de ESET Latinoamérica, una charla que no podía perderme de la última edición de EkoParty 2018 era la de Maria José Erquiaga y Sebastián García, en la que no solo prometían contarnos como funciona su laboratorio de análisis de Malware, sino también regalar algunos pen drives con herramientas de análisis y algunas muestras para analizar.
Maria José es investigadora en la Universidad Nacional de Cuyo de Mendoza, Argentina; y además, ambos forman parte del Stratosphere Laboratory de la Czech Technical University en Praga, donde en los últimos 4 años llevan analizadas más de 600 capturas de malware de calidad, para luego compartir los resultados de forma gratuita con la comunidad. Además, en el caso de
Entender el funcionamiento del malware es una parte fundamental en el proceso de crear medidas de protección contra estas amenazas. Es por eso que la mayoría de las empresas de antivirus y soluciones de seguridad cuentan con laboratorios de análisis propios, donde se ejecutan, analizan y se estudian las muestras de malware que luego son utilizadas para mejorar el funcionamiento de los productos de detección. Habitualmente crear entornos seguros para ejecutar archivos maliciosos suele ser una tarea costosa y compleja, ya que no solo es necesario tener los equipos adecuados sino también autorizaciones y metodologías que respalden la investigación. Además, tal como explicó María José, capturar malware es muy difícil, especialmente cuando se busca tener un comportamiento “normal". Es decir, lograr que el malware se comporte tal como lo haría en el equipo de la víctima infectada. En la mayoría de los casos, las muestras fallan o cambian su forma de ejecución si detectan que están en un entorno controlado (como un sandbox) o si están siendo analizados por algún dispositivo de seguridad como un proxy o IDS.
Entonces, ¿qué tiene de diferente el laboratorio de Stratosphere?
En primer lugar, según dijo Sebastián, en este laboratorio el malware puede hacer ‘lo que quiera’. El hecho de no tener ningún tipo de restricciones permite observar mejor el comportamiento del código malicioso.
Según la muestra a analizar en el laboratorio, se realizan 3 tipos de ejecuciones:
La primera es simplemente ejecutar el malware y no tocar nada más, dejar que finalice todas sus rutinas y observar el comportamiento.
La segunda son capturas “normales”, es decir, del funcionamiento normal de un equipo, tal como lo utilizaría el usuario. Lo cual incluye tener a personas normales haciendo uso de los equipos durante varios días tal como lo harían en casa (viendo las redes sociales, consultando mail, escuchando música o incluso trabajando).
Por último, las capturas mixtas, donde primero recrean y capturan las condiciones normales lo más exactas posibles y luego se infecta el equipo y se captura la información de la infección. De esta forma logran capturar la información del momento previo a la infección y luego compararla con la captura infectada para lograr encontrar las diferencias.
La otra gran diferencia es el tiempo de ejecución de cada muestra, que suele ser entre 1 a 8 semanas, pero ha llegado, en algunas muestras particulares, a superar el año. El hecho de que cada muestra se ejecute durante largos períodos de tiempo no solo es algo difícil de lograr, sino que es fundamental para entender el comportamiento del código malicioso a través del tiempo y analizar también las mutaciones que puede ir teniendo.
En los últimos 4 años, el laboratorio ha logrado elaborar más de 370 capturas de malware real a largo plazo, y en 110 de estas capturas se logró interceptar el tráfico cifrado (HTTPS) de las mismas. También, cuentan con 38 análisis de muestras capturadas en entornos normales de ejecución y 10 casos de malware capturado en víctimas reales. Además, cuentan con más de 300 casos de códigos maliciosos para dispositivos IoT, y 90 capturas desde sus propios dispositivos (Cámaras IP, Raspberry, etc.) en los cuales incluso han detectado muestras nuevas que no habían sido vistas anteriormente. Todos estos informes están publicados en el sitio web del proyecto, disponibles para toda la comunidad.
Si bien ejecutar malware es legal, al menos en la mayoría de los países, es muy importante contar con las autorizaciones correspondientes, que incluyen firmar contratos con los proveedores de Internet para evitar bloqueos. Sin embargo, para que todo esto sea ético, el objetivo siempre debe ser la investigación para mejorar los sistemas de detección. Es por esto que es sumamente importante definir cuál será la metodología que se va a emplear en el proceso de investigación. Tal como aclaró María José, “No se trata de ejecutar por ejecutar, sino de hacerlo de forma profesional”.
Los puntos principales que se deben tener en cuenta al momento de definir la metodología que se utilizará, según explicaron los investigadores, son:
- Que la investigación se pueda reproducir. Para lo cual es muy importante documentar cada paso de forma clara e identificar las muestras mediante los hashes.
- Crear un log donde se registre detalladamente cada uno de los sucesos o tareas que se van ejecutando, antes, durante y después de la infección.
- Realizar capturas, en tiempo real, de todo el tráfico entrante y saliente del equipo.
- Guardar el estado del equipo (snapshot) antes de la infección. No solo para poder compararlo luego de la infección, sino también para tener un punto de retorno para volver a ejecutar la muestra si es necesario.
Requisitos para montar un laboratorio de análisis de Malware
Y, ¿cuál es la receta para armar un laboratorio de ejecución y análisis de Malware? Según María José y Sebastián, los ingredientes básicos son:
- 1 servidor principal, preferentemente con Linux
- Alrededor de 30 máquinas virtuales (Linux, Windows, MacOs, etc) listas para infectar.
- 1 router, switch o firewall, para control de ancho de banda y protección (no queremos que todos estos bichos logren escapar)
- Varios dispositivos (teléfonos móviles, cámaras IP, raspberrys, televisores o cualquier otro que se les ocurra)
- 1 sistema de monitoreo
- Muchas muestras de malware
Con todo esto listo, solo queda mezclar, ejecutar y divertirse.
Antes de finalizar la charla, y luego de darnos varios consejos de cómo configurar correctamente el laboratorio, Sebastián y María José compartieron una demo en vivo donde nos mostraron el gusano “Hajime” que afecta a dispositivos IoT y utiliza la red BitTorrent para sus comunicaciones.
Además, pudimos ver varios de sus informes, que incluyen el análisis del ya conocido WannaCry; el troyano bancario Trickbot; la botnet Sality (famosa por permanecer activa hace más de 4 años) y el bot HtBot, que convierte el equipo infectado en un proxy de navegación, para luego comercializar su uso en servicios de proxy y VPNs.
Entonces, ¿así de fácil es ejecutar malware? Tal vez no tanto. María José finalizó la charla explicando algunos de los inconvenientes que tuvieron durante todos estos años, en los que incluyó: capturas perdidas, problemas de espacio en disco, malware atacando otro malware o infectando otras VMs, Google o el proveedor de internet bloqueando sus direcciones IPs y hasta incluso un llamado de la policía.
Tal vez no sea fácil ejecutar malware, pero si hay algo que me dejó esta charla, es que definitivamente es divertido. Eso sí, tomando las precauciones adecuadas. Actualmente hay muy poca gente dedicándose a la investigación de malware, por lo que, si te interesa este tema, te invito a seguir leyendo nuestro portal donde encontrarás diferentes artículos de análisis y herramientas que puedes utilizar.
Por mi parte, solo me queda decir gracias por una excelente charla y por el regalito para seguir investigando.