Análisis de malware

Comparación de herramientas de análisis de malware automatizadas en la nube

febrero por Dejan Lukan

Servicios de análisis de malware en la nube

En esta sección, proporcionamos una lista de herramientas de análisis de malware en línea automatizadas en la nube que ya no están disponibles debido a que el sitio web está fuera de línea o el servicio fue interrumpido por los creadores del entorno de análisis.

A pesar de que bastantes herramientas de análisis no están disponibles, todavía hay muchas que reciben soporte y desarrollo activamente. A continuación se presentan las herramientas de análisis de malware online que todavía están presentes en Internet. Cada una de las herramientas tiene una letra escrita entre corchetes, la cual se utiliza posteriormente para presentar cada una de las herramientas en una tabla con el fin de preservar el espacio y brindar resultados más claros. Cada una de las herramientas también tiene una dirección URL donde está disponible el servicio en caso de que desee enviar diferentes archivos para su análisis.

¡Conviértete en un ingeniero inverso certificado!

Obtenga capacitación práctica en vivo sobre análisis de malware desde cualquier lugar y conviértase en un analista certificado de ingeniería inversa. Comienza a aprender

Tenga en cuenta que existen otras plataformas de análisis de malware en la nube, pero no las tomamos en consideración en este artículo. Por lo tanto, algunos de ellos no se presentan ni describen a continuación.

Formatos de archivos y tipos de documentos admitidos

Dado que el malware se puede ocultar en casi cualquier formato de archivo o tipo de documento, las herramientas de análisis de malware deben ser compatibles con dichos formatos o tipos de documentos para poder detectar la amenaza que contienen. Por ejemplo: si un atacante ha ocultado una carga útil maliciosa dentro de un documento PDF, la herramienta de análisis de malware debe ser compatible con PDF para poder manipular documentos PDF. Si no hay soporte para PDF, no será posible la disección del documento PDF y, en consecuencia, la herramienta no podrá encontrar carga útil maliciosa. Si miramos el documento PDF a través de los ojos de una herramienta de análisis de malware, el documento PDF es solo un conjunto de bytes aleatorios.

Los atacantes utilizan principalmente los formatos de archivos, tipos de documentos y otros elementos que se presentan a continuación para incluir cargas útiles maliciosas. La mayoría de los elementos presentados no necesitan mayor introducción, ya que se utilizan en nuestra vida diaria, pero aún así brindaremos una breve explicación de cada uno de ellos.

La siguiente tabla presenta los formatos de archivos admitidos y los tipos de documentos de cada servicio de análisis de malware automatizado en la nube. Las filas representan formatos de archivos o tipos de documentos, mientras que las columnas se utilizan para cada una de las herramientas automatizadas de análisis de malware presentadas por una o dos letras (como se presentó anteriormente). El se utiliza para indicar que cierto formato de archivo o tipo de documento es compatible con un servicio automatizado de análisis de malware, mientras que una celda vacía indica lo contrario. El * se utiliza para marcar que la compatibilidad con el tipo de documento se está implementando, pero aún no está disponible, al momento de escribir este artículo.

Tabla 1: tipos de documentos admitidos por diferentes herramientas de análisis de malware

Tipo de documento A C D E J M MS TE TT V Xexe

duende

*

macho

apk

URL

pdf

documento/docx

ppt/pptx

xsl/xsls

rtf

html/html

frasco

dll

base de datos

png/jpg

zip/rar

cpl

es decir

ps1

pitón

vbs

Pasé bastante tiempo armando la tabla anterior, que resumió los formatos de archivo admitidos, tipos de documentos y otros tipos de elementos que se pueden analizar de forma automatizada. De la tabla podemos determinar rápidamente que no existe un servicio que pueda usarse para analizar cualquier tipo de archivo, ya que el código malicioso se incluye en archivos y documentos de una manera profundamente diferente. Al agregar un código malicioso en un archivo ejecutable, podemos hacerlo incluyendo instrucciones de ensamblaje malicioso en su sección de archivo .text, y esa es solo una de las formas de hacerlo. Por otro lado, cuando incluimos un código malicioso en un documento .docx, generalmente lo incluimos en forma de macro maliciosa, que Microsoft Word ejecutará al abrir el documento.
A continuación, presentamos diferentes categorías para clasificar los formatos de archivos, tipos de documentos y otros elementos presentados en la tabla anterior. En cada una de las categorías, también analizaremos brevemente cómo se ejecuta el código malicioso y qué se necesita para el análisis de malware automatizado en la nube de dicho código.

Técnicas para detectar entornos automatizados

