CanSecWest: Security Masters Dojo Vancouver
Introduction to Malware AnalysisRegister for March 2-3 Course:
Introduction to Malware Analysis
Advanced Malware DeobfuscationRegister for March 4-5 Course - Advanced Malware Deobfuscation
Register for both CoursesIntro and Advanced Malware Courses
Security researchers are facing a growing problem in the complexity of malicious executables. While dynamic black-box automation tools exist to discover what malware will do on a given execution, it is often important for an analyst to know the full capabilities of a given malware sample. What port does it listen on? What password does it expect for backdoor access? What files will it write to? What will it do tomorrow that it didn't do today?
This class will focus on teaching attendees the steps required to understand the functionality of given malware samples.
This is a hands-on course. Attendees will work on real-world malware through a series of lab exercises designed to build their expertise in understanding the analysis process.
Key Learning Objectives:
- x86 Assembly language
- PE File format
- API functions often used by malware
- Basic Anti-analysis tricks and how to defeat them
- A methodology for analyzing malware with and without the use of specialized tools
General Learning Objectives:
- An understanding of how to use reverse engineering tools
- An understanding of low-level code and data flow
- Combination of lecture and lab. Labs will be interspersed with lectures and will include both group and individual work.
PREREQUISITE WARNING Each class has prerequisites for software loads and a laptop is mandatory. These individual class guides will list material the students are expected have knowledge about coming in and software tools that need to be pre-installed before attending so you get the maximum benefit from the focused intermediate or advanced level course. Please pay particular attention to the prerequisites, as the material listed there will not be reviewed in the courses, and will be necessary to get the maximum benefit out of these educational programs.
What to Bring:Attendees must bring their own laptop with a 32-bit version of Microsoft Windows XP SP2 or greater, Microsoft Windows Server 2003, or Microsoft Windows Vista installed inside of a virtual machine (such as Microsoft Virtual PC 2007 or VMware Workstation). The host machine should be configured to access the internet via conference-provided wireless or wired internet access. Attendees are expected to have the following software installed in a virtual machine prior to the first day of the course
- API Imports/Exports Viewer - Dependency Walker
- API Logger - Auto Debug
- Debugger - OllyDbg
- Disassembler - IDA Pro
- Hex Editor - Hex Workshop
- Import Table Reconstructor and Memory Dumper - Import REConstructor
- Packer Detector - PEiD
- PE Editor - LordPE
- Resource Monitor - Process Monitor
PrerequisitesAttendees should be comfortable in the Windows environment.
MaterialsAttendees will be presented with the following materials to be used and referenced throughout the duration of the course:
- Notebooks containing lecture slides and worksheets.
- CDs containing various software tools and reference material.
Course Schedule:Day One
- Common Scenarios
- Overview of Malware
- Classification of Unknown Binaries
- Windows Fundamentals
- Dynamic Analysis Overview
- Dynamic Analysis Lab
- Programming Fundamentals
- Data Representation
- x86 CPU and Assembly Instructions
- Static Analysis Overview
- Static Analysis Lab
- Real World Exercises