Skip to content
OnlyProjects
M.Tech / M.E. · Cyber SecurityFor educational purposes only

Evaluation of Open-Source IoT Firmware Vulnerability Scanners on a Curated Image Corpus

EMBA vs FACT: how much firmware ground truth do the free scanners actually find?

Mapped to your syllabusVTU M.Tech 2022 Scheme · 22SXX41 Project Work Phase-2 · Semester 4

Overview

1 min read

This dissertation is a defensive-security measurement study: it answers, with declared metrics, the question how much ground truth do open-source IoT firmware vulnerability scanners actually detect, and at what cost? Two mature scanner pipelines — EMBA and FACT (Firmware Analysis and Comparison Toolkit) — are executed over a curated corpus of freely redistributable firmware images, and every finding is checked against independently constructed ground truth.

The corpus is deliberately lab-safe. It contains (a) IoTGoat, the OWASP deliberately insecure router image whose planted weaknesses are published in advance, and (b) official OpenWrt release images whose component versions (BusyBox, OpenSSL, dropbear, dnsmasq) can be pinned to known CVEs in the National Vulnerability Database. No third-party or live device is ever touched: all work happens inside the student's own virtual machine on images downloaded from public repositories.

Findings are normalised into a CWE-tagged results table and scored on five declared metrics: detection rate against ground truth, precision of reported findings, CWE category coverage, wall-clock runtime per image, and repeatability across a second scripted run. The output is a defensible, paper-style comparison with tables and charts that a viva panel can interrogate line by line — exactly the research-grade contribution expected of an M.Tech Project Work Phase-2 dissertation.

Relevant for
Karnataka
Level
Advanced · 24 weeks · solo
Common at
Visvesvaraya Technological University, Anna University, Chennai, Jawaharlal Nehru Technological University Hyderabad
Updated
Nov 2026

Syllabus alignment

VTU · M.Tech 2022 Scheme

22SXX41 · Project Work Phase-2 · Semester 4 · 18 credits · CIE 100 + SEE 100 (viva)

Subjects this project applies
  • Research Methodology & IPR (22RMI16)
  • Computer Networks & IoT Lab (22SCNL17)
  • Python programming
  • Cryptography & Network Security (elective)
How it is evaluated

50 : 25 : 25 (report : presentation : Q&A)

Also fits: Anna University M.E. Regulation 2021, JNTUH M.Tech R22.

What's in the box

11 parts · 5 free · 3 previewed · 3 unlock for ₹2,000

Problem & synopsis

5 min read

Problem statement

Firmware vulnerability scanners are adopted on trust: teams deploy EMBA or FACT because their documentation sounds convincing, without knowing what proportion of known weaknesses each tool actually surfaces on a realistic corpus, how many findings are false leads, or how repeatable the tools are. Tool papers measure themselves on private samples with private metric definitions, so results are not comparable, and an incorrect belief that "the scanner covered it" creates a dangerous, silent gap in a defensive programme.

There is a need for an independent, methodologically declared evaluation: a curated corpus with independently constructed ground truth, an identical execution protocol for each scanner, and metrics — detection rate, precision, CWE coverage, runtime, repeatability — defined before the experiment begins. This dissertation supplies that evaluation in a form any college lab can rebuild, and turns the result into actionable guidance for practitioners choosing a free firmware-audit pipeline.

Synopsis

Abstract

Embedded and IoT devices ship with Linux-based firmware that is rarely patched, so the firmware image itself is where most weaknesses live. Open-source scanners such as EMBA and FACT automate the extraction, component identification and weakness flagging of such images, but each tool's documentation reports its own capabilities on its own samples. There is little independent, metric-declared evidence about how the free tools compare. This dissertation measures exactly that on a curated, legally redistributable corpus, using ground truth that is constructed independently of both tools.

Introduction

Firmware analysis has become a standard part of product-security assessment in India too, as CERT-In advisories and the growing IoT device base push organisations to audit what they deploy. Academic work, beginning with the large-scale static analysis of Costin et al. (USENIX Security 2014), showed that firmware images are a rich source of weaknesses. Tool papers since then claim ever-better automation. What a practising engineer needs to know is narrower and measurable: on images whose weaknesses we already know, what fraction does each free scanner find, how many of its reports are noise, what does it cost in time, and does it behave the same way on a re-run?

Existing system and gap

  • Vendor documentation and benchmark blog posts report tool capabilities on cherry-picked samples, with no shared metric definition.
  • Published academic analyses (Costin et al.; the FirmAE emulation study, ACSAC 2020) focus on scale or emulation success, not on a head-to-head scanner comparison against declared ground truth.
  • No published study combines detection rate, precision, CWE coverage, runtime and repeatability on a corpus that any Indian college lab can legally rebuild.

