Security

Finding backdoors with fuzzing

<p><strong>Backdoors in software are real</strong>. We’ve seen injections creep into open-source projects more than once. Remember the infamous xz backdoor? That was just the headline act. Before that, we have seen the PHP backdoor (2021), vsFTPd (CVE-2011-2523), and ProFTPD (CVE-2010-20103). And it doesn’t stop at open-source projects: network daemons baked into router firmware have been caught red-handed too—think Belkin F9K1102, D-Link DIR-100, and Tenda W302R. Spoiler alert: this is likely just the tip of the iceberg. <strong>Why is this so scary?</strong> Because a single backdoor in a popular open-source project or router model is basically an all-you-can-eat buffet for attackers—millions of systems served on a silver platter.</p> <p><strong>Finding and neutralizing backdoors means digging deep into large codebases</strong> and binary firmware. Sounds heroic, right? In practice, even for a seasoned analyst armed with reverse-engineering tools (and maybe a good Belgian beer), it’s a royal pain. So painful that, honestly, <strong>almost nobody does it</strong>. Some brave souls tried building specialized reverse tools—Firmalice, HumIDIFy, Stringer, Weasel—but those projects have been gathering dust for years. And when we tested Stringer (which hunts for hard-coded strings that might trigger backdoors), the results were… let’s say “meh”: tons of noise, so many missed hits.</p> <p><strong>This is where ROSA (<a href="https://github.com/binsec/rosa">https://github.com/binsec/rosa</a>) comes in</strong>. Our mission? Make backdoor detection practical enough that people actually want to do it—no Belgian beer required (but appreciated!). Our secret weapon: fuzzing. Standard fuzzers like AFL++ (<a href="https://github.com/AFLplusplus/AFLplusplus">https://github.com/AFLplusplus/AFLplusplus</a>) bombard programs with massive input sets to make them crash. It’s brute force, but it works wonders for memory-safety bugs. Backdoors, though, play a different game: they don’t crash—they hide behind secret triggers and valid behaviors. So <strong>we built a mechanism that teaches fuzzers to spot the difference between “normal” and “backdoored” behavior</strong>. We integrated it into AFL++, and guess what? <strong>It nailed 7 real-world backdoors and 10 synthetic ones in our tests</strong>.</p> <p><strong>In this talk</strong>, we’d like to show you how ROSA works, demo it live, and share ideas for making it even better. If you’re into fuzzing, reverse engineering, or just love geeking out over security, you’re in for a treat.</p>

Weitere Infos

Live Stream https://live.fosdem.org/watch/ub5132
Format devroom
Sprache Englisch

Weitere Sessions

31.01.26
Security
Olle E. Johansson
UB5.132
<p>The world of SBOMs and software transparency artefacts - In-Toto attestations, VEX updates and much more - all mention digital signatures. But not with what and how we should validate these. One thing is for sure - we don't want to use the existing WebPKI. There are some interesting initiatives, like SigStore, but they do not solve all issues. It's time that we work on solving this problem and define a solution for digital signatures that is distributed, secure and trustworthy. This is a call ...
31.01.26
Security
UB5.132
<ul> <li>The pace at which quantum computing is evolving right now, threats of <code>harvest-now-decrypt-later</code> becoming more relevant. The widely deployed classical cryptographic algorithms such as RSA and ECC face a real risk of being broken by quantum attacks, most notably through Shor’s algorithm. This looming threat makes the transition to Post-Quantum Cryptography (PQC) urgent, not as a future project, but as a present-day migration challenge. </li> <li>You may have questions ...
31.01.26
Security
Tonis Tiigi
UB5.132
<p>Most container images in production are still unsigned, and even when signatures exist, they often provide no clear guarantee about where the artifact came from or what threat the signature is supposed to protect against. Supply-chain attacks exploit this gap and become an increasingly important issue when publishing or importing open-source software.</p> <p>This talk presents security capabilities in Docker and Moby BuildKit that address these issues. BuildKit executes all build steps in ...
31.01.26
Security
Neal H. Walfield
UB5.132
<p>It is widely considered good practice to sign commits. But leveraging those signatures is hard. <a href="https://sequoia-pgp.gitlab.io/sequoia-git/">Sequoia git</a> is a system to authenticate changes to a VCS repository. A project embeds a signing policy in their git repository, which says who is allowed to add commits, make releases, and modify the policy. <a href="https://sequoia-pgp.gitlab.io/sequoia-git/man/sq-git-log.1.html"><code>sq-git log</code></a> can then authenticate a range of ...
31.01.26
Security
Victor Lyuboslavsky
UB5.132
<p>Endpoints are where most security incidents begin. Compromises often start with phishing, software vulnerabilities, or simple misconfigurations on individual laptops and servers. Modern security teams rely on endpoint telemetry for detection, investigation, and response. But for many engineers, this part of the stack remains opaque and difficult to reason about.</p> <p>This talk presents a practical, open-source blueprint for building an endpoint telemetry pipeline that engineers can actually ...
31.01.26
Security
UB5.132
<p>HyperDbg is a modern, open-source hypervisor-based debugger supporting both user- and kernel-mode debugging. Operating at the hypervisor level, it bypasses OS debugging APIs and offers stealthy hooks, unlimited simulated debug registers, fine-grained memory monitoring, I/O debugging, and full execution control, enabling analysts to observe malware with far greater reliability than traditional debuggers.</p> <p>When it comes to debugger stealthiness and sandboxing, environment artifacts can ...
31.01.26
Security
Federico Lucifredi
UB5.132
<p>This is a live tutorial of hacking against keyboards of all forms. Attacking the keyboard is the ultimate strategy to hijack a session before it is encrypted, capturing plaintext at the source and (often) in much simpler ways than those required to attack network protocols.</p> <p>In this session we explore available attack vectors against traditional keyboards, starting with plain old keyloggers. We then advance to “Van Eck Phreaking” style attacks against individual keystroke emanations ...