Existen varias técnicas para detectar entornos automatizados de análisis de malware, que se incorporan en muestras de malware. Cuando los archivos binarios de malware utilizan diferentes comprobaciones para determinar si se están ejecutando en un entorno controlado, normalmente no ejecutan acciones maliciosas al detectar el entorno.

La siguiente imagen presenta una descripción general del malware y las técnicas que puede utilizar para detectar si se está ejecutando en un entorno automatizado. Para aclarar la imagen, describiremos el proceso en detalle.

Una vez que el malware ha infectado el sistema, puede ejecutarse en modo usuario o kernel, según las técnicas de explotación. Por lo general, el malware se ejecuta en modo de usuario, pero existen múltiples técnicas para que el malware obtenga privilegios adicionales para ejecutarse en modo kernel. A pesar de que el malware se ejecuta en modo usuario o kernel, existen múltiples técnicas que el malware puede utilizar para detectar si se está ejecutando en un entorno de análisis de malware automatizado. En el nivel más alto, las técnicas se dividen en las siguientes categorías:

  • Programas virtualizados: Chromium Sandbox, Sandboxie
  • Contenedores de Linux: LXC, Docker
  • Entorno virtualizado: VirtualPC, VMware, VirtualBox, QEMU
  • Cada herramienta automatizada de análisis de malware utiliza diferentes sistemas de backend para ejecutar el malware en un entorno controlado. El malware se puede ejecutar en máquinas físicas o en máquinas virtuales. Tenga en cuenta que las viejas máquinas físicas no utilizadas que se encuentran en casa serían un candidato perfecto para establecer un laboratorio de análisis de malware, lo que haría considerablemente más difícil para los binarios de malware determinar si se están ejecutando en un entorno controlado. Al construir nuestro propio laboratorio de análisis de malware, tenemos que conectar varias máquinas para formar una red, lo que se puede hacer simplemente mediante un conmutador virtual o físico, según el tipo de máquinas utilizadas.

    Cada servicio de análisis de malware automatizado en la nube utiliza algún tipo de entorno de virtualización para ejecutar sus muestras de malware, como Qemu/KVM, VirtualBox, VMWare, etc. Según la tecnología de virtualización que se utilice, una muestra de malware puede utilizar diferentes técnicas para detectar que está siendo analizada. y rescindir inmediatamente. Por lo tanto, la muestra de malware no se marcará como maliciosa, ya que finalizó de forma preventiva sin ejecutar el código malicioso.

    En esta sección hemos visto que diferentes servicios de análisis de malware en la nube utilizan diferentes tecnologías de virtualización para ejecutar muestras de malware enviadas. Hasta donde yo sé, solo Joe Sandbox tiene la opción de ejecutar muestras de malware en máquinas físicas reales, lo que evita que se utilicen ciertas técnicas en muestras de malware para detectar si se están ejecutando en un entorno de análisis de malware automatizado. Aún así, existen muchas otras técnicas que un malware puede utilizar para detectar si está siendo analizado.

    Se trata de un juego del gato y el ratón, en el que a diario se inventan y utilizan nuevas técnicas de detección mediante muestras de malware. Por otro lado, existen numerosas técnicas antidetección que se utilizan para evitar que el malware determine que se está ejecutando en un entorno automatizado de análisis de malware. Cuando aparece una nueva técnica de detección, normalmente se crea una nueva técnica antidetección para inutilizar la técnica de detección.

    Conclusión

    En este artículo presentamos las diferencias entre múltiples servicios de análisis de malware en la nube que se pueden utilizar para analizar diferentes formatos de archivos y tipos de documentos. Cada servicio admite sólo una fracción de todos los formatos de archivos y tipos de documentos en los que se puede inyectar código malicioso. Por tanto, dependiendo del archivo que tengamos que analizar, podremos utilizar los servicios que admitan su correspondiente formato de archivo o tipo de documento.

    ¡Conviértete en un ingeniero inverso certificado!

    Obtenga capacitación práctica en vivo sobre análisis de malware desde cualquier lugar y conviértase en un analista certificado de ingeniería inversa. Comienza a aprender

    In order to analyze a document, we have to choose the appropriate service in order to do so. Since there are many techniques an attacker can use to determine whether the malicious payload is being executed in an automated malware analysis environment, some malicious samples won’t be analyzed correctly, resulting in false positives. Therefore, such services should only be used together with a reverse engineer or malware analyst in order to manually determine whether the file is malicious or not. Since there are many malicious samples distributed around the Internet on a daily basis, every sample cannot be manually inspected, which is why cloud automated malware analysis services are a great way to speed up the analysis.