Proposed study

  • Build a versioned corpus: IoTGoat (published planted-weakness advisory as ground truth) plus selected OpenWrt release images (ground truth derived from component versions mapped to NVD CVEs).
  • Execute EMBA and FACT under an identical, scripted protocol in a fixed Ubuntu 22.04 virtual machine; add a manual binwalk-based baseline triage to show what a scanner adds over raw extraction.
  • Normalise all findings to CWE categories, score the five declared metrics, and publish every table so the experiment can be repeated and argued with.

Feasibility

  • Technical: both tools are open source (GPL-3.0) and install on a 4-core, 8 GB RAM virtual machine; the corpus is freely downloadable; Python suffices for the analysis layer.
  • Economic: zero licence cost; the only requirement is a standard lab PC.
  • Ethical/legal: only public, redistributable images are analysed, inside the student's own VM; no live device, network or third-party system is scanned — the study is purely defensive and lab-safe.

Objectives

  1. 01Curate and version a lab-safe firmware corpus (IoTGoat and selected OpenWrt release images) with a manifest recording SHA-256 hashes, component versions and download sources.
  2. 02Construct independent ground truth: the published IoTGoat planted-weakness advisory, and a CVE set derived from corpus component versions queried against the National Vulnerability Database.
  3. 03Execute EMBA and FACT, plus a manual binwalk triage baseline, under an identical scripted protocol on the same Ubuntu 22.04 VM, recording wall-clock runtime and resource use.
  4. 04Normalise all scanner findings into a common CWE-tagged results schema so the tools can be compared finding by finding.
  5. 05Compute the declared metrics — detection rate, precision, CWE category coverage, runtime per image and repeatability across a second run — for each scanner on each image.
  6. 06Publish reproducible results tables and charts, and derive guidance on which scanner class fits which defensive use case.
  7. 07Document the full protocol so the study satisfies the research-methodology standards of the VTU M.Tech dissertation.

Scope

In scope

  • Firmware images that are publicly and legally redistributable: IoTGoat (OWASP) and official OpenWrt release images; corpus fixed and versioned before any scanner run.
  • Two scanner pipelines (EMBA, FACT) plus a manual binwalk baseline; static analysis and each tool's own built-in emulation features as shipped.
  • Ground truth limited to weaknesses knowable without exploiting anything: the IoTGoat advisory and version-to-CVE mappings in NVD.
  • Metrics: detection rate, precision, CWE coverage, runtime, repeatability (two scripted runs per scanner).
  • All work inside the student's own VirtualBox VM on a non-networked or lab-local setup.

Out of scope

  • Scanning, probing or exploiting any live third-party device, network or web service; no penetration testing of systems the student does not own.
  • Building or modifying a scanner; this is a measurement study of shipped tools.
  • Commercial tools with licences that forbid such publication.
  • Fuzzing, exploit development and any active attack technique.

Methodology

The study uses a quantitative, comparative experimental design with metrics declared before execution (pre-registration logic adapted to a dissertation timeline). Every design choice exists to make the comparison fair and the result arguable: identical environment, identical corpus, scripted runs, independent ground truth, and a repeatability pass.

Protocol skeleton (fixed in writing before runs): one Ubuntu 22.04 LTS VM, 4 vCPU / 8 GB RAM, snapshot restored before every scanner run; corpus frozen at manifest v1.0; each scanner executed twice per image by a shell script that timestamps stdout/stderr; findings exported and normalised to a single CSV schema (image, tool, finding, CWE, path, component, confidence).

PhaseWeeksActivitiesDeliverable
Literature & protocol1–4Survey firmware-analysis literature (Costin et al. 2014; FirmAE ACSAC 2020; EMBA/FACT docs; OWASP FSTM nine stages), draft protocol and metric definitionsProtocol document
Corpus & ground truth5–8Download and hash images, pin component versions, query NVD for CVEs, transcribe IoTGoat advisoryManifest v1.0 + ground-truth table
Harness & dry runs9–11Build shell/Python harness, restore-snapshot automation, dry-run both scanners, fix normalisation bugsWorking harness
Full runs12–15Execute both runs per scanner per image; capture logs, runtimes, findingsRaw results vault
Analysis16–19Normalise findings, match against ground truth, compute metrics, draw tables/chartsResults chapter
Writing & viva prep20–24Dissertation writing, internal reviews, presentation, rehearsalFinal submission

