FAME – friendly malware evaluation framework

CERT Société Générale, France

Copyright © 2017 Virus Bulletin


 

(This paper was presented as a last-minute Small Talk at VB2017.)

Abstract

FAME is a recursive acronym meaning 'FAME Automates Malware Evaluation'. The FAME framework is intended to facilitate analysis of malicious files, leveraging as much knowledge as possible in order to speed up and automate end-to-end analysis of malware.

 

Introduction

At CERT Société Générale, which is a banking computer emergency response team based in France, we have our fair share of malware to analyse: banking malware that targets the bank's customers, and all kinds of malware that targets our users.

We realized that there were two main issues with the process of malware analysis within our team:

  1. It was taking too long to complete an analysis. Let's consider the example of a banking trojan. Even if the analyst already recognized the malware family from the spam run, he still had to submit the sample to a sandbox, wait for the sandbox analysis to be completed, download a memory dump, extract the configuration from memory, and compare the configuration with our perimeter in order to determine if we were targeted. It the malware family was unknown, the process was even more complicated.
  2. Not every analyst had the same level of malware analysis skills.

In order to address these problems, we developed FAME, a malware analysis pipeline that will chain the execution of modules in order to perform end-to-end analysis. In the best‑case scenario, an analyst will submit a sample, and within a few minutes FAME will be able to recognize the malware family, extract its configuration, and identify how the malware is targeting our organization.

 

Not a sandbox

FAME is not a malware analysis sandbox, and it will not be very useful if it is not combined with one. It already has support for both Cuckoo Sandbox (the cuckoo-modified version) and Joe Sandbox.

 

A framework

FAME should be seen as a framework. Instead of developing various malware analysis scripts, FAME modules can be created that are able to interact with each other. As shown in Figure 1, creating a FAME module is as simple as creating a Python class.

FAME-1.pngFigure 1: Creating a FAME module.

FAME also comes with some useful modules out-of-the-box (see [1] for the list of currently available modules). One of these is the office_macros module, which leverages oletools [2] to analyse Office macros.

FAME-2.pngFigure 2: The office_macros module analyses Office macros.

 

Threat intelligence integration

Threat intelligence modules are used automatically by FAME to enrich the analysis with tags and indicators from threat intelligence platforms.

FAME-3.png

Figure 3: Observables can be added to a threat intelligence platform directly from FAME.

Observables can also be added to a threat intelligence platform directly from FAME. Currently, FAME comes with support for the YETI [3] threat intelligence platform.

FAME-4.pngFigure 4: FAME comes with support for YETI.

YETI was born out of the frustration of constantly having to answer the question 'where have I seen this artifact before?' or having to Google shady domains in order to tie them to a malware family.

In a nutshell, YETI allows an analyst to:

  • Submit observables and get a pretty good guess as to the nature of the threat.
  • Inversely, focus on a threat and quickly list all TTPs, observables, and associated malware.
  • Skip the 'Google the artifact' stage of incident response.
  • Focus on adding intelligence rather than worrying about machine-readable export formats.
  • Visualize relationship graphs between different threats.

From an operational standpoint, YETI offers the possibility to search instantly through millions of observables while easily tracking campaigns linking to related observables, malware toolsets, threat actors and their TTPs.

FAME-5.pngFigure 5: YETI offers the possibility to search instantly through millions of observables.

There is even the possibility to enrich investigations by generating visually pleasing maps illustrating the relationships, such as the one shown in Figure 6.

FAME-6.pngFigure 6: Relationship maps.

 

Open source

We were particularly pleased with our open-sourcing experience with the FIR (Fast Incident Response) incident management platform [4] (see Figure 7), and as a result of this we decided to release FAME – hoping it will help other incident response teams with their malware analysis needs.

FAME-7.pngFigure 7: Open-sourcing with the FIR (Fast Incident Response) incident management platform [4].

We are looking forward to hearing ideas from the open‑source community, and to using some of the awesome modules that we are sure will be created. More details can be found on the FAME Community page [5].

If you are involved in incident response or malware analysis, or if it simply sounds tempting, you can get a custom‑tailored FAME framework today from the CERT Société Générale GitHub [6], with all the accompanying documents at [7].

FAME-8.pngFigure 8: CERT Société Générale GitHub.

 

References

[1] fame_modules repository. https://github.com/certsocietegenerale/fame_modules.

[2] oletools. https://github.com/decalage2/oletools.

[3] YETI. https://yeti-platform.github.io.

[4] FIR – Fast Incident Response incident management platform. https://github.com/certsocietegenerale/FIR.

[5] FAME community page. https://certsocietegenerale.github.io/fame/community.

[6] CERT Société Générale GitHub. https://github.com/certsocietegenerale/fame.

[7] https://fame.readthedocs.io.

Download PDF

twitter.png
fb.png
linkedin.png
hackernews.png
reddit.png

 

Latest articles:

Nexus Android banking botnet – compromising C&C panels and dissecting mobile AppInjects

Aditya Sood & Rohit Bansal provide details of a security vulnerability in the Nexus Android botnet C&C panel that was exploited to compromise the C&C panel in order to gather threat intelligence, and present a model of mobile AppInjects.

Cryptojacking on the fly: TeamTNT using NVIDIA drivers to mine cryptocurrency

TeamTNT is known for attacking insecure and vulnerable Kubernetes deployments in order to infiltrate organizations’ dedicated environments and transform them into attack launchpads. In this article Aditya Sood presents a new module introduced by…

Collector-stealer: a Russian origin credential and information extractor

Collector-stealer, a piece of malware of Russian origin, is heavily used on the Internet to exfiltrate sensitive data from end-user systems and store it in its C&C panels. In this article, researchers Aditya K Sood and Rohit Chaturvedi present a 360…

Fighting Fire with Fire

In 1989, Joe Wells encountered his first virus: Jerusalem. He disassembled the virus, and from that moment onward, was intrigued by the properties of these small pieces of self-replicating code. Joe Wells was an expert on computer viruses, was partly…

Run your malicious VBA macros anywhere!

Kurt Natvig wanted to understand whether it’s possible to recompile VBA macros to another language, which could then easily be ‘run’ on any gateway, thus revealing a sample’s true nature in a safe manner. In this article he explains how he recompiled…


Bulletin Archive

We have placed cookies on your device in order to improve the functionality of this site, as outlined in our cookies policy. However, you may delete and block all cookies from this site and your use of the site will be unaffected. By continuing to browse this site, you are agreeing to Virus Bulletin's use of data as outlined in our privacy policy.