Coverage-Guided Fuzzing
Was ist Coverage-Guided Fuzzing?
Coverage-Guided FuzzingFuzzing-Technik, die das Target instrumentiert, um Codeabdeckung zu messen, und gezielt Eingaben weiterentwickelt, die neue Pfade erreichen – mit deutlich höherer Bug-Findequote.
Coverage-Guided-Fuzzer instrumentieren das Target zur Compile-Zeit oder per dynamischer Binärübersetzung und führen Kandidaten aus, während Edge- oder Basic-Block-Coverage erhoben wird. Eingaben, die neue Coverage erzeugen, werden behalten und mit einem evolutionären Algorithmus weiter mutiert, sodass der Korpus immer schwerer erreichbaren Code anstrebt. Diese Feedback-Schleife – populär gemacht durch AFL und verfeinert in AFL++, libFuzzer und Honggfuzz – ist um Größenordnungen effektiver als blindes Random-Fuzzing. Sie treibt z. B. Google OSS-Fuzz, das durch kontinuierliches Coverage-Guided-Fuzzing zehntausende Bugs in Open-Source-Code gefunden hat.
● Beispiele
- 01
Einen C-Parser mit AFL++-Instrumentierung kompilieren und mit afl-fuzz einen coverage-gesteuerten Korpus aufbauen.
- 02
libFuzzer nutzt SanitizerCoverage, um Eingaben für eine Rust-Crate zu evolvieren.
● Häufige Fragen
Was ist Coverage-Guided Fuzzing?
Fuzzing-Technik, die das Target instrumentiert, um Codeabdeckung zu messen, und gezielt Eingaben weiterentwickelt, die neue Pfade erreichen – mit deutlich höherer Bug-Findequote. Es gehört zur Kategorie Anwendungssicherheit der Cybersicherheit.
Was bedeutet Coverage-Guided Fuzzing?
Fuzzing-Technik, die das Target instrumentiert, um Codeabdeckung zu messen, und gezielt Eingaben weiterentwickelt, die neue Pfade erreichen – mit deutlich höherer Bug-Findequote.
Wie schützt man sich gegen Coverage-Guided Fuzzing?
Schutzmaßnahmen gegen Coverage-Guided Fuzzing kombinieren typischerweise technische Kontrollen und operative Praktiken, wie in der Definition oben beschrieben.
Welche anderen Bezeichnungen gibt es für Coverage-Guided Fuzzing?
Übliche alternative Bezeichnungen: Greybox-Fuzzing, Feedback-getriebenes Fuzzing.