Roadmaps / Security roadmaps / Defensive security and threat management
Malware Analysis and Reverse Engineering
Take malicious software apart safely to learn what it does, how to detect it and how to stop it.
Estimated time: 24–42 months · At about 10 hours a week.
Offensive skills are for authorised testing only: your own lab, a practice platform, or a system whose owner has given you written permission. Testing anything else is a crime in most countries.
Beginner Time: 2–3 months
Safe lab and triage
Skills
Set up an isolated analysis lab. Triage a sample with static tools and a sandbox. Extract the code from a malicious document.
Hands-on projects and labs
Build FLARE-VM and REMnux on a host-only network and take clean snapshots. Triage five samples from MalwareBazaar: file type, packer, strings, imports and sandbox behaviour. Extract and decode the macro from a malicious Office document.
Done when you can…
Write a one-page triage report with indicators and a verdict. Explain every safety step in your lab.
Beginner
Building a safe analysis lab
Analyse malware only in isolated virtual machines with no shared folders, snapshots to roll back, and no route to your real network.
Resources
FLARE-VM
Tool Free Mandiant (Google Cloud)
REMnux
Tool Free REMnux project
Beginner
Basic static analysis
Hashes, file type, strings, imports, sections and packers tell you a lot without running anything.
Resources
Beginner
Basic dynamic analysis
Run the sample in the lab and watch processes, files, registry changes and network traffic with monitoring tools.
Resources
Beginner
Sandboxes
Automated sandboxes run a sample and report its behaviour. Fast and useful, but malware can detect them and hide.
Resources
Beginner
Malicious documents and scripts
Office macros, PDFs, shortcut files and scripts are common first stages. Learn to extract and read the code inside them.
Resources
Beginner
Getting samples safely
Use reputable sample sources for practice, store samples in password-protected archives, and never open them on your own machine.
Resources
Intermediate Time: 4–6 months
Reverse engineering fundamentals
Skills
Read x86-64 assembly and follow program logic. Use Ghidra and x64dbg together on a sample. Unpack a packed sample. Write YARA rules from your analysis.
Hands-on projects and labs
Solve beginner crackmes from crackmes.one with Ghidra and x64dbg. Work through the labs in Practical Malware Analysis. Unpack a packed sample in a debugger and compare the result with the original.
Done when you can…
Explain a sample's main functions from the disassembly. Write a YARA rule that finds a family without false positives on clean files.
Intermediate
x86-64 assembly
Registers, the stack, calls and common compiler patterns. You need to read assembly comfortably to reverse engineer anything.
Resources
Intermediate
Disassemblers and decompilers
Ghidra and IDA turn machine code back into readable functions. Learn to rename, comment and follow cross-references.
Resources
Intermediate
Debugging malware
Step through code, set breakpoints on key API calls and watch memory change. x64dbg is the usual choice on Windows.
Resources
Intermediate
Windows internals for analysts
Processes, threads, the PE format, DLL loading and common APIs explain what malware is doing and why.
Resources
Intermediate
Unpacking
Most malware is packed or encrypted. Learn to find where it unpacks itself in memory and dump the real code.
Resources
Intermediate
Identifying capabilities
Tools such as capa flag likely capabilities (keylogging, encryption, persistence) so you know where to look first.
Resources
capa
Tool Free Mandiant (Google Cloud)
Intermediate
Writing YARA rules
Turn what you learned into rules that find the same family on disk, in memory and in sample collections.
Resources
Advanced Time: 6–9 months
Advanced malware
Skills
Defeat common obfuscation and anti-analysis tricks. Write configuration extractors. Analyse ransomware and fileless malware. Decode command-and-control traffic.
Hands-on projects and labs
Write a Python script that extracts the configuration from a family you analysed. Analyse the traffic in a Malware Traffic Analysis exercise and write network signatures.
Done when you can…
Deliver a full report on a complex sample with behaviour, indicators, detections and extractor. Analyse a sample that first refused to run in your lab.
Advanced
Obfuscation and anti-analysis
String encryption, API hashing, control-flow flattening and checks for debuggers and virtual machines. Learn to recognise and defeat each.
Resources
Advanced
Ransomware analysis
Understand how a family encrypts files, finds network shares and deletes backups, and look for mistakes that make decryption possible.
Resources
Advanced
Fileless and in-memory malware
Some malware never writes a file. Analyse it from memory images and script logs.
Resources
Advanced Optional
Linux, macOS and mobile malware
ELF, Mach-O and Android packages have their own formats and tricks. Pick the platforms your organisation uses.
Resources
Advanced
Reversing command-and-control protocols
Decode how a sample talks to its servers, so you can detect it on the network and sometimes take over or block its infrastructure.
Resources
Expert Time: 12–24 months
Research and leadership
Skills
Lead research on new malware families. Build tools that the analysis community uses.
Hands-on projects and labs
Publish a technical write-up on a family, with YARA rules and an extractor. Release a Ghidra script or plugin that solves a problem you keep meeting.
Done when you can…
Have your research and tools used by other analysts. Lead a malware analysis team.
Expert
Tracking malware families
Follow a family through versions, link samples by code reuse and share findings with the community.
Resources
Expert
Building analysis tools
Write plugins, scripts and automation for your disassembler, debugger and sandbox. Good tools save the whole team time.
Resources
Expert Optional
Firmware and kernel reversing
Rootkits, bootkits and firmware implants hide below the operating system and need specialised tools and knowledge.
Resources
On this page
Malware analysts answer practical questions about a suspicious file: is it malicious, what does it do, how does it persist, who does it talk to, and how can we find it everywhere else? Quick triage takes minutes; full reverse engineering can take days.
The work moves from safe, simple steps (hashes, strings, sandbox runs) to deep analysis in a disassembler and debugger. It needs a careful, isolated lab, an understanding of operating system internals and assembly, and a lot of patience.
Why it matters
Every incident involving unknown code needs someone who can analyse it. Malware analysis feeds detection, threat intelligence and incident response, and good reverse engineers are rare.
Typical job roles
Entry SOC analyst doing malware triage Runs samples through sandboxes and basic tools, and escalates what looks serious.
Mid-level Malware analyst Analyses samples statically and dynamically and writes reports and detections.
Senior Reverse engineer Takes apart complex or obfuscated malware in a disassembler and debugger.
Lead Malware research lead Leads research on new families and shapes detection strategy.
Solid Windows knowledge: processes, the registry, services and the file system. Programming in C and Python. Networking basics and reading packet captures. Willingness to learn x86-64 assembly.
Foundations of computer science
Cybersecurity
A common progression. Titles vary between companies.
SOC analyst or developer 0–2 years
Junior malware analyst 1–3 years
Malware analyst 3–6 years
Reverse engineer 6–9 years
Malware research lead 10+ years
Related domains to move into