Malware Analysis

Malware Analysis


It’s a practical way of understanding the individual functions, purposes, origins and potential impacts of different types of malicious software (malware) and code. It involves assessing and learning how each specific sample functions and how its code differs from other types of malware. This includes malware that’s contained within suspicious files and website links.
Malware is any piece of software that’s harmful to your system — worms, viruses, trojans, spyware, etc. Discovering them continues to be a challenge as attackers are writing increasingly sophisticated programs to evade detection. Malware analysis can help you to determine if a suspicious file is indeed malicious, study its origin, process, capabilities, and assess its impact to facilitate detection and prevention.

There are a few key reasons to perform malware analysis:
  • Malware detection — To better protect your organization, you need to be able to identify compromising threats and vulnerabilities.
  • Threat response — To help you understand how these threats work so you can react accordingly to them.
  • Malware research — This can help you to better understand how specific types of malware work, where they originated, and what differentiates them.


Malware Analysis Techniques


Basic Static Analysis Basic Dynamic Analysis Advanced Static Advanced Dynamic
Basic static analysis examines malware without viewing the actual code or instructions. It employs different tools and techniques to quickly determine whether a file is malicious or not, provides information about its functionality and collect technical indicators to produce simple signatures. Technical indicators gathered with basic static analysis can include file name, MD5 checksums or hashes, file type, file size, and recognition by antivirus detection tools Basic dynamic analysis actually runs malware to observe its behavior, understand its functionality and identify technical indicators that can be used in detection signatures. Technical indicators revealed with basic dynamic analysis can include domain names, IP addresses, file path locations, registry keys, additional files located on the system or network, or communication with an attacker-controlled external server in an attempt to download additional malware files. Analysis Advanced static analysis loads malware into a disassembler to reverse engineer and analyze the program instructions and determine program functionality. Advanced analysis requires deeper skills and understanding of assembly, code constructs, and the concept of how Operating systems use code libraries. Advanced techniques can provide additional details about malware that are not generally revealed through basic analysis. Analysis Advanced dynamic analysis uses a debugger and other specialized tools to examine the execution of malware while it is active. In some cases, the basic dynamic analysis may not provide fruitful results or malware may require additional information to run. Using a debugger to manually step through malware program code provides another way to extract detailed information from malware files.