
The Reverse-Engineering Malware (REM) course, which I present at SANS Institute, teaches a practical approach to examining malicious software that runs natively on Microsoft Windows, and covers web-based malware such as JavaScript and Flash files. This malware analysis training will teach you how to reverse-engineer malicious programs using a variety of system and network monitoring utilities, a disassembler, a debugger, and other tools for turning malware inside-out.
On this page you will find:
Security incident responders benefit from knowing how to reverse-engineer malware, because this process helps in assessing the event's scope, severity, and repercussions. It also assists in containing the incident and in planning recovery steps. Those who perform forensic investigations also benefit from the course, because they learn how to understand key characteristic of malware present on compromised systems.
This unique course provides a rounded approach to reverse-engineering by covering both behavioral and code analysis aspects of the analysis. As a result, the course makes the topic accessible even to individuals with a limited exposure to programming concepts. The materials do not assume that the students are familiar with malware analysis; however, the complexity of concepts and techniques increases as the course progresses.
The course begins by covering fundamental aspects of malware analysis. You will learn how to set up an inexpensive and flexible laboratory for understanding inner-workings of malicious software, and will understand how it can be used to explore characteristics of real-world specimens. You will then learn to examine the program's behavioral patterns and code. You will experiment with reverse-engineering compiled Windows executables and browser-based malware.
The course continues by discussing essential x86 assembly language concepts. You will learn to examine malicious code to understand the program's key components and execution flow. You will also learn to identify common malware characteristics by looking at Windows API use patterns, and will examine excerpts from bots, rootkits, key loggers, and downloaders. You will understand how to work with PE headers and handle DLL interactions. You will also learn tools and techniques for bypassing anti-analysis capabilities of armored malware, experimenting with packed executables and obfuscated browser scripts.
You will also learn how to analyze malicious document files that take the form of Microsoft Office and Adobe PDF documents. Such documents act as a common infection vector, and need to be understood by enterprises concerned about both large-scale and targeted attacks. The course also explores memory forensics approaches to examining rootkits. Memory-based analysis techniques also help understand the context of an incident involving malicious software.
Hands-on workshop exercises are a critical aspect of this course, and allow you to apply reverse-engineering techniques by examining malware in a controlled environment. When performing the exercises, you will study the supplied specimen's behavioral patterns, and examine key portions of its code. You will examine malware on a Windows virtual machine that you will infect during the course, and will use the supplied Linux virtual machine (REMnux) that includes tools for examining and interacting with Windows and browser malware.
This popular malware analysis course has helped numerous IT administrators, forensics investigators, malware specialists, and other security professionals fight malicious code.
The key topics covered by the course include:
You will learn to analyze malware using tools such as:
While the field of reverse-engineering malware is in itself advanced, the course begins by covering this topic from introductory level and quickly progresses to discuss malware analysis tools and techniques of intermediate complexity.
Neither programming experience, nor the knowledge of assembly is required to benefit from the course. However, it helps to understand core programming concepts, such as variables, loops, and functions. The course spends some time discussing essential aspects of x86 assembly to allow malware analysts navigate through malicious executables using a debugger and a disassembler.
You will benefit from this course if you deal with incidents involving malware and would like to learn how to understand key aspects of malicious programs.
Individuals who found this course particularly useful often had responsibilities in the areas of incident response, forensic investigation, Windows security, and system administration.
The majority of course participants have a strong understanding of core systems and networking concepts, and have had a limited exposure to programming and assembly concepts.
Prerequisites:
I will be presenting the malware analysis course via the following venues:
If you'd like to learn more about my perspective on malicious software and the reversing process, check out the following podcast and text-based conversations in which I participated:
Copyright © 1995-2010 Lenny Zeltser. All rights reserved. RSS Feed.
The information on this site does not necessarily represent positions or opinions of my employer.