Firmware Security Testing Methodology
The Firmware Security Testing Methodology (FSTM) is composed of nine stages tailored to enable security researchers, software developers, consultants, hobbyists, and Information Security professionals with conducting firmware security assessments.
Stage
Description
1. Information gathering and reconnaissance
Acquire all relative technical and documentation details pertaining to the target device's firmware
2. Obtaining firmware
Attain firmware using one or more of the proposed methods listed
3. Analyzing firmware
Examine the target firmware's characteristics
4. Extracting the filesystem
Carve filesystem contents from the target firmware
5. Analyzing filesystem contents
Statically analyze extracted filesystem configuration files and binaries for vulnerabilities
6. Emulating firmware
Emulate firmware files and components
7. Dynamic analysis
Perform dynamic security testing against firmware and application interfaces
8. Runtime analysis
Analyze compiled binaries during device runtime
9. Binary Exploitation
Exploit identified vulnerabilities discovered in previous stages to attain root and/or code execution
The full methodology is available for download in the release section of this repository. Consider visiting the OWASP Internet of Things Project wiki page for the latest methodology updates and forthcoming project releases.
A preconfigured Ubuntu virtual machine (EmbedOS) with firmware testing tools used throughout the methodology can be downloaded via the following [link]. Details regarding EmbedOS' tools can be found on GitHub https://github.com/scriptingxss/EmbedOS.
Last updated
Was this helpful?