Malware Analysis Fundamentals
Malware analysis is the controlled examination of suspicious software to determine what it is, how it behaves, and what evidence can detect or contain it. Analysts combine file inspection, isolated execution, and code analysis without trusting the sample or a single tool verdict.
itDefensive security and security operations | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Intro
Malware Analysis Fundamentals
Malware analysis is the controlled examination of suspicious software. Its purpose is to replace an uncertain file or process with defensible findings: what the sample can do, what it did in a particular run, how defenders can recognize it, and what remains unknown.
The work begins with a safety boundary. Treat the sample, its embedded content, and every URL it references as hostile. Preserve the original evidence, calculate a cryptographic hash, work from a copy, and use an isolated analysis system that can be reverted to a known state. A virtual machine improves containment, but it is not proof of containment. Shared folders, clipboard integration, host networking, credentials, and reachable services can create escape or disclosure paths.
The analysis loop
A useful investigation moves from low-risk observations toward more invasive techniques:
- Acquire and preserve. Record where the sample came from, who handled it, and its cryptographic hash. Keep the original unchanged.
- Triage. Identify the real file type, size, hashes, signing information, packer clues, readable strings, and known reputation. Triage decides where deeper work is valuable; it does not prove intent.
- Inspect statically. Parse the file without running it. For a Windows Portable Executable file, examine headers, sections, imports, exports, resources, and entry point. Imports suggest available capabilities, but dynamically resolved APIs and packed code can hide them.
- Observe dynamically. Run a copy only inside a controlled environment. Capture process creation, file and registry changes, network activity, services, scheduled tasks, and memory artifacts. A behavior is evidence for that run and environment, not a complete inventory of every possible path.
- Analyze code. Use a disassembler, decompiler, and debugger to follow control flow, resolve hidden strings or configuration, and test hypotheses. Decompiler output is an approximation reconstructed from machine code, so confirm important conclusions against instructions and runtime evidence.
- Synthesize and report. Correlate independent observations. Separate facts from interpretations, state confidence and limitations, and produce indicators or detections that are specific enough to be useful.
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://csrc.nist.gov/pubs/sp/800/83/r1/final
Supports
- Definition and organizational impact of malware
- Malware incident preparation, containment, analysis, and recovery context
- Evidence-aware reporting and response decisions
- https://learn.microsoft.com/en-us/windows/win32/debug/pe-format
Supports
- PE headers, sections, data directories, imports, exports, resources, relocations, and entry point
- Static triage of Windows executable structure
- https://docs.remnux.org/
Supports
- Static, dynamic, memory, network, document, and threat-data analysis tool categories
- Curated Linux analysis environment and container options
- https://github.com/mandiant/flare-vm
Supports
- Repeatable Windows reverse-engineering guest
- Virtual-machine-only installation, snapshots, and host-only networking guidance
- FLARE-VM Landscape and Awesome Links descriptions
- 2017 project-history milestone
- https://yara.readthedocs.io/en/stable/writingrules.html
Supports
- YARA strings, conditions, patterns, modules, and matching behavior
- Quiz guidance on distinctive and validated rule conditions
- https://virustotal.github.io/yara/
Supports
- Malware identification and classification with textual and binary patterns
- Cross-platform command-line and Python use
- https://virustotal.github.io/yara-x/blog/yara-is-dead-long-live-yara-x/
Supports
- More than 15 years of YARA development as of 2024
- YARA timeline milestone date approximation
- https://mandiant.github.io/capa/
Supports
- Code-level capability recognition from features and analysis backends
- Relationship between capability matches and manual reverse engineering
- https://learn.microsoft.com/en-us/sysinternals/downloads/procmon
Supports
- Real-time process, file system, and registry monitoring
- Dynamic evidence collection in Windows guests
- https://attack.mitre.org/techniques/T1055/
Supports
- Process injection behavior and defensive telemetry context
- https://ghidra-sre.org/
Supports
- Disassembly, decompilation, debugging, scripting, and reverse-engineering workflows
- Ghidra Landscape and Awesome Links descriptions
- https://www.nsa.gov/Press-Room/News-Highlights/Article/Article/1775584/ghidra-the-software-reverse-engineering-tool-youve-been-waiting-for-is-here/
Supports
- Public Ghidra release on 2019-03-05
- Reverse-engineering, scripting, collaboration, and processor-modeling features
- https://www.nsa.gov/Press-Room/Press-Releases-Statements/Press-Release-View/Article/1805182/attention-ghidra-users-full-source-code-released/
Supports
- Ghidra source-code release on 2019-04-04
- https://cuckoosandbox.org/docs-sub/en/1.1/introduction/what
Supports
- Automated execution in isolated guests
- Process, file, memory, screenshot, and network evidence collection
- 2010 project start and 2011-02-05 public beta
- https://cuckoosandbox.org/about
Supports
- Project history from 2010 through packaged releases
- https://cuckoosandbox.org/blog/cuckoo-sandbox-v2
Supports
- Cuckoo 2.0.0 release on 2017-03-30 and deployment changes
- https://volatilityfoundation.org/the-volatility-framework/
Supports
- Open-source memory forensics and malware-analysis use
- Recovery of volatile runtime artifacts
- https://volatilityfoundation.org/volatility-timeline/
Supports
- First public Volatility Framework release in August 2007
- https://docs.virustotal.com/docs/how-it-works
Supports
- Aggregated analysis and relationship context for files and URLs
- VirusTotal Landscape description
- https://blog.virustotal.com/2024/05/we-made-it-together-20-years-of.html
Supports
- VirusTotal launch date and collaborative-analysis history
- https://www.eicar.org/
Supports
- EICAR establishment in 1991
- https://www.eicar.org/download-anti-malware-testfile/
Supports
- Non-malicious test file for checking antivirus response without real malware
- https://www.virusbulletin.com/uploads/pdf/magazine/1991/199106.pdf
Supports
- Fred Cohen's 1983 controlled virus experiments and 1984 publication
- https://github.com/rshipp/awesome-malware-analysis
Supports
- Discovery of Ghidra, x64dbg, capa, FLOSS, Volatility, Wireshark, FLARE-VM, and REMnux as ecosystem tools
- https://help.x64dbg.com/
Supports
- Windows debugging, breakpoints, registers, memory, and execution control
- https://github.com/mandiant/flare-floss
Supports
- Extraction of static, stack, tight, and decoded strings
- https://www.wireshark.org/docs/
Supports
- Packet capture inspection and protocol analysis
- https://hex-rays.com/ida-pro
Supports
- IDA Pro Landscape role, licensing, and pricing category
- https://binary.ninja/
Supports
- Binary Ninja Landscape role, intermediate-language analysis, API, licensing, and pricing category
- https://any.run/
Supports
- Interactive hosted process, file, registry, and network observation
- ANY.RUN Landscape licensing and pricing category
- https://www.joesandbox.com/
Supports
- Automated behavior analysis and reporting across supported targets
- Joe Sandbox Landscape licensing and pricing category
- https://www.vmray.com/products/vmray-analyzer/
Supports
- Instrumented dynamic analysis and integrations
- VMRay Analyzer Landscape licensing and pricing category
- https://capev2.readthedocs.io/
Supports
- Self-hosted detonation, payload extraction, configuration recovery, and reporting
- CAPE Sandbox Landscape licensing and pricing category