Metric definitions: detection rate = confirmed ground-truth items appearing in a tool's findings ÷ total ground-truth items; precision = findings confirmed against ground truth or manual inspection ÷ total findings; CWE coverage = distinct CWE categories found ÷ categories present in ground truth; runtime = wall-clock per image; repeatability = agreement between run 1 and run 2. Validation: the metric engine itself is unit-checked on a synthetic 20-row results file. Ethics: the protocol documents that only redistributable public images in the student's own VM are analysed; a one-page ethical-conduct note is included in the report as required by the research-methodology course (22RMI16).

Study design

1 diagram · 6 tools · 1 min read

  • Python
  • Ubuntu 22.04 LTS (VirtualBox VM)
  • EMBA
  • FACT (Firmware Analysis and Comparison Toolkit)
  • binwalk
  • NVD / CVE data feeds

The dissertation is organised as a measurement pipeline: a frozen corpus feeds identical scanner executions, all outputs flow into one normalised results store, and a metric engine joins that store with independently built ground truth. Nothing in the pipeline needs network access beyond the initial corpus download.

flowchart TD
  A["Public repositories
(IoTGoat, OpenWrt downloads)"] --> B["Versioned corpus manifest
SHA-256 + component versions"]
  B --> C["Extraction and unpacking
(binwalk / tool-internal)"]
  C --> D["Scanner executions
EMBA, FACT, binwalk baseline"]
  D --> E["Normalised findings store
CWE-tagged CSV"]
  B --> F["Ground truth build
IoTGoat advisory + NVD CVE mapping"]
  E --> G["Metric engine
(Python: detection rate, precision, runtime)"]
  F --> G
  G --> H["Repeatability pass
second scripted run"]
  H --> I["Results tables, charts and dissertation report"]

The manifest is the spine: every image and every ground-truth item is traceable to a URL, a hash and a version pin, so the viva panel can verify any row of any table. The harness guarantees fairness — same VM snapshot, same invocation, same output directory per tool — while the metric engine is a pure-Python program small enough to show and explain line by line in the viva. This is the classic measurement-study shape: pipeline in, numbers out, every number reproducible.

Work packages

6 packages

  1. Package 01

    Corpus Curation and Versioning

    Downloads IoTGoat and selected OpenWrt release images from their official repositories, records SHA-256 hashes and component versions (BusyBox, OpenSSL, dropbear, dnsmasq) into a manifest file, and freezes the corpus before any scanner run so results are never contaminated by a moving dataset.

  2. Package 02

    Ground-Truth Construction

    Builds two independent truth sources: the published IoTGoat advisory transcribed into a weakness list, and an OpenWrt CVE table produced by mapping pinned component versions to National Vulnerability Database entries, each row carrying CVE id, CWE category, component and affected version range.

  3. Package 03

    Scanner Execution Harness

    A shell-and-Python harness that restores a clean VM snapshot, runs EMBA, FACT and the binwalk baseline with identical inputs, timestamps every execution, captures logs and resource use, and dumps raw tool output into per-run vault directories for later audit.

  4. Package 04

    Finding Normalisation

    Parses each tool's heterogeneous report formats (HTML, JSON, plain text) into one common schema — image, tool, finding, CWE, path, component, confidence — so that a single finding from EMBA can be compared row by row with the equivalent FACT report.

  5. Package 05

    Metric Engine and Analysis

    A Python program that joins normalised findings with ground truth and computes the five declared metrics per tool per image, renders comparison tables and charts, and is itself unit-tested against a hand-computed synthetic results file before touching real data.

  6. Package 06

    Ethics, Documentation and Replication Pack

    Maintains the protocol document, the ethical-conduct note (own-VM, public images only), the phase-wise lab logbook, and the replication pack — manifest, scripts, metric code — that lets an examiner or classmate rerun the entire study.

Slides

12 slides · titles free · bullets, notes and the .pptx unlock

  1. Slide 1

    Evaluation of Open-Source IoT Firmware Vulnerability Scanners

  2. Slide 2

    Why This Study

  3. Slide 3

    Problem Statement

  4. Slide 4

    Related Work and Gap

  5. Slide 5

    The Curated, Lab-Safe Corpus

  6. Slide 6

    Declared Metrics

  7. Slide 7

    Experimental Protocol

  8. Slide 8

    Ground-Truth Construction

  9. Slide 9

    Results — Detection and Precision

  10. Slide 10

    Results — Cost and Repeatability

  11. Slide 11

    Threats to Validity

  12. Slide 12

    Conclusion and Future Scope

Bullets, speaker notes and the .pptx · ₹2,000

The titles above are the real outline. The rest is what you present from.

Unlock for ₹2,000

Viva questions & answers

3 of 14 answered free · 11 unlock

Read each answer, close it, and say it in your own words. Your viva will ask. Now you'll know.

  1. 01Concept

    Why evaluate scanners instead of building a new one?

    Because the practical risk in defensive programmes is adoption without evidence: teams trust scanner documentation without knowing real detection rates. Building yet another tool adds no knowledge until someone measures the existing ones fairly, and a rigorous measurement study is a recognised research contribution in its own right.

  2. 02Concept

    What is the difference between static firmware analysis and dynamic analysis via emulation?

    Static analysis inspects the extracted filesystem and binaries without running them, so it is fast and always applicable but can miss runtime-only behaviour. Dynamic analysis boots the firmware in an emulated environment and observes it, catching behaviour static tools miss but failing when emulation fails. EMBA and FACT primarily automate static analysis, with optional emulation features.

  3. 03Concept

    What is a CWE and why normalise findings to it?

    CWE, the Common Weakness Enumeration maintained by MITRE, is a taxonomy of software weakness classes such as hard-coded credentials or missing authentication. Normalising both scanner findings and ground-truth items to CWE categories lets me compare a heterogeneous EMBA report with a heterogeneous FACT report in one common vocabulary, which is what makes CWE coverage a fair metric.

+11 more questions, with answers

Try the free ones out loud first. Your examiner will not accept “it's in the PPT”.

How to reproduce the study

6 steps · unlocks with the project

Unlocks with the project · ₹2,000

6 steps

Every step to carry the project out with the tools in the tech stack, in order.

Unlock for ₹2,000

READMEFIRST

228 words · unlocks with the project

What to change before it goes anywhere near a submission. Skipping it is how the demo fails live.

Unlocks with the project · ₹2,000

228 words · ~1 min read

The checklist of things to rename, re-seed and re-think so the project reads as yours.

Unlock for ₹2,000

Instructions

337 words · unlocks with the project

How to study it, adapt it and walk your examiner through it, step by step.

Unlocks with the project · ₹2,000

337 words · ~2 min read

Report structure, formatting rules and the submission checklist your department will grade.

Unlock for ₹2,000

References

9 sources

  1. EMBA — The security analyzer for embedded devices (open source, GPL-3.0)
  2. FACT — Firmware Analysis and Comparison Toolkit, Fraunhofer FKIE (open source, GPL-3.0)
  3. A. Costin, J. Zaddach, A. Francillon, D. Balzarotti, "A Large-Scale Analysis of the Security of Embedded Firmwares", 23rd USENIX Security Symposium, 2014
  4. M. Kim, D. Kim, E. Kim, S. Hwang, Y. Jang, Y. Kim, "FirmAE: Towards Large-Scale Emulation of IoT Firmware for Dynamic Analysis", ACSAC 2020
  5. National Vulnerability Database (NVD), NIST
  6. Common Weakness Enumeration (CWE), MITRE
  7. OWASP Internet of Things Project (IoT Top 10, IoTGoat, ISVS)
  8. OWASP Firmware Security Testing Methodology (FSTM)
  9. OpenWrt firmware downloads (official release archive)

Cite this bundle

OnlyProjects. (2026). Evaluation of Open-Source IoT Firmware Vulnerability Scanners on a Curated Image Corpus: M.Tech / M.E. Cyber Security project bundle [Educational resource]. https://onlyprojects.online/projects/mtech-cyber-iot-firmware-scanner-evaluation

Future scope

1 min read

  • Add dynamic analysis coverage: run each tool's built-in emulation features and compare static-only versus emulated detection on the same corpus.
  • Extend the corpus to GPL-published vendor firmware dumps and measure how detection degrades when ground truth must be built purely from NVD mapping.
  • Track the tools across releases: rerun the frozen corpus against EMBA/FACT versions one year apart to measure scanner improvement rates.
  • Package the metric engine and harness as a maintained open-source benchmark so successive student batches can grow the corpus and results table.

Keep browsing

Same degree, same syllabus slot, different idea. Pick the one your guide will actually approve.

M.Tech / M.E.

Aerospace / Aeronautical

NACA 0012 Airfoil CFD Validation Study Against XFOIL with Mesh Convergence

A mesh-converged OpenFOAM study of the NACA 0012 aerofoil validated against XFOIL and NASA's turbulence-modelling reference data

  • OpenFOAM v12 (finite-volume CFD, SA and k-ω SST models)
  • XFOIL 6.99 (panel method with integral boundary layer)
  • Gmsh and blockMesh for structured C-grid generation
  • +3

advanced24 wkSolo