LLM WikiAccess-protected knowledge portal

WIKI

Master's Thesis — EF-Fuzz (Efficient Coverage-Guided Fuzzing for Embedded Systems)

AI Summary Purpose Capture the durable facts of Hyunwook Kim's M.S. thesis the proposed system EF Fuzz , the problem it solves, its design, evaluation, and how it relates to the broader IoT firmware fuzzing work Firm AFL, FIRM COV, IoTFirmF

경로ai/wiki/academic/master-thesis.md
카테고리Project
태그#academic #cicd #fuzzing #master #mysql #portfolio #project #report #security #thesis #wiki

# Master's Thesis — EF-Fuzz (Efficient Coverage-Guided Fuzzing for Embedded Systems)

AI Summary

Purpose:

Key points:

Relevant when:

Do not read full document unless:

Linked documents:

Open Questions

Details

Bibliographic facts (verified from the PDF)

Problem

- The fuzzer explores only a narrow set of paths (low code coverage), missing deep bugs. - The mutation-operator selection scheduler tends to pick only a few operators. - Because effective operators differ per program/seed but selection is random, results vary widely run-to-run and crash discovery is lower than with well-chosen operators.

Proposed approach — EF-Fuzz

EF-Fuzz keeps Firm-AFL's combined emulation and strengthens the AFL mutation-based seed-generation scheduler with two mechanisms:

  1. Efficient Energy Allocation Scheduler

- Standard greybox energy allocation grew exponentially (Cut-off Exponential, CoE [ref 31]), so a selected seed spends most time in mutation Stage 1 (6 operators), rarely reaching Stage 2. - EF-Fuzz proposes an extended CoE that allocates LESS energy, inversely proportional to the number of newly generated seeds, so the fuzzer spends little time in Stage 1, quickly enters Stage 2, picks more diverse operators, and explores more queued seeds/paths.

  1. Optimized Mutator Scheduler (customized PSO)

- Goal: pick the best mutation operator per program/seed at runtime instead of random Stage-2 selection. - Based on the PSO (Particle Swarm Optimization) algorithm of James Kennedy & Russell C. Eberhart, adapted to fuzzing. - Each Stage-2 operator is a particle; the set is a Local Swarm (LS); the best particle is the Local Best Particle (LBP); per-seed bests aggregate into a Global Swarm (GS) whose best is the Global Best Particle (GBP). - Operators are scored by how many new blocks/crashes their generated seeds produced for a fixed energy E; probabilities are normalized and updated in real time, raising the priority of effective operators.

  1. Optimized Mutator Scheduler Timer ('L' option)

- At long runtimes even the extended CoE energy grows large, so a selected seed gets stuck cycling Stage 1's 6 operators and rarely meets the optimal operator. - A timer parameter L <minutes> (e.g. L 10) forces a jump to Stage 2 if no new path is found within the time budget in Stage 1.

System architecture

- Full-system mode QEMU virtualizes the whole firmware environment (compatibility: handles device-specific system calls). - User-mode QEMU runs only the target process (speed/throughput). - The two modes exchange memory snapshots: full-system handles the unusual system calls, user-mode runs fast; the 6-step combine-emulation loop (steps 3–6 repeat) gives both high throughput and high compatibility.

Key contributions (as claimed by the thesis)

Evaluation setup

- Feature matrix (Table 2): all are mutation-based; AFLfast and EF-Fuzz have the Efficient Energy Allocation Scheduler; only EF-Fuzz has the Optimized Mutator Scheduler; only AFLgo does specific-path-concentration fuzzing.

Results (real numbers from the thesis)

Relation to FIRM-COV / IoTFirmFuzz / Firm-AFL

연결 문서