FAME es una plataforma de análisis de malware de código abierto que pretende facilitar el análisis de archivos relacionados con malware, aprovechando el mayor conocimiento posible para acelerar y automatizar el análisis de extremo a extremo. FAME debe verse como un marco de análisis de malware . En lugar de desarrollar varios scripts para diferentes tareas relacionadas con el análisis de malware, desarrolle módulos FAME que puedan colaborar entre sí.
FAME se creó para facilitar el análisis de malware mediante la automatización de tantas tareas como sea posible. El verdadero trabajo del análisis de malware se realiza mediante módulos de procesamiento. FAME hará todo lo posible para determinar qué módulos de procesamiento se deben ejecutar durante cada análisis, y encadenará la ejecución de los módulos para lograr un análisis de extremo a extremo.
Cada módulo de procesamiento puede producir los siguientes elementos de análisis:
- Nombre probable : esta es la familia de malware. Un módulo solo debe establecer el nombre probable si tiene una confianza muy alta en su diagnóstico.
- Extracciones : esta es información de texto que debería ser la más útil para el analista. Un ejemplo típico sería la configuración del malware.
- Etiquetas : una etiqueta es una información informática que describe el análisis. Se puede ver como una forma de nombre de firma.
- Archivos generados : archivos que fueron producidos por el análisis, como volcados de memoria.
- Archivos de soporte : archivos que el analista puede descargar, como un informe de análisis de espacio aislado.
- Archivos extraídos : archivos que merecen un análisis propio.
- IOC : indicadores de compromiso que podrían utilizarse para detectar este malware.
- Resultados detallados : cualquier clase de información que sería útil para el analista.
Al analizar un archivo, el primer paso es determinar el tipo de archivo. FAME intentará determinar el tipo de archivo basado en la extensión de archivo y python-magic . Un tipo de archivo específico de FAME se asociará al archivo utilizando diferentes indicadores (ejemplos: «ejecutable», «palabra», «pdf», etc.). Luego, el analista tiene que elegir entre dos tipos de análisis: Just Do Your Magic (recomendado) o Targeted analysis.
Solo haz tu magia
En este modo de operación, FAME comenzará ejecutando cada módulo de procesamiento genérico que sepa cómo manejar el tipo de archivo determinado previamente. Los módulos genéricos son módulos que siempre son interesantes para ejecutar en un tipo de archivo dado. Por ejemplo, poner el archivo en una caja de arena.
La ejecución de estos módulos potencialmente activará la ejecución de otros módulos. Hay varias razones por las que esto podría suceder:
- El módulo de procesamiento generó nuevos archivos (por ejemplo, un volcado de memoria). En este caso, se ejecutarán todos los módulos de procesamiento genéricos que puedan aplicarse a los volcados de memoria.
- El módulo de procesamiento generó algunas etiquetas. Las etiquetas se pueden ver como una forma de firmas. Controlan el encadenamiento de ejecución de los módulos. Por ejemplo, la etiqueta cuckoo [dridex] podría generarse si el cuco cree que la muestra es una muestra de Dridex. El módulo específico dridex se ejecutará ya que se desencadena por cualquier etiqueta que contenga la palabra dridex .
El análisis finaliza cuando ya no hay más módulos de procesamiento para ejecutar.
Análisis dirigido
Al usar el análisis dirigido, el analista solicita un módulo de procesamiento específico para ejecutar en el archivo.
En este caso, tenemos que diferenciar entre dos escenarios:
- Si el módulo de destino es directamente aplicable al tipo de archivo determinado previamente, se ejecuta.
- De lo contrario, FAME intentará encontrar una ruta de ejecución adecuada para satisfacer la demanda del analista. Por ejemplo, si el analista solicitó el módulo dridex , que actúa sobre los volcados de memoria , pero el archivo analizado es un ejecutable , FAME ejecutará primero el módulo cuco , que toma un ejecutable y produce un volcado de memoria .
Las reglas de procesamiento de encadenamiento de ejecución de los módulos descritas en el párrafo anterior aún se aplican.
Módulos
FAME depende de los módulos para agregar funcionalidad. Los módulos son en realidad clases de Python que heredan de la fame.core.module.Module
clase.
Se pueden crear varios tipos de módulos:
- ProcessingModule: aquí es donde está la magia de FAME. Un ProcessingModule debe definir algunos análisis automatizados que se pueden realizar en algunos tipos de archivos / información de análisis.
- ReportingModule: este tipo de módulo permite opciones de informes, como enviar resultados de análisis por correo electrónico, o publicar una notificación de holgura cuando finaliza el análisis.
- ThreatIntelligenceModule: este tipo de módulos actúa en IOC. un ThreatIntelligenceModule tiene dos funciones:
- Enriquezca el análisis agregando información de Inteligencia de Amenazas sobre los IOC cuando se agreguen al análisis.
- Enriquezca la plataforma de inteligencia de amenazas con IOC extraídos por FAME.
- AntivirusModule: módulos que actúan en los archivos y los envían a los proveedores de antivirus.
Arquitectura
FAME se basa en tres componentes:
- Una base de datos MongoDB, que almacena todo y sirve como un enlace entre otros componentes.
- Un servidor web que sirve la aplicación web y expone los servicios internos.
- Cualquier número de trabajadores (al menos 1) que realicen las tareas de análisis reales.
Los componentes pueden estar todos en el mismo servidor o divididos en varios servidores. El servidor web es donde se ejecutan los módulos antivirus y los módulos de inteligencia de amenaza. Todo lo demás (módulos de procesamiento, módulos de informes y búsquedas de módulos de inteligencia) se ejecuta en los trabajadores.
Fuente: n0where.net