Fuzzing & Vulnerability Research.
Wenn Ihre Software untrusted Input verarbeitet, entscheidet nicht die Theorie, sondern der erste präparierte Datensatz. Ich finde die Speicherfehler, bevor ein Angreifer sie findet.
Parser, Decoder und Bibliotheken, die fremde Dateien oder Netzwerkdaten verarbeiten, sind die klassische Bruchstelle. Ein einziger falsch behandelter Grenzwert reicht für einen Absturz – oder Schlimmeres. Genau solche Fehler findet man nicht durch Draufschauen, sondern indem man die Software systematisch mit Millionen mutierter Eingaben beschießt und jeden Crash sauber analysiert.
Das ist meine praktische Arbeit: Harness bauen, Fuzzer laufen lassen, Crashes triagieren, die Ursache verstehen und den Fund verantwortungsvoll melden. Dieselbe Haltung – Annahmen nachmessen statt glauben – fließt direkt in meine Entwicklungs- und Audit-Arbeit für Kunden ein.
Fuzzing-Kampagnen
- Coverage-guided Fuzzing mit AFL++ und libFuzzer
- Harness-Bau für die relevanten API-Einstiegspunkte (auch Persistent Mode)
- Instrumentierung mit AddressSanitizer, UBSan und MemorySanitizer
- Corpus-Aufbau, Dictionaries und Minimierung (afl-cmin/afl-tmin)
Analyse & Triage
- Crashes deduplizieren und nach Ausnutzbarkeit priorisieren
- Root-Cause-Analyse statt bloßer Crash-Meldung
- Reverse Engineering und Protokoll-Analyse mit Ghidra
- Reproduzierbarer PoC ohne Weaponization
Ergebnis & Offenlegung
- Priorisierter Bericht mit ehrlicher Impact-Einordnung
- Konkrete Fix-Empfehlungen für Entwicklung und Review
- Koordinierte Offenlegung über den passenden Advisory-Prozess
- Integration von Fuzzing in Ihre CI, damit es dauerhaft wirkt
Wann sich das lohnt
Besonders sinnvoll ist das für Hersteller, deren Produkt fremde Eingaben liest – Dateiformate, Netzwerkprotokolle, Codecs, Firmware. Wenn ein Absturz beim Kunden teuer oder gefährlich ist, lohnt es sich, die Bruchstellen vor dem Release zu finden. Auch als Ergänzung zu einem klassischen Pentest ist gezieltes Fuzzing wertvoll: Es erreicht Codepfade, die manuelles Testen kaum abdeckt.
Per AFL++ Coverage-Guided-Fuzzing habe ich einen Heap-Out-of-Bounds-Read im ZIP-Reader von libarchive und einen Out-of-Bounds-Write im X-File-Parser von Assimp gefunden – jeweils mit ASan-Nachweis und PoC, koordiniert gemeldet über den GitHub-Security-Advisory-Prozess. Ein ausführlicher Werkstattbericht zum libarchive-Fund (Harness, Corpus, Triage) folgt hier, sobald die koordinierte Offenlegung abgeschlossen ist.
Finden, bevor es
andere tun.
Sie liefern Software aus, die fremde Daten verarbeitet? Lassen Sie uns über eine Fuzzing-Kampagne für Ihr Produkt sprechen.