Search arXiv⌕ Search

arXiv · 2509.13740

Protocol-Aware Firmware Rehosting for Effective Fuzzing of Embedded Network Stacks

Abstract

One of the biggest attack surfaces of embedded systems is their network interfaces, which enable communication with other devices. Unlike their general-purpose counterparts, embedded systems are designed for specialized use cases, resulting in unique and diverse communication stacks. Unfortunately, current approaches for evaluating the security of these embedded network stacks require manual effort or access to hardware, and they generally focus only on small parts of the embedded system. A promising alternative is firmware rehosting, which enables fuzz testing of the entire firmware by generically emulating the physical hardware. However, existing rehosting methods often struggle to meaningfully explore network stacks due to their complex, multi-layered input formats. This limits their ability to uncover deeply nested software faults. To address this problem, we introduce a novel method to automatically detect and handle the use of network protocols in firmware called Pemu. By automatically deducing the available network protocols, Pemu can transparently generate valid network packets that encapsulate fuzzing data, allowing the fuzzing input to flow directly into deeper layers of the firmware logic. Our approach thus enables a deeper, more targeted, and layer-by-layer analysis of firmware components that were previously difficult or impossible to test. Our evaluation demonstrates that Pemu consistently improves the code coverage of three existing rehosting tools for embedded network stacks. Furthermore, our fuzzer rediscovered several known vulnerabilities and identified five previously unknown software faults, highlighting its effectiveness in uncovering deeply nested bugs in network-exposed code.

Explore related subjects

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Moritz Bley, Tobias Scharnowski, Simon Wörner, Moritz Schloegel, Thorsten Holz. 2025-09-17. Protocol-Aware Firmware Rehosting for Effective Fuzzing of Embedded Network Stacks. https://doi.org/10.1145/3719027.3765125

Cite the original work for its findings. Save a collection to share your selection of sources.

KEEP EXPLORING

Related papers

WAInjectBench: Benchmarking Prompt Injection Detections for Web Agents

Multiple prompt injection attacks have been proposed against web agents. At the same time, various methods have been developed to detect general prompt injection attacks, but none have been systematically evaluated for web agents. In this work, we bridge this gap by presenting the first comprehensive benchmark study on detecting prompt injection attacks targeting web agents. We begin by introducing a fine-grained categorization of such attacks based on the threat model. We then construct datasets containing both malicious and benign samples: malicious text segments generated by different attacks, benign text segments from four categories, malicious images produced by attacks, and benign images from two categories. Next, we systematize both text-based and image-based detection methods. Finally, we evaluate their performance across multiple scenarios. Our key findings show that while some detectors can identify attacks that rely on explicit textual instructions or visible image perturbations with moderate to high accuracy, they largely fail against attacks that omit explicit instructions or employ imperceptible perturbations. Our datasets and code are released at: https://github.com/Norrrrrrr-lyn/WAInjectBench.

cs.CR↗

MIRANDA: short signatures from a leakage-free full-domain-hash scheme

We present $\mathsf{Miranda}$, the first family of full-domain-hash signatures based on matrix codes. This signature scheme fulfils the paradigm of Gentry, Peikert and Vaikuntanathan ($\mathsf{GPV}$), which gives strong security guarantees. Our trapdoor is very simple and generic: if we propose it with matrix codes, it can actually be instantiated in many other ways since it only involves a subcode of a decodable code (or lattice) in a unique decoding regime of parameters. Though $\mathsf{Miranda}$ signing algorithm relies on a decoding task where there is exactly one solution, there are many possible signatures given a message to sign and we ensure that signatures are not leaking information on their underlying trapdoor by means of a very simple procedure involving the drawing of a small number of uniform bits. In particular $\mathsf{Miranda}$ does not use a rejection sampling procedure which makes its implementation a very simple task contrary to other $\mathsf{GPV}$-like signatures schemes such as $\mathsf{Falcon}$ or even $\mathsf{Wave}$. We instantiate $\mathsf{Miranda}$ with the famous family of Gabidulin codes represented as spaces of matrices and we study thoroughly its security (in the EUF-CMA security model). For~$128$ bits of classical security, the signature sizes are as low as~$90$ bytes and the public key sizes are in the order of~$2.6$ megabytes.

cs.CR↗

The Role of Learning in Attacking ML-based Network Intrusion Detection

Machine Learning-based Network Intrusion Detection Systems (ML-NIDS) can be bypassed by rudimentary adversarial perturbations. Recent work has focused on identifying where such perturbations can realistically be applied by a host-side adversary. Yet every one of these attacks produces perturbations the same way: searching from scratch for every flow. The cost of an attack therefore grows in lockstep with the number of flows it must perturb, and real networks produce them by the tens of millions. In this paper, we show that using reinforcement learning to train lightweight perturbation-generating policies lets an adversary amortize that cost across flows it perturbs. Counting every detector query and every second an attack spends, training included, we compare learned policies against gradient, query-based, and random search across six ML-NIDS environments at two operating points, under both evasion and alert inflation. One successful adversarial example costs a learned policy 1.5 to 18 detector queries against 52 to 1,100 for the strongest search baseline, and the policy amortizes its training cost after 76 to 1,622 examples, a volume a monitored link produces in seconds of traffic. We further find that the RL formulation literature adopts by default is unnecessary for evasion, that the policy conditions on the flow it is given rather than converging on a fixed perturbation, and that it transfers to detectors and traffic it never trained against. The value of learning to attack ML-NIDS is therefore not a matter of effectiveness, but of scale.

cs.CR↗