Un Moderno Sistema de Intercambio de Muestras

Abrimos un sistema para intercambiar muestras de malware entre socios de la industria AV. En la siguiente publicación, explicamos nuestra motivación, detalles técnicos y uso del sistema.

Motivación

Como proveedor de software antivirus, intercambiamos IOC y muestras de malware actuales con nuestros socios de la industria. Esta ha sido una práctica común entre los proveedores durante muchos años, pero no existe un estándar para esto y los enfoques utilizados para el proceso tienen inconvenientes específicos. Por ejemplo, algunos proveedores ofrecen malware nuevo en archivos zip.

  1. Las muestras de malware generalmente se empaquetan en archivos enormes que contienen todas las muestras recolectadas en un día. No sabrá lo que contienen hasta que los haya descargado y descomprimido.
  2. Este proceso puede tardar varias horas y es propenso a fallar. Este es un tiempo precioso perdido, que habría sido necesario para proteger a nuestros clientes.
  3. Existe una gran superposición entre los archivos de muestras individuales, lo que requiere que dedique mucho tiempo a filtrar duplicados de muestras que ya conoce.

Idea

Nuestra idea es proporcionar un sistema de intercambio estandarizado que cumpla con los siguientes criterios:

  1. La capacidad de elegir solo las muestras de malware que necesita. Por lo tanto, es necesario que las muestras tengan el nombre de su SHA256.
  2. La capacidad de los investigadores para filtrar muestras basadas en hash, categorías y etiquetas antes de descargar el archivo. Esto puede incluir, entre otros, la plataforma de destino o detecciones específicas.
  3. Proporcione una API que sea
    1. Fácil de consumir y construido según los estándares web actuales
    2. Fácil de configurar, de modo que todos los socios de intercambio puedan alojarlo con poco esfuerzo adicional.

Creación de conjuntos de muestras

Por lo general, desea decidir qué muestras compartir con qué socio. Para eso, es útil poder asignar muestras individuales a conjuntos. Luego, un socio recibe una lista de muestras asignadas a su conjunto respectivo.

Asignar muestras a conjuntos de muestras
Asignar conjuntos de muestras a socios

Uso

Nuestro sistema de intercambio de malware proporciona dos puntos finales.

  1. Un punto final de listado para solicitar una lista de muestras para un período de tiempo determinado, por ejemplo, todas las muestras nuevas de la última hora. El usuario debe autenticarse para recibir esta lista.
  2. Un punto final de descarga donde el usuario puede solicitar una sola muestra que elija de la lista.

Una solicitud GET  contra el punto final de la lista con un encabezado de autenticación devuelve una lista de Json Web Tokens (JWT) , donde cada JWT contiene una muestra y metainformación al respecto. Un ejemplo de JWT de la lista se ve así:

El JWT consta de tres partes, separadas por un punto. La primera parte es un encabezado que contiene información sobre el algoritmo criptográfico utilizado en la última parte del JWT, que es una firma. La parte central es la carga útil codificada en base64 y se puede decodificar fácilmente.

El campo exp  en el token es una fecha de vencimiento. Ya no se puede descargar una muestra después de que el token haya caducado. Para descargar la muestra, se requiere un nuevo token.

El usuario ahora puede filtrar las muestras según el hash y la metainformación proporcionada. Con base en esos criterios, el usuario puede decidir qué muestras le interesan. En el segundo paso, el usuario envía los tokens de las muestras que le interesan al segundo punto final, que valida la firma del token y la fecha de vencimiento. Si todo coincide, se está descargando la muestra.

Un ejemplo de solicitud de curl para descargar la lista de muestras disponibles se ve así:

Para obtener una muestra, envíe el JWT correspondiente:

 Fuente abierta

Abrimos nuestro nuevo sistema de intercambio de malware bajo la licencia MIT en GitHub: Malware Exchange System

Futuro

Continuaremos desarrollando el sistema en GitHub y esperamos que otros proveedores de antivirus o instituciones de seguridad adopten el sistema para que el intercambio de muestras de malware sea lo más fácil posible. Como próximos pasos, mejoraremos la documentación y brindaremos más información sobre la configuración del sistema.
No dude en contactarnos en GitHub si tiene preguntas sobre el sistema.

Enlace:https://www.gdatasoftware.com/blog/2020/10/36410-a-modern-sample-exchange-system  Blog de G DATA